From 931a3a8fec8323a312d9ae765514be509662808b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 26 May 2023 14:57:03 +0200 Subject: [PATCH 001/291] Monorepo setup --- .eslintignore | 4 + .eslintrc.json | 22 + .gitignore | 136 + .prettierrc | 8 + README.md | 4 +- package-lock.json | 2760 +++++++++++++++++ package.json | 42 + packages/browser/LICENSE | 21 + packages/browser/package.json | 32 + packages/browser/src/BacktraceClient.ts | 3 + packages/browser/src/index.ts | 1 + packages/browser/tsconfig.json | 12 + packages/core/LICENSE | 21 + packages/core/package.json | 32 + packages/core/src/BacktraceCoreClient.ts | 8 + .../core/src/BacktraceCoreClientBuilder.ts | 8 + packages/core/src/index.ts | 6 + .../configuration/BacktraceConfiguration.ts | 51 + .../BacktraceDatabaseConfiguration.ts | 71 + .../src/model/report/BacktraceAttachment.ts | 13 + .../core/src/model/report/BacktraceReport.ts | 1 + packages/core/tsconfig.json | 10 + packages/node/LICENSE | 21 + packages/node/package.json | 36 + packages/node/src/BacktraceClient.ts | 3 + packages/node/src/index.ts | 1 + packages/node/tsconfig.json | 12 + tsconfig.base.json | 19 + tsconfig.json | 5 + tsconfig.packages.json | 14 + 30 files changed, 3376 insertions(+), 1 deletion(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 packages/browser/LICENSE create mode 100644 packages/browser/package.json create mode 100644 packages/browser/src/BacktraceClient.ts create mode 100644 packages/browser/src/index.ts create mode 100644 packages/browser/tsconfig.json create mode 100644 packages/core/LICENSE create mode 100644 packages/core/package.json create mode 100644 packages/core/src/BacktraceCoreClient.ts create mode 100644 packages/core/src/BacktraceCoreClientBuilder.ts create mode 100644 packages/core/src/index.ts create mode 100644 packages/core/src/model/configuration/BacktraceConfiguration.ts create mode 100644 packages/core/src/model/configuration/BacktraceDatabaseConfiguration.ts create mode 100644 packages/core/src/model/report/BacktraceAttachment.ts create mode 100644 packages/core/src/model/report/BacktraceReport.ts create mode 100644 packages/core/tsconfig.json create mode 100644 packages/node/LICENSE create mode 100644 packages/node/package.json create mode 100644 packages/node/src/BacktraceClient.ts create mode 100644 packages/node/src/index.ts create mode 100644 packages/node/tsconfig.json create mode 100644 tsconfig.base.json create mode 100644 tsconfig.json create mode 100644 tsconfig.packages.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..c7191685 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +node_modules +dist +/**/dist +*.d.ts diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..a089fe53 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,22 @@ +{ + "env": { + "commonjs": true, + "es2021": true, + "node": true + }, + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12 + }, + "plugins": ["@typescript-eslint", "eslint-plugin-local-rules"], + "rules": { + "@typescript-eslint/no-empty-interface": [ + "error", + { + "allowSingleExtends": true + } + ], + "local-rules/no-import-src": "error" + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..f6baafee --- /dev/null +++ b/.gitignore @@ -0,0 +1,136 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/node +# Edit at https://www.toptal.com/developers/gitignore?templates=node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.production + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist +lib +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache +.stylelintcache + +# SvelteKit build / generate output +.svelte-kit + +dist/ + diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..e7629774 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 120, + "proseWrap": "always", + "singleQuote": true, + "trailingComma": "all", + "arrowParens": "always", + "tabWidth": 4 +} diff --git a/README.md b/README.md index 76dd99ee..492245a8 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ -# backtrace-javascript \ No newline at end of file +# Backtrace-Javascript + +Home of the all Backtrace's JavaScript integrations. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..8b61d251 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2760 @@ +{ + "name": "@backtrace/javascript", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace/javascript", + "version": "0.0.1", + "license": "MIT", + "workspaces": [ + "packages/*" + ], + "devDependencies": { + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", + "prettier": "^2.8.8", + "rimraf": "^5.0.1", + "typescript": "^5.0.4" + } + }, + "node_modules/@backtrace/core": { + "resolved": "packages/core", + "link": true + }, + "node_modules/@backtrace/js": { + "resolved": "packages/browser", + "link": true + }, + "node_modules/@backtrace/node": { + "resolved": "packages/node", + "link": true + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "dev": true, + "dependencies": { + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/browser": { + "name": "@backtrace/js", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "typescript": "^5.0.4" + } + }, + "packages/core": { + "name": "@backtrace/core", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "typescript": "^5.0.4" + } + }, + "packages/node": { + "name": "@backtrace/node", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/node": "^11.15.54", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=11.15.54" + } + } + }, + "dependencies": { + "@backtrace/core": { + "version": "file:packages/core", + "requires": { + "typescript": "^5.0.4" + } + }, + "@backtrace/js": { + "version": "file:packages/browser", + "requires": { + "typescript": "^5.0.4" + } + }, + "@backtrace/node": { + "version": "file:packages/node", + "requires": { + "@types/node": "^11.15.54", + "typescript": "^5.0.4" + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "@eslint/js": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "dev": true, + "requires": { + "glob": "^10.2.5" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..4ff08a07 --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "@backtrace/javascript", + "version": "0.0.1", + "description": "Backtrace.io error reporting tool for JavaScript", + "author": "Backtrace ", + "license": "MIT", + "scripts": { + "build": "tsc -b ./tsconfig.packages.json", + "clean": "tsc -b --clean && rimraf \"packages/*/lib\" \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -b ./tsconfig.packages.json -w", + "test": "NODE_ENV=test jest" + }, + "workspaces": [ + "packages/*" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", + "prettier": "^2.8.8", + "rimraf": "^5.0.1", + "typescript": "^5.0.4" + } +} diff --git a/packages/browser/LICENSE b/packages/browser/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/browser/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/browser/package.json b/packages/browser/package.json new file mode 100644 index 00000000..24fde38f --- /dev/null +++ b/packages/browser/package.json @@ -0,0 +1,32 @@ +{ + "name": "@backtrace/js", + "version": "0.0.1", + "description": "Backtrace-JavaScript web browser integration", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "typescript": "^5.0.4" + } +} diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts new file mode 100644 index 00000000..69b9ea1c --- /dev/null +++ b/packages/browser/src/BacktraceClient.ts @@ -0,0 +1,3 @@ +import { BacktraceCoreClient } from '@backtrace/core'; + +export class BacktraceClient extends BacktraceCoreClient {} diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts new file mode 100644 index 00000000..7e0e4721 --- /dev/null +++ b/packages/browser/src/index.ts @@ -0,0 +1 @@ +export * from './BacktraceClient'; diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json new file mode 100644 index 00000000..29241a52 --- /dev/null +++ b/packages/browser/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "references": [ + { + "path": "../core/tsconfig.json" + } + ] +} diff --git a/packages/core/LICENSE b/packages/core/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/core/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 00000000..95b4b5dc --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,32 @@ +{ + "name": "@backtrace/core", + "version": "0.0.1", + "description": "Backtrace-JavaScript core library", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "typescript": "^5.0.4" + } +} diff --git a/packages/core/src/BacktraceCoreClient.ts b/packages/core/src/BacktraceCoreClient.ts new file mode 100644 index 00000000..3d3c5790 --- /dev/null +++ b/packages/core/src/BacktraceCoreClient.ts @@ -0,0 +1,8 @@ +import { BacktraceAttachment } from './model/report/BacktraceAttachment'; +import { BacktraceReport } from './model/report/BacktraceReport'; + +export class BacktraceCoreClient { + public async send(report: BacktraceReport, attributes: Record, attachments: BacktraceAttachment) { + throw new Error('Not implemented'); + } +} diff --git a/packages/core/src/BacktraceCoreClientBuilder.ts b/packages/core/src/BacktraceCoreClientBuilder.ts new file mode 100644 index 00000000..a40d5fc4 --- /dev/null +++ b/packages/core/src/BacktraceCoreClientBuilder.ts @@ -0,0 +1,8 @@ +import { BacktraceCoreClient } from './BacktraceCoreClient'; +import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; + +export class BacktraceCoreClientBuilder { + public static build(options?: BacktraceConfiguration): BacktraceCoreClient { + throw new Error('Not implemented'); + } +} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts new file mode 100644 index 00000000..c26c2461 --- /dev/null +++ b/packages/core/src/index.ts @@ -0,0 +1,6 @@ +export * from './BacktraceCoreClient'; +export * from './BacktraceCoreClientBuilder'; +export * from './model/configuration/BacktraceConfiguration'; +export * from './model/configuration/BacktraceDatabaseConfiguration'; +export * from './model/report/BacktraceAttachment'; +export * from './model/report/BacktraceReport'; diff --git a/packages/core/src/model/configuration/BacktraceConfiguration.ts b/packages/core/src/model/configuration/BacktraceConfiguration.ts new file mode 100644 index 00000000..1e55693d --- /dev/null +++ b/packages/core/src/model/configuration/BacktraceConfiguration.ts @@ -0,0 +1,51 @@ +import { BacktraceAttachment } from '../report/BacktraceAttachment'; +import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; + +// Submission information +export type BacktraceBasicSubmissionInformation = { + /** + * The server address (submission URL) is required to submit exceptions from your Unity project to your Backtrace instance. + * + * The Server Address must be in the following format: https://submit.backtrace.io/{subdomain}/{submission-token}/json. + */ + url: string; + timeout?: number; + ignoreSslCertificate?: boolean; +}; +export type BacktraceLegacySubmitInformation = BacktraceBasicSubmissionInformation & { token: string }; +export type BacktraceSubmissionInformation = BacktraceBasicSubmissionInformation | BacktraceLegacySubmitInformation; + +export type BacktraceMetricsSupport = { + metricsSubmissionUrl?: string; + enable: boolean; + ignoreSslCertificate?: boolean; + /** + * Indicates how often crash free metrics are sent to Backtrace. + * By default, session events are sent on application startup/finish, and every 30 minutes while the game is running. + */ + autoSendInterval?: number; +}; + +export type BasicBacktraceClientSettings = BacktraceBasicSubmissionInformation & { + /** + * Limits the number of reports the client will send per minute. If set to '0', there is no limit. + * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. + */ + rateLimit: number; + /** + * Attributes are additional metadata that can be attached to error and crash reports. You can use attributes to filter, + * aggregate, analyze, and debug errors in the Backtrace console. + */ + userAttributes?: Record; + /** + * Attachments are additional files/data that can be send with error to Backtrace. + */ + attachments?: BacktraceAttachment[]; + + /** + * Metrics such as crash free users and crash free sessions + */ + metrics?: BacktraceMetricsSupport; +}; + +export type BacktraceConfiguration = BasicBacktraceClientSettings & BacktraceDatabaseConfiguration; diff --git a/packages/core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/core/src/model/configuration/BacktraceDatabaseConfiguration.ts new file mode 100644 index 00000000..3b132bd1 --- /dev/null +++ b/packages/core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -0,0 +1,71 @@ +export enum DeduplicationStrategy { + None = 0, + Callstack = 1 << 0, + Classifier = 1 << 1, + Message = 1 << 2, + All = ~(~0 << 4), +} +export type EnabledBacktraceConfiguration = { + /** + * Determine if the Database is enabled + */ + enabled: true; + /** + * Path where the SDK can store data. + */ + path: string; + /** + * Determine if the directory should be auto created by the SDK. + * By default = true. + */ + createDatabaseDirectory?: boolean; + + /** + * Aggregates duplicated reports. The available options are: + * None: Duplicated reports are not aggregated. + * Callstack: Aggregates based on the current stack trace. + * Classifier: Aggregates by stack trace and exception type. + * Message: Aggregates by stack trace and exception message. + * All: Aggregates by faulting callstack, exception type, and exception message. + */ + deduplicationStrategy?: DeduplicationStrategy; + + /** + * Sends reports to the server based on the retry settings. + * If the value is set to 'false', you can use the Flush or Send methods as an alternative. + */ + autoSend?: boolean; + + /** + * The maximum number of reports stored in the offline database. When the limit is reached, + * the oldest reports are removed. If the value is equal to '0', then no limit is set. + * The default value is 8. + */ + maximumNumberOfRecords?: number; + + /** + * The maximum database size in MB. When the limit is reached, the oldest reports are removed. + * If the value is equal to '0', then no limit is set. + * The default value is 0 (unlimited) + */ + maximumDatabaseSizeInMb?: number; + /** + * The amount of time (in seconds) to wait between retries if the database is unable to send a report. + * The default value is 60 + */ + retryInterval?: number; + /** + * The maximum number of retries to attempt if the database is unable to send a report. + * The default value is 3 + */ + maximumRetries?: number; +}; + +export type DisabledBacktraceConfiguration = { + /** + * Determine if the Database is enabled + */ + enabled?: false; +} & Partial; + +export type BacktraceDatabaseConfiguration = EnabledBacktraceConfiguration | DisabledBacktraceConfiguration; diff --git a/packages/core/src/model/report/BacktraceAttachment.ts b/packages/core/src/model/report/BacktraceAttachment.ts new file mode 100644 index 00000000..349ef32c --- /dev/null +++ b/packages/core/src/model/report/BacktraceAttachment.ts @@ -0,0 +1,13 @@ +export type BacktraceInMemoryAttachment = { + /** + * Attachment name + */ + name: string; + /** + * Attachment data + */ + data: string; +}; + +export type BacktraceFileAttachment = string; +export type BacktraceAttachment = BacktraceInMemoryAttachment | BacktraceFileAttachment; diff --git a/packages/core/src/model/report/BacktraceReport.ts b/packages/core/src/model/report/BacktraceReport.ts new file mode 100644 index 00000000..1bbc549b --- /dev/null +++ b/packages/core/src/model/report/BacktraceReport.ts @@ -0,0 +1 @@ +export interface BacktraceReport {} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json new file mode 100644 index 00000000..0d810a8e --- /dev/null +++ b/packages/core/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["./src"], + "compilerOptions": { + "rootDir": "./src", + "composite": true, + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/packages/node/LICENSE b/packages/node/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/node/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/node/package.json b/packages/node/package.json new file mode 100644 index 00000000..aa0bdcdf --- /dev/null +++ b/packages/node/package.json @@ -0,0 +1,36 @@ +{ + "name": "@backtrace/node", + "version": "0.0.1", + "description": "Backtrace-JavaScript Node.JS integration", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "test": "NODE_ENV=test jest" + }, + "engines": { + "node": ">=11.15.54" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "@types/node": "^11.15.54", + "typescript": "^5.0.4" + } +} diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts new file mode 100644 index 00000000..69b9ea1c --- /dev/null +++ b/packages/node/src/BacktraceClient.ts @@ -0,0 +1,3 @@ +import { BacktraceCoreClient } from '@backtrace/core'; + +export class BacktraceClient extends BacktraceCoreClient {} diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts new file mode 100644 index 00000000..7e0e4721 --- /dev/null +++ b/packages/node/src/index.ts @@ -0,0 +1 @@ +export * from './BacktraceClient'; diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json new file mode 100644 index 00000000..07ce7a6d --- /dev/null +++ b/packages/node/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "references": [ + { + "path": "../core" + } + ] +} diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 00000000..a4bbf53e --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es2022", + "module": "commonjs", + "outDir": "./lib", + "sourceMap": true, + "incremental": true, + "strict": true, + "esModuleInterop": true, + "strictNullChecks": true, + "noUnusedLocals": true, + "removeComments": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "declaration": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..378e9e4e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.base.json", + "include": ["packages/**/*"], + "exclude": ["./test", "./lib"] +} diff --git a/tsconfig.packages.json b/tsconfig.packages.json new file mode 100644 index 00000000..234c486d --- /dev/null +++ b/tsconfig.packages.json @@ -0,0 +1,14 @@ +{ + "files": [], + "references": [ + { + "path": "packages/core" + }, + { + "path": "packages/browser" + }, + { + "path": "packages/node" + } + ] +} From 01008511e7c720b49d8bf20db086a48e86edb5e2 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 26 May 2023 15:13:29 +0200 Subject: [PATCH 002/291] Package rename --- packages/browser/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/browser/package.json b/packages/browser/package.json index 24fde38f..c25bc216 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/js", + "name": "@backtrace/browser", "version": "0.0.1", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", From 81049ca8b59a23f84980dca60f47585200d1def9 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 26 May 2023 17:50:07 +0200 Subject: [PATCH 003/291] Code review adjustements --- .eslintrc.json | 39 +- package-lock.json | 3428 +++++++++++++---- package.json | 5 + packages/browser/src/BacktraceClient.ts | 2 +- packages/browser/tsconfig.json | 2 +- packages/core/src/BacktraceCoreClient.ts | 8 - .../core/src/BacktraceCoreClientBuilder.ts | 8 - .../core/src/model/report/BacktraceReport.ts | 1 - packages/node/src/BacktraceClient.ts | 2 +- packages/node/tsconfig.json | 2 +- packages/{core => sdk-core}/LICENSE | 0 packages/{core => sdk-core}/package.json | 4 +- packages/sdk-core/src/BacktraceCoreClient.ts | 7 + packages/{core => sdk-core}/src/index.ts | 1 - .../configuration/BacktraceConfiguration.ts | 2 +- .../BacktraceDatabaseConfiguration.ts | 0 .../src/model/report/BacktraceAttachment.ts | 0 .../src/model/report/BacktraceReport.ts | 7 + packages/{core => sdk-core}/tsconfig.json | 0 tsconfig.json | 13 +- 20 files changed, 2694 insertions(+), 837 deletions(-) delete mode 100644 packages/core/src/BacktraceCoreClient.ts delete mode 100644 packages/core/src/BacktraceCoreClientBuilder.ts delete mode 100644 packages/core/src/model/report/BacktraceReport.ts rename packages/{core => sdk-core}/LICENSE (100%) rename packages/{core => sdk-core}/package.json (88%) create mode 100644 packages/sdk-core/src/BacktraceCoreClient.ts rename packages/{core => sdk-core}/src/index.ts (85%) rename packages/{core => sdk-core}/src/model/configuration/BacktraceConfiguration.ts (97%) rename packages/{core => sdk-core}/src/model/configuration/BacktraceDatabaseConfiguration.ts (100%) rename packages/{core => sdk-core}/src/model/report/BacktraceAttachment.ts (100%) create mode 100644 packages/sdk-core/src/model/report/BacktraceReport.ts rename packages/{core => sdk-core}/tsconfig.json (100%) diff --git a/.eslintrc.json b/.eslintrc.json index a089fe53..2758fbd6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,22 +1,21 @@ { - "env": { - "commonjs": true, - "es2021": true, - "node": true - }, - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12 - }, - "plugins": ["@typescript-eslint", "eslint-plugin-local-rules"], - "rules": { - "@typescript-eslint/no-empty-interface": [ - "error", - { - "allowSingleExtends": true - } - ], - "local-rules/no-import-src": "error" - } + "env": { + "commonjs": true, + "es2021": true, + "node": true + }, + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12 + }, + "plugins": ["@typescript-eslint"], + "rules": { + "@typescript-eslint/no-empty-interface": [ + "error", + { + "allowSingleExtends": true + } + ] + } } diff --git a/package-lock.json b/package-lock.json index 8b61d251..0ae18cc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,19 +12,23 @@ "packages/*" ], "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.7", + "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", "typescript": "^5.0.4" } }, - "node_modules/@backtrace/core": { - "resolved": "packages/core", + "node_modules/@backtrace/browser": { + "resolved": "packages/browser", "link": true }, - "node_modules/@backtrace/js": { - "resolved": "packages/browser", + "node_modules/@backtrace/core": { + "resolved": "packages/core", "link": true }, "node_modules/@backtrace/node": { @@ -33,9 +37,8 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -48,18 +51,16 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -80,15 +81,13 @@ }, "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -98,18 +97,16 @@ }, "node_modules/@eslint/js": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -121,9 +118,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -134,15 +130,13 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -157,9 +151,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -169,9 +162,8 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -184,9 +176,8 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -197,18 +188,16 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -219,371 +208,936 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" } }, - "node_modules/@types/node": { - "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/@types/json-schema": { + "version": "7.0.12", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "license": "MIT" }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@types/json5": { + "version": "0.0.29", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "license": "MIT" }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@types/node": { + "version": "11.15.54", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } + "license": "MIT" }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@types/semver": { + "version": "7.5.0", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.7", "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, + "license": "ISC", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, + "yallist": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.1", "dev": true, + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } + "license": "ISC" }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@typescript-eslint/parser": { + "version": "5.59.7", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "ms": "2.1.2" + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" }, "engines": { - "node": ">=6.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "supports-color": { + "typescript": { "optional": true } } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.7", "dev": true, + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" }, "engines": { - "node": ">=6.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.7", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": ">=7.0.0" + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "node_modules/@typescript-eslint/types": { + "version": "5.59.7", "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.7", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, + "license": "ISC", "dependencies": { - "color-convert": "^2.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.1", "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/escape-string-regexp": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, - "engines": { - "node": ">=8" + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.1", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/define-properties": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/es-to-primitive": { + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint": { + "version": "8.41.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" }, "bin": { - "js-yaml": "bin/js-yaml.js" + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/supports-color": { + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-scope": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "has-flag": "^4.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/espree": { "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", @@ -598,9 +1152,8 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -610,9 +1163,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -622,54 +1174,73 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -677,11 +1248,21 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -695,9 +1276,8 @@ }, "node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -708,9 +1288,8 @@ }, "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -728,9 +1307,8 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -743,15 +1321,21 @@ }, "node_modules/flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } }, "node_modules/foreground-child": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -760,20 +1344,77 @@ "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/glob": { "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -793,9 +1434,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -805,18 +1445,16 @@ }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/glob/node_modules/minimatch": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -829,9 +1467,8 @@ }, "node_modules/globals": { "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -842,26 +1479,146 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/has": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -875,18 +1632,16 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -894,33 +1649,117 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -928,26 +1767,139 @@ "node": ">=0.10.0" } }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/jackspeak": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -963,21 +1915,18 @@ }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -988,9 +1937,8 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -1003,24 +1951,41 @@ }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "9.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "node_modules/micromatch": { + "version": "4.0.5", "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": "14 || >=16.14" + "node": ">=8.6" } }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1028,41 +1993,98 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -1077,9 +2099,8 @@ }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -1092,9 +2113,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -1107,9 +2127,8 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -1119,36 +2138,37 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, "node_modules/path-scurry": { "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^9.1.1", "minipass": "^5.0.0 || ^6.0.2" @@ -1160,20 +2180,37 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -1186,17 +2223,14 @@ }, "node_modules/punycode": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -1211,22 +2245,53 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -1234,9 +2299,8 @@ }, "node_modules/rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^10.2.5" }, @@ -1252,8 +2316,6 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -1269,15 +2331,36 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -1287,18 +2370,29 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -1306,11 +2400,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -1326,9 +2427,8 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1340,15 +2440,13 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1358,9 +2456,8 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1371,11 +2468,52 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -1386,9 +2524,8 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -1398,9 +2535,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -1408,17 +2544,97 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -1428,9 +2644,8 @@ }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -1438,11 +2653,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1451,44 +2678,88 @@ "node": ">=12.20" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "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", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/word-wrap": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -1504,9 +2775,8 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1521,9 +2791,8 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1536,15 +2805,13 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1556,9 +2823,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1568,9 +2834,8 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1583,15 +2848,13 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -1600,7 +2863,7 @@ } }, "packages/browser": { - "name": "@backtrace/js", + "name": "@backtrace/browser", "version": "0.0.1", "license": "MIT", "devDependencies": { @@ -1629,14 +2892,14 @@ } }, "dependencies": { - "@backtrace/core": { - "version": "file:packages/core", + "@backtrace/browser": { + "version": "file:packages/browser", "requires": { "typescript": "^5.0.4" } }, - "@backtrace/js": { - "version": "file:packages/browser", + "@backtrace/core": { + "version": "file:packages/core", "requires": { "typescript": "^5.0.4" } @@ -1650,8 +2913,6 @@ }, "@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" @@ -1659,14 +2920,10 @@ }, "@eslint-community/regexpp": { "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true }, "@eslint/eslintrc": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -1682,14 +2939,10 @@ "dependencies": { "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" @@ -1699,14 +2952,10 @@ }, "@eslint/js": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1716,20 +2965,14 @@ }, "@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { "string-width": "^5.1.2", @@ -1742,14 +2985,10 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -1759,8 +2998,6 @@ }, "@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", @@ -1769,14 +3006,10 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -1785,34 +3018,191 @@ }, "@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "optional": true }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "dev": true + }, "@types/node": { "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", "dev": true }, + "@types/semver": { + "version": "7.5.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.7", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.7", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.59.7", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + } + }, "acorn": { "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, "acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1823,42 +3213,109 @@ }, "ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", "dev": true }, "balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "call-bind": { + "version": "1.0.2", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -1866,20 +3323,14 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -1889,8 +3340,6 @@ }, "debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -1898,14 +3347,25 @@ }, "deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "define-properties": { + "version": "1.2.0", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -1913,20 +3373,79 @@ }, "eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, "emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "es-abstract": { + "version": "1.21.2", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "eslint": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -1970,74 +3489,105 @@ "text-table": "^0.2.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, "escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, "eslint-config-prettier": { "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, "requires": {} }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-local-rules": { + "version": "1.3.2", + "dev": true + }, "eslint-scope": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -2046,14 +3596,10 @@ }, "eslint-visitor-keys": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true }, "espree": { "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -2063,8 +3609,6 @@ }, "esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -2072,8 +3616,6 @@ }, "esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -2081,38 +3623,46 @@ }, "estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -2120,17 +3670,20 @@ }, "file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" } }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", @@ -2139,8 +3692,6 @@ }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -2149,8 +3700,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2163,8 +3712,6 @@ }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -2174,14 +3721,17 @@ }, "flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "for-each": { + "version": "0.3.3", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "foreground-child": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -2190,14 +3740,46 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "function-bind": { + "version": "1.1.1", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "glob": { "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -2209,8 +3791,6 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -2218,8 +3798,6 @@ }, "minimatch": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -2229,8 +3807,6 @@ }, "glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" @@ -2238,29 +3814,88 @@ }, "globals": { "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, + "globalthis": { + "version": "1.0.3", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, "graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "has": { + "version": "1.0.3", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -2269,14 +3904,10 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -2285,47 +3916,146 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "internal-slot": { + "version": "1.0.5", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "dev": true + }, + "is-core-module": { + "version": "2.12.1", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, + "is-negative-zero": { + "version": "2.0.2", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, + "is-regex": { + "version": "1.1.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "dev": true, + "requires": { + "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" + } + }, + "is-weakref": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "jackspeak": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", @@ -2334,20 +4064,14 @@ }, "json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -2356,8 +4080,6 @@ }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" @@ -2365,47 +4087,80 @@ }, "lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lru-cache": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "dev": true }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.8", + "dev": true + }, "minipass": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -2413,8 +4168,6 @@ }, "optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -2427,8 +4180,6 @@ }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -2436,8 +4187,6 @@ }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" @@ -2445,8 +4194,6 @@ }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -2454,72 +4201,80 @@ }, "path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", "dev": true }, "path-scurry": { "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, "requires": { "lru-cache": "^9.1.1", "minipass": "^5.0.0 || ^6.0.2" } }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, "prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, "punycode": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "regexp.prototype.flags": { + "version": "1.5.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "resolve": { + "version": "1.22.2", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -2527,17 +4282,26 @@ }, "run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, + "safe-regex-test": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "semver": { + "version": "6.3.0", + "dev": true + }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -2545,20 +4309,27 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true + }, + "slash": { + "version": "3.0.0", "dev": true }, "string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { "eastasianwidth": "^0.2.0", @@ -2568,14 +4339,10 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -2585,8 +4352,6 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -2596,16 +4361,39 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true } } }, + "string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" @@ -2613,8 +4401,6 @@ }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" @@ -2622,20 +4408,66 @@ }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tsconfig-paths": { + "version": "3.14.2", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "dev": true + } + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -2643,20 +4475,33 @@ }, "type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typed-array-length": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, "typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true }, + "unbox-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -2664,23 +4509,40 @@ }, "which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "dev": true, + "requires": { + "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", + "is-typed-array": "^1.1.10" + } + }, "word-wrap": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { "ansi-styles": "^6.1.0", @@ -2690,14 +4552,10 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -2707,8 +4565,6 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -2718,8 +4574,6 @@ "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -2727,14 +4581,10 @@ }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -2746,14 +4596,10 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/package.json b/package.json index 4ff08a07..b8bb413b 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "clean": "tsc -b --clean && rimraf \"packages/*/lib\" \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "rebuild": "npm run clean && npm run build", "watch": "tsc -b ./tsconfig.packages.json -w", "test": "NODE_ENV=test jest" }, @@ -33,8 +34,12 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.7", + "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", "typescript": "^5.0.4" diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 69b9ea1c..9d50809a 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -1,3 +1,3 @@ -import { BacktraceCoreClient } from '@backtrace/core'; +import { BacktraceCoreClient } from '@backtrace/sdk-core'; export class BacktraceClient extends BacktraceCoreClient {} diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json index 29241a52..9066a7c4 100644 --- a/packages/browser/tsconfig.json +++ b/packages/browser/tsconfig.json @@ -6,7 +6,7 @@ }, "references": [ { - "path": "../core/tsconfig.json" + "path": "../sdk-core/tsconfig.json" } ] } diff --git a/packages/core/src/BacktraceCoreClient.ts b/packages/core/src/BacktraceCoreClient.ts deleted file mode 100644 index 3d3c5790..00000000 --- a/packages/core/src/BacktraceCoreClient.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BacktraceAttachment } from './model/report/BacktraceAttachment'; -import { BacktraceReport } from './model/report/BacktraceReport'; - -export class BacktraceCoreClient { - public async send(report: BacktraceReport, attributes: Record, attachments: BacktraceAttachment) { - throw new Error('Not implemented'); - } -} diff --git a/packages/core/src/BacktraceCoreClientBuilder.ts b/packages/core/src/BacktraceCoreClientBuilder.ts deleted file mode 100644 index a40d5fc4..00000000 --- a/packages/core/src/BacktraceCoreClientBuilder.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BacktraceCoreClient } from './BacktraceCoreClient'; -import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; - -export class BacktraceCoreClientBuilder { - public static build(options?: BacktraceConfiguration): BacktraceCoreClient { - throw new Error('Not implemented'); - } -} diff --git a/packages/core/src/model/report/BacktraceReport.ts b/packages/core/src/model/report/BacktraceReport.ts deleted file mode 100644 index 1bbc549b..00000000 --- a/packages/core/src/model/report/BacktraceReport.ts +++ /dev/null @@ -1 +0,0 @@ -export interface BacktraceReport {} diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 69b9ea1c..9d50809a 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,3 +1,3 @@ -import { BacktraceCoreClient } from '@backtrace/core'; +import { BacktraceCoreClient } from '@backtrace/sdk-core'; export class BacktraceClient extends BacktraceCoreClient {} diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json index 07ce7a6d..3ec6969c 100644 --- a/packages/node/tsconfig.json +++ b/packages/node/tsconfig.json @@ -6,7 +6,7 @@ }, "references": [ { - "path": "../core" + "path": "../sdk-core/tsconfig.json" } ] } diff --git a/packages/core/LICENSE b/packages/sdk-core/LICENSE similarity index 100% rename from packages/core/LICENSE rename to packages/sdk-core/LICENSE diff --git a/packages/core/package.json b/packages/sdk-core/package.json similarity index 88% rename from packages/core/package.json rename to packages/sdk-core/package.json index 95b4b5dc..7af71aa6 100644 --- a/packages/core/package.json +++ b/packages/sdk-core/package.json @@ -1,7 +1,7 @@ { - "name": "@backtrace/core", + "name": "@backtrace/sdk-core", "version": "0.0.1", - "description": "Backtrace-JavaScript core library", + "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts new file mode 100644 index 00000000..47fcb6b7 --- /dev/null +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -0,0 +1,7 @@ +import { BacktraceReport } from './model/report/BacktraceReport'; + +export class BacktraceCoreClient { + public async send(report: BacktraceReport) { + throw new Error('Not implemented'); + } +} diff --git a/packages/core/src/index.ts b/packages/sdk-core/src/index.ts similarity index 85% rename from packages/core/src/index.ts rename to packages/sdk-core/src/index.ts index c26c2461..5206e143 100644 --- a/packages/core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -1,5 +1,4 @@ export * from './BacktraceCoreClient'; -export * from './BacktraceCoreClientBuilder'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; export * from './model/report/BacktraceAttachment'; diff --git a/packages/core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts similarity index 97% rename from packages/core/src/model/configuration/BacktraceConfiguration.ts rename to packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 1e55693d..385d7704 100644 --- a/packages/core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -4,7 +4,7 @@ import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration // Submission information export type BacktraceBasicSubmissionInformation = { /** - * The server address (submission URL) is required to submit exceptions from your Unity project to your Backtrace instance. + * The server address (submission URL) is required to submit exceptions from your project to your Backtrace instance. * * The Server Address must be in the following format: https://submit.backtrace.io/{subdomain}/{submission-token}/json. */ diff --git a/packages/core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts similarity index 100% rename from packages/core/src/model/configuration/BacktraceDatabaseConfiguration.ts rename to packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts diff --git a/packages/core/src/model/report/BacktraceAttachment.ts b/packages/sdk-core/src/model/report/BacktraceAttachment.ts similarity index 100% rename from packages/core/src/model/report/BacktraceAttachment.ts rename to packages/sdk-core/src/model/report/BacktraceAttachment.ts diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts new file mode 100644 index 00000000..5dde2039 --- /dev/null +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -0,0 +1,7 @@ +import { BacktraceAttachment } from './BacktraceAttachment'; + +export interface BacktraceReport { + attributes(): Record; + attachments(): BacktraceAttachment[]; + toDate(): Record; +} diff --git a/packages/core/tsconfig.json b/packages/sdk-core/tsconfig.json similarity index 100% rename from packages/core/tsconfig.json rename to packages/sdk-core/tsconfig.json diff --git a/tsconfig.json b/tsconfig.json index 378e9e4e..cb2966af 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,16 @@ { "extends": "./tsconfig.base.json", "include": ["packages/**/*"], - "exclude": ["./test", "./lib"] + "exclude": ["./test", "./lib"], + "references": [ + { + "path": "./packages/core" + }, + { + "path": "./packages/browser" + }, + { + "path": "./packages/node" + } + ] } From 0fba4e6d28af6ed99917df587e51f12e073aa5d5 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 26 May 2023 18:24:42 +0200 Subject: [PATCH 004/291] Sdk core rename --- package-lock.json | 1794 ++++++++++++++++++++++++++-------------- tsconfig.json | 2 +- tsconfig.packages.json | 2 +- 3 files changed, 1190 insertions(+), 608 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ae18cc2..00933cba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,18 +27,19 @@ "resolved": "packages/browser", "link": true }, - "node_modules/@backtrace/core": { - "resolved": "packages/core", - "link": true - }, "node_modules/@backtrace/node": { "resolved": "packages/node", "link": true }, + "node_modules/@backtrace/sdk-core": { + "resolved": "packages/sdk-core", + "link": true + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -51,16 +52,18 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -79,34 +82,20 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@eslint/js": { "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -118,8 +107,9 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -130,13 +120,15 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -151,8 +143,9 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -162,8 +155,9 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -176,8 +170,9 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -188,16 +183,18 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -208,8 +205,9 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -217,28 +215,33 @@ }, "node_modules/@types/json-schema": { "version": "7.0.12", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, "node_modules/@types/node": { "version": "11.15.54", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true }, "node_modules/@types/semver": { "version": "7.5.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", + "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.59.7", @@ -268,40 +271,11 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/@typescript-eslint/parser": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", + "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.59.7", "@typescript-eslint/types": "5.59.7", @@ -326,8 +300,9 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", + "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.59.7", "@typescript-eslint/visitor-keys": "5.59.7" @@ -342,8 +317,9 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", + "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.59.7", "@typescript-eslint/utils": "5.59.7", @@ -368,8 +344,9 @@ }, "node_modules/@typescript-eslint/types": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", + "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -380,8 +357,9 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", + "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.59.7", "@typescript-eslint/visitor-keys": "5.59.7", @@ -404,40 +382,11 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/@typescript-eslint/utils": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", + "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -459,60 +408,11 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", + "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.59.7", "eslint-visitor-keys": "^3.3.0" @@ -527,8 +427,9 @@ }, "node_modules/acorn": { "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -538,16 +439,18 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -561,27 +464,39 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "6.2.1", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -592,8 +507,9 @@ }, "node_modules/array-includes": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -610,16 +526,18 @@ }, "node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array.prototype.flat": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -635,8 +553,9 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -652,8 +571,9 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -663,13 +583,15 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -677,8 +599,9 @@ }, "node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -688,8 +611,9 @@ }, "node_modules/call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -700,16 +624,18 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -721,24 +647,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -748,18 +661,21 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -771,8 +687,9 @@ }, "node_modules/debug": { "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -787,13 +704,15 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, "node_modules/define-properties": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, - "license": "MIT", "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -807,8 +726,9 @@ }, "node_modules/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -818,8 +738,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -829,18 +750,21 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/es-abstract": { "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, - "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "available-typed-arrays": "^1.0.5", @@ -886,8 +810,9 @@ }, "node_modules/es-set-tostringtag": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3", "has": "^1.0.3", @@ -899,16 +824,18 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" } }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -921,10 +848,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint": { "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", @@ -978,8 +918,9 @@ }, "node_modules/eslint-config-prettier": { "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -989,8 +930,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.11.0", @@ -999,16 +941,18 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -1023,16 +967,18 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -1059,16 +1005,18 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -1076,30 +1024,39 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-local-rules": { "version": "1.3.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true }, "node_modules/eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8.0.0" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1107,37 +1064,36 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, - "license": "MIT", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=4.0" } }, "node_modules/espree": { "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", @@ -1152,8 +1108,9 @@ }, "node_modules/esquery": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1161,10 +1118,20 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1172,31 +1139,44 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-glob": { "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -1210,8 +1190,9 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1221,26 +1202,30 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fastq": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -1250,8 +1235,9 @@ }, "node_modules/fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -1261,8 +1247,9 @@ }, "node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -1276,8 +1263,9 @@ }, "node_modules/flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -1288,8 +1276,9 @@ }, "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1307,8 +1296,9 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -1321,21 +1311,24 @@ }, "node_modules/flatted": { "version": "3.2.7", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true }, "node_modules/for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, - "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -1349,18 +1342,21 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/function.prototype.name": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -1376,16 +1372,18 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-intrinsic": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -1398,8 +1396,9 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -1413,8 +1412,9 @@ }, "node_modules/glob": { "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", "dev": true, - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -1434,8 +1434,9 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -1445,16 +1446,18 @@ }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/glob/node_modules/minimatch": { "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1467,8 +1470,9 @@ }, "node_modules/globals": { "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -1481,8 +1485,9 @@ }, "node_modules/globalthis": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, - "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -1495,8 +1500,9 @@ }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -1514,8 +1520,9 @@ }, "node_modules/gopd": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -1525,18 +1532,21 @@ }, "node_modules/grapheme-splitter": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1546,24 +1556,27 @@ }, "node_modules/has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -1573,8 +1586,9 @@ }, "node_modules/has-proto": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1584,8 +1598,9 @@ }, "node_modules/has-symbols": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1595,8 +1610,9 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -1609,16 +1625,18 @@ }, "node_modules/ignore": { "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1632,16 +1650,18 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1649,13 +1669,15 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/internal-slot": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -1667,8 +1689,9 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -1680,8 +1703,9 @@ }, "node_modules/is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -1691,8 +1715,9 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -1706,8 +1731,9 @@ }, "node_modules/is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1717,8 +1743,9 @@ }, "node_modules/is-core-module": { "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -1728,8 +1755,9 @@ }, "node_modules/is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -1742,24 +1770,27 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1769,8 +1800,9 @@ }, "node_modules/is-negative-zero": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1780,16 +1812,18 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -1802,16 +1836,18 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -1825,8 +1861,9 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -1836,8 +1873,9 @@ }, "node_modules/is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -1850,8 +1888,9 @@ }, "node_modules/is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -1864,8 +1903,9 @@ }, "node_modules/is-typed-array": { "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -1882,8 +1922,9 @@ }, "node_modules/is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -1893,13 +1934,15 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/jackspeak": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -1913,20 +1956,47 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT" + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -1937,8 +2007,9 @@ }, "node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -1951,29 +2022,33 @@ }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lru-cache": { "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "dev": true, - "license": "ISC", "engines": { "node": "14 || >=16.14" } }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -1984,8 +2059,9 @@ }, "node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1995,55 +2071,63 @@ }, "node_modules/minimist": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, - "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true }, "node_modules/object-inspect": { "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -2059,8 +2143,9 @@ }, "node_modules/object.values": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -2075,16 +2160,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -2099,8 +2186,9 @@ }, "node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -2113,8 +2201,9 @@ }, "node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -2127,8 +2216,9 @@ }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -2138,37 +2228,42 @@ }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-scurry": { "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^9.1.1", "minipass": "^5.0.0 || ^6.0.2" @@ -2182,16 +2277,18 @@ }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -2201,16 +2298,18 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -2223,14 +2322,17 @@ }, "node_modules/punycode": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -2245,13 +2347,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -2266,8 +2368,9 @@ }, "node_modules/resolve": { "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.11.0", "path-parse": "^1.0.7", @@ -2282,16 +2385,18 @@ }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -2299,8 +2404,9 @@ }, "node_modules/rimraf": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^10.2.5" }, @@ -2316,6 +2422,8 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -2331,15 +2439,15 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-regex-test": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -2350,17 +2458,37 @@ } }, "node_modules/semver": { - "version": "6.3.0", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, - "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -2370,16 +2498,18 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -2391,8 +2521,9 @@ }, "node_modules/signal-exit": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true, - "license": "ISC", "engines": { "node": ">=14" }, @@ -2402,16 +2533,18 @@ }, "node_modules/slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -2427,8 +2560,9 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2440,13 +2574,15 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -2456,8 +2592,9 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2470,8 +2607,9 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -2486,8 +2624,9 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -2499,8 +2638,9 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -2512,8 +2652,9 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -2524,8 +2665,9 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -2533,10 +2675,20 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2546,8 +2698,9 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2557,8 +2710,9 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2568,13 +2722,15 @@ }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -2584,8 +2740,9 @@ }, "node_modules/tsconfig-paths": { "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -2593,34 +2750,17 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -2633,8 +2773,9 @@ }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -2644,8 +2785,9 @@ }, "node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2655,8 +2797,9 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -2668,8 +2811,9 @@ }, "node_modules/typescript": { "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2680,8 +2824,9 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -2694,16 +2839,18 @@ }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2716,8 +2863,9 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -2731,8 +2879,9 @@ }, "node_modules/which-typed-array": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -2750,16 +2899,18 @@ }, "node_modules/word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -2775,8 +2926,9 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -2789,29 +2941,17 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2823,8 +2963,9 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -2832,10 +2973,23 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2848,13 +3002,21 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -2870,14 +3032,6 @@ "typescript": "^5.0.4" } }, - "packages/core": { - "name": "@backtrace/core", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "typescript": "^5.0.4" - } - }, "packages/node": { "name": "@backtrace/node", "version": "0.0.1", @@ -2889,6 +3043,14 @@ "engines": { "node": ">=11.15.54" } + }, + "packages/sdk-core": { + "name": "@backtrace/sdk-core", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "typescript": "^5.0.4" + } } }, "dependencies": { @@ -2898,21 +3060,23 @@ "typescript": "^5.0.4" } }, - "@backtrace/core": { - "version": "file:packages/core", + "@backtrace/node": { + "version": "file:packages/node", "requires": { + "@types/node": "^11.15.54", "typescript": "^5.0.4" } }, - "@backtrace/node": { - "version": "file:packages/node", + "@backtrace/sdk-core": { + "version": "file:packages/sdk-core", "requires": { - "@types/node": "^11.15.54", "typescript": "^5.0.4" } }, "@eslint-community/eslint-utils": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" @@ -2920,10 +3084,14 @@ }, "@eslint-community/regexpp": { "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true }, "@eslint/eslintrc": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -2935,27 +3103,18 @@ "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } } }, "@eslint/js": { "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2965,14 +3124,20 @@ }, "@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@isaacs/cliui": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { "string-width": "^5.1.2", @@ -2985,10 +3150,14 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -2998,6 +3167,8 @@ }, "@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", @@ -3006,10 +3177,14 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -3018,27 +3193,39 @@ }, "@pkgjs/parseargs": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "optional": true }, "@types/json-schema": { "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, "@types/node": { "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", "dev": true }, "@types/semver": { "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, "@typescript-eslint/eslint-plugin": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", + "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", @@ -3051,30 +3238,12 @@ "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } } }, "@typescript-eslint/parser": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", + "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", "dev": true, "requires": { "@typescript-eslint/scope-manager": "5.59.7", @@ -3085,6 +3254,8 @@ }, "@typescript-eslint/scope-manager": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", + "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", "dev": true, "requires": { "@typescript-eslint/types": "5.59.7", @@ -3093,6 +3264,8 @@ }, "@typescript-eslint/type-utils": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", + "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", "dev": true, "requires": { "@typescript-eslint/typescript-estree": "5.59.7", @@ -3103,10 +3276,14 @@ }, "@typescript-eslint/types": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", + "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", "dev": true }, "@typescript-eslint/typescript-estree": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", + "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", "dev": true, "requires": { "@typescript-eslint/types": "5.59.7", @@ -3116,30 +3293,12 @@ "is-glob": "^4.0.3", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } } }, "@typescript-eslint/utils": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", + "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -3150,42 +3309,12 @@ "@typescript-eslint/typescript-estree": "5.59.7", "eslint-scope": "^5.1.1", "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", + "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", "dev": true, "requires": { "@typescript-eslint/types": "5.59.7", @@ -3194,15 +3323,21 @@ }, "acorn": { "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, "acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3213,14 +3348,29 @@ }, "ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { - "version": "6.2.1", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "array-buffer-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3229,6 +3379,8 @@ }, "array-includes": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3240,10 +3392,14 @@ }, "array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, "array.prototype.flat": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3254,6 +3410,8 @@ }, "array.prototype.flatmap": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3264,14 +3422,20 @@ }, "available-typed-arrays": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, "balanced-match": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -3280,6 +3444,8 @@ }, "braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" @@ -3287,6 +3453,8 @@ }, "call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3295,27 +3463,24 @@ }, "callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } } }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -3323,14 +3488,20 @@ }, "color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -3340,6 +3511,8 @@ }, "debug": { "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -3347,10 +3520,14 @@ }, "deep-is": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "define-properties": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -3359,6 +3536,8 @@ }, "dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" @@ -3366,6 +3545,8 @@ }, "doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -3373,14 +3554,20 @@ }, "eastasianwidth": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, "emoji-regex": { "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "es-abstract": { "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -3421,6 +3608,8 @@ }, "es-set-tostringtag": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "requires": { "get-intrinsic": "^1.1.3", @@ -3430,6 +3619,8 @@ }, "es-shim-unscopables": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "requires": { "has": "^1.0.3" @@ -3437,6 +3628,8 @@ }, "es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -3444,8 +3637,16 @@ "is-symbol": "^1.0.2" } }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "eslint": { "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -3489,30 +3690,35 @@ "text-table": "^0.2.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "requires": { - "argparse": "^2.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true } } }, "eslint-config-prettier": { "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "requires": { "debug": "^3.2.7", @@ -3522,6 +3728,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -3531,6 +3739,8 @@ }, "eslint-module-utils": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { "debug": "^3.2.7" @@ -3538,6 +3748,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -3547,6 +3759,8 @@ }, "eslint-plugin-import": { "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", "dev": true, "requires": { "array-includes": "^3.1.6", @@ -3568,6 +3782,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -3575,31 +3791,47 @@ }, "doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, "eslint-plugin-local-rules": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", "dev": true }, "eslint-scope": { - "version": "7.2.0", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true }, "espree": { "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -3609,32 +3841,60 @@ }, "esquery": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-glob": { "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -3646,6 +3906,8 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -3655,14 +3917,20 @@ }, "fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastq": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -3670,6 +3938,8 @@ }, "file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -3677,6 +3947,8 @@ }, "fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -3684,6 +3956,8 @@ }, "find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", @@ -3692,6 +3966,8 @@ }, "flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -3700,6 +3976,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -3712,6 +3990,8 @@ }, "rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -3721,10 +4001,14 @@ }, "flatted": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { "is-callable": "^1.1.3" @@ -3732,6 +4016,8 @@ }, "foreground-child": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -3740,14 +4026,20 @@ }, "fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "function-bind": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "function.prototype.name": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3758,10 +4050,14 @@ }, "functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "get-intrinsic": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3772,6 +4068,8 @@ }, "get-symbol-description": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3780,6 +4078,8 @@ }, "glob": { "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -3791,6 +4091,8 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -3798,6 +4100,8 @@ }, "minimatch": { "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -3807,6 +4111,8 @@ }, "glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" @@ -3814,6 +4120,8 @@ }, "globals": { "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -3821,6 +4129,8 @@ }, "globalthis": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "requires": { "define-properties": "^1.1.3" @@ -3828,6 +4138,8 @@ }, "globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -3840,6 +4152,8 @@ }, "gopd": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "requires": { "get-intrinsic": "^1.1.3" @@ -3847,14 +4161,20 @@ }, "grapheme-splitter": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, "graphemer": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -3862,14 +4182,20 @@ }, "has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-property-descriptors": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "requires": { "get-intrinsic": "^1.1.1" @@ -3877,14 +4203,20 @@ }, "has-proto": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true }, "has-symbols": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "has-tostringtag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -3892,10 +4224,14 @@ }, "ignore": { "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -3904,10 +4240,14 @@ }, "imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -3916,10 +4256,14 @@ }, "inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "internal-slot": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { "get-intrinsic": "^1.2.0", @@ -3929,6 +4273,8 @@ }, "is-array-buffer": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3938,6 +4284,8 @@ }, "is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { "has-bigints": "^1.0.1" @@ -3945,6 +4293,8 @@ }, "is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3953,10 +4303,14 @@ }, "is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { "has": "^1.0.3" @@ -3964,6 +4318,8 @@ }, "is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -3971,14 +4327,20 @@ }, "is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -3986,14 +4348,20 @@ }, "is-negative-zero": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -4001,10 +4369,14 @@ }, "is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4013,6 +4385,8 @@ }, "is-shared-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -4020,6 +4394,8 @@ }, "is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -4027,6 +4403,8 @@ }, "is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -4034,6 +4412,8 @@ }, "is-typed-array": { "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -4045,6 +4425,8 @@ }, "is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -4052,26 +4434,54 @@ }, "isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "jackspeak": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" } }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, "json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, "levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -4080,6 +4490,8 @@ }, "locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" @@ -4087,18 +4499,26 @@ }, "lodash.merge": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lru-cache": { "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "dev": true }, "merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -4107,6 +4527,8 @@ }, "minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -4114,34 +4536,50 @@ }, "minimist": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "minipass": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "natural-compare-lite": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, "object-inspect": { "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4152,6 +4590,8 @@ }, "object.values": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4161,6 +4601,8 @@ }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -4168,6 +4610,8 @@ }, "optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -4180,6 +4624,8 @@ }, "p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -4187,6 +4633,8 @@ }, "p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" @@ -4194,6 +4642,8 @@ }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -4201,22 +4651,32 @@ }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-scurry": { "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, "requires": { "lru-cache": "^9.1.1", @@ -4225,30 +4685,44 @@ }, "path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, "punycode": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "regexp.prototype.flags": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4258,6 +4732,8 @@ }, "resolve": { "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { "is-core-module": "^2.11.0", @@ -4267,14 +4743,20 @@ }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -4282,6 +4764,8 @@ }, "run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" @@ -4289,6 +4773,8 @@ }, "safe-regex-test": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4297,11 +4783,29 @@ } }, "semver": { - "version": "6.3.0", - "dev": true + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -4309,10 +4813,14 @@ }, "shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "side-channel": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4322,14 +4830,20 @@ }, "signal-exit": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true }, "slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { "eastasianwidth": "^0.2.0", @@ -4339,10 +4853,14 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -4352,6 +4870,8 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -4361,12 +4881,16 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true } } }, "string.prototype.trim": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4376,6 +4900,8 @@ }, "string.prototype.trimend": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4385,6 +4911,8 @@ }, "string.prototype.trimstart": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4394,6 +4922,8 @@ }, "strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" @@ -4401,17 +4931,29 @@ }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, "strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -4419,14 +4961,20 @@ }, "supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -4434,33 +4982,26 @@ }, "tsconfig-paths": { "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "dev": true - } } }, "tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -4468,6 +5009,8 @@ }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -4475,10 +5018,14 @@ }, "type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "typed-array-length": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4488,10 +5035,14 @@ }, "typescript": { "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true }, "unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4502,6 +5053,8 @@ }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -4509,6 +5062,8 @@ }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -4516,6 +5071,8 @@ }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -4527,6 +5084,8 @@ }, "which-typed-array": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -4539,10 +5098,14 @@ }, "word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { "ansi-styles": "^6.1.0", @@ -4552,10 +5115,20 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, "strip-ansi": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -4565,6 +5138,8 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -4572,19 +5147,16 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -4596,10 +5168,20 @@ }, "wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/tsconfig.json b/tsconfig.json index cb2966af..071f6036 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "exclude": ["./test", "./lib"], "references": [ { - "path": "./packages/core" + "path": "./packages/sdk-core" }, { "path": "./packages/browser" diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 234c486d..b2ff4fe0 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -2,7 +2,7 @@ "files": [], "references": [ { - "path": "packages/core" + "path": "packages/sdk-core" }, { "path": "packages/browser" From 27a359b4de4c77238dabdb3056e30f5a786422db Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 26 May 2023 18:35:05 +0200 Subject: [PATCH 005/291] Use unknown instead of any --- .../src/model/configuration/BacktraceConfiguration.ts | 2 +- packages/sdk-core/src/model/report/BacktraceReport.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 385d7704..49abccfe 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -36,7 +36,7 @@ export type BasicBacktraceClientSettings = BacktraceBasicSubmissionInformation & * Attributes are additional metadata that can be attached to error and crash reports. You can use attributes to filter, * aggregate, analyze, and debug errors in the Backtrace console. */ - userAttributes?: Record; + userAttributes?: Record; /** * Attachments are additional files/data that can be send with error to Backtrace. */ diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 5dde2039..afde0bdb 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,7 +1,7 @@ import { BacktraceAttachment } from './BacktraceAttachment'; export interface BacktraceReport { - attributes(): Record; + attributes(): Record; attachments(): BacktraceAttachment[]; - toDate(): Record; + toDate(): Record; } From 433f23b9f7357e91779e4414bc596e2b54ba598a Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 10:45:50 +0200 Subject: [PATCH 006/291] Rename method --- packages/sdk-core/src/model/report/BacktraceReport.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index afde0bdb..0dbc775f 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -3,5 +3,5 @@ import { BacktraceAttachment } from './BacktraceAttachment'; export interface BacktraceReport { attributes(): Record; attachments(): BacktraceAttachment[]; - toDate(): Record; + toData(): Record; } From 667440145d97ffd8634752ddc4905aafa46c3b9d Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 10:58:57 +0200 Subject: [PATCH 007/291] Added missing commands --- packages/browser/package.json | 5 +++++ packages/node/package.json | 5 +++++ packages/sdk-core/package.json | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/packages/browser/package.json b/packages/browser/package.json index c25bc216..b64427c4 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -5,6 +5,11 @@ "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", "test": "NODE_ENV=test jest" }, "repository": { diff --git a/packages/node/package.json b/packages/node/package.json index aa0bdcdf..66d4a7d3 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -5,6 +5,11 @@ "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", "test": "NODE_ENV=test jest" }, "engines": { diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 7af71aa6..c51b8018 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -5,6 +5,11 @@ "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", "test": "NODE_ENV=test jest" }, "repository": { From ce82a245588ad6e091c532c26cca18078add3041 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 11:55:29 +0200 Subject: [PATCH 008/291] Configuration changes --- .../configuration/BacktraceConfiguration.ts | 17 ++++++++++------- .../BacktraceDatabaseConfiguration.ts | 8 ++++---- .../src/model/report/BacktraceAttachment.ts | 6 +++--- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 49abccfe..d3eb3268 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -2,7 +2,7 @@ import { BacktraceAttachment } from '../report/BacktraceAttachment'; import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; // Submission information -export type BacktraceBasicSubmissionInformation = { +export interface BacktraceBasicSubmissionInformation { /** * The server address (submission URL) is required to submit exceptions from your project to your Backtrace instance. * @@ -11,11 +11,14 @@ export type BacktraceBasicSubmissionInformation = { url: string; timeout?: number; ignoreSslCertificate?: boolean; -}; -export type BacktraceLegacySubmitInformation = BacktraceBasicSubmissionInformation & { token: string }; +} +// Legacy submission information +export interface BacktraceLegacySubmitInformation extends BacktraceBasicSubmissionInformation { + token: string; +} export type BacktraceSubmissionInformation = BacktraceBasicSubmissionInformation | BacktraceLegacySubmitInformation; -export type BacktraceMetricsSupport = { +export interface BacktraceMetricsSupport { metricsSubmissionUrl?: string; enable: boolean; ignoreSslCertificate?: boolean; @@ -24,9 +27,9 @@ export type BacktraceMetricsSupport = { * By default, session events are sent on application startup/finish, and every 30 minutes while the game is running. */ autoSendInterval?: number; -}; +} -export type BasicBacktraceClientSettings = BacktraceBasicSubmissionInformation & { +export interface BasicBacktraceClientSettings extends BacktraceBasicSubmissionInformation { /** * Limits the number of reports the client will send per minute. If set to '0', there is no limit. * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. @@ -46,6 +49,6 @@ export type BasicBacktraceClientSettings = BacktraceBasicSubmissionInformation & * Metrics such as crash free users and crash free sessions */ metrics?: BacktraceMetricsSupport; -}; +} export type BacktraceConfiguration = BasicBacktraceClientSettings & BacktraceDatabaseConfiguration; diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index 3b132bd1..7a0099f8 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -5,7 +5,7 @@ export enum DeduplicationStrategy { Message = 1 << 2, All = ~(~0 << 4), } -export type EnabledBacktraceConfiguration = { +export interface EnabledBacktraceConfiguration { /** * Determine if the Database is enabled */ @@ -59,13 +59,13 @@ export type EnabledBacktraceConfiguration = { * The default value is 3 */ maximumRetries?: number; -}; +} -export type DisabledBacktraceConfiguration = { +export interface DisabledBacktraceConfiguration extends Omit, 'enabled'> { /** * Determine if the Database is enabled */ enabled?: false; -} & Partial; +} export type BacktraceDatabaseConfiguration = EnabledBacktraceConfiguration | DisabledBacktraceConfiguration; diff --git a/packages/sdk-core/src/model/report/BacktraceAttachment.ts b/packages/sdk-core/src/model/report/BacktraceAttachment.ts index 349ef32c..2bfa66ec 100644 --- a/packages/sdk-core/src/model/report/BacktraceAttachment.ts +++ b/packages/sdk-core/src/model/report/BacktraceAttachment.ts @@ -1,4 +1,4 @@ -export type BacktraceInMemoryAttachment = { +export interface BacktraceInMemoryAttachment { /** * Attachment name */ @@ -6,8 +6,8 @@ export type BacktraceInMemoryAttachment = { /** * Attachment data */ - data: string; -}; + data: Uint8Array; +} export type BacktraceFileAttachment = string; export type BacktraceAttachment = BacktraceInMemoryAttachment | BacktraceFileAttachment; From 93094872f57ad509c340a475756e887f1c42f12f Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:26:02 +0200 Subject: [PATCH 009/291] database as an option of a client --- .../src/model/configuration/BacktraceConfiguration.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index d3eb3268..c968098f 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -51,4 +51,6 @@ export interface BasicBacktraceClientSettings extends BacktraceBasicSubmissionIn metrics?: BacktraceMetricsSupport; } -export type BacktraceConfiguration = BasicBacktraceClientSettings & BacktraceDatabaseConfiguration; +export interface BacktraceConfiguration extends BasicBacktraceClientSettings { + database?: BacktraceDatabaseConfiguration; +} From 7506c021a4fb2a57f498b50e25202b72b9b8feaf Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:27:40 +0200 Subject: [PATCH 010/291] Merge client settings --- .../src/model/configuration/BacktraceConfiguration.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index c968098f..5edf77ad 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -29,7 +29,7 @@ export interface BacktraceMetricsSupport { autoSendInterval?: number; } -export interface BasicBacktraceClientSettings extends BacktraceBasicSubmissionInformation { +export interface BacktraceConfiguration extends BacktraceBasicSubmissionInformation { /** * Limits the number of reports the client will send per minute. If set to '0', there is no limit. * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. @@ -49,8 +49,8 @@ export interface BasicBacktraceClientSettings extends BacktraceBasicSubmissionIn * Metrics such as crash free users and crash free sessions */ metrics?: BacktraceMetricsSupport; -} - -export interface BacktraceConfiguration extends BasicBacktraceClientSettings { + /** + * Offline database settings + */ database?: BacktraceDatabaseConfiguration; } From 3eca08e07e472fc26ca5777ca90b6b36cb526f28 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:38:03 +0200 Subject: [PATCH 011/291] Basic Backtrace configuration settings union --- .../configuration/BacktraceConfiguration.ts | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 5edf77ad..60548a58 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,23 +1,6 @@ import { BacktraceAttachment } from '../report/BacktraceAttachment'; import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; -// Submission information -export interface BacktraceBasicSubmissionInformation { - /** - * The server address (submission URL) is required to submit exceptions from your project to your Backtrace instance. - * - * The Server Address must be in the following format: https://submit.backtrace.io/{subdomain}/{submission-token}/json. - */ - url: string; - timeout?: number; - ignoreSslCertificate?: boolean; -} -// Legacy submission information -export interface BacktraceLegacySubmitInformation extends BacktraceBasicSubmissionInformation { - token: string; -} -export type BacktraceSubmissionInformation = BacktraceBasicSubmissionInformation | BacktraceLegacySubmitInformation; - export interface BacktraceMetricsSupport { metricsSubmissionUrl?: string; enable: boolean; @@ -29,7 +12,26 @@ export interface BacktraceMetricsSupport { autoSendInterval?: number; } -export interface BacktraceConfiguration extends BacktraceBasicSubmissionInformation { +export interface BacktraceConfiguration { + /** + * The server address (submission URL) is required to submit exceptions from your project to your Backtrace instance. + * + * The Server Address must be in the following format: https://submit.backtrace.io/{subdomain}/{submission-token}/json + * + * For users who need to use a direct URL to the Backtrace instance, the server address must be in the following format: + * https://universe-name.sp.backtrace.io:6098/ + * + * The legacy submission URL requires an optional token to be available. + */ + url: string; + + /** + * Submission token - the token is required only if the user uses direct submission URL to Backtrace (Legacy URL). + */ + token: string; + timeout?: number; + ignoreSslCertificate?: boolean; + /** * Limits the number of reports the client will send per minute. If set to '0', there is no limit. * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. From d84df8a48d261b8b1452d63fb82610506fdfe01f Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:45:12 +0200 Subject: [PATCH 012/291] Optional token --- .../sdk-core/src/model/configuration/BacktraceConfiguration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 60548a58..29415dbb 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -28,7 +28,7 @@ export interface BacktraceConfiguration { /** * Submission token - the token is required only if the user uses direct submission URL to Backtrace (Legacy URL). */ - token: string; + token?: string; timeout?: number; ignoreSslCertificate?: boolean; From 6abd1078a94ef88cf0bb6d7372c8f8d8c7bfd6da Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:47:24 +0200 Subject: [PATCH 013/291] Remove legacy - use direct submission url instead --- .../src/model/configuration/BacktraceConfiguration.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 29415dbb..7d915133 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -21,12 +21,12 @@ export interface BacktraceConfiguration { * For users who need to use a direct URL to the Backtrace instance, the server address must be in the following format: * https://universe-name.sp.backtrace.io:6098/ * - * The legacy submission URL requires an optional token to be available. + * The direct submission URL requires an optional token to be available. */ url: string; /** - * Submission token - the token is required only if the user uses direct submission URL to Backtrace (Legacy URL). + * Submission token - the token is required only if the user uses direct submission URL to Backtrace. */ token?: string; timeout?: number; From 889277c1aad89d15b856e534536c87cc069751c1 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:47:55 +0200 Subject: [PATCH 014/291] Interface rename --- .../configuration/BacktraceDatabaseConfiguration.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index 7a0099f8..091be2a7 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -5,7 +5,7 @@ export enum DeduplicationStrategy { Message = 1 << 2, All = ~(~0 << 4), } -export interface EnabledBacktraceConfiguration { +export interface EnabledBacktraceDatabaseConfiguration { /** * Determine if the Database is enabled */ @@ -61,11 +61,14 @@ export interface EnabledBacktraceConfiguration { maximumRetries?: number; } -export interface DisabledBacktraceConfiguration extends Omit, 'enabled'> { +export interface DisabledBacktraceDatabaseConfiguration + extends Omit, 'enabled'> { /** * Determine if the Database is enabled */ enabled?: false; } -export type BacktraceDatabaseConfiguration = EnabledBacktraceConfiguration | DisabledBacktraceConfiguration; +export type BacktraceDatabaseConfiguration = + | EnabledBacktraceDatabaseConfiguration + | DisabledBacktraceDatabaseConfiguration; From 4328c3cfbf13e38036709d48f53237f3bfaed36b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:52:38 +0200 Subject: [PATCH 015/291] Optional rate limit --- .../sdk-core/src/model/configuration/BacktraceConfiguration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 7d915133..6ea1d904 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -36,7 +36,7 @@ export interface BacktraceConfiguration { * Limits the number of reports the client will send per minute. If set to '0', there is no limit. * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. */ - rateLimit: number; + rateLimit?: number; /** * Attributes are additional metadata that can be attached to error and crash reports. You can use attributes to filter, * aggregate, analyze, and debug errors in the Backtrace console. From 8b34c72232806e78e162e19c4900870ce0a9ca1b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 12:57:49 +0200 Subject: [PATCH 016/291] Deduplication settings --- .../BacktraceDatabaseConfiguration.ts | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index 091be2a7..29cbf3e0 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -1,8 +1,23 @@ export enum DeduplicationStrategy { + /** + * Duplicated reports are not aggregated + */ None = 0, + /** + * Aggregates based on the current stack trace + */ Callstack = 1 << 0, + /** + * Aggregates by stack trace and exception type + */ Classifier = 1 << 1, + /** + * Aggregates by stack trace and exception message + */ Message = 1 << 2, + /** + * Aggregates by faulting callstack, exception type, and exception message + */ All = ~(~0 << 4), } export interface EnabledBacktraceDatabaseConfiguration { @@ -16,17 +31,13 @@ export interface EnabledBacktraceDatabaseConfiguration { path: string; /** * Determine if the directory should be auto created by the SDK. - * By default = true. + * By default true. */ createDatabaseDirectory?: boolean; /** - * Aggregates duplicated reports. The available options are: - * None: Duplicated reports are not aggregated. - * Callstack: Aggregates based on the current stack trace. - * Classifier: Aggregates by stack trace and exception type. - * Message: Aggregates by stack trace and exception message. - * All: Aggregates by faulting callstack, exception type, and exception message. + * Duplicated reports aggregration settings. If defined, the same reports can be combined + * together. */ deduplicationStrategy?: DeduplicationStrategy; From 0c7e62d78261034bcbca6087fbecccd0093713b7 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 13:01:16 +0200 Subject: [PATCH 017/291] Retry interval in ms instead of sec --- .../src/model/configuration/BacktraceDatabaseConfiguration.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index 29cbf3e0..3001832d 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -61,8 +61,8 @@ export interface EnabledBacktraceDatabaseConfiguration { */ maximumDatabaseSizeInMb?: number; /** - * The amount of time (in seconds) to wait between retries if the database is unable to send a report. - * The default value is 60 + * The amount of time (in ms) to wait between retries if the database is unable to send a report. + * The default value is 60 000 */ retryInterval?: number; /** From 3825fba163d50751265830fde7531e514ced07ae Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 13:01:35 +0200 Subject: [PATCH 018/291] Report getters --- packages/sdk-core/src/model/report/BacktraceReport.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 0dbc775f..894361a2 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,7 +1,7 @@ import { BacktraceAttachment } from './BacktraceAttachment'; export interface BacktraceReport { - attributes(): Record; - attachments(): BacktraceAttachment[]; + get attributes(): Record; + get attachments(): BacktraceAttachment[]; toData(): Record; } From 13eb7aab8f1d7cc36ddd6a65fe9f563dae1550f1 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 13:08:29 +0200 Subject: [PATCH 019/291] Use fields as attachments/attributes in the report object --- packages/sdk-core/src/model/report/BacktraceReport.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 894361a2..d39bcd34 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,7 +1,7 @@ import { BacktraceAttachment } from './BacktraceAttachment'; export interface BacktraceReport { - get attributes(): Record; - get attachments(): BacktraceAttachment[]; + readonly attributes: Record; + readonly attachments: BacktraceAttachment[]; toData(): Record; } From 68ef1d852d291968270381756372748af8ccf526 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 13:11:27 +0200 Subject: [PATCH 020/291] Monorepo setup (#1) * Monorepo setup * Package rename * Code review adjustements * Sdk core rename * Use unknown instead of any * Rename method * Added missing commands * Configuration changes * database as an option of a client * Merge client settings * Basic Backtrace configuration settings union * Optional token * Remove legacy - use direct submission url instead * Interface rename * Optional rate limit * Deduplication settings * Retry interval in ms instead of sec * Report getters * Use fields as attachments/attributes in the report object --- .eslintignore | 4 + .eslintrc.json | 21 + .gitignore | 136 + .prettierrc | 8 + README.md | 4 +- package-lock.json | 5188 +++++++++++++++++ package.json | 47 + packages/browser/LICENSE | 21 + packages/browser/package.json | 37 + packages/browser/src/BacktraceClient.ts | 3 + packages/browser/src/index.ts | 1 + packages/browser/tsconfig.json | 12 + packages/node/LICENSE | 21 + packages/node/package.json | 41 + packages/node/src/BacktraceClient.ts | 3 + packages/node/src/index.ts | 1 + packages/node/tsconfig.json | 12 + packages/sdk-core/LICENSE | 21 + packages/sdk-core/package.json | 37 + packages/sdk-core/src/BacktraceCoreClient.ts | 7 + packages/sdk-core/src/index.ts | 5 + .../configuration/BacktraceConfiguration.ts | 58 + .../BacktraceDatabaseConfiguration.ts | 85 + .../src/model/report/BacktraceAttachment.ts | 13 + .../src/model/report/BacktraceReport.ts | 7 + packages/sdk-core/tsconfig.json | 10 + tsconfig.base.json | 19 + tsconfig.json | 16 + tsconfig.packages.json | 14 + 29 files changed, 5851 insertions(+), 1 deletion(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 packages/browser/LICENSE create mode 100644 packages/browser/package.json create mode 100644 packages/browser/src/BacktraceClient.ts create mode 100644 packages/browser/src/index.ts create mode 100644 packages/browser/tsconfig.json create mode 100644 packages/node/LICENSE create mode 100644 packages/node/package.json create mode 100644 packages/node/src/BacktraceClient.ts create mode 100644 packages/node/src/index.ts create mode 100644 packages/node/tsconfig.json create mode 100644 packages/sdk-core/LICENSE create mode 100644 packages/sdk-core/package.json create mode 100644 packages/sdk-core/src/BacktraceCoreClient.ts create mode 100644 packages/sdk-core/src/index.ts create mode 100644 packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts create mode 100644 packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts create mode 100644 packages/sdk-core/src/model/report/BacktraceAttachment.ts create mode 100644 packages/sdk-core/src/model/report/BacktraceReport.ts create mode 100644 packages/sdk-core/tsconfig.json create mode 100644 tsconfig.base.json create mode 100644 tsconfig.json create mode 100644 tsconfig.packages.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..c7191685 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +node_modules +dist +/**/dist +*.d.ts diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..2758fbd6 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,21 @@ +{ + "env": { + "commonjs": true, + "es2021": true, + "node": true + }, + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12 + }, + "plugins": ["@typescript-eslint"], + "rules": { + "@typescript-eslint/no-empty-interface": [ + "error", + { + "allowSingleExtends": true + } + ] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..f6baafee --- /dev/null +++ b/.gitignore @@ -0,0 +1,136 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/node +# Edit at https://www.toptal.com/developers/gitignore?templates=node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.production + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist +lib +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache +.stylelintcache + +# SvelteKit build / generate output +.svelte-kit + +dist/ + diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..e7629774 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 120, + "proseWrap": "always", + "singleQuote": true, + "trailingComma": "all", + "arrowParens": "always", + "tabWidth": 4 +} diff --git a/README.md b/README.md index 76dd99ee..492245a8 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ -# backtrace-javascript \ No newline at end of file +# Backtrace-Javascript + +Home of the all Backtrace's JavaScript integrations. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..00933cba --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5188 @@ +{ + "name": "@backtrace/javascript", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace/javascript", + "version": "0.0.1", + "license": "MIT", + "workspaces": [ + "packages/*" + ], + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.7", + "@typescript-eslint/parser": "^5.59.7", + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-local-rules": "^1.3.2", + "prettier": "^2.8.8", + "rimraf": "^5.0.1", + "typescript": "^5.0.4" + } + }, + "node_modules/@backtrace/browser": { + "resolved": "packages/browser", + "link": true + }, + "node_modules/@backtrace/node": { + "resolved": "packages/node", + "link": true + }, + "node_modules/@backtrace/sdk-core": { + "resolved": "packages/sdk-core", + "link": true + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", + "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", + "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", + "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", + "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", + "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", + "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", + "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", + "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "dev": true, + "dependencies": { + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/browser": { + "name": "@backtrace/browser", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "typescript": "^5.0.4" + } + }, + "packages/node": { + "name": "@backtrace/node", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/node": "^11.15.54", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=11.15.54" + } + }, + "packages/sdk-core": { + "name": "@backtrace/sdk-core", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "typescript": "^5.0.4" + } + } + }, + "dependencies": { + "@backtrace/browser": { + "version": "file:packages/browser", + "requires": { + "typescript": "^5.0.4" + } + }, + "@backtrace/node": { + "version": "file:packages/node", + "requires": { + "@types/node": "^11.15.54", + "typescript": "^5.0.4" + } + }, + "@backtrace/sdk-core": { + "version": "file:packages/sdk-core", + "requires": { + "typescript": "^5.0.4" + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", + "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", + "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", + "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", + "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", + "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", + "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", + "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", + "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "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" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "dev": true, + "requires": { + "glob": "^10.2.5" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "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", + "is-typed-array": "^1.1.10" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..b8bb413b --- /dev/null +++ b/package.json @@ -0,0 +1,47 @@ +{ + "name": "@backtrace/javascript", + "version": "0.0.1", + "description": "Backtrace.io error reporting tool for JavaScript", + "author": "Backtrace ", + "license": "MIT", + "scripts": { + "build": "tsc -b ./tsconfig.packages.json", + "clean": "tsc -b --clean && rimraf \"packages/*/lib\" \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "rebuild": "npm run clean && npm run build", + "watch": "tsc -b ./tsconfig.packages.json -w", + "test": "NODE_ENV=test jest" + }, + "workspaces": [ + "packages/*" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.7", + "@typescript-eslint/parser": "^5.59.7", + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-local-rules": "^1.3.2", + "prettier": "^2.8.8", + "rimraf": "^5.0.1", + "typescript": "^5.0.4" + } +} diff --git a/packages/browser/LICENSE b/packages/browser/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/browser/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/browser/package.json b/packages/browser/package.json new file mode 100644 index 00000000..b64427c4 --- /dev/null +++ b/packages/browser/package.json @@ -0,0 +1,37 @@ +{ + "name": "@backtrace/browser", + "version": "0.0.1", + "description": "Backtrace-JavaScript web browser integration", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "typescript": "^5.0.4" + } +} diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts new file mode 100644 index 00000000..9d50809a --- /dev/null +++ b/packages/browser/src/BacktraceClient.ts @@ -0,0 +1,3 @@ +import { BacktraceCoreClient } from '@backtrace/sdk-core'; + +export class BacktraceClient extends BacktraceCoreClient {} diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts new file mode 100644 index 00000000..7e0e4721 --- /dev/null +++ b/packages/browser/src/index.ts @@ -0,0 +1 @@ +export * from './BacktraceClient'; diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json new file mode 100644 index 00000000..9066a7c4 --- /dev/null +++ b/packages/browser/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "references": [ + { + "path": "../sdk-core/tsconfig.json" + } + ] +} diff --git a/packages/node/LICENSE b/packages/node/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/node/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/node/package.json b/packages/node/package.json new file mode 100644 index 00000000..66d4a7d3 --- /dev/null +++ b/packages/node/package.json @@ -0,0 +1,41 @@ +{ + "name": "@backtrace/node", + "version": "0.0.1", + "description": "Backtrace-JavaScript Node.JS integration", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", + "test": "NODE_ENV=test jest" + }, + "engines": { + "node": ">=11.15.54" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "@types/node": "^11.15.54", + "typescript": "^5.0.4" + } +} diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts new file mode 100644 index 00000000..9d50809a --- /dev/null +++ b/packages/node/src/BacktraceClient.ts @@ -0,0 +1,3 @@ +import { BacktraceCoreClient } from '@backtrace/sdk-core'; + +export class BacktraceClient extends BacktraceCoreClient {} diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts new file mode 100644 index 00000000..7e0e4721 --- /dev/null +++ b/packages/node/src/index.ts @@ -0,0 +1 @@ +export * from './BacktraceClient'; diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json new file mode 100644 index 00000000..3ec6969c --- /dev/null +++ b/packages/node/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "references": [ + { + "path": "../sdk-core/tsconfig.json" + } + ] +} diff --git a/packages/sdk-core/LICENSE b/packages/sdk-core/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/sdk-core/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json new file mode 100644 index 00000000..c51b8018 --- /dev/null +++ b/packages/sdk-core/package.json @@ -0,0 +1,37 @@ +{ + "name": "@backtrace/sdk-core", + "version": "0.0.1", + "description": "Backtrace-JavaScript SDK core library", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "typescript": "^5.0.4" + } +} diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts new file mode 100644 index 00000000..47fcb6b7 --- /dev/null +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -0,0 +1,7 @@ +import { BacktraceReport } from './model/report/BacktraceReport'; + +export class BacktraceCoreClient { + public async send(report: BacktraceReport) { + throw new Error('Not implemented'); + } +} diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts new file mode 100644 index 00000000..5206e143 --- /dev/null +++ b/packages/sdk-core/src/index.ts @@ -0,0 +1,5 @@ +export * from './BacktraceCoreClient'; +export * from './model/configuration/BacktraceConfiguration'; +export * from './model/configuration/BacktraceDatabaseConfiguration'; +export * from './model/report/BacktraceAttachment'; +export * from './model/report/BacktraceReport'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts new file mode 100644 index 00000000..6ea1d904 --- /dev/null +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -0,0 +1,58 @@ +import { BacktraceAttachment } from '../report/BacktraceAttachment'; +import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; + +export interface BacktraceMetricsSupport { + metricsSubmissionUrl?: string; + enable: boolean; + ignoreSslCertificate?: boolean; + /** + * Indicates how often crash free metrics are sent to Backtrace. + * By default, session events are sent on application startup/finish, and every 30 minutes while the game is running. + */ + autoSendInterval?: number; +} + +export interface BacktraceConfiguration { + /** + * The server address (submission URL) is required to submit exceptions from your project to your Backtrace instance. + * + * The Server Address must be in the following format: https://submit.backtrace.io/{subdomain}/{submission-token}/json + * + * For users who need to use a direct URL to the Backtrace instance, the server address must be in the following format: + * https://universe-name.sp.backtrace.io:6098/ + * + * The direct submission URL requires an optional token to be available. + */ + url: string; + + /** + * Submission token - the token is required only if the user uses direct submission URL to Backtrace. + */ + token?: string; + timeout?: number; + ignoreSslCertificate?: boolean; + + /** + * Limits the number of reports the client will send per minute. If set to '0', there is no limit. + * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. + */ + rateLimit?: number; + /** + * Attributes are additional metadata that can be attached to error and crash reports. You can use attributes to filter, + * aggregate, analyze, and debug errors in the Backtrace console. + */ + userAttributes?: Record; + /** + * Attachments are additional files/data that can be send with error to Backtrace. + */ + attachments?: BacktraceAttachment[]; + + /** + * Metrics such as crash free users and crash free sessions + */ + metrics?: BacktraceMetricsSupport; + /** + * Offline database settings + */ + database?: BacktraceDatabaseConfiguration; +} diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts new file mode 100644 index 00000000..3001832d --- /dev/null +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -0,0 +1,85 @@ +export enum DeduplicationStrategy { + /** + * Duplicated reports are not aggregated + */ + None = 0, + /** + * Aggregates based on the current stack trace + */ + Callstack = 1 << 0, + /** + * Aggregates by stack trace and exception type + */ + Classifier = 1 << 1, + /** + * Aggregates by stack trace and exception message + */ + Message = 1 << 2, + /** + * Aggregates by faulting callstack, exception type, and exception message + */ + All = ~(~0 << 4), +} +export interface EnabledBacktraceDatabaseConfiguration { + /** + * Determine if the Database is enabled + */ + enabled: true; + /** + * Path where the SDK can store data. + */ + path: string; + /** + * Determine if the directory should be auto created by the SDK. + * By default true. + */ + createDatabaseDirectory?: boolean; + + /** + * Duplicated reports aggregration settings. If defined, the same reports can be combined + * together. + */ + deduplicationStrategy?: DeduplicationStrategy; + + /** + * Sends reports to the server based on the retry settings. + * If the value is set to 'false', you can use the Flush or Send methods as an alternative. + */ + autoSend?: boolean; + + /** + * The maximum number of reports stored in the offline database. When the limit is reached, + * the oldest reports are removed. If the value is equal to '0', then no limit is set. + * The default value is 8. + */ + maximumNumberOfRecords?: number; + + /** + * The maximum database size in MB. When the limit is reached, the oldest reports are removed. + * If the value is equal to '0', then no limit is set. + * The default value is 0 (unlimited) + */ + maximumDatabaseSizeInMb?: number; + /** + * The amount of time (in ms) to wait between retries if the database is unable to send a report. + * The default value is 60 000 + */ + retryInterval?: number; + /** + * The maximum number of retries to attempt if the database is unable to send a report. + * The default value is 3 + */ + maximumRetries?: number; +} + +export interface DisabledBacktraceDatabaseConfiguration + extends Omit, 'enabled'> { + /** + * Determine if the Database is enabled + */ + enabled?: false; +} + +export type BacktraceDatabaseConfiguration = + | EnabledBacktraceDatabaseConfiguration + | DisabledBacktraceDatabaseConfiguration; diff --git a/packages/sdk-core/src/model/report/BacktraceAttachment.ts b/packages/sdk-core/src/model/report/BacktraceAttachment.ts new file mode 100644 index 00000000..2bfa66ec --- /dev/null +++ b/packages/sdk-core/src/model/report/BacktraceAttachment.ts @@ -0,0 +1,13 @@ +export interface BacktraceInMemoryAttachment { + /** + * Attachment name + */ + name: string; + /** + * Attachment data + */ + data: Uint8Array; +} + +export type BacktraceFileAttachment = string; +export type BacktraceAttachment = BacktraceInMemoryAttachment | BacktraceFileAttachment; diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts new file mode 100644 index 00000000..d39bcd34 --- /dev/null +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -0,0 +1,7 @@ +import { BacktraceAttachment } from './BacktraceAttachment'; + +export interface BacktraceReport { + readonly attributes: Record; + readonly attachments: BacktraceAttachment[]; + toData(): Record; +} diff --git a/packages/sdk-core/tsconfig.json b/packages/sdk-core/tsconfig.json new file mode 100644 index 00000000..0d810a8e --- /dev/null +++ b/packages/sdk-core/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["./src"], + "compilerOptions": { + "rootDir": "./src", + "composite": true, + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 00000000..a4bbf53e --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es2022", + "module": "commonjs", + "outDir": "./lib", + "sourceMap": true, + "incremental": true, + "strict": true, + "esModuleInterop": true, + "strictNullChecks": true, + "noUnusedLocals": true, + "removeComments": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "declaration": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..071f6036 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "./tsconfig.base.json", + "include": ["packages/**/*"], + "exclude": ["./test", "./lib"], + "references": [ + { + "path": "./packages/sdk-core" + }, + { + "path": "./packages/browser" + }, + { + "path": "./packages/node" + } + ] +} diff --git a/tsconfig.packages.json b/tsconfig.packages.json new file mode 100644 index 00000000..b2ff4fe0 --- /dev/null +++ b/tsconfig.packages.json @@ -0,0 +1,14 @@ +{ + "files": [], + "references": [ + { + "path": "packages/sdk-core" + }, + { + "path": "packages/browser" + }, + { + "path": "packages/node" + } + ] +} From c3660341e9c3038a945bed412782777769cb0095 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 13:12:04 +0200 Subject: [PATCH 021/291] Test setup (#2) --- jest.config.js | 5 + package-lock.json | 9390 +++++++++++------ packages/browser/jest.config.js | 5 + packages/browser/package.json | 3 + .../browser/tests/client/clientTests.spec.ts | 8 + packages/browser/tsconfig.json | 1 + packages/node/jest.config.js | 5 + packages/node/package.json | 3 + .../node/tests/client/clientTests.spec.ts | 8 + packages/node/tsconfig.json | 1 + packages/sdk-core/jest.config.js | 5 + packages/sdk-core/package.json | 3 + .../sdk-core/tests/client/clientTests.spec.ts | 8 + 13 files changed, 6495 insertions(+), 2950 deletions(-) create mode 100644 jest.config.js create mode 100644 packages/browser/jest.config.js create mode 100644 packages/browser/tests/client/clientTests.spec.ts create mode 100644 packages/node/jest.config.js create mode 100644 packages/node/tests/client/clientTests.spec.ts create mode 100644 packages/sdk-core/jest.config.js create mode 100644 packages/sdk-core/tests/client/clientTests.spec.ts diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..b413e106 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 00933cba..c4acaf93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,2353 +12,4464 @@ "packages/*" ], "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.59.7", - "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", "typescript": "^5.0.4" } }, - "node_modules/@backtrace/browser": { - "resolved": "packages/browser", - "link": true - }, - "node_modules/@backtrace/node": { - "resolved": "packages/node", - "link": true - }, - "node_modules/@backtrace/sdk-core": { - "resolved": "packages/sdk-core", - "link": true - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "node_modules/@babel/compat-data": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", + "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", "dev": true, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "node_modules/@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", "dev": true, "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@babel/generator": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", + "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", "dev": true, + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" }, "engines": { - "node": ">=10.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "@babel/types": "^7.18.6" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/types": "^7.21.4" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/types": "^7.21.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "optional": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, "engines": { - "node": ">=14" + "node": ">=6.9.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@types/node": { - "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", - "dev": true + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", - "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=6.9.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", - "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "debug": "^4.3.4" + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=6.9.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", - "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "color-convert": "^1.9.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=4" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", - "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=4" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", - "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", - "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.8.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", - "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=4" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", - "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.7", - "eslint-visitor-keys": "^3.3.0" + "has-flag": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=4" } }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/@babel/parser": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", + "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", "dev": true, "bin": { - "acorn": "bin/acorn" + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=0.4.0" + "node": ">=6.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", "dev": true, "dependencies": { - "ms": "2.1.2" + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=6.9.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "node_modules/@backtrace/browser": { + "resolved": "packages/browser", + "link": true + }, + "node_modules/@backtrace/core": { + "resolved": "packages/core", + "link": true + }, + "node_modules/@backtrace/node": { + "resolved": "packages/node", + "link": true + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/es-set-tostringtag": { + "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/@eslint/js": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true, - "dependencies": { - "has": "^1.0.3" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.10.0" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12.22" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12" } }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" + "engines": { + "node": ">=12" }, - "peerDependencies": { - "eslint": ">=7.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "debug": "^3.2.7" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">=8" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "p-try": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=8" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/@jest/console": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", + "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "node_modules/@jest/core": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", + "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "node_modules/@jest/environment": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", + "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/@jest/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", "dev": true, + "dependencies": { + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" + }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "node_modules/@jest/expect-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", "dev": true, "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "jest-get-type": "^29.4.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/@jest/fake-timers": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", + "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { - "node": ">=0.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/@jest/globals": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", + "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" + }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/@jest/reporters": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", + "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "engines": { - "node": ">=4.0" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "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" + }, "engines": { - "node": ">=4.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/@jest/schemas": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", + "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.25.16" + }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "node_modules/@jest/source-map": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", + "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=8.6.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/@jest/test-result": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", + "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/@jest/test-sequencer": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", + "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/@jest/transform": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", + "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/@jest/types": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", + "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@jest/schemas": "^29.4.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" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=6.0.0" } }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "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" - }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=6.0.0" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "dependencies": { - "is-callable": "^1.1.3" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 8" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optional": true, + "engines": { + "node": ">=14" } }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "node_modules/@sinclair/typebox": { + "version": "0.25.24", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", + "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "type-detect": "4.0.8" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", + "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "@babel/types": "^7.0.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "node_modules/@types/babel__traverse": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", + "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@babel/types": "^7.20.7" } }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/node": "*" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/istanbul-lib-report": "*" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/@types/jest": { + "version": "29.5.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz", + "integrity": "sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", "dev": true }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", "dev": true }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" + "@types/yargs-parser": "*" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { - "node": ">=0.8.19" + "node": ">= 8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "sprintf-js": "~1.0.2" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/babel-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", + "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "dependencies": { - "has": "^1.0.3" + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "is-extglob": "^2.1.1" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "fast-json-stable-stringify": "2.x" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 6" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "engines": { - "node": ">=0.12.0" + "dependencies": { + "node-int64": "^0.4.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/caniuse-lite": { + "version": "1.0.30001489", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", + "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "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" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "@isaacs/cliui": "^8.0.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": ">=8" } }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } }, - "node_modules/json-stable-stringify-without-jsonify": { + "node_modules/collect-v8-coverage": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "color-name": "~1.1.4" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, - "node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "engines": { - "node": "14 || >=16.14" + "node": ">=0.10.0" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, "engines": { - "node": ">=8.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "esutils": "^2.0.2" }, "engines": { - "node": "*" + "node": ">=6.0.0" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.408", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", + "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "engines": { + "node": ">=12" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=6" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "node_modules/eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, - "engines": { - "node": ">= 0.4" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "wrappy": "1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">= 0.8.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" + }, "engines": { - "node": ">= 0.8.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", + "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", + "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-diff": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", + "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", + "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", + "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", + "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", + "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", + "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", + "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", + "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", + "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-snapshot": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", + "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", + "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", + "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", + "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", + "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "bin": { - "prettier": "bin-prettier.js" + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "dev": true, + "dependencies": { + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -2366,199 +4477,344 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", + "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" }, "bin": { - "resolve": "bin/resolve" + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/resolve-from": { + "node_modules/ts-jest/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "dependencies": { - "glob": "^10.2.5" + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, "bin": { - "rimraf": "dist/cjs/src/bin.js" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12.20" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "queue-microtask": "^1.2.2" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "punycode": "^2.1.0" } }, - "node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" }, "engines": { - "node": ">=10" + "node": ">=10.12.0" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "makeerror": "1.0.12" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", - "dev": true, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/string-width-cjs": { - "name": "string-width", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", @@ -2572,13 +4828,7 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { + "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", @@ -2590,7 +4840,7 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/string-width/node_modules/strip-ansi": { + "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", @@ -2605,474 +4855,622 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=12" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" + "packages/browser": { + "name": "@backtrace/browser", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "packages/core": { + "name": "@backtrace/core", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "packages/node": { + "name": "@backtrace/node", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/node": "^11.15.54", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=8" + "node": ">=11.15.54" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/highlight": "^7.18.6" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "@babel/compat-data": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", + "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", "dev": true }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", + "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", "dev": true, + "requires": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + } } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", "dev": true }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/types": "^7.21.4" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.5" } }, - "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, "dependencies": { - "punycode": "^2.1.0" + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "@babel/parser": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", + "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "dependencies": { - "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", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "packages/browser": { - "name": "@backtrace/browser", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "typescript": "^5.0.4" + "@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" } }, - "packages/node": { - "name": "@backtrace/node", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "@types/node": "^11.15.54", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=11.15.54" + "@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, - "packages/sdk-core": { - "name": "@backtrace/sdk-core", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "typescript": "^5.0.4" + "@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" } - } - }, - "dependencies": { + }, "@backtrace/browser": { "version": "file:packages/browser", "requires": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", "typescript": "^5.0.4" } }, - "@backtrace/node": { - "version": "file:packages/node", + "@backtrace/core": { + "version": "file:packages/core", "requires": { - "@types/node": "^11.15.54", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", "typescript": "^5.0.4" } }, - "@backtrace/sdk-core": { - "version": "file:packages/sdk-core", + "@backtrace/node": { + "version": "file:packages/node", "requires": { + "@types/jest": "*", + "@types/node": "^11.15.54", + "jest": "*", + "ts-jest": "*", "typescript": "^5.0.4" } }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -3103,6 +5501,23 @@ "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } } }, "@eslint/js": { @@ -3148,20 +5563,367 @@ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", + "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", + "dev": true, + "requires": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", + "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", + "dev": true, + "requires": { + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", + "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" + } + }, + "@jest/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", + "dev": true, + "requires": { + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" + } + }, + "@jest/expect-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3" + } + }, + "@jest/fake-timers": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", + "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", + "dev": true, + "requires": { + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + } + }, + "@jest/globals": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", + "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" + } + }, + "@jest/reporters": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", + "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + } + } + }, + "@jest/schemas": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", + "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.25.16" + } + }, + "@jest/source-map": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", + "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", + "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", + "dev": true, + "requires": { + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", + "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", + "dev": true, + "requires": { + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", + "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", + "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "dev": true, + "requires": { + "@jest/schemas": "^29.4.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": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } } } }, @@ -3198,129 +5960,147 @@ "dev": true, "optional": true }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "@sinclair/typebox": { + "version": "0.25.24", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", + "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", "dev": true }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } }, - "@types/node": { - "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", - "dev": true + "@sinonjs/fake-timers": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", + "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true + "@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", - "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@babel/types": "^7.0.0" } }, - "@typescript-eslint/parser": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", - "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "debug": "^4.3.4" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "@typescript-eslint/scope-manager": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", - "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", + "@types/babel__traverse": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", + "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "@babel/types": "^7.20.7" } }, - "@typescript-eslint/type-utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", - "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "@types/node": "*" } }, - "@typescript-eslint/types": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", - "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", - "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@types/istanbul-lib-coverage": "*" } }, - "@typescript-eslint/utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", - "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@types/istanbul-lib-report": "*" } }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", - "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", + "@types/jest": { + "version": "29.5.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz", + "integrity": "sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "eslint-visitor-keys": "^3.3.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" } }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -3346,6 +6126,23 @@ "uri-js": "^4.2.2" } }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -3353,78 +6150,99 @@ "dev": true }, "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "sprintf-js": "~1.0.2" } }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "babel-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", + "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" } }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" } }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } }, "balanced-match": { "version": "1.0.2", @@ -3451,22 +6269,60 @@ "fill-range": "^7.0.1" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node-int64": "^0.4.0" } }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001489", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", + "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", + "dev": true + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3475,8 +6331,99 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } } }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3498,6 +6445,12 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3518,30 +6471,35 @@ "ms": "2.1.2" } }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true }, "doctrine": { "version": "3.0.0", @@ -3558,89 +6516,43 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, + "electron-to-chromium": { + "version": "1.4.408", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", + "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", + "dev": true + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "has": "^1.0.3" + "is-arrayish": "^0.2.1" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true }, "eslint": { @@ -3675,151 +6587,59 @@ "graphemer": "^1.4.0", "ignore": "^5.2.0", "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", + "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", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" }, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "esutils": "^2.0.2" + "argparse": "^2.0.1" } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true } } }, - "eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true + "eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "requires": {} }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" } }, "eslint-visitor-keys": { @@ -3839,6 +6659,12 @@ "eslint-visitor-keys": "^3.4.1" } }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, "esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -3846,14 +6672,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -3863,20 +6681,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { @@ -3885,36 +6695,56 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" } }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -3936,6 +6766,15 @@ "reusify": "^1.0.4" } }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -4005,15 +6844,6 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, "foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -4030,51 +6860,42 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true }, "glob": { "version": "10.2.6", @@ -4127,336 +6948,735 @@ "type-fest": "^0.20.2" } }, - "globalthis": { + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { - "define-properties": "^1.1.3" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { - "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" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3" + "once": "^1.3.0", + "wrappy": "1" } }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "has": "^1.0.3" } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", "dev": true, "requires": { - "get-intrinsic": "^1.1.1" + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "execa": "^5.0.0", + "p-limit": "^3.1.0" } }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", + "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "jest-config": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", + "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", "dev": true, "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + } } }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "jest-diff": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, "requires": { - "has-bigints": "^1.0.1" + "detect-newline": "^3.0.0" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "jest-each": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", + "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "jest-environment-node": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", + "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + } + }, + "jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "jest-haste-map": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", + "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", "dev": true, "requires": { - "has": "^1.0.3" + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", + "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "jest-matcher-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "jest-message-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "jest-mock": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", + "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" } }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "jest-resolve": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", + "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" } }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "jest-resolve-dependencies": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", + "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" } }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "jest-runner": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", + "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "dev": true, + "requires": { + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", + "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + } } }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "jest-snapshot": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", + "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "jest-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", + "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" } }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "jest-validate": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", + "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", "dev": true, "requires": { - "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" + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } } }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "jest-watcher": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", + "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "jest-worker": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", + "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", "dev": true, "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4470,13 +7690,22 @@ "dev": true }, "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true }, "levn": { "version": "0.4.1", @@ -4488,6 +7717,12 @@ "type-check": "~0.4.0" } }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -4497,6 +7732,12 @@ "p-locate": "^5.0.0" } }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -4509,10 +7750,34 @@ "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "dev": true }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "micromatch": { @@ -4525,6 +7790,12 @@ "picomatch": "^2.3.1" } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -4534,12 +7805,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, "minipass": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", @@ -4558,45 +7823,31 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "path-key": "^3.0.0" } }, "once": { @@ -4608,6 +7859,15 @@ "wrappy": "1" } }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -4640,6 +7900,12 @@ "p-limit": "^3.0.2" } }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4649,6 +7915,18 @@ "callsites": "^3.0.0" } }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4683,10 +7961,10 @@ "minipass": "^5.0.0 || ^6.0.2" } }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "picomatch": { @@ -4695,6 +7973,60 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -4707,28 +8039,64 @@ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, + "pretty-format": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, + "pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true }, "resolve": { "version": "1.22.2", @@ -4741,12 +8109,35 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -4771,36 +8162,11 @@ "queue-microtask": "^1.2.2" } }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "shebang-command": { "version": "2.0.0", @@ -4817,29 +8183,65 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, "string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -4887,39 +8289,6 @@ } } }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -4939,9 +8308,15 @@ } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { @@ -4965,12 +8340,51 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4980,31 +8394,46 @@ "is-number": "^7.0.0" } }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "ts-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", + "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", "dev": true, "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "type-check": { @@ -5016,39 +8445,32 @@ "prelude-ls": "^1.2.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, "typescript": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, "uri-js": { @@ -5060,40 +8482,41 @@ "punycode": "^2.1.0" } }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "requires": { - "isexe": "^2.0.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "makeerror": "1.0.12" } }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { - "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", - "is-typed-array": "^1.1.10" + "isexe": "^2.0.0" } }, "word-wrap": { @@ -5119,12 +8542,6 @@ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, "strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", @@ -5147,6 +8564,15 @@ "strip-ansi": "^6.0.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -5172,10 +8598,74 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "yocto-queue": { diff --git a/packages/browser/jest.config.js b/packages/browser/jest.config.js new file mode 100644 index 00000000..b413e106 --- /dev/null +++ b/packages/browser/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/packages/browser/package.json b/packages/browser/package.json index b64427c4..d659ab13 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -32,6 +32,9 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", "typescript": "^5.0.4" } } diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts new file mode 100644 index 00000000..2321dabd --- /dev/null +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -0,0 +1,8 @@ +import { BacktraceClient } from '../../src/'; +describe('Client tests', () => { + it('Should create a client', () => { + const client = new BacktraceClient(); + + expect(client).toBeDefined(); + }); +}); diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json index 9066a7c4..2d2869f2 100644 --- a/packages/browser/tsconfig.json +++ b/packages/browser/tsconfig.json @@ -4,6 +4,7 @@ "rootDir": "./src", "outDir": "./lib" }, + "exclude": ["node_modules", "tests", "lib"], "references": [ { "path": "../sdk-core/tsconfig.json" diff --git a/packages/node/jest.config.js b/packages/node/jest.config.js new file mode 100644 index 00000000..b413e106 --- /dev/null +++ b/packages/node/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/packages/node/package.json b/packages/node/package.json index 66d4a7d3..ab6d4635 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -35,7 +35,10 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@types/jest": "^29.5.1", "@types/node": "^11.15.54", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", "typescript": "^5.0.4" } } diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts new file mode 100644 index 00000000..2321dabd --- /dev/null +++ b/packages/node/tests/client/clientTests.spec.ts @@ -0,0 +1,8 @@ +import { BacktraceClient } from '../../src/'; +describe('Client tests', () => { + it('Should create a client', () => { + const client = new BacktraceClient(); + + expect(client).toBeDefined(); + }); +}); diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json index 3ec6969c..42e1d91e 100644 --- a/packages/node/tsconfig.json +++ b/packages/node/tsconfig.json @@ -4,6 +4,7 @@ "outDir": "./lib", "rootDir": "./src" }, + "exclude": ["node_modules", "tests", "lib"], "references": [ { "path": "../sdk-core/tsconfig.json" diff --git a/packages/sdk-core/jest.config.js b/packages/sdk-core/jest.config.js new file mode 100644 index 00000000..757cbb71 --- /dev/null +++ b/packages/sdk-core/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index c51b8018..2863f95e 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -32,6 +32,9 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", "typescript": "^5.0.4" } } diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts new file mode 100644 index 00000000..803e5db9 --- /dev/null +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -0,0 +1,8 @@ +import { BacktraceCoreClient } from '../../src/'; +describe('Client tests', () => { + it('Should create a client', () => { + const client = new BacktraceCoreClient(); + + expect(client).toBeDefined(); + }); +}); From 3960fe9ea8d3fda79ecfc10dc472c6c7d8ad82d7 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 29 May 2023 16:29:04 +0200 Subject: [PATCH 022/291] CICD setup (#4) * Test setup * Test CICD * package-lock creation * Typo --- .github/workflows/test.yml | 26 + .prettierignore | 1 + package-lock.json | 4688 ++++++++++++++++++++---------------- package.json | 1 + 4 files changed, 2701 insertions(+), 2015 deletions(-) create mode 100644 .github/workflows/test.yml create mode 100644 .prettierignore diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..dd01db54 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,26 @@ +name: Node.js CI + +on: + push: + branches: [main, dev] + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x, 18.x, 20.x] + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: npm ci + - run: npm run build + - run: npm run lint + - run: npm run format:check + - run: npm test diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..8b69c4d9 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +**/lib diff --git a/package-lock.json b/package-lock.json index c4acaf93..525096ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,12 @@ "packages/*" ], "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.7", + "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", "typescript": "^5.0.4" @@ -21,9 +25,8 @@ }, "node_modules/@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -34,9 +37,8 @@ }, "node_modules/@babel/code-frame": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -45,30 +47,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", - "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", + "version": "7.22.0", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", - "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "version": "7.22.1", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -85,17 +85,34 @@ }, "node_modules/@babel/core/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, "node_modules/@babel/generator": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", - "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", + "version": "7.22.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -105,12 +122,11 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "version": "7.22.1", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.21.5", + "@babel/compat-data": "^7.22.0", "@babel/helper-validator-option": "^7.21.0", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", @@ -125,27 +141,37 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.1", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.20.7", "@babel/types": "^7.21.0" @@ -156,9 +182,8 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -168,9 +193,8 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.21.4" }, @@ -179,19 +203,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.1", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-module-imports": "^7.21.4", "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" }, "engines": { "node": ">=6.9.0" @@ -199,18 +222,16 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.21.5" }, @@ -220,9 +241,8 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -232,40 +252,36 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.0", + "@babel/types": "^7.22.0" }, "engines": { "node": ">=6.9.0" @@ -273,9 +289,8 @@ }, "node_modules/@babel/highlight": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -287,9 +302,8 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -299,9 +313,8 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -313,42 +326,37 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -357,10 +365,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", - "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "version": "7.22.0", "dev": true, + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -370,9 +377,8 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -382,9 +388,8 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -394,9 +399,8 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -406,9 +410,8 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -418,9 +421,8 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -430,9 +432,8 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" }, @@ -445,9 +446,8 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -457,9 +457,8 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -469,9 +468,8 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -481,9 +479,8 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -493,9 +490,8 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -505,9 +501,8 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -517,9 +512,8 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -532,9 +526,8 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" }, @@ -547,9 +540,8 @@ }, "node_modules/@babel/template": { "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.21.4", "@babel/parser": "^7.21.9", @@ -560,19 +552,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "version": "7.22.1", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/parser": "^7.22.0", + "@babel/types": "^7.22.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -582,18 +573,16 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.0", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.21.5", "@babel/helper-validator-identifier": "^7.19.1", @@ -607,25 +596,23 @@ "resolved": "packages/browser", "link": true }, - "node_modules/@backtrace/core": { - "resolved": "packages/core", - "link": true - }, "node_modules/@backtrace/node": { "resolved": "packages/node", "link": true }, + "node_modules/@backtrace/sdk-core": { + "resolved": "packages/sdk-core", + "link": true + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -638,18 +625,16 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -668,38 +653,18 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@eslint/js": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -711,9 +676,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -724,15 +688,13 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -747,9 +709,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -759,9 +720,8 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -774,9 +734,8 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -788,11 +747,18 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -801,11 +767,22 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -815,9 +792,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -830,9 +806,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -842,27 +817,24 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", - "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "@types/node": "*", @@ -877,9 +849,8 @@ }, "node_modules/@jest/core": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", - "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.5.0", "@jest/reporters": "^29.5.0", @@ -924,9 +895,8 @@ }, "node_modules/@jest/environment": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", - "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.5.0", "@jest/types": "^29.5.0", @@ -939,9 +909,8 @@ }, "node_modules/@jest/expect": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.5.0", "jest-snapshot": "^29.5.0" @@ -952,9 +921,8 @@ }, "node_modules/@jest/expect-utils": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", - "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.4.3" }, @@ -964,9 +932,8 @@ }, "node_modules/@jest/fake-timers": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", - "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "@sinonjs/fake-timers": "^10.0.2", @@ -981,9 +948,8 @@ }, "node_modules/@jest/globals": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", - "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.5.0", "@jest/expect": "^29.5.0", @@ -996,9 +962,8 @@ }, "node_modules/@jest/reporters": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", - "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.5.0", @@ -1039,9 +1004,8 @@ }, "node_modules/@jest/reporters/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1059,9 +1023,8 @@ }, "node_modules/@jest/schemas": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.25.16" }, @@ -1071,9 +1034,8 @@ }, "node_modules/@jest/source-map": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", - "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", @@ -1085,9 +1047,8 @@ }, "node_modules/@jest/test-result": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", - "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.5.0", "@jest/types": "^29.5.0", @@ -1100,9 +1061,8 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", - "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.5.0", "graceful-fs": "^4.2.9", @@ -1115,9 +1075,8 @@ }, "node_modules/@jest/transform": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", - "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.5.0", @@ -1141,9 +1100,8 @@ }, "node_modules/@jest/types": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.4.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1158,9 +1116,8 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1172,33 +1129,29 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -1206,15 +1159,13 @@ }, "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1225,18 +1176,16 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1247,9 +1196,8 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -1257,33 +1205,29 @@ }, "node_modules/@sinclair/typebox": { "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", - "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/@types/babel__core": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1294,18 +1238,16 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -1313,169 +1255,349 @@ }, "node_modules/@types/babel__traverse": { "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", - "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { "version": "29.5.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz", - "integrity": "sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/prettier": { "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "dev": true, + "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.7", "dev": true, - "bin": { - "acorn": "bin/acorn" + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@typescript-eslint/parser": { + "version": "5.59.7", "dev": true, + "license": "BSD-2-Clause", "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" + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.7", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.7", "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@typescript-eslint/types": { + "version": "5.59.7", "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "4.3.0", "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -1483,9 +1605,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1495,19 +1616,97 @@ } }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/babel-jest": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", - "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.5.0", "@types/babel__core": "^7.1.14", @@ -1526,9 +1725,8 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -1542,9 +1740,8 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -1557,9 +1754,8 @@ }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -1580,9 +1776,8 @@ }, "node_modules/babel-preset-jest": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.5.0", "babel-preset-current-node-syntax": "^1.0.0" @@ -1596,15 +1791,13 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1612,9 +1805,8 @@ }, "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -1624,8 +1816,6 @@ }, "node_modules/browserslist": { "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "funding": [ { @@ -1637,6 +1827,7 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001449", "electron-to-chromium": "^1.4.284", @@ -1652,9 +1843,8 @@ }, "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -1664,41 +1854,47 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", "dev": true, "funding": [ { @@ -1713,13 +1909,13 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1731,34 +1927,16 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ci-info": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, "funding": [ { @@ -1766,21 +1944,20 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -1790,32 +1967,15 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1827,9 +1987,8 @@ }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1844,9 +2003,8 @@ }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -1854,15 +2012,13 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1872,27 +2028,23 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1904,9 +2056,8 @@ }, "node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1921,48 +2072,68 @@ }, "node_modules/dedent": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/define-properties": { + "version": "1.2.0", "dev": true, - "engines": { + "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { "node": ">=8" } }, "node_modules/diff-sequences": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -1972,21 +2143,18 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { "version": "1.4.408", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", - "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1996,42 +2164,124 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-abstract": { + "version": "1.21.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "version": "4.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", @@ -2085,9 +2335,8 @@ }, "node_modules/eslint-config-prettier": { "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -2095,27 +2344,124 @@ "eslint": ">=7.0.0" } }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, "node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "5.1.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8.0.0" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2123,41 +2469,33 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, "node_modules/espree": { "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", @@ -2172,9 +2510,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2185,9 +2522,8 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2195,11 +2531,18 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2207,29 +2550,34 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -2250,14 +2598,11 @@ }, "node_modules/execa/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -2265,9 +2610,8 @@ }, "node_modules/expect": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.5.0", "jest-get-type": "^29.4.3", @@ -2281,45 +2625,65 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2329,9 +2693,8 @@ }, "node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2341,9 +2704,8 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2357,9 +2719,8 @@ }, "node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -2370,9 +2731,8 @@ }, "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2390,9 +2750,8 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -2405,15 +2764,21 @@ }, "node_modules/flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } }, "node_modules/foreground-child": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -2427,16 +2792,13 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2447,42 +2809,76 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/get-intrinsic": { + "version": "1.2.1", "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2490,11 +2886,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob": { "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -2514,9 +2924,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2526,18 +2935,16 @@ }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/glob/node_modules/minimatch": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2550,9 +2957,8 @@ }, "node_modules/globals": { "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2563,23 +2969,69 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "dev": true, + "license": "MIT" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -2587,44 +3039,94 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2638,9 +3140,8 @@ }, "node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -2657,18 +3158,16 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2676,21 +3175,81 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-core-module": { "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -2698,38 +3257,48 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -2737,29 +3306,77 @@ "node": ">=0.10.0" } }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -2767,26 +3384,80 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -2798,11 +3469,18 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", @@ -2814,9 +3492,8 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -2828,9 +3505,8 @@ }, "node_modules/istanbul-reports": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -2841,9 +3517,8 @@ }, "node_modules/jackspeak": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -2859,9 +3534,8 @@ }, "node_modules/jest": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.5.0", "@jest/types": "^29.5.0", @@ -2885,9 +3559,8 @@ }, "node_modules/jest-changed-files": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "p-limit": "^3.1.0" @@ -2898,9 +3571,8 @@ }, "node_modules/jest-circus": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", - "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.5.0", "@jest/expect": "^29.5.0", @@ -2929,9 +3601,8 @@ }, "node_modules/jest-cli": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", - "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.5.0", "@jest/test-result": "^29.5.0", @@ -2963,9 +3634,8 @@ }, "node_modules/jest-config": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", - "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.5.0", @@ -3008,9 +3678,8 @@ }, "node_modules/jest-config/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3028,9 +3697,8 @@ }, "node_modules/jest-diff": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", - "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.4.3", @@ -3043,9 +3711,8 @@ }, "node_modules/jest-docblock": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -3055,9 +3722,8 @@ }, "node_modules/jest-each": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", - "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "chalk": "^4.0.0", @@ -3071,9 +3737,8 @@ }, "node_modules/jest-environment-node": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", - "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.5.0", "@jest/fake-timers": "^29.5.0", @@ -3088,18 +3753,16 @@ }, "node_modules/jest-get-type": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", - "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "@types/graceful-fs": "^4.1.3", @@ -3122,9 +3785,8 @@ }, "node_modules/jest-leak-detector": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", - "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.4.3", "pretty-format": "^29.5.0" @@ -3135,9 +3797,8 @@ }, "node_modules/jest-matcher-utils": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", - "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.5.0", @@ -3150,9 +3811,8 @@ }, "node_modules/jest-message-util": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", - "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.5.0", @@ -3170,9 +3830,8 @@ }, "node_modules/jest-mock": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", - "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "@types/node": "*", @@ -3184,9 +3843,8 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -3201,18 +3859,16 @@ }, "node_modules/jest-regex-util": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", - "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -3230,9 +3886,8 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", - "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.4.3", "jest-snapshot": "^29.5.0" @@ -3243,9 +3898,8 @@ }, "node_modules/jest-runner": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", - "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.5.0", "@jest/environment": "^29.5.0", @@ -3275,9 +3929,8 @@ }, "node_modules/jest-runtime": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", - "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.5.0", "@jest/fake-timers": "^29.5.0", @@ -3308,9 +3961,8 @@ }, "node_modules/jest-runtime/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3326,11 +3978,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/jest-snapshot": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", - "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -3360,44 +4019,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-util": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", - "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "@types/node": "*", @@ -3412,9 +4037,8 @@ }, "node_modules/jest-validate": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", - "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.5.0", "camelcase": "^6.2.0", @@ -3429,9 +4053,8 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3441,9 +4064,8 @@ }, "node_modules/jest-watcher": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", - "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.5.0", "@jest/types": "^29.5.0", @@ -3460,9 +4082,8 @@ }, "node_modules/jest-worker": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", - "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.5.0", @@ -3475,9 +4096,8 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3490,18 +4110,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -3509,9 +4126,8 @@ }, "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -3521,57 +4137,50 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "version": "1.0.2", "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, "bin": { "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" } }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3582,15 +4191,13 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -3603,30 +4210,26 @@ }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lru-cache": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "dev": true, + "license": "ISC", "engines": { "node": "14 || >=16.14" } }, "node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -3637,32 +4240,44 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } }, "node_modules/micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -3673,18 +4288,16 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3692,53 +4305,59 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -3746,20 +4365,67 @@ "node": ">=8" } }, + "node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -3772,9 +4438,8 @@ }, "node_modules/optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -3789,9 +4454,8 @@ }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3804,9 +4468,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3819,18 +4482,16 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3840,9 +4501,8 @@ }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -3858,42 +4518,37 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-scurry": { "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^9.1.1", "minipass": "^5.0.0 || ^6.0.2" @@ -3905,17 +4560,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3925,18 +4586,16 @@ }, "node_modules/pirates": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -3946,9 +4605,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -3959,9 +4617,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -3971,9 +4628,8 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -3986,9 +4642,8 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -3998,18 +4653,16 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -4022,9 +4675,8 @@ }, "node_modules/pretty-format": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.4.3", "ansi-styles": "^5.0.0", @@ -4036,9 +4688,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4048,9 +4699,8 @@ }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -4061,17 +4711,14 @@ }, "node_modules/punycode": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pure-rand": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true, "funding": [ { @@ -4082,12 +4729,11 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -4102,28 +4748,42 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.11.0", "path-parse": "^1.0.7", @@ -4138,9 +4798,8 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -4150,36 +4809,32 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4187,9 +4842,8 @@ }, "node_modules/rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^10.2.5" }, @@ -4205,8 +4859,6 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -4222,24 +4874,53 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.5.1", "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4249,18 +4930,29 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -4270,33 +4962,29 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -4304,15 +4992,13 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -4320,11 +5006,18 @@ "node": ">=10" } }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -4335,9 +5028,8 @@ }, "node_modules/string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4353,9 +5045,8 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4367,15 +5058,13 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4385,9 +5074,8 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4398,11 +5086,52 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4413,9 +5142,8 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4424,28 +5152,25 @@ } }, "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "version": "3.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -4455,9 +5180,8 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4467,9 +5191,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4479,9 +5202,8 @@ }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -4493,9 +5215,8 @@ }, "node_modules/test-exclude/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4513,30 +5234,26 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4546,9 +5263,8 @@ }, "node_modules/ts-jest": { "version": "29.1.0", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", - "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", "dev": true, + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -4587,44 +5303,51 @@ } } }, - "node_modules/ts-jest/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", "dev": true, - "dependencies": { - "yallist": "^4.0.0" + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "node_modules/tsconfig-paths": { + "version": "3.14.2", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" }, "engines": { - "node": ">=10" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/ts-jest/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4634,18 +5357,16 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -4653,11 +5374,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4666,10 +5399,22 @@ "node": ">=12.20" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -4685,6 +5430,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -4698,18 +5444,16 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/v8-to-istanbul": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -4721,24 +5465,21 @@ }, "node_modules/v8-to-istanbul/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4749,20 +5490,52 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "dev": true, + "license": "MIT", + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/word-wrap": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -4778,9 +5551,8 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4793,32 +5565,15 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4830,9 +5585,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4840,11 +5594,21 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4857,15 +5621,13 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -4876,30 +5638,26 @@ }, "node_modules/write-file-atomic/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "version": "4.0.0", + "dev": true, + "license": "ISC" }, "node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -4915,24 +5673,21 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4944,9 +5699,8 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4965,38 +5719,36 @@ "typescript": "^5.0.4" } }, - "packages/core": { - "name": "@backtrace/core", + "packages/node": { + "name": "@backtrace/node", "version": "0.0.1", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", + "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "engines": { + "node": ">=11.15.54" } }, - "packages/node": { - "name": "@backtrace/node", + "packages/sdk-core": { + "name": "@backtrace/sdk-core", "version": "0.0.1", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", - "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" - }, - "engines": { - "node": ">=11.15.54" } } }, "dependencies": { "@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -5005,35 +5757,29 @@ }, "@babel/code-frame": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "requires": { "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", - "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", + "version": "7.22.0", "dev": true }, "@babel/core": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", - "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "version": "7.22.1", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -5043,31 +5789,33 @@ "dependencies": { "convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "dev": true + }, + "semver": { + "version": "6.3.0", "dev": true } } }, "@babel/generator": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", - "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", + "version": "7.22.0", "dev": true, "requires": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" } }, "@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "version": "7.22.1", "dev": true, "requires": { - "@babel/compat-data": "^7.21.5", + "@babel/compat-data": "^7.22.0", "@babel/helper-validator-option": "^7.21.0", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", @@ -5076,25 +5824,27 @@ "dependencies": { "lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" } + }, + "semver": { + "version": "6.3.0", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "dev": true } } }, "@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.1", "dev": true }, "@babel/helper-function-name": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "requires": { "@babel/template": "^7.20.7", @@ -5103,8 +5853,6 @@ }, "@babel/helper-hoist-variables": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { "@babel/types": "^7.18.6" @@ -5112,39 +5860,31 @@ }, "@babel/helper-module-imports": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "requires": { "@babel/types": "^7.21.4" } }, "@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.1", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-module-imports": "^7.21.4", "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" } }, "@babel/helper-plugin-utils": { "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", "dev": true }, "@babel/helper-simple-access": { "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, "requires": { "@babel/types": "^7.21.5" @@ -5152,8 +5892,6 @@ }, "@babel/helper-split-export-declaration": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "requires": { "@babel/types": "^7.18.6" @@ -5161,37 +5899,27 @@ }, "@babel/helper-string-parser": { "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", "dev": true }, "@babel/helper-validator-identifier": { "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true }, "@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.0", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.0", + "@babel/types": "^7.22.0" } }, "@babel/highlight": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", @@ -5201,8 +5929,6 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -5210,8 +5936,6 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -5221,8 +5945,6 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -5230,26 +5952,18 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -5258,15 +5972,11 @@ } }, "@babel/parser": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", - "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "version": "7.22.0", "dev": true }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5274,8 +5984,6 @@ }, "@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5283,8 +5991,6 @@ }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" @@ -5292,8 +5998,6 @@ }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -5301,8 +6005,6 @@ }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5310,8 +6012,6 @@ }, "@babel/plugin-syntax-jsx": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.20.2" @@ -5319,8 +6019,6 @@ }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -5328,8 +6026,6 @@ }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5337,8 +6033,6 @@ }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -5346,8 +6040,6 @@ }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5355,8 +6047,6 @@ }, "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5364,8 +6054,6 @@ }, "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -5373,8 +6061,6 @@ }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -5382,8 +6068,6 @@ }, "@babel/plugin-syntax-typescript": { "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.20.2" @@ -5391,8 +6075,6 @@ }, "@babel/template": { "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dev": true, "requires": { "@babel/code-frame": "^7.21.4", @@ -5401,35 +6083,29 @@ } }, "@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "version": "7.22.1", "dev": true, "requires": { "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/parser": "^7.22.0", + "@babel/types": "^7.22.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } }, "@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.0", "dev": true, "requires": { "@babel/helper-string-parser": "^7.21.5", @@ -5446,35 +6122,31 @@ "typescript": "^5.0.4" } }, - "@backtrace/core": { - "version": "file:packages/core", + "@backtrace/node": { + "version": "file:packages/node", "requires": { "@types/jest": "^29.5.1", + "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } }, - "@backtrace/node": { - "version": "file:packages/node", + "@backtrace/sdk-core": { + "version": "file:packages/sdk-core", "requires": { - "@types/jest": "*", - "@types/node": "^11.15.54", - "jest": "*", - "ts-jest": "*", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", "typescript": "^5.0.4" } }, "@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, "@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" @@ -5482,54 +6154,29 @@ }, "@eslint-community/regexpp": { "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true }, "@eslint/eslintrc": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -5539,20 +6186,14 @@ }, "@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { "string-width": "^5.1.2", @@ -5565,14 +6206,10 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -5582,8 +6219,6 @@ }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -5593,20 +6228,31 @@ "resolve-from": "^5.0.0" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, + "js-yaml": { + "version": "3.14.1", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -5614,8 +6260,6 @@ }, "p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -5623,8 +6267,6 @@ }, "p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -5632,22 +6274,16 @@ }, "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "@jest/console": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", - "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -5660,8 +6296,6 @@ }, "@jest/core": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", - "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", "dev": true, "requires": { "@jest/console": "^29.5.0", @@ -5696,8 +6330,6 @@ }, "@jest/environment": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", - "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", "dev": true, "requires": { "@jest/fake-timers": "^29.5.0", @@ -5708,8 +6340,6 @@ }, "@jest/expect": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", "dev": true, "requires": { "expect": "^29.5.0", @@ -5718,8 +6348,6 @@ }, "@jest/expect-utils": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", - "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", "dev": true, "requires": { "jest-get-type": "^29.4.3" @@ -5727,8 +6355,6 @@ }, "@jest/fake-timers": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", - "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -5741,8 +6367,6 @@ }, "@jest/globals": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", - "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", "dev": true, "requires": { "@jest/environment": "^29.5.0", @@ -5753,8 +6377,6 @@ }, "@jest/reporters": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", - "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", @@ -5785,8 +6407,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -5801,8 +6421,6 @@ }, "@jest/schemas": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", "dev": true, "requires": { "@sinclair/typebox": "^0.25.16" @@ -5810,8 +6428,6 @@ }, "@jest/source-map": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", - "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.15", @@ -5821,8 +6437,6 @@ }, "@jest/test-result": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", - "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", "dev": true, "requires": { "@jest/console": "^29.5.0", @@ -5833,8 +6447,6 @@ }, "@jest/test-sequencer": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", - "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", "dev": true, "requires": { "@jest/test-result": "^29.5.0", @@ -5845,8 +6457,6 @@ }, "@jest/transform": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", - "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -5868,8 +6478,6 @@ }, "@jest/types": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", "dev": true, "requires": { "@jest/schemas": "^29.4.3", @@ -5882,8 +6490,6 @@ }, "@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -5893,26 +6499,18 @@ }, "@jridgewell/resolve-uri": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, "@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@jridgewell/trace-mapping": { "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "requires": { "@jridgewell/resolve-uri": "3.1.0", @@ -5921,16 +6519,12 @@ "dependencies": { "@jridgewell/sourcemap-codec": { "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true } } }, "@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", @@ -5939,14 +6533,10 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -5955,21 +6545,15 @@ }, "@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "optional": true }, "@sinclair/typebox": { "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", "dev": true }, "@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -5977,8 +6561,6 @@ }, "@sinonjs/fake-timers": { "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", - "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0" @@ -5986,8 +6568,6 @@ }, "@types/babel__core": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "requires": { "@babel/parser": "^7.20.7", @@ -5999,8 +6579,6 @@ }, "@types/babel__generator": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { "@babel/types": "^7.0.0" @@ -6008,8 +6586,6 @@ }, "@types/babel__template": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -6018,8 +6594,6 @@ }, "@types/babel__traverse": { "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", - "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", "dev": true, "requires": { "@babel/types": "^7.20.7" @@ -6027,8 +6601,6 @@ }, "@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "requires": { "@types/node": "*" @@ -6036,14 +6608,10 @@ }, "@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" @@ -6051,8 +6619,6 @@ }, "@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "requires": { "@types/istanbul-lib-report": "*" @@ -6060,36 +6626,38 @@ }, "@types/jest": { "version": "29.5.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz", - "integrity": "sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==", "dev": true, "requires": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "dev": true + }, "@types/node": { "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", "dev": true }, "@types/prettier": { "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", "dev": true }, "@types/stack-utils": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, "@types/yargs": { "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -6097,27 +6665,102 @@ }, "@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.7", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.7", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.7", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + } + }, "acorn": { "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, "acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -6128,8 +6771,6 @@ }, "ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { "type-fest": "^0.21.3" @@ -6137,28 +6778,23 @@ "dependencies": { "type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, "ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, "anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -6166,18 +6802,58 @@ } }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" } }, + "available-typed-arrays": { + "version": "1.0.5", + "dev": true + }, "babel-jest": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", - "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", "dev": true, "requires": { "@jest/transform": "^29.5.0", @@ -6191,8 +6867,6 @@ }, "babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -6204,8 +6878,6 @@ }, "babel-plugin-jest-hoist": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -6216,8 +6888,6 @@ }, "babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", @@ -6236,8 +6906,6 @@ }, "babel-preset-jest": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, "requires": { "babel-plugin-jest-hoist": "^29.5.0", @@ -6246,14 +6914,10 @@ }, "balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -6262,8 +6926,6 @@ }, "braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" @@ -6271,8 +6933,6 @@ }, "browserslist": { "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001449", @@ -6283,8 +6943,6 @@ }, "bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "requires": { "fast-json-stable-stringify": "2.x" @@ -6292,8 +6950,6 @@ }, "bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { "node-int64": "^0.4.0" @@ -6301,71 +6957,50 @@ }, "buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "call-bind": { + "version": "1.0.2", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "caniuse-lite": { "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", "dev": true }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } } }, "char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, "ci-info": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true }, "cjs-module-lexer": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", "dev": true }, "cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -6373,25 +7008,12 @@ "wrap-ansi": "^7.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -6401,8 +7023,6 @@ }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -6414,20 +7034,14 @@ }, "co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "collect-v8-coverage": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -6435,26 +7049,18 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -6464,8 +7070,6 @@ }, "debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -6473,38 +7077,41 @@ }, "dedent": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, + "define-properties": { + "version": "1.2.0", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, "detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, "diff-sequences": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -6512,53 +7119,102 @@ }, "eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, "electron-to-chromium": { "version": "1.4.408", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", - "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", "dev": true }, "emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, "emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, + "es-abstract": { + "version": "1.21.2", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "version": "4.0.0", "dev": true }, "eslint": { "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -6602,56 +7258,118 @@ "text-table": "^0.2.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "eslint-scope": { + "version": "7.2.0", "dev": true, "requires": { - "argparse": "^2.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } + }, + "estraverse": { + "version": "5.3.0", + "dev": true } } }, "eslint-config-prettier": { "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, "requires": {} }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "dev": true + } + } + }, + "eslint-plugin-local-rules": { + "version": "1.3.2", + "dev": true + }, "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "5.1.1", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true }, "espree": { "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -6661,44 +7379,44 @@ }, "esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "version": "4.3.0", "dev": true }, "esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -6714,22 +7432,16 @@ "dependencies": { "signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expect": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", "dev": true, "requires": { "@jest/expect-utils": "^29.5.0", @@ -6741,26 +7453,38 @@ }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-glob": { + "version": "3.2.12", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -6768,8 +7492,6 @@ }, "fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -6777,8 +7499,6 @@ }, "file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -6786,8 +7506,6 @@ }, "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -6795,8 +7513,6 @@ }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", @@ -6805,8 +7521,6 @@ }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -6815,8 +7529,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -6829,8 +7541,6 @@ }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -6840,14 +7550,17 @@ }, "flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "for-each": { + "version": "0.3.3", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "foreground-child": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -6856,51 +7569,67 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", "dev": true }, "gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.2.1", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, "get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, + "get-symbol-description": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "glob": { "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -6912,8 +7641,6 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -6921,8 +7648,6 @@ }, "minimatch": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -6932,8 +7657,6 @@ }, "glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" @@ -6941,62 +7664,100 @@ }, "globals": { "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, + "globalthis": { + "version": "1.0.3", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", "dev": true }, "graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.2", + "dev": true + }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -7005,8 +7766,6 @@ }, "import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -7015,14 +7774,10 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -7031,86 +7786,162 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "internal-slot": { + "version": "1.0.5", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", "dev": true }, "is-core-module": { "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { "has": "^1.0.3" } }, + "is-date-object": { + "version": "1.0.5", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, "is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, + "is-negative-zero": { + "version": "2.0.2", + "dev": true + }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-number-object": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, + "is-regex": { + "version": "1.1.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, + "is-string": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "dev": true, + "requires": { + "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" + } + }, + "is-weakref": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true }, "istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -7118,12 +7949,16 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "dev": true + } } }, "istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", @@ -7133,8 +7968,6 @@ }, "istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -7144,8 +7977,6 @@ }, "istanbul-reports": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -7154,8 +7985,6 @@ }, "jackspeak": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", @@ -7164,8 +7993,6 @@ }, "jest": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", "dev": true, "requires": { "@jest/core": "^29.5.0", @@ -7176,8 +8003,6 @@ }, "jest-changed-files": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, "requires": { "execa": "^5.0.0", @@ -7186,8 +8011,6 @@ }, "jest-circus": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", - "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", "dev": true, "requires": { "@jest/environment": "^29.5.0", @@ -7214,8 +8037,6 @@ }, "jest-cli": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", - "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", "dev": true, "requires": { "@jest/core": "^29.5.0", @@ -7234,8 +8055,6 @@ }, "jest-config": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", - "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -7264,8 +8083,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -7280,8 +8097,6 @@ }, "jest-diff": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", - "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -7292,8 +8107,6 @@ }, "jest-docblock": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, "requires": { "detect-newline": "^3.0.0" @@ -7301,8 +8114,6 @@ }, "jest-each": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", - "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -7314,8 +8125,6 @@ }, "jest-environment-node": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", - "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", "dev": true, "requires": { "@jest/environment": "^29.5.0", @@ -7328,14 +8137,10 @@ }, "jest-get-type": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true }, "jest-haste-map": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", - "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -7354,8 +8159,6 @@ }, "jest-leak-detector": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", - "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", "dev": true, "requires": { "jest-get-type": "^29.4.3", @@ -7364,8 +8167,6 @@ }, "jest-matcher-utils": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", - "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -7376,8 +8177,6 @@ }, "jest-message-util": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", - "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", @@ -7393,8 +8192,6 @@ }, "jest-mock": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", - "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -7404,21 +8201,15 @@ }, "jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "requires": {} }, "jest-regex-util": { "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true }, "jest-resolve": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", - "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -7434,8 +8225,6 @@ }, "jest-resolve-dependencies": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", - "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", "dev": true, "requires": { "jest-regex-util": "^29.4.3", @@ -7444,8 +8233,6 @@ }, "jest-runner": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", - "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", "dev": true, "requires": { "@jest/console": "^29.5.0", @@ -7473,8 +8260,6 @@ }, "jest-runtime": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", - "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", "dev": true, "requires": { "@jest/environment": "^29.5.0", @@ -7503,8 +8288,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -7514,13 +8297,15 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } + }, + "strip-bom": { + "version": "4.0.0", + "dev": true } } }, "jest-snapshot": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", - "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -7546,38 +8331,10 @@ "natural-compare": "^1.4.0", "pretty-format": "^29.5.0", "semver": "^7.3.5" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "jest-util": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", - "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -7590,8 +8347,6 @@ }, "jest-validate": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", - "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", "dev": true, "requires": { "@jest/types": "^29.5.0", @@ -7604,16 +8359,12 @@ "dependencies": { "camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true } } }, "jest-watcher": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", - "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", "dev": true, "requires": { "@jest/test-result": "^29.5.0", @@ -7628,8 +8379,6 @@ }, "jest-worker": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", - "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", "dev": true, "requires": { "@types/node": "*", @@ -7640,8 +8389,6 @@ "dependencies": { "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -7651,66 +8398,48 @@ }, "js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "version": "1.0.2", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } }, "kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, "leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, "levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -7719,14 +8448,10 @@ }, "lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" @@ -7734,41 +8459,35 @@ }, "lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lru-cache": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "dev": true }, "make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "dev": true + } } }, "make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, "makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { "tmpl": "1.0.5" @@ -7776,14 +8495,14 @@ }, "merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", "dev": true }, "micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -7792,68 +8511,83 @@ }, "mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.8", + "dev": true + }, "minipass": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", "dev": true }, "node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-releases": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" } }, + "object-inspect": { + "version": "1.12.3", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -7861,8 +8595,6 @@ }, "onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -7870,8 +8602,6 @@ }, "optionator": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -7884,8 +8614,6 @@ }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -7893,8 +8621,6 @@ }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" @@ -7902,14 +8628,10 @@ }, "p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -7917,8 +8639,6 @@ }, "parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -7929,60 +8649,46 @@ }, "path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-scurry": { "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, "requires": { "lru-cache": "^9.1.1", "minipass": "^5.0.0 || ^6.0.2" } }, + "path-type": { + "version": "4.0.0", + "dev": true + }, "picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pirates": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true }, "pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -7990,8 +8696,6 @@ "dependencies": { "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -8000,8 +8704,6 @@ }, "locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -8009,8 +8711,6 @@ }, "p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -8018,8 +8718,6 @@ }, "p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -8029,20 +8727,14 @@ }, "prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, "pretty-format": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", "dev": true, "requires": { "@jest/schemas": "^29.4.3", @@ -8052,16 +8744,12 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } }, "prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -8070,38 +8758,35 @@ }, "punycode": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "pure-rand": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true }, "queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "regexp.prototype.flags": { + "version": "1.5.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "resolve": { "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { "is-core-module": "^2.11.0", @@ -8111,8 +8796,6 @@ }, "resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -8120,34 +8803,24 @@ "dependencies": { "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, "reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -8155,23 +8828,38 @@ }, "run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, + "safe-regex-test": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "version": "7.5.1", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -8179,38 +8867,35 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true }, "sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -8219,23 +8904,23 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "dev": true + } } }, "string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { "char-regex": "^1.0.2", @@ -8244,8 +8929,6 @@ }, "string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { "eastasianwidth": "^0.2.0", @@ -8255,14 +8938,10 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -8272,8 +8951,6 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -8283,16 +8960,39 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true } } }, + "string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" @@ -8300,35 +9000,25 @@ }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "version": "3.0.0", "dev": true }, "strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -8336,14 +9026,10 @@ }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -8353,8 +9039,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -8369,26 +9053,18 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -8396,8 +9072,6 @@ }, "ts-jest": { "version": "29.1.0", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", - "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", "dev": true, "requires": { "bs-logger": "0.x", @@ -8410,36 +9084,35 @@ "yargs-parser": "^21.0.1" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "json5": { + "version": "2.2.3", "dev": true } } }, + "tsconfig-paths": { + "version": "3.14.2", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -8447,26 +9120,37 @@ }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typed-array-length": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, "typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true }, + "unbox-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, "update-browserslist-db": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -8475,8 +9159,6 @@ }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -8484,8 +9166,6 @@ }, "v8-to-istanbul": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.12", @@ -8495,16 +9175,12 @@ "dependencies": { "convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true } } }, "walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { "makeerror": "1.0.12" @@ -8512,23 +9188,40 @@ }, "which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "dev": true, + "requires": { + "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", + "is-typed-array": "^1.1.10" + } + }, "word-wrap": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { "ansi-styles": "^6.1.0", @@ -8538,14 +9231,14 @@ "dependencies": { "ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", "dev": true }, "strip-ansi": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -8555,8 +9248,6 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -8564,25 +9255,12 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -8594,14 +9272,10 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -8610,28 +9284,20 @@ "dependencies": { "signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", "dev": true }, "yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { "cliui": "^8.0.1", @@ -8645,14 +9311,10 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -8664,14 +9326,10 @@ }, "yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/package.json b/package.json index b8bb413b..be3bbecd 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "build": "tsc -b ./tsconfig.packages.json", "clean": "tsc -b --clean && rimraf \"packages/*/lib\" \"lib\"", "format": "prettier --write '**/*.ts'", + "format:check": "prettier --check '**/*.ts'", "lint": "eslint . --ext .ts", "rebuild": "npm run clean && npm run build", "watch": "tsc -b ./tsconfig.packages.json -w", From 9e8c6adb1101f067c03164e3f807dab8ed2eda8f Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 31 May 2023 16:24:32 +0200 Subject: [PATCH 023/291] Backtrace report generation (#5) * Backtrace report generation * Use const * Introduce error type * Don't parse stack trace * Allow to define library generated frames * Use instanceof BacktraceReporT * Allow to overload some Backtrace report properties * Comment update --- packages/sdk-core/src/BacktraceCoreClient.ts | 51 +++++++++++++++- packages/sdk-core/src/index.ts | 1 + .../src/model/report/BacktraceErrorType.ts | 1 + .../src/model/report/BacktraceReport.ts | 61 +++++++++++++++++-- .../sdk-core/tests/client/clientTests.spec.ts | 21 ++++++- .../sdk-core/tests/report/reportTests.spec.ts | 35 +++++++++++ tsconfig.base.json | 2 +- 7 files changed, 162 insertions(+), 10 deletions(-) create mode 100644 packages/sdk-core/src/model/report/BacktraceErrorType.ts create mode 100644 packages/sdk-core/tests/report/reportTests.spec.ts diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 47fcb6b7..52cf2167 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,7 +1,54 @@ +import { BacktraceAttachment } from './model/report/BacktraceAttachment'; import { BacktraceReport } from './model/report/BacktraceReport'; export class BacktraceCoreClient { - public async send(report: BacktraceReport) { - throw new Error('Not implemented'); + /** + * Asynchronously sends error data to Backtrace. + * @param error Backtrace Report or error or message + * @param attributes Report attributes + * @param attachments Report attachments + */ + public async send( + error: Error, + attributes?: Record, + attachments?: BacktraceAttachment[], + ): Promise; + /** + * Asynchronously sends a message report to Backtrace + * @param message Report message + * @param attributes Report attributes + * @param attachments Report attachments + */ + public async send( + message: string, + attributes?: Record, + attachments?: BacktraceAttachment[], + ): Promise; + /** + * Asynchronously sends error data to Backtrace + * @param report Backtrace Report + */ + + public async send(report: BacktraceReport): Promise; + public async send( + data: BacktraceReport | Error | string, + attributes: Record = {}, + attachments: BacktraceAttachment[] = [], + ): Promise { + const report = this.isReport(data) + ? data + : new BacktraceReport(data, attributes, attachments, { + skipFrames: this.skipFrameOnMessage(data), + }); + + console.log(report.message); + } + + private skipFrameOnMessage(data: Error | string): number { + return typeof data === 'string' ? 1 : 0; + } + + private isReport(data: BacktraceReport | Error | string): data is BacktraceReport { + return data instanceof BacktraceReport; } } diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 5206e143..c451a872 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -2,4 +2,5 @@ export * from './BacktraceCoreClient'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; export * from './model/report/BacktraceAttachment'; +export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; diff --git a/packages/sdk-core/src/model/report/BacktraceErrorType.ts b/packages/sdk-core/src/model/report/BacktraceErrorType.ts new file mode 100644 index 00000000..5428b8f5 --- /dev/null +++ b/packages/sdk-core/src/model/report/BacktraceErrorType.ts @@ -0,0 +1 @@ +export type BacktraceErrorType = 'Message' | 'Exception' | 'Unhandled exception' | 'OOMException' | 'Hang'; diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index d39bcd34..5cc061ba 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,7 +1,60 @@ import { BacktraceAttachment } from './BacktraceAttachment'; +import { BacktraceErrorType } from './BacktraceErrorType'; -export interface BacktraceReport { - readonly attributes: Record; - readonly attachments: BacktraceAttachment[]; - toData(): Record; +export class BacktraceReport { + /** + * Report classifiers + */ + public readonly classifiers: string[] = []; + /** + * Report annotations + */ + public readonly annotations: Record = {}; + /** + * Report stack trace + */ + public readonly stackTrace: string; + + /** + * Report message + */ + public readonly message: string; + + /** + * Report inner errors + */ + public readonly innerReport: unknown[] = []; + + /** + * Sets how many top frames should be skipped. + */ + public skipFrames = 0; + + constructor( + public readonly data: Error | string, + public readonly attributes: Record = {}, + public readonly attachments: BacktraceAttachment[] = [], + options: { skipFrames?: number } = {}, + ) { + this.skipFrames = options?.skipFrames ?? 0; + let errorType: BacktraceErrorType = 'Exception'; + if (data instanceof Error) { + this.annotations['error'] = data; + this.classifiers = [data.name]; + this.message = data.message; + this.stackTrace = data.stack ?? ''; + if (data.cause) { + this.innerReport.push(data.cause); + } + } else { + this.message = data; + this.stackTrace = new Error().stack ?? ''; + errorType = 'Message'; + this.skipFrames += 1; + } + + if (!this.attributes['error.type']) { + this.attributes['error.type'] = errorType; + } + } } diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index 803e5db9..52d87785 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -1,8 +1,23 @@ -import { BacktraceCoreClient } from '../../src/'; +import { BacktraceCoreClient, BacktraceReport } from '../../src/'; describe('Client tests', () => { - it('Should create a client', () => { + describe('Send tests', () => { const client = new BacktraceCoreClient(); + it('Message report shouldnt throw', async () => { + expect(async () => await client.send('test')).not.toThrow(); + }); - expect(client).toBeDefined(); + it('Error report shouldnt throw', async () => { + expect(async () => await client.send(new Error('test'))).not.toThrow(); + }); + + it('Report shouldnt throw', async () => { + expect(async () => await client.send(new BacktraceReport(new Error('test')))).not.toThrow(); + }); + + it('Should be able to define nullable parameters', async () => { + expect( + async () => await client.send(new BacktraceReport(new Error('test'), undefined, undefined)), + ).not.toThrow(); + }); }); }); diff --git a/packages/sdk-core/tests/report/reportTests.spec.ts b/packages/sdk-core/tests/report/reportTests.spec.ts new file mode 100644 index 00000000..9505d43e --- /dev/null +++ b/packages/sdk-core/tests/report/reportTests.spec.ts @@ -0,0 +1,35 @@ +import { BacktraceReport } from '../../src'; + +describe('Backtrace report generation tests', () => { + describe('Message report', () => { + const testMessage = 'test'; + const report = new BacktraceReport(testMessage); + it('Report message should be set', () => { + expect(report.message).toBe(testMessage); + }); + + it('Stack trace should be defined', () => { + expect(!!report.stackTrace.length).toBeTruthy(); + }); + + it('Error.type attribute should be set to Message', () => { + expect(report.attributes['error.type']).toBe('Message'); + }); + }); + + describe('Error report', () => { + const testError = new Error('foo'); + const report = new BacktraceReport(testError); + it('Report message should be set', () => { + expect(report.message).toBe(testError.message); + }); + + it('Stack trace should be defined', () => { + expect(!!report.stackTrace.length).toBeTruthy(); + }); + + it('Error.type attribute should be set to Message', () => { + expect(report.attributes['error.type']).toBe('Exception'); + }); + }); +}); diff --git a/tsconfig.base.json b/tsconfig.base.json index a4bbf53e..07ee3c2a 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "strictNullChecks": true, "noUnusedLocals": true, - "removeComments": true, + "removeComments": false, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "declaration": true, From 04afa7ed655f5e9664b2f575f824dc960db6e3a4 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 13 Jun 2023 14:31:00 +0200 Subject: [PATCH 024/291] Stack trace parser (#6) * Stack trace converter * Stack trace definition * Stack converter tests * Different variable name * Stack trace parser * Class rename * Detect if safari * Export frame consts to separated file --- package-lock.json | 1114 ++++++++++++++++- package.json | 2 +- packages/browser/jest.config.js | 6 +- packages/browser/package.json | 1 + .../JavaScriptCoreStackTraceConverter.ts | 77 ++ .../SpiderMonkeyStackTraceConverter.ts | 127 ++ packages/browser/src/engineDetector.ts | 15 + ...ScriptCoreStackTraceConverterTests.spec.ts | 23 + .../javaScriptCoreStackTraceTestCases.ts | 131 ++ ...iderMonkeyStackTraceConverterTests.spec.ts | 24 + .../spiderMonkeyStackTraceTestCases.ts | 170 +++ packages/sdk-core/src/BacktraceCoreClient.ts | 5 +- packages/sdk-core/src/index.ts | 1 + .../src/model/data/BacktraceStackTrace.ts | 17 + .../src/model/data/JavaScriptEngine.ts | 1 + .../converter/BacktraceStackTraceConverter.ts | 8 + .../converter/V8StackTraceConverter.ts | 98 ++ .../converter/consts/frameNamesConsts.ts | 2 + .../sdk-core/src/modules/converter/index.ts | 2 + .../stackTraceConverterTests.spec.ts | 23 + .../tests/converters/v8stackTraceTestCases.ts | 145 +++ 21 files changed, 1986 insertions(+), 6 deletions(-) create mode 100644 packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts create mode 100644 packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts create mode 100644 packages/browser/src/engineDetector.ts create mode 100644 packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts create mode 100644 packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts create mode 100644 packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts create mode 100644 packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts create mode 100644 packages/sdk-core/src/model/data/BacktraceStackTrace.ts create mode 100644 packages/sdk-core/src/model/data/JavaScriptEngine.ts create mode 100644 packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts create mode 100644 packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts create mode 100644 packages/sdk-core/src/modules/converter/consts/frameNamesConsts.ts create mode 100644 packages/sdk-core/src/modules/converter/index.ts create mode 100644 packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts create mode 100644 packages/sdk-core/tests/converters/v8stackTraceTestCases.ts diff --git a/package-lock.json b/package-lock.json index 525096ba..367c12e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1224,6 +1224,15 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@types/babel__core": { "version": "7.20.1", "dev": true, @@ -1299,6 +1308,17 @@ "pretty-format": "^29.0.0" } }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, "node_modules/@types/json-schema": { "version": "7.0.12", "dev": true, @@ -1329,6 +1349,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, "node_modules/@types/yargs": { "version": "17.0.24", "dev": true, @@ -1522,6 +1548,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, "node_modules/acorn": { "version": "8.8.2", "dev": true, @@ -1533,6 +1565,16 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, @@ -1541,6 +1583,27 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "dev": true, @@ -1692,6 +1755,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "dev": true, @@ -1703,6 +1771,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel-jest": { "version": "29.5.0", "dev": true, @@ -2031,6 +2109,17 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "dev": true, @@ -2054,6 +2143,44 @@ "node": ">= 8" } }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/debug": { "version": "4.3.4", "dev": true, @@ -2070,6 +2197,12 @@ } } }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, "node_modules/dedent": { "version": "0.7.0", "dev": true, @@ -2103,6 +2236,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "dev": true, @@ -2141,6 +2282,18 @@ "node": ">=6.0.0" } }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "dev": true, @@ -2167,6 +2320,18 @@ "dev": true, "license": "MIT" }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/error-ex": { "version": "1.3.2", "dev": true, @@ -2278,6 +2443,88 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/eslint": { "version": "8.41.0", "dev": true, @@ -2767,6 +3014,25 @@ "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "dev": true, @@ -2790,6 +3056,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -3102,11 +3381,50 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "dev": true, "license": "MIT" }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "2.1.0", "dev": true, @@ -3115,6 +3433,18 @@ "node": ">=10.17.0" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.2.4", "dev": true, @@ -3347,6 +3677,12 @@ "node": ">=8" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, "node_modules/is-regex": { "version": "1.1.4", "dev": true, @@ -3735,6 +4071,33 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-environment-jsdom": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.5.0.tgz", + "integrity": "sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/jest-environment-node": { "version": "29.5.0", "dev": true, @@ -4124,6 +4487,51 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/jsesc": { "version": "2.5.2", "dev": true, @@ -4286,6 +4694,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "dev": true, @@ -4365,6 +4792,12 @@ "node": ">=8" } }, + "node_modules/nwsapi": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", + "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", + "dev": true + }, "node_modules/object-inspect": { "version": "1.12.3", "dev": true, @@ -4516,6 +4949,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -4709,6 +5154,17 @@ "node": ">= 6" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, "node_modules/punycode": { "version": "2.3.0", "dev": true, @@ -4732,6 +5188,12 @@ ], "license": "MIT" }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "dev": true, @@ -4780,6 +5242,12 @@ "node": ">=0.10.0" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.2", "dev": true, @@ -4892,6 +5360,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/semver": { "version": "7.5.1", "dev": true, @@ -5200,7 +5686,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/test-exclude": { + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/test-exclude": { "version": "6.0.0", "dev": true, "license": "ISC", @@ -5261,6 +5753,33 @@ "node": ">=8.0" } }, + "node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/ts-jest": { "version": "29.1.0", "dev": true, @@ -5413,6 +5932,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "dev": true, @@ -5450,6 +5978,16 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -5468,6 +6006,18 @@ "dev": true, "license": "MIT" }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/walker": { "version": "1.0.8", "dev": true, @@ -5476,6 +6026,49 @@ "makeerror": "1.0.12" } }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/which": { "version": "2.0.2", "dev": true, @@ -5641,6 +6234,42 @@ "dev": true, "license": "ISC" }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "node_modules/y18n": { "version": "5.0.8", "dev": true, @@ -5715,6 +6344,7 @@ "devDependencies": { "@types/jest": "^29.5.1", "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } @@ -5723,6 +6353,10 @@ "name": "@backtrace/node", "version": "0.0.1", "license": "MIT", + "dependencies": { + "axios": "^1.4.0", + "form-data": "^4.0.0" + }, "devDependencies": { "@types/jest": "^29.5.1", "@types/node": "^11.15.54", @@ -6118,6 +6752,7 @@ "requires": { "@types/jest": "^29.5.1", "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } @@ -6127,6 +6762,8 @@ "requires": { "@types/jest": "^29.5.1", "@types/node": "^11.15.54", + "axios": "^1.4.0", + "form-data": "^4.0.0", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" @@ -6566,6 +7203,12 @@ "@sinonjs/commons": "^3.0.0" } }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, "@types/babel__core": { "version": "7.20.1", "dev": true, @@ -6632,6 +7275,17 @@ "pretty-format": "^29.0.0" } }, + "@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, "@types/json-schema": { "version": "7.0.12", "dev": true @@ -6656,6 +7310,12 @@ "version": "2.0.1", "dev": true }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, "@types/yargs": { "version": "17.0.24", "dev": true, @@ -6750,15 +7410,46 @@ "eslint-visitor-keys": "^3.3.0" } }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, "acorn": { "version": "8.8.2", "dev": true }, + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, "acorn-jsx": { "version": "5.3.2", "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, "ajv": { "version": "6.12.6", "dev": true, @@ -6848,10 +7539,25 @@ "es-shim-unscopables": "^1.0.0" } }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "available-typed-arrays": { "version": "1.0.5", "dev": true }, + "axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "babel-jest": { "version": "29.5.0", "dev": true, @@ -7051,6 +7757,14 @@ "version": "1.1.4", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "concat-map": { "version": "0.0.1", "dev": true @@ -7068,6 +7782,40 @@ "which": "^2.0.1" } }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + } + }, "debug": { "version": "4.3.4", "dev": true, @@ -7075,6 +7823,12 @@ "ms": "2.1.2" } }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, "dedent": { "version": "0.7.0", "dev": true @@ -7095,6 +7849,11 @@ "object-keys": "^1.1.1" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "detect-newline": { "version": "3.1.0", "dev": true @@ -7117,6 +7876,15 @@ "esutils": "^2.0.2" } }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "requires": { + "webidl-conversions": "^7.0.0" + } + }, "eastasianwidth": { "version": "0.2.0", "dev": true @@ -7133,6 +7901,12 @@ "version": "9.2.2", "dev": true }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, "error-ex": { "version": "1.3.2", "dev": true, @@ -7213,6 +7987,66 @@ "version": "4.0.0", "dev": true }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, "eslint": { "version": "8.41.0", "dev": true, @@ -7552,6 +8386,11 @@ "version": "3.2.7", "dev": true }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, "for-each": { "version": "0.3.3", "dev": true, @@ -7567,6 +8406,16 @@ "signal-exit": "^4.0.1" } }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fs.realpath": { "version": "1.0.0", "dev": true @@ -7744,14 +8593,53 @@ "has-symbols": "^1.0.2" } }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, "html-escaper": { "version": "2.0.2", "dev": true }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "dev": true }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, "ignore": { "version": "5.2.4", "dev": true @@ -7881,6 +8769,12 @@ "version": "3.0.3", "dev": true }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, "is-regex": { "version": "1.1.4", "dev": true, @@ -8123,6 +9017,22 @@ "pretty-format": "^29.5.0" } }, + "jest-environment-jsdom": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.5.0.tgz", + "integrity": "sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0", + "jsdom": "^20.0.0" + } + }, "jest-environment-node": { "version": "29.5.0", "dev": true, @@ -8407,6 +9317,40 @@ "argparse": "^2.0.1" } }, + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + } + }, "jsesc": { "version": "2.5.2", "dev": true @@ -8509,6 +9453,19 @@ "picomatch": "^2.3.1" } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, "mimic-fn": { "version": "2.1.0", "dev": true @@ -8559,6 +9516,12 @@ "path-key": "^3.0.0" } }, + "nwsapi": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", + "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", + "dev": true + }, "object-inspect": { "version": "1.12.3", "dev": true @@ -8647,6 +9610,15 @@ "lines-and-columns": "^1.1.6" } }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, "path-exists": { "version": "4.0.0", "dev": true @@ -8756,6 +9728,17 @@ "sisteransi": "^1.0.5" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, "punycode": { "version": "2.3.0", "dev": true @@ -8764,6 +9747,12 @@ "version": "6.0.2", "dev": true }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "dev": true @@ -8785,6 +9774,12 @@ "version": "2.1.1", "dev": true }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "resolve": { "version": "1.22.2", "dev": true, @@ -8842,6 +9837,21 @@ "is-regex": "^1.1.4" } }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, "semver": { "version": "7.5.1", "dev": true, @@ -9028,6 +10038,12 @@ "version": "1.0.0", "dev": true }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, "test-exclude": { "version": "6.0.0", "dev": true, @@ -9070,6 +10086,27 @@ "is-number": "^7.0.0" } }, + "tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, "ts-jest": { "version": "29.1.0", "dev": true, @@ -9149,6 +10186,12 @@ "which-boxed-primitive": "^1.0.2" } }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + }, "update-browserslist-db": { "version": "1.0.11", "dev": true, @@ -9164,6 +10207,16 @@ "punycode": "^2.1.0" } }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -9179,6 +10232,15 @@ } } }, + "w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "requires": { + "xml-name-validator": "^4.0.0" + } + }, "walker": { "version": "1.0.8", "dev": true, @@ -9186,6 +10248,37 @@ "makeerror": "1.0.12" } }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true + }, + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, "which": { "version": "2.0.2", "dev": true, @@ -9288,6 +10381,25 @@ } } }, + "ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, + "requires": {} + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "y18n": { "version": "5.0.8", "dev": true diff --git a/package.json b/package.json index be3bbecd..377f7b64 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "lint": "eslint . --ext .ts", "rebuild": "npm run clean && npm run build", "watch": "tsc -b ./tsconfig.packages.json -w", - "test": "NODE_ENV=test jest" + "test": "npm run test --ws --if-present" }, "workspaces": [ "packages/*" diff --git a/packages/browser/jest.config.js b/packages/browser/jest.config.js index b413e106..5d54b9b5 100644 --- a/packages/browser/jest.config.js +++ b/packages/browser/jest.config.js @@ -1,5 +1,5 @@ /** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -}; \ No newline at end of file + preset: 'ts-jest', + testEnvironment: 'jsdom', +}; diff --git a/packages/browser/package.json b/packages/browser/package.json index d659ab13..0f9e15fd 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -34,6 +34,7 @@ "devDependencies": { "@types/jest": "^29.5.1", "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } diff --git a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts new file mode 100644 index 00000000..2fb28208 --- /dev/null +++ b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts @@ -0,0 +1,77 @@ +import { ANONYMOUS_FUNCTION, BacktraceReport, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; + +export class JavaScriptCoreStackTraceConverter implements BacktraceStackTraceConverter { + get engine(): JavaScriptEngine { + return 'JavaScriptCore'; + } + + public convert(report: BacktraceReport): BacktraceStackFrame[] { + const result: BacktraceStackFrame[] = []; + if (!report.stackTrace) { + return result; + } + const stackFrames = report.stackTrace.split('\n'); + + for (const stackFrame of stackFrames) { + const normalizedStackFrame = stackFrame.trim(); + const frame = this.parseFrame(normalizedStackFrame); + result.push(frame); + } + + return result; + } + + private parseFrame(stackFrame: string): BacktraceStackFrame { + const functionSeparatorIndex = this.generateSeparatorIndex(stackFrame); + let functionName = + functionSeparatorIndex === -1 ? ANONYMOUS_FUNCTION : stackFrame.substring(0, functionSeparatorIndex); + + if (!functionName) { + functionName = ANONYMOUS_FUNCTION; + } + + const sourceCodeInformation = stackFrame.substring(functionSeparatorIndex + 1); + + const sourceCodeParts = sourceCodeInformation.split(':'); + if (sourceCodeParts.length === 1) { + return { + funcName: functionName, + library: sourceCodeInformation ? sourceCodeInformation : UNKNOWN_FRAME, + }; + } + + const column = parseInt(sourceCodeParts[sourceCodeParts.length - 1]); + const line = parseInt(sourceCodeParts[sourceCodeParts.length - 2]); + const library = sourceCodeParts.slice(0, sourceCodeParts.length - 2).join(':'); + return { + funcName: functionName, + column: isNaN(column) ? undefined : column, + line: isNaN(line) ? undefined : line, + library: library, + }; + } + + private generateSeparatorIndex(stackFrame: string): number { + const functionSeparator = '@'; + const functionSeparatorIndex = stackFrame.indexOf(functionSeparator); + if (functionSeparatorIndex === -1) { + return functionSeparatorIndex; + } + const isMoreSeparators = stackFrame.lastIndexOf(functionSeparator) !== functionSeparatorIndex; + if (!isMoreSeparators) { + return functionSeparatorIndex; + } + + const possibleSeparators = ['@http', '@file']; + for (const possibleSeparator of possibleSeparators) { + const possibleSeparatorIndex = stackFrame.indexOf(possibleSeparator); + if (possibleSeparatorIndex !== -1) { + return possibleSeparatorIndex; + } + } + // we can't determinate the separator + return functionSeparatorIndex; + } +} diff --git a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts new file mode 100644 index 00000000..96e680e3 --- /dev/null +++ b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts @@ -0,0 +1,127 @@ +import { ANONYMOUS_FUNCTION, BacktraceReport, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; + +export class SpiderMonkeyStackTraceConverter implements BacktraceStackTraceConverter { + private readonly ANONYMOUS_FUNCTIONS = ['()', '(null)', '']; + + get engine(): JavaScriptEngine { + return 'SpiderMonkey'; + } + + public convert(report: BacktraceReport): BacktraceStackFrame[] { + const result: BacktraceStackFrame[] = []; + if (!report.stackTrace) { + return result; + } + const stackFrames = report.stackTrace.split('\n'); + + for (const stackFrame of stackFrames) { + const normalizedStackFrame = stackFrame.trim(); + if (!normalizedStackFrame) { + continue; + } + const frame = this.parseFrame(normalizedStackFrame); + if (this.ANONYMOUS_FUNCTIONS.includes(frame.funcName)) { + frame.funcName = ANONYMOUS_FUNCTION; + } + result.push(frame); + } + + return result; + } + + private parseFrame(stackFrame: string): BacktraceStackFrame { + const functionSeparatorIndex = this.generateSeparatorIndex(stackFrame); + //invalid frame + if (functionSeparatorIndex === -1) { + return { + funcName: stackFrame, + library: UNKNOWN_FRAME, + }; + } + + let functionName = stackFrame.substring(0, functionSeparatorIndex); + if (!functionName) { + functionName = ANONYMOUS_FUNCTION; + } + let sourceCodeInformation = stackFrame.substring(functionSeparatorIndex + 1); + if (sourceCodeInformation.indexOf('eval') !== -1) { + sourceCodeInformation = this.cleanUpEvalInformation(sourceCodeInformation); + } + const sourceCodeParts = sourceCodeInformation.split(':'); + + // check if the column information is available - if is not, we should use the legacy parser + const sourceCodeOrRowNumber = sourceCodeParts[sourceCodeParts.length - 2]; + const possibleRowNumber = parseInt(sourceCodeOrRowNumber); + + return isNaN(possibleRowNumber) + ? this.generateLegacyFirefoxFrame(functionName, sourceCodeParts) + : this.generateFirefoxFrame(functionName, sourceCodeParts); + } + + private generateSeparatorIndex(stackFrame: string): number { + const functionSeparator = '@'; + const functionSeparatorIndex = stackFrame.indexOf(functionSeparator); + if (functionSeparatorIndex === -1) { + return functionSeparatorIndex; + } + const isMoreSeparators = stackFrame.lastIndexOf(functionSeparator) !== functionSeparatorIndex; + if (!isMoreSeparators) { + return functionSeparatorIndex; + } + + const possibleSeparators = ['@http', '@file']; + for (const possibleSeparator of possibleSeparators) { + const possibleSeparatorIndex = stackFrame.indexOf(possibleSeparator); + if (possibleSeparatorIndex !== -1) { + return possibleSeparatorIndex; + } + } + // we can't determinate the separator + return functionSeparatorIndex; + } + + private generateLegacyFirefoxFrame(functionName: string, sourceCodeParts: string[]): BacktraceStackFrame { + const lineNumberStart = sourceCodeParts.length - 1; + const lineNumber = parseInt(sourceCodeParts[lineNumberStart]); + const library = sourceCodeParts.slice(0, lineNumberStart).join(':'); + return { + library: library, + funcName: functionName, + line: isNaN(lineNumber) ? undefined : lineNumber, + }; + } + + private generateFirefoxFrame(functionName: string, sourceCodeParts: string[]): BacktraceStackFrame { + const lineNumberStart = sourceCodeParts.length - 2; + const lineNumber = parseInt(sourceCodeParts[lineNumberStart]); + const columnName = parseInt(sourceCodeParts[lineNumberStart + 1]); + const library = sourceCodeParts.slice(0, lineNumberStart).join(':'); + + return { + library: library, + funcName: functionName, + column: columnName, + line: lineNumber, + }; + } + + private cleanUpEvalInformation(sourceCodeInformation: string): string { + const evalSeparator = ' > eval'; + const evalIndex = sourceCodeInformation.indexOf(evalSeparator); + if (evalIndex === -1) { + return sourceCodeInformation; + } + + const lineSeparator = ' line '; + const lineSeparatorIndex = sourceCodeInformation.indexOf(lineSeparator); + + if (lineSeparatorIndex === -1) { + return sourceCodeInformation.replace(evalSeparator, ''); + } + + const textToRemove = sourceCodeInformation.substring(lineSeparatorIndex, evalIndex + evalSeparator.length); + return sourceCodeInformation.replace(textToRemove, ''); + } +} diff --git a/packages/browser/src/engineDetector.ts b/packages/browser/src/engineDetector.ts new file mode 100644 index 00000000..0e67c872 --- /dev/null +++ b/packages/browser/src/engineDetector.ts @@ -0,0 +1,15 @@ +import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; + +export function getEngine(): JavaScriptEngine { + const normalizedUserAgent = navigator.userAgent.toLowerCase(); + + if (normalizedUserAgent.includes('firefox')) { + return 'SpiderMonkey'; + } + + if (normalizedUserAgent.includes('safari') && !normalizedUserAgent.includes('chrome')) { + return 'JavaScriptCore'; + } + + return 'v8'; +} diff --git a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts new file mode 100644 index 00000000..4e94c979 --- /dev/null +++ b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts @@ -0,0 +1,23 @@ +import { BacktraceReport } from '@backtrace/sdk-core'; +import { JavaScriptCoreStackTraceConverter } from '../../../src/converters/JavaScriptCoreStackTraceConverter'; +import { javaScriptCoreStackTraceTests } from './javaScriptCoreStackTraceTestCases'; + +describe('Stack trace converter tests', () => { + describe('JavaScriptCore', () => { + const converter = new JavaScriptCoreStackTraceConverter(); + + describe('Stack trace generator', () => { + for (const stackTraceTest of javaScriptCoreStackTraceTests) { + it(`Generator: ${stackTraceTest.name}`, () => { + const convertedStackFrames = converter.convert(stackTraceTest.test as BacktraceReport); + + expect(convertedStackFrames.length).toBe(stackTraceTest.expectation.length); + for (let index = 0; index < convertedStackFrames.length; index++) { + const convertedStackFrame = convertedStackFrames[index]; + expect(convertedStackFrame).toEqual(stackTraceTest.expectation[index]); + } + }); + } + }); + }); +}); diff --git a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts new file mode 100644 index 00000000..72489b90 --- /dev/null +++ b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts @@ -0,0 +1,131 @@ +import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; + +const defaultWebsite = `http://localhost/main.js`; +export const javaScriptCoreStackTraceTests: Array<{ + name: string; + test: { message: string; stackTrace: string }; + expectation: BacktraceStackFrame[]; +}> = [ + { + name: 'Missing @', + test: { + message: 'Error message not related to stack trace', + stackTrace: `${defaultWebsite}:5:5 + bar@${defaultWebsite}:3:3 + foo@${defaultWebsite}:2:2 + @${defaultWebsite}:1:1`, + }, + expectation: [ + { + funcName: 'anonymous', + library: defaultWebsite, + line: 5, + column: 5, + }, + { + funcName: 'bar', + library: defaultWebsite, + line: 3, + column: 3, + }, + { + funcName: 'foo', + library: defaultWebsite, + line: 2, + column: 2, + }, + { + funcName: 'anonymous', + library: defaultWebsite, + line: 1, + column: 1, + }, + ], + }, + { + name: 'eval', + test: { + message: 'Foo bar', + stackTrace: `foo@ + bar@ + eval code@ + eval@[native code] + @${defaultWebsite}:17:11`, + }, + expectation: [ + { + funcName: 'foo', + library: 'unknown', + line: undefined, + column: undefined, + }, + { + funcName: 'bar', + library: 'unknown', + line: undefined, + column: undefined, + }, + { + funcName: 'eval code', + library: 'unknown', + line: undefined, + column: undefined, + }, + { + funcName: 'eval', + library: '[native code]', + line: undefined, + column: undefined, + }, + { + funcName: 'anonymous', + library: defaultWebsite, + line: 17, + column: 11, + }, + ], + }, + { + name: 'Source code with @ character & @ in function name', + test: { + message: 'Foo bar', + stackTrace: `@file:///test@test.html:26:11 + trace@file:///test@test.html:29:13 + b@file:///test@test.html:31:14 + a@file:///test@test.html:34:10 + @file:///test@test.html:37:10`, + }, + expectation: [ + { + funcName: 'anonymous', + library: `file:///test@test.html`, + line: 26, + column: 11, + }, + { + funcName: 'trace', + library: `file:///test@test.html`, + line: 29, + column: 13, + }, + { + funcName: 'b', + library: `file:///test@test.html`, + line: 31, + column: 14, + }, + { + funcName: 'a', + library: `file:///test@test.html`, + line: 34, + column: 10, + }, + { + funcName: 'anonymous', + library: `file:///test@test.html`, + line: 37, + column: 10, + }, + ], + }, +]; diff --git a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts new file mode 100644 index 00000000..2358e449 --- /dev/null +++ b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts @@ -0,0 +1,24 @@ +import { BacktraceReport } from '@backtrace/sdk-core'; + +import { SpiderMonkeyStackTraceConverter } from '../../../src/converters/SpiderMonkeyStackTraceConverter'; +import { spiderMonkeyStackTraceTests } from './spiderMonkeyStackTraceTestCases'; + +describe('Stack trace converter tests', () => { + describe('Spider monkey', () => { + const converter = new SpiderMonkeyStackTraceConverter(); + + describe('Stack trace generator', () => { + for (const stackTraceTest of spiderMonkeyStackTraceTests) { + it(`Generator: ${stackTraceTest.name}`, () => { + const convertedStackFrames = converter.convert(stackTraceTest.test as BacktraceReport); + + expect(convertedStackFrames.length).toBe(stackTraceTest.expectation.length); + for (let index = 0; index < convertedStackFrames.length; index++) { + const convertedStackFrame = convertedStackFrames[index]; + expect(convertedStackFrame).toEqual(stackTraceTest.expectation[index]); + } + }); + } + }); + }); +}); diff --git a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts new file mode 100644 index 00000000..b357ed30 --- /dev/null +++ b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts @@ -0,0 +1,170 @@ +import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; + +const defaultWebsite = `http://localhost/main.js`; +export const spiderMonkeyStackTraceTests: Array<{ + name: string; + test: { message: string; stackTrace: string }; + expectation: BacktraceStackFrame[]; +}> = [ + { + name: 'old Firefox', + test: { + message: 'Error message not related to stack trace', + stackTrace: `()@${defaultWebsite}:5\n + (null)@${defaultWebsite}:4\n + bar(1)@${defaultWebsite}:3\n + foo(2)@${defaultWebsite}:2\n + @${defaultWebsite}:1\n`, + }, + expectation: [ + { + funcName: 'anonymous', + library: defaultWebsite, + line: 5, + }, + { + funcName: 'anonymous', + library: defaultWebsite, + line: 4, + }, + { + funcName: 'bar(1)', + library: defaultWebsite, + line: 3, + }, + { + funcName: 'foo(2)', + library: defaultWebsite, + line: 2, + }, + { + funcName: 'anonymous', + library: defaultWebsite, + line: 1, + }, + ], + }, + { + name: 'line and column numbers', + test: { + message: 'Error message not related to stack trace', + stackTrace: `foo@${defaultWebsite}:33:44 + bar@${defaultWebsite}:11:22`, + }, + expectation: [ + { + funcName: 'foo', + library: defaultWebsite, + column: 44, + line: 33, + }, + { + funcName: 'bar', + library: defaultWebsite, + column: 22, + line: 11, + }, + ], + }, + { + name: 'Eval', + test: { + message: 'Foo bar', + stackTrace: `foo@${defaultWebsite} line 18 > eval:1:51 + bar@${defaultWebsite} line 18 > eval:1:18 + @${defaultWebsite} line 18 > eval:1:83 + @${defaultWebsite}:18:7 + setTimeout handler*@${defaultWebsite}:17:15`, + }, + expectation: [ + { + funcName: 'foo', + library: defaultWebsite, + line: 1, + column: 51, + }, + { + funcName: 'bar', + library: defaultWebsite, + line: 1, + column: 18, + }, + { + funcName: 'anonymous', + library: defaultWebsite, + line: 1, + column: 83, + }, + { + funcName: 'anonymous', + library: defaultWebsite, + line: 18, + column: 7, + }, + { + funcName: 'setTimeout handler*', + library: defaultWebsite, + line: 17, + column: 15, + }, + ], + }, + { + name: 'object access function with @ character', + test: { + message: 'Foo bar', + stackTrace: `trace/obj["@abc"]@${defaultWebsite}:26:11 + trace@${defaultWebsite}:29:13 + setTimeout handler*@${defaultWebsite}:22:15`, + }, + expectation: [ + { + funcName: 'trace/obj["@abc"]', + library: defaultWebsite, + line: 26, + column: 11, + }, + { + funcName: 'trace', + library: defaultWebsite, + line: 29, + column: 13, + }, + { + funcName: 'setTimeout handler*', + library: defaultWebsite, + line: 22, + column: 15, + }, + ], + }, + { + name: 'Source code with @ character & @ in function name', + test: { + message: 'Foo bar', + stackTrace: `trace/obj["@abc"]@file:///test@test.html:26:11 + trace@file:///test@test.html:29:13 + setTimeout handler*@file:///test@test.html:22:15`, + }, + expectation: [ + { + funcName: 'trace/obj["@abc"]', + library: `file:///test@test.html`, + line: 26, + column: 11, + }, + { + funcName: 'trace', + library: `file:///test@test.html`, + line: 29, + column: 13, + }, + { + funcName: 'setTimeout handler*', + library: `file:///test@test.html`, + line: 22, + column: 15, + }, + ], + }, +]; diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 52cf2167..ca3164ca 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,7 +1,10 @@ import { BacktraceAttachment } from './model/report/BacktraceAttachment'; import { BacktraceReport } from './model/report/BacktraceReport'; +import { BacktraceStackTraceConverter } from './modules/converter/BacktraceStackTraceConverter'; +import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; export class BacktraceCoreClient { + constructor(private readonly _stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter()) {} /** * Asynchronously sends error data to Backtrace. * @param error Backtrace Report or error or message @@ -41,7 +44,7 @@ export class BacktraceCoreClient { skipFrames: this.skipFrameOnMessage(data), }); - console.log(report.message); + console.log(this._stackTraceConverter.convert(report)); } private skipFrameOnMessage(data: Error | string): number { diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index c451a872..1f409b26 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -4,3 +4,4 @@ export * from './model/configuration/BacktraceDatabaseConfiguration'; export * from './model/report/BacktraceAttachment'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; +export * from './modules/converter'; diff --git a/packages/sdk-core/src/model/data/BacktraceStackTrace.ts b/packages/sdk-core/src/model/data/BacktraceStackTrace.ts new file mode 100644 index 00000000..363a18f3 --- /dev/null +++ b/packages/sdk-core/src/model/data/BacktraceStackTrace.ts @@ -0,0 +1,17 @@ +export interface BacktraceStackFrame { + funcName: string; + line?: number; + column?: number; + sourceCode?: string; + library: string; +} + +/** + * Backtrace Stack Trace object definition. + * For more info visit: https://api.backtrace.io + */ +export interface BacktraceStackTrace { + name: string; + fault: boolean; + stack: BacktraceStackFrame[]; +} diff --git a/packages/sdk-core/src/model/data/JavaScriptEngine.ts b/packages/sdk-core/src/model/data/JavaScriptEngine.ts new file mode 100644 index 00000000..d68d174d --- /dev/null +++ b/packages/sdk-core/src/model/data/JavaScriptEngine.ts @@ -0,0 +1 @@ +export type JavaScriptEngine = 'v8' | 'SpiderMonkey' | 'JavaScriptCore'; diff --git a/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts b/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts new file mode 100644 index 00000000..226c9f87 --- /dev/null +++ b/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts @@ -0,0 +1,8 @@ +import { BacktraceStackFrame } from '../../model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '../../model/data/JavaScriptEngine'; +import { BacktraceReport } from '../../model/report/BacktraceReport'; + +export interface BacktraceStackTraceConverter { + get engine(): JavaScriptEngine; + convert(report: BacktraceReport): BacktraceStackFrame[]; +} diff --git a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts new file mode 100644 index 00000000..b4f63c25 --- /dev/null +++ b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts @@ -0,0 +1,98 @@ +import { BacktraceStackFrame } from '../../model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '../../model/data/JavaScriptEngine'; +import { BacktraceReport } from '../../model/report/BacktraceReport'; +import { BacktraceStackTraceConverter } from './BacktraceStackTraceConverter'; +import { ANONYMOUS_FUNCTION, UNKNOWN_FRAME } from './consts/frameNamesConsts'; + +export class V8StackTraceConverter implements BacktraceStackTraceConverter { + get engine(): JavaScriptEngine { + return 'v8'; + } + + convert(report: BacktraceReport): BacktraceStackFrame[] { + const result: BacktraceStackFrame[] = []; + if (!report.stackTrace) { + return result; + } + let stackFrames = report.stackTrace.split('\n'); + const errorHeader = report.message.split('\n'); + + // remove error header from stack trace - if the error header exists + if (stackFrames[0].indexOf(errorHeader[0]) !== -1) { + stackFrames = stackFrames.slice(errorHeader.length); + } + for (const stackFrame of stackFrames) { + const normalizedStackFrame = stackFrame.trim(); + if (!normalizedStackFrame) { + continue; + } + const frame = this.parseFrame(normalizedStackFrame); + result.push(frame); + } + + return result; + } + + private parseFrame(stackFrame: string): BacktraceStackFrame { + const frameSeparator = 'at '; + if (!stackFrame.startsWith(frameSeparator)) { + return { + funcName: stackFrame, + library: UNKNOWN_FRAME, + }; + } + + stackFrame = stackFrame.substring(stackFrame.indexOf(frameSeparator) + frameSeparator.length); + const sourceCodeSeparator = ' ('; + const sourceCodeStartIndex = stackFrame.indexOf(sourceCodeSeparator); + const anonymousFunction = sourceCodeStartIndex === -1; + if (anonymousFunction) { + return { + funcName: ANONYMOUS_FUNCTION, + ...this.parseSourceCodeInformation(stackFrame), + }; + } + return { + funcName: stackFrame.substring(0, sourceCodeStartIndex), + ...this.parseSourceCodeInformation( + stackFrame.substring(sourceCodeStartIndex + sourceCodeSeparator.length, stackFrame.length - 1), + ), + }; + } + + private parseSourceCodeInformation( + sourceCodeInformation: string, + ): Omit { + if (sourceCodeInformation.startsWith('eval')) { + return this.extractEvalInformation(sourceCodeInformation); + } + const sourceCodeParts = sourceCodeInformation.split(':'); + const column = parseInt(sourceCodeParts[sourceCodeParts.length - 1]); + const lineNumber = parseInt(sourceCodeParts[sourceCodeParts.length - 2]); + const library = sourceCodeParts.slice(0, sourceCodeParts.length - 2).join(':'); + return { + library, + column: isNaN(column) ? undefined : column, + line: isNaN(lineNumber) ? undefined : lineNumber, + }; + } + + private extractEvalInformation( + evalSourceCodeInformation: string, + ): Omit { + const sourceCodeStartSeparatorChar = '('; + const sourceCodeEndSeparatorChar = ')'; + const sourceCodeStart = evalSourceCodeInformation.indexOf(sourceCodeStartSeparatorChar); + const sourceCodeEnd = evalSourceCodeInformation.indexOf(sourceCodeEndSeparatorChar); + if (sourceCodeStart === -1 || sourceCodeEnd === -1 || sourceCodeStart > sourceCodeEnd) { + return { + library: UNKNOWN_FRAME, + }; + } + const sourceCodeInformation = evalSourceCodeInformation.substring( + sourceCodeStart + sourceCodeStartSeparatorChar.length, + sourceCodeEnd, + ); + return this.parseSourceCodeInformation(sourceCodeInformation); + } +} diff --git a/packages/sdk-core/src/modules/converter/consts/frameNamesConsts.ts b/packages/sdk-core/src/modules/converter/consts/frameNamesConsts.ts new file mode 100644 index 00000000..a2c38c7d --- /dev/null +++ b/packages/sdk-core/src/modules/converter/consts/frameNamesConsts.ts @@ -0,0 +1,2 @@ +export const UNKNOWN_FRAME = 'unknown'; +export const ANONYMOUS_FUNCTION = 'anonymous'; diff --git a/packages/sdk-core/src/modules/converter/index.ts b/packages/sdk-core/src/modules/converter/index.ts new file mode 100644 index 00000000..809ec15a --- /dev/null +++ b/packages/sdk-core/src/modules/converter/index.ts @@ -0,0 +1,2 @@ +export * from './BacktraceStackTraceConverter'; +export * from './consts/frameNamesConsts'; diff --git a/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts b/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts new file mode 100644 index 00000000..d0bbe4d4 --- /dev/null +++ b/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts @@ -0,0 +1,23 @@ +import { BacktraceReport } from '../../src'; +import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; +import { v8StackTraceTests } from './v8stackTraceTestCases'; + +describe('Stack trace converter tests', () => { + describe('v8', () => { + const converter = new V8StackTraceConverter(); + + describe('Stack trace generator', () => { + for (const stackTraceTest of v8StackTraceTests) { + it(`Generator: ${stackTraceTest.name}`, () => { + const convertedStackFrames = converter.convert(stackTraceTest.test as BacktraceReport); + + expect(convertedStackFrames.length).toBe(stackTraceTest.expectation.length); + for (let index = 0; index < convertedStackFrames.length; index++) { + const convertedStackFrame = convertedStackFrames[index]; + expect(convertedStackFrame).toEqual(stackTraceTest.expectation[index]); + } + }); + } + }); + }); +}); diff --git a/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts b/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts new file mode 100644 index 00000000..c1db4cf4 --- /dev/null +++ b/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts @@ -0,0 +1,145 @@ +import { BacktraceStackFrame } from '../../src/model/data/BacktraceStackTrace'; + +export const v8StackTraceTests: Array<{ + name: string; + test: { message: string; stackTrace: string }; + expectation: BacktraceStackFrame[]; +}> = [ + { + name: 'old source code syntax', + test: { + message: "Object # has no method 'foobar'", + stackTrace: + "TypeError: Object # has no method 'foobar'\n" + + ' at a (a.js:40:40)\n' + + ' at b (b.js:30:30)\n' + + ' at c (c.js:20:20)\n' + + ' at main.js:10:10', + }, + expectation: [ + { + funcName: 'a', + library: 'a.js', + column: 40, + line: 40, + }, + { + funcName: 'b', + library: 'b.js', + column: 30, + line: 30, + }, + { + funcName: 'c', + library: 'c.js', + column: 20, + line: 20, + }, + { + funcName: 'anonymous', + library: 'main.js', + column: 10, + line: 10, + }, + ], + }, + { + name: 'default error', + test: { + message: 'Foo bar', + stackTrace: + 'Error: Foo bar\n' + + ' at throwError (http://localhost/main.js:3:1)\n' + + ' at generateError (http://localhost/main.js:2:1)\n' + + ' at HTMLButtonElement.onclick (http://localhost/main.js:1:2)', + }, + expectation: [ + { + funcName: 'throwError', + library: 'http://localhost/main.js', + column: 1, + line: 3, + }, + { + funcName: 'generateError', + library: 'http://localhost/main.js', + column: 1, + line: 2, + }, + { + funcName: 'HTMLButtonElement.onclick', + library: 'http://localhost/main.js', + column: 2, + line: 1, + }, + ], + }, + { + name: 'new test', + test: { + message: 'Foo bar', + stackTrace: + 'Error: Foo bar\n' + + ' at new FooError (http://localhost/main.js:3:1)\n' + + ' at generateError (http://localhost/main.js:2:1)\n' + + ' at HTMLButtonElement.onclick (http://localhost/main.js:1:2)', + }, + expectation: [ + { + funcName: 'new FooError', + library: 'http://localhost/main.js', + column: 1, + line: 3, + }, + { + funcName: 'generateError', + library: 'http://localhost/main.js', + column: 1, + line: 2, + }, + { + funcName: 'HTMLButtonElement.onclick', + library: 'http://localhost/main.js', + column: 2, + line: 1, + }, + ], + }, + { + name: 'eval test', + test: { + message: 'Foo bar', + stackTrace: `Error: Foo bar + at foo (eval at (test.html:3:7), :1:51) + at bar (eval at (test.html:3:7), :1:18) + at eval (eval at (test.html:3:7), :1:83) + at test.html:7:7`, + }, + expectation: [ + { + funcName: 'foo', + library: 'test.html', + column: 7, + line: 3, + }, + { + funcName: 'bar', + library: 'test.html', + column: 7, + line: 3, + }, + { + funcName: 'eval', + library: 'test.html', + column: 7, + line: 3, + }, + { + funcName: 'anonymous', + library: 'test.html', + column: 7, + line: 7, + }, + ], + }, +]; From 87f0e4bc3845ea7b221c783ffc0fe0c059aa9d6b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 14 Jun 2023 13:31:58 +0200 Subject: [PATCH 025/291] Data submission API (#7) * Stack trace converter * Stack trace definition * Stack converter tests * Different variable name * Data submission API * Backtrace Data * Stack trace parser * Class rename * Detect if safari * Export frame consts to separated file * Do not use axios in nodejs * Fetch support * Handle formdata issues * Code review adjustements --- package-lock.json | 80 ++-------- .../src/BacktraceBrowserRequestHandler.ts | 102 ++++++++++++ .../node/src/BacktraceNodeRequestHandler.ts | 147 ++++++++++++++++++ packages/sdk-core/src/index.ts | 1 + .../sdk-core/src/model/data/BacktraceData.ts | 17 ++ .../model/http/BacktraceReportSubmission.ts | 30 ++++ .../src/model/http/BacktraceRequestHandler.ts | 26 ++++ .../src/model/http/common/ConnectionError.ts | 11 ++ packages/sdk-core/src/model/http/index.ts | 5 + .../http/model/BacktraceSubmissionResponse.ts | 17 ++ .../http/model/BacktraceSubmissionResult.ts | 49 ++++++ .../http/model/BacktraceSubmissionStatus.ts | 25 +++ 12 files changed, 446 insertions(+), 64 deletions(-) create mode 100644 packages/browser/src/BacktraceBrowserRequestHandler.ts create mode 100644 packages/node/src/BacktraceNodeRequestHandler.ts create mode 100644 packages/sdk-core/src/model/data/BacktraceData.ts create mode 100644 packages/sdk-core/src/model/http/BacktraceReportSubmission.ts create mode 100644 packages/sdk-core/src/model/http/BacktraceRequestHandler.ts create mode 100644 packages/sdk-core/src/model/http/common/ConnectionError.ts create mode 100644 packages/sdk-core/src/model/http/index.ts create mode 100644 packages/sdk-core/src/model/http/model/BacktraceSubmissionResponse.ts create mode 100644 packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts create mode 100644 packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts diff --git a/package-lock.json b/package-lock.json index 367c12e7..2ead164a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1758,7 +1758,8 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/available-typed-arrays": { "version": "1.0.5", @@ -1771,16 +1772,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axios": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", - "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/babel-jest": { "version": "29.5.0", "dev": true, @@ -2113,6 +2104,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2240,6 +2232,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -3014,25 +3007,6 @@ "dev": true, "license": "ISC" }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.3", "dev": true, @@ -3060,6 +3034,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -4698,6 +4673,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -4706,6 +4682,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -5154,11 +5131,6 @@ "node": ">= 6" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -6353,10 +6325,6 @@ "name": "@backtrace/node", "version": "0.0.1", "license": "MIT", - "dependencies": { - "axios": "^1.4.0", - "form-data": "^4.0.0" - }, "devDependencies": { "@types/jest": "^29.5.1", "@types/node": "^11.15.54", @@ -6762,8 +6730,6 @@ "requires": { "@types/jest": "^29.5.1", "@types/node": "^11.15.54", - "axios": "^1.4.0", - "form-data": "^4.0.0", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" @@ -7542,22 +7508,13 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "available-typed-arrays": { "version": "1.0.5", "dev": true }, - "axios": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", - "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "babel-jest": { "version": "29.5.0", "dev": true, @@ -7761,6 +7718,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -7852,7 +7810,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true }, "detect-newline": { "version": "3.1.0", @@ -8386,11 +8345,6 @@ "version": "3.2.7", "dev": true }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, "for-each": { "version": "0.3.3", "dev": true, @@ -8410,6 +8364,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -9456,12 +9411,14 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "requires": { "mime-db": "1.52.0" } @@ -9728,11 +9685,6 @@ "sisteransi": "^1.0.5" } }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts new file mode 100644 index 00000000..0475734a --- /dev/null +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -0,0 +1,102 @@ +import { + BacktraceAttachment, + BacktraceReportSubmissionResult, + BacktraceRequestHandler, + ConnectionError, + DEFAULT_TIMEOUT, +} from '@backtrace/sdk-core'; +import { BacktraceData } from '@backtrace/sdk-core/src/model/data/BacktraceData'; + +export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { + private readonly UPLOAD_FILE_NAME = 'upload_file'; + private readonly _timeout: number; + private readonly JSON_HEADERS = { + 'Content-type': 'application/json', + }; + + constructor( + private readonly _options: { + url: string; + token?: string; + timeout?: number; + }, + ) { + this._timeout = this._options.timeout ?? DEFAULT_TIMEOUT; + } + public async postError( + submissionUrl: string, + data: BacktraceData, + attachments: BacktraceAttachment[], + ): Promise> { + const formData = this.createFormData(JSON.stringify(data), attachments); + return this.post(submissionUrl, formData); + } + + public async post( + submissionUrl: string, + payload: string | FormData, + ): Promise> { + const controller = new AbortController(); + const id = setTimeout(() => controller.abort(), this._timeout); + + try { + const response = await fetch(submissionUrl, { + method: 'POST', + body: payload, + headers: typeof payload === 'string' ? this.JSON_HEADERS : {}, + signal: controller.signal, + }); + + clearInterval(id); + + switch (response.status) { + case 200: { + const result: T = await response.json(); + return BacktraceReportSubmissionResult.Ok(result); + } + case 401: + case 403: { + return BacktraceReportSubmissionResult.OnInvalidToken(); + } + case 429: { + return BacktraceReportSubmissionResult.OnLimitReached(); + } + default: { + return BacktraceReportSubmissionResult.OnInternalServerError(response.statusText); + } + } + } catch (err) { + if (!(err instanceof Error)) { + return BacktraceReportSubmissionResult.OnUnknownError(err as string); + } + + if (err.name === 'AbortError') { + return BacktraceReportSubmissionResult.OnNetworkingError('Timeout'); + } + if (ConnectionError.isConnectionError(err)) { + return BacktraceReportSubmissionResult.OnNetworkingError(err.message); + } + + return BacktraceReportSubmissionResult.OnUnknownError(err.message); + } + } + + private createFormData(json: string, attachments?: BacktraceAttachment[]) { + const formData = new FormData(); + const blob = new Blob([json]); + formData.append(this.UPLOAD_FILE_NAME, blob, `${this.UPLOAD_FILE_NAME}.json`); + + if (!attachments || attachments.length === 0) { + return formData; + } + for (const attachment of attachments) { + // no support for file paths + if (typeof attachment === 'string') { + continue; + } + formData.append(`attachment_${attachment.name}`, attachment.data.toString(), attachment.name); + } + + return formData; + } +} diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts new file mode 100644 index 00000000..3c1cff93 --- /dev/null +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -0,0 +1,147 @@ +import { + BacktraceAttachment, + BacktraceReportSubmissionResult, + BacktraceRequestHandler, + BacktraceSubmissionResponse, + ConnectionError, + DEFAULT_TIMEOUT, +} from '@backtrace/sdk-core'; +import { BacktraceData } from '@backtrace/sdk-core/src/model/data/BacktraceData'; +import FormData from 'form-data'; +import fs from 'fs'; +import http from 'http'; +import https from 'https'; + +import path from 'path'; + +export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { + private readonly UPLOAD_FILE_NAME = 'upload_file'; + private readonly _timeout: number; + + private readonly JSON_HEADERS = { + 'Content-type': 'application/json', + }; + + constructor( + private readonly _options: { + url: string; + token?: string; + timeout?: number; + ignoreSslCertificate?: boolean; + }, + ) { + this._timeout = this._options.timeout ?? DEFAULT_TIMEOUT; + } + + public async postError( + submissionUrl: string, + data: BacktraceData, + attachments: BacktraceAttachment[], + ): Promise> { + const formData = this.createFormData(JSON.stringify(data), attachments); + return this.send(submissionUrl, formData); + } + + public async post(submissionUrl: string, payload: string): Promise> { + return this.send(submissionUrl, payload); + } + + private async send( + submissionUrl: string, + payload: string | FormData, + ): Promise> { + try { + const url = new URL(submissionUrl); + const httpClient = this.getHttpClient(url); + + return new Promise>((res) => { + const request = httpClient.request( + { + hostname: url.hostname, + path: url.pathname, + port: url.port ?? 443, + rejectUnauthorized: this._options.ignoreSslCertificate === true, + timeout: this._timeout, + method: 'POST', + headers: typeof payload === 'string' ? this.JSON_HEADERS : payload.getHeaders(), + }, + (response) => { + let result = ''; + response.on('data', (d) => { + result += d.toString(); + }); + response.on('end', () => { + switch (response.statusCode) { + case 200: { + res(BacktraceReportSubmissionResult.Ok(JSON.parse(result))); + break; + } + case 401: + case 403: { + res(BacktraceReportSubmissionResult.OnInvalidToken()); + break; + } + case 429: { + res(BacktraceReportSubmissionResult.OnLimitReached()); + break; + } + default: { + res(BacktraceReportSubmissionResult.OnInternalServerError(result)); + break; + } + } + }); + }, + ); + + request.on('error', (err: Error) => { + if (ConnectionError.isConnectionError(err)) { + return res(BacktraceReportSubmissionResult.OnNetworkingError(err.message)); + } + return res(BacktraceReportSubmissionResult.OnInternalServerError(err.message)); + }); + + if (typeof payload === 'string') { + request.write(payload); + } else { + payload.pipe(request); + } + + request.end(); + }); + } catch (err) { + if (ConnectionError.isConnectionError(err)) { + return BacktraceReportSubmissionResult.OnNetworkingError(err.message); + } + + const errorMessage = err instanceof Error ? err.message : (err as string); + return BacktraceReportSubmissionResult.OnUnknownError(errorMessage); + } + } + + private getHttpClient(submissionUrl: URL) { + return submissionUrl.protocol === 'http' ? http : https; + } + private createFormData(json: string, attachments?: BacktraceAttachment[]) { + const formData = new FormData(); + formData.append(this.UPLOAD_FILE_NAME, json, `${this.UPLOAD_FILE_NAME}.json`); + + if (!attachments || attachments.length === 0) { + return formData; + } + + for (const attachment of attachments) { + if (typeof attachment === 'string') { + if (!fs.existsSync(attachment)) { + continue; + } + const name = path.basename(attachment); + formData.append(`attachment_${name}`, fs.createReadStream(attachment), name); + continue; + } + formData.append(`attachment_${attachment.name}`, attachment.data, attachment.name); + } + + return formData; + } +} diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 1f409b26..9ab3c32a 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -1,6 +1,7 @@ export * from './BacktraceCoreClient'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; +export * from './model/http'; export * from './model/report/BacktraceAttachment'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; diff --git a/packages/sdk-core/src/model/data/BacktraceData.ts b/packages/sdk-core/src/model/data/BacktraceData.ts new file mode 100644 index 00000000..2ac39e4e --- /dev/null +++ b/packages/sdk-core/src/model/data/BacktraceData.ts @@ -0,0 +1,17 @@ +import { BacktraceStackTrace } from './BacktraceStackTrace'; + +export type AttributeType = string | number | boolean | undefined | null; + +export interface BacktraceData { + uuid: string; + timestamp: number; + lang: string; + langVersion: string; + agent: string; + agentVersion: string; + mainThread: string; + classifiers: string[]; + attributes: Record; + annotations: Record; + threads: Record; +} diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts new file mode 100644 index 00000000..90c9fa69 --- /dev/null +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -0,0 +1,30 @@ +import { BacktraceConfiguration } from '../configuration/BacktraceConfiguration'; +import { BacktraceData } from '../data/BacktraceData'; +import { BacktraceAttachment } from '../report/BacktraceAttachment'; +import { BacktraceRequestHandler } from './BacktraceRequestHandler'; + +export class BacktraceReportSubmission { + private readonly _submissionUrl: string; + constructor(options: BacktraceConfiguration, private readonly _requestHandler: BacktraceRequestHandler) { + this._submissionUrl = this.generateReportSubmissionUrl(options.url, options.token); + } + + public send(data: BacktraceData, attachments: BacktraceAttachment[]) { + return this._requestHandler.postError(this._submissionUrl, data, attachments); + } + + private generateReportSubmissionUrl(url: string, token?: string) { + // if the token doesn't exist - use URL + if (!token) { + return url; + } + + // if the URL has token in the URL, the user probably added a token once again + // in this case, don't do anything + if (url.indexOf(token) !== -1) { + return url; + } + + return new URL(`/post?format=json&token=${token}`, url).href; + } +} diff --git a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts new file mode 100644 index 00000000..4947bd6c --- /dev/null +++ b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts @@ -0,0 +1,26 @@ +import { BacktraceData } from '../data/BacktraceData'; +import { BacktraceAttachment } from '../report/BacktraceAttachment'; +import { BacktraceSubmissionResponse } from './model/BacktraceSubmissionResponse'; +import { BacktraceReportSubmissionResult } from './model/BacktraceSubmissionResult'; +export const DEFAULT_TIMEOUT = 15_000; +export interface BacktraceRequestHandler { + /** + * Submits error to Backtrace submission API + * @param submissionUrl error submission URL + * @param data Backtrace Data + * @param attachments Report attachments + * @returns Submission result + */ + postError( + submissionUrl: string, + data: BacktraceData, + attachments: BacktraceAttachment[], + ): Promise>; + + /** + * Post data to Backtrace API + * @param submissionUrl data submission URL + * @param payload request payload + */ + post(submissionUrl: string, payload: string): Promise>; +} diff --git a/packages/sdk-core/src/model/http/common/ConnectionError.ts b/packages/sdk-core/src/model/http/common/ConnectionError.ts new file mode 100644 index 00000000..e4f9fb77 --- /dev/null +++ b/packages/sdk-core/src/model/http/common/ConnectionError.ts @@ -0,0 +1,11 @@ +export class ConnectionError { + /** + * Verifies if an Error is a connection error + * @param err error + * @returns true if the error was caused by ETIMEDOUT or ECONNRESET or ECONNABORTED + */ + public static isConnectionError(err: unknown): err is Error & { code: string } { + const error = err as Error & { code: string }; + return error.code === 'ETIMEDOUT' || error.code === 'ECONNRESET' || error.code === 'ECONNABORTED'; + } +} diff --git a/packages/sdk-core/src/model/http/index.ts b/packages/sdk-core/src/model/http/index.ts new file mode 100644 index 00000000..51cf7152 --- /dev/null +++ b/packages/sdk-core/src/model/http/index.ts @@ -0,0 +1,5 @@ +export * from './BacktraceRequestHandler'; +export * from './common/ConnectionError'; +export * from './model/BacktraceSubmissionResponse'; +export * from './model/BacktraceSubmissionResult'; +export * from './model/BacktraceSubmissionStatus'; diff --git a/packages/sdk-core/src/model/http/model/BacktraceSubmissionResponse.ts b/packages/sdk-core/src/model/http/model/BacktraceSubmissionResponse.ts new file mode 100644 index 00000000..13952956 --- /dev/null +++ b/packages/sdk-core/src/model/http/model/BacktraceSubmissionResponse.ts @@ -0,0 +1,17 @@ +export interface BacktraceSubmissionResponse { + response?: string; + /** + * Report ID + */ + _rxid?: string; + /** + * Object Id - id of a submitted report. + * Option available only in the synchronous upload. + */ + object?: string; + /** + * Submitted report fingerprint. + * Option available only in the synchronous upload. + */ + fingerprint?: string; +} diff --git a/packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts b/packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts new file mode 100644 index 00000000..14e71dac --- /dev/null +++ b/packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts @@ -0,0 +1,49 @@ +import { BacktraceSubmissionStatus } from './BacktraceSubmissionStatus'; + +export class BacktraceReportSubmissionResult { + public get result(): T | undefined { + return this._result; + } + + public readonly status: BacktraceSubmissionStatus = 'Ok'; + + private _result?: T; + private constructor(response: T); + private constructor(_status: BacktraceSubmissionStatus, _message?: string); + private constructor(statusOrResponse: T | BacktraceSubmissionStatus, public readonly message?: string) { + if (this.isSubmissionResponse(statusOrResponse)) { + this.status = statusOrResponse; + return; + } + this._result = statusOrResponse; + } + + public static OnLimitReached(): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Limit reached', 'Client report limit reached'); + } + + public static OnInternalServerError(message: string): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Server Error', message); + } + + public static OnInvalidToken(): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Invalid token'); + } + + public static OnUnknownError(message: string): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Unknown', message); + } + public static OnNetworkingError(message: string): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Network Error', message); + } + + public static Ok(response: T) { + return new BacktraceReportSubmissionResult(response); + } + + private isSubmissionResponse( + statusOrResponse: T | BacktraceSubmissionStatus, + ): statusOrResponse is BacktraceSubmissionStatus { + return typeof statusOrResponse === 'string'; + } +} diff --git a/packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts b/packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts new file mode 100644 index 00000000..b3a37bab --- /dev/null +++ b/packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts @@ -0,0 +1,25 @@ +export type BacktraceSubmissionStatus = + /** + * Set when client/server limit is reached + */ + | 'Limit reached' + /** + * Set on successful data submission + */ + | 'Ok' + /** + * Set on networking error (for example: connection reset ) + */ + | 'Network Error' + /** + * Set on internal server error. + */ + | 'Server Error' + /** + * Invalid submission token + */ + | 'Invalid token' + /** + * Unknown error + */ + | 'Unknown'; From 8ca1c50e42904f22d3fb542832b99d99512f875c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 14 Jun 2023 14:05:43 +0200 Subject: [PATCH 026/291] Add form-data package --- package-lock.json | 24 ++++++++---------------- packages/node/package.json | 3 +++ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ead164a..d5f14d27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1758,8 +1758,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/available-typed-arrays": { "version": "1.0.5", @@ -2104,7 +2103,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2232,7 +2230,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -3034,7 +3031,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -4673,7 +4669,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -4682,7 +4677,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -6325,6 +6319,9 @@ "name": "@backtrace/node", "version": "0.0.1", "license": "MIT", + "dependencies": { + "form-data": "^4.0.0" + }, "devDependencies": { "@types/jest": "^29.5.1", "@types/node": "^11.15.54", @@ -6730,6 +6727,7 @@ "requires": { "@types/jest": "^29.5.1", "@types/node": "^11.15.54", + "form-data": "^4.0.0", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" @@ -7508,8 +7506,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "available-typed-arrays": { "version": "1.0.5", @@ -7718,7 +7715,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -7810,8 +7806,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "detect-newline": { "version": "3.1.0", @@ -8364,7 +8359,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -9411,14 +9405,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } diff --git a/packages/node/package.json b/packages/node/package.json index ab6d4635..4ff5b525 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -40,5 +40,8 @@ "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "form-data": "^4.0.0" } } From 4de0399583ed3fdb5d5bdaa3b20956d01be91223 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 15 Jun 2023 17:26:20 +0200 Subject: [PATCH 027/291] Add support for Node 14. (#13) * backtrace-javascript: add @types/node for node 14 * backtrace-javascript: set destination to ES2020 which node 14 supports * backtrace-workflows: add test on node 14 in GitHub --------- Co-authored-by: Sebastian Alex --- .github/workflows/test.yml | 20 ++++++++++++++ package-lock.json | 26 ++++++++++++++++--- package.json | 1 + .../src/model/report/BacktraceReport.ts | 6 +++-- tsconfig.base.json | 2 +- 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dd01db54..8e717f02 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,3 +24,23 @@ jobs: - run: npm run lint - run: npm run format:check - run: npm test + + build_pre_workspaces: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x] + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: npm i -g npm@7 + - run: npm ci + - run: npm run build + - run: npm run lint + - run: npm run format:check + - run: npm test diff --git a/package-lock.json b/package-lock.json index d5f14d27..53bf3548 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "packages/*" ], "devDependencies": { + "@types/node": "^14.18.51", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", @@ -1330,9 +1331,10 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "11.15.54", - "dev": true, - "license": "MIT" + "version": "14.18.51", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.51.tgz", + "integrity": "sha512-P9bsdGFPpVtofEKlhWMVS2qqx1A/rt9QBfihWlklfHHpUpjtYse5AzFz6j4DWrARLYh6gRnw9+5+DJcrq3KvBA==", + "dev": true }, "node_modules/@types/prettier": { "version": "2.7.2", @@ -6333,6 +6335,12 @@ "node": ">=11.15.54" } }, + "packages/node/node_modules/@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + }, "packages/sdk-core": { "name": "@backtrace/sdk-core", "version": "0.0.1", @@ -6731,6 +6739,14 @@ "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "@types/node": { + "version": "11.15.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", + "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", + "dev": true + } } }, "@backtrace/sdk-core": { @@ -7259,7 +7275,9 @@ "dev": true }, "@types/node": { - "version": "11.15.54", + "version": "14.18.51", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.51.tgz", + "integrity": "sha512-P9bsdGFPpVtofEKlhWMVS2qqx1A/rt9QBfihWlklfHHpUpjtYse5AzFz6j4DWrARLYh6gRnw9+5+DJcrq3KvBA==", "dev": true }, "@types/prettier": { diff --git a/package.json b/package.json index 377f7b64..bb1ea77e 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@types/node": "^14.18.51", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 5cc061ba..e73ee30a 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -43,8 +43,10 @@ export class BacktraceReport { this.classifiers = [data.name]; this.message = data.message; this.stackTrace = data.stack ?? ''; - if (data.cause) { - this.innerReport.push(data.cause); + + // Supported in ES2022 + if ((data as { cause?: unknown }).cause) { + this.innerReport.push((data as { cause?: unknown }).cause); } } else { this.message = data; diff --git a/tsconfig.base.json b/tsconfig.base.json index 07ee3c2a..7da5fc09 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2022", + "target": "es2020", "module": "commonjs", "outDir": "./lib", "sourceMap": true, From 8d0592247e50af366782a0efaaa518bd24148844 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 15 Jun 2023 23:41:41 +0200 Subject: [PATCH 028/291] Use factory to generate client and send report to Backtrace (#10) * Use factory to generate client and send report to Backtrace * Time helper mocks * Code review adjustements * Continue on null/undefined * Make id generator more uuidv4 friendly --- packages/browser/src/BacktraceClient.ts | 23 +++- packages/browser/src/agentDefinition.ts | 14 +++ .../src/builder/BacktraceClientBuilder.ts | 30 +++++ .../browser/tests/client/clientTests.spec.ts | 5 +- packages/node/src/BacktraceClient.ts | 14 ++- packages/node/src/agentDefinition.ts | 14 +++ .../src/builder/BacktraceClientBuilder.ts | 12 ++ .../node/tests/client/clientTests.spec.ts | 4 +- packages/sdk-core/src/BacktraceCoreClient.ts | 38 +++++- .../src/builder/BacktraceCoreClientBuilder.ts | 12 ++ packages/sdk-core/src/builder/SdkOptions.ts | 9 ++ packages/sdk-core/src/common/IdGenerator.ts | 19 +++ packages/sdk-core/src/common/TimeHelper.ts | 5 + packages/sdk-core/src/index.ts | 2 + .../sdk-core/src/model/data/BacktraceData.ts | 2 +- .../src/model/report/BacktraceReport.ts | 6 + .../data/AttributeAndAnnotationBuilder.ts | 44 +++++++ .../src/modules/data/BacktraceDataBuilder.ts | 47 +++++++ .../sdk-core/tests/client/clientTests.spec.ts | 16 ++- .../attributeConverterTests.spec.ts | 117 ++++++++++++++++++ .../tests/mocks/BacktraceTestClient.ts | 31 +++++ .../tests/report/dataGenerationTests.spec.ts | 69 +++++++++++ 22 files changed, 517 insertions(+), 16 deletions(-) create mode 100644 packages/browser/src/agentDefinition.ts create mode 100644 packages/browser/src/builder/BacktraceClientBuilder.ts create mode 100644 packages/node/src/agentDefinition.ts create mode 100644 packages/node/src/builder/BacktraceClientBuilder.ts create mode 100644 packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts create mode 100644 packages/sdk-core/src/builder/SdkOptions.ts create mode 100644 packages/sdk-core/src/common/IdGenerator.ts create mode 100644 packages/sdk-core/src/common/TimeHelper.ts create mode 100644 packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts create mode 100644 packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts create mode 100644 packages/sdk-core/tests/converters/attributeConverterTests.spec.ts create mode 100644 packages/sdk-core/tests/mocks/BacktraceTestClient.ts create mode 100644 packages/sdk-core/tests/report/dataGenerationTests.spec.ts diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 9d50809a..286da5a5 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -1,3 +1,22 @@ -import { BacktraceCoreClient } from '@backtrace/sdk-core'; +import { + BacktraceConfiguration, + BacktraceCoreClient, + BacktraceRequestHandler, + BacktraceStackTraceConverter, +} from '@backtrace/sdk-core'; +import { AGENT } from './agentDefinition'; +import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; -export class BacktraceClient extends BacktraceCoreClient {} +export class BacktraceClient extends BacktraceCoreClient { + constructor( + options: BacktraceConfiguration, + handler: BacktraceRequestHandler, + stackTraceConverter: BacktraceStackTraceConverter, + ) { + super(options, AGENT, handler, stackTraceConverter); + } + + public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder(options); + } +} diff --git a/packages/browser/src/agentDefinition.ts b/packages/browser/src/agentDefinition.ts new file mode 100644 index 00000000..2b461983 --- /dev/null +++ b/packages/browser/src/agentDefinition.ts @@ -0,0 +1,14 @@ +import { SdkOptions } from '@backtrace/sdk-core/src/builder/SdkOptions'; + +export const AGENT: SdkOptions = { + langName: 'js', + langVersion: navigator.userAgent, + /** + * To do - in the build stage, we can inject information + * about our package name and agent version. Since we don't have + * it now, I'm leaving it hardcoded, but in the future we want + * to change it and use webpack to generate it + */ + agent: 'backtrace-js', + agentVersion: '0.0.1', +}; diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts new file mode 100644 index 00000000..1b2c009c --- /dev/null +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -0,0 +1,30 @@ +import { BacktraceConfiguration, BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; +import { V8StackTraceConverter } from '@backtrace/sdk-core/src/modules/converter/V8StackTraceConverter'; +import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; +import { BacktraceClient } from '../BacktraceClient'; +import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; +import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStackTraceConverter'; +import { getEngine } from '../engineDetector'; + +export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + constructor(private readonly _options: BacktraceConfiguration) { + super(new BacktraceBrowserRequestHandler(_options)); + } + public build(): BacktraceClient { + return new BacktraceClient(this._options, this.handler, this.generateStackTraceConverter()); + } + + private generateStackTraceConverter(): BacktraceStackTraceConverter { + switch (getEngine()) { + case 'JavaScriptCore': { + return new JavaScriptCoreStackTraceConverter(); + } + case 'SpiderMonkey': { + return new SpiderMonkeyStackTraceConverter(); + } + default: { + return new V8StackTraceConverter(); + } + } + } +} diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index 2321dabd..9dc1135f 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -1,7 +1,10 @@ import { BacktraceClient } from '../../src/'; + describe('Client tests', () => { it('Should create a client', () => { - const client = new BacktraceClient(); + const client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + }).build(); expect(client).toBeDefined(); }); diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 9d50809a..d3955489 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,3 +1,13 @@ -import { BacktraceCoreClient } from '@backtrace/sdk-core'; +import { BacktraceConfiguration, BacktraceCoreClient, BacktraceRequestHandler } from '@backtrace/sdk-core'; +import { AGENT } from './agentDefinition'; +import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; -export class BacktraceClient extends BacktraceCoreClient {} +export class BacktraceClient extends BacktraceCoreClient { + constructor(options: BacktraceConfiguration, handler: BacktraceRequestHandler) { + super(options, AGENT, handler); + } + + public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder(options); + } +} diff --git a/packages/node/src/agentDefinition.ts b/packages/node/src/agentDefinition.ts new file mode 100644 index 00000000..9602968a --- /dev/null +++ b/packages/node/src/agentDefinition.ts @@ -0,0 +1,14 @@ +import { SdkOptions } from '@backtrace/sdk-core/src/builder/SdkOptions'; + +export const AGENT: SdkOptions = { + langName: 'nodejs', + langVersion: process.version, + /** + * To do - in the build stage, we can inject information + * about our package name and agent version. Since we don't have + * it now, I'm leaving it hardcoded, but in the future we want + * to change it and use webpack to generate it + */ + agent: 'backtrace-node', + agentVersion: '0.0.1', +}; diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts new file mode 100644 index 00000000..519e288d --- /dev/null +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -0,0 +1,12 @@ +import { BacktraceConfiguration, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; +import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; + +export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + constructor(private readonly _options: BacktraceConfiguration) { + super(new BacktraceNodeRequestHandler(_options)); + } + public build(): BacktraceClient { + return new BacktraceClient(this._options, this.handler); + } +} diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index 2321dabd..e8c01a0a 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -1,7 +1,9 @@ import { BacktraceClient } from '../../src/'; describe('Client tests', () => { it('Should create a client', () => { - const client = new BacktraceClient(); + const client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + }); expect(client).toBeDefined(); }); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index ca3164ca..f12353bf 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,10 +1,39 @@ +import { BacktraceStackTraceConverter } from '.'; +import { SdkOptions } from './builder/SdkOptions'; +import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; +import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; +import { BacktraceRequestHandler } from './model/http/BacktraceRequestHandler'; import { BacktraceAttachment } from './model/report/BacktraceAttachment'; import { BacktraceReport } from './model/report/BacktraceReport'; -import { BacktraceStackTraceConverter } from './modules/converter/BacktraceStackTraceConverter'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; +import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; +export abstract class BacktraceCoreClient { + /** + * Backtrace SDK name + */ + public get agent(): string { + return this._sdkOptions.agent; + } + /** + * Backtrace SDK version + */ + public get agentVersion(): string { + return this._sdkOptions.agentVersion; + } + + private readonly _dataBuilder: BacktraceDataBuilder; + private readonly _reportSubmission: BacktraceReportSubmission; + + protected constructor( + protected readonly options: BacktraceConfiguration, + private readonly _sdkOptions: SdkOptions, + requestHandler: BacktraceRequestHandler, + stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter(), + ) { + this._dataBuilder = new BacktraceDataBuilder(this._sdkOptions, stackTraceConverter); + this._reportSubmission = new BacktraceReportSubmission(options, requestHandler); + } -export class BacktraceCoreClient { - constructor(private readonly _stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter()) {} /** * Asynchronously sends error data to Backtrace. * @param error Backtrace Report or error or message @@ -44,7 +73,8 @@ export class BacktraceCoreClient { skipFrames: this.skipFrameOnMessage(data), }); - console.log(this._stackTraceConverter.convert(report)); + const backtraceData = this._dataBuilder.build(report, {}, {}); + await this._reportSubmission.send(backtraceData, attachments); } private skipFrameOnMessage(data: Error | string): number { diff --git a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts new file mode 100644 index 00000000..d0db16e8 --- /dev/null +++ b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts @@ -0,0 +1,12 @@ +import { BacktraceCoreClient } from '../BacktraceCoreClient'; +import { BacktraceRequestHandler } from '../model/http/BacktraceRequestHandler'; + +export abstract class BacktraceCoreClientBuilder { + constructor(protected handler: BacktraceRequestHandler) {} + public useRequestHandler(handler: BacktraceRequestHandler): BacktraceCoreClientBuilder { + this.handler = handler; + return this; + } + + public abstract build(): T; +} diff --git a/packages/sdk-core/src/builder/SdkOptions.ts b/packages/sdk-core/src/builder/SdkOptions.ts new file mode 100644 index 00000000..e7fce3cf --- /dev/null +++ b/packages/sdk-core/src/builder/SdkOptions.ts @@ -0,0 +1,9 @@ +/** + * Sdk-specific options used to provide information in the report about the SDK + */ +export interface SdkOptions { + readonly langName: string; + readonly langVersion: string; + readonly agent: string; + readonly agentVersion: string; +} diff --git a/packages/sdk-core/src/common/IdGenerator.ts b/packages/sdk-core/src/common/IdGenerator.ts new file mode 100644 index 00000000..ae11681f --- /dev/null +++ b/packages/sdk-core/src/common/IdGenerator.ts @@ -0,0 +1,19 @@ +import { pseudoRandomBytes } from 'crypto'; +export class IdGenerator { + public static uuid() { + const bytes = pseudoRandomBytes(16); + bytes[6] = (bytes[6] & 0x0f) | 0x40; + bytes[8] = (bytes[8] & 0x3f) | 0x80; + return ( + bytes.slice(0, 4).toString('hex') + + '-' + + bytes.slice(4, 6).toString('hex') + + '-' + + bytes.slice(6, 8).toString('hex') + + '-' + + bytes.slice(8, 10).toString('hex') + + '-' + + bytes.slice(10, 16).toString('hex') + ); + } +} diff --git a/packages/sdk-core/src/common/TimeHelper.ts b/packages/sdk-core/src/common/TimeHelper.ts new file mode 100644 index 00000000..332b3677 --- /dev/null +++ b/packages/sdk-core/src/common/TimeHelper.ts @@ -0,0 +1,5 @@ +export class TimeHelper { + public static timeNowInSec(): number { + return Math.floor(new Date().getTime() / 1000); + } +} diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 9ab3c32a..405ae8fe 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -1,4 +1,6 @@ export * from './BacktraceCoreClient'; +export * from './builder/BacktraceCoreClientBuilder'; +export * from './builder/SdkOptions'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; export * from './model/http'; diff --git a/packages/sdk-core/src/model/data/BacktraceData.ts b/packages/sdk-core/src/model/data/BacktraceData.ts index 2ac39e4e..6cf5bcab 100644 --- a/packages/sdk-core/src/model/data/BacktraceData.ts +++ b/packages/sdk-core/src/model/data/BacktraceData.ts @@ -12,6 +12,6 @@ export interface BacktraceData { mainThread: string; classifiers: string[]; attributes: Record; - annotations: Record; + annotations: Record; threads: Record; } diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index e73ee30a..b15b522f 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,3 +1,4 @@ +import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceAttachment } from './BacktraceAttachment'; import { BacktraceErrorType } from './BacktraceErrorType'; @@ -25,6 +26,11 @@ export class BacktraceReport { */ public readonly innerReport: unknown[] = []; + /** + * Report timestamp in sec + */ + public readonly timestamp = TimeHelper.timeNowInSec(); + /** * Sets how many top frames should be skipped. */ diff --git a/packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts b/packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts new file mode 100644 index 00000000..cf09bfc3 --- /dev/null +++ b/packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts @@ -0,0 +1,44 @@ +import { AttributeType } from '../../model/data/BacktraceData'; +import { BacktraceReport } from '../../model/report/BacktraceReport'; + +export class AttributeAndAnnotationBuilder { + public generate( + report: BacktraceReport, + clientAttributes: Record, + clientAnnotations: Record, + ): { attributes: Record; annotations: Record } { + const annotations: Record = { + ...clientAnnotations, + ...report.annotations, + }; + + const attributes: Record = { + ...clientAttributes, + }; + + for (const attributeKey in report.attributes) { + const value = report.attributes[attributeKey]; + + if (value == null) { + attributes[attributeKey] = value; + continue; + } + + switch (typeof value) { + case 'object': { + annotations[attributeKey] = value; + break; + } + case 'bigint': { + attributes[attributeKey] = value.toString(); + break; + } + default: { + attributes[attributeKey] = value as AttributeType; + } + } + } + + return { attributes, annotations }; + } +} diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts new file mode 100644 index 00000000..2cef508d --- /dev/null +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -0,0 +1,47 @@ +import { BacktraceStackTraceConverter } from '../..'; +import { SdkOptions } from '../../builder/SdkOptions'; +import { IdGenerator } from '../../common/IdGenerator'; +import { AttributeType, BacktraceData } from '../../model/data/BacktraceData'; +import { BacktraceReport } from '../../model/report/BacktraceReport'; +import { AttributeAndAnnotationBuilder } from './AttributeAndAnnotationBuilder'; + +export class BacktraceDataBuilder { + public readonly MAIN_THREAD_NAME = 'main'; + + constructor( + private readonly _sdkOptions: SdkOptions, + private readonly _stackTraceConverter: BacktraceStackTraceConverter, + private readonly _attributeAndAnnotationBuilder: AttributeAndAnnotationBuilder = new AttributeAndAnnotationBuilder(), + ) {} + + public build( + report: BacktraceReport, + clientAttributes: Record = {}, + clientAnnotations: Record = {}, + ): BacktraceData { + const { attributes, annotations } = this._attributeAndAnnotationBuilder.generate( + report, + clientAttributes, + clientAnnotations, + ); + return { + uuid: IdGenerator.uuid(), + timestamp: report.timestamp, + agent: this._sdkOptions.agent, + agentVersion: this._sdkOptions.agentVersion, + lang: this._sdkOptions.langName, + langVersion: this._sdkOptions.langVersion, + classifiers: report.classifiers, + mainThread: this.MAIN_THREAD_NAME, + threads: { + [this.MAIN_THREAD_NAME]: { + fault: true, + name: this.MAIN_THREAD_NAME, + stack: this._stackTraceConverter.convert(report), + }, + }, + annotations, + attributes, + }; + } +} diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index 52d87785..1a85ab96 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -1,23 +1,29 @@ -import { BacktraceCoreClient, BacktraceReport } from '../../src/'; +import { BacktraceReport } from '../../src/'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; describe('Client tests', () => { describe('Send tests', () => { - const client = new BacktraceCoreClient(); - it('Message report shouldnt throw', async () => { + const client = BacktraceTestClient.buildFakeClient(); + + it(`Should not throw an error when sending a message`, async () => { expect(async () => await client.send('test')).not.toThrow(); + expect(client.requestHandler.postError).toBeCalled(); }); - it('Error report shouldnt throw', async () => { + it(`Should not throw when sending an error report`, async () => { expect(async () => await client.send(new Error('test'))).not.toThrow(); + expect(client.requestHandler.postError).toBeCalled(); }); - it('Report shouldnt throw', async () => { + it(`Should not throw when sending a report`, async () => { expect(async () => await client.send(new BacktraceReport(new Error('test')))).not.toThrow(); + expect(client.requestHandler.postError).toBeCalled(); }); it('Should be able to define nullable parameters', async () => { expect( async () => await client.send(new BacktraceReport(new Error('test'), undefined, undefined)), ).not.toThrow(); + expect(client.requestHandler.postError).toBeCalled(); }); }); }); diff --git a/packages/sdk-core/tests/converters/attributeConverterTests.spec.ts b/packages/sdk-core/tests/converters/attributeConverterTests.spec.ts new file mode 100644 index 00000000..d47430ee --- /dev/null +++ b/packages/sdk-core/tests/converters/attributeConverterTests.spec.ts @@ -0,0 +1,117 @@ +import { BacktraceReport } from '../../lib'; +import { AttributeType } from '../../lib/model/data/BacktraceData'; +import { AttributeAndAnnotationBuilder } from '../../src/modules/data/AttributeAndAnnotationBuilder'; +describe('Attribute converter tests', () => { + const attributeAndAnnotationBuilder = new AttributeAndAnnotationBuilder(); + describe('Annotations tests', () => { + it('Should include error information from the report annotations', () => { + const error = new Error('foo'); + const report = new BacktraceReport(error); + + const { annotations } = attributeAndAnnotationBuilder.generate(report, {}, {}); + + const receivedError = annotations['error'] as Error; + expect(receivedError).toBeDefined(); + expect(receivedError.message).toEqual(error.message); + }); + + it('Should merge client and report annotations', () => { + const report = new BacktraceReport(new Error('foo')); + + const clientAnnotations: Record = { + foo: { + a: 1, + b: 2, + }, + }; + const { annotations } = attributeAndAnnotationBuilder.generate(report, {}, clientAnnotations); + + for (const clientAnnotationKey in clientAnnotations) { + expect(annotations[clientAnnotationKey]).toEqual(clientAnnotations[clientAnnotationKey]); + } + + for (const reportAnnotation in report.annotations) { + expect(annotations[reportAnnotation]).toEqual(report.annotations[reportAnnotation]); + } + }); + + it('Report annotation should override client annotation', () => { + const annotationKey = 'foo'; + const reportAnnotation: Record = { + bar: { + a: 3, + b: 4, + }, + }; + const report = new BacktraceReport(new Error('foo'), { + [annotationKey]: reportAnnotation, + }); + const clientAnnotations: Record = { + [annotationKey]: { + a: 1, + b: 2, + }, + }; + const { annotations } = attributeAndAnnotationBuilder.generate(report, {}, clientAnnotations); + + expect(annotations[annotationKey]).toEqual(reportAnnotation); + }); + }); + + describe('Attributes tests', () => { + it('Should combine report and client attributes', () => { + const reportAttributes: Record = { foo: '1', bar: true }; + const clientAttributes: Record = { baz: 1 }; + const report = new BacktraceReport(new Error('foo'), reportAttributes); + + const { attributes } = attributeAndAnnotationBuilder.generate(report, clientAttributes, {}); + + for (const reportAttributeKey in reportAttributes) { + expect(attributes[reportAttributeKey]).toEqual(reportAttributes[reportAttributeKey]); + } + + for (const clientAttributeKey in clientAttributes) { + expect(attributes[clientAttributeKey]).toEqual(clientAttributes[clientAttributeKey]); + } + }); + + it('Report attribute should override client attribute', () => { + const attributeName = 'foo'; + const reportAttributes = { [attributeName]: '1' }; + const clientAttributes = { [attributeName]: 'client attribute' }; + const report = new BacktraceReport(new Error('foo'), reportAttributes); + + const { attributes } = attributeAndAnnotationBuilder.generate(report, clientAttributes, {}); + + expect(attributes[attributeName]).toEqual(reportAttributes[attributeName]); + }); + + it('Should convert bigint to string', () => { + const attributeName = 'bigint'; + const testedValue = BigInt('9999999999999999999999'); + const expectedValue = testedValue.toString(); + const reportAttributes = { [attributeName]: testedValue }; + const report = new BacktraceReport(new Error('foo'), reportAttributes); + + const { attributes } = attributeAndAnnotationBuilder.generate(report, {}, {}); + + expect(attributes[attributeName]).toEqual(expectedValue); + }); + + it(`Should allow to set undefined or null or 0 or empty string`, () => { + const reportAttributes: Record = { + undefinedTest: undefined, + nullTest: null, + zeroTest: 0, + emptyStringTest: '', + }; + const report = new BacktraceReport(new Error('foo'), reportAttributes); + + const { attributes } = attributeAndAnnotationBuilder.generate(report, {}, {}); + + for (const attributeKey in reportAttributes) { + expect(attributes[attributeKey]).toEqual(reportAttributes[attributeKey]); + } + }); + }); +}); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts new file mode 100644 index 00000000..31dd9cc0 --- /dev/null +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -0,0 +1,31 @@ +import { BacktraceCoreClient, BacktraceRequestHandler } from '../../src'; + +export const TOKEN = '590d39eb154cff1d30f2b689f9a928bb592b25e7e7c10192fe208485ea68d91c'; +export const UNIVERSE_NAME = 'test'; +export const TEST_SUBMISSION_URL = `https://${UNIVERSE_NAME}.sp.backtrace.io:6098/post?format=json&token=${TOKEN}`; +export class BacktraceTestClient extends BacktraceCoreClient { + public readonly requestHandler: BacktraceRequestHandler; + constructor(handler: BacktraceRequestHandler) { + super( + { + url: TEST_SUBMISSION_URL, + token: TOKEN, + }, + { + agent: 'test', + agentVersion: '0.0.1', + langName: 'test', + langVersion: 'test', + }, + handler, + ); + this.requestHandler = handler; + } + + public static buildFakeClient() { + return new BacktraceTestClient({ + post: jest.fn().mockResolvedValue(Promise.resolve()), + postError: jest.fn().mockResolvedValue(Promise.resolve()), + }); + } +} diff --git a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts new file mode 100644 index 00000000..95cedef5 --- /dev/null +++ b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts @@ -0,0 +1,69 @@ +import { BacktraceReport } from '../../src'; +import { TimeHelper } from '../../src/common/TimeHelper'; +import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; +import { BacktraceDataBuilder } from '../../src/modules/data/BacktraceDataBuilder'; + +describe('Data generation tests', () => { + const sdkOptions = { + agent: 'test', + agentVersion: '0.0.1', + langName: 'test', + langVersion: 'test', + }; + const dataBuilder = new BacktraceDataBuilder(sdkOptions, new V8StackTraceConverter()); + + it('Should set sdk options in the Backtrace data', () => { + const backtraceData = dataBuilder.build(new BacktraceReport(new Error())); + expect(backtraceData.agent).toEqual(sdkOptions.agent); + expect(backtraceData.agentVersion).toEqual(sdkOptions.agentVersion); + expect(backtraceData.langVersion).toEqual(sdkOptions.langVersion); + expect(backtraceData.lang).toEqual(sdkOptions.langName); + }); + + it('Should generate different uuid for each report ', () => { + const backtraceData = dataBuilder.build(new BacktraceReport(new Error())); + const comparedData = dataBuilder.build(new BacktraceReport(new Error())); + + expect(backtraceData.uuid).not.toEqual(comparedData.uuid); + }); + + it('Should generate correct timestamp', () => { + const timestamp = Date.now(); + jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { + return timestamp; + }); + const backtraceData = dataBuilder.build(new BacktraceReport(new Error())); + + expect(backtraceData.timestamp).toEqual(timestamp); + }); + + it('Should set classifiers based on the error report', () => { + const errorReport = new BacktraceReport(new Error()); + const backtraceData = dataBuilder.build(errorReport); + + expect(backtraceData.classifiers).toBe(errorReport.classifiers); + }); + + it('Should set classifiers based on the message report', () => { + const errorReport = new BacktraceReport('test'); + const backtraceData = dataBuilder.build(errorReport); + + expect(backtraceData.classifiers).toBe(errorReport.classifiers); + }); + + it('Should always have annotations', () => { + const errorReport = new BacktraceReport(new Error()); + const backtraceData = dataBuilder.build(errorReport); + + expect(backtraceData.annotations).toBeDefined(); + expect(backtraceData.annotations).toMatchObject(errorReport.annotations); + }); + + it('Should always have attributes', () => { + const errorReport = new BacktraceReport(new Error()); + const backtraceData = dataBuilder.build(errorReport); + + expect(backtraceData.attributes).toBeDefined(); + expect(backtraceData.attributes).toMatchObject(errorReport.attributes); + }); +}); From 0b61c37d738389f9279cc4699f0ca98a67ac5c12 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 19 Jun 2023 11:35:22 +0200 Subject: [PATCH 029/291] Generating and sending reports to Backtrace #12 #11 #10 --- package-lock.json | 36 +++++++- packages/browser/src/BacktraceClient.ts | 2 +- packages/node/package.json | 3 +- packages/node/src/BacktraceClient.ts | 15 +++- .../LinuxProcessStatusAttributeProvider.ts | 82 +++++++++++++++++++ .../attributes/MachineAttributeProvider.ts | 22 +++++ .../MachineIdentitfierAttributeProvider.ts | 58 +++++++++++++ .../ProcessInformationAttributeProvider.ts | 38 +++++++++ .../ProcessStatusAttributeProvider.ts | 22 +++++ packages/node/src/attributes/index.ts | 5 ++ .../attributes/processStatusInformationMap.ts | 46 +++++++++++ .../src/builder/BacktraceClientBuilder.ts | 24 +++++- packages/node/src/common/UnitConverter.ts | 5 ++ .../machineIdAttributeProviderTests.spec.ts | 18 ++++ .../node/tests/client/clientTests.spec.ts | 2 +- packages/sdk-core/src/BacktraceCoreClient.ts | 63 ++++++++++++-- .../src/builder/BacktraceCoreClientBuilder.ts | 6 +- packages/sdk-core/src/index.ts | 2 + .../src/model/report/BacktraceReport.ts | 1 + .../sdk-core/src/model/report/ReportData.ts | 6 ++ .../src/modules/attribute/AttributeManager.ts | 78 ++++++++++++++++++ .../attribute/BacktraceAttributeProvider.ts | 15 ++++ .../attribute/ClientAttributeProvider.ts | 19 +++++ .../modules/attribute/ReportDataBuilder.ts | 34 ++++++++ .../src/modules/data/BacktraceDataBuilder.ts | 23 +++--- .../modules/rateLimiter/RateLimitWatcher.ts | 57 +++++++++++++ .../tests/client/attributesTests.spec.ts | 82 +++++++++++++++++++ .../client/reportLimitWatcherTests.spec.ts | 64 +++++++++++++++ .../tests/mocks/BacktraceTestClient.ts | 18 ++-- 29 files changed, 812 insertions(+), 34 deletions(-) create mode 100644 packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts create mode 100644 packages/node/src/attributes/MachineAttributeProvider.ts create mode 100644 packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts create mode 100644 packages/node/src/attributes/ProcessInformationAttributeProvider.ts create mode 100644 packages/node/src/attributes/ProcessStatusAttributeProvider.ts create mode 100644 packages/node/src/attributes/index.ts create mode 100644 packages/node/src/attributes/processStatusInformationMap.ts create mode 100644 packages/node/src/common/UnitConverter.ts create mode 100644 packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts create mode 100644 packages/sdk-core/src/model/report/ReportData.ts create mode 100644 packages/sdk-core/src/modules/attribute/AttributeManager.ts create mode 100644 packages/sdk-core/src/modules/attribute/BacktraceAttributeProvider.ts create mode 100644 packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts create mode 100644 packages/sdk-core/src/modules/attribute/ReportDataBuilder.ts create mode 100644 packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts create mode 100644 packages/sdk-core/tests/client/attributesTests.spec.ts create mode 100644 packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts diff --git a/package-lock.json b/package-lock.json index 53bf3548..b1300931 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4726,6 +4726,15 @@ "dev": true, "license": "MIT" }, + "node_modules/native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "4" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, @@ -4736,6 +4745,16 @@ "dev": true, "license": "MIT" }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, "node_modules/node-int64": { "version": "0.4.0", "dev": true, @@ -6322,7 +6341,8 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "form-data": "^4.0.0" + "form-data": "^4.0.0", + "native-reg": "^1.1.1" }, "devDependencies": { "@types/jest": "^29.5.1", @@ -6737,6 +6757,7 @@ "@types/node": "^11.15.54", "form-data": "^4.0.0", "jest": "^29.5.0", + "native-reg": "*", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, @@ -9456,6 +9477,14 @@ "version": "2.1.2", "dev": true }, + "native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "requires": { + "node-gyp-build": "4" + } + }, "natural-compare": { "version": "1.4.0", "dev": true @@ -9464,6 +9493,11 @@ "version": "1.4.0", "dev": true }, + "node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + }, "node-int64": { "version": "0.4.0", "dev": true diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 286da5a5..0f48d872 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -13,7 +13,7 @@ export class BacktraceClient extends BacktraceCoreClient { handler: BacktraceRequestHandler, stackTraceConverter: BacktraceStackTraceConverter, ) { - super(options, AGENT, handler, stackTraceConverter); + super(options, AGENT, handler, [], stackTraceConverter); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { diff --git a/packages/node/package.json b/packages/node/package.json index 4ff5b525..3d9dca7e 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -42,6 +42,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "form-data": "^4.0.0" + "form-data": "^4.0.0", + "native-reg": "^1.1.1" } } diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index d3955489..405e91df 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,10 +1,19 @@ -import { BacktraceConfiguration, BacktraceCoreClient, BacktraceRequestHandler } from '@backtrace/sdk-core'; +import { + BacktraceAttributeProvider, + BacktraceConfiguration, + BacktraceCoreClient, + BacktraceRequestHandler, +} from '@backtrace/sdk-core'; import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { - constructor(options: BacktraceConfiguration, handler: BacktraceRequestHandler) { - super(options, AGENT, handler); + constructor( + options: BacktraceConfiguration, + handler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[], + ) { + super(options, AGENT, handler, attributeProviders); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { diff --git a/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts b/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts new file mode 100644 index 00000000..1b5649a8 --- /dev/null +++ b/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts @@ -0,0 +1,82 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import fs from 'fs'; +import { MEMORY_ATTRIBUTE_MAP, MEMORY_INFORMATION_REGEX, PROCESS_STATUS_MAP } from './processStatusInformationMap'; + +export class LinuxProcessStatusAttributeProvider implements BacktraceAttributeProvider { + private readonly _isLinux = process.platform === 'linux'; + public get type(): 'scoped' | 'dynamic' { + return this._isLinux ? 'dynamic' : 'scoped'; + } + public get(): Record { + if (!this._isLinux) { + return {}; + } + + const memoryInformation = this.getMemoryInformation(); + const processInformation = this.getProcessStatus(); + return { + ...memoryInformation, + ...processInformation, + }; + } + + private getMemoryInformation() { + const result: Record = {}; + let file = ''; + try { + file = fs.readFileSync('/proc/meminfo', { encoding: 'utf8' }); + } catch (err) { + return {}; + } + + const lines = file.trim().split('\n'); + for (const line of lines) { + const match = line.match(MEMORY_INFORMATION_REGEX); + if (!match) { + continue; + } + const name = match[1]; + const attrName = MEMORY_ATTRIBUTE_MAP[name]; + if (!attrName) { + continue; + } + + let number = parseInt(match[2], 10); + const units = match[3]; + if (units === 'kB') { + number *= 1024; + } + result[attrName] = number; + } + + return result; + } + + private getProcessStatus() { + // Justification for doing this synchronously: + // * We need to collect this information in the process uncaughtException handler, in which the + // event loop is not safe to use. + // * We are collecting a snapshot of virtual memory used. If this is done asynchronously, then + // we may pick up virtual memory information for a time different than the moment we are + // interested in. + // * procfs is a virtual filesystem; there is no disk I/O to block on. It's synchronous anyway. + let contents; + try { + contents = fs.readFileSync('/proc/self/status', { encoding: 'utf8' }); + } catch (err) { + return {}; + } + const result: Record = {}; + + for (let i = 0; i < PROCESS_STATUS_MAP.length; i += 1) { + const item = PROCESS_STATUS_MAP[i]; + const match = contents.match(item.re); + if (!match) { + continue; + } + result[item.attr] = item.parse(match[1], 10); + } + + return result; + } +} diff --git a/packages/node/src/attributes/MachineAttributeProvider.ts b/packages/node/src/attributes/MachineAttributeProvider.ts new file mode 100644 index 00000000..226d7234 --- /dev/null +++ b/packages/node/src/attributes/MachineAttributeProvider.ts @@ -0,0 +1,22 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import os from 'os'; + +export class MachineAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + const cpus = os.cpus(); + return { + 'cpu.arch': os.arch(), + 'cpu.boottime': Math.floor(Date.now() / 1000) - os.uptime(), + 'cpu.count': cpus.length, + 'cpu.brand': cpus[0].model, + 'cpu.frequency': cpus[0].speed, + 'system.memory.total': os.totalmem(), + hostname: os.hostname(), + 'uname.version': os.release(), + 'Environment Variables': process.env, + }; + } +} diff --git a/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts b/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts new file mode 100644 index 00000000..3085353e --- /dev/null +++ b/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts @@ -0,0 +1,58 @@ +import { BacktraceAttributeProvider, IdGenerator } from '@backtrace/sdk-core'; +import { execSync } from 'child_process'; +import { getValue, HKEY } from 'native-reg'; + +export class MachineIdentitfierAttributeProvider implements BacktraceAttributeProvider { + public static readonly SUPPORTED_PLATFORMS = ['win32', 'darwin', 'linux', 'freebsd']; + private readonly MACHINE_ID_ATTRIBUTE = 'guid'; + + private readonly COMMANDS = { + darwin: 'ioreg -rd1 -c IOPlatformExpertDevice', + linux: '( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :', + freebsd: 'kenv -q smbios.system.uuid || sysctl -n kern.hostuuid', + }; + + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + const guid = this.generateGuid() ?? IdGenerator.uuid(); + + return { + [this.MACHINE_ID_ATTRIBUTE]: guid, + }; + } + + public generateGuid() { + switch (process.platform) { + case 'win32': { + return this.getWindowsMachineId() + ?.replace(/\r+|\n+|\s+/gi, '') + .toLowerCase(); + } + case 'darwin': { + return execSync(this.COMMANDS[process.platform]) + .toString() + .split('IOPlatformUUID')[1] + .split('\n')[0] + .replace(/=|\s+|"/gi, '') + .toLowerCase(); + } + case 'linux': + case 'freebsd': { + return execSync(this.COMMANDS[process.platform]) + .toString() + .replace(/\r+|\n+|\s+/gi, '') + .toLowerCase(); + } + default: { + return null; + } + } + } + + private getWindowsMachineId() { + const regVal = getValue(HKEY.LOCAL_MACHINE, 'SOFTWARE\\Microsoft\\Cryptography', 'MachineGuid'); + return regVal?.toString(); + } +} diff --git a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts new file mode 100644 index 00000000..74de1ab1 --- /dev/null +++ b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts @@ -0,0 +1,38 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; + +export class ProcessInformationAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + return { + application: process.title, + // this information is only available if someone uses npm command + // If it isn't we have to get this information in a different way + // probably by reading the package.json file or process info + 'application.version': process.env.npm_package_version, + 'process.thread.count': 1, + 'process.cwd': process.cwd(), + pid: process.pid, + 'uname.machine': process.arch, + 'uname.sysname': this.convertPlatformToAttribute(process.platform), + environment: process.env.NODE_ENV, + 'debug.port': process.debugPort, + 'Exec Arguments': process.execArgv, + }; + } + + private convertPlatformToAttribute(platform: NodeJS.Platform): string { + switch (platform) { + case 'win32': { + return 'Windows'; + } + case 'darwin': { + return 'Mac OS'; + } + default: { + return platform.charAt(0).toUpperCase() + platform.slice(1); + } + } + } +} diff --git a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts new file mode 100644 index 00000000..9ea925d8 --- /dev/null +++ b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts @@ -0,0 +1,22 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { AttributeType } from '@backtrace/sdk-core/src/model/data/BacktraceData'; +import os from 'os'; + +export class ProcessStatusAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'dynamic'; + } + public get(): Record { + const processMemoryUsage = process.memoryUsage(); + + const result: Record = { + 'vm.rss.size': processMemoryUsage.rss, + 'gc.heap.total': processMemoryUsage.heapTotal, + 'gc.heap.used': processMemoryUsage.heapUsed, + 'process.age': Math.floor(process.uptime()), + 'system.memory.free': os.freemem(), + }; + + return result; + } +} diff --git a/packages/node/src/attributes/index.ts b/packages/node/src/attributes/index.ts new file mode 100644 index 00000000..ecae972e --- /dev/null +++ b/packages/node/src/attributes/index.ts @@ -0,0 +1,5 @@ +export * from './LinuxProcessStatusAttributeProvider'; +export * from './MachineAttributeProvider'; +export * from './MachineIdentitfierAttributeProvider'; +export * from './ProcessInformationAttributeProvider'; +export * from './ProcessStatusAttributeProvider'; diff --git a/packages/node/src/attributes/processStatusInformationMap.ts b/packages/node/src/attributes/processStatusInformationMap.ts new file mode 100644 index 00000000..44a9e703 --- /dev/null +++ b/packages/node/src/attributes/processStatusInformationMap.ts @@ -0,0 +1,46 @@ +import { UnitConverter } from '../common/UnitConverter'; + +export const MEMORY_INFORMATION_REGEX = /^(.+):\s+(\d+)\s*(.+)?$/; +export const MEMORY_ATTRIBUTE_MAP: Record = { + MemTotal: 'system.memory.total', + MemFree: 'system.memory.free', + MemAvailable: 'system.memory.available', + Buffers: 'system.memory.buffers', + Cached: 'system.memory.cached', + SwapCached: 'system.memory.swap.cached', + Active: 'system.memory.active', + Inactive: 'system.memory.inactive', + SwapTotal: 'system.memory.swap.total', + SwapFree: 'system.memory.swap.free', + Dirty: 'system.memory.dirty', + Writeback: 'system.memory.writeback', + Slab: 'system.memory.slab', + VmallocTotal: 'system.memory.vmalloc.total', + VmallocUsed: 'system.memory.vmalloc.used', + VmallocChunk: 'system.memory.vmalloc.chunk', +}; + +export const PROCESS_STATUS_MAP = [ + { + re: /^nonvoluntary_ctxt_switches:\s+(\d+)$/m, + parse: parseInt, + attr: 'sched.cs.involuntary', + }, + { + re: /^voluntary_ctxt_switches:\s+(\d+)$/m, + parse: parseInt, + attr: 'sched.cs.voluntary', + }, + { re: /^FDSize:\s+(\d+)$/m, parse: parseInt, attr: 'descriptor.count' }, + { re: /^FDSize:\s+(\d+)$/m, parse: parseInt, attr: 'descriptor.count' }, + { re: /^VmData:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.data.size' }, + { re: /^VmLck:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.locked.size' }, + { re: /^VmPTE:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.pte.size' }, + { re: /^VmHWM:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.rss.peak' }, + { re: /^VmRSS:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.rss.size' }, + { re: /^VmLib:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.shared.size' }, + { re: /^VmStk:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.stack.size' }, + { re: /^VmSwap:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.swap.size' }, + { re: /^VmPeak:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.vma.peak' }, + { re: /^VmSize:\s+(\d+)\s+kB$/m, parse: UnitConverter.parseKb, attr: 'vm.vma.size' }, +]; diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index 519e288d..96181538 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,12 +1,30 @@ -import { BacktraceConfiguration, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider, BacktraceConfiguration, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; +import { + LinuxProcessStatusAttributeProvider, + MachineAttributeProvider, + MachineIdentitfierAttributeProvider, + ProcessInformationAttributeProvider, + ProcessStatusAttributeProvider, +} from '../attributes'; import { BacktraceClient } from '../BacktraceClient'; import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { constructor(private readonly _options: BacktraceConfiguration) { - super(new BacktraceNodeRequestHandler(_options)); + super(new BacktraceNodeRequestHandler(_options), [ + new ProcessStatusAttributeProvider(), + new MachineAttributeProvider(), + new ProcessInformationAttributeProvider(), + new LinuxProcessStatusAttributeProvider(), + new MachineIdentitfierAttributeProvider(), + ]); } + + public addAttributeProvider(provider: BacktraceAttributeProvider) { + this.attributeProviders.push(provider); + } + public build(): BacktraceClient { - return new BacktraceClient(this._options, this.handler); + return new BacktraceClient(this._options, this.handler, this.attributeProviders); } } diff --git a/packages/node/src/common/UnitConverter.ts b/packages/node/src/common/UnitConverter.ts new file mode 100644 index 00000000..c1260c89 --- /dev/null +++ b/packages/node/src/common/UnitConverter.ts @@ -0,0 +1,5 @@ +export class UnitConverter { + public static parseKb(str: string): number { + return parseInt(str, 10) * 1024; + } +} diff --git a/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts b/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts new file mode 100644 index 00000000..dfdd9745 --- /dev/null +++ b/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts @@ -0,0 +1,18 @@ +import { MachineIdentitfierAttributeProvider } from '../../src/attributes/MachineIdentitfierAttributeProvider'; + +describe('Machined id attribute provider test', () => { + if (MachineIdentitfierAttributeProvider.SUPPORTED_PLATFORMS.includes(process.platform)) { + it('Should always generate the same identifier', () => { + const machineIdentifier1 = new MachineIdentitfierAttributeProvider(); + const machineIdentifier2 = new MachineIdentitfierAttributeProvider(); + + expect(machineIdentifier1.generateGuid()).toBe(machineIdentifier2.generateGuid()); + }); + } + + it(`Should always set machine id attribute`, () => { + const machineIdentifier = new MachineIdentitfierAttributeProvider(); + + expect(machineIdentifier.get()['guid']).toBeDefined(); + }); +}); diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index e8c01a0a..d2cf235c 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -3,7 +3,7 @@ describe('Client tests', () => { it('Should create a client', () => { const client = BacktraceClient.builder({ url: 'https://submit.backtrace.io/foo/bar/baz', - }); + }).build(); expect(client).toBeDefined(); }); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index f12353bf..b860be3a 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,13 +1,25 @@ -import { BacktraceStackTraceConverter } from '.'; +import { BacktraceAttributeProvider, BacktraceStackTraceConverter } from '.'; import { SdkOptions } from './builder/SdkOptions'; +import { IdGenerator } from './common/IdGenerator'; import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; +import { AttributeType } from './model/data/BacktraceData'; import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; import { BacktraceRequestHandler } from './model/http/BacktraceRequestHandler'; import { BacktraceAttachment } from './model/report/BacktraceAttachment'; import { BacktraceReport } from './model/report/BacktraceReport'; +import { AttributeManager } from './modules/attribute/AttributeManager'; +import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; +import { RateLimitWatcher } from './modules/rateLimiter/RateLimitWatcher'; export abstract class BacktraceCoreClient { + /** + * Current session id + */ + public get sessionId(): string { + return this._sessionId; + } + /** * Backtrace SDK name */ @@ -21,17 +33,51 @@ export abstract class BacktraceCoreClient { return this._sdkOptions.agentVersion; } + /** + * Available cached client attributes + */ + public get attributes(): Record { + return this._attributeProvider.attributes; + } + + /** + * Available cached client annotatations + */ + public get annotations(): Record { + return this._attributeProvider.annotations; + } + private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; + private readonly _rateLimitWatcher: RateLimitWatcher; + private readonly _attributeProvider: AttributeManager; + /** + * Current session Id + */ + private readonly _sessionId: string = IdGenerator.uuid(); protected constructor( protected readonly options: BacktraceConfiguration, private readonly _sdkOptions: SdkOptions, requestHandler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[] = [], stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter(), ) { this._dataBuilder = new BacktraceDataBuilder(this._sdkOptions, stackTraceConverter); this._reportSubmission = new BacktraceReportSubmission(options, requestHandler); + this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); + this._attributeProvider = new AttributeManager([ + new ClientAttributeProvider(_sdkOptions.agentVersion, this._sessionId, options.userAttributes ?? {}), + ...(attributeProviders ?? []), + ]); + } + + /** + * Add attribute to Backtrace Client reports. + * @param attributes key-value object with attributes. + */ + public addAttribute(attributes: Record) { + this._attributeProvider.add(attributes); } /** @@ -64,17 +110,22 @@ export abstract class BacktraceCoreClient { public async send(report: BacktraceReport): Promise; public async send( data: BacktraceReport | Error | string, - attributes: Record = {}, - attachments: BacktraceAttachment[] = [], + reportAttributes: Record = {}, + reportAttachments: BacktraceAttachment[] = [], ): Promise { + if (this._rateLimitWatcher.skipReport()) { + return; + } + const report = this.isReport(data) ? data - : new BacktraceReport(data, attributes, attachments, { + : new BacktraceReport(data, reportAttributes, reportAttachments, { skipFrames: this.skipFrameOnMessage(data), }); - const backtraceData = this._dataBuilder.build(report, {}, {}); - await this._reportSubmission.send(backtraceData, attachments); + const { annotations, attributes } = this._attributeProvider.get(); + const backtraceData = this._dataBuilder.build(report, attributes, annotations); + await this._reportSubmission.send(backtraceData, report.attachments); } private skipFrameOnMessage(data: Error | string): number { diff --git a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts index d0db16e8..5909f436 100644 --- a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts +++ b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts @@ -1,8 +1,12 @@ import { BacktraceCoreClient } from '../BacktraceCoreClient'; import { BacktraceRequestHandler } from '../model/http/BacktraceRequestHandler'; +import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttributeProvider'; export abstract class BacktraceCoreClientBuilder { - constructor(protected handler: BacktraceRequestHandler) {} + constructor( + protected handler: BacktraceRequestHandler, + protected readonly attributeProviders: BacktraceAttributeProvider[] = [], + ) {} public useRequestHandler(handler: BacktraceRequestHandler): BacktraceCoreClientBuilder { this.handler = handler; return this; diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 405ae8fe..d7040228 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -1,10 +1,12 @@ export * from './BacktraceCoreClient'; export * from './builder/BacktraceCoreClientBuilder'; export * from './builder/SdkOptions'; +export * from './common/IdGenerator'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; export * from './model/http'; export * from './model/report/BacktraceAttachment'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; +export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/converter'; diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index b15b522f..83812603 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -64,5 +64,6 @@ export class BacktraceReport { if (!this.attributes['error.type']) { this.attributes['error.type'] = errorType; } + this.attributes['error.message'] = this.message; } } diff --git a/packages/sdk-core/src/model/report/ReportData.ts b/packages/sdk-core/src/model/report/ReportData.ts new file mode 100644 index 00000000..677fef23 --- /dev/null +++ b/packages/sdk-core/src/model/report/ReportData.ts @@ -0,0 +1,6 @@ +import { AttributeType } from '../data/BacktraceData'; + +export interface ReportData { + attributes: Record; + annotations: Record; +} diff --git a/packages/sdk-core/src/modules/attribute/AttributeManager.ts b/packages/sdk-core/src/modules/attribute/AttributeManager.ts new file mode 100644 index 00000000..c524e4b0 --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/AttributeManager.ts @@ -0,0 +1,78 @@ +import { AttributeType } from '../../model/data/BacktraceData'; +import { ReportData } from '../../model/report/ReportData'; +import { BacktraceAttributeProvider } from './BacktraceAttributeProvider'; +import { ReportDataBuilder } from './ReportDataBuilder'; + +export class AttributeManager { + public readonly attributes: Record = {}; + public readonly annotations: Record = {}; + + private readonly _dynamicAttributeProviders: BacktraceAttributeProvider[] = []; + + constructor(providers: BacktraceAttributeProvider[]) { + for (const provider of providers) { + this.addProvider(provider); + } + } + + /** + * Adds attributes to manager manager cache + * @param attributes attributes object + */ + public add(attributes: Record) { + this.addStaticAttributes(attributes); + } + + /** + * Adds attribute provider to the manager + * @param attributeProvider + * @returns + */ + public async addProvider(attributeProvider: BacktraceAttributeProvider) { + if (attributeProvider.type === 'dynamic') { + this._dynamicAttributeProviders.push(attributeProvider); + return; + } + const attributes = attributeProvider.get(); + this.addStaticAttributes(attributes); + } + + /** + * Gets client attributes + * @returns Report attribute - client attributes and annotations + */ + public get(): ReportData { + const result = { + annotations: { + ...this.annotations, + }, + attributes: { ...this.attributes }, + }; + + for (const attributeProvider of this._dynamicAttributeProviders) { + const providerResult = ReportDataBuilder.build(attributeProvider.get()); + result.attributes = { + ...result.attributes, + ...providerResult.attributes, + }; + + result.annotations = { + ...result.annotations, + ...providerResult.annotations, + }; + } + + return result; + } + + private addStaticAttributes(attributes: Record) { + const reportAttributes = ReportDataBuilder.build(attributes); + for (const attributeKey in reportAttributes.attributes) { + this.attributes[attributeKey] = reportAttributes.attributes[attributeKey]; + } + + for (const annotationKey in reportAttributes.annotations) { + this.annotations[annotationKey] = reportAttributes.annotations[annotationKey]; + } + } +} diff --git a/packages/sdk-core/src/modules/attribute/BacktraceAttributeProvider.ts b/packages/sdk-core/src/modules/attribute/BacktraceAttributeProvider.ts new file mode 100644 index 00000000..84b68ea5 --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/BacktraceAttributeProvider.ts @@ -0,0 +1,15 @@ +export interface BacktraceAttributeProvider { + /** + * Return attribute provider type. Based on the type, attribute provider is being invoked + * once or per every report. + * - scoped: means the attribute provider will be invoked only once just after adding the + * provider to the client. + * - dynamic: means the attribute will be invoked every time before the report data generation + */ + get type(): 'scoped' | 'dynamic'; + + /** + * Generate provider attributes + */ + get(): Record; +} diff --git a/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts b/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts new file mode 100644 index 00000000..5a84f0fe --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts @@ -0,0 +1,19 @@ +import { BacktraceAttributeProvider } from './BacktraceAttributeProvider'; + +export class ClientAttributeProvider implements BacktraceAttributeProvider { + constructor( + private readonly _sdkVersion: string, + private readonly _sessionId: string, + private readonly _userAttributes: Record, + ) {} + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + return { + 'application.session': this._sessionId, + 'backtrace.version': this._sdkVersion, + ...this._userAttributes, + }; + } +} diff --git a/packages/sdk-core/src/modules/attribute/ReportDataBuilder.ts b/packages/sdk-core/src/modules/attribute/ReportDataBuilder.ts new file mode 100644 index 00000000..1a96e7dd --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/ReportDataBuilder.ts @@ -0,0 +1,34 @@ +import { AttributeType } from '../../model/data/BacktraceData'; +import { ReportData } from '../../model/report/ReportData'; + +export class ReportDataBuilder { + public static build(attributes: Record): ReportData { + const result: ReportData = { annotations: {}, attributes: {} }; + if (!attributes) { + return result; + } + for (const attributeKey in attributes) { + const attribute = attributes[attributeKey]; + if (attribute == null) { + result.attributes[attributeKey] = attribute; + continue; + } + switch (typeof attribute) { + case 'object': { + result.annotations[attributeKey] = attribute; + break; + } + case 'bigint': { + result.attributes[attributeKey] = attribute.toString(); + break; + } + default: { + result.attributes[attributeKey] = attribute as AttributeType; + break; + } + } + } + + return result; + } +} diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index 2cef508d..0a9b6b13 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -3,7 +3,7 @@ import { SdkOptions } from '../../builder/SdkOptions'; import { IdGenerator } from '../../common/IdGenerator'; import { AttributeType, BacktraceData } from '../../model/data/BacktraceData'; import { BacktraceReport } from '../../model/report/BacktraceReport'; -import { AttributeAndAnnotationBuilder } from './AttributeAndAnnotationBuilder'; +import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; export class BacktraceDataBuilder { public readonly MAIN_THREAD_NAME = 'main'; @@ -11,19 +11,15 @@ export class BacktraceDataBuilder { constructor( private readonly _sdkOptions: SdkOptions, private readonly _stackTraceConverter: BacktraceStackTraceConverter, - private readonly _attributeAndAnnotationBuilder: AttributeAndAnnotationBuilder = new AttributeAndAnnotationBuilder(), ) {} public build( report: BacktraceReport, clientAttributes: Record = {}, - clientAnnotations: Record = {}, + clientAnnotations: Record = {}, ): BacktraceData { - const { attributes, annotations } = this._attributeAndAnnotationBuilder.generate( - report, - clientAttributes, - clientAnnotations, - ); + const reportData = ReportDataBuilder.build(report.attributes); + return { uuid: IdGenerator.uuid(), timestamp: report.timestamp, @@ -40,8 +36,15 @@ export class BacktraceDataBuilder { stack: this._stackTraceConverter.convert(report), }, }, - annotations, - attributes, + annotations: { + ...clientAnnotations, + ...reportData.annotations, + ...report.annotations, + }, + attributes: { + ...clientAttributes, + ...reportData.attributes, + }, }; } } diff --git a/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts b/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts new file mode 100644 index 00000000..fbf06fd2 --- /dev/null +++ b/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts @@ -0,0 +1,57 @@ +import { TimeHelper } from '../../common/TimeHelper'; + +export class RateLimitWatcher { + /** + * Time the single report can stay in the queue. + */ + public readonly MAXIMUM_TIME_IN_QUEUE = 60; + + private readonly _reportPerMin: number; + private readonly _watcherEnable: boolean; + private _reportQueue: number[] = []; + + public get enabled(): boolean { + return this._watcherEnable; + } + + constructor(reportPerMin?: number) { + if (reportPerMin == null) { + reportPerMin = 0; + } + if (reportPerMin < 0) { + throw new Error('ReportPerMinute argument must be greater or equal to zero'); + } + this._reportPerMin = reportPerMin; + this._watcherEnable = reportPerMin > 0; + } + + public skipReport(): boolean { + const time = TimeHelper.timeNowInSec(); + if (!this._watcherEnable) { + return false; + } + this.clear(time); + if (this._reportQueue.length >= this._reportPerMin) { + return true; + } + this._reportQueue.push(time); + return false; + } + + private clear(time: number): void { + if (this._reportQueue.length === 0) { + return; + } + // we don't have anything to remove + if (time - this._reportQueue[0] < this.MAXIMUM_TIME_IN_QUEUE) { + return; + } + + for (let queueIndex = this._reportQueue.length; queueIndex != 0; queueIndex--) { + if (time - this._reportQueue[queueIndex - 1] > this.MAXIMUM_TIME_IN_QUEUE) { + this._reportQueue = this._reportQueue.slice(queueIndex); + return; + } + } + } +} diff --git a/packages/sdk-core/tests/client/attributesTests.spec.ts b/packages/sdk-core/tests/client/attributesTests.spec.ts new file mode 100644 index 00000000..5f177b9d --- /dev/null +++ b/packages/sdk-core/tests/client/attributesTests.spec.ts @@ -0,0 +1,82 @@ +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; + +describe('Attributes tests', () => { + describe('Client attribute add', () => { + it('Should add an attribute to the client cache', () => { + const client = BacktraceTestClient.buildFakeClient(); + const key = 'foo'; + const value = 'bar'; + + client.addAttribute({ [key]: value }); + + expect(client.attributes[key]).toEqual(value); + }); + + it('Should add an annotation to the client cache', () => { + const client = BacktraceTestClient.buildFakeClient(); + const key = 'foo'; + const value = { bar: 1, baz: false }; + + client.addAttribute({ [key]: value }); + + expect(client.attributes[key]).toBeUndefined(); + expect(client.annotations[key]).toMatchObject(value); + }); + + it('Should add an annotation and attribute to the client cache', () => { + const client = BacktraceTestClient.buildFakeClient(); + const annotationKey = 'annotation'; + const annotationValue = { bar: 1, baz: false }; + const attributeKey = 'attribute'; + const attributeValue = 'test'; + + client.addAttribute({ + [annotationKey]: annotationValue, + [attributeKey]: attributeValue, + }); + + expect(client.attributes[attributeKey]).toEqual(attributeValue); + expect(client.annotations[annotationKey]).toMatchObject(annotationValue); + }); + }); + + describe('Client attribute flow', () => { + it(`Should add attributes to scoped attributes on startup`, async () => { + const providerAttributeKey = 'foo'; + const providerAttributeValue = 'bar'; + const scopedAttributeGetFunction = jest + .fn() + .mockReturnValue({ [providerAttributeKey]: providerAttributeValue }); + const fakeClient = BacktraceTestClient.buildFakeClient([ + { + type: 'scoped', + get: scopedAttributeGetFunction, + }, + ]); + + expect(scopedAttributeGetFunction).toBeCalled(); + expect(fakeClient.attributes[providerAttributeKey]).toBe(providerAttributeValue); + await fakeClient.send('foo'); + expect(scopedAttributeGetFunction).toHaveBeenCalledTimes(1); + }); + + it(`Should generate attribute on report`, async () => { + const providerAttributeKey = 'foo'; + const providerAttributeValue = 'bar'; + const scopedAttributeGetFunction = jest + .fn() + .mockReturnValue({ [providerAttributeKey]: providerAttributeValue }); + const fakeClient = BacktraceTestClient.buildFakeClient([ + { + type: 'dynamic', + get: scopedAttributeGetFunction, + }, + ]); + + expect(scopedAttributeGetFunction).not.toBeCalled(); + expect(fakeClient.attributes[providerAttributeKey]).toBeUndefined(); + await fakeClient.send('foo'); + expect(scopedAttributeGetFunction).toHaveBeenCalledTimes(1); + }); + }); +}); diff --git a/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts b/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts new file mode 100644 index 00000000..6953fdec --- /dev/null +++ b/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts @@ -0,0 +1,64 @@ +import { TimeHelper } from '../../src/common/TimeHelper'; +import { RateLimitWatcher } from '../../src/modules/rateLimiter/RateLimitWatcher'; +describe('Report Limit Watcher tests', () => { + describe('Disabled rate limit watcher', () => { + it('Should disable limit watcher when the report limit is set to 0', () => { + const rateLimitWatcher = new RateLimitWatcher(0); + expect(rateLimitWatcher.enabled).toBeFalsy(); + }); + + it(`Skip report method should always return false for disabled rate limiter`, () => { + const rateLimitWatcher = new RateLimitWatcher(0); + expect(rateLimitWatcher.skipReport()).toBeFalsy(); + }); + + it('Should disable rate limit watcher on undefined options', () => { + const rateLimitWatcher = new RateLimitWatcher(undefined); + expect(rateLimitWatcher.enabled).toBeFalsy(); + }); + }); + + describe('Enabled rate limit watcher', () => { + it(`Shouldn't skip if the queue size can fit the report`, () => { + const rateLimitWatcher = new RateLimitWatcher(1); + expect(rateLimitWatcher.skipReport()).toBeFalsy(); + }); + + it(`Should skip if the queue size extends the limit`, () => { + const rateLimitWatcher = new RateLimitWatcher(1); + expect(rateLimitWatcher.skipReport()).toBeFalsy(); + expect(rateLimitWatcher.skipReport()).toBeTruthy(); + }); + + it(`Should remove timestamps before checking the report`, () => { + let timestamp = Date.now(); + jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { + return timestamp++; + }); + const rateLimitWatcher = new RateLimitWatcher(1); + + rateLimitWatcher.skipReport(); + // skip 60 secs + timestamp = timestamp + rateLimitWatcher.MAXIMUM_TIME_IN_QUEUE + 1; + + expect(rateLimitWatcher.skipReport()).toBeFalsy(); + }); + + it(`Should not remove timestamp from the queue to make space for the new one`, () => { + let timestamp = Date.now(); + jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { + return timestamp++; + }); + const numberOfReports = 6; + const rateLimitWatcher = new RateLimitWatcher(numberOfReports); + for (let reportIndex = 0; reportIndex < numberOfReports; reportIndex++) { + rateLimitWatcher.skipReport(); + } + expect(rateLimitWatcher.skipReport()).toBeTruthy(); + // skip only part of reports + timestamp += rateLimitWatcher.MAXIMUM_TIME_IN_QUEUE - numberOfReports / 2; + + expect(rateLimitWatcher.skipReport()).toBeFalsy(); + }); + }); +}); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index 31dd9cc0..55219f0c 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -1,11 +1,11 @@ -import { BacktraceCoreClient, BacktraceRequestHandler } from '../../src'; +import { BacktraceAttributeProvider, BacktraceCoreClient, BacktraceRequestHandler } from '../../src'; export const TOKEN = '590d39eb154cff1d30f2b689f9a928bb592b25e7e7c10192fe208485ea68d91c'; export const UNIVERSE_NAME = 'test'; export const TEST_SUBMISSION_URL = `https://${UNIVERSE_NAME}.sp.backtrace.io:6098/post?format=json&token=${TOKEN}`; export class BacktraceTestClient extends BacktraceCoreClient { public readonly requestHandler: BacktraceRequestHandler; - constructor(handler: BacktraceRequestHandler) { + constructor(handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[] = []) { super( { url: TEST_SUBMISSION_URL, @@ -18,14 +18,18 @@ export class BacktraceTestClient extends BacktraceCoreClient { langVersion: 'test', }, handler, + attributeProviders, ); this.requestHandler = handler; } - public static buildFakeClient() { - return new BacktraceTestClient({ - post: jest.fn().mockResolvedValue(Promise.resolve()), - postError: jest.fn().mockResolvedValue(Promise.resolve()), - }); + public static buildFakeClient(attributeProviders: BacktraceAttributeProvider[] = []) { + return new BacktraceTestClient( + { + post: jest.fn().mockResolvedValue(Promise.resolve()), + postError: jest.fn().mockResolvedValue(Promise.resolve()), + }, + attributeProviders, + ); } } From 32f3eaed467a5ab953e17c7c83d36cd0ec5f16e2 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 19 Jun 2023 12:15:56 +0200 Subject: [PATCH 030/291] Browser attributes (#14) * Use factory to generate client and send report to Backtrace * Time helper mocks * Rate limiter * Do not use report timestamp that could be fake * Move rate limiter to modules * Attribute manager * Machine id * Client unit tests * Removed vscode task * Linter fix * Code review adjustements * Make maximum time in queue as readonly * Updated comment * Class rename * Add provider methods descriptions * Remove unit condition * Code review adjustements * Convert nodejs platform to Backtrace platform * Browser attributes * Local storage tests * Add support for Node 14. (#13) * backtrace-javascript: add @types/node for node 14 * backtrace-javascript: set destination to ES2020 which node 14 supports * backtrace-workflows: add test on node 14 in GitHub --------- Co-authored-by: Sebastian Alex * Use factory to generate client and send report to Backtrace (#10) * Use factory to generate client and send report to Backtrace * Time helper mocks * Code review adjustements * Continue on null/undefined * Make id generator more uuidv4 friendly * Generating and sending reports to Backtrace #12 #11 #10 * Removed class * Generating and sending reports to Backtrace #12 #11 #10 --------- Co-authored-by: kdysput Co-authored-by: Sebastian Alex Co-authored-by: Sebastian Alex --- package-lock.json | 45 ++++++++++++++++++- packages/browser/package.json | 4 ++ packages/browser/src/BacktraceClient.ts | 4 +- .../attributes/UserAgentAttributeProvider.ts | 28 ++++++++++++ .../UserIdentifierAttributeProvider.ts | 41 +++++++++++++++++ .../attributes/WebsiteAttributeProvider.ts | 30 +++++++++++++ .../src/attributes/WindowAttributeProvider.ts | 21 +++++++++ .../src/builder/BacktraceClientBuilder.ts | 18 +++++++- .../userIdAttributeProviderTests.spec.ts | 32 +++++++++++++ .../browser/tests/client/clientTests.spec.ts | 31 +++++++++++++ .../machineIdAttributeProviderTests.spec.ts | 2 +- packages/sdk-core/src/common/TimeHelper.ts | 5 ++- .../client/reportLimitWatcherTests.spec.ts | 2 +- 13 files changed, 255 insertions(+), 8 deletions(-) create mode 100644 packages/browser/src/attributes/UserAgentAttributeProvider.ts create mode 100644 packages/browser/src/attributes/UserIdentifierAttributeProvider.ts create mode 100644 packages/browser/src/attributes/WebsiteAttributeProvider.ts create mode 100644 packages/browser/src/attributes/WindowAttributeProvider.ts create mode 100644 packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts diff --git a/package-lock.json b/package-lock.json index b1300931..281fa911 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1357,6 +1357,12 @@ "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, "node_modules/@types/yargs": { "version": "17.0.24", "dev": true, @@ -5905,6 +5911,24 @@ "node": ">=12.20" } }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "dev": true, @@ -6328,8 +6352,12 @@ "name": "@backtrace/browser", "version": "0.0.1", "license": "MIT", + "dependencies": { + "ua-parser-js": "^1.0.35" + }, "devDependencies": { "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", @@ -6744,10 +6772,12 @@ "version": "file:packages/browser", "requires": { "@types/jest": "^29.5.1", + "@types/ua-parser-js": "*", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35" } }, "@backtrace/node": { @@ -6757,7 +6787,7 @@ "@types/node": "^11.15.54", "form-data": "^4.0.0", "jest": "^29.5.0", - "native-reg": "*", + "native-reg": "^1.1.1", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, @@ -7319,6 +7349,12 @@ "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, + "@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, "@types/yargs": { "version": "17.0.24", "dev": true, @@ -10172,6 +10208,11 @@ "version": "5.0.4", "dev": true }, + "ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + }, "unbox-primitive": { "version": "1.0.2", "dev": true, diff --git a/packages/browser/package.json b/packages/browser/package.json index 0f9e15fd..2d0e92eb 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -33,9 +33,13 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "ua-parser-js": "^1.0.35" } } diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 0f48d872..6574890e 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -1,4 +1,5 @@ import { + BacktraceAttributeProvider, BacktraceConfiguration, BacktraceCoreClient, BacktraceRequestHandler, @@ -11,9 +12,10 @@ export class BacktraceClient extends BacktraceCoreClient { constructor( options: BacktraceConfiguration, handler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[], stackTraceConverter: BacktraceStackTraceConverter, ) { - super(options, AGENT, handler, [], stackTraceConverter); + super(options, AGENT, handler, attributeProviders, stackTraceConverter); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { diff --git a/packages/browser/src/attributes/UserAgentAttributeProvider.ts b/packages/browser/src/attributes/UserAgentAttributeProvider.ts new file mode 100644 index 00000000..c5677c89 --- /dev/null +++ b/packages/browser/src/attributes/UserAgentAttributeProvider.ts @@ -0,0 +1,28 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import UAParser from 'ua-parser-js'; + +export class UserAgentAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + const parser = new UAParser(); + const information = parser.getResult(); + + return { + 'browser.name': information.browser.name, + 'browser.version': information.browser.version, + 'engine.name': information.engine.name, + 'engine.version': information.engine.version, + 'browser.platform': navigator.platform, + 'cpu.arch': information.cpu.architecture, + 'uname.sysname': information.os.name, + 'uname.version': information.os.version, + 'device.model': information.device.model, + 'device.type': information.device.type, + 'device.vendor': information.device.vendor, + mobile: information.device.type === 'mobile', + 'user.agent.full': information.ua, + }; + } +} diff --git a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts new file mode 100644 index 00000000..7eb66f3b --- /dev/null +++ b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts @@ -0,0 +1,41 @@ +import { BacktraceAttributeProvider, BacktraceConfiguration, IdGenerator } from '@backtrace/sdk-core'; + +export class UserIdentifierAttributeProvider implements BacktraceAttributeProvider { + public readonly USER_IDENTIFIER = 'backtrace-guid'; + private _guid: string | undefined; + + constructor(options: BacktraceConfiguration) { + this._guid = options.userAttributes?.['guid'] as string; + } + + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + if (!this._guid) { + this._guid = this.generateUuidToLocalStorage() ?? IdGenerator.uuid(); + } + + return { + guid: this._guid, + }; + } + + private generateUuidToLocalStorage(): string | undefined { + if (!window.localStorage) { + return undefined; + } + + try { + let guid = window.localStorage.getItem(this.USER_IDENTIFIER); + if (!guid) { + guid = IdGenerator.uuid(); + window.localStorage.setItem(this.USER_IDENTIFIER, guid); + } + + return guid; + } catch { + return undefined; + } + } +} diff --git a/packages/browser/src/attributes/WebsiteAttributeProvider.ts b/packages/browser/src/attributes/WebsiteAttributeProvider.ts new file mode 100644 index 00000000..1b4f961a --- /dev/null +++ b/packages/browser/src/attributes/WebsiteAttributeProvider.ts @@ -0,0 +1,30 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { TimeHelper } from '@backtrace/sdk-core/src/common/TimeHelper'; + +const PAGE_START_TIME = TimeHelper.timeNowInMs(); + +export class WebsiteAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + return { + application: document.title || 'unknown', // application is required. Using unknown string if it is not found. + 'process.age': Math.floor((new Date().getTime() - PAGE_START_TIME) / 1000), + hostname: window.location && window.location.hostname, + referer: window.location && window.location.href, + 'location.port': document.location.port, + 'location.protocol': document.location.protocol, + 'location.origin': window.location.origin, + 'location.href': window.location.href || document.URL, + language: navigator.language, + 'browser.platform': navigator.platform, + 'cookies.enable': navigator.cookieEnabled, + 'document.domain': document.domain, + 'document.baseURI': document.baseURI, + 'document.title': document.title, + 'document.referrer': document.referrer, + 'localstorage.enable': !!window.localStorage, + }; + } +} diff --git a/packages/browser/src/attributes/WindowAttributeProvider.ts b/packages/browser/src/attributes/WindowAttributeProvider.ts new file mode 100644 index 00000000..fa634294 --- /dev/null +++ b/packages/browser/src/attributes/WindowAttributeProvider.ts @@ -0,0 +1,21 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; + +export class WindowAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'dynamic'; + } + public get(): Record { + return { + 'window.innerHeight': window.innerHeight, + 'window.innerWidth': window.innerWidth, + 'window.outerHeight': window.outerHeight, + 'window.outerWidth': window.outerWidth, + 'window.pageXOffset': window.pageXOffset, + 'window.pageYOffset': window.pageYOffset, + 'window.screenX': window.screenX, + 'window.screenY': window.screenY, + 'window.screenLeft': window.screenLeft, + 'window.screenTop': window.screenTop, + }; + } +} diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 1b2c009c..d8de5a01 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,5 +1,9 @@ import { BacktraceConfiguration, BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; import { V8StackTraceConverter } from '@backtrace/sdk-core/src/modules/converter/V8StackTraceConverter'; +import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; +import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; +import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider'; +import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; import { BacktraceClient } from '../BacktraceClient'; import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; @@ -8,10 +12,20 @@ import { getEngine } from '../engineDetector'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { constructor(private readonly _options: BacktraceConfiguration) { - super(new BacktraceBrowserRequestHandler(_options)); + super(new BacktraceBrowserRequestHandler(_options), [ + new UserAgentAttributeProvider(), + new WebsiteAttributeProvider(), + new WindowAttributeProvider(), + new UserIdentifierAttributeProvider(_options), + ]); } public build(): BacktraceClient { - return new BacktraceClient(this._options, this.handler, this.generateStackTraceConverter()); + return new BacktraceClient( + this._options, + this.handler, + this.attributeProviders, + this.generateStackTraceConverter(), + ); } private generateStackTraceConverter(): BacktraceStackTraceConverter { diff --git a/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts b/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts new file mode 100644 index 00000000..c63b4b8d --- /dev/null +++ b/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts @@ -0,0 +1,32 @@ +import { BacktraceConfiguration } from '@backtrace/sdk-core'; +import { UserIdentifierAttributeProvider } from '../../src/attributes/UserIdentifierAttributeProvider'; +describe('User id attribute provider test', () => { + it(`Should always set user id attribute`, () => { + const userIdentifier = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + + expect(userIdentifier.get()['guid']).toBeDefined(); + }); + + it(`Should always use guid from the user attributes`, () => { + const test = 'test'; + const userIdentifier = new UserIdentifierAttributeProvider({ + url: 'https://submit.backtrace.io/foo/bar/baz', + userAttributes: { guid: test }, + } as BacktraceConfiguration); + + expect(userIdentifier.get()['guid']).toEqual(test); + }); + + it(`Should store value in the local storage if the guid is not provider`, () => { + const userIdentifier = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + + expect(window.localStorage.getItem(userIdentifier.USER_IDENTIFIER)).toBeDefined(); + }); + + it(`Should always generate the same value`, () => { + const userIdentifier1 = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + const userIdentifier2 = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + + expect(userIdentifier1.get()['guid']).toEqual(userIdentifier2.get()['guid']); + }); +}); diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index 9dc1135f..ca945f4d 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -1,3 +1,4 @@ +import { BacktraceReport, BacktraceRequestHandler } from '@backtrace/sdk-core'; import { BacktraceClient } from '../../src/'; describe('Client tests', () => { @@ -8,4 +9,34 @@ describe('Client tests', () => { expect(client).toBeDefined(); }); + + describe('Send tests', () => { + const requestHandler: BacktraceRequestHandler = { + post: jest.fn().mockResolvedValue(Promise.resolve()), + postError: jest.fn().mockResolvedValue(Promise.resolve()), + }; + let client: BacktraceClient; + + beforeEach(() => { + client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + }) + .useRequestHandler(requestHandler) + .build(); + }); + it(`Should not throw an error when sending a message`, async () => { + expect(async () => await client.send('test')).not.toThrow(); + expect(requestHandler.postError).toBeCalled(); + }); + + it(`Should not throw when sending an error report`, async () => { + expect(async () => await client.send(new Error('test'))).not.toThrow(); + expect(requestHandler.postError).toBeCalled(); + }); + + it(`Should not throw when sending a report`, async () => { + expect(async () => await client.send(new BacktraceReport(new Error('test')))).not.toThrow(); + expect(requestHandler.postError).toBeCalled(); + }); + }); }); diff --git a/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts b/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts index dfdd9745..877c2842 100644 --- a/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts +++ b/packages/node/tests/attributes/machineIdAttributeProviderTests.spec.ts @@ -1,6 +1,6 @@ import { MachineIdentitfierAttributeProvider } from '../../src/attributes/MachineIdentitfierAttributeProvider'; -describe('Machined id attribute provider test', () => { +describe('Machine id attribute provider test', () => { if (MachineIdentitfierAttributeProvider.SUPPORTED_PLATFORMS.includes(process.platform)) { it('Should always generate the same identifier', () => { const machineIdentifier1 = new MachineIdentitfierAttributeProvider(); diff --git a/packages/sdk-core/src/common/TimeHelper.ts b/packages/sdk-core/src/common/TimeHelper.ts index 332b3677..769e5df9 100644 --- a/packages/sdk-core/src/common/TimeHelper.ts +++ b/packages/sdk-core/src/common/TimeHelper.ts @@ -1,5 +1,8 @@ export class TimeHelper { + public static timeNowInMs(): number { + return Date.now(); + } public static timeNowInSec(): number { - return Math.floor(new Date().getTime() / 1000); + return Math.floor(Date.now() / 1000); } } diff --git a/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts b/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts index 6953fdec..402e101d 100644 --- a/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts +++ b/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts @@ -44,7 +44,7 @@ describe('Report Limit Watcher tests', () => { expect(rateLimitWatcher.skipReport()).toBeFalsy(); }); - it(`Should not remove timestamp from the queue to make space for the new one`, () => { + it('Should remove timestamp from the queue to make space for the new one', () => { let timestamp = Date.now(); jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { return timestamp++; From 67bb608da18e8c44974c41db2aa23d976cdd7d63 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 19 Jun 2023 12:35:24 +0200 Subject: [PATCH 031/291] Always use time in ms instead of sec (#15) Always use time in ms instead of sec Co-authored-by: kdysput --- .../attributes/WebsiteAttributeProvider.ts | 2 +- packages/sdk-core/src/common/TimeHelper.ts | 7 +- .../src/model/report/BacktraceReport.ts | 4 +- .../data/AttributeAndAnnotationBuilder.ts | 44 ------- .../src/modules/data/BacktraceDataBuilder.ts | 3 +- .../modules/rateLimiter/RateLimitWatcher.ts | 6 +- .../client/reportLimitWatcherTests.spec.ts | 4 +- .../attributeConverterTests.spec.ts | 117 ------------------ .../tests/report/dataGenerationTests.spec.ts | 4 +- 9 files changed, 16 insertions(+), 175 deletions(-) delete mode 100644 packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts delete mode 100644 packages/sdk-core/tests/converters/attributeConverterTests.spec.ts diff --git a/packages/browser/src/attributes/WebsiteAttributeProvider.ts b/packages/browser/src/attributes/WebsiteAttributeProvider.ts index 1b4f961a..fc23fd32 100644 --- a/packages/browser/src/attributes/WebsiteAttributeProvider.ts +++ b/packages/browser/src/attributes/WebsiteAttributeProvider.ts @@ -1,7 +1,7 @@ import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { TimeHelper } from '@backtrace/sdk-core/src/common/TimeHelper'; -const PAGE_START_TIME = TimeHelper.timeNowInMs(); +const PAGE_START_TIME = TimeHelper.now(); export class WebsiteAttributeProvider implements BacktraceAttributeProvider { public get type(): 'scoped' | 'dynamic' { diff --git a/packages/sdk-core/src/common/TimeHelper.ts b/packages/sdk-core/src/common/TimeHelper.ts index 769e5df9..f3273f91 100644 --- a/packages/sdk-core/src/common/TimeHelper.ts +++ b/packages/sdk-core/src/common/TimeHelper.ts @@ -1,8 +1,9 @@ export class TimeHelper { - public static timeNowInMs(): number { + public static now(): number { return Date.now(); } - public static timeNowInSec(): number { - return Math.floor(Date.now() / 1000); + + public static toTimestampInSec(timestampMs: number): number { + return Math.floor(timestampMs / 1000); } } diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 83812603..23389269 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -27,9 +27,9 @@ export class BacktraceReport { public readonly innerReport: unknown[] = []; /** - * Report timestamp in sec + * Report timestamp in ms */ - public readonly timestamp = TimeHelper.timeNowInSec(); + public readonly timestamp = TimeHelper.now(); /** * Sets how many top frames should be skipped. diff --git a/packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts b/packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts deleted file mode 100644 index cf09bfc3..00000000 --- a/packages/sdk-core/src/modules/data/AttributeAndAnnotationBuilder.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { AttributeType } from '../../model/data/BacktraceData'; -import { BacktraceReport } from '../../model/report/BacktraceReport'; - -export class AttributeAndAnnotationBuilder { - public generate( - report: BacktraceReport, - clientAttributes: Record, - clientAnnotations: Record, - ): { attributes: Record; annotations: Record } { - const annotations: Record = { - ...clientAnnotations, - ...report.annotations, - }; - - const attributes: Record = { - ...clientAttributes, - }; - - for (const attributeKey in report.attributes) { - const value = report.attributes[attributeKey]; - - if (value == null) { - attributes[attributeKey] = value; - continue; - } - - switch (typeof value) { - case 'object': { - annotations[attributeKey] = value; - break; - } - case 'bigint': { - attributes[attributeKey] = value.toString(); - break; - } - default: { - attributes[attributeKey] = value as AttributeType; - } - } - } - - return { attributes, annotations }; - } -} diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index 0a9b6b13..9d327651 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -1,6 +1,7 @@ import { BacktraceStackTraceConverter } from '../..'; import { SdkOptions } from '../../builder/SdkOptions'; import { IdGenerator } from '../../common/IdGenerator'; +import { TimeHelper } from '../../common/TimeHelper'; import { AttributeType, BacktraceData } from '../../model/data/BacktraceData'; import { BacktraceReport } from '../../model/report/BacktraceReport'; import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; @@ -22,7 +23,7 @@ export class BacktraceDataBuilder { return { uuid: IdGenerator.uuid(), - timestamp: report.timestamp, + timestamp: TimeHelper.toTimestampInSec(report.timestamp), agent: this._sdkOptions.agent, agentVersion: this._sdkOptions.agentVersion, lang: this._sdkOptions.langName, diff --git a/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts b/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts index fbf06fd2..784f4978 100644 --- a/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts +++ b/packages/sdk-core/src/modules/rateLimiter/RateLimitWatcher.ts @@ -2,9 +2,9 @@ import { TimeHelper } from '../../common/TimeHelper'; export class RateLimitWatcher { /** - * Time the single report can stay in the queue. + * Time the single report can stay in the queue in ms. */ - public readonly MAXIMUM_TIME_IN_QUEUE = 60; + public readonly MAXIMUM_TIME_IN_QUEUE = 60 * 1000; private readonly _reportPerMin: number; private readonly _watcherEnable: boolean; @@ -26,7 +26,7 @@ export class RateLimitWatcher { } public skipReport(): boolean { - const time = TimeHelper.timeNowInSec(); + const time = TimeHelper.now(); if (!this._watcherEnable) { return false; } diff --git a/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts b/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts index 402e101d..78b5618b 100644 --- a/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts +++ b/packages/sdk-core/tests/client/reportLimitWatcherTests.spec.ts @@ -32,7 +32,7 @@ describe('Report Limit Watcher tests', () => { it(`Should remove timestamps before checking the report`, () => { let timestamp = Date.now(); - jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { + jest.spyOn(TimeHelper, 'now').mockImplementation(() => { return timestamp++; }); const rateLimitWatcher = new RateLimitWatcher(1); @@ -46,7 +46,7 @@ describe('Report Limit Watcher tests', () => { it('Should remove timestamp from the queue to make space for the new one', () => { let timestamp = Date.now(); - jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { + jest.spyOn(TimeHelper, 'now').mockImplementation(() => { return timestamp++; }); const numberOfReports = 6; diff --git a/packages/sdk-core/tests/converters/attributeConverterTests.spec.ts b/packages/sdk-core/tests/converters/attributeConverterTests.spec.ts deleted file mode 100644 index d47430ee..00000000 --- a/packages/sdk-core/tests/converters/attributeConverterTests.spec.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { BacktraceReport } from '../../lib'; -import { AttributeType } from '../../lib/model/data/BacktraceData'; -import { AttributeAndAnnotationBuilder } from '../../src/modules/data/AttributeAndAnnotationBuilder'; -describe('Attribute converter tests', () => { - const attributeAndAnnotationBuilder = new AttributeAndAnnotationBuilder(); - describe('Annotations tests', () => { - it('Should include error information from the report annotations', () => { - const error = new Error('foo'); - const report = new BacktraceReport(error); - - const { annotations } = attributeAndAnnotationBuilder.generate(report, {}, {}); - - const receivedError = annotations['error'] as Error; - expect(receivedError).toBeDefined(); - expect(receivedError.message).toEqual(error.message); - }); - - it('Should merge client and report annotations', () => { - const report = new BacktraceReport(new Error('foo')); - - const clientAnnotations: Record = { - foo: { - a: 1, - b: 2, - }, - }; - const { annotations } = attributeAndAnnotationBuilder.generate(report, {}, clientAnnotations); - - for (const clientAnnotationKey in clientAnnotations) { - expect(annotations[clientAnnotationKey]).toEqual(clientAnnotations[clientAnnotationKey]); - } - - for (const reportAnnotation in report.annotations) { - expect(annotations[reportAnnotation]).toEqual(report.annotations[reportAnnotation]); - } - }); - - it('Report annotation should override client annotation', () => { - const annotationKey = 'foo'; - const reportAnnotation: Record = { - bar: { - a: 3, - b: 4, - }, - }; - const report = new BacktraceReport(new Error('foo'), { - [annotationKey]: reportAnnotation, - }); - const clientAnnotations: Record = { - [annotationKey]: { - a: 1, - b: 2, - }, - }; - const { annotations } = attributeAndAnnotationBuilder.generate(report, {}, clientAnnotations); - - expect(annotations[annotationKey]).toEqual(reportAnnotation); - }); - }); - - describe('Attributes tests', () => { - it('Should combine report and client attributes', () => { - const reportAttributes: Record = { foo: '1', bar: true }; - const clientAttributes: Record = { baz: 1 }; - const report = new BacktraceReport(new Error('foo'), reportAttributes); - - const { attributes } = attributeAndAnnotationBuilder.generate(report, clientAttributes, {}); - - for (const reportAttributeKey in reportAttributes) { - expect(attributes[reportAttributeKey]).toEqual(reportAttributes[reportAttributeKey]); - } - - for (const clientAttributeKey in clientAttributes) { - expect(attributes[clientAttributeKey]).toEqual(clientAttributes[clientAttributeKey]); - } - }); - - it('Report attribute should override client attribute', () => { - const attributeName = 'foo'; - const reportAttributes = { [attributeName]: '1' }; - const clientAttributes = { [attributeName]: 'client attribute' }; - const report = new BacktraceReport(new Error('foo'), reportAttributes); - - const { attributes } = attributeAndAnnotationBuilder.generate(report, clientAttributes, {}); - - expect(attributes[attributeName]).toEqual(reportAttributes[attributeName]); - }); - - it('Should convert bigint to string', () => { - const attributeName = 'bigint'; - const testedValue = BigInt('9999999999999999999999'); - const expectedValue = testedValue.toString(); - const reportAttributes = { [attributeName]: testedValue }; - const report = new BacktraceReport(new Error('foo'), reportAttributes); - - const { attributes } = attributeAndAnnotationBuilder.generate(report, {}, {}); - - expect(attributes[attributeName]).toEqual(expectedValue); - }); - - it(`Should allow to set undefined or null or 0 or empty string`, () => { - const reportAttributes: Record = { - undefinedTest: undefined, - nullTest: null, - zeroTest: 0, - emptyStringTest: '', - }; - const report = new BacktraceReport(new Error('foo'), reportAttributes); - - const { attributes } = attributeAndAnnotationBuilder.generate(report, {}, {}); - - for (const attributeKey in reportAttributes) { - expect(attributes[attributeKey]).toEqual(reportAttributes[attributeKey]); - } - }); - }); -}); diff --git a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts index 95cedef5..d03d8269 100644 --- a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts +++ b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts @@ -29,12 +29,12 @@ describe('Data generation tests', () => { it('Should generate correct timestamp', () => { const timestamp = Date.now(); - jest.spyOn(TimeHelper, 'timeNowInSec').mockImplementation(() => { + jest.spyOn(TimeHelper, 'now').mockImplementation(() => { return timestamp; }); const backtraceData = dataBuilder.build(new BacktraceReport(new Error())); - expect(backtraceData.timestamp).toEqual(timestamp); + expect(backtraceData.timestamp).toEqual(TimeHelper.toTimestampInSec(timestamp)); }); it('Should set classifiers based on the error report', () => { From 78d6e8aae9fc47184b9bfd291bd66b6424857041 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 21 Jun 2023 14:53:51 +0200 Subject: [PATCH 032/291] Attachment management (#17) Attachment support --- .../src/BacktraceBrowserRequestHandler.ts | 10 +-- packages/browser/src/BacktraceClient.ts | 2 +- .../browser/src/BacktraceConfiguration.ts | 18 ++++ .../src/builder/BacktraceClientBuilder.ts | 3 +- packages/browser/src/index.ts | 3 + .../browser/tests/client/clientTests.spec.ts | 55 ++++++++++-- packages/node/src/BacktraceClient.ts | 5 +- packages/node/src/BacktraceConfiguration.ts | 5 ++ .../node/src/BacktraceNodeRequestHandler.ts | 19 ++-- .../attachment/BacktraceBufferAttachment.ts | 8 ++ .../src/attachment/BacktraceFileAttachment.ts | 18 ++++ packages/node/src/attachment/index.ts | 3 + .../src/builder/BacktraceClientBuilder.ts | 20 ++++- packages/node/src/index.ts | 3 + .../node/tests/client/clientTests.spec.ts | 89 ++++++++++++++++++- .../node/tests/client/mock/sampleFile.txt | 1 + packages/sdk-core/src/BacktraceCoreClient.ts | 22 +++-- packages/sdk-core/src/index.ts | 2 +- .../model/attachment/BacktraceAttachment.ts | 11 +++ .../attachment/BacktraceStringAttachment.ts | 9 ++ .../BacktraceUint8ArrayAttachment.ts | 9 ++ .../sdk-core/src/model/attachment/index.ts | 3 + .../configuration/BacktraceConfiguration.ts | 2 +- .../model/http/BacktraceReportSubmission.ts | 2 +- .../src/model/http/BacktraceRequestHandler.ts | 2 +- .../src/model/report/BacktraceAttachment.ts | 13 --- .../src/model/report/BacktraceReport.ts | 2 +- .../sdk-core/tests/client/clientTests.spec.ts | 76 +++++++++++++++- .../tests/mocks/BacktraceTestClient.ts | 21 ++++- 29 files changed, 374 insertions(+), 62 deletions(-) create mode 100644 packages/browser/src/BacktraceConfiguration.ts create mode 100644 packages/node/src/BacktraceConfiguration.ts create mode 100644 packages/node/src/attachment/BacktraceBufferAttachment.ts create mode 100644 packages/node/src/attachment/BacktraceFileAttachment.ts create mode 100644 packages/node/src/attachment/index.ts create mode 100644 packages/node/tests/client/mock/sampleFile.txt create mode 100644 packages/sdk-core/src/model/attachment/BacktraceAttachment.ts create mode 100644 packages/sdk-core/src/model/attachment/BacktraceStringAttachment.ts create mode 100644 packages/sdk-core/src/model/attachment/BacktraceUint8ArrayAttachment.ts create mode 100644 packages/sdk-core/src/model/attachment/index.ts delete mode 100644 packages/sdk-core/src/model/report/BacktraceAttachment.ts diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 0475734a..44931652 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -26,7 +26,7 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { public async postError( submissionUrl: string, data: BacktraceData, - attachments: BacktraceAttachment[], + attachments: BacktraceAttachment[], ): Promise> { const formData = this.createFormData(JSON.stringify(data), attachments); return this.post(submissionUrl, formData); @@ -81,7 +81,7 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { } } - private createFormData(json: string, attachments?: BacktraceAttachment[]) { + private createFormData(json: string, attachments: BacktraceAttachment[]) { const formData = new FormData(); const blob = new Blob([json]); formData.append(this.UPLOAD_FILE_NAME, blob, `${this.UPLOAD_FILE_NAME}.json`); @@ -90,11 +90,11 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { return formData; } for (const attachment of attachments) { - // no support for file paths - if (typeof attachment === 'string') { + const data = attachment.get(); + if (!data) { continue; } - formData.append(`attachment_${attachment.name}`, attachment.data.toString(), attachment.name); + formData.append(`attachment_${attachment.name}`, data, attachment.name); } return formData; diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 6574890e..8e6d65fb 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -1,11 +1,11 @@ import { BacktraceAttributeProvider, - BacktraceConfiguration, BacktraceCoreClient, BacktraceRequestHandler, BacktraceStackTraceConverter, } from '@backtrace/sdk-core'; import { AGENT } from './agentDefinition'; +import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { diff --git a/packages/browser/src/BacktraceConfiguration.ts b/packages/browser/src/BacktraceConfiguration.ts new file mode 100644 index 00000000..4a819e2d --- /dev/null +++ b/packages/browser/src/BacktraceConfiguration.ts @@ -0,0 +1,18 @@ +import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace/sdk-core'; + +export interface BacktraceConfiguration extends CoreConfiguration { + /** + * Application name + */ + readonly name: string; + + /** + * Application version + */ + readonly version: string; + + /** + * Attachments are additional files/data that can be send with error to Backtrace. + */ + attachments?: BacktraceAttachment[]; +} diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index d8de5a01..fba72a90 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,4 +1,4 @@ -import { BacktraceConfiguration, BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; +import { BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; import { V8StackTraceConverter } from '@backtrace/sdk-core/src/modules/converter/V8StackTraceConverter'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; @@ -6,6 +6,7 @@ import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStackTraceConverter'; import { getEngine } from '../engineDetector'; diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 7e0e4721..f396810b 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -1 +1,4 @@ +export { BacktraceReport } from '@backtrace/sdk-core'; +export * from '@backtrace/sdk-core/src/model/attachment'; export * from './BacktraceClient'; +export * from './BacktraceConfiguration'; diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index ca945f4d..ecffff00 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -1,9 +1,17 @@ -import { BacktraceReport, BacktraceRequestHandler } from '@backtrace/sdk-core'; +import { BacktraceReport, BacktraceRequestHandler, BacktraceUint8ArrayAttachment } from '@backtrace/sdk-core'; import { BacktraceClient } from '../../src/'; describe('Client tests', () => { + const requestHandler: BacktraceRequestHandler = { + post: jest.fn().mockResolvedValue(Promise.resolve()), + postError: jest.fn().mockResolvedValue(Promise.resolve()), + }; + + let client: BacktraceClient; it('Should create a client', () => { - const client = BacktraceClient.builder({ + client = BacktraceClient.builder({ + name: 'test', + version: '1.0.0', url: 'https://submit.backtrace.io/foo/bar/baz', }).build(); @@ -11,14 +19,10 @@ describe('Client tests', () => { }); describe('Send tests', () => { - const requestHandler: BacktraceRequestHandler = { - post: jest.fn().mockResolvedValue(Promise.resolve()), - postError: jest.fn().mockResolvedValue(Promise.resolve()), - }; - let client: BacktraceClient; - beforeEach(() => { client = BacktraceClient.builder({ + name: 'test', + version: '1.0.0', url: 'https://submit.backtrace.io/foo/bar/baz', }) .useRequestHandler(requestHandler) @@ -39,4 +43,39 @@ describe('Client tests', () => { expect(requestHandler.postError).toBeCalled(); }); }); + + describe('Attachment tests', () => { + it(`Should generate an attachment list based on the client options`, async () => { + const testedAttachment = new BacktraceUint8ArrayAttachment('client-add-test', new Uint8Array(0)); + client = BacktraceClient.builder({ + name: 'test', + version: '1.0.0', + url: 'https://submit.backtrace.io/foo/bar/baz', + attachments: [testedAttachment], + }) + .useRequestHandler(requestHandler) + .build(); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0]).toEqual(testedAttachment); + }); + + it(`Should allow to add more attachments`, async () => { + const testedAttachment = new BacktraceUint8ArrayAttachment('client-add-test', new Uint8Array(0)); + client = BacktraceClient.builder({ + name: 'test', + version: '1.0.0', + url: 'https://submit.backtrace.io/foo/bar/baz', + attachments: [], + }) + .useRequestHandler(requestHandler) + .build(); + + client.attachments.push(testedAttachment); + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0]).toEqual(testedAttachment); + }); + }); }); diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 405e91df..d7bc676c 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,15 +1,16 @@ import { BacktraceAttributeProvider, - BacktraceConfiguration, + BacktraceConfiguration as CoreConfiguration, BacktraceCoreClient, BacktraceRequestHandler, } from '@backtrace/sdk-core'; import { AGENT } from './agentDefinition'; +import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { constructor( - options: BacktraceConfiguration, + options: CoreConfiguration, handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[], ) { diff --git a/packages/node/src/BacktraceConfiguration.ts b/packages/node/src/BacktraceConfiguration.ts new file mode 100644 index 00000000..5757540b --- /dev/null +++ b/packages/node/src/BacktraceConfiguration.ts @@ -0,0 +1,5 @@ +import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace/sdk-core'; +import { Readable } from 'stream'; +export interface BacktraceConfiguration extends Omit { + attachments?: Array | string>; +} diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 3c1cff93..d234e947 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -8,12 +8,9 @@ import { } from '@backtrace/sdk-core'; import { BacktraceData } from '@backtrace/sdk-core/src/model/data/BacktraceData'; import FormData from 'form-data'; -import fs from 'fs'; import http from 'http'; import https from 'https'; - -import path from 'path'; - +import { Readable } from 'stream'; export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { private readonly UPLOAD_FILE_NAME = 'upload_file'; private readonly _timeout: number; @@ -36,7 +33,7 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { public async postError( submissionUrl: string, data: BacktraceData, - attachments: BacktraceAttachment[], + attachments: BacktraceAttachment[], ): Promise> { const formData = this.createFormData(JSON.stringify(data), attachments); return this.send(submissionUrl, formData); @@ -122,7 +119,7 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { private getHttpClient(submissionUrl: URL) { return submissionUrl.protocol === 'http' ? http : https; } - private createFormData(json: string, attachments?: BacktraceAttachment[]) { + private createFormData(json: string, attachments?: BacktraceAttachment[]) { const formData = new FormData(); formData.append(this.UPLOAD_FILE_NAME, json, `${this.UPLOAD_FILE_NAME}.json`); @@ -131,15 +128,11 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { } for (const attachment of attachments) { - if (typeof attachment === 'string') { - if (!fs.existsSync(attachment)) { - continue; - } - const name = path.basename(attachment); - formData.append(`attachment_${name}`, fs.createReadStream(attachment), name); + const data = attachment.get(); + if (!data) { continue; } - formData.append(`attachment_${attachment.name}`, attachment.data, attachment.name); + formData.append(`attachment_${attachment.name}`, data, attachment.name); } return formData; diff --git a/packages/node/src/attachment/BacktraceBufferAttachment.ts b/packages/node/src/attachment/BacktraceBufferAttachment.ts new file mode 100644 index 00000000..66ff1a24 --- /dev/null +++ b/packages/node/src/attachment/BacktraceBufferAttachment.ts @@ -0,0 +1,8 @@ +import { BacktraceAttachment } from '..'; + +export class BacktraceBufferAttachment implements BacktraceAttachment { + constructor(public readonly name: string, public readonly buffer: Buffer) {} + public get(): Buffer { + return this.buffer; + } +} diff --git a/packages/node/src/attachment/BacktraceFileAttachment.ts b/packages/node/src/attachment/BacktraceFileAttachment.ts new file mode 100644 index 00000000..1117fd02 --- /dev/null +++ b/packages/node/src/attachment/BacktraceFileAttachment.ts @@ -0,0 +1,18 @@ +import { BacktraceAttachment } from '@backtrace/sdk-core'; +import fs from 'fs'; +import path from 'path'; +import { Readable } from 'stream'; + +export class BacktraceFileAttachment implements BacktraceAttachment { + public readonly name: string; + constructor(private readonly _filePath: string) { + this.name = path.basename(this._filePath); + } + + public get(): fs.ReadStream | undefined { + if (!fs.existsSync(this._filePath)) { + return undefined; + } + return fs.createReadStream(this._filePath); + } +} diff --git a/packages/node/src/attachment/index.ts b/packages/node/src/attachment/index.ts new file mode 100644 index 00000000..ad263b79 --- /dev/null +++ b/packages/node/src/attachment/index.ts @@ -0,0 +1,3 @@ +export * from '@backtrace/sdk-core/src/model/attachment'; +export * from './BacktraceBufferAttachment'; +export * from './BacktraceFileAttachment'; diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index 96181538..8ae2e415 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,4 +1,5 @@ -import { BacktraceAttributeProvider, BacktraceConfiguration, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; +import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; +import { BacktraceFileAttachment } from '../attachment'; import { LinuxProcessStatusAttributeProvider, MachineAttributeProvider, @@ -7,6 +8,7 @@ import { ProcessStatusAttributeProvider, } from '../attributes'; import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { @@ -24,7 +26,21 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder (typeof n === 'string' ? new BacktraceFileAttachment(n) : n)) ?? [] + ); + } + public build(): BacktraceClient { - return new BacktraceClient(this._options, this.handler, this.attributeProviders); + return new BacktraceClient( + { ...this._options, attachments: this.transformAttachments() }, + this.handler, + this.attributeProviders, + ); } } diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 7e0e4721..354d8c0a 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -1 +1,4 @@ +export { BacktraceReport } from '@backtrace/sdk-core'; +export * from './attachment'; export * from './BacktraceClient'; +export * from './BacktraceConfiguration'; diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index d2cf235c..1dd327a6 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -1,10 +1,95 @@ -import { BacktraceClient } from '../../src/'; +import { BacktraceReport, BacktraceRequestHandler } from '@backtrace/sdk-core'; +import fs from 'fs'; +import path from 'path'; +import { BacktraceBufferAttachment, BacktraceClient, BacktraceFileAttachment } from '../../src/'; describe('Client tests', () => { + const requestHandler: BacktraceRequestHandler = { + post: jest.fn().mockResolvedValue(Promise.resolve()), + postError: jest.fn().mockResolvedValue(Promise.resolve()), + }; + + let client: BacktraceClient; it('Should create a client', () => { - const client = BacktraceClient.builder({ + client = BacktraceClient.builder({ url: 'https://submit.backtrace.io/foo/bar/baz', }).build(); expect(client).toBeDefined(); }); + + describe('Send tests', () => { + beforeEach(() => { + client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + }) + .useRequestHandler(requestHandler) + .build(); + }); + it(`Should not throw an error when sending a message`, async () => { + expect(async () => await client.send('test')).not.toThrow(); + expect(requestHandler.postError).toBeCalled(); + }); + + it(`Should not throw when sending an error report`, async () => { + expect(async () => await client.send(new Error('test'))).not.toThrow(); + expect(requestHandler.postError).toBeCalled(); + }); + + it(`Should not throw when sending a report`, async () => { + expect(async () => await client.send(new BacktraceReport(new Error('test')))).not.toThrow(); + expect(requestHandler.postError).toBeCalled(); + }); + }); + + describe('Attachment tests', () => { + const sampleFile = path.join(__dirname, 'mock', 'sampleFile.txt'); + const fileContent = fs.readFileSync(sampleFile, 'utf8'); + + it(`Should generate an attachment list based on the client options`, async () => { + client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + attachments: [sampleFile], + }) + .useRequestHandler(requestHandler) + .build(); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + const input = client.attachments[0].get() as fs.ReadStream; + const chunks: Buffer[] = []; + input.on('data', (buf: Buffer) => chunks.push(buf)); + input.on('end', () => { + expect(Buffer.concat(chunks).toString()).toEqual(fileContent); + }); + }); + + it(`Should allow to setup bufer attachment`, async () => { + const testedBuffer = Buffer.from('test'); + client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + attachments: [new BacktraceBufferAttachment('test', testedBuffer)], + }) + .useRequestHandler(requestHandler) + .build(); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0].get()).toEqual(testedBuffer); + }); + + it(`Should allow to add more attachments`, async () => { + const testedAttachment = new BacktraceFileAttachment(sampleFile); + client = BacktraceClient.builder({ + url: 'https://submit.backtrace.io/foo/bar/baz', + attachments: [], + }) + .useRequestHandler(requestHandler) + .build(); + + client.attachments.push(testedAttachment); + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0]).toEqual(testedAttachment); + }); + }); }); diff --git a/packages/node/tests/client/mock/sampleFile.txt b/packages/node/tests/client/mock/sampleFile.txt new file mode 100644 index 00000000..6a537b5b --- /dev/null +++ b/packages/node/tests/client/mock/sampleFile.txt @@ -0,0 +1 @@ +1234567890 \ No newline at end of file diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index b860be3a..4a507b82 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,11 +1,10 @@ -import { BacktraceAttributeProvider, BacktraceStackTraceConverter } from '.'; +import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceStackTraceConverter } from '.'; import { SdkOptions } from './builder/SdkOptions'; import { IdGenerator } from './common/IdGenerator'; import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; import { AttributeType } from './model/data/BacktraceData'; import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; import { BacktraceRequestHandler } from './model/http/BacktraceRequestHandler'; -import { BacktraceAttachment } from './model/report/BacktraceAttachment'; import { BacktraceReport } from './model/report/BacktraceReport'; import { AttributeManager } from './modules/attribute/AttributeManager'; import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; @@ -47,10 +46,16 @@ export abstract class BacktraceCoreClient { return this._attributeProvider.annotations; } + /** + * Client cached attachments + */ + public readonly attachments: BacktraceAttachment[]; + private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; private readonly _attributeProvider: AttributeManager; + /** * Current session Id */ @@ -70,6 +75,7 @@ export abstract class BacktraceCoreClient { new ClientAttributeProvider(_sdkOptions.agentVersion, this._sessionId, options.userAttributes ?? {}), ...(attributeProviders ?? []), ]); + this.attachments = options.attachments ?? []; } /** @@ -106,7 +112,6 @@ export abstract class BacktraceCoreClient { * Asynchronously sends error data to Backtrace * @param report Backtrace Report */ - public async send(report: BacktraceReport): Promise; public async send( data: BacktraceReport | Error | string, @@ -119,13 +124,20 @@ export abstract class BacktraceCoreClient { const report = this.isReport(data) ? data - : new BacktraceReport(data, reportAttributes, reportAttachments, { + : new BacktraceReport(data, reportAttributes, [], { skipFrames: this.skipFrameOnMessage(data), }); const { annotations, attributes } = this._attributeProvider.get(); const backtraceData = this._dataBuilder.build(report, attributes, annotations); - await this._reportSubmission.send(backtraceData, report.attachments); + await this._reportSubmission.send(backtraceData, this.generateSubmissionAttachments(report, reportAttachments)); + } + + private generateSubmissionAttachments( + report: BacktraceReport, + reportAttachments: BacktraceAttachment[], + ): BacktraceAttachment[] { + return [...this.attachments, ...(report.attachments ?? []), ...(reportAttachments ?? [])]; } private skipFrameOnMessage(data: Error | string): number { diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index d7040228..6aacfb70 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -2,10 +2,10 @@ export * from './BacktraceCoreClient'; export * from './builder/BacktraceCoreClientBuilder'; export * from './builder/SdkOptions'; export * from './common/IdGenerator'; +export * from './model/attachment'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; export * from './model/http'; -export * from './model/report/BacktraceAttachment'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; export * from './modules/attribute/BacktraceAttributeProvider'; diff --git a/packages/sdk-core/src/model/attachment/BacktraceAttachment.ts b/packages/sdk-core/src/model/attachment/BacktraceAttachment.ts new file mode 100644 index 00000000..bd54d40e --- /dev/null +++ b/packages/sdk-core/src/model/attachment/BacktraceAttachment.ts @@ -0,0 +1,11 @@ +export interface BacktraceAttachment { + /** + * Attachment name + */ + readonly name: string; + + /** + * Attachment data + */ + get(): T | undefined; +} diff --git a/packages/sdk-core/src/model/attachment/BacktraceStringAttachment.ts b/packages/sdk-core/src/model/attachment/BacktraceStringAttachment.ts new file mode 100644 index 00000000..55df171a --- /dev/null +++ b/packages/sdk-core/src/model/attachment/BacktraceStringAttachment.ts @@ -0,0 +1,9 @@ +import { BacktraceAttachment } from './BacktraceAttachment'; + +export class BacktraceStringAttachment implements BacktraceAttachment { + constructor(public readonly name: string, public readonly data: string) {} + + public get(): string { + return this.data; + } +} diff --git a/packages/sdk-core/src/model/attachment/BacktraceUint8ArrayAttachment.ts b/packages/sdk-core/src/model/attachment/BacktraceUint8ArrayAttachment.ts new file mode 100644 index 00000000..de66c3f9 --- /dev/null +++ b/packages/sdk-core/src/model/attachment/BacktraceUint8ArrayAttachment.ts @@ -0,0 +1,9 @@ +import { BacktraceAttachment } from './BacktraceAttachment'; + +export class BacktraceUint8ArrayAttachment implements BacktraceAttachment { + constructor(public readonly name: string, public readonly data: Uint8Array) {} + + public get(): Blob { + return new Blob([this.data.buffer]); + } +} diff --git a/packages/sdk-core/src/model/attachment/index.ts b/packages/sdk-core/src/model/attachment/index.ts new file mode 100644 index 00000000..3f4b4798 --- /dev/null +++ b/packages/sdk-core/src/model/attachment/index.ts @@ -0,0 +1,3 @@ +export * from './BacktraceAttachment'; +export * from './BacktraceStringAttachment'; +export * from './BacktraceUint8ArrayAttachment'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 6ea1d904..09221d5f 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '../report/BacktraceAttachment'; +import { BacktraceAttachment } from '../attachment'; import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; export interface BacktraceMetricsSupport { diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index 90c9fa69..124a5acd 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -1,6 +1,6 @@ +import { BacktraceAttachment } from '../attachment'; import { BacktraceConfiguration } from '../configuration/BacktraceConfiguration'; import { BacktraceData } from '../data/BacktraceData'; -import { BacktraceAttachment } from '../report/BacktraceAttachment'; import { BacktraceRequestHandler } from './BacktraceRequestHandler'; export class BacktraceReportSubmission { diff --git a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts index 4947bd6c..a0c3b6a1 100644 --- a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts +++ b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts @@ -1,5 +1,5 @@ +import { BacktraceAttachment } from '../attachment'; import { BacktraceData } from '../data/BacktraceData'; -import { BacktraceAttachment } from '../report/BacktraceAttachment'; import { BacktraceSubmissionResponse } from './model/BacktraceSubmissionResponse'; import { BacktraceReportSubmissionResult } from './model/BacktraceSubmissionResult'; export const DEFAULT_TIMEOUT = 15_000; diff --git a/packages/sdk-core/src/model/report/BacktraceAttachment.ts b/packages/sdk-core/src/model/report/BacktraceAttachment.ts deleted file mode 100644 index 2bfa66ec..00000000 --- a/packages/sdk-core/src/model/report/BacktraceAttachment.ts +++ /dev/null @@ -1,13 +0,0 @@ -export interface BacktraceInMemoryAttachment { - /** - * Attachment name - */ - name: string; - /** - * Attachment data - */ - data: Uint8Array; -} - -export type BacktraceFileAttachment = string; -export type BacktraceAttachment = BacktraceInMemoryAttachment | BacktraceFileAttachment; diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 23389269..f9bfe63a 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,5 +1,5 @@ import { TimeHelper } from '../../common/TimeHelper'; -import { BacktraceAttachment } from './BacktraceAttachment'; +import { BacktraceAttachment } from '../attachment'; import { BacktraceErrorType } from './BacktraceErrorType'; export class BacktraceReport { diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index 1a85ab96..e87b63b8 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceReport } from '../../src/'; +import { BacktraceReport, BacktraceStringAttachment } from '../../src/'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; describe('Client tests', () => { describe('Send tests', () => { @@ -26,4 +26,78 @@ describe('Client tests', () => { expect(client.requestHandler.postError).toBeCalled(); }); }); + + describe('Attachment tests', () => { + it(`Should generate an empty attachment list`, async () => { + const client = BacktraceTestClient.buildFakeClient(); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(0); + }); + + it(`Should generate an attachment list based on the client options`, async () => { + const inMemoryAttachment = { + name: 'client-in-memory-test', + get() { + return Buffer.from('test'); + }, + }; + + const client = BacktraceTestClient.buildFakeClient([], [inMemoryAttachment]); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0]).toEqual(inMemoryAttachment); + }); + + it(`Should allow to add more attachments`, async () => { + const client = BacktraceTestClient.buildFakeClient(); + const inMemoryAttachment = { + name: 'client-in-memory-test', + get() { + return Buffer.from('test'); + }, + }; + + client.attachments.push(inMemoryAttachment); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0]).toBe(inMemoryAttachment); + }); + + it(`Should allow to use string attachment`, async () => { + const expectedAttachmentContent = 'test'; + const testedAttachment = new BacktraceStringAttachment('client-add-test', expectedAttachmentContent); + const client = BacktraceTestClient.buildFakeClient(); + client.attachments.push(testedAttachment); + + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(1); + expect(client.attachments[0]).toEqual(testedAttachment); + }); + + it(`Should merge client attachments with report attachments`, async () => { + const clientAttachment = { + name: 'client-add-test', + get() { + return new Uint8Array(0); + }, + }; + const reportAttachment = { + name: 'report-test', + get() { + return new Uint8Array(0); + }, + }; + const client = BacktraceTestClient.buildFakeClient([], [clientAttachment]); + + await client.send(new Error(''), {}, [reportAttachment]); + + expect(client.requestHandler.postError).toHaveBeenCalledWith(expect.any(String), expect.any(Object), [ + clientAttachment, + reportAttachment, + ]); + }); + }); }); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index 55219f0c..e58e7b20 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -1,15 +1,24 @@ -import { BacktraceAttributeProvider, BacktraceCoreClient, BacktraceRequestHandler } from '../../src'; - +import { + BacktraceAttachment, + BacktraceAttributeProvider, + BacktraceCoreClient, + BacktraceRequestHandler, +} from '../../src'; export const TOKEN = '590d39eb154cff1d30f2b689f9a928bb592b25e7e7c10192fe208485ea68d91c'; export const UNIVERSE_NAME = 'test'; export const TEST_SUBMISSION_URL = `https://${UNIVERSE_NAME}.sp.backtrace.io:6098/post?format=json&token=${TOKEN}`; export class BacktraceTestClient extends BacktraceCoreClient { public readonly requestHandler: BacktraceRequestHandler; - constructor(handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[] = []) { + constructor( + handler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[] = [], + attachments: BacktraceAttachment[] = [], + ) { super( { url: TEST_SUBMISSION_URL, token: TOKEN, + attachments, }, { agent: 'test', @@ -23,13 +32,17 @@ export class BacktraceTestClient extends BacktraceCoreClient { this.requestHandler = handler; } - public static buildFakeClient(attributeProviders: BacktraceAttributeProvider[] = []) { + public static buildFakeClient( + attributeProviders: BacktraceAttributeProvider[] = [], + attachments: BacktraceAttachment[] = [], + ) { return new BacktraceTestClient( { post: jest.fn().mockResolvedValue(Promise.resolve()), postError: jest.fn().mockResolvedValue(Promise.resolve()), }, attributeProviders, + attachments, ); } } From 771108daaf45e62106cce90bc289a452ce1cbdd0 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 22 Jun 2023 12:09:06 +0200 Subject: [PATCH 033/291] Read package information (#18) * Read package information * Adjusted code * Application information refactor + unit tests * Adjust backtrace configuration usage * use while to determinate the os root dir * Read / dir * Comment * Test name update --- ...ApplicationInformationAttributeProvider.ts | 83 +++++++++++++++++++ packages/node/src/attributes/index.ts | 1 + .../src/builder/BacktraceClientBuilder.ts | 2 + ...nInformationAttributeProviderTests.spec.ts | 60 ++++++++++++++ 4 files changed, 146 insertions(+) create mode 100644 packages/node/src/attributes/ApplicationInformationAttributeProvider.ts create mode 100644 packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts new file mode 100644 index 00000000..2bacfb61 --- /dev/null +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -0,0 +1,83 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import fs from 'fs'; +import path from 'path'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; + +export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { + public readonly APPLICATION_ATTRIBUTE = 'application'; + public readonly APPLICATION_VERSION_ATTRIBUTE = 'application.version'; + + private _application?: string; + private _applicationVersion?: string; + + public readonly applicationSearchPaths: string[]; + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + + constructor(options: BacktraceConfiguration, applicationSearchPaths?: string[]) { + if ( + options.userAttributes?.[this.APPLICATION_ATTRIBUTE] && + options.userAttributes?.[this.APPLICATION_VERSION_ATTRIBUTE] + ) { + this._application = options.userAttributes[this.APPLICATION_ATTRIBUTE] as string; + this._applicationVersion = options.userAttributes[this.APPLICATION_VERSION_ATTRIBUTE] as string; + } + + this.applicationSearchPaths = applicationSearchPaths ?? this.generateDefaultApplicationSearchPaths(); + } + + public get(): Record { + const applicationData = this.readApplicationInformation(); + if (applicationData) { + this._application = this._application ?? (applicationData['name'] as string); + this._applicationVersion = this._applicationVersion ?? (applicationData['version'] as string); + } + + if (!this._application && !this._applicationVersion) { + throw new Error( + 'Cannot find information about the package. Please define application and application.version attribute', + ); + } + + return { + package: applicationData, + [this.APPLICATION_ATTRIBUTE]: this._application, + [this.APPLICATION_VERSION_ATTRIBUTE]: this._applicationVersion, + }; + } + + private generateDefaultApplicationSearchPaths() { + const possibleSourcePaths = [process.cwd()]; + if (require.main?.path) { + possibleSourcePaths.unshift(path.dirname(require.main.path)); + } + return possibleSourcePaths; + } + + private readApplicationInformation(): Record | undefined { + for (let possibleSourcePath of this.applicationSearchPaths) { + // to make sure we check all directories including `/` we want to assign the parent + // directory to the current path after checking if the parent directory is equal the current + // directory. Because of that in the while condition, there is an assignement to the + // current directory to check next dir in the dir strucutre. + do { + const packageJson = this.readPackageFromDir(possibleSourcePath); + if (packageJson) { + return packageJson; + } + } while ( + possibleSourcePath !== path.dirname(possibleSourcePath) && + (possibleSourcePath = path.dirname(possibleSourcePath)) + ); + } + } + + private readPackageFromDir(dirPath: string): Record | undefined { + const packagePath = path.join(dirPath, 'package.json'); + if (!fs.existsSync(packagePath)) { + return undefined; + } + return JSON.parse(fs.readFileSync(packagePath, 'utf8')); + } +} diff --git a/packages/node/src/attributes/index.ts b/packages/node/src/attributes/index.ts index ecae972e..c46aa611 100644 --- a/packages/node/src/attributes/index.ts +++ b/packages/node/src/attributes/index.ts @@ -1,3 +1,4 @@ +export * from './ApplicationInformationAttributeProvider'; export * from './LinuxProcessStatusAttributeProvider'; export * from './MachineAttributeProvider'; export * from './MachineIdentitfierAttributeProvider'; diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index 8ae2e415..872e7d13 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,6 +1,7 @@ import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; import { BacktraceFileAttachment } from '../attachment'; import { + ApplicationInformationAttributeProvider, LinuxProcessStatusAttributeProvider, MachineAttributeProvider, MachineIdentitfierAttributeProvider, @@ -14,6 +15,7 @@ import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { constructor(private readonly _options: BacktraceConfiguration) { super(new BacktraceNodeRequestHandler(_options), [ + new ApplicationInformationAttributeProvider(_options), new ProcessStatusAttributeProvider(), new MachineAttributeProvider(), new ProcessInformationAttributeProvider(), diff --git a/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts b/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts new file mode 100644 index 00000000..8a82cf89 --- /dev/null +++ b/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts @@ -0,0 +1,60 @@ +import fs from 'fs'; +import path from 'path'; +import { BacktraceConfiguration } from '../../src'; +import { ApplicationInformationAttributeProvider } from '../../src/attributes/ApplicationInformationAttributeProvider'; + +describe('Application information attribute provider tests', () => { + it('Should allow to set application and application.version attribute via attribute system', () => { + const expectedApplicationName = 'test'; + const applicationKey = 'application'; + const expectedApplicationVersion = '1.0.0'; + const applicationVersionKey = 'application.version'; + const provider = new ApplicationInformationAttributeProvider({ + url: 'not-used', + userAttributes: { + [applicationKey]: expectedApplicationName, + [applicationVersionKey]: expectedApplicationVersion, + }, + } as BacktraceConfiguration); + + const attributes = provider.get(); + + expect(attributes[applicationKey]).toBe(expectedApplicationName); + expect(attributes[applicationVersionKey]).toBe(expectedApplicationVersion); + }); + + describe('search path tests', () => { + const sourceDir = path.dirname(path.dirname(__dirname)); + const libraryPackageJson = path.join(sourceDir, 'package.json'); + const expectedPackageJson = JSON.parse(fs.readFileSync(libraryPackageJson, 'utf8')); + it('Should find a package.json file in the project structure', () => { + const testedPackageDir = path.join(sourceDir, 'foo', 'bar', 'baz', '123', 'foo', 'bar'); + const provider = new ApplicationInformationAttributeProvider({} as BacktraceConfiguration, [ + testedPackageDir, + ]); + const attributes = provider.get(); + + expect(attributes[provider.APPLICATION_ATTRIBUTE]).toBe(expectedPackageJson.name); + + expect(attributes[provider.APPLICATION_VERSION_ATTRIBUTE]).toBe(expectedPackageJson.version); + }); + + it('Should try to find a package.json in the current project', () => { + const provider = new ApplicationInformationAttributeProvider({} as BacktraceConfiguration); + const attributes = provider.get(); + + expect(attributes[provider.APPLICATION_ATTRIBUTE]).toBe(expectedPackageJson.name); + + expect(attributes[provider.APPLICATION_VERSION_ATTRIBUTE]).toBe(expectedPackageJson.version); + }); + + it('Should throw an error when the package.json information does not exist', () => { + const testedPackageDir = path.join('/foo', 'bar', 'baz', '123', 'foo', 'bar'); + const provider = new ApplicationInformationAttributeProvider({} as BacktraceConfiguration, [ + testedPackageDir, + ]); + + expect(() => provider.get()).toThrow(Error); + }); + }); +}); From fccb76b967d97ca75beabaad9a6a9375634a4d7f Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 22 Jun 2023 15:24:22 +0200 Subject: [PATCH 034/291] Add common stuff necessary for Webpack in browser and node. (#19) * sdk-core package: change IdGenerator implementation to remove crypto dependency * build: add common webpack configurations --------- Co-authored-by: Sebastian Alex --- build/agentDefinitionPlugin.js | 9 +++++++ build/common.js | 16 ++++++++++++ packages/sdk-core/src/common/IdGenerator.ts | 28 +++++++++++++++------ 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 build/agentDefinitionPlugin.js create mode 100644 build/common.js diff --git a/build/agentDefinitionPlugin.js b/build/agentDefinitionPlugin.js new file mode 100644 index 00000000..9968a481 --- /dev/null +++ b/build/agentDefinitionPlugin.js @@ -0,0 +1,9 @@ +const webpack = require('webpack'); + +module.exports = function agentDefinitionPlugin(packageJsonPath) { + const packageJson = require(packageJsonPath); + return new webpack.DefinePlugin({ + BACKTRACE_AGENT_NAME: JSON.stringify(packageJson.name), + BACKTRACE_AGENT_VERSION: JSON.stringify(packageJson.version), + }); +}; diff --git a/build/common.js b/build/common.js new file mode 100644 index 00000000..2aaf3e0f --- /dev/null +++ b/build/common.js @@ -0,0 +1,16 @@ +/** @type {import('webpack').Configuration} */ +const webpackTypescriptConfig = { + resolve: { + extensions: ['.js', '.ts', '.jsx', '.tsx'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: 'ts-loader', + }, + ], + }, +}; + +module.exports = { webpackTypescriptConfig }; diff --git a/packages/sdk-core/src/common/IdGenerator.ts b/packages/sdk-core/src/common/IdGenerator.ts index ae11681f..353b92a5 100644 --- a/packages/sdk-core/src/common/IdGenerator.ts +++ b/packages/sdk-core/src/common/IdGenerator.ts @@ -1,19 +1,33 @@ -import { pseudoRandomBytes } from 'crypto'; export class IdGenerator { public static uuid() { - const bytes = pseudoRandomBytes(16); + const bytes = [...new Array(16)].map(() => Math.floor(Math.random() * 256)); bytes[6] = (bytes[6] & 0x0f) | 0x40; bytes[8] = (bytes[8] & 0x3f) | 0x80; return ( - bytes.slice(0, 4).toString('hex') + + bytes + .slice(0, 4) + .map((n) => n.toString(16).padStart(2, '0')) + .join('') + '-' + - bytes.slice(4, 6).toString('hex') + + bytes + .slice(4, 6) + .map((n) => n.toString(16).padStart(2, '0')) + .join('') + '-' + - bytes.slice(6, 8).toString('hex') + + bytes + .slice(6, 8) + .map((n) => n.toString(16).padStart(2, '0')) + .join('') + '-' + - bytes.slice(8, 10).toString('hex') + + bytes + .slice(8, 10) + .map((n) => n.toString(16).padStart(2, '0')) + .join('') + '-' + - bytes.slice(10, 16).toString('hex') + bytes + .slice(10, 16) + .map((n) => n.toString(16).padStart(2, '0')) + .join('') ); } } From 386f7560422ad495ed13a7bffe0c08fa57e4e471 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 22 Jun 2023 15:32:28 +0200 Subject: [PATCH 035/291] Add Webpack to the browser package (#20) * sdk-core package: change IdGenerator implementation to remove crypto dependency * build: add common webpack configurations * build: remove browser package from tsconfig packages * browser package: change src imports to lib * browser package: add webpack package * browser package: add webpack configuration and agent definition build variables * browser package: fix unit tests --------- Co-authored-by: Sebastian Alex --- build/common.js | 30 +- package-lock.json | 1358 ++++++++++++++++- packages/browser/jest.config.js | 1 + packages/browser/jest.setup.js | 2 + packages/browser/package.json | 15 +- .../src/BacktraceBrowserRequestHandler.ts | 2 +- packages/browser/src/agentDefinition.ts | 10 +- .../attributes/WebsiteAttributeProvider.ts | 2 +- .../src/builder/BacktraceClientBuilder.ts | 8 +- .../JavaScriptCoreStackTraceConverter.ts | 4 +- .../SpiderMonkeyStackTraceConverter.ts | 4 +- packages/browser/src/engineDetector.ts | 2 +- packages/browser/src/index.ts | 2 +- packages/browser/webpack.config.js | 28 + tsconfig.json | 3 - tsconfig.packages.json | 3 - 16 files changed, 1430 insertions(+), 44 deletions(-) create mode 100644 packages/browser/jest.setup.js create mode 100644 packages/browser/webpack.config.js diff --git a/build/common.js b/build/common.js index 2aaf3e0f..7c387e91 100644 --- a/build/common.js +++ b/build/common.js @@ -1,3 +1,5 @@ +const path = require('path'); + /** @type {import('webpack').Configuration} */ const webpackTypescriptConfig = { resolve: { @@ -13,4 +15,30 @@ const webpackTypescriptConfig = { }, }; -module.exports = { webpackTypescriptConfig }; +function minifiedAndUnminified(/** @type {import('webpack').Configuration} */ config) { + const { name, ext } = path.parse(config.output.filename); + + return [ + { + ...config, + output: { + ...config.output, + }, + optimization: { + minimize: false, + }, + }, + { + ...config, + output: { + ...config.output, + filename: `${name}.min${ext}`, + }, + optimization: { + minimize: true, + }, + }, + ]; +} + +module.exports = { webpackTypescriptConfig, minifiedAndUnminified }; diff --git a/package-lock.json b/package-lock.json index 281fa911..f385779a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -610,6 +610,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -1144,6 +1153,16 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "dev": true, @@ -1271,6 +1290,32 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/eslint": { + "version": "8.40.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", + "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, "node_modules/@types/graceful-fs": { "version": "4.1.6", "dev": true, @@ -1556,6 +1601,208 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -1583,6 +1830,15 @@ "acorn-walk": "^8.0.2" } }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, @@ -1627,6 +1883,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "dev": true, @@ -2011,6 +2276,15 @@ "node": ">=10" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/ci-info": { "version": "3.8.0", "dev": true, @@ -2077,6 +2351,20 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/co": { "version": "4.6.0", "dev": true, @@ -2107,6 +2395,12 @@ "dev": true, "license": "MIT" }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2118,6 +2412,12 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "dev": true, @@ -2318,6 +2618,19 @@ "dev": true, "license": "MIT" }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -2330,6 +2643,18 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/envinfo": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", + "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/error-ex": { "version": "1.3.2", "dev": true, @@ -2385,6 +2710,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "dev": true, @@ -2819,6 +3150,15 @@ "node": ">=0.10.0" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/execa": { "version": "5.1.1", "dev": true, @@ -2909,6 +3249,15 @@ "dev": true, "license": "MIT" }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, "node_modules/fastq": { "version": "1.15.0", "dev": true, @@ -3191,6 +3540,12 @@ "node": ">=10.13.0" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", "dev": true, @@ -3500,6 +3855,15 @@ "node": ">= 0.4" } }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/is-array-buffer": { "version": "3.0.2", "dev": true, @@ -3656,6 +4020,18 @@ "node": ">=8" } }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -3761,6 +4137,15 @@ "dev": true, "license": "ISC" }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "dev": true, @@ -4548,6 +4933,15 @@ "json5": "lib/cli.js" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/kleur": { "version": "3.0.3", "dev": true, @@ -4581,6 +4975,15 @@ "dev": true, "license": "MIT" }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, "node_modules/locate-path": { "version": "6.0.0", "dev": true, @@ -4751,6 +5154,12 @@ "dev": true, "license": "MIT" }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "node_modules/node-gyp-build": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", @@ -5206,11 +5615,32 @@ ], "license": "MIT" }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "dev": true, "license": "MIT" }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", "dev": true, @@ -5340,6 +5770,26 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safe-regex-test": { "version": "1.0.0", "dev": true, @@ -5371,6 +5821,24 @@ "node": ">=v12.22.7" } }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/semver": { "version": "7.5.1", "dev": true, @@ -5396,6 +5864,27 @@ "node": ">=10" } }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -5685,26 +6174,126 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", + "node_modules/terser": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", + "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", @@ -5826,6 +6415,25 @@ "node": ">=6" } }, + "node_modules/ts-loader": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", + "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.14.2", "dev": true, @@ -6037,6 +6645,19 @@ "makeerror": "1.0.12" } }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -6046,6 +6667,129 @@ "node": ">=12" } }, + "node_modules/webpack": { + "version": "5.87.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz", + "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/whatwg-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", @@ -6128,6 +6872,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, "node_modules/word-wrap": { "version": "1.2.3", "dev": true, @@ -6353,6 +7103,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { + "@backtrace/sdk-core": "^0.0.1", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -6361,7 +7112,10 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, "packages/node": { @@ -6771,13 +7525,17 @@ "@backtrace/browser": { "version": "file:packages/browser", "requires": { + "@backtrace/sdk-core": "^0.0.1", "@types/jest": "^29.5.1", - "@types/ua-parser-js": "*", + "@types/ua-parser-js": "^0.7.36", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35" + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, "@backtrace/node": { @@ -6813,6 +7571,12 @@ "version": "0.2.3", "dev": true }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -7173,6 +7937,16 @@ "version": "1.1.2", "dev": true }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", "dev": true @@ -7273,6 +8047,32 @@ "@babel/types": "^7.20.7" } }, + "@types/eslint": { + "version": "8.40.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", + "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, "@types/graceful-fs": { "version": "4.1.6", "dev": true, @@ -7449,6 +8249,185 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, "abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -7469,6 +8448,13 @@ "acorn-walk": "^8.0.2" } }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, "acorn-jsx": { "version": "5.3.2", "dev": true, @@ -7499,6 +8485,13 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, "ansi-escapes": { "version": "4.3.2", "dev": true, @@ -7726,6 +8719,12 @@ "version": "1.0.2", "dev": true }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, "ci-info": { "version": "3.8.0", "dev": true @@ -7767,6 +8766,17 @@ } } }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, "co": { "version": "4.6.0", "dev": true @@ -7786,6 +8796,12 @@ "version": "1.1.4", "dev": true }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -7794,6 +8810,12 @@ "delayed-stream": "~1.0.0" } }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "concat-map": { "version": "0.0.1", "dev": true @@ -7930,12 +8952,28 @@ "version": "9.2.2", "dev": true }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, "entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, + "envinfo": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", + "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", + "dev": true + }, "error-ex": { "version": "1.3.2", "dev": true, @@ -7983,6 +9021,12 @@ "which-typed-array": "^1.1.9" } }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, "es-set-tostringtag": { "version": "2.0.1", "dev": true, @@ -8278,6 +9322,12 @@ "version": "2.0.3", "dev": true }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, "execa": { "version": "5.1.1", "dev": true, @@ -8346,6 +9396,12 @@ "version": "2.0.6", "dev": true }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, "fastq": { "version": "1.15.0", "dev": true, @@ -8535,6 +9591,12 @@ "is-glob": "^4.0.3" } }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "globals": { "version": "13.20.0", "dev": true, @@ -8709,6 +9771,12 @@ "side-channel": "^1.0.4" } }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, "is-array-buffer": { "version": "3.0.2", "dev": true, @@ -8793,6 +9861,15 @@ "version": "3.0.3", "dev": true }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -8854,6 +9931,12 @@ "version": "2.0.0", "dev": true }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, "istanbul-lib-coverage": { "version": "3.2.0", "dev": true @@ -9398,6 +10481,12 @@ "minimist": "^1.2.0" } }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, "kleur": { "version": "3.0.3", "dev": true @@ -9418,6 +10507,12 @@ "version": "1.2.4", "dev": true }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, "locate-path": { "version": "6.0.0", "dev": true, @@ -9529,6 +10624,12 @@ "version": "1.4.0", "dev": true }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "node-gyp-build": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", @@ -9789,10 +10890,28 @@ "version": "1.2.3", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "react-is": { "version": "18.2.0", "dev": true }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, "regexp.prototype.flags": { "version": "1.5.0", "dev": true, @@ -9860,6 +10979,12 @@ "queue-microtask": "^1.2.2" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, "safe-regex-test": { "version": "1.0.0", "dev": true, @@ -9884,6 +11009,17 @@ "xmlchars": "^2.2.0" } }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, "semver": { "version": "7.5.1", "dev": true, @@ -9900,6 +11036,24 @@ } } }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, "shebang-command": { "version": "2.0.0", "dev": true, @@ -10076,6 +11230,71 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", + "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "dependencies": { + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "test-exclude": { "version": "6.0.0", "dev": true, @@ -10159,6 +11378,18 @@ } } }, + "ts-loader": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", + "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, "tsconfig-paths": { "version": "3.14.2", "dev": true, @@ -10285,12 +11516,99 @@ "makeerror": "1.0.12" } }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, + "webpack": { + "version": "5.87.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz", + "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, "whatwg-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", @@ -10346,6 +11664,12 @@ "is-typed-array": "^1.1.10" } }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, "word-wrap": { "version": "1.2.3", "dev": true diff --git a/packages/browser/jest.config.js b/packages/browser/jest.config.js index 5d54b9b5..7c3a205c 100644 --- a/packages/browser/jest.config.js +++ b/packages/browser/jest.config.js @@ -2,4 +2,5 @@ module.exports = { preset: 'ts-jest', testEnvironment: 'jsdom', + setupFiles: ['./jest.setup.js'], }; diff --git a/packages/browser/jest.setup.js b/packages/browser/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/browser/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; diff --git a/packages/browser/package.json b/packages/browser/package.json index 2d0e92eb..147d3591 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -4,12 +4,13 @@ "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", + "browser": "lib/index.js", "scripts": { - "build": "tsc", - "clean": "tsc -b --clean && rimraf \"lib\"", + "build": "webpack", + "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "tsc -w", + "watch": "webpack -w", "test": "NODE_ENV=test jest" }, "repository": { @@ -37,9 +38,13 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "ts-loader": "^9.4.3", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" }, "dependencies": { - "ua-parser-js": "^1.0.35" + "ua-parser-js": "^1.0.35", + "@backtrace/sdk-core": "^0.0.1" } } diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 44931652..461436d9 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -5,7 +5,7 @@ import { ConnectionError, DEFAULT_TIMEOUT, } from '@backtrace/sdk-core'; -import { BacktraceData } from '@backtrace/sdk-core/src/model/data/BacktraceData'; +import { BacktraceData } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { private readonly UPLOAD_FILE_NAME = 'upload_file'; diff --git a/packages/browser/src/agentDefinition.ts b/packages/browser/src/agentDefinition.ts index 2b461983..da35ebf9 100644 --- a/packages/browser/src/agentDefinition.ts +++ b/packages/browser/src/agentDefinition.ts @@ -1,4 +1,8 @@ -import { SdkOptions } from '@backtrace/sdk-core/src/builder/SdkOptions'; +import type { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions'; + +// These variables will be set on compilation stage +declare const BACKTRACE_AGENT_NAME: string; +declare const BACKTRACE_AGENT_VERSION: string; export const AGENT: SdkOptions = { langName: 'js', @@ -9,6 +13,6 @@ export const AGENT: SdkOptions = { * it now, I'm leaving it hardcoded, but in the future we want * to change it and use webpack to generate it */ - agent: 'backtrace-js', - agentVersion: '0.0.1', + agent: BACKTRACE_AGENT_NAME, + agentVersion: BACKTRACE_AGENT_VERSION, }; diff --git a/packages/browser/src/attributes/WebsiteAttributeProvider.ts b/packages/browser/src/attributes/WebsiteAttributeProvider.ts index fc23fd32..e1ca7396 100644 --- a/packages/browser/src/attributes/WebsiteAttributeProvider.ts +++ b/packages/browser/src/attributes/WebsiteAttributeProvider.ts @@ -1,5 +1,5 @@ import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; -import { TimeHelper } from '@backtrace/sdk-core/src/common/TimeHelper'; +import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; const PAGE_START_TIME = TimeHelper.now(); diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index fba72a90..27a3d71a 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,12 +1,12 @@ import { BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; -import { V8StackTraceConverter } from '@backtrace/sdk-core/src/modules/converter/V8StackTraceConverter'; +import { V8StackTraceConverter } from '@backtrace/sdk-core/lib/modules/converter/V8StackTraceConverter'; +import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; +import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider'; import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; -import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; -import { BacktraceClient } from '../BacktraceClient'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStackTraceConverter'; import { getEngine } from '../engineDetector'; diff --git a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts index 2fb28208..cf55e345 100644 --- a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts +++ b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts @@ -1,6 +1,6 @@ import { ANONYMOUS_FUNCTION, BacktraceReport, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; -import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; -import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export class JavaScriptCoreStackTraceConverter implements BacktraceStackTraceConverter { get engine(): JavaScriptEngine { diff --git a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts index 96e680e3..692df455 100644 --- a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts +++ b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts @@ -1,6 +1,6 @@ import { ANONYMOUS_FUNCTION, BacktraceReport, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; -import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; -import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export class SpiderMonkeyStackTraceConverter implements BacktraceStackTraceConverter { private readonly ANONYMOUS_FUNCTIONS = ['()', '(null)', '']; diff --git a/packages/browser/src/engineDetector.ts b/packages/browser/src/engineDetector.ts index 0e67c872..c94453d5 100644 --- a/packages/browser/src/engineDetector.ts +++ b/packages/browser/src/engineDetector.ts @@ -1,4 +1,4 @@ -import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export function getEngine(): JavaScriptEngine { const normalizedUserAgent = navigator.userAgent.toLowerCase(); diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index f396810b..f019e6eb 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -1,4 +1,4 @@ export { BacktraceReport } from '@backtrace/sdk-core'; -export * from '@backtrace/sdk-core/src/model/attachment'; +export * from '@backtrace/sdk-core/lib/model/attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; diff --git a/packages/browser/webpack.config.js b/packages/browser/webpack.config.js new file mode 100644 index 00000000..a47cc23c --- /dev/null +++ b/packages/browser/webpack.config.js @@ -0,0 +1,28 @@ +const path = require('path'); +const { webpackTypescriptConfig, minifiedAndUnminified } = require('../../build/common'); +const agentDefinitionPlugin = require('../../build/agentDefinitionPlugin'); + +/** @type {import('webpack').Configuration} */ +const common = { + ...webpackTypescriptConfig, + target: 'web', + mode: process.env.NODE_ENV ?? 'production', + devtool: 'source-map', + entry: './src/index.ts', + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], +}; + +/** @type {Array} */ +module.exports = [ + ...minifiedAndUnminified({ + ...common, + output: { + filename: 'index.js', + path: path.join(__dirname, 'lib'), + library: { + name: 'Backtrace', + type: 'umd', + }, + }, + }), +]; diff --git a/tsconfig.json b/tsconfig.json index 071f6036..72ee2b39 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,9 +6,6 @@ { "path": "./packages/sdk-core" }, - { - "path": "./packages/browser" - }, { "path": "./packages/node" } diff --git a/tsconfig.packages.json b/tsconfig.packages.json index b2ff4fe0..ff8f08cd 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -4,9 +4,6 @@ { "path": "packages/sdk-core" }, - { - "path": "packages/browser" - }, { "path": "packages/node" } From 9e8cc5ed0327ad6b79588599e1e8c0fb31fe4570 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 22 Jun 2023 15:34:34 +0200 Subject: [PATCH 036/291] Add Webpack to the node package (#21) * node package: add webpack package * node package: change src imports to lib * node package: add webpack configuration and agent definition build variables * build: remove node package from tsconfig packages * node package: fix unit tests --------- Co-authored-by: Sebastian Alex --- package-lock.json | 725 +++++------------- packages/node/jest.config.js | 7 +- packages/node/jest.setup.js | 2 + packages/node/package.json | 12 +- .../node/src/BacktraceNodeRequestHandler.ts | 2 +- packages/node/src/agentDefinition.ts | 10 +- packages/node/src/attachment/index.ts | 2 +- .../ProcessStatusAttributeProvider.ts | 2 +- packages/node/src/index.ts | 2 +- packages/node/webpack.config.js | 28 + tsconfig.json | 3 - tsconfig.packages.json | 3 - 12 files changed, 235 insertions(+), 563 deletions(-) create mode 100644 packages/node/jest.setup.js create mode 100644 packages/node/webpack.config.js diff --git a/package-lock.json b/package-lock.json index f385779a..4017988f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -612,9 +612,8 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" } @@ -1155,9 +1154,8 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1246,9 +1244,8 @@ }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } @@ -1292,9 +1289,8 @@ }, "node_modules/@types/eslint": { "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -1302,9 +1298,8 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -1312,9 +1307,8 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/graceful-fs": { "version": "4.1.6", @@ -1356,9 +1350,8 @@ }, "node_modules/@types/jsdom": { "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", @@ -1377,9 +1370,8 @@ }, "node_modules/@types/node": { "version": "14.18.51", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.51.tgz", - "integrity": "sha512-P9bsdGFPpVtofEKlhWMVS2qqx1A/rt9QBfihWlklfHHpUpjtYse5AzFz6j4DWrARLYh6gRnw9+5+DJcrq3KvBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/prettier": { "version": "2.7.2", @@ -1398,15 +1390,13 @@ }, "node_modules/@types/tough-cookie": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/ua-parser-js": { "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.24", @@ -1603,9 +1593,8 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -1613,27 +1602,23 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -1642,15 +1627,13 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -1660,33 +1643,29 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -1700,9 +1679,8 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -1713,9 +1691,8 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -1725,9 +1702,8 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -1739,9 +1715,8 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -1749,9 +1724,8 @@ }, "node_modules/@webpack-cli/configtest": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -1762,9 +1736,8 @@ }, "node_modules/@webpack-cli/info": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -1775,9 +1748,8 @@ }, "node_modules/@webpack-cli/serve": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -1793,21 +1765,18 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/acorn": { "version": "8.8.2", @@ -1822,9 +1791,8 @@ }, "node_modules/acorn-globals": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" @@ -1832,9 +1800,8 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^8" } @@ -1849,18 +1816,16 @@ }, "node_modules/acorn-walk": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "4" }, @@ -1885,9 +1850,8 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -2030,8 +1994,7 @@ }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, "node_modules/available-typed-arrays": { "version": "1.0.5", @@ -2278,9 +2241,8 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } @@ -2353,9 +2315,8 @@ }, "node_modules/clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -2397,14 +2358,12 @@ }, "node_modules/colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2414,9 +2373,8 @@ }, "node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", @@ -2443,15 +2401,13 @@ }, "node_modules/cssom": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -2461,15 +2417,13 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/data-urls": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -2497,9 +2451,8 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dedent": { "version": "0.7.0", @@ -2536,8 +2489,7 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -2582,9 +2534,8 @@ }, "node_modules/domexception": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, + "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -2620,9 +2571,8 @@ }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -2633,9 +2583,8 @@ }, "node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -2645,9 +2594,8 @@ }, "node_modules/envinfo": { "version": "7.9.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", - "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -2712,9 +2660,8 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es-set-tostringtag": { "version": "2.0.1", @@ -2774,9 +2721,8 @@ }, "node_modules/escodegen": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -2796,18 +2742,16 @@ }, "node_modules/escodegen/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -2818,9 +2762,8 @@ }, "node_modules/escodegen/node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -2835,8 +2778,6 @@ }, "node_modules/escodegen/node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -2844,9 +2785,8 @@ }, "node_modules/escodegen/node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -3152,9 +3092,8 @@ }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -3251,9 +3190,8 @@ }, "node_modules/fastest-levenshtein": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.9.1" } @@ -3386,8 +3324,7 @@ }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -3402,18 +3339,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.2", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "dev": true, @@ -3542,9 +3467,8 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", @@ -3717,9 +3641,8 @@ }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -3734,9 +3657,8 @@ }, "node_modules/http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -3748,9 +3670,8 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -3769,9 +3690,8 @@ }, "node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -3857,9 +3777,8 @@ }, "node_modules/interpret": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -4022,9 +3941,8 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -4034,9 +3952,8 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-regex": { "version": "1.1.4", @@ -4139,9 +4056,8 @@ }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4437,9 +4353,8 @@ }, "node_modules/jest-environment-jsdom": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.5.0.tgz", - "integrity": "sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.5.0", "@jest/fake-timers": "^29.5.0", @@ -4853,9 +4768,8 @@ }, "node_modules/jsdom": { "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", @@ -4935,9 +4849,8 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4977,9 +4890,8 @@ }, "node_modules/loader-runner": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -5078,16 +4990,14 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -5137,9 +5047,8 @@ }, "node_modules/native-reg": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-gyp-build": "4" } @@ -5156,14 +5065,12 @@ }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-gyp-build": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -5201,9 +5108,8 @@ }, "node_modules/nwsapi": { "version": "2.2.5", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", - "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/object-inspect": { "version": "1.12.3", @@ -5358,9 +5264,8 @@ }, "node_modules/parse5": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, + "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -5563,9 +5468,8 @@ }, "node_modules/psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.0", @@ -5592,9 +5496,8 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -5617,9 +5520,8 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -5631,9 +5533,8 @@ }, "node_modules/rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -5667,9 +5568,8 @@ }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.2", @@ -5772,8 +5672,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -5788,7 +5686,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.0", @@ -5805,15 +5704,13 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -5823,9 +5720,8 @@ }, "node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -5866,18 +5762,16 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -6170,24 +6064,21 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terser": { "version": "5.18.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", - "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -6203,9 +6094,8 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -6237,9 +6127,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -6251,9 +6140,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6266,9 +6154,8 @@ }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -6337,9 +6224,8 @@ }, "node_modules/tough-cookie": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -6352,9 +6238,8 @@ }, "node_modules/tr46": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -6417,9 +6302,8 @@ }, "node_modules/ts-loader": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", - "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -6521,8 +6405,6 @@ }, "node_modules/ua-parser-js": { "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", "funding": [ { "type": "opencollective", @@ -6533,6 +6415,7 @@ "url": "https://paypal.me/faisalman" } ], + "license": "MIT", "engines": { "node": "*" } @@ -6553,9 +6436,8 @@ }, "node_modules/universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -6599,9 +6481,8 @@ }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -6627,9 +6508,8 @@ }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, + "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -6647,9 +6527,8 @@ }, "node_modules/watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -6660,18 +6539,16 @@ }, "node_modules/webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/webpack": { "version": "5.87.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz", - "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -6716,9 +6593,8 @@ }, "node_modules/webpack-cli": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -6761,18 +6637,16 @@ }, "node_modules/webpack-cli/node_modules/commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/webpack-merge": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -6781,20 +6655,27 @@ "node": ">=10.0.0" } }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/webpack-sources": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, + "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -6804,18 +6685,16 @@ }, "node_modules/whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -6874,9 +6753,8 @@ }, "node_modules/wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/word-wrap": { "version": "1.2.3", @@ -6997,9 +6875,8 @@ }, "node_modules/ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -7018,18 +6895,16 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12" } }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/y18n": { "version": "5.0.8", @@ -7131,7 +7006,11 @@ "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" }, "engines": { "node": ">=11.15.54" @@ -7139,9 +7018,8 @@ }, "packages/node/node_modules/@types/node": { "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/sdk-core": { "name": "@backtrace/sdk-core", @@ -7547,13 +7425,15 @@ "jest": "^29.5.0", "native-reg": "^1.1.1", "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" }, "dependencies": { "@types/node": { "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", "dev": true } } @@ -7573,8 +7453,6 @@ }, "@discoveryjs/json-ext": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, "@eslint-community/eslint-utils": { @@ -7939,8 +7817,6 @@ }, "@jridgewell/source-map": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -8010,8 +7886,6 @@ }, "@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, "@types/babel__core": { @@ -8049,8 +7923,6 @@ }, "@types/eslint": { "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", "dev": true, "requires": { "@types/estree": "*", @@ -8059,8 +7931,6 @@ }, "@types/eslint-scope": { "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "requires": { "@types/eslint": "*", @@ -8069,8 +7939,6 @@ }, "@types/estree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, "@types/graceful-fs": { @@ -8108,8 +7976,6 @@ }, "@types/jsdom": { "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, "requires": { "@types/node": "*", @@ -8127,8 +7993,6 @@ }, "@types/node": { "version": "14.18.51", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.51.tgz", - "integrity": "sha512-P9bsdGFPpVtofEKlhWMVS2qqx1A/rt9QBfihWlklfHHpUpjtYse5AzFz6j4DWrARLYh6gRnw9+5+DJcrq3KvBA==", "dev": true }, "@types/prettier": { @@ -8145,14 +8009,10 @@ }, "@types/tough-cookie": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, "@types/ua-parser-js": { "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", "dev": true }, "@types/yargs": { @@ -8251,8 +8111,6 @@ }, "@webassemblyjs/ast": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -8261,26 +8119,18 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", @@ -8290,14 +8140,10 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", @@ -8308,8 +8154,6 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -8317,8 +8161,6 @@ }, "@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -8326,14 +8168,10 @@ }, "@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", @@ -8348,8 +8186,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", @@ -8361,8 +8197,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", @@ -8373,8 +8207,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", @@ -8387,8 +8219,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", @@ -8397,41 +8227,29 @@ }, "@webpack-cli/configtest": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "requires": {} }, "@webpack-cli/serve": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "acorn": { @@ -8440,8 +8258,6 @@ }, "acorn-globals": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "requires": { "acorn": "^8.1.0", @@ -8450,8 +8266,6 @@ }, "acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, "requires": {} }, @@ -8462,14 +8276,10 @@ }, "acorn-walk": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, "agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { "debug": "4" @@ -8487,8 +8297,6 @@ }, "ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, @@ -8572,9 +8380,7 @@ } }, "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "version": "0.4.0" }, "available-typed-arrays": { "version": "1.0.5", @@ -8721,8 +8527,6 @@ }, "chrome-trace-event": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, "ci-info": { @@ -8768,8 +8572,6 @@ }, "clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -8798,22 +8600,16 @@ }, "colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "concat-map": { @@ -8835,14 +8631,10 @@ }, "cssom": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, "cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -8850,16 +8642,12 @@ "dependencies": { "cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, "data-urls": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { "abab": "^2.0.6", @@ -8876,8 +8664,6 @@ }, "decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, "dedent": { @@ -8901,9 +8687,7 @@ } }, "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "version": "1.0.0" }, "detect-newline": { "version": "3.1.0", @@ -8929,8 +8713,6 @@ }, "domexception": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "requires": { "webidl-conversions": "^7.0.0" @@ -8954,8 +8736,6 @@ }, "enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -8964,14 +8744,10 @@ }, "entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, "envinfo": { "version": "7.9.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", - "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", "dev": true }, "error-ex": { @@ -9023,8 +8799,6 @@ }, "es-module-lexer": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, "es-set-tostringtag": { @@ -9062,8 +8836,6 @@ }, "escodegen": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "dev": true, "requires": { "esprima": "^4.0.1", @@ -9075,14 +8847,10 @@ "dependencies": { "estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "requires": { "prelude-ls": "~1.1.2", @@ -9091,8 +8859,6 @@ }, "optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { "deep-is": "~0.1.3", @@ -9105,14 +8871,10 @@ }, "prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true }, "type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "requires": { "prelude-ls": "~1.1.2" @@ -9324,8 +9086,6 @@ }, "events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "execa": { @@ -9398,8 +9158,6 @@ }, "fastest-levenshtein": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "fastq": { @@ -9488,8 +9246,6 @@ }, "form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -9500,11 +9256,6 @@ "version": "1.0.0", "dev": true }, - "fsevents": { - "version": "2.3.2", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1", "dev": true @@ -9593,8 +9344,6 @@ }, "glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "globals": { @@ -9681,8 +9430,6 @@ }, "html-encoding-sniffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "requires": { "whatwg-encoding": "^2.0.0" @@ -9694,8 +9441,6 @@ }, "http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { "@tootallnate/once": "2", @@ -9705,8 +9450,6 @@ }, "https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", @@ -9719,8 +9462,6 @@ }, "iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -9773,8 +9514,6 @@ }, "interpret": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true }, "is-array-buffer": { @@ -9863,8 +9602,6 @@ }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -9872,8 +9609,6 @@ }, "is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, "is-regex": { @@ -9933,8 +9668,6 @@ }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "istanbul-lib-coverage": { @@ -10126,8 +9859,6 @@ }, "jest-environment-jsdom": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.5.0.tgz", - "integrity": "sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==", "dev": true, "requires": { "@jest/environment": "^29.5.0", @@ -10426,8 +10157,6 @@ }, "jsdom": { "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "requires": { "abab": "^2.0.6", @@ -10483,8 +10212,6 @@ }, "kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "kleur": { @@ -10509,8 +10236,6 @@ }, "loader-runner": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "locate-path": { @@ -10573,14 +10298,10 @@ } }, "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "version": "1.52.0" }, "mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { "mime-db": "1.52.0" } @@ -10610,8 +10331,6 @@ }, "native-reg": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "requires": { "node-gyp-build": "4" } @@ -10626,14 +10345,10 @@ }, "neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + "version": "4.6.0" }, "node-int64": { "version": "0.4.0", @@ -10656,8 +10371,6 @@ }, "nwsapi": { "version": "2.2.5", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", - "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", "dev": true }, "object-inspect": { @@ -10750,8 +10463,6 @@ }, "parse5": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "requires": { "entities": "^4.4.0" @@ -10868,8 +10579,6 @@ }, "psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "punycode": { @@ -10882,8 +10591,6 @@ }, "querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "queue-microtask": { @@ -10892,8 +10599,6 @@ }, "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -10905,8 +10610,6 @@ }, "rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "requires": { "resolve": "^1.20.0" @@ -10927,8 +10630,6 @@ }, "requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "resolve": { @@ -10981,8 +10682,6 @@ }, "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safe-regex-test": { @@ -10996,14 +10695,10 @@ }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -11011,8 +10706,6 @@ }, "schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -11038,8 +10731,6 @@ }, "serialize-javascript": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -11047,8 +10738,6 @@ }, "shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -11226,20 +10915,14 @@ }, "symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, "terser": { "version": "5.18.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", - "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -11250,8 +10933,6 @@ "dependencies": { "source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -11262,8 +10943,6 @@ }, "terser-webpack-plugin": { "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.17", @@ -11275,8 +10954,6 @@ "dependencies": { "jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", @@ -11286,8 +10963,6 @@ }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -11339,8 +11014,6 @@ }, "tough-cookie": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", "dev": true, "requires": { "psl": "^1.1.33", @@ -11351,8 +11024,6 @@ }, "tr46": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" @@ -11380,8 +11051,6 @@ }, "ts-loader": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", - "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -11440,9 +11109,7 @@ "dev": true }, "ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + "version": "1.0.35" }, "unbox-primitive": { "version": "1.0.2", @@ -11456,8 +11123,6 @@ }, "universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true }, "update-browserslist-db": { @@ -11477,8 +11142,6 @@ }, "url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -11502,8 +11165,6 @@ }, "w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { "xml-name-validator": "^4.0.0" @@ -11518,8 +11179,6 @@ }, "watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -11528,14 +11187,10 @@ }, "webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { "version": "5.87.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz", - "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -11566,8 +11221,6 @@ }, "webpack-cli": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -11587,32 +11240,30 @@ "dependencies": { "commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true } } }, "webpack-merge": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "requires": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" } }, + "webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true + }, "webpack-sources": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true }, "whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { "iconv-lite": "0.6.3" @@ -11620,14 +11271,10 @@ }, "whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { "tr46": "^3.0.0", @@ -11666,8 +11313,6 @@ }, "wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, "word-wrap": { @@ -11744,21 +11389,15 @@ }, "ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, "requires": {} }, "xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "y18n": { diff --git a/packages/node/jest.config.js b/packages/node/jest.config.js index b413e106..463cbb9b 100644 --- a/packages/node/jest.config.js +++ b/packages/node/jest.config.js @@ -1,5 +1,6 @@ /** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -}; \ No newline at end of file + preset: 'ts-jest', + testEnvironment: 'node', + setupFiles: ['./jest.setup.js'], +}; diff --git a/packages/node/jest.setup.js b/packages/node/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/node/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; diff --git a/packages/node/package.json b/packages/node/package.json index 3d9dca7e..cd88047f 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -5,11 +5,11 @@ "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { - "build": "tsc", - "clean": "tsc -b --clean && rimraf \"lib\"", + "build": "webpack", + "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "tsc -w", + "watch": "webpack -w", "test": "NODE_ENV=test jest" }, "engines": { @@ -39,7 +39,11 @@ "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" }, "dependencies": { "form-data": "^4.0.0", diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index d234e947..449dc1a5 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -6,7 +6,7 @@ import { ConnectionError, DEFAULT_TIMEOUT, } from '@backtrace/sdk-core'; -import { BacktraceData } from '@backtrace/sdk-core/src/model/data/BacktraceData'; +import { BacktraceData } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; import FormData from 'form-data'; import http from 'http'; import https from 'https'; diff --git a/packages/node/src/agentDefinition.ts b/packages/node/src/agentDefinition.ts index 9602968a..e3605c54 100644 --- a/packages/node/src/agentDefinition.ts +++ b/packages/node/src/agentDefinition.ts @@ -1,4 +1,8 @@ -import { SdkOptions } from '@backtrace/sdk-core/src/builder/SdkOptions'; +import { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions'; + +// These variables will be set on compilation stage +declare const BACKTRACE_AGENT_NAME: string; +declare const BACKTRACE_AGENT_VERSION: string; export const AGENT: SdkOptions = { langName: 'nodejs', @@ -9,6 +13,6 @@ export const AGENT: SdkOptions = { * it now, I'm leaving it hardcoded, but in the future we want * to change it and use webpack to generate it */ - agent: 'backtrace-node', - agentVersion: '0.0.1', + agent: BACKTRACE_AGENT_NAME, + agentVersion: BACKTRACE_AGENT_VERSION, }; diff --git a/packages/node/src/attachment/index.ts b/packages/node/src/attachment/index.ts index ad263b79..2d0a4ee4 100644 --- a/packages/node/src/attachment/index.ts +++ b/packages/node/src/attachment/index.ts @@ -1,3 +1,3 @@ -export * from '@backtrace/sdk-core/src/model/attachment'; +export * from '@backtrace/sdk-core/lib/model/attachment'; export * from './BacktraceBufferAttachment'; export * from './BacktraceFileAttachment'; diff --git a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts index 9ea925d8..7ae11522 100644 --- a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts +++ b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts @@ -1,5 +1,5 @@ import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; -import { AttributeType } from '@backtrace/sdk-core/src/model/data/BacktraceData'; +import { AttributeType } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; import os from 'os'; export class ProcessStatusAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 354d8c0a..88318a32 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -1,4 +1,4 @@ export { BacktraceReport } from '@backtrace/sdk-core'; -export * from './attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; +export * from './attachment'; diff --git a/packages/node/webpack.config.js b/packages/node/webpack.config.js new file mode 100644 index 00000000..cd1aa021 --- /dev/null +++ b/packages/node/webpack.config.js @@ -0,0 +1,28 @@ +const path = require('path'); +const { webpackTypescriptConfig } = require('../../build/common'); +const agentDefinitionPlugin = require('../../build/agentDefinitionPlugin'); +const nodeExternals = require('webpack-node-externals'); + +/** @type {import('webpack').Configuration} */ +module.exports = { + ...webpackTypescriptConfig, + mode: process.env.NODE_ENV ?? 'production', + devtool: 'source-map', + entry: './src/index.ts', + target: 'node', + externalsPresets: { node: true }, + externals: [ + nodeExternals({ + additionalModuleDirs: ['../../node_modules'], + }), + ], + output: { + filename: 'index.js', + path: path.join(__dirname, 'lib'), + libraryTarget: 'commonjs2', + }, + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], + optimization: { + minimize: false, + }, +}; diff --git a/tsconfig.json b/tsconfig.json index 72ee2b39..864e4e80 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,9 +5,6 @@ "references": [ { "path": "./packages/sdk-core" - }, - { - "path": "./packages/node" } ] } diff --git a/tsconfig.packages.json b/tsconfig.packages.json index ff8f08cd..6757bd6b 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -3,9 +3,6 @@ "references": [ { "path": "packages/sdk-core" - }, - { - "path": "packages/node" } ] } From a1aa5e94bcb4a6ffa4bfb387fe0f10142bd82046 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 22 Jun 2023 15:36:00 +0200 Subject: [PATCH 037/291] Add helpers for future sourcemap plugins and CLI. (#8) * sourcemap-tools: add initial project * sourcemap-tools: add DebugIdGenerator for generating source and sourcemap stuff * sourcemap-tools: return a new object instead of modifying it in addSourceMapKey * sourcemap-tools: add ContentAppender with tests * backtrace-javascript: add sourcemap-tools to tsconfig references * sourcemap-tools: update engine and keywords in package.json --------- Co-authored-by: Sebastian Alex --- package-lock.json | 27 ++- package.json | 3 +- tools/sourcemap-tools/LICENSE | 21 ++ tools/sourcemap-tools/jest.config.js | 5 + tools/sourcemap-tools/package.json | 45 +++++ tools/sourcemap-tools/src/ContentAppender.ts | 11 ++ tools/sourcemap-tools/src/DebugIdGenerator.ts | 20 ++ tools/sourcemap-tools/src/index.ts | 2 + .../tests/ContentAppender.spec.ts | 119 +++++++++++ .../tests/DebugIdGenerator.spec.ts | 184 ++++++++++++++++++ tools/sourcemap-tools/tsconfig.json | 8 + tsconfig.json | 3 + tsconfig.packages.json | 3 + 13 files changed, 449 insertions(+), 2 deletions(-) create mode 100644 tools/sourcemap-tools/LICENSE create mode 100644 tools/sourcemap-tools/jest.config.js create mode 100644 tools/sourcemap-tools/package.json create mode 100644 tools/sourcemap-tools/src/ContentAppender.ts create mode 100644 tools/sourcemap-tools/src/DebugIdGenerator.ts create mode 100644 tools/sourcemap-tools/src/index.ts create mode 100644 tools/sourcemap-tools/tests/ContentAppender.spec.ts create mode 100644 tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts create mode 100644 tools/sourcemap-tools/tsconfig.json diff --git a/package-lock.json b/package-lock.json index 4017988f..cd26ee7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.1", "license": "MIT", "workspaces": [ - "packages/*" + "packages/*", + "tools/*" ], "devDependencies": { "@types/node": "^14.18.51", @@ -605,6 +606,10 @@ "resolved": "packages/sdk-core", "link": true }, + "node_modules/@backtrace/sourcemap-tools": { + "resolved": "tools/sourcemap-tools", + "link": true + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "dev": true, @@ -7031,6 +7036,17 @@ "ts-jest": "^29.1.0", "typescript": "^5.0.4" } + }, + "tools/sourcemap-tools": { + "name": "@backtrace/sourcemap-tools", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } } }, "dependencies": { @@ -7447,6 +7463,15 @@ "typescript": "^5.0.4" } }, + "@backtrace/sourcemap-tools": { + "version": "file:tools/sourcemap-tools", + "requires": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, "@bcoe/v8-coverage": { "version": "0.2.3", "dev": true diff --git a/package.json b/package.json index bb1ea77e..e642fe71 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "test": "npm run test --ws --if-present" }, "workspaces": [ - "packages/*" + "packages/*", + "tools/*" ], "repository": { "type": "git", diff --git a/tools/sourcemap-tools/LICENSE b/tools/sourcemap-tools/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/tools/sourcemap-tools/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/sourcemap-tools/jest.config.js b/tools/sourcemap-tools/jest.config.js new file mode 100644 index 00000000..b413e106 --- /dev/null +++ b/tools/sourcemap-tools/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json new file mode 100644 index 00000000..0a626bb0 --- /dev/null +++ b/tools/sourcemap-tools/package.json @@ -0,0 +1,45 @@ +{ + "name": "@backtrace/sourcemap-tools", + "version": "0.0.1", + "description": "Backtrace-JavaScript sourcemap tools", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Sourcemaps", + "Source maps" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } +} diff --git a/tools/sourcemap-tools/src/ContentAppender.ts b/tools/sourcemap-tools/src/ContentAppender.ts new file mode 100644 index 00000000..3aad8273 --- /dev/null +++ b/tools/sourcemap-tools/src/ContentAppender.ts @@ -0,0 +1,11 @@ +export class ContentAppender { + public appendToJSON(json: string, keyValues: object) { + for (const [key, value] of Object.entries(keyValues)) { + // Replace closing bracket with additional key-values + // Keep the matched whitespaces at the end + json = json.replace(/}(\s*)$/, `,"${key}":${JSON.stringify(value)}}$1`); + } + + return json; + } +} diff --git a/tools/sourcemap-tools/src/DebugIdGenerator.ts b/tools/sourcemap-tools/src/DebugIdGenerator.ts new file mode 100644 index 00000000..65482744 --- /dev/null +++ b/tools/sourcemap-tools/src/DebugIdGenerator.ts @@ -0,0 +1,20 @@ +export const SOURCE_DEBUG_ID_VARIABLE = '_btDebugIds'; +export const SOURCE_DEBUG_ID_COMMENT = 'debugId'; +export const SOURCEMAP_DEBUG_ID_KEY = 'debugId'; + +export class DebugIdGenerator { + public generateSourceSnippet(uuid: string) { + return `!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e.${SOURCE_DEBUG_ID_VARIABLE}=e.${SOURCE_DEBUG_ID_VARIABLE}||{},e.${SOURCE_DEBUG_ID_VARIABLE}[n]="${uuid}")}catch(e){}}()`; + } + + public generateSourceComment(uuid: string) { + return `//# ${SOURCE_DEBUG_ID_COMMENT}=${uuid}`; + } + + public addSourceMapKey(sourceMap: T, uuid: string): T & { [SOURCEMAP_DEBUG_ID_KEY]: string } { + return { + ...sourceMap, + [SOURCEMAP_DEBUG_ID_KEY]: uuid, + }; + } +} diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts new file mode 100644 index 00000000..e162951e --- /dev/null +++ b/tools/sourcemap-tools/src/index.ts @@ -0,0 +1,2 @@ +export * from './ContentAppender'; +export * from './DebugIdGenerator'; diff --git a/tools/sourcemap-tools/tests/ContentAppender.spec.ts b/tools/sourcemap-tools/tests/ContentAppender.spec.ts new file mode 100644 index 00000000..c5b63f20 --- /dev/null +++ b/tools/sourcemap-tools/tests/ContentAppender.spec.ts @@ -0,0 +1,119 @@ +import { ContentAppender } from '../src'; + +describe('ContentAppender', () => { + describe('appendToJSON', () => { + it('should return a parseable object', () => { + const obj = { + a: '123', + b: '456', + }; + + const keyValues = { + x: 'x', + y: 123, + z: true, + }; + + const contentAppender = new ContentAppender(); + const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); + + expect(() => JSON.parse(actual)).not.toThrow(); + }); + + it('should return an object with new key values', () => { + const obj = { + a: '123', + b: '456', + }; + + const keyValues = { + x: 'x', + y: 123, + z: true, + }; + + const contentAppender = new ContentAppender(); + const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); + + expect(JSON.parse(actual)).toMatchObject(keyValues); + }); + + it('should return an object with old key values', () => { + const obj = { + a: '123', + b: '456', + }; + + const keyValues = { + x: 'x', + y: 123, + z: true, + }; + + const contentAppender = new ContentAppender(); + const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); + + expect(JSON.parse(actual)).toMatchObject(obj); + }); + + it('should return an object with old and new key values', () => { + const obj = { + a: '123', + b: '456', + }; + + const keyValues = { + x: 'x', + y: 123, + z: true, + }; + + const expected = { + ...obj, + ...keyValues, + }; + + const contentAppender = new ContentAppender(); + const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); + + expect(JSON.parse(actual)).toMatchObject(expected); + }); + + it('should return an object with old and new key values with whitespaces at the end of JSON', () => { + const obj = { + a: '123', + b: '456', + }; + + const keyValues = { + x: 'x', + y: 123, + z: true, + }; + + const expected = { + ...obj, + ...keyValues, + }; + + const contentAppender = new ContentAppender(); + const actual = contentAppender.appendToJSON(JSON.stringify(obj) + ' \n\n \n\t', keyValues); + + expect(JSON.parse(actual)).toMatchObject(expected); + }); + + it('should not remove whitespaces at the end of JSON', () => { + const expected = ' \n\n \n\t'; + const json = + JSON.stringify({ + a: '123', + b: '456', + }) + expected; + + const contentAppender = new ContentAppender(); + const actual = contentAppender.appendToJSON(json, { x: true }); + + expect(actual).toMatch(new RegExp(expected + '$')); + }); + }); +}); diff --git a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts new file mode 100644 index 00000000..cb2e8b35 --- /dev/null +++ b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts @@ -0,0 +1,184 @@ +import crypto from 'crypto'; +import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY, SOURCE_DEBUG_ID_COMMENT, SOURCE_DEBUG_ID_VARIABLE } from '../src'; + +describe('DebugIdGenerator', () => { + describe('source snippet', () => { + /** + * Makes the `global` variable `undefined` in the callback. + * @param callback + */ + function undefineGlobal(callback: () => void) { + const globalBackup = global; + // eslint-disable-next-line no-global-assign + global = undefined as never; + + try { + callback(); + } finally { + // eslint-disable-next-line no-global-assign + global = globalBackup; + } + } + + beforeEach(() => { + // Clean the debug container from the global variable + delete global[SOURCE_DEBUG_ID_VARIABLE as never]; + + // Sanity checks + expect(typeof window).toEqual('undefined'); + expect(typeof self).toEqual('undefined'); + }); + + it('should return snippet containing passed UUID in quotes', () => { + const expected = crypto.randomUUID(); + + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(expected); + + expect(snippet).toContain(`"${expected}"`); + }); + + it('should return snippet that is evaulable without exceptions', () => { + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(crypto.randomUUID()); + + expect(() => eval(snippet)).not.toThrow(); + }); + + it('should assign debug ID container to "window" global variable when it is available', () => { + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(crypto.randomUUID()); + + const window = {}; + // Node.JS defines global, we need to make it undefined so the snippet won't pick it up + undefineGlobal(() => eval(snippet)); + + expect(Object.keys(window)).toContain(SOURCE_DEBUG_ID_VARIABLE); + }); + + it('should assign debug ID container to "global" global variable when it is available', () => { + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(crypto.randomUUID()); + + eval(snippet); + + expect(Object.keys(global)).toContain(SOURCE_DEBUG_ID_VARIABLE); + }); + + it('should assign debug ID container to "self" global variable when it is available', () => { + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(crypto.randomUUID()); + + const self = {}; + // Node.JS defines global, we need to make it undefined so the snippet won't pick it up + undefineGlobal(() => eval(snippet)); + + expect(Object.keys(self)).toContain(SOURCE_DEBUG_ID_VARIABLE); + }); + + it('should not fail when "window", "self", "global" are undefined', () => { + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(crypto.randomUUID()); + + const self = undefined; + const window = undefined; + + // "Use" the variables so Typescript won't complain about them being unused + self; + window; + + // Node.JS defines global, we need to make it undefined so the snippet won't pick it up + expect(() => undefineGlobal(() => eval(snippet))).not.toThrow(); + }); + + it('should assign error stack as key to debug ID container', () => { + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(crypto.randomUUID()); + + eval(snippet); + + const container = global[SOURCE_DEBUG_ID_VARIABLE as never]; + const keys = Object.keys(container); + for (const key of keys) { + expect(key).toMatch(/Error:/); + expect(key).toMatch(/\/DebugIdGenerator.spec.ts/); + } + }); + + it('should assign provided debug ID as value to debug ID container', () => { + const expected = crypto.randomUUID(); + + const debugIdGenerator = new DebugIdGenerator(); + const snippet = debugIdGenerator.generateSourceSnippet(expected); + + eval(snippet); + + const container = global[SOURCE_DEBUG_ID_VARIABLE as never]; + expect(Object.values(container)).toContain(expected); + }); + }); + + describe('source comment', () => { + it('should return a comment matching regex', () => { + const regex = new RegExp(`^//# ${SOURCE_DEBUG_ID_COMMENT}=[a-fA-F0-9-]{36}$`); + + const debugIdGenerator = new DebugIdGenerator(); + const comment = debugIdGenerator.generateSourceComment(crypto.randomUUID()); + + expect(comment).toMatch(regex); + }); + + it('should return a comment with provided debug ID', () => { + const expected = crypto.randomUUID(); + + const debugIdGenerator = new DebugIdGenerator(); + const comment = debugIdGenerator.generateSourceComment(expected); + + expect(comment).toContain(expected); + }); + + it('should return a comment that is evaluable without exceptions', () => { + const debugIdGenerator = new DebugIdGenerator(); + const comment = debugIdGenerator.generateSourceComment(crypto.randomUUID()); + + expect(() => eval(comment)).not.toThrow(); + }); + }); + + describe('source map', () => { + it('should add key to object', () => { + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.addSourceMapKey({}, crypto.randomUUID()); + + expect(Object.keys(actual)).toContain(SOURCEMAP_DEBUG_ID_KEY); + }); + + it('should add provided debug ID to object', () => { + const expected = crypto.randomUUID(); + + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.addSourceMapKey({}, expected); + + expect(actual[SOURCEMAP_DEBUG_ID_KEY as never]).toEqual(expected); + }); + + it('should return a different object', () => { + const expected = {}; + + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.addSourceMapKey(expected, crypto.randomUUID()); + + expect(actual).not.toBe(expected); + }); + + it('should not modify the original object', () => { + const expected = {}; + const actual = {}; + + const debugIdGenerator = new DebugIdGenerator(); + debugIdGenerator.addSourceMapKey(actual, crypto.randomUUID()); + + expect(actual).toEqual(expected); + }); + }); +}); diff --git a/tools/sourcemap-tools/tsconfig.json b/tools/sourcemap-tools/tsconfig.json new file mode 100644 index 00000000..378ae8b3 --- /dev/null +++ b/tools/sourcemap-tools/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/tsconfig.json b/tsconfig.json index 864e4e80..af034659 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,9 @@ "references": [ { "path": "./packages/sdk-core" + }, + { + "path": "./tools/sourcemap-tools" } ] } diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 6757bd6b..3312e0d2 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -3,6 +3,9 @@ "references": [ { "path": "packages/sdk-core" + }, + { + "path": "tools/sourcemap-tools" } ] } From 59b5590f5a40ae0da5d5805f39bb53b6a4f365c1 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 22 Jun 2023 15:39:16 +0200 Subject: [PATCH 038/291] Adds Webpack plugin for injecting debug IDs into sources and sourcemaps. (#9) * webpack-plugin: add initial project * webpack-plugin: add simple source injection and tests * webpack-plugin: add debugId comment appending to source files * webpack-plugin: add debugId appending to sourcemap files * webpack-plugin: use DebugIdGenerator as generator for code * webpack-plugin: add mode unit tests, add TestDebugIdGenerator * webpack-plugin: add e2e test builder for standardized tests * webpack-plugin: fix adding debug IDs to sourcemaps on development and none webpack modes * webpack-plugin: add additional e2e test cases * webpack-plugin: move e2e tests to a separate directory * webpack-plugin: add BacktraceWebpackSourceGenerator and unit tests for it * webpack-plugin: use ContentAppender in BacktraceWebpackSourceGenerator * backtrace-javascript: updates package-lock.json * backtrace-javascript: add webpack-plugin to tsconfig references * webpack-plugin: add newline before comment in source * webpack-plugin: add typescript sourcemap e2e test case * webpack-plugin: add tags to package.json * webpack-plugin: adds newline before source snippet * webpack-plugin: add source eval test * webpack-plugin: add debugID for JS files only * webpack plugin: add engines to package.json --------- Co-authored-by: Sebastian Alex --- package-lock.json | 330 +++++++----------- package.json | 5 +- tools/sourcemap-tools/tsconfig.json | 3 +- tools/webpack-plugin/LICENSE | 21 ++ tools/webpack-plugin/jest.config.js | 5 + tools/webpack-plugin/package.json | 51 +++ tools/webpack-plugin/src/BacktracePlugin.ts | 195 +++++++++++ .../src/BacktraceWebpackSourceGenerator.ts | 39 +++ tools/webpack-plugin/src/index.ts | 4 + .../tests/__mocks__/TestDebugIdGenerator.ts | 35 ++ .../webpack-plugin/tests/e2e/createE2ETest.ts | 100 ++++++ tools/webpack-plugin/tests/e2e/helpers.ts | 96 +++++ .../multiple-input-chunked-output/.gitignore | 1 + .../input/dependency.ts | 3 + .../input/entry1.ts | 4 + .../input/entry2.ts | 4 + .../multiple-input-chunked-output.spec.ts | 31 ++ .../tsconfig.test.json | 8 + .../multiple-input-multiple-output/.gitignore | 1 + .../input/dependency.ts | 3 + .../input/entry1.ts | 4 + .../input/entry2.ts | 4 + .../multiple-input-multiple-output.spec.ts | 25 ++ .../tsconfig.test.json | 8 + .../tests/e2e/no-sourcemaps/.gitignore | 1 + .../e2e/no-sourcemaps/input/dependency.ts | 3 + .../tests/e2e/no-sourcemaps/input/index.ts | 4 + .../e2e/no-sourcemaps/no-sourcemaps.spec.ts | 26 ++ .../e2e/no-sourcemaps/tsconfig.test.json | 8 + .../e2e/single-input-single-output/.gitignore | 1 + .../input/dependency.ts | 3 + .../single-input-single-output/input/index.ts | 4 + .../single-input-single-output.spec.ts | 22 ++ .../tsconfig.test.json | 8 + .../tests/e2e/tsconfig.test-base.json | 12 + .../e2e/typescript-sourcemaps/.gitignore | 1 + .../typescript-sourcemaps/input/dependency.ts | 3 + .../e2e/typescript-sourcemaps/input/index.ts | 4 + .../typescript-sourcemaps/tsconfig.test.json | 9 + .../typescript-sourcemaps.spec.ts | 22 ++ .../BacktraceWebpackSourceGenerator.spec.ts | 297 ++++++++++++++++ tools/webpack-plugin/tsconfig.json | 13 + tsconfig.json | 3 + tsconfig.packages.json | 3 + 44 files changed, 1227 insertions(+), 200 deletions(-) create mode 100644 tools/webpack-plugin/LICENSE create mode 100644 tools/webpack-plugin/jest.config.js create mode 100644 tools/webpack-plugin/package.json create mode 100644 tools/webpack-plugin/src/BacktracePlugin.ts create mode 100644 tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts create mode 100644 tools/webpack-plugin/src/index.ts create mode 100644 tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts create mode 100644 tools/webpack-plugin/tests/e2e/createE2ETest.ts create mode 100644 tools/webpack-plugin/tests/e2e/helpers.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/.gitignore create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/dependency.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry1.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry2.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/multiple-input-chunked-output.spec.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/tsconfig.test.json create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/.gitignore create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/dependency.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry1.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry2.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/multiple-input-multiple-output.spec.ts create mode 100644 tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/tsconfig.test.json create mode 100644 tools/webpack-plugin/tests/e2e/no-sourcemaps/.gitignore create mode 100644 tools/webpack-plugin/tests/e2e/no-sourcemaps/input/dependency.ts create mode 100644 tools/webpack-plugin/tests/e2e/no-sourcemaps/input/index.ts create mode 100644 tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts create mode 100644 tools/webpack-plugin/tests/e2e/no-sourcemaps/tsconfig.test.json create mode 100644 tools/webpack-plugin/tests/e2e/single-input-single-output/.gitignore create mode 100644 tools/webpack-plugin/tests/e2e/single-input-single-output/input/dependency.ts create mode 100644 tools/webpack-plugin/tests/e2e/single-input-single-output/input/index.ts create mode 100644 tools/webpack-plugin/tests/e2e/single-input-single-output/single-input-single-output.spec.ts create mode 100644 tools/webpack-plugin/tests/e2e/single-input-single-output/tsconfig.test.json create mode 100644 tools/webpack-plugin/tests/e2e/tsconfig.test-base.json create mode 100644 tools/webpack-plugin/tests/e2e/typescript-sourcemaps/.gitignore create mode 100644 tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/dependency.ts create mode 100644 tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/index.ts create mode 100644 tools/webpack-plugin/tests/e2e/typescript-sourcemaps/tsconfig.test.json create mode 100644 tools/webpack-plugin/tests/e2e/typescript-sourcemaps/typescript-sourcemaps.spec.ts create mode 100644 tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts create mode 100644 tools/webpack-plugin/tsconfig.json diff --git a/package-lock.json b/package-lock.json index cd26ee7c..11b78ce2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -610,6 +610,10 @@ "resolved": "tools/sourcemap-tools", "link": true }, + "node_modules/@backtrace/webpack-plugin": { + "resolved": "tools/webpack-plugin", + "link": true + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "dev": true, @@ -1130,7 +1134,6 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -1143,7 +1146,6 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -1151,7 +1153,6 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -1159,7 +1160,6 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.3", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -1168,12 +1168,10 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.18", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "3.1.0", @@ -1182,7 +1180,6 @@ }, "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", - "dev": true, "license": "MIT" }, "node_modules/@nodelib/fs.scandir": { @@ -1294,7 +1291,6 @@ }, "node_modules/@types/eslint": { "version": "8.40.2", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "*", @@ -1303,7 +1299,6 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint": "*", @@ -1312,7 +1307,6 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "dev": true, "license": "MIT" }, "node_modules/@types/graceful-fs": { @@ -1365,7 +1359,6 @@ }, "node_modules/@types/json-schema": { "version": "7.0.12", - "dev": true, "license": "MIT" }, "node_modules/@types/json5": { @@ -1375,7 +1368,6 @@ }, "node_modules/@types/node": { "version": "14.18.51", - "dev": true, "license": "MIT" }, "node_modules/@types/prettier": { @@ -1388,6 +1380,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, "node_modules/@types/stack-utils": { "version": "2.0.1", "dev": true, @@ -1403,6 +1401,26 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/@types/yargs": { "version": "17.0.24", "dev": true, @@ -1598,7 +1616,6 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -1607,22 +1624,18 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", @@ -1632,12 +1645,10 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -1648,7 +1659,6 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -1656,7 +1666,6 @@ }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "dev": true, "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" @@ -1664,12 +1673,10 @@ }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -1684,7 +1691,6 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -1696,7 +1702,6 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -1707,7 +1712,6 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -1720,7 +1724,6 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -1770,12 +1773,10 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, "license": "Apache-2.0" }, "node_modules/abab": { @@ -1785,7 +1786,6 @@ }, "node_modules/acorn": { "version": "8.8.2", - "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -1805,7 +1805,6 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^8" @@ -1840,7 +1839,6 @@ }, "node_modules/ajv": { "version": "6.12.6", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -1855,7 +1853,6 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", - "dev": true, "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" @@ -2125,7 +2122,6 @@ }, "node_modules/browserslist": { "version": "4.21.5", - "dev": true, "funding": [ { "type": "opencollective", @@ -2171,7 +2167,6 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, "license": "MIT" }, "node_modules/call-bind": { @@ -2204,7 +2199,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001489", - "dev": true, "funding": [ { "type": "opencollective", @@ -2246,7 +2240,6 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0" @@ -2378,7 +2371,6 @@ }, "node_modules/commander": { "version": "2.20.3", - "dev": true, "license": "MIT" }, "node_modules/concat-map": { @@ -2555,7 +2547,6 @@ }, "node_modules/electron-to-chromium": { "version": "1.4.408", - "dev": true, "license": "ISC" }, "node_modules/emittery": { @@ -2576,7 +2567,6 @@ }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -2665,7 +2655,6 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "dev": true, "license": "MIT" }, "node_modules/es-set-tostringtag": { @@ -2707,7 +2696,6 @@ }, "node_modules/escalade": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -2969,7 +2957,6 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -3062,7 +3049,6 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -3073,7 +3059,6 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -3081,7 +3066,6 @@ }, "node_modules/estraverse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -3097,7 +3081,6 @@ }, "node_modules/events": { "version": "3.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.x" @@ -3154,7 +3137,6 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -3185,7 +3167,6 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, "license": "MIT" }, "node_modules/fast-levenshtein": { @@ -3472,7 +3453,6 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/glob/node_modules/brace-expansion": { @@ -3557,7 +3537,6 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, "license": "ISC" }, "node_modules/grapheme-splitter": { @@ -3591,7 +3570,6 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -4828,12 +4806,10 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { @@ -4895,7 +4871,6 @@ }, "node_modules/loader-runner": { "version": "4.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6.11.5" @@ -4970,7 +4945,6 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/merge2": { @@ -5070,7 +5044,6 @@ }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, "license": "MIT" }, "node_modules/node-gyp-build": { @@ -5089,7 +5062,6 @@ }, "node_modules/node-releases": { "version": "2.0.12", - "dev": true, "license": "MIT" }, "node_modules/normalize-path": { @@ -5332,7 +5304,6 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -5478,7 +5449,6 @@ }, "node_modules/punycode": { "version": "2.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -5525,7 +5495,6 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" @@ -5677,7 +5646,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -5725,7 +5693,6 @@ }, "node_modules/schema-utils": { "version": "3.3.0", - "dev": true, "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", @@ -5767,7 +5734,6 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" @@ -5842,7 +5808,6 @@ }, "node_modules/source-map": { "version": "0.6.1", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -6074,7 +6039,6 @@ }, "node_modules/tapable": { "version": "2.2.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6082,7 +6046,6 @@ }, "node_modules/terser": { "version": "5.18.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -6099,7 +6062,6 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", @@ -6132,7 +6094,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -6145,7 +6106,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -6159,7 +6119,6 @@ }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", - "dev": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -6449,7 +6408,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.0.11", - "dev": true, "funding": [ { "type": "opencollective", @@ -6478,7 +6436,6 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -6532,7 +6489,6 @@ }, "node_modules/watchpack": { "version": "2.4.0", - "dev": true, "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -6552,7 +6508,6 @@ }, "node_modules/webpack": { "version": "5.87.0", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -6662,16 +6617,14 @@ }, "node_modules/webpack-node-externals": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-sources": { "version": "3.2.3", - "dev": true, "license": "MIT", "engines": { "node": ">=10.13.0" @@ -7046,6 +6999,28 @@ "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + } + }, + "tools/webpack-plugin": { + "name": "@backtrace/webpack-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4" + }, + "peerDependencies": { + "webpack": "^5.85.0" } } }, @@ -7472,6 +7447,18 @@ "typescript": "^5.0.4" } }, + "@backtrace/webpack-plugin": { + "version": "file:tools/webpack-plugin", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4" + } + }, "@bcoe/v8-coverage": { "version": "0.2.3", "dev": true @@ -7825,7 +7812,6 @@ }, "@jridgewell/gen-mapping": { "version": "0.3.3", - "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -7833,36 +7819,30 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true + "version": "3.1.0" }, "@jridgewell/set-array": { - "version": "1.1.2", - "dev": true + "version": "1.1.2" }, "@jridgewell/source-map": { "version": "0.3.3", - "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true + "version": "1.4.15" }, "@jridgewell/trace-mapping": { "version": "0.3.18", - "dev": true, "requires": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" }, "dependencies": { "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true + "version": "1.4.14" } } }, @@ -7948,7 +7928,6 @@ }, "@types/eslint": { "version": "8.40.2", - "dev": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -7956,15 +7935,13 @@ }, "@types/eslint-scope": { "version": "3.7.4", - "dev": true, "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "@types/graceful-fs": { "version": "4.1.6", @@ -8009,16 +7986,14 @@ } }, "@types/json-schema": { - "version": "7.0.12", - "dev": true + "version": "7.0.12" }, "@types/json5": { "version": "0.0.29", "dev": true }, "@types/node": { - "version": "14.18.51", - "dev": true + "version": "14.18.51" }, "@types/prettier": { "version": "2.7.2", @@ -8028,6 +8003,12 @@ "version": "7.5.0", "dev": true }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, "@types/stack-utils": { "version": "2.0.1", "dev": true @@ -8040,6 +8021,25 @@ "version": "0.7.36", "dev": true }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } + }, "@types/yargs": { "version": "17.0.24", "dev": true, @@ -8136,27 +8136,22 @@ }, "@webassemblyjs/ast": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -8164,12 +8159,10 @@ } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -8179,25 +8172,21 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.6", - "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { "version": "1.11.6", - "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/wasm-edit": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -8211,7 +8200,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -8222,7 +8210,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -8232,7 +8219,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -8244,7 +8230,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -8266,20 +8251,17 @@ "requires": {} }, "@xtuc/ieee754": { - "version": "1.2.0", - "dev": true + "version": "1.2.0" }, "@xtuc/long": { - "version": "4.2.2", - "dev": true + "version": "4.2.2" }, "abab": { "version": "2.0.6", "dev": true }, "acorn": { - "version": "8.8.2", - "dev": true + "version": "8.8.2" }, "acorn-globals": { "version": "7.0.1", @@ -8291,7 +8273,6 @@ }, "acorn-import-assertions": { "version": "1.9.0", - "dev": true, "requires": {} }, "acorn-jsx": { @@ -8312,7 +8293,6 @@ }, "ajv": { "version": "6.12.6", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -8322,7 +8302,6 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true, "requires": {} }, "ansi-escapes": { @@ -8492,7 +8471,6 @@ }, "browserslist": { "version": "4.21.5", - "dev": true, "requires": { "caniuse-lite": "^1.0.30001449", "electron-to-chromium": "^1.4.284", @@ -8515,8 +8493,7 @@ } }, "buffer-from": { - "version": "1.1.2", - "dev": true + "version": "1.1.2" }, "call-bind": { "version": "1.0.2", @@ -8535,8 +8512,7 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001489", - "dev": true + "version": "1.0.30001489" }, "chalk": { "version": "4.1.2", @@ -8551,8 +8527,7 @@ "dev": true }, "chrome-trace-event": { - "version": "1.0.3", - "dev": true + "version": "1.0.3" }, "ci-info": { "version": "3.8.0", @@ -8634,8 +8609,7 @@ } }, "commander": { - "version": "2.20.3", - "dev": true + "version": "2.20.3" }, "concat-map": { "version": "0.0.1", @@ -8748,8 +8722,7 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.408", - "dev": true + "version": "1.4.408" }, "emittery": { "version": "0.13.1", @@ -8761,7 +8734,6 @@ }, "enhanced-resolve": { "version": "5.15.0", - "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -8823,8 +8795,7 @@ } }, "es-module-lexer": { - "version": "1.3.0", - "dev": true + "version": "1.3.0" }, "es-set-tostringtag": { "version": "2.0.1", @@ -8852,8 +8823,7 @@ } }, "escalade": { - "version": "3.1.1", - "dev": true + "version": "3.1.1" }, "escape-string-regexp": { "version": "4.0.0", @@ -9052,7 +9022,6 @@ }, "eslint-scope": { "version": "5.1.1", - "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -9090,28 +9059,24 @@ }, "esrecurse": { "version": "4.3.0", - "dev": true, "requires": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { - "version": "5.3.0", - "dev": true + "version": "5.3.0" } } }, "estraverse": { - "version": "4.3.0", - "dev": true + "version": "4.3.0" }, "esutils": { "version": "2.0.3", "dev": true }, "events": { - "version": "3.3.0", - "dev": true + "version": "3.3.0" }, "execa": { "version": "5.1.1", @@ -9150,8 +9115,7 @@ } }, "fast-deep-equal": { - "version": "3.1.3", - "dev": true + "version": "3.1.3" }, "fast-glob": { "version": "3.2.12", @@ -9174,8 +9138,7 @@ } }, "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true + "version": "2.1.0" }, "fast-levenshtein": { "version": "2.0.6", @@ -9368,8 +9331,7 @@ } }, "glob-to-regexp": { - "version": "0.4.1", - "dev": true + "version": "0.4.1" }, "globals": { "version": "13.20.0", @@ -9405,8 +9367,7 @@ } }, "graceful-fs": { - "version": "4.2.11", - "dev": true + "version": "4.2.11" }, "grapheme-splitter": { "version": "1.0.4", @@ -9428,8 +9389,7 @@ "dev": true }, "has-flag": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "has-property-descriptors": { "version": "1.0.0", @@ -10217,12 +10177,10 @@ "dev": true }, "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true + "version": "2.3.1" }, "json-schema-traverse": { - "version": "0.4.1", - "dev": true + "version": "0.4.1" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -10260,8 +10218,7 @@ "dev": true }, "loader-runner": { - "version": "4.3.0", - "dev": true + "version": "4.3.0" }, "locate-path": { "version": "6.0.0", @@ -10307,8 +10264,7 @@ } }, "merge-stream": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "merge2": { "version": "1.4.1", @@ -10369,8 +10325,7 @@ "dev": true }, "neo-async": { - "version": "2.6.2", - "dev": true + "version": "2.6.2" }, "node-gyp-build": { "version": "4.6.0" @@ -10380,8 +10335,7 @@ "dev": true }, "node-releases": { - "version": "2.0.12", - "dev": true + "version": "2.0.12" }, "normalize-path": { "version": "3.0.0", @@ -10522,8 +10476,7 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "picomatch": { "version": "2.3.1", @@ -10607,8 +10560,7 @@ "dev": true }, "punycode": { - "version": "2.3.0", - "dev": true + "version": "2.3.0" }, "pure-rand": { "version": "6.0.2", @@ -10624,7 +10576,6 @@ }, "randombytes": { "version": "2.1.0", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -10706,8 +10657,7 @@ } }, "safe-buffer": { - "version": "5.2.1", - "dev": true + "version": "5.2.1" }, "safe-regex-test": { "version": "1.0.0", @@ -10731,7 +10681,6 @@ }, "schema-utils": { "version": "3.3.0", - "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -10756,7 +10705,6 @@ }, "serialize-javascript": { "version": "6.0.1", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -10801,8 +10749,7 @@ "dev": true }, "source-map": { - "version": "0.6.1", - "dev": true + "version": "0.6.1" }, "source-map-support": { "version": "0.5.13", @@ -10943,12 +10890,10 @@ "dev": true }, "tapable": { - "version": "2.2.1", - "dev": true + "version": "2.2.1" }, "terser": { "version": "5.18.1", - "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -10958,7 +10903,6 @@ "dependencies": { "source-map-support": { "version": "0.5.21", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10968,7 +10912,6 @@ }, "terser-webpack-plugin": { "version": "5.3.9", - "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -10979,7 +10922,6 @@ "dependencies": { "jest-worker": { "version": "27.5.1", - "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -10988,7 +10930,6 @@ }, "supports-color": { "version": "8.1.1", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -11152,7 +11093,6 @@ }, "update-browserslist-db": { "version": "1.0.11", - "dev": true, "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -11160,7 +11100,6 @@ }, "uri-js": { "version": "4.4.1", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -11204,7 +11143,6 @@ }, "watchpack": { "version": "2.4.0", - "dev": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -11216,7 +11154,6 @@ }, "webpack": { "version": "5.87.0", - "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -11279,13 +11216,10 @@ }, "webpack-node-externals": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { - "version": "3.2.3", - "dev": true + "version": "3.2.3" }, "whatwg-encoding": { "version": "2.0.0", diff --git a/package.json b/package.json index e642fe71..12d104c3 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,10 @@ "Tool", "Bug", "Bugs", - "StackTrace" + "StackTrace", + "Source maps", + "Sourcemaps", + "Webpack" ], "bugs": { "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" diff --git a/tools/sourcemap-tools/tsconfig.json b/tools/sourcemap-tools/tsconfig.json index 378ae8b3..32a5f6ba 100644 --- a/tools/sourcemap-tools/tsconfig.json +++ b/tools/sourcemap-tools/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "rootDir": "./src", - "outDir": "./lib" + "outDir": "./lib", + "composite": true }, "exclude": ["node_modules", "tests", "lib"] } diff --git a/tools/webpack-plugin/LICENSE b/tools/webpack-plugin/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/tools/webpack-plugin/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/webpack-plugin/jest.config.js b/tools/webpack-plugin/jest.config.js new file mode 100644 index 00000000..b413e106 --- /dev/null +++ b/tools/webpack-plugin/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json new file mode 100644 index 00000000..1022871d --- /dev/null +++ b/tools/webpack-plugin/package.json @@ -0,0 +1,51 @@ +{ + "name": "@backtrace/webpack-plugin", + "version": "0.0.1", + "description": "Backtrace Webpack plugin", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4" + }, + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "peerDependencies": { + "webpack": "^5.85.0" + } +} diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts new file mode 100644 index 00000000..6c9186bc --- /dev/null +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -0,0 +1,195 @@ +import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import crypto from 'crypto'; +import { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; +import { Source, SourceMapSource } from 'webpack-sources'; +import { BacktraceWebpackSourceGenerator } from './BacktraceWebpackSourceGenerator'; + +export interface BacktracePluginOptions { + debugIdGenerator?: DebugIdGenerator; +} + +export class BacktracePlugin implements WebpackPluginInstance { + private readonly _sourceGenerator: BacktraceWebpackSourceGenerator; + + constructor(public readonly options?: BacktracePluginOptions) { + this._sourceGenerator = new BacktraceWebpackSourceGenerator( + options?.debugIdGenerator ?? new DebugIdGenerator(), + new ContentAppender(), + ); + } + + public apply(compiler: Compiler) { + const assetDebugIds = new Map(); + const processedSourceMapsForSources = new Set(); + + compiler.hooks.thisCompilation.tap(BacktracePlugin.name, (compilation) => { + compilation.hooks.processAssets.tap( + { + name: BacktracePlugin.name, + stage: Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS, + }, + (assets) => { + for (const key in assets) { + if (!key.match(/.(c|m)?jsx?/)) { + continue; + } + + const debugId = crypto.randomUUID(); + assetDebugIds.set(key, debugId); + } + }, + ); + + compilation.hooks.processAssets.tap( + { + name: BacktracePlugin.name, + stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, + }, + (assets) => { + for (const key in assets) { + const debugId = assetDebugIds.get(key); + if (!debugId) { + continue; + } + + this.injectSourceSnippet(compilation, key, debugId); + } + }, + ); + + compilation.hooks.processAssets.tap( + { + name: BacktracePlugin.name, + stage: Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING, + additionalAssets: true, + }, + (assets) => { + for (const key in assets) { + const debugId = assetDebugIds.get(key); + if (!debugId) { + continue; + } + + if (this.injectSourceMapDebugId(compilation, key, debugId)) { + processedSourceMapsForSources.add(key); + } + } + return; + }, + ); + + const processedSourceMaps = new Set(); + compilation.hooks.processAssets.tap( + { + name: BacktracePlugin.name, + stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, + }, + (assets) => { + for (const key in assets) { + const asset = compilation.getAsset(key); + if (!asset) { + continue; + } + + const debugId = assetDebugIds.get(key); + if (!debugId) { + continue; + } + + this.injectSourceComment(compilation, key, debugId); + + // If the sourcemap has not been processed for some reason, + // attempt to manually append the information + if (!processedSourceMapsForSources.has(key)) { + if (this.appendSourceMapDebugId(compilation, key, debugId, processedSourceMaps)) { + processedSourceMapsForSources.add(key); + } + } + } + }, + ); + }); + } + + private injectSourceSnippet(compilation: Compilation, key: string, debugId: string): boolean { + const asset = compilation.getAsset(key); + if (!asset) { + return false; + } + + const newSource = this._sourceGenerator.addDebugIdToSource(asset.source as Source, debugId); + + compilation.updateAsset(key, newSource as never); + return true; + } + + private injectSourceMapDebugId(compilation: Compilation, key: string, debugId: string): boolean { + const asset = compilation.getAsset(key); + if (!asset) { + return false; + } + + if (!(asset.source instanceof SourceMapSource)) { + return false; + } + + const newSource = this._sourceGenerator.addDebugIdToSourceMap(asset.source, debugId); + compilation.updateAsset(key, newSource as never); + + return true; + } + + private injectSourceComment(compilation: Compilation, key: string, debugId: string): boolean { + const asset = compilation.getAsset(key); + if (!asset) { + return false; + } + + const newSource = this._sourceGenerator.addDebugIdCommentToSource(asset.source as Source, debugId); + compilation.updateAsset(key, newSource as never); + + return true; + } + + /** + * Manually appends debug ID keys to the sourcemap file. + */ + private appendSourceMapDebugId( + compilation: Compilation, + key: string, + debugId: string, + processedSourceMaps: Set, + ): boolean { + const assetInfo = compilation.assetsInfo.get(key); + if (!assetInfo) { + return false; + } + + let sourceMapKeys = assetInfo.related?.sourceMap; + if (!sourceMapKeys) { + return false; + } + + if (!Array.isArray(sourceMapKeys)) { + sourceMapKeys = [sourceMapKeys]; + } + + for (const sourceMapKey of sourceMapKeys) { + if (processedSourceMaps.has(sourceMapKey)) { + continue; + } + + const sourceMapAsset = compilation.getAsset(sourceMapKey); + if (!sourceMapAsset) { + continue; + } + + const newSource = this._sourceGenerator.addDebugIdToRawSourceMap(sourceMapAsset.source as Source, debugId); + compilation.updateAsset(sourceMapKey, newSource as never); + + processedSourceMaps.add(sourceMapKey); + } + + return true; + } +} diff --git a/tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts b/tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts new file mode 100644 index 00000000..19b2bc74 --- /dev/null +++ b/tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts @@ -0,0 +1,39 @@ +import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import type { Source } from 'webpack-sources'; +import { ConcatSource, RawSource, SourceMapSource } from 'webpack-sources'; + +export class BacktraceWebpackSourceGenerator { + constructor( + private readonly _debugIdGenerator: DebugIdGenerator, + private readonly _contentAppender: ContentAppender, + ) {} + + public addDebugIdToSource(source: Source, debugId: string): ConcatSource { + const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); + return new ConcatSource(source, '\n' + sourceSnippet); + } + + public addDebugIdCommentToSource(source: Source, debugId: string): ConcatSource { + const comment = this._debugIdGenerator.generateSourceComment(debugId); + return new ConcatSource(source, '\n' + comment); + } + + public addDebugIdToSourceMap(sourceMapSource: SourceMapSource, debugId: string): SourceMapSource { + const { source, map } = sourceMapSource.sourceAndMap(); + if (!map) { + return sourceMapSource; + } + + const newMap = this._debugIdGenerator.addSourceMapKey(map, debugId); + + // The file name does not matter at this point, and it is set to 'x' in Webpack + return new SourceMapSource(source as string, 'x', newMap as never); + } + + public addDebugIdToRawSourceMap(source: Source, debugId: string): RawSource { + let sourceMapSource = (source.source() as Buffer).toString('utf8'); + const debugSourceMapObj = this._debugIdGenerator.addSourceMapKey({}, debugId); + sourceMapSource = this._contentAppender.appendToJSON(sourceMapSource, debugSourceMapObj); + return new RawSource(sourceMapSource); + } +} diff --git a/tools/webpack-plugin/src/index.ts b/tools/webpack-plugin/src/index.ts new file mode 100644 index 00000000..9f74e425 --- /dev/null +++ b/tools/webpack-plugin/src/index.ts @@ -0,0 +1,4 @@ +import { BacktracePlugin } from './BacktracePlugin'; + +export { BacktracePlugin }; +export default BacktracePlugin; diff --git a/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts b/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts new file mode 100644 index 00000000..0da08676 --- /dev/null +++ b/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts @@ -0,0 +1,35 @@ +import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY } from '@backtrace/sourcemap-tools'; + +export class TestDebugIdGenerator implements DebugIdGenerator { + public generateSourceSnippet(): string { + return `console.log("Source snippet");`; + } + + public generateSourceComment(): string { + return `//# Source comment`; + } + + public addSourceMapKey(sourceMap: T): T & { [SOURCEMAP_DEBUG_ID_KEY]: string } { + return { + ...sourceMap, + [SOURCEMAP_DEBUG_ID_KEY]: 'Source map key', + }; + } + + public static testForSourceSnippet(content: string) { + expect(content).toContain(new TestDebugIdGenerator().generateSourceSnippet()); + } + + public static testForSourceComment(content: string) { + expect(content).toContain(new TestDebugIdGenerator().generateSourceComment()); + } + + public static testForSourceMapKey(sourceMap: object | string) { + if (typeof sourceMap === 'string') { + sourceMap = JSON.parse(sourceMap); + } + + const expected = new TestDebugIdGenerator().addSourceMapKey({}); + expect(sourceMap).toMatchObject(expected); + } +} diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts new file mode 100644 index 00000000..c06f5409 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -0,0 +1,100 @@ +import assert from 'assert'; +import fs from 'fs'; +import webpack from 'webpack'; +import { + asyncWebpack, + expectSourceComment, + expectSourceMapSnippet, + expectSourceSnippet, + expectSuccess, + getFiles, + removeDir, + webpackModeTest, +} from './helpers'; + +interface E2ETestOptions { + testSourceFunction?: boolean; + testSourceComment?: boolean; + testSourceMap?: boolean; + testSourceEval?: boolean; +} + +export function createE2ETest( + configBuilder: (mode: webpack.Configuration['mode']) => webpack.Configuration, + opts?: E2ETestOptions, +) { + webpackModeTest((mode) => { + let result: webpack.Stats; + + beforeAll(async () => { + const config = configBuilder(mode); + if (config.output?.path) { + await removeDir(config.output.path); + } + + const webpackResult = await asyncWebpack(config); + expectSuccess(webpackResult); + result = webpackResult; + }, 30000); + + if (opts?.testSourceFunction ?? true) { + it('should inject function into emitted source files', async () => { + const outputDir = result.compilation.outputOptions.path; + assert(outputDir); + + const jsFiles = await getFiles(outputDir, /.js$/); + expect(jsFiles.length).toBeGreaterThan(0); + + for (const file of jsFiles) { + const content = await fs.promises.readFile(file, 'utf8'); + await expectSourceSnippet(content); + } + }); + } + + if (opts?.testSourceComment ?? true) { + it('should inject debug ID comment into emitted source files', async () => { + const outputDir = result.compilation.outputOptions.path; + assert(outputDir); + + const jsFiles = await getFiles(outputDir, /.js$/); + expect(jsFiles.length).toBeGreaterThan(0); + + for (const file of jsFiles) { + const content = await fs.promises.readFile(file, 'utf8'); + await expectSourceComment(content); + } + }); + } + + if (opts?.testSourceEval ?? true) { + it('should eval emitted source without syntax errors', async () => { + const outputDir = result.compilation.outputOptions.path; + assert(outputDir); + + const jsFiles = await getFiles(outputDir, /.js$/); + expect(jsFiles.length).toBeGreaterThan(0); + + for (const file of jsFiles) { + const content = await fs.promises.readFile(file, 'utf8'); + expect(() => eval(content)).not.toThrowError(SyntaxError); + } + }); + } + + if (opts?.testSourceMap ?? true) { + it('should inject debug ID into emitted sourcemap files', async () => { + const outputDir = result.compilation.outputOptions.path; + assert(outputDir); + + const mapFiles = await getFiles(outputDir, /.js.map$/); + expect(mapFiles.length).toBeGreaterThan(0); + + for (const file of mapFiles) { + const content = await fs.promises.readFile(file, 'utf8'); + await expectSourceMapSnippet(content); + } + }); + } + }); +} diff --git a/tools/webpack-plugin/tests/e2e/helpers.ts b/tools/webpack-plugin/tests/e2e/helpers.ts new file mode 100644 index 00000000..903b1025 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/helpers.ts @@ -0,0 +1,96 @@ +import fs from 'fs'; +import path from 'path'; +import webpack from 'webpack'; +import { BacktracePlugin } from '../../src'; +import { BacktracePluginOptions } from '../../src/BacktracePlugin'; +import { TestDebugIdGenerator } from '../__mocks__/TestDebugIdGenerator'; + +export interface BaseConfigOptions { + tsconfigPath?: string; + pluginOptions?: BacktracePluginOptions; +} + +/** + * Returns a config with base configuration. + * + * Input and output should be provided in the arguments. + */ +export function getBaseConfig(config: webpack.Configuration, options?: BaseConfigOptions): webpack.Configuration { + return { + resolve: { + extensions: ['.ts', '.js'], + }, + module: { + rules: [ + { + test: /.ts$/, + loader: 'ts-loader', + options: { + configFile: options?.tsconfigPath, + }, + }, + ], + }, + plugins: [new BacktracePlugin(options?.pluginOptions ?? { debugIdGenerator: new TestDebugIdGenerator() })], + ...config, + }; +} + +export function webpackModeTest(callback: (testCase: webpack.Configuration['mode']) => void) { + const cases: webpack.Configuration['mode'][] = [undefined, 'none', 'development', 'production']; + + for (const testCase of cases) { + describe(`Webpack mode: ${testCase}`, () => callback(testCase)); + } +} + +export function asyncWebpack(config: webpack.Configuration): Promise { + return new Promise((resolve, reject) => { + webpack(config, (err, stats) => { + if (err) { + reject(err); + } + + resolve(stats); + }); + }); +} + +export function expectSuccess(stats?: webpack.Stats): asserts stats is webpack.Stats { + expect(stats).toBeDefined(); + if (stats?.hasErrors()) { + throw new Error(stats.toString()); + } +} + +export async function expectSourceSnippet(content: string) { + TestDebugIdGenerator.testForSourceSnippet(content); +} + +export async function expectSourceComment(content: string) { + TestDebugIdGenerator.testForSourceComment(content); +} + +export async function expectSourceMapSnippet(content: string) { + TestDebugIdGenerator.testForSourceMapKey(content); +} + +export async function getFiles(dir: string, test?: RegExp) { + const files = (await fs.promises.readdir(dir)).map((f) => path.join(dir, f)); + if (test) { + return files.filter((f) => test.test(f)); + } + return files; +} + +export async function removeDir(dir: string) { + try { + await fs.promises.rm(dir, { recursive: true, force: true }); + } catch (err) { + if ((err as NodeJS.ErrnoException).code === 'ENOENT') { + return; + } + + throw err; + } +} diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/.gitignore b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/.gitignore new file mode 100644 index 00000000..ea1472ec --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/dependency.ts b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/dependency.ts new file mode 100644 index 00000000..ac1683a5 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/dependency.ts @@ -0,0 +1,3 @@ +export function doSomething() { + console.log('Done something'); +} diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry1.ts b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry1.ts new file mode 100644 index 00000000..1edefc42 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry1.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World Entry 1!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry2.ts b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry2.ts new file mode 100644 index 00000000..1e3136ba --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/input/entry2.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World Entry 2!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/multiple-input-chunked-output.spec.ts b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/multiple-input-chunked-output.spec.ts new file mode 100644 index 00000000..b25ecd75 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/multiple-input-chunked-output.spec.ts @@ -0,0 +1,31 @@ +import path from 'path'; +import { createE2ETest } from '../createE2ETest'; +import { getBaseConfig } from '../helpers'; + +describe('Multiple-input-chunked-output', () => { + const outputDir = path.join(__dirname, './output'); + + createE2ETest((mode) => + getBaseConfig( + { + mode, + devtool: 'source-map', + entry: { + entry1: path.join(__dirname, './input/entry1.ts'), + entry2: path.join(__dirname, './input/entry2.ts'), + }, + output: { + path: outputDir, + filename: '[name].js', + }, + optimization: { + splitChunks: { + chunks: 'all', + minSize: 1, + }, + }, + }, + { tsconfigPath: path.join(__dirname, './tsconfig.test.json') }, + ), + ); +}); diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/tsconfig.test.json b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/tsconfig.test.json new file mode 100644 index 00000000..c4e4feed --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-chunked-output/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.test-base.json", + "compilerOptions": { + "rootDir": "./input" + }, + "include": ["./input/**/*.ts"], + "exclude": [] +} diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/.gitignore b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/.gitignore new file mode 100644 index 00000000..ea1472ec --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/dependency.ts b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/dependency.ts new file mode 100644 index 00000000..ac1683a5 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/dependency.ts @@ -0,0 +1,3 @@ +export function doSomething() { + console.log('Done something'); +} diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry1.ts b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry1.ts new file mode 100644 index 00000000..1edefc42 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry1.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World Entry 1!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry2.ts b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry2.ts new file mode 100644 index 00000000..1e3136ba --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/input/entry2.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World Entry 2!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/multiple-input-multiple-output.spec.ts b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/multiple-input-multiple-output.spec.ts new file mode 100644 index 00000000..a2fa411c --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/multiple-input-multiple-output.spec.ts @@ -0,0 +1,25 @@ +import path from 'path'; +import { createE2ETest } from '../createE2ETest'; +import { getBaseConfig } from '../helpers'; + +describe('Multiple-input-multiple-output', () => { + const outputDir = path.join(__dirname, './output'); + + createE2ETest((mode) => + getBaseConfig( + { + mode, + devtool: 'source-map', + entry: { + entry1: path.join(__dirname, './input/entry1.ts'), + entry2: path.join(__dirname, './input/entry2.ts'), + }, + output: { + path: outputDir, + filename: '[name].js', + }, + }, + { tsconfigPath: path.join(__dirname, './tsconfig.test.json') }, + ), + ); +}); diff --git a/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/tsconfig.test.json b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/tsconfig.test.json new file mode 100644 index 00000000..c4e4feed --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/multiple-input-multiple-output/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.test-base.json", + "compilerOptions": { + "rootDir": "./input" + }, + "include": ["./input/**/*.ts"], + "exclude": [] +} diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/.gitignore b/tools/webpack-plugin/tests/e2e/no-sourcemaps/.gitignore new file mode 100644 index 00000000..ea1472ec --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/input/dependency.ts b/tools/webpack-plugin/tests/e2e/no-sourcemaps/input/dependency.ts new file mode 100644 index 00000000..ac1683a5 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/input/dependency.ts @@ -0,0 +1,3 @@ +export function doSomething() { + console.log('Done something'); +} diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/input/index.ts b/tools/webpack-plugin/tests/e2e/no-sourcemaps/input/index.ts new file mode 100644 index 00000000..d71c2f33 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/input/index.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts new file mode 100644 index 00000000..58bd4bc7 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts @@ -0,0 +1,26 @@ +import path from 'path'; +import { createE2ETest } from '../createE2ETest'; +import { getBaseConfig } from '../helpers'; + +describe('No sourcemaps', () => { + const outputDir = path.join(__dirname, './output'); + + createE2ETest( + (mode) => + getBaseConfig( + { + mode, + devtool: false, + entry: path.join(__dirname, './input/index.ts'), + output: { + path: outputDir, + filename: '[name].js', + }, + }, + { tsconfigPath: path.join(__dirname, './tsconfig.test.json') }, + ), + { + testSourceMap: false, + }, + ); +}); diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/tsconfig.test.json b/tools/webpack-plugin/tests/e2e/no-sourcemaps/tsconfig.test.json new file mode 100644 index 00000000..c4e4feed --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.test-base.json", + "compilerOptions": { + "rootDir": "./input" + }, + "include": ["./input/**/*.ts"], + "exclude": [] +} diff --git a/tools/webpack-plugin/tests/e2e/single-input-single-output/.gitignore b/tools/webpack-plugin/tests/e2e/single-input-single-output/.gitignore new file mode 100644 index 00000000..ea1472ec --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/single-input-single-output/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/tools/webpack-plugin/tests/e2e/single-input-single-output/input/dependency.ts b/tools/webpack-plugin/tests/e2e/single-input-single-output/input/dependency.ts new file mode 100644 index 00000000..ac1683a5 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/single-input-single-output/input/dependency.ts @@ -0,0 +1,3 @@ +export function doSomething() { + console.log('Done something'); +} diff --git a/tools/webpack-plugin/tests/e2e/single-input-single-output/input/index.ts b/tools/webpack-plugin/tests/e2e/single-input-single-output/input/index.ts new file mode 100644 index 00000000..d71c2f33 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/single-input-single-output/input/index.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/single-input-single-output/single-input-single-output.spec.ts b/tools/webpack-plugin/tests/e2e/single-input-single-output/single-input-single-output.spec.ts new file mode 100644 index 00000000..a50d6970 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/single-input-single-output/single-input-single-output.spec.ts @@ -0,0 +1,22 @@ +import path from 'path'; +import { createE2ETest } from '../createE2ETest'; +import { getBaseConfig } from '../helpers'; + +describe('Single-input-single-output', () => { + const outputDir = path.join(__dirname, './output'); + + createE2ETest((mode) => + getBaseConfig( + { + mode, + devtool: 'source-map', + entry: path.join(__dirname, './input/index.ts'), + output: { + path: outputDir, + filename: '[name].js', + }, + }, + { tsconfigPath: path.join(__dirname, './tsconfig.test.json') }, + ), + ); +}); diff --git a/tools/webpack-plugin/tests/e2e/single-input-single-output/tsconfig.test.json b/tools/webpack-plugin/tests/e2e/single-input-single-output/tsconfig.test.json new file mode 100644 index 00000000..c4e4feed --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/single-input-single-output/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.test-base.json", + "compilerOptions": { + "rootDir": "./input" + }, + "include": ["./input/**/*.ts"], + "exclude": [] +} diff --git a/tools/webpack-plugin/tests/e2e/tsconfig.test-base.json b/tools/webpack-plugin/tests/e2e/tsconfig.test-base.json new file mode 100644 index 00000000..5aa22478 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/tsconfig.test-base.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "es2022", + "module": "commonjs", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true + } +} diff --git a/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/.gitignore b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/.gitignore new file mode 100644 index 00000000..ea1472ec --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/dependency.ts b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/dependency.ts new file mode 100644 index 00000000..ac1683a5 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/dependency.ts @@ -0,0 +1,3 @@ +export function doSomething() { + console.log('Done something'); +} diff --git a/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/index.ts b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/index.ts new file mode 100644 index 00000000..d71c2f33 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/input/index.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World!'); +doSomething(); diff --git a/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/tsconfig.test.json b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/tsconfig.test.json new file mode 100644 index 00000000..b94956b2 --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/tsconfig.test.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.test-base.json", + "compilerOptions": { + "rootDir": "./input", + "sourceMap": true + }, + "include": ["./input/**/*.ts"], + "exclude": [] +} diff --git a/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/typescript-sourcemaps.spec.ts b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/typescript-sourcemaps.spec.ts new file mode 100644 index 00000000..adbd613e --- /dev/null +++ b/tools/webpack-plugin/tests/e2e/typescript-sourcemaps/typescript-sourcemaps.spec.ts @@ -0,0 +1,22 @@ +import path from 'path'; +import { createE2ETest } from '../createE2ETest'; +import { getBaseConfig } from '../helpers'; + +describe('Typescript sourcemaps', () => { + const outputDir = path.join(__dirname, './output'); + + createE2ETest((mode) => + getBaseConfig( + { + mode, + devtool: 'source-map', + entry: path.join(__dirname, './input/index.ts'), + output: { + path: outputDir, + filename: '[name].js', + }, + }, + { tsconfigPath: path.join(__dirname, './tsconfig.test.json') }, + ), + ); +}); diff --git a/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts b/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts new file mode 100644 index 00000000..a4434691 --- /dev/null +++ b/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts @@ -0,0 +1,297 @@ +import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import { ConcatSource, RawSource, SourceMapSource } from 'webpack-sources'; +import { BacktraceWebpackSourceGenerator } from '../../src/BacktraceWebpackSourceGenerator'; + +describe('BacktraceWebpackSourceGenerator', () => { + function createTestSourceMap() { + const sourceMap: ConstructorParameters[2] = { + file: 'x', + mappings: 'x', + names: ['x'], + sources: ['x'], + version: 1, + }; + + return sourceMap; + } + + describe('addDebugIdToSource', () => { + it('should append source snippet generated by debugIdGenerator', () => { + const expected = 'def'; + + const source = new RawSource('abc'); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actualSource = sourceGenerator.addDebugIdToSource(source, 'x'); + const actual = actualSource.buffer().toString('utf-8'); + + expect(actual).toContain('abc'); + expect(actual).toContain(expected); + }); + + it('should pass uuid to debugIdGenerator', () => { + const expected = 'def'; + + const source = new RawSource('abc'); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const spy = jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSource(source, expected); + + expect(spy).toBeCalledWith(expected); + }); + + it('should return an instance of ConcatSource', () => { + const source = new RawSource('abc'); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actual = sourceGenerator.addDebugIdToSource(source, 'def'); + + expect(actual).toBeInstanceOf(ConcatSource); + }); + + it('should not modify original source', () => { + const expected = 'abc'; + const source = new RawSource(expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSource(source, 'def'); + + expect(source.buffer().toString('utf-8')).toEqual(expected); + }); + }); + + describe('addDebugIdCommentToSource', () => { + it('should append comment snippet generated by debugIdGenerator', () => { + const expected = 'def'; + + const source = new RawSource('abc'); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actualSource = sourceGenerator.addDebugIdCommentToSource(source, 'x'); + const actual = actualSource.buffer().toString('utf-8'); + + expect(actual).toContain('abc'); + expect(actual).toContain(expected); + }); + + it('should pass uuid to debugIdGenerator', () => { + const expected = 'def'; + + const source = new RawSource('abc'); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const spy = jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdCommentToSource(source, expected); + + expect(spy).toBeCalledWith(expected); + }); + + it('should return an instance of ConcatSource', () => { + const source = new RawSource('abc'); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actual = sourceGenerator.addDebugIdCommentToSource(source, 'def'); + + expect(actual).toBeInstanceOf(ConcatSource); + }); + + it('should not modify original source', () => { + const expected = 'abc'; + const source = new RawSource(expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdCommentToSource(source, 'def'); + + expect(source.buffer().toString('utf-8')).toEqual(expected); + }); + }); + + describe('addDebugIdToSourceMap', () => { + it('should append whole object generated by debugIdGenerator', () => { + const sourceMap = createTestSourceMap(); + const expected = { + ...sourceMap, + debugId: '123', + newKey2: 456, + }; + + const source = new SourceMapSource('abc', 'x', sourceMap); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actualSourceMapSource = sourceGenerator.addDebugIdToSourceMap(source, 'x'); + + const { map: actualMap } = actualSourceMapSource.sourceAndMap(); + expect(actualMap).toEqual(expected); + }); + + it('should pass sourcemap to debugIdGenerator', () => { + const expected = createTestSourceMap(); + + const source = new SourceMapSource('abc', 'x', expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const spy = jest + .spyOn(debugIdGenerator, 'addSourceMapKey') + .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSourceMap(source, 'def'); + + expect(spy).toBeCalledWith(expected, expect.anything()); + }); + + it('should pass uuid to debugIdGenerator', () => { + const expected = 'def'; + + const source = new SourceMapSource('abc', 'x', createTestSourceMap()); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const spy = jest + .spyOn(debugIdGenerator, 'addSourceMapKey') + .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSourceMap(source, expected); + + expect(spy).toBeCalledWith(expect.anything(), expected); + }); + + it('should return an instance of SourceMapSource', () => { + const source = new SourceMapSource('abc', 'x', createTestSourceMap()); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actual = sourceGenerator.addDebugIdToSourceMap(source, 'def'); + + expect(actual).toBeInstanceOf(SourceMapSource); + }); + + it('should not modify original source', () => { + const expected = 'abc'; + const source = new SourceMapSource(expected, 'x', createTestSourceMap()); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdCommentToSource(source, 'def'); + + const { source: actualSourceMap } = source.sourceAndMap(); + expect(actualSourceMap.toString('utf-8')).toEqual(expected); + }); + + it('should not modify original sourcemap', () => { + const expected = createTestSourceMap(); + const modifiedSourceMap = { + ...expected, + debugId: '123', + newKey2: 456, + }; + + const source = new SourceMapSource('abc', 'x', expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(modifiedSourceMap); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSourceMap(source, 'x'); + + const { map: actualMap } = source.sourceAndMap(); + expect(actualMap).toEqual(expected); + }); + }); + + describe('addDebugIdToRawSourceMap', () => { + it('should append whole object generated by debugIdGenerator', () => { + const sourceMap = createTestSourceMap(); + const expected = { + ...sourceMap, + debugId: '123', + newKey2: 456, + }; + + const source = new RawSource(JSON.stringify(sourceMap)); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actualSource = sourceGenerator.addDebugIdToRawSourceMap(source, 'x'); + + const actual = JSON.parse(actualSource.buffer().toString('utf-8')); + expect(actual).toEqual(expected); + }); + + it('should pass uuid to debugIdGenerator', () => { + const expected = 'def'; + + const source = new RawSource(JSON.stringify(createTestSourceMap())); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const spy = jest + .spyOn(debugIdGenerator, 'addSourceMapKey') + .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToRawSourceMap(source, expected); + + expect(spy).toBeCalledWith(expect.anything(), expected); + }); + + it('should return an instance of RawSource', () => { + const source = new RawSource(JSON.stringify(createTestSourceMap())); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actual = sourceGenerator.addDebugIdToRawSourceMap(source, 'def'); + + expect(actual).toBeInstanceOf(RawSource); + }); + + it('should not modify original source', () => { + const expected = JSON.stringify(createTestSourceMap()); + const source = new RawSource(expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); + + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdCommentToSource(source, 'def'); + + const { source: actualSourceMap } = source.sourceAndMap(); + expect(actualSourceMap.toString('utf-8')).toEqual(expected); + }); + }); +}); diff --git a/tools/webpack-plugin/tsconfig.json b/tools/webpack-plugin/tsconfig.json new file mode 100644 index 00000000..89d7fa89 --- /dev/null +++ b/tools/webpack-plugin/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"], + "references": [ + { + "path": "../sourcemap-tools/tsconfig.json" + } + ] +} diff --git a/tsconfig.json b/tsconfig.json index af034659..db168a86 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,9 @@ }, { "path": "./tools/sourcemap-tools" + }, + { + "path": "./tools/webpack-plugin" } ] } diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 3312e0d2..6ffe53ed 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -6,6 +6,9 @@ }, { "path": "tools/sourcemap-tools" + }, + { + "path": "tools/webpack-plugin" } ] } From 42b0e4034db354e685fd3f6a4a14a6c4e19a375d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 22 Jun 2023 17:06:48 +0200 Subject: [PATCH 039/291] Add Webpack 4 support. (#16) * webpack-plugin: add webpack 4 tests * webpack-plugin: splits plugins, adds webpack 4 support * webpack-plugin: fix build issues * webpack-plugin: increases timeout of build to 120s * webpack-plugin: splits tests into e2e and unit run separately * webpack-plugin: add debugID for JS files only in V4 * webpack plugin: fix missing config file in watch script * webpack plugin: uses version variable while selecting the plugin * webpack plugin: fix invalid regex in V4 plugin --------- Co-authored-by: Sebastian Alex --- package-lock.json | 8456 +++++++++++++++-- tools/webpack-plugin/e2e.jest.config.js | 6 + tools/webpack-plugin/jest.config.js | 7 +- tools/webpack-plugin/package.json | 24 +- tools/webpack-plugin/src/BacktracePlugin.ts | 210 +- tools/webpack-plugin/src/BacktracePluginV4.ts | 46 + tools/webpack-plugin/src/BacktracePluginV5.ts | 173 + tools/webpack-plugin/src/index.ts | 3 + .../src/models/BacktracePluginOptions.ts | 5 + .../webpack-plugin/tests/e2e/createE2ETest.ts | 2 +- tools/webpack-plugin/tests/e2e/helpers.ts | 3 +- tools/webpack-plugin/tests/setupWebpackV4.ts | 11 + .../BacktraceWebpackSourceGenerator.spec.ts | 169 +- tools/webpack-plugin/tests/webpack-4.d.ts | 11 + tools/webpack-plugin/tsconfig.build.json | 8 + tools/webpack-plugin/tsconfig.json | 5 - .../webpack4.e2e.jest.config.js | 7 + tools/webpack-plugin/webpack4.jest.config.js | 7 + tsconfig.json | 2 +- 19 files changed, 8285 insertions(+), 870 deletions(-) create mode 100644 tools/webpack-plugin/e2e.jest.config.js create mode 100644 tools/webpack-plugin/src/BacktracePluginV4.ts create mode 100644 tools/webpack-plugin/src/BacktracePluginV5.ts create mode 100644 tools/webpack-plugin/src/models/BacktracePluginOptions.ts create mode 100644 tools/webpack-plugin/tests/setupWebpackV4.ts create mode 100644 tools/webpack-plugin/tests/webpack-4.d.ts create mode 100644 tools/webpack-plugin/tsconfig.build.json create mode 100644 tools/webpack-plugin/webpack4.e2e.jest.config.js create mode 100644 tools/webpack-plugin/webpack4.jest.config.js diff --git a/package-lock.json b/package-lock.json index 11b78ce2..41a3f54a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1382,9 +1382,8 @@ }, "node_modules/@types/source-list-map": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.1", @@ -1403,9 +1402,8 @@ }, "node_modules/@types/webpack-sources": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/source-list-map": "*", @@ -1414,9 +1412,8 @@ }, "node_modules/@types/webpack-sources/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -1634,6 +1631,75 @@ "version": "1.11.6", "license": "MIT" }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "license": "MIT", @@ -1722,6 +1788,49 @@ "@webassemblyjs/utf8": "1.11.6" } }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", "license": "MIT", @@ -1851,6 +1960,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, "node_modules/ajv-keywords": { "version": "3.5.2", "license": "MIT", @@ -1917,11 +2035,44 @@ "node": ">= 8" } }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", "dev": true, @@ -1960,6 +2111,15 @@ "node": ">=8" } }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.1", "dev": true, @@ -1994,10 +2154,87 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, "node_modules/asynckit": { "version": "0.4.0", "license": "MIT" }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "dev": true, @@ -2100,6 +2337,97 @@ "dev": true, "license": "MIT" }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "dev": true, @@ -2120,6 +2448,99 @@ "node": ">=8" } }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "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" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "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" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, "node_modules/browserslist": { "version": "4.21.5", "funding": [ @@ -2165,26 +2586,145 @@ "node-int64": "^0.4.0" } }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "license": "MIT" }, - "node_modules/call-bind": { - "version": "1.0.2", + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/cacache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2238,6 +2778,53 @@ "node": ">=10" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "node_modules/chrome-trace-event": { "version": "1.0.3", "license": "MIT", @@ -2259,11 +2846,119 @@ "node": ">=8" } }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "node_modules/cjs-module-lexer": { "version": "1.2.2", "dev": true, "license": "MIT" }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/cliui": { "version": "8.0.1", "dev": true, @@ -2338,6 +3033,19 @@ "dev": true, "license": "MIT" }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -2373,16 +3081,159 @@ "version": "2.20.3", "license": "MIT" }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "dev": true, "license": "MIT" }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, "node_modules/convert-source-map": { "version": "2.0.0", "dev": true, "license": "MIT" }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -2396,6 +3247,28 @@ "node": ">= 8" } }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + } + }, "node_modules/cssom": { "version": "0.5.0", "dev": true, @@ -2417,6 +3290,12 @@ "dev": true, "license": "MIT" }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, "node_modules/data-urls": { "version": "3.0.2", "dev": true, @@ -2451,6 +3330,15 @@ "dev": true, "license": "MIT" }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/dedent": { "version": "0.7.0", "dev": true, @@ -2484,6 +3372,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "license": "MIT", @@ -2491,6 +3392,16 @@ "node": ">=0.4.0" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "dev": true, @@ -2507,6 +3418,23 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -2529,10 +3457,20 @@ "node": ">=6.0.0" } }, - "node_modules/domexception": { - "version": "4.0.0", + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -2540,6 +3478,18 @@ "node": ">=12" } }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "dev": true, @@ -2549,6 +3499,27 @@ "version": "1.4.408", "license": "ISC" }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/emittery": { "version": "0.13.1", "dev": true, @@ -2565,6 +3536,24 @@ "dev": true, "license": "MIT" }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.15.0", "license": "MIT", @@ -2598,6 +3587,18 @@ "node": ">=4" } }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, "node_modules/error-ex": { "version": "1.3.2", "dev": true, @@ -3086,6 +4087,16 @@ "node": ">=0.8.x" } }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "node_modules/execa": { "version": "5.1.1", "dev": true, @@ -3120,6 +4131,143 @@ "node": ">= 0.8.0" } }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/expect": { "version": "29.5.0", "dev": true, @@ -3135,6 +4283,71 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "license": "MIT" @@ -3198,6 +4411,12 @@ "bser": "2.1.1" } }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, "node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, @@ -3209,6 +4428,13 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -3220,6 +4446,115 @@ "node": ">=8" } }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/find-up": { "version": "5.0.0", "dev": true, @@ -3285,6 +4620,16 @@ "dev": true, "license": "ISC" }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, "node_modules/for-each": { "version": "0.3.3", "dev": true, @@ -3293,6 +4638,15 @@ "is-callable": "^1.1.3" } }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/foreground-child": { "version": "3.1.1", "dev": true, @@ -3320,18 +4674,66 @@ "node": ">= 6" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, - "license": "ISC" + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/function-bind": { - "version": "1.1.1", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "license": "MIT" + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } }, - "node_modules/function.prototype.name": { - "version": "1.1.5", + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", "dev": true, "license": "MIT", "dependencies": { @@ -3419,6 +4821,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob": { "version": "10.2.6", "dev": true, @@ -3622,6 +5033,118 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", "dev": true, @@ -3651,6 +5174,12 @@ "node": ">= 6" } }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "dev": true, @@ -3682,6 +5211,32 @@ "node": ">=0.10.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, "node_modules/ignore": { "version": "5.2.4", "dev": true, @@ -3731,6 +5286,12 @@ "node": ">=0.8.19" } }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -3766,6 +5327,18 @@ "node": ">=10.13.0" } }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-array-buffer": { "version": "3.0.2", "dev": true, @@ -3795,6 +5368,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "dev": true, @@ -3810,6 +5396,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "node_modules/is-callable": { "version": "1.2.7", "dev": true, @@ -3832,6 +5424,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "dev": true, @@ -3846,6 +5450,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "dev": true, @@ -4032,6 +5662,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "dev": true, @@ -4804,6 +6458,12 @@ "node": ">=4" } }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "license": "MIT" @@ -4876,6 +6536,32 @@ "node": ">=6.11.5" } }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/locate-path": { "version": "6.0.0", "dev": true, @@ -4943,6 +6629,48 @@ "tmpl": "1.0.5" } }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "license": "MIT" @@ -4967,6 +6695,25 @@ "node": ">=8.6" } }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/mime-db": { "version": "1.52.0", "license": "MIT", @@ -4992,6 +6739,18 @@ "node": ">=6" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, "node_modules/minimatch": { "version": "3.1.2", "dev": true, @@ -5019,26 +6778,147 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/ms": { - "version": "2.1.2", + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, - "license": "MIT" - }, - "node_modules/native-reg": { - "version": "1.1.1", - "hasInstallScript": true, - "license": "MIT", "dependencies": { - "node-gyp-build": "4" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/natural-compare": { - "version": "1.4.0", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "license": "MIT" + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/native-reg": { + "version": "1.1.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-gyp-build": "4" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", "dev": true, "license": "MIT" }, @@ -5060,6 +6940,43 @@ "dev": true, "license": "MIT" }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, "node_modules/node-releases": { "version": "2.0.12", "license": "MIT" @@ -5088,6 +7005,100 @@ "dev": true, "license": "MIT" }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.12.3", "dev": true, @@ -5104,6 +7115,18 @@ "node": ">= 0.4" } }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.assign": { "version": "4.1.4", "dev": true, @@ -5121,6 +7144,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.values": { "version": "1.1.6", "dev": true, @@ -5175,6 +7210,12 @@ "node": ">= 0.8.0" } }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, "node_modules/p-limit": { "version": "3.1.0", "dev": true, @@ -5211,6 +7252,23 @@ "node": ">=6" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, "node_modules/parent-module": { "version": "1.0.1", "dev": true, @@ -5222,6 +7280,19 @@ "node": ">=6" } }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "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" + } + }, "node_modules/parse-json": { "version": "5.2.0", "dev": true, @@ -5250,6 +7321,28 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -5302,6 +7395,22 @@ "node": ">=8" } }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/picocolors": { "version": "1.0.0", "license": "ISC" @@ -5317,6 +7426,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pirates": { "version": "4.0.5", "dev": true, @@ -5384,6 +7502,15 @@ "node": ">=8" } }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -5430,6 +7557,27 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, "node_modules/prompts": { "version": "2.4.2", "dev": true, @@ -5442,11 +7590,68 @@ "node": ">= 6" } }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, "node_modules/psl": { "version": "1.9.0", "dev": true, "license": "MIT" }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "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" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.0", "license": "MIT", @@ -5469,6 +7674,30 @@ ], "license": "MIT" }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/querystringify": { "version": "2.2.0", "dev": true, @@ -5500,24 +7729,90 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "dev": true, "license": "MIT" }, - "node_modules/rechoir": { - "version": "0.8.0", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", "dev": true, "license": "MIT", "dependencies": { @@ -5532,6 +7827,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "dev": true, @@ -5588,6 +7908,13 @@ "node": ">=4" } }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, "node_modules/resolve.exports": { "version": "2.0.2", "dev": true, @@ -5596,6 +7923,15 @@ "node": ">=10" } }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, "node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -5622,6 +7958,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "dev": true, @@ -5644,6 +7990,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "funding": [ @@ -5662,6 +8017,15 @@ ], "license": "MIT" }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, "node_modules/safe-regex-test": { "version": "1.0.0", "dev": true, @@ -5739,6 +8103,61 @@ "randombytes": "^2.1.0" } }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, "node_modules/shallow-clone": { "version": "3.0.1", "dev": true, @@ -5806,740 +8225,2222 @@ "node": ">=8" } }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, - "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, - "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/string-length": { - "version": "4.0.2", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/string-width": { - "version": "5.1.2", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, - "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "kind-of": "^3.2.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT" + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "is-descriptor": "^0.1.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "kind-of": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "7.2.0", + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "escape-string-regexp": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.1", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/terser": { - "version": "5.18.1", - "license": "BSD-2-Clause", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "license": "MIT", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "license": "MIT", + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "license": "MIT", + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "ISC", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "ISC", "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" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/text-table": { - "version": "0.2.0", + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/tmpl": { - "version": "1.0.5", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "license": "BSD-3-Clause" + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", "dev": true, "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/string-width": { + "version": "5.1.2", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tough-cookie": { - "version": "4.1.2", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tr46": { - "version": "3.0.0", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.18.1", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/ts-jest": { + "version": "29.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-loader": { + "version": "9.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader-webpack-4": { + "name": "ts-loader", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "*" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.0.4", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.87.0", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-4": { + "name": "webpack", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/ts-jest": { - "version": "29.1.0", + "node_modules/webpack-4/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "license": "MIT", - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, "bin": { - "ts-jest": "cli.js" + "acorn": "bin/acorn" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "node": ">=0.4.0" } }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.3", + "node_modules/webpack-4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/ts-loader": { - "version": "9.4.3", + "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" + "node": ">=0.10.0" } }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", + "node_modules/webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/tslib": { - "version": "1.14.1", + "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, - "license": "0BSD" + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/webpack-4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^1.8.1" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">=4.0.0" } }, - "node_modules/type-check": { - "version": "0.4.0", + "node_modules/webpack-4/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", + "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", + "node_modules/webpack-4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", + "node_modules/webpack-4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "kind-of": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/typescript": { - "version": "5.0.4", + "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=12.20" + "node": ">=0.10.0" } }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "license": "MIT", + "node_modules/webpack-4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, "engines": { - "node": "*" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/webpack-4/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/universalify": { - "version": "0.2.0", + "node_modules/webpack-4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=0.10.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">= 4" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", + "node_modules/webpack-4/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, "dependencies": { - "punycode": "^2.1.0" + "randombytes": "^2.1.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", + "node_modules/webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", + "node_modules/webpack-4/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, - "license": "ISC", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">=10.12.0" + "node": ">=6.0.0" } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", + "node_modules/webpack-4/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, - "license": "MIT", "dependencies": { - "xml-name-validator": "^4.0.0" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">=14" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/walker": { - "version": "1.0.8", + "node_modules/webpack-4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "license": "MIT", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + }, + "node_modules/webpack-4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "node_modules/webpack": { - "version": "5.87.0", - "license": "MIT", + "node_modules/webpack-4/node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "peer": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" }, "bin": { "webpack": "bin/webpack.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.11.5" }, "funding": { "type": "opencollective", @@ -6548,9 +10449,22 @@ "peerDependenciesMeta": { "webpack-cli": { "optional": true + }, + "webpack-command": { + "optional": true } } }, + "node_modules/webpack-4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, "node_modules/webpack-cli": { "version": "5.1.4", "dev": true, @@ -6630,6 +10544,17 @@ "node": ">=10.13.0" } }, + "node_modules/webpack-sources-webpack-4": { + "name": "webpack-sources", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, "node_modules/whatwg-encoding": { "version": "2.0.0", "dev": true, @@ -6722,6 +10647,15 @@ "node": ">=0.10.0" } }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, "node_modules/wrap-ansi": { "version": "8.1.0", "dev": true, @@ -6864,6 +10798,15 @@ "dev": true, "license": "MIT" }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "dev": true, @@ -7013,14 +10956,20 @@ }, "devDependencies": { "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", "jest": "^29.5.0", "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + }, + "engines": { + "node": ">=14" }, "peerDependencies": { - "webpack": "^5.85.0" + "webpack": "^5.85.0 || ^4.46.0" } } }, @@ -7452,11 +11401,14 @@ "requires": { "@backtrace/sourcemap-tools": "^0.0.1", "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", "jest": "^29.5.0", "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" } }, "@bcoe/v8-coverage": { @@ -8005,8 +11957,6 @@ }, "@types/source-list-map": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, "@types/stack-utils": { @@ -8023,8 +11973,6 @@ }, "@types/webpack-sources": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, "requires": { "@types/node": "*", @@ -8034,8 +11982,6 @@ "dependencies": { "source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true } } @@ -8150,6 +12096,79 @@ "@webassemblyjs/helper-buffer": { "version": "1.11.6" }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + } + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", "requires": { @@ -8228,6 +12247,51 @@ "@webassemblyjs/utf8": "1.11.6" } }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, "@webassemblyjs/wast-printer": { "version": "1.11.6", "requires": { @@ -8300,6 +12364,13 @@ "uri-js": "^4.2.2" } }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, "ajv-keywords": { "version": "3.5.2", "requires": {} @@ -8336,10 +12407,34 @@ "picomatch": "^2.0.4" } }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "argparse": { "version": "2.0.1", "dev": true }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, "array-buffer-byte-length": { "version": "1.0.0", "dev": true, @@ -8363,6 +12458,12 @@ "version": "2.1.0", "dev": true }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, "array.prototype.flat": { "version": "1.3.1", "dev": true, @@ -8383,9 +12484,75 @@ "es-shim-unscopables": "^1.0.0" } }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "optional": true + }, "asynckit": { "version": "0.4.0" }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, "available-typed-arrays": { "version": "1.0.5", "dev": true @@ -8414,59 +12581,218 @@ "test-exclude": "^6.0.0" } }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "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" } }, - "babel-preset-current-node-syntax": { + "browserify-cipher": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "babel-preset-jest": { - "version": "29.5.0", + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "balanced-match": { - "version": "1.0.2", - "dev": true + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } }, - "brace-expansion": { - "version": "1.1.11", + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "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" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, - "braces": { - "version": "3.0.2", + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "pako": "~1.0.5" } }, "browserslist": { @@ -8492,9 +12818,118 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, "buffer-from": { "version": "1.1.2" }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, "call-bind": { "version": "1.0.2", "dev": true, @@ -8526,6 +12961,41 @@ "version": "1.0.2", "dev": true }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "chrome-trace-event": { "version": "1.0.3" }, @@ -8533,10 +13003,100 @@ "version": "3.8.0", "dev": true }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "cjs-module-lexer": { "version": "1.2.2", "dev": true }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "cliui": { "version": "8.0.1", "dev": true, @@ -8587,6 +13147,16 @@ "version": "1.0.1", "dev": true }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, "color-convert": { "version": "2.0.1", "dev": true, @@ -8611,14 +13181,146 @@ "commander": { "version": "2.20.3" }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, "concat-map": { "version": "0.0.1", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, "convert-source-map": { "version": "2.0.0", "dev": true }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "cross-spawn": { "version": "7.0.3", "dev": true, @@ -8628,6 +13330,25 @@ "which": "^2.0.1" } }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "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" + } + }, "cssom": { "version": "0.5.0", "dev": true @@ -8645,6 +13366,12 @@ } } }, + "cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, "data-urls": { "version": "3.0.2", "dev": true, @@ -8665,6 +13392,12 @@ "version": "10.4.3", "dev": true }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, "dedent": { "version": "0.7.0", "dev": true @@ -8685,9 +13418,29 @@ "object-keys": "^1.1.1" } }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, "delayed-stream": { "version": "1.0.0" }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "detect-newline": { "version": "3.1.0", "dev": true @@ -8696,6 +13449,25 @@ "version": "29.4.3", "dev": true }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "dir-glob": { "version": "3.0.1", "dev": true, @@ -8710,11 +13482,29 @@ "esutils": "^2.0.2" } }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, "domexception": { "version": "4.0.0", "dev": true, "requires": { - "webidl-conversions": "^7.0.0" + "webidl-conversions": "^7.0.0" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -8724,6 +13514,29 @@ "electron-to-chromium": { "version": "1.4.408" }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "emittery": { "version": "0.13.1", "dev": true @@ -8732,6 +13545,21 @@ "version": "9.2.2", "dev": true }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "enhanced-resolve": { "version": "5.15.0", "requires": { @@ -8747,6 +13575,15 @@ "version": "7.9.0", "dev": true }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, "error-ex": { "version": "1.3.2", "dev": true, @@ -9078,6 +13915,16 @@ "events": { "version": "3.3.0" }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "execa": { "version": "5.1.1", "dev": true, @@ -9103,6 +13950,119 @@ "version": "0.1.2", "dev": true }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "expect": { "version": "29.5.0", "dev": true, @@ -9114,6 +14074,58 @@ "jest-util": "^29.5.0" } }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, "fast-deep-equal": { "version": "3.1.3" }, @@ -9162,6 +14174,12 @@ "bser": "2.1.1" } }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, "file-entry-cache": { "version": "6.0.1", "dev": true, @@ -9169,6 +14187,13 @@ "flat-cache": "^3.0.4" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-range": { "version": "7.0.1", "dev": true, @@ -9176,6 +14201,87 @@ "to-regex-range": "^5.0.1" } }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "find-up": { "version": "5.0.0", "dev": true, @@ -9217,6 +14323,16 @@ "version": "3.2.7", "dev": true }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, "for-each": { "version": "0.3.3", "dev": true, @@ -9224,6 +14340,12 @@ "is-callable": "^1.1.3" } }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, "foreground-child": { "version": "3.1.1", "dev": true, @@ -9240,10 +14362,48 @@ "mime-types": "^2.1.12" } }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, "fs.realpath": { "version": "1.0.0", "dev": true }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "dev": true @@ -9296,6 +14456,12 @@ "get-intrinsic": "^1.1.1" } }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, "glob": { "version": "10.2.6", "dev": true, @@ -9413,6 +14579,103 @@ "has-symbols": "^1.0.2" } }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "html-encoding-sniffer": { "version": "3.0.0", "dev": true, @@ -9433,6 +14696,12 @@ "debug": "4" } }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, "https-proxy-agent": { "version": "5.0.1", "dev": true, @@ -9452,6 +14721,18 @@ "safer-buffer": ">= 2.1.2 < 3.0.0" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, "ignore": { "version": "5.2.4", "dev": true @@ -9476,6 +14757,12 @@ "version": "0.1.4", "dev": true }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "inflight": { "version": "1.0.6", "dev": true, @@ -9501,6 +14788,15 @@ "version": "3.1.1", "dev": true }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, "is-array-buffer": { "version": "3.0.2", "dev": true, @@ -9521,6 +14817,16 @@ "has-bigints": "^1.0.1" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-boolean-object": { "version": "1.1.2", "dev": true, @@ -9529,6 +14835,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "is-callable": { "version": "1.2.7", "dev": true @@ -9537,14 +14849,43 @@ "version": "2.12.1", "dev": true, "requires": { - "has": "^1.0.3" + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "is-date-object": { - "version": "1.0.5", + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "is-plain-object": "^2.0.4" } }, "is-extglob": { @@ -9647,6 +14988,24 @@ "call-bind": "^1.0.2" } }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "isexe": { "version": "2.0.0", "dev": true @@ -10176,6 +15535,12 @@ "version": "2.5.2", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "json-parse-even-better-errors": { "version": "2.3.1" }, @@ -10220,6 +15585,25 @@ "loader-runner": { "version": "4.3.0" }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + } + } + }, "locate-path": { "version": "6.0.0", "dev": true, @@ -10263,6 +15647,42 @@ "tmpl": "1.0.5" } }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, "merge-stream": { "version": "2.0.0" }, @@ -10278,6 +15698,24 @@ "picomatch": "^2.3.1" } }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "mime-db": { "version": "1.52.0" }, @@ -10291,6 +15729,18 @@ "version": "2.1.0", "dev": true }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, "minimatch": { "version": "3.1.2", "dev": true, @@ -10306,10 +15756,112 @@ "version": "6.0.2", "dev": true }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "ms": { "version": "2.1.2", "dev": true }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, "native-reg": { "version": "1.1.1", "requires": { @@ -10334,6 +15886,45 @@ "version": "0.4.0", "dev": true }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, "node-releases": { "version": "2.0.12" }, @@ -10352,6 +15943,80 @@ "version": "2.2.5", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "object-inspect": { "version": "1.12.3", "dev": true @@ -10360,6 +16025,15 @@ "version": "1.1.1", "dev": true }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, "object.assign": { "version": "4.1.4", "dev": true, @@ -10370,6 +16044,15 @@ "object-keys": "^1.1.1" } }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, "object.values": { "version": "1.1.6", "dev": true, @@ -10405,6 +16088,12 @@ "word-wrap": "^1.2.3" } }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, "p-limit": { "version": "3.1.0", "dev": true, @@ -10423,6 +16112,23 @@ "version": "2.2.0", "dev": true }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, "parent-module": { "version": "1.0.1", "dev": true, @@ -10430,6 +16136,19 @@ "callsites": "^3.0.0" } }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "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": { "version": "5.2.0", "dev": true, @@ -10447,6 +16166,25 @@ "entities": "^4.4.0" } }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, "path-exists": { "version": "4.0.0", "dev": true @@ -10475,6 +16213,19 @@ "version": "4.0.0", "dev": true }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "picocolors": { "version": "1.0.0" }, @@ -10482,6 +16233,12 @@ "version": "2.3.1", "dev": true }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, "pirates": { "version": "4.0.5", "dev": true @@ -10524,6 +16281,12 @@ } } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "dev": true @@ -10547,6 +16310,24 @@ } } }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, "prompts": { "version": "2.4.2", "dev": true, @@ -10555,10 +16336,71 @@ "sisteransi": "^1.0.5" } }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, "psl": { "version": "1.9.0", "dev": true }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "punycode": { "version": "2.3.0" }, @@ -10566,6 +16408,21 @@ "version": "6.0.2", "dev": true }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, "querystringify": { "version": "2.2.0", "dev": true @@ -10580,10 +16437,62 @@ "safe-buffer": "^5.1.0" } }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "react-is": { "version": "18.2.0", "dev": true }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "rechoir": { "version": "0.8.0", "dev": true, @@ -10591,6 +16500,16 @@ "resolve": "^1.20.0" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, "regexp.prototype.flags": { "version": "1.5.0", "dev": true, @@ -10600,6 +16519,25 @@ "functions-have-names": "^1.2.3" } }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, "require-directory": { "version": "2.1.1", "dev": true @@ -10634,10 +16572,22 @@ "version": "4.0.0", "dev": true }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, "resolve.exports": { "version": "2.0.2", "dev": true }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "reusify": { "version": "1.0.4", "dev": true @@ -10649,6 +16599,16 @@ "glob": "^10.2.5" } }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "run-parallel": { "version": "1.2.0", "dev": true, @@ -10656,9 +16616,27 @@ "queue-microtask": "^1.2.2" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, "safe-buffer": { "version": "5.2.1" }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, "safe-regex-test": { "version": "1.0.0", "dev": true, @@ -10709,6 +16687,51 @@ "randombytes": "^2.1.0" } }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shallow-clone": { "version": "3.0.1", "dev": true, @@ -10748,9 +16771,190 @@ "version": "3.0.0", "dev": true }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, "source-map": { "version": "0.6.1" }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "source-map-support": { "version": "0.5.13", "dev": true, @@ -10759,10 +16963,34 @@ "source-map": "^0.6.0" } }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, "sprintf-js": { "version": "1.0.3", "dev": true }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, "stack-utils": { "version": "2.0.6", "dev": true, @@ -10776,6 +17004,132 @@ } } }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-length": { "version": "4.0.2", "dev": true, @@ -10963,14 +17317,71 @@ "version": "0.2.0", "dev": true }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, "tmpl": { "version": "1.0.5", "dev": true }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, "to-fast-properties": { "version": "2.0.0", "dev": true }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, "to-regex-range": { "version": "5.0.1", "dev": true, @@ -11025,6 +17436,48 @@ "semver": "^7.3.4" } }, + "ts-loader-webpack-4": { + "version": "npm:ts-loader@8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "dependencies": { + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + } + } + }, "tsconfig-paths": { "version": "3.14.2", "dev": true, @@ -11046,6 +17499,12 @@ "tslib": "^1.8.1" } }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, "type-check": { "version": "0.4.0", "dev": true, @@ -11070,6 +17529,12 @@ "is-typed-array": "^1.1.9" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, "typescript": { "version": "5.0.4", "dev": true @@ -11087,10 +17552,95 @@ "which-boxed-primitive": "^1.0.2" } }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "universalify": { "version": "0.2.0", "dev": true }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true + }, "update-browserslist-db": { "version": "1.0.11", "requires": { @@ -11104,6 +17654,30 @@ "punycode": "^2.1.0" } }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "dev": true, + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, "url-parse": { "version": "1.5.10", "dev": true, @@ -11112,6 +17686,35 @@ "requires-port": "^1.0.0" } }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -11127,6 +17730,12 @@ } } }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, "w3c-xmlserializer": { "version": "4.0.0", "dev": true, @@ -11148,6 +17757,243 @@ "graceful-fs": "^4.1.2" } }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, "webidl-conversions": { "version": "7.0.0", "dev": true @@ -11181,6 +18027,443 @@ "webpack-sources": "^3.2.3" } }, + "webpack-4": { + "version": "npm:webpack@4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, "webpack-cli": { "version": "5.1.4", "dev": true, @@ -11221,6 +18504,16 @@ "webpack-sources": { "version": "3.2.3" }, + "webpack-sources-webpack-4": { + "version": "npm:webpack-sources@1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, "whatwg-encoding": { "version": "2.0.0", "dev": true, @@ -11278,6 +18571,15 @@ "version": "1.2.3", "dev": true }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, "wrap-ansi": { "version": "8.1.0", "dev": true, @@ -11359,6 +18661,12 @@ "version": "2.2.0", "dev": true }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, "y18n": { "version": "5.0.8", "dev": true diff --git a/tools/webpack-plugin/e2e.jest.config.js b/tools/webpack-plugin/e2e.jest.config.js new file mode 100644 index 00000000..b313e139 --- /dev/null +++ b/tools/webpack-plugin/e2e.jest.config.js @@ -0,0 +1,6 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + roots: ['./tests/e2e'], +}; diff --git a/tools/webpack-plugin/jest.config.js b/tools/webpack-plugin/jest.config.js index b413e106..c0919546 100644 --- a/tools/webpack-plugin/jest.config.js +++ b/tools/webpack-plugin/jest.config.js @@ -1,5 +1,6 @@ /** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -}; \ No newline at end of file + preset: 'ts-jest', + testEnvironment: 'node', + testPathIgnorePatterns: ['e2e'], +}; diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 1022871d..039c73d4 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -8,12 +8,17 @@ "node": ">=14" }, "scripts": { - "build": "tsc", - "clean": "tsc -b --clean && rimraf \"lib\"", + "build": "tsc -b ./tsconfig.build.json", + "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "tsc -w", - "test": "NODE_ENV=test jest" + "watch": "tsc -b ./tsconfig.packages.json -w", + "test": "npm run test:webpackv5 && npm run test:webpackv4", + "test:webpackv4": "NODE_ENV=test jest --config ./webpack4.jest.config.js", + "test:webpackv5": "NODE_ENV=test jest", + "test:e2e": "npm run test:e2e:webpackv5 && npm run test:e2e:webpackv4", + "test:e2e:webpackv4": "NODE_ENV=test jest --config ./webpack4.e2e.jest.config.js", + "test:e2e:webpackv5": "NODE_ENV=test jest --config ./e2e.jest.config.js" }, "repository": { "type": "git", @@ -36,16 +41,19 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", "jest": "^29.5.0", "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4" + "ts-loader": "^9.4.3 || ^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { "@backtrace/sourcemap-tools": "^0.0.1" }, "peerDependencies": { - "webpack": "^5.85.0" + "webpack": "^5.85.0 || ^4.46.0" } } diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 6c9186bc..542a5326 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -1,195 +1,19 @@ -import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; -import crypto from 'crypto'; -import { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; -import { Source, SourceMapSource } from 'webpack-sources'; -import { BacktraceWebpackSourceGenerator } from './BacktraceWebpackSourceGenerator'; - -export interface BacktracePluginOptions { - debugIdGenerator?: DebugIdGenerator; +import webpack from 'webpack'; +import { BacktracePluginV4 } from './BacktracePluginV4'; +import { BacktracePluginV5 } from './BacktracePluginV5'; + +let BacktracePlugin: typeof BacktracePluginV4 | typeof BacktracePluginV5; + +const version = process.env.WEBPACK_VERSION ?? webpack.version[0]; +switch (version) { + case '4': + BacktracePlugin = BacktracePluginV4; + break; + case '5': + BacktracePlugin = BacktracePluginV5; + break; + default: + throw new Error(`Webpack version ${version} is not supported.`); } -export class BacktracePlugin implements WebpackPluginInstance { - private readonly _sourceGenerator: BacktraceWebpackSourceGenerator; - - constructor(public readonly options?: BacktracePluginOptions) { - this._sourceGenerator = new BacktraceWebpackSourceGenerator( - options?.debugIdGenerator ?? new DebugIdGenerator(), - new ContentAppender(), - ); - } - - public apply(compiler: Compiler) { - const assetDebugIds = new Map(); - const processedSourceMapsForSources = new Set(); - - compiler.hooks.thisCompilation.tap(BacktracePlugin.name, (compilation) => { - compilation.hooks.processAssets.tap( - { - name: BacktracePlugin.name, - stage: Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS, - }, - (assets) => { - for (const key in assets) { - if (!key.match(/.(c|m)?jsx?/)) { - continue; - } - - const debugId = crypto.randomUUID(); - assetDebugIds.set(key, debugId); - } - }, - ); - - compilation.hooks.processAssets.tap( - { - name: BacktracePlugin.name, - stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, - }, - (assets) => { - for (const key in assets) { - const debugId = assetDebugIds.get(key); - if (!debugId) { - continue; - } - - this.injectSourceSnippet(compilation, key, debugId); - } - }, - ); - - compilation.hooks.processAssets.tap( - { - name: BacktracePlugin.name, - stage: Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING, - additionalAssets: true, - }, - (assets) => { - for (const key in assets) { - const debugId = assetDebugIds.get(key); - if (!debugId) { - continue; - } - - if (this.injectSourceMapDebugId(compilation, key, debugId)) { - processedSourceMapsForSources.add(key); - } - } - return; - }, - ); - - const processedSourceMaps = new Set(); - compilation.hooks.processAssets.tap( - { - name: BacktracePlugin.name, - stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, - }, - (assets) => { - for (const key in assets) { - const asset = compilation.getAsset(key); - if (!asset) { - continue; - } - - const debugId = assetDebugIds.get(key); - if (!debugId) { - continue; - } - - this.injectSourceComment(compilation, key, debugId); - - // If the sourcemap has not been processed for some reason, - // attempt to manually append the information - if (!processedSourceMapsForSources.has(key)) { - if (this.appendSourceMapDebugId(compilation, key, debugId, processedSourceMaps)) { - processedSourceMapsForSources.add(key); - } - } - } - }, - ); - }); - } - - private injectSourceSnippet(compilation: Compilation, key: string, debugId: string): boolean { - const asset = compilation.getAsset(key); - if (!asset) { - return false; - } - - const newSource = this._sourceGenerator.addDebugIdToSource(asset.source as Source, debugId); - - compilation.updateAsset(key, newSource as never); - return true; - } - - private injectSourceMapDebugId(compilation: Compilation, key: string, debugId: string): boolean { - const asset = compilation.getAsset(key); - if (!asset) { - return false; - } - - if (!(asset.source instanceof SourceMapSource)) { - return false; - } - - const newSource = this._sourceGenerator.addDebugIdToSourceMap(asset.source, debugId); - compilation.updateAsset(key, newSource as never); - - return true; - } - - private injectSourceComment(compilation: Compilation, key: string, debugId: string): boolean { - const asset = compilation.getAsset(key); - if (!asset) { - return false; - } - - const newSource = this._sourceGenerator.addDebugIdCommentToSource(asset.source as Source, debugId); - compilation.updateAsset(key, newSource as never); - - return true; - } - - /** - * Manually appends debug ID keys to the sourcemap file. - */ - private appendSourceMapDebugId( - compilation: Compilation, - key: string, - debugId: string, - processedSourceMaps: Set, - ): boolean { - const assetInfo = compilation.assetsInfo.get(key); - if (!assetInfo) { - return false; - } - - let sourceMapKeys = assetInfo.related?.sourceMap; - if (!sourceMapKeys) { - return false; - } - - if (!Array.isArray(sourceMapKeys)) { - sourceMapKeys = [sourceMapKeys]; - } - - for (const sourceMapKey of sourceMapKeys) { - if (processedSourceMaps.has(sourceMapKey)) { - continue; - } - - const sourceMapAsset = compilation.getAsset(sourceMapKey); - if (!sourceMapAsset) { - continue; - } - - const newSource = this._sourceGenerator.addDebugIdToRawSourceMap(sourceMapAsset.source as Source, debugId); - compilation.updateAsset(sourceMapKey, newSource as never); - - processedSourceMaps.add(sourceMapKey); - } - - return true; - } -} +export { BacktracePlugin }; diff --git a/tools/webpack-plugin/src/BacktracePluginV4.ts b/tools/webpack-plugin/src/BacktracePluginV4.ts new file mode 100644 index 00000000..04ecf814 --- /dev/null +++ b/tools/webpack-plugin/src/BacktracePluginV4.ts @@ -0,0 +1,46 @@ +import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import crypto from 'crypto'; +import { Compiler, WebpackPluginInstance } from 'webpack'; +import { BacktraceWebpackSourceGenerator } from './BacktraceWebpackSourceGenerator'; +import { BacktracePluginOptions } from './models/BacktracePluginOptions'; + +export class BacktracePluginV4 implements WebpackPluginInstance { + private readonly _sourceGenerator: BacktraceWebpackSourceGenerator; + + constructor(public readonly options?: BacktracePluginOptions) { + this._sourceGenerator = new BacktraceWebpackSourceGenerator( + options?.debugIdGenerator ?? new DebugIdGenerator(), + new ContentAppender(), + ); + } + + public apply(compiler: Compiler) { + const assetDebugIds = new Map(); + + compiler.hooks.emit.tap(BacktracePluginV4.name, (compilation) => { + for (const key in compilation.assets) { + let source = compilation.assets[key]; + + let debugId; + if (key.match(/.(c|m)?jsx?$/)) { + debugId = crypto.randomUUID(); + assetDebugIds.set(key, debugId); + + source = this._sourceGenerator.addDebugIdToSource(source as never, debugId) as typeof source; + source = this._sourceGenerator.addDebugIdCommentToSource(source as never, debugId) as typeof source; + } else if (key.match(/\.(c|m)?jsx?\.map$/)) { + // The .map replacement should account for most of the use cases + const sourceKey = key.replace(/.map$/, ''); + debugId = assetDebugIds.get(sourceKey); + if (!debugId) { + continue; + } + + source = this._sourceGenerator.addDebugIdToRawSourceMap(source as never, debugId) as never; + } + + compilation.assets[key] = source; + } + }); + } +} diff --git a/tools/webpack-plugin/src/BacktracePluginV5.ts b/tools/webpack-plugin/src/BacktracePluginV5.ts new file mode 100644 index 00000000..5ae43047 --- /dev/null +++ b/tools/webpack-plugin/src/BacktracePluginV5.ts @@ -0,0 +1,173 @@ +import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import crypto from 'crypto'; +import { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; +import { SourceMapSource } from 'webpack-sources'; +import { BacktraceWebpackSourceGenerator } from './BacktraceWebpackSourceGenerator'; +import { BacktracePluginOptions } from './models/BacktracePluginOptions'; + +export class BacktracePluginV5 implements WebpackPluginInstance { + private readonly _sourceGenerator: BacktraceWebpackSourceGenerator; + + constructor(public readonly options?: BacktracePluginOptions) { + this._sourceGenerator = new BacktraceWebpackSourceGenerator( + options?.debugIdGenerator ?? new DebugIdGenerator(), + new ContentAppender(), + ); + } + + public apply(compiler: Compiler) { + const assetDebugIds = new Map(); + const processedSourceMapsForSources = new Set(); + + compiler.hooks.thisCompilation.tap(BacktracePluginV5.name, (compilation) => { + compilation.hooks.processAssets.tap( + { + name: BacktracePluginV5.name, + stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, + }, + (assets) => { + for (const key in assets) { + const debugId = crypto.randomUUID(); + assetDebugIds.set(key, debugId); + + this.injectSourceSnippet(compilation, key, debugId); + } + }, + ); + + compilation.hooks.processAssets.tap( + { + name: BacktracePluginV5.name, + stage: Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING, + additionalAssets: true, + }, + (assets) => { + for (const key in assets) { + const debugId = assetDebugIds.get(key); + if (!debugId) { + continue; + } + + if (this.injectSourceMapDebugId(compilation, key, debugId)) { + processedSourceMapsForSources.add(key); + } + } + return; + }, + ); + + const processedSourceMaps = new Set(); + compilation.hooks.processAssets.tap( + { + name: BacktracePluginV5.name, + stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, + }, + (assets) => { + for (const key in assets) { + const asset = compilation.getAsset(key); + if (!asset) { + continue; + } + + const debugId = assetDebugIds.get(key); + if (!debugId) { + continue; + } + + this.injectSourceComment(compilation, key, debugId); + + // If the sourcemap has not been processed for some reason, + // attempt to manually append the information + if (!processedSourceMapsForSources.has(key)) { + if (this.appendSourceMapDebugId(compilation, key, debugId, processedSourceMaps)) { + processedSourceMapsForSources.add(key); + } + } + } + }, + ); + }); + } + + private injectSourceSnippet(compilation: Compilation, key: string, debugId: string): boolean { + const asset = compilation.getAsset(key); + if (!asset) { + return false; + } + + const newSource = this._sourceGenerator.addDebugIdToSource(asset.source as never, debugId); + + compilation.updateAsset(key, newSource as never); + return true; + } + + private injectSourceMapDebugId(compilation: Compilation, key: string, debugId: string): boolean { + const asset = compilation.getAsset(key); + if (!asset) { + return false; + } + + if (!(asset.source instanceof SourceMapSource)) { + return false; + } + + const newSource = this._sourceGenerator.addDebugIdToSourceMap(asset.source, debugId); + compilation.updateAsset(key, newSource as never); + + return true; + } + + private injectSourceComment(compilation: Compilation, key: string, debugId: string): boolean { + const asset = compilation.getAsset(key); + if (!asset) { + return false; + } + + const newSource = this._sourceGenerator.addDebugIdCommentToSource(asset.source as never, debugId); + compilation.updateAsset(key, newSource as never); + + return true; + } + + /** + * Manually appends debug ID keys to the sourcemap file. + */ + private appendSourceMapDebugId( + compilation: Compilation, + key: string, + debugId: string, + processedSourceMaps: Set, + ): boolean { + const assetInfo = compilation.assetsInfo.get(key); + if (!assetInfo) { + return false; + } + + let sourceMapKeys = assetInfo.related?.sourceMap; + if (!sourceMapKeys) { + return false; + } + + if (!Array.isArray(sourceMapKeys)) { + sourceMapKeys = [sourceMapKeys]; + } + + for (const sourceMapKey of sourceMapKeys) { + if (processedSourceMaps.has(sourceMapKey)) { + continue; + } + + const sourceMapAsset = compilation.getAsset(sourceMapKey); + if (!sourceMapAsset) { + continue; + } + + const newSource = this._sourceGenerator.addDebugIdToRawSourceMap(sourceMapAsset.source as never, debugId); + compilation.updateAsset(sourceMapKey, newSource as never); + + processedSourceMaps.add(sourceMapKey); + } + + return true; + } +} diff --git a/tools/webpack-plugin/src/index.ts b/tools/webpack-plugin/src/index.ts index 9f74e425..7b12f012 100644 --- a/tools/webpack-plugin/src/index.ts +++ b/tools/webpack-plugin/src/index.ts @@ -1,4 +1,7 @@ import { BacktracePlugin } from './BacktracePlugin'; +export { BacktracePluginV4 } from './BacktracePluginV4'; +export { BacktracePluginV5 } from './BacktracePluginV5'; +export { BacktracePluginOptions } from './models/BacktracePluginOptions'; export { BacktracePlugin }; export default BacktracePlugin; diff --git a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts new file mode 100644 index 00000000..862564fc --- /dev/null +++ b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts @@ -0,0 +1,5 @@ +import { DebugIdGenerator } from '@backtrace/sourcemap-tools'; + +export interface BacktracePluginOptions { + debugIdGenerator?: DebugIdGenerator; +} diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts index c06f5409..698ec401 100644 --- a/tools/webpack-plugin/tests/e2e/createE2ETest.ts +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -35,7 +35,7 @@ export function createE2ETest( const webpackResult = await asyncWebpack(config); expectSuccess(webpackResult); result = webpackResult; - }, 30000); + }, 120000); if (opts?.testSourceFunction ?? true) { it('should inject function into emitted source files', async () => { diff --git a/tools/webpack-plugin/tests/e2e/helpers.ts b/tools/webpack-plugin/tests/e2e/helpers.ts index 903b1025..dc215b18 100644 --- a/tools/webpack-plugin/tests/e2e/helpers.ts +++ b/tools/webpack-plugin/tests/e2e/helpers.ts @@ -1,8 +1,7 @@ import fs from 'fs'; import path from 'path'; import webpack from 'webpack'; -import { BacktracePlugin } from '../../src'; -import { BacktracePluginOptions } from '../../src/BacktracePlugin'; +import { BacktracePlugin, BacktracePluginOptions } from '../../src'; import { TestDebugIdGenerator } from '../__mocks__/TestDebugIdGenerator'; export interface BaseConfigOptions { diff --git a/tools/webpack-plugin/tests/setupWebpackV4.ts b/tools/webpack-plugin/tests/setupWebpackV4.ts new file mode 100644 index 00000000..749485d8 --- /dev/null +++ b/tools/webpack-plugin/tests/setupWebpackV4.ts @@ -0,0 +1,11 @@ +import webpackSources from 'webpack-sources-webpack-4'; + +jest.mock('webpack-sources', () => webpackSources); + +import webpack from 'webpack-4'; + +jest.mock('webpack', () => webpack); + +import tsLoader from 'ts-loader-webpack-4'; + +jest.mock('ts-loader', () => tsLoader); diff --git a/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts b/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts index a4434691..45109996 100644 --- a/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts +++ b/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts @@ -1,4 +1,5 @@ import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import webpack from 'webpack'; import { ConcatSource, RawSource, SourceMapSource } from 'webpack-sources'; import { BacktraceWebpackSourceGenerator } from '../../src/BacktraceWebpackSourceGenerator'; @@ -6,10 +7,10 @@ describe('BacktraceWebpackSourceGenerator', () => { function createTestSourceMap() { const sourceMap: ConstructorParameters[2] = { file: 'x', - mappings: 'x', + mappings: 'aACE', names: ['x'], sources: ['x'], - version: 1, + version: 3, }; return sourceMap; @@ -27,7 +28,7 @@ describe('BacktraceWebpackSourceGenerator', () => { const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); const actualSource = sourceGenerator.addDebugIdToSource(source, 'x'); - const actual = actualSource.buffer().toString('utf-8'); + const actual = actualSource.source(); expect(actual).toContain('abc'); expect(actual).toContain(expected); @@ -68,7 +69,7 @@ describe('BacktraceWebpackSourceGenerator', () => { const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); sourceGenerator.addDebugIdToSource(source, 'def'); - expect(source.buffer().toString('utf-8')).toEqual(expected); + expect(source.source()).toEqual(expected); }); }); @@ -84,7 +85,7 @@ describe('BacktraceWebpackSourceGenerator', () => { const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); const actualSource = sourceGenerator.addDebugIdCommentToSource(source, 'x'); - const actual = actualSource.buffer().toString('utf-8'); + const actual = actualSource.source(); expect(actual).toContain('abc'); expect(actual).toContain(expected); @@ -125,111 +126,113 @@ describe('BacktraceWebpackSourceGenerator', () => { const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); sourceGenerator.addDebugIdCommentToSource(source, 'def'); - expect(source.buffer().toString('utf-8')).toEqual(expected); + expect(source.source()).toEqual(expected); }); }); - describe('addDebugIdToSourceMap', () => { - it('should append whole object generated by debugIdGenerator', () => { - const sourceMap = createTestSourceMap(); - const expected = { - ...sourceMap, - debugId: '123', - newKey2: 456, - }; + // We do not support this on Webpack 4, nor it is used + if (webpack.version[0] !== '4') { + describe('addDebugIdToSourceMap', () => { + it('should append whole object generated by debugIdGenerator', () => { + const source = new SourceMapSource('abc', 'x', createTestSourceMap()); + const expected = { + ...source.map(), + debugId: '123', + newKey2: 456, + }; - const source = new SourceMapSource('abc', 'x', sourceMap); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); - jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); + jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actualSourceMapSource = sourceGenerator.addDebugIdToSourceMap(source, 'x'); + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actualSourceMapSource = sourceGenerator.addDebugIdToSourceMap(source, 'x'); - const { map: actualMap } = actualSourceMapSource.sourceAndMap(); - expect(actualMap).toEqual(expected); - }); + const { map: actualMap } = actualSourceMapSource.sourceAndMap(); + expect(actualMap).toEqual(expected); + }); - it('should pass sourcemap to debugIdGenerator', () => { - const expected = createTestSourceMap(); + it('should pass sourcemap to debugIdGenerator', () => { + const expected = createTestSourceMap(); - const source = new SourceMapSource('abc', 'x', expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); + const source = new SourceMapSource('abc', 'x', expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); - const spy = jest - .spyOn(debugIdGenerator, 'addSourceMapKey') - .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); + const spy = jest + .spyOn(debugIdGenerator, 'addSourceMapKey') + .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSourceMap(source, 'def'); + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSourceMap(source, 'def'); - expect(spy).toBeCalledWith(expected, expect.anything()); - }); + expect(spy).toBeCalledWith(expected, expect.anything()); + }); - it('should pass uuid to debugIdGenerator', () => { - const expected = 'def'; + it('should pass uuid to debugIdGenerator', () => { + const expected = 'def'; - const source = new SourceMapSource('abc', 'x', createTestSourceMap()); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); + const source = new SourceMapSource('abc', 'x', createTestSourceMap()); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); - const spy = jest - .spyOn(debugIdGenerator, 'addSourceMapKey') - .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); + const spy = jest + .spyOn(debugIdGenerator, 'addSourceMapKey') + .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSourceMap(source, expected); + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSourceMap(source, expected); - expect(spy).toBeCalledWith(expect.anything(), expected); - }); + expect(spy).toBeCalledWith(expect.anything(), expected); + }); - it('should return an instance of SourceMapSource', () => { - const source = new SourceMapSource('abc', 'x', createTestSourceMap()); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); + it('should return an instance of SourceMapSource', () => { + const source = new SourceMapSource('abc', 'x', createTestSourceMap()); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actual = sourceGenerator.addDebugIdToSourceMap(source, 'def'); + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + const actual = sourceGenerator.addDebugIdToSourceMap(source, 'def'); - expect(actual).toBeInstanceOf(SourceMapSource); - }); + expect(actual).toBeInstanceOf(SourceMapSource); + }); - it('should not modify original source', () => { - const expected = 'abc'; - const source = new SourceMapSource(expected, 'x', createTestSourceMap()); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); + it('should not modify original source', () => { + const expected = 'abc'; + const source = new SourceMapSource(expected, 'x', createTestSourceMap()); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdCommentToSource(source, 'def'); + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdCommentToSource(source, 'def'); - const { source: actualSourceMap } = source.sourceAndMap(); - expect(actualSourceMap.toString('utf-8')).toEqual(expected); - }); + const { source: actualSourceMap } = source.sourceAndMap(); + expect(actualSourceMap.toString()).toEqual(expected); + }); - it('should not modify original sourcemap', () => { - const expected = createTestSourceMap(); - const modifiedSourceMap = { - ...expected, - debugId: '123', - newKey2: 456, - }; + it('should not modify original sourcemap', () => { + const expected = createTestSourceMap(); + const modifiedSourceMap = { + ...expected, + debugId: '123', + newKey2: 456, + }; - const source = new SourceMapSource('abc', 'x', expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); + const source = new SourceMapSource('abc', 'x', expected); + const debugIdGenerator = new DebugIdGenerator(); + const contentAppender = new ContentAppender(); - jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(modifiedSourceMap); + jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(modifiedSourceMap); - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSourceMap(source, 'x'); + const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); + sourceGenerator.addDebugIdToSourceMap(source, 'x'); - const { map: actualMap } = source.sourceAndMap(); - expect(actualMap).toEqual(expected); + const { map: actualMap } = source.sourceAndMap(); + expect(actualMap).toEqual(expected); + }); }); - }); + } describe('addDebugIdToRawSourceMap', () => { it('should append whole object generated by debugIdGenerator', () => { @@ -249,7 +252,7 @@ describe('BacktraceWebpackSourceGenerator', () => { const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); const actualSource = sourceGenerator.addDebugIdToRawSourceMap(source, 'x'); - const actual = JSON.parse(actualSource.buffer().toString('utf-8')); + const actual = JSON.parse(actualSource.source()); expect(actual).toEqual(expected); }); @@ -291,7 +294,7 @@ describe('BacktraceWebpackSourceGenerator', () => { sourceGenerator.addDebugIdCommentToSource(source, 'def'); const { source: actualSourceMap } = source.sourceAndMap(); - expect(actualSourceMap.toString('utf-8')).toEqual(expected); + expect(actualSourceMap).toEqual(expected); }); }); }); diff --git a/tools/webpack-plugin/tests/webpack-4.d.ts b/tools/webpack-plugin/tests/webpack-4.d.ts new file mode 100644 index 00000000..79f24294 --- /dev/null +++ b/tools/webpack-plugin/tests/webpack-4.d.ts @@ -0,0 +1,11 @@ +declare module 'webpack-4' { + import webpack from 'webpack'; + + export default webpack; +} + +declare module 'webpack-sources-webpack-4' { + import webpackSources from 'webpack-sources'; + + export default webpackSources; +} diff --git a/tools/webpack-plugin/tsconfig.build.json b/tools/webpack-plugin/tsconfig.build.json new file mode 100644 index 00000000..7993723f --- /dev/null +++ b/tools/webpack-plugin/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/tools/webpack-plugin/tsconfig.json b/tools/webpack-plugin/tsconfig.json index 89d7fa89..eb7bf768 100644 --- a/tools/webpack-plugin/tsconfig.json +++ b/tools/webpack-plugin/tsconfig.json @@ -1,10 +1,5 @@ { "extends": "../../tsconfig.base.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./lib" - }, - "exclude": ["node_modules", "tests", "lib"], "references": [ { "path": "../sourcemap-tools/tsconfig.json" diff --git a/tools/webpack-plugin/webpack4.e2e.jest.config.js b/tools/webpack-plugin/webpack4.e2e.jest.config.js new file mode 100644 index 00000000..5a31b03e --- /dev/null +++ b/tools/webpack-plugin/webpack4.e2e.jest.config.js @@ -0,0 +1,7 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + setupFiles: ['./tests/setupWebpackV4.ts'], + roots: ['./tests/e2e'], +}; diff --git a/tools/webpack-plugin/webpack4.jest.config.js b/tools/webpack-plugin/webpack4.jest.config.js new file mode 100644 index 00000000..ea8797bb --- /dev/null +++ b/tools/webpack-plugin/webpack4.jest.config.js @@ -0,0 +1,7 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + setupFiles: ['./tests/setupWebpackV4.ts'], + testPathIgnorePatterns: ['e2e'], +}; diff --git a/tsconfig.json b/tsconfig.json index db168a86..7c24632e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "path": "./tools/sourcemap-tools" }, { - "path": "./tools/webpack-plugin" + "path": "./tools/webpack-plugin/tsconfig.build.json" } ] } From 3df4bf1b18a8fcca783195e9d6099d80a3a7d83b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 22 Jun 2023 18:23:10 +0200 Subject: [PATCH 040/291] Allow to build all libraries at once via webpack & tsc --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 12d104c3..16eba8fe 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "author": "Backtrace ", "license": "MIT", "scripts": { - "build": "tsc -b ./tsconfig.packages.json", - "clean": "tsc -b --clean && rimraf \"packages/*/lib\" \"lib\"", + "build": "tsc -b ./tsconfig.packages.json && npm run build --ws --if-present", + "clean": "tsc -b --clean && rimraf \"lib\" && npm run clean --ws --if-present", "format": "prettier --write '**/*.ts'", "format:check": "prettier --check '**/*.ts'", "lint": "eslint . --ext .ts", From 52387849eb2f28d46805f60e68cfabc55bb58aa9 Mon Sep 17 00:00:00 2001 From: Adam Cronin Date: Thu, 22 Jun 2023 16:24:40 -0400 Subject: [PATCH 041/291] Adding react package to the monorepo --- .gitignore | 3 +++ package-lock.json | 26 +++++++++++++++++++--- packages/browser/tsconfig.json | 3 ++- packages/react/LICENSE | 21 ++++++++++++++++++ packages/react/package.json | 37 ++++++++++++++++++++++++++++++++ packages/react/src/index.ts | 1 + packages/react/tsconfig.json | 13 +++++++++++ packages/react/webpack.config.js | 28 ++++++++++++++++++++++++ 8 files changed, 128 insertions(+), 4 deletions(-) create mode 100644 packages/react/LICENSE create mode 100644 packages/react/package.json create mode 100644 packages/react/src/index.ts create mode 100644 packages/react/tsconfig.json create mode 100644 packages/react/webpack.config.js diff --git a/.gitignore b/.gitignore index f6baafee..a370802f 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,6 @@ lib dist/ +# VSCode settings +settings.json + diff --git a/package-lock.json b/package-lock.json index 41a3f54a..8c0d3fa4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -602,6 +602,10 @@ "resolved": "packages/node", "link": true }, + "node_modules/@backtrace/react": { + "resolved": "packages/react", + "link": true + }, "node_modules/@backtrace/sdk-core": { "resolved": "packages/sdk-core", "link": true @@ -9301,8 +9305,8 @@ }, "node_modules/typescript": { "version": "5.0.4", - "dev": true, - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10922,6 +10926,15 @@ "dev": true, "license": "MIT" }, + "packages/react": { + "name": "@backtrace/react", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "typescript": "^5.0.4" + }, + "devDependencies": {} + }, "packages/sdk-core": { "name": "@backtrace/sdk-core", "version": "0.0.1", @@ -11378,6 +11391,12 @@ } } }, + "@backtrace/react": { + "version": "file:packages/react", + "requires": { + "typescript": "5.0.4" + } + }, "@backtrace/sdk-core": { "version": "file:packages/sdk-core", "requires": { @@ -17537,7 +17556,8 @@ }, "typescript": { "version": "5.0.4", - "dev": true + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==" }, "ua-parser-js": { "version": "1.0.35" diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json index 2d2869f2..93e86d7f 100644 --- a/packages/browser/tsconfig.json +++ b/packages/browser/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "rootDir": "./src", - "outDir": "./lib" + "outDir": "./lib", + "composite": true }, "exclude": ["node_modules", "tests", "lib"], "references": [ diff --git a/packages/react/LICENSE b/packages/react/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/react/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/react/package.json b/packages/react/package.json new file mode 100644 index 00000000..518adfc9 --- /dev/null +++ b/packages/react/package.json @@ -0,0 +1,37 @@ +{ + "name": "@backtrace/react", + "version": "0.0.1", + "description": "Backtrace-Javascript React integration", + "main": "lib/index.js", + "scripts": { + "build": "webpack", + "clean": "rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "webpack -w", + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "React" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "dependencies": { + "typescript": "^5.0.4" + } +} diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts new file mode 100644 index 00000000..cecfdc5f --- /dev/null +++ b/packages/react/src/index.ts @@ -0,0 +1 @@ +export * from '@backtrace/browser'; \ No newline at end of file diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json new file mode 100644 index 00000000..c30e95c5 --- /dev/null +++ b/packages/react/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"], + "references": [ + { + "path": "../browser/tsconfig.json" + } + ] +} diff --git a/packages/react/webpack.config.js b/packages/react/webpack.config.js new file mode 100644 index 00000000..a47cc23c --- /dev/null +++ b/packages/react/webpack.config.js @@ -0,0 +1,28 @@ +const path = require('path'); +const { webpackTypescriptConfig, minifiedAndUnminified } = require('../../build/common'); +const agentDefinitionPlugin = require('../../build/agentDefinitionPlugin'); + +/** @type {import('webpack').Configuration} */ +const common = { + ...webpackTypescriptConfig, + target: 'web', + mode: process.env.NODE_ENV ?? 'production', + devtool: 'source-map', + entry: './src/index.ts', + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], +}; + +/** @type {Array} */ +module.exports = [ + ...minifiedAndUnminified({ + ...common, + output: { + filename: 'index.js', + path: path.join(__dirname, 'lib'), + library: { + name: 'Backtrace', + type: 'umd', + }, + }, + }), +]; From ad6db06aeb2f576f529c5812f7a3505a28576dd5 Mon Sep 17 00:00:00 2001 From: Adam Cronin Date: Thu, 22 Jun 2023 16:34:39 -0400 Subject: [PATCH 042/291] Switching typescript from dependencies to devDependencies --- package-lock.json | 11 ++++++----- packages/react/package.json | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c0d3fa4..5e4bfb24 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9307,6 +9307,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10930,10 +10931,9 @@ "name": "@backtrace/react", "version": "0.0.1", "license": "MIT", - "dependencies": { + "devDependencies": { "typescript": "^5.0.4" - }, - "devDependencies": {} + } }, "packages/sdk-core": { "name": "@backtrace/sdk-core", @@ -11394,7 +11394,7 @@ "@backtrace/react": { "version": "file:packages/react", "requires": { - "typescript": "5.0.4" + "typescript": "^5.0.4" } }, "@backtrace/sdk-core": { @@ -17557,7 +17557,8 @@ "typescript": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==" + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true }, "ua-parser-js": { "version": "1.0.35" diff --git a/packages/react/package.json b/packages/react/package.json index 518adfc9..0d707e6a 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -31,7 +31,7 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", - "dependencies": { + "devDependencies": { "typescript": "^5.0.4" } } From cd0660c0e8bbb3894755762905d5e5cad63561d1 Mon Sep 17 00:00:00 2001 From: Adam Cronin Date: Thu, 22 Jun 2023 17:29:59 -0400 Subject: [PATCH 043/291] Updating small formatting issue --- packages/react/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index cecfdc5f..ee259e05 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1 +1 @@ -export * from '@backtrace/browser'; \ No newline at end of file +export * from '@backtrace/browser'; From 9ee03d7529b0f2bab064817d162282a5fa5bfecb Mon Sep 17 00:00:00 2001 From: Adam Cronin Date: Thu, 22 Jun 2023 17:52:10 -0400 Subject: [PATCH 044/291] Removing test script for now as I don't have any yet and it cause CI to fail --- packages/react/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/react/package.json b/packages/react/package.json index 0d707e6a..17695415 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -8,8 +8,7 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "webpack -w", - "test": "NODE_ENV=test jest" + "watch": "webpack -w" }, "repository": { "type": "git", From 809e34a6e5c00616b27573452672a24f0a5ce26a Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 23 Jun 2023 13:08:01 +0200 Subject: [PATCH 045/291] Make stack trace converter simpler by requiring only stack trace and message (#26) * sdk-core: change BacktraceStackTraceConverter to accept message and stacktrace only * browser package: change BacktraceStackTraceConverter implementations to accept stacktrace only --------- Co-authored-by: Sebastian Alex --- .../converters/JavaScriptCoreStackTraceConverter.ts | 9 +++------ .../src/converters/SpiderMonkeyStackTraceConverter.ts | 9 +++------ .../javaScriptCoreStackTraceConverterTests.spec.ts | 3 +-- .../spiderMonkeyStackTraceConverterTests.spec.ts | 4 +--- .../modules/converter/BacktraceStackTraceConverter.ts | 3 +-- .../src/modules/converter/V8StackTraceConverter.ts | 10 +++------- .../sdk-core/src/modules/data/BacktraceDataBuilder.ts | 2 +- .../tests/converters/stackTraceConverterTests.spec.ts | 6 ++++-- 8 files changed, 17 insertions(+), 29 deletions(-) diff --git a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts index cf55e345..b5f808ac 100644 --- a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts +++ b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts @@ -1,4 +1,4 @@ -import { ANONYMOUS_FUNCTION, BacktraceReport, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; +import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; @@ -7,12 +7,9 @@ export class JavaScriptCoreStackTraceConverter implements BacktraceStackTraceCon return 'JavaScriptCore'; } - public convert(report: BacktraceReport): BacktraceStackFrame[] { + public convert(stackTrace: string): BacktraceStackFrame[] { const result: BacktraceStackFrame[] = []; - if (!report.stackTrace) { - return result; - } - const stackFrames = report.stackTrace.split('\n'); + const stackFrames = stackTrace.split('\n'); for (const stackFrame of stackFrames) { const normalizedStackFrame = stackFrame.trim(); diff --git a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts index 692df455..d2bf8605 100644 --- a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts +++ b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts @@ -1,4 +1,4 @@ -import { ANONYMOUS_FUNCTION, BacktraceReport, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; +import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; @@ -9,12 +9,9 @@ export class SpiderMonkeyStackTraceConverter implements BacktraceStackTraceConve return 'SpiderMonkey'; } - public convert(report: BacktraceReport): BacktraceStackFrame[] { + public convert(stackTrace: string): BacktraceStackFrame[] { const result: BacktraceStackFrame[] = []; - if (!report.stackTrace) { - return result; - } - const stackFrames = report.stackTrace.split('\n'); + const stackFrames = stackTrace.split('\n'); for (const stackFrame of stackFrames) { const normalizedStackFrame = stackFrame.trim(); diff --git a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts index 4e94c979..d9275324 100644 --- a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts +++ b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts @@ -1,4 +1,3 @@ -import { BacktraceReport } from '@backtrace/sdk-core'; import { JavaScriptCoreStackTraceConverter } from '../../../src/converters/JavaScriptCoreStackTraceConverter'; import { javaScriptCoreStackTraceTests } from './javaScriptCoreStackTraceTestCases'; @@ -9,7 +8,7 @@ describe('Stack trace converter tests', () => { describe('Stack trace generator', () => { for (const stackTraceTest of javaScriptCoreStackTraceTests) { it(`Generator: ${stackTraceTest.name}`, () => { - const convertedStackFrames = converter.convert(stackTraceTest.test as BacktraceReport); + const convertedStackFrames = converter.convert(stackTraceTest.test.stackTrace); expect(convertedStackFrames.length).toBe(stackTraceTest.expectation.length); for (let index = 0; index < convertedStackFrames.length; index++) { diff --git a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts index 2358e449..2bbf2d97 100644 --- a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts +++ b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts @@ -1,5 +1,3 @@ -import { BacktraceReport } from '@backtrace/sdk-core'; - import { SpiderMonkeyStackTraceConverter } from '../../../src/converters/SpiderMonkeyStackTraceConverter'; import { spiderMonkeyStackTraceTests } from './spiderMonkeyStackTraceTestCases'; @@ -10,7 +8,7 @@ describe('Stack trace converter tests', () => { describe('Stack trace generator', () => { for (const stackTraceTest of spiderMonkeyStackTraceTests) { it(`Generator: ${stackTraceTest.name}`, () => { - const convertedStackFrames = converter.convert(stackTraceTest.test as BacktraceReport); + const convertedStackFrames = converter.convert(stackTraceTest.test.stackTrace); expect(convertedStackFrames.length).toBe(stackTraceTest.expectation.length); for (let index = 0; index < convertedStackFrames.length; index++) { diff --git a/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts b/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts index 226c9f87..b9b66179 100644 --- a/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts +++ b/packages/sdk-core/src/modules/converter/BacktraceStackTraceConverter.ts @@ -1,8 +1,7 @@ import { BacktraceStackFrame } from '../../model/data/BacktraceStackTrace'; import { JavaScriptEngine } from '../../model/data/JavaScriptEngine'; -import { BacktraceReport } from '../../model/report/BacktraceReport'; export interface BacktraceStackTraceConverter { get engine(): JavaScriptEngine; - convert(report: BacktraceReport): BacktraceStackFrame[]; + convert(stackTrace: string, message: string): BacktraceStackFrame[]; } diff --git a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts index b4f63c25..1d316b76 100644 --- a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts +++ b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts @@ -1,6 +1,5 @@ import { BacktraceStackFrame } from '../../model/data/BacktraceStackTrace'; import { JavaScriptEngine } from '../../model/data/JavaScriptEngine'; -import { BacktraceReport } from '../../model/report/BacktraceReport'; import { BacktraceStackTraceConverter } from './BacktraceStackTraceConverter'; import { ANONYMOUS_FUNCTION, UNKNOWN_FRAME } from './consts/frameNamesConsts'; @@ -9,13 +8,10 @@ export class V8StackTraceConverter implements BacktraceStackTraceConverter { return 'v8'; } - convert(report: BacktraceReport): BacktraceStackFrame[] { + convert(stackTrace: string, message: string): BacktraceStackFrame[] { const result: BacktraceStackFrame[] = []; - if (!report.stackTrace) { - return result; - } - let stackFrames = report.stackTrace.split('\n'); - const errorHeader = report.message.split('\n'); + let stackFrames = stackTrace.split('\n'); + const errorHeader = message.split('\n'); // remove error header from stack trace - if the error header exists if (stackFrames[0].indexOf(errorHeader[0]) !== -1) { diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index 9d327651..e0aed13f 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -34,7 +34,7 @@ export class BacktraceDataBuilder { [this.MAIN_THREAD_NAME]: { fault: true, name: this.MAIN_THREAD_NAME, - stack: this._stackTraceConverter.convert(report), + stack: this._stackTraceConverter.convert(report.stackTrace, report.message), }, }, annotations: { diff --git a/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts b/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts index d0bbe4d4..7757deae 100644 --- a/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts +++ b/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts @@ -1,4 +1,3 @@ -import { BacktraceReport } from '../../src'; import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; import { v8StackTraceTests } from './v8stackTraceTestCases'; @@ -9,7 +8,10 @@ describe('Stack trace converter tests', () => { describe('Stack trace generator', () => { for (const stackTraceTest of v8StackTraceTests) { it(`Generator: ${stackTraceTest.name}`, () => { - const convertedStackFrames = converter.convert(stackTraceTest.test as BacktraceReport); + const convertedStackFrames = converter.convert( + stackTraceTest.test.stackTrace, + stackTraceTest.test.message, + ); expect(convertedStackFrames.length).toBe(stackTraceTest.expectation.length); for (let index = 0; index < convertedStackFrames.length; index++) { From e2a45eb01054b80f67fab9d9a81a57ea6409cd14 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 23 Jun 2023 13:24:52 +0200 Subject: [PATCH 046/291] NFC: import adjustements --- packages/node/src/BacktraceNodeRequestHandler.ts | 7 ++----- packages/node/src/attachment/BacktraceBufferAttachment.ts | 2 +- packages/node/src/attachment/index.ts | 2 +- .../attributes/ApplicationInformationAttributeProvider.ts | 3 ++- .../src/attributes/ProcessInformationAttributeProvider.ts | 5 ----- 5 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 449dc1a5..2943757f 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -53,10 +53,8 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { return new Promise>((res) => { const request = httpClient.request( + url, { - hostname: url.hostname, - path: url.pathname, - port: url.port ?? 443, rejectUnauthorized: this._options.ignoreSslCertificate === true, timeout: this._timeout, method: 'POST', @@ -100,11 +98,10 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { if (typeof payload === 'string') { request.write(payload); + request.end(); } else { payload.pipe(request); } - - request.end(); }); } catch (err) { if (ConnectionError.isConnectionError(err)) { diff --git a/packages/node/src/attachment/BacktraceBufferAttachment.ts b/packages/node/src/attachment/BacktraceBufferAttachment.ts index 66ff1a24..b9e8de58 100644 --- a/packages/node/src/attachment/BacktraceBufferAttachment.ts +++ b/packages/node/src/attachment/BacktraceBufferAttachment.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '..'; +import { BacktraceAttachment } from '@backtrace/sdk-core'; export class BacktraceBufferAttachment implements BacktraceAttachment { constructor(public readonly name: string, public readonly buffer: Buffer) {} diff --git a/packages/node/src/attachment/index.ts b/packages/node/src/attachment/index.ts index 2d0a4ee4..4a9c539a 100644 --- a/packages/node/src/attachment/index.ts +++ b/packages/node/src/attachment/index.ts @@ -1,3 +1,3 @@ -export * from '@backtrace/sdk-core/lib/model/attachment'; +export { BacktraceAttachment, BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from '@backtrace/sdk-core'; export * from './BacktraceBufferAttachment'; export * from './BacktraceFileAttachment'; diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index 2bacfb61..d5fdfafe 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -1,6 +1,7 @@ import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import fs from 'fs'; import path from 'path'; +import process from 'process'; import { BacktraceConfiguration } from '../BacktraceConfiguration'; export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { @@ -8,7 +9,7 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu public readonly APPLICATION_VERSION_ATTRIBUTE = 'application.version'; private _application?: string; - private _applicationVersion?: string; + private _applicationVersion?: string = process.env.npm_package_version; public readonly applicationSearchPaths: string[]; public get type(): 'scoped' | 'dynamic' { diff --git a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts index 74de1ab1..6d779474 100644 --- a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts @@ -6,11 +6,6 @@ export class ProcessInformationAttributeProvider implements BacktraceAttributePr } public get(): Record { return { - application: process.title, - // this information is only available if someone uses npm command - // If it isn't we have to get this information in a different way - // probably by reading the package.json file or process info - 'application.version': process.env.npm_package_version, 'process.thread.count': 1, 'process.cwd': process.cwd(), pid: process.pid, From 8691a893a79029e4fc6034abde59b8dedd1af5fb Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 23 Jun 2023 13:32:05 +0200 Subject: [PATCH 047/291] Throw when package name or version is undefined --- .../src/attributes/ApplicationInformationAttributeProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index d5fdfafe..c784bea2 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -35,7 +35,7 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu this._applicationVersion = this._applicationVersion ?? (applicationData['version'] as string); } - if (!this._application && !this._applicationVersion) { + if (!this._application || !this._applicationVersion) { throw new Error( 'Cannot find information about the package. Please define application and application.version attribute', ); From c4cc602514b1c0bfa4cd7357352dd0b43012fc1b Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 27 Jun 2023 12:49:08 +0200 Subject: [PATCH 048/291] Add common code for sourcemap uploading. (#22) * sourcemap-tools: add SourceMapUploader * sourcemap-tools: add SourceMapUploader tests, fix some issues * sourcemap tools: add docs to SourceMapUploader * sourcemap tools: add option to ignore ssl certs in upload * sourcemap tools: add headers to options, use uploadUrl as param * sourcemap tools: add tests to SourceMapUploader rejects, fix non-ok error message --------- Co-authored-by: Sebastian Alex --- package-lock.json | 2003 ++++------------- tools/sourcemap-tools/package.json | 1 + .../sourcemap-tools/src/SourceMapUploader.ts | 195 ++ tools/sourcemap-tools/src/index.ts | 1 + .../tests/SourceMapUploader.spec.ts | 267 +++ .../tests/testFiles/sourcemap.js.map | 1 + 6 files changed, 935 insertions(+), 1533 deletions(-) create mode 100644 tools/sourcemap-tools/src/SourceMapUploader.ts create mode 100644 tools/sourcemap-tools/tests/SourceMapUploader.spec.ts create mode 100644 tools/sourcemap-tools/tests/testFiles/sourcemap.js.map diff --git a/package-lock.json b/package-lock.json index 5e4bfb24..6749486a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1637,18 +1637,16 @@ }, "node_modules/@webassemblyjs/helper-code-frame": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/wast-printer": "1.9.0" } }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -1657,15 +1655,13 @@ }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", @@ -1674,24 +1670,21 @@ }, "node_modules/@webassemblyjs/helper-fsm": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@webassemblyjs/helper-module-context": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0" } }, "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -1700,9 +1693,8 @@ }, "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", @@ -1794,9 +1786,8 @@ }, "node_modules/@webassemblyjs/wast-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0", @@ -1808,9 +1799,8 @@ }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -1819,21 +1809,18 @@ }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", @@ -1966,9 +1953,8 @@ }, "node_modules/ajv-errors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": ">=5.0.0" } @@ -2041,9 +2027,8 @@ }, "node_modules/aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/argparse": { "version": "2.0.1", @@ -2052,27 +2037,24 @@ }, "node_modules/arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2117,9 +2099,8 @@ }, "node_modules/array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2160,9 +2141,8 @@ }, "node_modules/asn1.js": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -2172,15 +2152,13 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/assert": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -2188,32 +2166,27 @@ }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/assert/node_modules/util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "2.0.1" } }, "node_modules/assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/async-each": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, "funding": [ { @@ -2221,6 +2194,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "optional": true }, "node_modules/asynckit": { @@ -2229,9 +2203,8 @@ }, "node_modules/atob": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, + "license": "(MIT OR Apache-2.0)", "bin": { "atob": "bin/atob.js" }, @@ -2343,9 +2316,8 @@ }, "node_modules/base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, + "license": "MIT", "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -2361,9 +2333,8 @@ }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -2373,8 +2344,6 @@ }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -2389,48 +2358,35 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=8" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, "node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -2454,15 +2410,13 @@ }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -2474,9 +2428,8 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, + "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -2485,9 +2438,8 @@ }, "node_modules/browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -2497,9 +2449,8 @@ }, "node_modules/browserify-rsa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -2507,9 +2458,8 @@ }, "node_modules/browserify-sign": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, + "license": "ISC", "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -2524,9 +2474,8 @@ }, "node_modules/browserify-sign/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2538,9 +2487,8 @@ }, "node_modules/browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, + "license": "MIT", "dependencies": { "pako": "~1.0.5" } @@ -2592,9 +2540,8 @@ }, "node_modules/buffer": { "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, + "license": "MIT", "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -2607,21 +2554,18 @@ }, "node_modules/buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cacache": { "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, + "license": "ISC", "dependencies": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -2642,9 +2586,8 @@ }, "node_modules/cacache/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2662,18 +2605,16 @@ }, "node_modules/cacache/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/cacache/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -2683,21 +2624,18 @@ }, "node_modules/cacache/node_modules/y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/cacache/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, + "license": "MIT", "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -2784,8 +2722,6 @@ }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { @@ -2793,6 +2729,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "optional": true, "dependencies": { "anymatch": "~3.1.2", @@ -2812,9 +2749,8 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "is-glob": "^4.0.1" @@ -2825,9 +2761,8 @@ }, "node_modules/chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/chrome-trace-event": { "version": "1.0.3", @@ -2852,9 +2787,8 @@ }, "node_modules/cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -2867,9 +2801,8 @@ }, "node_modules/class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, + "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -2882,9 +2815,8 @@ }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -2894,9 +2826,8 @@ }, "node_modules/class-utils/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -2906,9 +2837,8 @@ }, "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -2918,9 +2848,8 @@ }, "node_modules/class-utils/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -2930,9 +2859,8 @@ }, "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -2942,9 +2870,8 @@ }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -2956,9 +2883,8 @@ }, "node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3039,9 +2965,8 @@ }, "node_modules/collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, + "license": "MIT", "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -3087,15 +3012,13 @@ }, "node_modules/commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/component-emitter": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", @@ -3104,12 +3027,11 @@ }, "node_modules/concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -3119,15 +3041,12 @@ }, "node_modules/console-browserify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "2.0.0", @@ -3136,9 +3055,8 @@ }, "node_modules/copy-concurrently": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, + "license": "ISC", "dependencies": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -3150,9 +3068,8 @@ }, "node_modules/copy-concurrently/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3170,9 +3087,8 @@ }, "node_modules/copy-concurrently/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -3182,24 +3098,21 @@ }, "node_modules/copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/create-ecdh": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -3207,15 +3120,13 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -3226,9 +3137,8 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -3253,9 +3163,8 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, + "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -3296,9 +3205,8 @@ }, "node_modules/cyclist": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/data-urls": { "version": "3.0.2", @@ -3336,9 +3244,8 @@ }, "node_modules/decode-uri-component": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -3378,9 +3285,8 @@ }, "node_modules/define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -3398,9 +3304,8 @@ }, "node_modules/des.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -3424,9 +3329,8 @@ }, "node_modules/diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -3435,9 +3339,8 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -3463,9 +3366,8 @@ }, "node_modules/domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -3484,9 +3386,8 @@ }, "node_modules/duplexify": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -3505,9 +3406,8 @@ }, "node_modules/elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -3520,9 +3420,8 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/emittery": { "version": "0.13.1", @@ -3542,18 +3441,16 @@ }, "node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/end-of-stream": { "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.4.0" } @@ -3593,9 +3490,8 @@ }, "node_modules/errno": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, + "license": "MIT", "dependencies": { "prr": "~1.0.1" }, @@ -4093,9 +3989,8 @@ }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -4137,9 +4032,8 @@ }, "node_modules/expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -4155,18 +4049,16 @@ }, "node_modules/expand-brackets/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -4176,9 +4068,8 @@ }, "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -4188,9 +4079,8 @@ }, "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -4200,9 +4090,8 @@ }, "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -4212,9 +4101,8 @@ }, "node_modules/expand-brackets/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -4224,9 +4112,8 @@ }, "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -4236,9 +4123,8 @@ }, "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -4250,27 +4136,24 @@ }, "node_modules/expand-brackets/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/expect": { "version": "29.5.0", @@ -4289,9 +4172,8 @@ }, "node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -4302,9 +4184,8 @@ }, "node_modules/extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, + "license": "MIT", "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -4321,9 +4202,8 @@ }, "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -4333,9 +4213,8 @@ }, "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -4345,9 +4224,8 @@ }, "node_modules/extglob/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4417,9 +4295,8 @@ }, "node_modules/figgy-pudding": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/file-entry-cache": { "version": "6.0.1", @@ -4432,13 +4309,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -4452,9 +4322,8 @@ }, "node_modules/find-cache-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -4466,9 +4335,8 @@ }, "node_modules/find-cache-dir/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -4478,9 +4346,8 @@ }, "node_modules/find-cache-dir/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -4491,9 +4358,8 @@ }, "node_modules/find-cache-dir/node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -4504,9 +4370,8 @@ }, "node_modules/find-cache-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -4519,9 +4384,8 @@ }, "node_modules/find-cache-dir/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -4531,18 +4395,16 @@ }, "node_modules/find-cache-dir/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/find-cache-dir/node_modules/pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -4552,9 +4414,8 @@ }, "node_modules/find-cache-dir/node_modules/semver": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -4626,9 +4487,8 @@ }, "node_modules/flush-write-stream": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" @@ -4644,9 +4504,8 @@ }, "node_modules/for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4680,9 +4539,8 @@ }, "node_modules/fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, + "license": "MIT", "dependencies": { "map-cache": "^0.2.2" }, @@ -4692,9 +4550,8 @@ }, "node_modules/from2": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -4702,9 +4559,8 @@ }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -4717,20 +4573,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "dev": true, @@ -4827,9 +4669,8 @@ }, "node_modules/get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5039,9 +4880,8 @@ }, "node_modules/has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, + "license": "MIT", "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -5053,9 +4893,8 @@ }, "node_modules/has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -5066,9 +4905,8 @@ }, "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -5078,9 +4916,8 @@ }, "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -5090,9 +4927,8 @@ }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -5102,9 +4938,8 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -5116,9 +4951,8 @@ }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5130,9 +4964,8 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -5140,9 +4973,8 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -5180,9 +5012,8 @@ }, "node_modules/https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/https-proxy-agent": { "version": "5.0.1", @@ -5217,8 +5048,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -5233,13 +5062,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ignore": { "version": "5.2.4", @@ -5292,9 +5121,8 @@ }, "node_modules/infer-owner": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/inflight": { "version": "1.0.6", @@ -5333,9 +5161,8 @@ }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.0" }, @@ -5374,9 +5201,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "binary-extensions": "^2.0.0" @@ -5402,9 +5228,8 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-callable": { "version": "1.2.7", @@ -5430,9 +5255,8 @@ }, "node_modules/is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.0" }, @@ -5456,9 +5280,8 @@ }, "node_modules/is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -5470,9 +5293,8 @@ }, "node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -5668,27 +5490,24 @@ }, "node_modules/is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", @@ -6464,9 +6283,8 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -6481,6 +6299,12 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, "node_modules/json5": { "version": "1.0.2", "dev": true, @@ -6542,9 +6366,8 @@ }, "node_modules/loader-utils": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -6556,9 +6379,8 @@ }, "node_modules/loader-utils/node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -6580,6 +6402,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, @@ -6635,18 +6463,16 @@ }, "node_modules/map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, + "license": "MIT", "dependencies": { "object-visit": "^1.0.0" }, @@ -6656,9 +6482,8 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -6667,9 +6492,8 @@ }, "node_modules/memory-fs": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, + "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -6701,9 +6525,8 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -6714,9 +6537,8 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mime-db": { "version": "1.52.0", @@ -6745,15 +6567,13 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", @@ -6784,9 +6604,8 @@ }, "node_modules/mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -6805,9 +6624,8 @@ }, "node_modules/mixin-deep": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, + "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -6818,9 +6636,8 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -6830,9 +6647,8 @@ }, "node_modules/move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, + "license": "ISC", "dependencies": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -6844,9 +6660,8 @@ }, "node_modules/move-concurrently/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6864,9 +6679,8 @@ }, "node_modules/move-concurrently/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -6879,18 +6693,10 @@ "dev": true, "license": "MIT" }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true, - "optional": true - }, "node_modules/nanomatch": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, + "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -6930,6 +6736,21 @@ "version": "2.6.2", "license": "MIT" }, + "node_modules/nock": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.1.tgz", + "integrity": "sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" + }, + "engines": { + "node": ">= 10.13" + } + }, "node_modules/node-gyp-build": { "version": "4.6.0", "license": "MIT", @@ -6946,9 +6767,8 @@ }, "node_modules/node-libs-browser": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, + "license": "MIT", "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -6977,9 +6797,8 @@ }, "node_modules/node-libs-browser/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.12", @@ -7011,18 +6830,16 @@ }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, + "license": "MIT", "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -7034,9 +6851,8 @@ }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -7046,9 +6862,8 @@ }, "node_modules/object-copy/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -7058,9 +6873,8 @@ }, "node_modules/object-copy/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -7070,9 +6884,8 @@ }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -7084,18 +6897,16 @@ }, "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -7121,9 +6932,8 @@ }, "node_modules/object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.0" }, @@ -7150,9 +6960,8 @@ }, "node_modules/object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7216,9 +7025,8 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/p-limit": { "version": "3.1.0", @@ -7258,15 +7066,13 @@ }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "dev": true, + "license": "(MIT AND Zlib)" }, "node_modules/parallel-transform": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, + "license": "MIT", "dependencies": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -7286,9 +7092,8 @@ }, "node_modules/parse-asn1": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, + "license": "ISC", "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -7327,24 +7132,21 @@ }, "node_modules/pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-dirname": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/path-exists": { @@ -7401,9 +7203,8 @@ }, "node_modules/pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, + "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -7432,9 +7233,8 @@ }, "node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -7508,9 +7308,8 @@ }, "node_modules/posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7563,24 +7362,21 @@ }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/prompts": { "version": "2.4.2", @@ -7594,11 +7390,19 @@ "node": ">= 6" } }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/psl": { "version": "1.9.0", @@ -7607,9 +7411,8 @@ }, "node_modules/public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -7621,15 +7424,13 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -7637,9 +7438,8 @@ }, "node_modules/pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, + "license": "MIT", "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -7648,9 +7448,8 @@ }, "node_modules/pumpify/node_modules/pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -7680,9 +7479,8 @@ }, "node_modules/qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -7695,8 +7493,6 @@ }, "node_modules/querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, "engines": { "node": ">=0.4.x" @@ -7735,9 +7531,8 @@ }, "node_modules/randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, + "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -7750,9 +7545,8 @@ }, "node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7765,24 +7559,21 @@ }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/readable-stream/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "picomatch": "^2.2.1" @@ -7804,9 +7595,8 @@ }, "node_modules/regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -7833,25 +7623,22 @@ }, "node_modules/remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, + "license": "ISC", "optional": true }, "node_modules/repeat-element": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -7914,10 +7701,8 @@ }, "node_modules/resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve.exports": { "version": "2.0.2", @@ -7929,9 +7714,8 @@ }, "node_modules/ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12" } @@ -7964,9 +7748,8 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -7996,9 +7779,8 @@ }, "node_modules/run-queue": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, + "license": "ISC", "dependencies": { "aproba": "^1.1.1" } @@ -8023,9 +7805,8 @@ }, "node_modules/safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, + "license": "MIT", "dependencies": { "ret": "~0.1.10" } @@ -8109,9 +7890,8 @@ }, "node_modules/set-value": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -8124,9 +7904,8 @@ }, "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -8136,24 +7915,21 @@ }, "node_modules/set-value/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -8231,9 +8007,8 @@ }, "node_modules/snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, + "license": "MIT", "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -8250,9 +8025,8 @@ }, "node_modules/snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -8264,9 +8038,8 @@ }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -8276,9 +8049,8 @@ }, "node_modules/snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.2.0" }, @@ -8288,9 +8060,8 @@ }, "node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -8300,18 +8071,16 @@ }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -8321,9 +8090,8 @@ }, "node_modules/snapdragon/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -8333,9 +8101,8 @@ }, "node_modules/snapdragon/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -8345,9 +8112,8 @@ }, "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -8357,9 +8123,8 @@ }, "node_modules/snapdragon/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -8369,9 +8134,8 @@ }, "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -8381,9 +8145,8 @@ }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -8395,42 +8158,37 @@ }, "node_modules/snapdragon/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/snapdragon/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/source-map": { "version": "0.6.1", @@ -8441,10 +8199,8 @@ }, "node_modules/source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, + "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -8464,16 +8220,13 @@ }, "node_modules/source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^3.0.0" }, @@ -8488,9 +8241,8 @@ }, "node_modules/ssri": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, + "license": "ISC", "dependencies": { "figgy-pudding": "^3.5.1" } @@ -8516,9 +8268,8 @@ }, "node_modules/static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -8529,9 +8280,8 @@ }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -8541,9 +8291,8 @@ }, "node_modules/static-extend/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -8553,9 +8302,8 @@ }, "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -8565,9 +8313,8 @@ }, "node_modules/static-extend/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -8577,9 +8324,8 @@ }, "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -8589,9 +8335,8 @@ }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -8603,18 +8348,16 @@ }, "node_modules/static-extend/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/stream-browserify": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" @@ -8622,9 +8365,8 @@ }, "node_modules/stream-each": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -8632,9 +8374,8 @@ }, "node_modules/stream-http": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, + "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", @@ -8645,15 +8386,13 @@ }, "node_modules/stream-shift": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -8976,9 +8715,8 @@ }, "node_modules/through2": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -8986,9 +8724,8 @@ }, "node_modules/timers-browserify": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, + "license": "MIT", "dependencies": { "setimmediate": "^1.0.4" }, @@ -9003,9 +8740,8 @@ }, "node_modules/to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -9017,9 +8753,8 @@ }, "node_modules/to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9029,9 +8764,8 @@ }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -9041,9 +8775,8 @@ }, "node_modules/to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -9164,9 +8897,8 @@ "node_modules/ts-loader-webpack-4": { "name": "ts-loader", "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^4.0.0", @@ -9184,8 +8916,6 @@ }, "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -9198,9 +8928,8 @@ }, "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, + "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -9211,9 +8940,8 @@ }, "node_modules/ts-loader-webpack-4/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -9250,9 +8978,8 @@ }, "node_modules/tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/type-check": { "version": "0.4.0", @@ -9299,9 +9026,8 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/typescript": { "version": "5.0.4", @@ -9349,9 +9075,8 @@ }, "node_modules/union-value": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, + "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -9364,27 +9089,24 @@ }, "node_modules/union-value/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, + "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" } }, "node_modules/unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" } @@ -9399,9 +9121,8 @@ }, "node_modules/unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, + "license": "MIT", "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -9412,9 +9133,8 @@ }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, + "license": "MIT", "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -9426,9 +9146,8 @@ }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, + "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -9438,18 +9157,16 @@ }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=4", @@ -9493,16 +9210,13 @@ }, "node_modules/urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/url": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.0" @@ -9519,39 +9233,34 @@ }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/use": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/util": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "2.0.3" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/v8-to-istanbul": { "version": "9.1.0", @@ -9573,9 +9282,8 @@ }, "node_modules/vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", @@ -9609,9 +9317,8 @@ }, "node_modules/watchpack-chokidar2": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "chokidar": "^2.1.8" @@ -9619,9 +9326,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "micromatch": "^3.1.4", @@ -9630,9 +9336,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "remove-trailing-separator": "^1.0.1" @@ -9643,9 +9348,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9653,9 +9357,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "arr-flatten": "^1.1.0", @@ -9675,9 +9378,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-extendable": "^0.1.0" @@ -9688,10 +9390,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/chokidar": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "anymatch": "^2.0.0", @@ -9712,9 +9412,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "extend-shallow": "^2.0.1", @@ -9728,9 +9427,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-extendable": "^0.1.0" @@ -9739,30 +9437,10 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "is-glob": "^3.1.0", @@ -9771,9 +9449,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-extglob": "^2.1.0" @@ -9784,9 +9461,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "binary-extensions": "^1.0.0" @@ -9797,9 +9473,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9807,9 +9482,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "kind-of": "^3.0.2" @@ -9820,9 +9494,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-buffer": "^1.1.5" @@ -9833,9 +9506,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "arr-diff": "^4.0.0", @@ -9858,9 +9530,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "graceful-fs": "^4.1.11", @@ -9873,9 +9544,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-number": "^3.0.0", @@ -9941,9 +9611,8 @@ "node_modules/webpack-4": { "name": "webpack", "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -9990,9 +9659,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -10001,27 +9669,23 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -10031,33 +9695,29 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -10071,9 +9731,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -10084,9 +9743,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -10096,9 +9754,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", @@ -10110,9 +9767,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", @@ -10121,9 +9777,8 @@ }, "node_modules/webpack-4/node_modules/acorn": { "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -10133,9 +9788,8 @@ }, "node_modules/webpack-4/node_modules/braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "license": "MIT", "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -10154,9 +9808,8 @@ }, "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -10166,8 +9819,6 @@ }, "node_modules/webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -10180,9 +9831,8 @@ }, "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, + "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -10193,9 +9843,8 @@ }, "node_modules/webpack-4/node_modules/eslint-scope": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -10206,9 +9855,8 @@ }, "node_modules/webpack-4/node_modules/fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -10221,9 +9869,8 @@ }, "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -10233,18 +9880,16 @@ }, "node_modules/webpack-4/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/webpack-4/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -10254,9 +9899,8 @@ }, "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -10266,18 +9910,16 @@ }, "node_modules/webpack-4/node_modules/loader-runner": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" } }, "node_modules/webpack-4/node_modules/loader-utils": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -10289,9 +9931,8 @@ }, "node_modules/webpack-4/node_modules/micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -10313,9 +9954,8 @@ }, "node_modules/webpack-4/node_modules/schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -10327,27 +9967,24 @@ }, "node_modules/webpack-4/node_modules/serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/webpack-4/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-4/node_modules/terser": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -10362,9 +9999,8 @@ }, "node_modules/webpack-4/node_modules/terser-webpack-plugin": { "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, + "license": "MIT", "dependencies": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", @@ -10385,9 +10021,8 @@ }, "node_modules/webpack-4/node_modules/to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -10398,9 +10033,8 @@ }, "node_modules/webpack-4/node_modules/watchpack": { "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" @@ -10412,9 +10046,8 @@ }, "node_modules/webpack-4/node_modules/webpack": { "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -10462,9 +10095,8 @@ }, "node_modules/webpack-4/node_modules/webpack-sources": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -10552,9 +10184,8 @@ "node_modules/webpack-sources-webpack-4": { "name": "webpack-sources", "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -10654,9 +10285,8 @@ }, "node_modules/worker-farm": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, + "license": "MIT", "dependencies": { "errno": "~0.1.7" } @@ -10805,9 +10435,8 @@ }, "node_modules/xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4" } @@ -10953,6 +10582,7 @@ "devDependencies": { "@types/jest": "^29.5.1", "jest": "^29.5.0", + "nock": "^13.3.1", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, @@ -11411,6 +11041,7 @@ "requires": { "@types/jest": "^29.5.1", "jest": "^29.5.0", + "nock": "^13.3.1", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } @@ -12117,8 +11748,6 @@ }, "@webassemblyjs/helper-code-frame": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { "@webassemblyjs/wast-printer": "1.9.0" @@ -12126,8 +11755,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -12137,14 +11764,10 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -12156,14 +11779,10 @@ }, "@webassemblyjs/helper-fsm": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0" @@ -12171,8 +11790,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -12182,8 +11799,6 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true } } @@ -12268,8 +11883,6 @@ }, "@webassemblyjs/wast-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -12282,8 +11895,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -12293,20 +11904,14 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true } } @@ -12385,8 +11990,6 @@ }, "ajv-errors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, "requires": {} }, @@ -12428,8 +12031,6 @@ }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "argparse": { @@ -12438,20 +12039,14 @@ }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, "array-buffer-byte-length": { @@ -12479,8 +12074,6 @@ }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "array.prototype.flat": { @@ -12505,8 +12098,6 @@ }, "asn1.js": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -12517,16 +12108,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "assert": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -12535,14 +12122,10 @@ "dependencies": { "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", "dev": true }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "requires": { "inherits": "2.0.1" @@ -12552,14 +12135,10 @@ }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "async-each": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, "optional": true }, @@ -12568,8 +12147,6 @@ }, "atob": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "available-typed-arrays": { @@ -12642,8 +12219,6 @@ }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", @@ -12657,8 +12232,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -12668,43 +12241,23 @@ }, "base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, "bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "brace-expansion": { @@ -12724,14 +12277,10 @@ }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "^1.0.3", @@ -12744,8 +12293,6 @@ }, "browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -12755,8 +12302,6 @@ }, "browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -12767,8 +12312,6 @@ }, "browserify-rsa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { "bn.js": "^5.0.0", @@ -12777,8 +12320,6 @@ }, "browserify-sign": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", @@ -12794,8 +12335,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -12807,8 +12346,6 @@ }, "browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { "pako": "~1.0.5" @@ -12839,8 +12376,6 @@ }, "buffer": { "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -12853,20 +12388,14 @@ }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, "cacache": { "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -12888,8 +12417,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -12902,8 +12429,6 @@ }, "lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" @@ -12911,8 +12436,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -12920,22 +12443,16 @@ }, "y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -12982,8 +12499,6 @@ }, "chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "optional": true, "requires": { @@ -12999,8 +12514,6 @@ "dependencies": { "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "optional": true, "requires": { @@ -13011,8 +12524,6 @@ }, "chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { @@ -13024,8 +12535,6 @@ }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -13038,8 +12547,6 @@ }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -13050,8 +12557,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -13059,8 +12564,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -13068,8 +12571,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -13079,8 +12580,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -13088,8 +12587,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -13099,8 +12596,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -13110,8 +12605,6 @@ }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } @@ -13168,8 +12661,6 @@ }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -13202,14 +12693,10 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "component-emitter": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "concat-map": { @@ -13218,8 +12705,6 @@ }, "concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -13230,14 +12715,10 @@ }, "console-browserify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", "dev": true }, "convert-source-map": { @@ -13246,8 +12727,6 @@ }, "copy-concurrently": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -13260,8 +12739,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -13274,8 +12751,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -13285,20 +12760,14 @@ }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "create-ecdh": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -13307,16 +12776,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -13328,8 +12793,6 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "^1.0.3", @@ -13351,8 +12814,6 @@ }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "^1.0.0", @@ -13387,8 +12848,6 @@ }, "cyclist": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", "dev": true }, "data-urls": { @@ -13413,8 +12872,6 @@ }, "decode-uri-component": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "dedent": { @@ -13439,8 +12896,6 @@ }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -13452,8 +12907,6 @@ }, "des.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -13470,8 +12923,6 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -13481,8 +12932,6 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -13503,8 +12952,6 @@ }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "domexception": { @@ -13516,8 +12963,6 @@ }, "duplexify": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -13535,8 +12980,6 @@ }, "elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -13550,8 +12993,6 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -13566,14 +13007,10 @@ }, "emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "end-of-stream": { "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" @@ -13596,8 +13033,6 @@ }, "errno": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" @@ -13936,8 +13371,6 @@ }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "^1.3.4", @@ -13971,8 +13404,6 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", @@ -13986,8 +13417,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -13995,8 +13424,6 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -14004,8 +13431,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -14013,8 +13438,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -14022,8 +13445,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -14033,8 +13454,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -14042,8 +13461,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -14053,8 +13470,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -14064,20 +13479,14 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } @@ -14095,8 +13504,6 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -14105,8 +13512,6 @@ }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", @@ -14121,8 +13526,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -14130,8 +13533,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -14139,8 +13540,6 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } @@ -14195,8 +13594,6 @@ }, "figgy-pudding": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "file-entry-cache": { @@ -14206,13 +13603,6 @@ "flat-cache": "^3.0.4" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, "fill-range": { "version": "7.0.1", "dev": true, @@ -14222,8 +13612,6 @@ }, "find-cache-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -14233,8 +13621,6 @@ "dependencies": { "find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" @@ -14242,8 +13628,6 @@ }, "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", @@ -14252,8 +13636,6 @@ }, "make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { "pify": "^4.0.1", @@ -14262,8 +13644,6 @@ }, "p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -14271,8 +13651,6 @@ }, "p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" @@ -14280,14 +13658,10 @@ }, "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true }, "pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { "find-up": "^3.0.0" @@ -14295,8 +13669,6 @@ }, "semver": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -14344,8 +13716,6 @@ }, "flush-write-stream": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -14361,8 +13731,6 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, "foreground-child": { @@ -14383,8 +13751,6 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -14392,8 +13758,6 @@ }, "from2": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -14402,8 +13766,6 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -14416,13 +13778,6 @@ "version": "1.0.0", "dev": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1", "dev": true @@ -14477,8 +13832,6 @@ }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "glob": { @@ -14600,8 +13953,6 @@ }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", @@ -14611,8 +13962,6 @@ }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -14621,8 +13970,6 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -14630,8 +13977,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -14641,8 +13986,6 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -14652,8 +13995,6 @@ }, "hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { "inherits": "^2.0.4", @@ -14663,8 +14004,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -14676,8 +14015,6 @@ }, "hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -14686,8 +14023,6 @@ }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "requires": { "hash.js": "^1.0.3", @@ -14717,8 +14052,6 @@ }, "https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, "https-proxy-agent": { @@ -14742,14 +14075,10 @@ }, "ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, "ignore": { @@ -14778,8 +14107,6 @@ }, "infer-owner": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflight": { @@ -14809,8 +14136,6 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -14838,8 +14163,6 @@ }, "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "optional": true, "requires": { @@ -14856,8 +14179,6 @@ }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-callable": { @@ -14873,8 +14194,6 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -14889,8 +14208,6 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -14900,8 +14217,6 @@ }, "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -15009,20 +14324,14 @@ }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "is-wsl": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { @@ -15556,8 +14865,6 @@ }, "json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-parse-even-better-errors": { @@ -15570,6 +14877,12 @@ "version": "1.0.1", "dev": true }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, "json5": { "version": "1.0.2", "dev": true, @@ -15606,8 +14919,6 @@ }, "loader-utils": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -15617,8 +14928,6 @@ "dependencies": { "json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true } } @@ -15630,6 +14939,12 @@ "p-locate": "^5.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "dev": true @@ -15668,14 +14983,10 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -15683,8 +14994,6 @@ }, "md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -15694,8 +15003,6 @@ }, "memory-fs": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "requires": { "errno": "^0.1.3", @@ -15719,8 +15026,6 @@ }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -15729,8 +15034,6 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -15750,14 +15053,10 @@ }, "minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, "minimatch": { @@ -15777,8 +15076,6 @@ }, "mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -15795,8 +15092,6 @@ }, "mixin-deep": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -15805,8 +15100,6 @@ }, "mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { "minimist": "^1.2.6" @@ -15814,8 +15107,6 @@ }, "move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -15828,8 +15119,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -15842,8 +15131,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -15855,17 +15142,8 @@ "version": "2.1.2", "dev": true }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true, - "optional": true - }, "nanomatch": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -15898,6 +15176,18 @@ "neo-async": { "version": "2.6.2" }, + "nock": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.1.tgz", + "integrity": "sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" + } + }, "node-gyp-build": { "version": "4.6.0" }, @@ -15907,8 +15197,6 @@ }, "node-libs-browser": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -15938,8 +15226,6 @@ "dependencies": { "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true } } @@ -15964,14 +15250,10 @@ }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -15981,8 +15263,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -15990,8 +15270,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -15999,8 +15277,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -16008,8 +15284,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -16019,16 +15293,12 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -16046,8 +15316,6 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" @@ -16065,8 +15333,6 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -16109,8 +15375,6 @@ }, "os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, "p-limit": { @@ -16133,14 +15397,10 @@ }, "pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { "cyclist": "^1.0.1", @@ -16157,8 +15417,6 @@ }, "parse-asn1": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", @@ -16187,20 +15445,14 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, "optional": true }, @@ -16234,8 +15486,6 @@ }, "pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -16254,8 +15504,6 @@ }, "pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pirates": { @@ -16302,8 +15550,6 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "prelude-ls": { @@ -16331,20 +15577,14 @@ }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "prompts": { @@ -16355,10 +15595,14 @@ "sisteransi": "^1.0.5" } }, + "propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true + }, "prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "psl": { @@ -16367,8 +15611,6 @@ }, "public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -16381,16 +15623,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -16399,8 +15637,6 @@ }, "pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -16410,8 +15646,6 @@ "dependencies": { "pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -16429,8 +15663,6 @@ }, "qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -16438,8 +15670,6 @@ }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "querystringify": { @@ -16458,8 +15688,6 @@ }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -16472,8 +15700,6 @@ }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -16487,14 +15713,10 @@ "dependencies": { "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -16504,8 +15726,6 @@ }, "readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "optional": true, "requires": { @@ -16521,8 +15741,6 @@ }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -16540,21 +15758,15 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, "optional": true }, "repeat-element": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { @@ -16593,8 +15805,6 @@ }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "resolve.exports": { @@ -16603,8 +15813,6 @@ }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "reusify": { @@ -16620,8 +15828,6 @@ }, "ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -16637,8 +15843,6 @@ }, "run-queue": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" @@ -16649,8 +15853,6 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" @@ -16708,8 +15910,6 @@ }, "set-value": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -16720,8 +15920,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -16729,22 +15927,16 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -16792,8 +15984,6 @@ }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -16808,8 +15998,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -16817,8 +16005,6 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -16826,8 +16012,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -16835,8 +16019,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -16844,8 +16026,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -16855,8 +16035,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -16864,8 +16042,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -16875,8 +16051,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -16886,34 +16060,24 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -16923,8 +16087,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -16934,8 +16096,6 @@ }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -16943,8 +16103,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -16954,8 +16112,6 @@ }, "source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { @@ -16963,8 +16119,6 @@ }, "source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", @@ -16984,14 +16138,10 @@ }, "source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -17003,8 +16153,6 @@ }, "ssri": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -17025,8 +16173,6 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -17035,8 +16181,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -17044,8 +16188,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -17053,8 +16195,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -17064,8 +16204,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -17073,8 +16211,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -17084,8 +16220,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -17095,16 +16229,12 @@ }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "stream-browserify": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", @@ -17113,8 +16243,6 @@ }, "stream-each": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -17123,8 +16251,6 @@ }, "stream-http": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -17136,14 +16262,10 @@ }, "stream-shift": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { "safe-buffer": "~5.2.0" @@ -17338,8 +16460,6 @@ }, "through2": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", @@ -17348,8 +16468,6 @@ }, "timers-browserify": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -17361,8 +16479,6 @@ }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-fast-properties": { @@ -17371,8 +16487,6 @@ }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -17380,8 +16494,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -17391,8 +16503,6 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -17457,8 +16567,6 @@ }, "ts-loader-webpack-4": { "version": "npm:ts-loader@8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -17470,8 +16578,6 @@ "dependencies": { "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -17481,8 +16587,6 @@ }, "memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -17491,8 +16595,6 @@ }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true } } @@ -17520,8 +16622,6 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { @@ -17550,8 +16650,6 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "typescript": { @@ -17575,8 +16673,6 @@ }, "union-value": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -17587,16 +16683,12 @@ "dependencies": { "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -17604,8 +16696,6 @@ }, "unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -17617,8 +16707,6 @@ }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -17627,8 +16715,6 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -17638,8 +16724,6 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -17649,16 +16733,12 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true } } }, "upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "optional": true }, @@ -17677,14 +16757,10 @@ }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "url": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -17693,8 +16769,6 @@ "dependencies": { "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true } } @@ -17709,14 +16783,10 @@ }, "use": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "util": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -17724,16 +16794,12 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "v8-to-istanbul": { @@ -17753,8 +16819,6 @@ }, "vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "w3c-xmlserializer": { @@ -17780,8 +16844,6 @@ }, "watchpack-chokidar2": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -17790,8 +16852,6 @@ "dependencies": { "anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { @@ -17801,8 +16861,6 @@ "dependencies": { "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "optional": true, "requires": { @@ -17813,15 +16871,11 @@ }, "binary-extensions": { "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { @@ -17839,8 +16893,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -17851,8 +16903,6 @@ }, "chokidar": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { @@ -17872,8 +16922,6 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "optional": true, "requires": { @@ -17885,8 +16933,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -17895,21 +16941,8 @@ } } }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "optional": true, "requires": { @@ -17919,8 +16952,6 @@ "dependencies": { "is-glob": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "optional": true, "requires": { @@ -17931,8 +16962,6 @@ }, "is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "optional": true, "requires": { @@ -17941,15 +16970,11 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "optional": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "optional": true, "requires": { @@ -17958,8 +16983,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "optional": true, "requires": { @@ -17970,8 +16993,6 @@ }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { @@ -17992,8 +17013,6 @@ }, "readdirp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { @@ -18004,8 +17023,6 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "optional": true, "requires": { @@ -18050,8 +17067,6 @@ }, "webpack-4": { "version": "npm:webpack@4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18081,8 +17096,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -18092,26 +17105,18 @@ }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18122,8 +17127,6 @@ }, "@webassemblyjs/ieee754": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -18131,8 +17134,6 @@ }, "@webassemblyjs/leb128": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -18140,14 +17141,10 @@ }, "@webassemblyjs/utf8": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18162,8 +17159,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18175,8 +17170,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18187,8 +17180,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18201,8 +17192,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -18212,14 +17201,10 @@ }, "acorn": { "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -18236,8 +17221,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -18247,8 +17230,6 @@ }, "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -18258,8 +17239,6 @@ "dependencies": { "memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -18270,8 +17249,6 @@ }, "eslint-scope": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -18280,8 +17257,6 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -18292,8 +17267,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -18303,14 +17276,10 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -18318,8 +17287,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -18329,14 +17296,10 @@ }, "loader-runner": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -18346,8 +17309,6 @@ }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -18367,8 +17328,6 @@ }, "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -18378,8 +17337,6 @@ }, "serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -18387,14 +17344,10 @@ }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "terser": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -18404,8 +17357,6 @@ }, "terser-webpack-plugin": { "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", @@ -18421,8 +17372,6 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -18431,8 +17380,6 @@ }, "watchpack": { "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", @@ -18443,8 +17390,6 @@ }, "webpack": { "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "peer": true, "requires": { @@ -18475,8 +17420,6 @@ }, "webpack-sources": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -18527,8 +17470,6 @@ }, "webpack-sources-webpack-4": { "version": "npm:webpack-sources@1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -18594,8 +17535,6 @@ }, "worker-farm": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -18684,8 +17623,6 @@ }, "xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 0a626bb0..d1c9db50 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -39,6 +39,7 @@ "devDependencies": { "@types/jest": "^29.5.1", "jest": "^29.5.0", + "nock": "^13.3.1", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } diff --git a/tools/sourcemap-tools/src/SourceMapUploader.ts b/tools/sourcemap-tools/src/SourceMapUploader.ts new file mode 100644 index 00000000..a30f627e --- /dev/null +++ b/tools/sourcemap-tools/src/SourceMapUploader.ts @@ -0,0 +1,195 @@ +import crypto from 'crypto'; +import fs from 'fs'; +import http from 'http'; +import https from 'https'; +import { Readable } from 'stream'; +import { SOURCEMAP_DEBUG_ID_KEY } from './DebugIdGenerator'; + +export const DEBUG_ID_QUERY = 'symbolication_id'; + +interface Sourcemap { + version: number; + [SOURCEMAP_DEBUG_ID_KEY]?: string; +} + +interface UploadResponse { + response: 'ok' | string; + _rxid: string; +} + +export interface UploadResult { + rxid: string; + debugId: string; +} + +export interface SourceMapUploaderOptions { + ignoreSsl?: boolean; + headers?: http.OutgoingHttpHeaders; +} + +/** + * Class responsible for uploading source maps to Backtrace. + * + * Expects symbol upload responses. + */ +export class SourceMapUploader { + private readonly _url: URL; + + constructor(url: string | URL, private readonly _options?: SourceMapUploaderOptions) { + this._url = new URL(url); + } + + /** + * Uploads the sourcemap to Backtrace from stream. The sourcemap will be parsed from JSON. + * @param fileStream File stream to use. + * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. + * If not available, a random one will be generated. + */ + public async upload(fileStream: Readable, debugId?: string): Promise; + /** + * Uploads the sourcemap to Backtrace from file. The sourcemap will be parsed from JSON. + * @param filePath File path to use. + * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. + * If not available, a random one will be generated. + */ + public async upload(filePath: string, debugId?: string): Promise; + public async upload(pathOrStream: string | Readable, debugId?: string): Promise { + if (typeof pathOrStream === 'string') { + pathOrStream = fs.createReadStream(pathOrStream); + } + + const content = await this.readStreamToEnd(pathOrStream); + const sourcemap = JSON.parse(content.toString('utf-8')); + + pathOrStream.destroy(); + + return this.uploadSourcemap(sourcemap, debugId); + } + + /** + * Uploads the sourcemap to Backtrace from string. The sourcemap will be parsed from JSON. + * @param content Sourcemap JSON string. + * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. + * If not available, a random one will be generated. + */ + public async uploadContent(content: string, debugId?: string): Promise; + /** + * Uploads the sourcemap to Backtrace. + * @param content Sourcemap JSON object. + * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. + * If not available, a random one will be generated. + */ + public async uploadContent(content: object, debugId?: string): Promise; + public uploadContent(content: string | object, debugId?: string): Promise { + if (typeof content === 'string') { + content = JSON.parse(content) as object; + } + + return this.uploadSourcemap(content, debugId); + } + + private async uploadSourcemap(sourcemap: unknown, debugId?: string): Promise { + this.assertValidSourcemap(sourcemap); + + if (!debugId) { + debugId = sourcemap[SOURCEMAP_DEBUG_ID_KEY]; + + if (!debugId) { + debugId = crypto.randomUUID(); + console.warn(`Sourcemap does not have a debug ID. Using ${debugId}`); + } + } + + const uploadUrl = this.buildUploadUrl(debugId); + const protocol = uploadUrl.protocol === 'https:' ? https : http; + + return new Promise((resolve, reject) => { + const request = protocol.request( + uploadUrl, + { + method: 'POST', + rejectUnauthorized: !this._options?.ignoreSsl, + headers: this._options?.headers, + }, + (response) => { + if (!response.statusCode) { + return reject(new Error('Failed to upload sourcemap: failed to make the request.')); + } + + const data: Buffer[] = []; + response.on('data', (chunk) => { + data.push(chunk); + }); + + response.on('end', () => { + const rawResponse = Buffer.concat(data).toString('utf-8'); + if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) { + return reject( + new Error( + `Failed to upload sourcemap: ${response.statusCode}. Response data: ${rawResponse}`, + ), + ); + } + + try { + const responseData = JSON.parse(rawResponse) as UploadResponse; + if (responseData.response === 'ok') { + return resolve({ + debugId: debugId as string, + rxid: responseData._rxid, + }); + } else { + return reject(new Error(`Non-OK response received from Coroner: ${rawResponse}`)); + } + } catch (err) { + return reject(new Error(`Cannot parse response from Coroner: ${rawResponse}`)); + } + }); + }, + ); + + request.on('error', reject); + request.write(JSON.stringify(sourcemap)); + + request.end(); + }); + } + + private assertValidSourcemap(value: unknown): asserts value is Sourcemap { + if (typeof value !== 'object') { + throw new Error('Sourcemap must be an object.'); + } + + if (!value) { + throw new Error('Sourcemap must not be null.'); + } + + const sourcemap = value as Partial; + if (!sourcemap.version) { + throw new Error('Sourcemap object does not have a version.'); + } + } + + private async readStreamToEnd(stream: Readable): Promise { + return new Promise((resolve, reject) => { + stream.on('error', reject); + + const chunks: Buffer[] = []; + stream.on('data', (chunk) => chunks.push(chunk)); + stream.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + }); + } + + private buildUploadUrl(debugId: string) { + const url = new URL(this._url); + + const existing = url.searchParams.get(DEBUG_ID_QUERY); + if (!existing || existing === 'SYMBOLICATION_ID' || existing === 'DEBUG_ID') { + url.searchParams.set(DEBUG_ID_QUERY, debugId); + } + + return url; + } +} diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index e162951e..38f6927b 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,2 +1,3 @@ export * from './ContentAppender'; export * from './DebugIdGenerator'; +export * from './SourceMapUploader'; diff --git a/tools/sourcemap-tools/tests/SourceMapUploader.spec.ts b/tools/sourcemap-tools/tests/SourceMapUploader.spec.ts new file mode 100644 index 00000000..c6b81b2b --- /dev/null +++ b/tools/sourcemap-tools/tests/SourceMapUploader.spec.ts @@ -0,0 +1,267 @@ +import { fail } from 'assert'; +import crypto from 'crypto'; +import fs from 'fs'; +import nock from 'nock'; +import path from 'path'; +import { SOURCEMAP_DEBUG_ID_KEY } from '../src/DebugIdGenerator'; +import { DEBUG_ID_QUERY, SourceMapUploader } from '../src/SourceMapUploader'; + +describe('SourceMapUploader', () => { + function getSourcemap(debugId?: string | null) { + const sourcemap: Record = { + version: 3, + }; + + if (debugId !== null) { + sourcemap[SOURCEMAP_DEBUG_ID_KEY] = debugId ?? crypto.randomUUID(); + } + + return sourcemap; + } + + it('should POST to https URL', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should POST to http URL', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should upload object sourcemap as POST body', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/', JSON.stringify(sourcemap)) + .query(true) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should upload string sourcemap as POST body', async () => { + const sourcemap = JSON.stringify(getSourcemap()); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/', sourcemap) + .query(true) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should upload file sourcemap as POST body', async () => { + const sourcemapPath = path.join(__dirname, './testFiles/sourcemap.js.map'); + const sourcemap = await fs.promises.readFile(sourcemapPath, 'utf-8'); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/', sourcemap) + .query(true) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.upload(sourcemapPath); + + scope.done(); + }); + + it('should upload stream sourcemap as POST body', async () => { + const sourcemapPath = path.join(__dirname, './testFiles/sourcemap.js.map'); + const sourcemap = await fs.promises.readFile(sourcemapPath, 'utf-8'); + const stream = fs.createReadStream(sourcemapPath); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/', sourcemap) + .query(true) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.upload(stream); + + scope.done(); + }); + + it('should return rxid in response', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`http://upload-test/`); + const expected = crypto.randomUUID(); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: expected }); + + const uploader = new SourceMapUploader(uploadUrl); + const response = await uploader.uploadContent(sourcemap); + + scope.done(); + + expect(response.rxid).toEqual(expected); + }); + + it('should return debugId in response', async () => { + const expected = crypto.randomUUID(); + const sourcemap = getSourcemap(expected); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + const response = await uploader.uploadContent(sourcemap); + + scope.done(); + + expect(response.debugId).toEqual(expected); + }); + + it('should use passed debugId in query', async () => { + const expected = crypto.randomUUID(); + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`http://upload-test/?${DEBUG_ID_QUERY}=${expected}`); + + const scope = nock(uploadUrl.origin) + .post('/') + .query({ [DEBUG_ID_QUERY]: expected }) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should use debugId from sourcemap in query', async () => { + const expected = crypto.randomUUID(); + const sourcemap = getSourcemap(expected); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/') + .query({ [DEBUG_ID_QUERY]: expected }) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should generate debugId randomly when it is not passed anywhere', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/') + .query({ [DEBUG_ID_QUERY]: /[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/ }) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SourceMapUploader(uploadUrl); + await uploader.uploadContent(sourcemap); + + scope.done(); + }); + + it('should throw on non 2xx HTTP response', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(400); + + const uploader = new SourceMapUploader(uploadUrl); + await expect(() => uploader.uploadContent(sourcemap)).rejects.toThrow(); + + scope.done(); + }); + + it('should throw on non 2xx HTTP response with response data', async () => { + const expected = 'RESPONSE FROM SERVER'; + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(400, expected); + + const uploader = new SourceMapUploader(uploadUrl); + try { + await uploader.uploadContent(sourcemap); + fail(); + } catch (err) { + expect((err as Error).message).toContain(expected); + } + + scope.done(); + }); + + it('should throw on response with response not equal to "ok"', async () => { + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'not-ok', _rxid: 'rxid' }); + const uploader = new SourceMapUploader(uploadUrl); + await expect(() => uploader.uploadContent(sourcemap)).rejects.toThrow(); + + scope.done(); + }); + + it('should throw on response with response not equal to "ok" with response data', async () => { + const expected = JSON.stringify({ response: 'not-ok', _rxid: 'rxid' }); + const sourcemap = getSourcemap(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, expected); + const uploader = new SourceMapUploader(uploadUrl); + try { + await uploader.uploadContent(sourcemap); + fail(); + } catch (err) { + expect((err as Error).message).toContain(expected); + } + + scope.done(); + }); + + it('should throw on sourcemap without version', async () => { + const sourcemap = getSourcemap(); + delete sourcemap['version']; + + const uploader = new SourceMapUploader(new URL(`https://upload-test/`)); + await expect(() => uploader.uploadContent(sourcemap)).rejects.toThrow(); + }); + + it('should throw if passed sourcemap is not an object', async () => { + const sourcemap = getSourcemap(); + delete sourcemap['version']; + + const uploader = new SourceMapUploader(new URL(`https://upload-test/`)); + await expect(() => uploader.uploadContent('123')).rejects.toThrow(); + }); + + it('should throw if passed sourcemap is null', async () => { + const sourcemap = getSourcemap(); + delete sourcemap['version']; + + const uploader = new SourceMapUploader(new URL(`https://upload-test/`)); + await expect(() => uploader.uploadContent('null')).rejects.toThrow(); + }); +}); diff --git a/tools/sourcemap-tools/tests/testFiles/sourcemap.js.map b/tools/sourcemap-tools/tests/testFiles/sourcemap.js.map new file mode 100644 index 00000000..6d5815f8 --- /dev/null +++ b/tools/sourcemap-tools/tests/testFiles/sourcemap.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./tests/e2e/single-input-single-output/input/index.ts","webpack:///./tests/e2e/single-input-single-output/input/dependency.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","dependency_1","console","log","doSomething"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,+BCjFrDrB,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,IACtD,MAAMe,EAAe,EAAQ,GAC7BC,QAAQC,IAAI,iBACZ,EAAIF,EAAaG,gB,6BCHjBzB,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,IACtDnB,EAAQqC,iBAAc,EAItBrC,EAAQqC,YAHR,WACIF,QAAQC,IAAI","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst dependency_1 = require(\"./dependency\");\nconsole.log('Hello World!');\n(0, dependency_1.doSomething)();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.doSomething = void 0;\nfunction doSomething() {\n console.log('Done something');\n}\nexports.doSomething = doSomething;\n"],"sourceRoot":"","debugId":"251a0026-7fbb-43a3-bce6-690dad9f8d58"} \ No newline at end of file From a3ee200a251d55695a4d3333dd47d537921f2d65 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 27 Jun 2023 16:43:34 +0200 Subject: [PATCH 049/291] Node.js example (#27) * Node.js example --- .vscode/launch.json | 17 +++++++ examples/sdk/node/package-lock.json | 40 ++++++++++++++++ examples/sdk/node/package.json | 39 ++++++++++++++++ examples/sdk/node/src/consts.ts | 2 + examples/sdk/node/src/index.ts | 72 +++++++++++++++++++++++++++++ examples/sdk/node/tsconfig.json | 13 ++++++ package.json | 3 +- packages/node/samplefile.txt | 1 + packages/node/tsconfig.json | 3 +- tsconfig.json | 2 +- 10 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 examples/sdk/node/package-lock.json create mode 100644 examples/sdk/node/package.json create mode 100644 examples/sdk/node/src/consts.ts create mode 100644 examples/sdk/node/src/index.ts create mode 100644 examples/sdk/node/tsconfig.json create mode 100644 packages/node/samplefile.txt diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..6b3bddb5 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + "version": "0.1.0", + "configurations": [ + { + "name": "Launch", + "program": "${workspaceFolder}/examples/sdk/node/lib/index.js", + "request": "launch", + "localRoot": "${workspaceFolder}", + "remoteRoot": "${workspaceFolder}", + "skipFiles": ["/**", "${workspaceFolder}/node_modules/tslib/**/*.js"], + "outFiles": ["${workspaceFolder}/examples/sdk/node/lib/**/*.js"], + "sourceMaps": true, + "type": "pwa-node", + "console": "integratedTerminal" + } + ] +} diff --git a/examples/sdk/node/package-lock.json b/examples/sdk/node/package-lock.json new file mode 100644 index 00000000..0177be83 --- /dev/null +++ b/examples/sdk/node/package-lock.json @@ -0,0 +1,40 @@ +{ + "name": "@backtrace/node-example", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace/node-example", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "typescript": "^5.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/typescript": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + } + }, + "dependencies": { + "typescript": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "dev": true + } + } +} diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json new file mode 100644 index 00000000..e34f07fe --- /dev/null +++ b/examples/sdk/node/package.json @@ -0,0 +1,39 @@ +{ + "name": "@backtrace/node-example", + "version": "1.0.0", + "description": "@backtrace/node example", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc", + "clean": "rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "typescript": "^5.1.3" + } +} diff --git a/examples/sdk/node/src/consts.ts b/examples/sdk/node/src/consts.ts new file mode 100644 index 00000000..dd29bab4 --- /dev/null +++ b/examples/sdk/node/src/consts.ts @@ -0,0 +1,2 @@ +export const SUBMISSION_URL = + 'https://submit.backtrace.io/your-universe/0000000000000000000000000000000000000000000000000000000000000000/json'; diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts new file mode 100644 index 00000000..e4f38078 --- /dev/null +++ b/examples/sdk/node/src/index.ts @@ -0,0 +1,72 @@ +import { BacktraceClient } from '@backtrace/node'; +import fs from 'fs'; +import path from 'path'; +import { exit } from 'process'; +import readline from 'readline'; +import { SUBMISSION_URL } from './consts'; +const reader = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}); + +const client = BacktraceClient.builder({ + url: SUBMISSION_URL, + attachments: [path.join(path.dirname(process.cwd()), 'samplefile.txt')], + rateLimit: 5, + userAttributes: { + 'custom-attribute': 'test', + 'custom-annotation': { + prop1: true, + prop2: 123, + }, + }, +}).build(); + +console.log('Welcome to the @Backtrace/node demo'); + +async function sendHandledException(attributes: Record) { + console.log('Sending an error to Backtrace'); + try { + fs.readFileSync('/path/to/not/existing/file'); + } catch (err) { + await client.send(err as Error, attributes); + } +} + +async function sendMessage(message: string, attributes: Record) { + console.log('Sending a text message to Backtrace'); + await client.send(message, attributes); +} + +function showMenu() { + const menu = + `Please pick one of available options:` + + `1. Send an exception` + + `2. Send a message` + + `0. Exit` + + `Type the option number:`; + reader.question(menu, async function executeUserOption(optionString: string) { + const option = parseInt(optionString); + + const attributes = { selectedOption: option }; + + switch (option) { + case 1: { + return await sendHandledException(attributes); + } + case 2: { + return await sendMessage('test message', attributes); + } + case 0: { + reader.close(); + return exit(0); + } + default: { + console.log('Selected invalid option. Please try again.'); + } + } + return showMenu(); + }); +} + +showMenu(); diff --git a/examples/sdk/node/tsconfig.json b/examples/sdk/node/tsconfig.json new file mode 100644 index 00000000..688a3eb7 --- /dev/null +++ b/examples/sdk/node/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "exclude": ["node_modules", "tests", "lib"], + "references": [ + { + "path": "../../../packages/node/tsconfig.json" + } + ] +} diff --git a/package.json b/package.json index 16eba8fe..c6ed3774 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ }, "workspaces": [ "packages/*", - "tools/*" + "tools/*", + "examples/*" ], "repository": { "type": "git", diff --git a/packages/node/samplefile.txt b/packages/node/samplefile.txt new file mode 100644 index 00000000..6a537b5b --- /dev/null +++ b/packages/node/samplefile.txt @@ -0,0 +1 @@ +1234567890 \ No newline at end of file diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json index 42e1d91e..c93b0f5b 100644 --- a/packages/node/tsconfig.json +++ b/packages/node/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "outDir": "./lib", - "rootDir": "./src" + "rootDir": "./src", + "composite": true }, "exclude": ["node_modules", "tests", "lib"], "references": [ diff --git a/tsconfig.json b/tsconfig.json index 7c24632e..4030b6ff 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "./tsconfig.base.json", - "include": ["packages/**/*"], + "include": [], "exclude": ["./test", "./lib"], "references": [ { From 436f991596634dec762dfced37b01724aef1f3ce Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 27 Jun 2023 17:13:35 +0200 Subject: [PATCH 050/291] Browser adjustements (#30) Browser adjustements --- examples/sdk/browser/index.css | 129 + examples/sdk/browser/index.html | 76 + examples/sdk/browser/package-lock.json | 2682 +++++++++++++++++ examples/sdk/browser/package.json | 44 + examples/sdk/browser/src/consts.ts | 2 + examples/sdk/browser/src/index.ts | 44 + examples/sdk/browser/tsconfig.json | 8 + examples/sdk/browser/webpack.config.js | 15 + .../src/BacktraceBrowserRequestHandler.ts | 2 +- ...ApplicationInformationAttributeProvider.ts | 29 + .../src/builder/BacktraceClientBuilder.ts | 8 +- 11 files changed, 3035 insertions(+), 4 deletions(-) create mode 100644 examples/sdk/browser/index.css create mode 100644 examples/sdk/browser/index.html create mode 100644 examples/sdk/browser/package-lock.json create mode 100644 examples/sdk/browser/package.json create mode 100644 examples/sdk/browser/src/consts.ts create mode 100644 examples/sdk/browser/src/index.ts create mode 100644 examples/sdk/browser/tsconfig.json create mode 100644 examples/sdk/browser/webpack.config.js create mode 100644 packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts diff --git a/examples/sdk/browser/index.css b/examples/sdk/browser/index.css new file mode 100644 index 00000000..e9f19055 --- /dev/null +++ b/examples/sdk/browser/index.css @@ -0,0 +1,129 @@ +.card { + padding: 40px; + background-color: white; + width: 30%; +} + +.center { + display: block; + margin: 0 auto; +} + +.action-container { + width: 50%; + padding: 20px; +} + +.card-header { + font-family: 'DM Sans', Arial, sans-serif; + font-size: 22px; + color: #2d2d2d; + text-align: center; + line-height: 120%; + margin-bottom: 24px; +} +.footer { + width: 30%; + padding: 40px; + text-align: center; +} +p { + font-family: 'DM Sans', Arial, sans-serif; + font-weight: 300; + font-size: 15px; +} + +.action-button { + cursor: pointer; + background-color: #3ddc91; + padding: 12px 35px; + border-radius: 50px; + margin-bottom: 5px; + width: 40%; + text-align: center; +} +.action-button a { + color: #132322; + font-family: 'DM Sans', Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: 600; + font-style: normal; + line-height: 20px; + text-decoration: none; + display: block; +} + +img { + -ms-interpolation-mode: bicubic; + border: 0; +} + +p, +a, +li, +td, +blockquote { + mso-line-height-rule: exactly; +} + +p, +a, +li, +td, +body, +table, +blockquote { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +/*------ Reset Style ------ */ +* { + -webkit-text-size-adjust: none; + -webkit-text-resize: 100%; + text-resize: 100%; +} + +table { + border-spacing: 0 2px !important; +} + +h1, +h2, +h3, +h4, +h5, +h6, +p { + display: block; + margin: 0; + padding: 0; + color: #1e2127; +} + +img, +a img { + border: 0; + height: auto; + outline: none; + text-decoration: none; +} + +body { + height: 100%; + margin: 0; + padding: 0; + width: 100%; +} + +.footerAddressInfo { + color: #1e2127; + font-family: 'DM Sans', Arial, sans-serif; + font-size: 16px; + margin-top: 16px; + margin-bottom: 8px; +} +/*------ Google Font Style ------ */ +[style*='DM Sans'] { + font-family: 'DM Sans', Helvetica, Arial, sans-serif !important; +} diff --git a/examples/sdk/browser/index.html b/examples/sdk/browser/index.html new file mode 100644 index 00000000..c98a9ee4 --- /dev/null +++ b/examples/sdk/browser/index.html @@ -0,0 +1,76 @@ + + + + + + + + + + + +
+ + Sauce Labs + + +
+

Welcome to the Backtrace demo

+

Please pick one of the available options:

+
+ +
+

If you have any questions or concerns, please contact us at

+ help@saucelabs.com. +
+
+

Happy testing,

+

The Sauce Labs Team

+
+
+ + + diff --git a/examples/sdk/browser/package-lock.json b/examples/sdk/browser/package-lock.json new file mode 100644 index 00000000..74835e4a --- /dev/null +++ b/examples/sdk/browser/package-lock.json @@ -0,0 +1,2682 @@ +{ + "name": "@backtrace/browser-example", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace/browser-example", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@backtrace/browser": "file:../../../packages/browser" + }, + "devDependencies": { + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "../../../packages/browser": { + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sdk-core": "^0.0.1", + "ua-parser-js": "^1.0.35" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "node_modules/@backtrace/browser": { + "resolved": "../../../packages/browser", + "link": true + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@types/eslint": { + "version": "8.40.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", + "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", + "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001508", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", + "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.440", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz", + "integrity": "sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", + "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", + "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", + "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/typescript": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.88.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", + "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + }, + "dependencies": { + "@backtrace/browser": { + "version": "file:../../../packages/browser", + "requires": { + "@backtrace/sdk-core": "^0.0.1", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@types/eslint": { + "version": "8.40.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", + "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/node": { + "version": "20.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", + "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001508", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", + "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "electron-to-chromium": { + "version": "1.4.440", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz", + "integrity": "sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", + "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", + "dev": true + }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", + "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-loader": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", + "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "typescript": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.88.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", + "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json new file mode 100644 index 00000000..4866a0b7 --- /dev/null +++ b/examples/sdk/browser/package.json @@ -0,0 +1,44 @@ +{ + "name": "@backtrace/browser-example", + "version": "1.0.0", + "description": "Backtrace-JavaScript web browser integration", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "browser": "lib/index.js", + "scripts": { + "build": "webpack", + "clean": "rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "webpack -w", + "test": "NODE_ENV=test jest" + }, + "repository": { + "type": "git", + "url": "githttps://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@backtrace/browser": "file:../../../packages/browser" + } +} diff --git a/examples/sdk/browser/src/consts.ts b/examples/sdk/browser/src/consts.ts new file mode 100644 index 00000000..dd29bab4 --- /dev/null +++ b/examples/sdk/browser/src/consts.ts @@ -0,0 +1,2 @@ +export const SUBMISSION_URL = + 'https://submit.backtrace.io/your-universe/0000000000000000000000000000000000000000000000000000000000000000/json'; diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts new file mode 100644 index 00000000..7132174f --- /dev/null +++ b/examples/sdk/browser/src/index.ts @@ -0,0 +1,44 @@ +import { BacktraceClient, BacktraceStringAttachment } from '@backtrace/browser'; +import { SUBMISSION_URL } from './consts'; + +const client = BacktraceClient.builder({ + url: SUBMISSION_URL, + name: '@backtrace/browser-example', + version: '0.0.1', + userAttributes: { + 'custom-attribute': 'test', + 'custom-annotation': { + prop1: true, + prop2: 123, + }, + }, +}).build(); + +function parseNotExistingDomElement(): string { + const element = document.getElementById('not-existing-id') as HTMLElement; + return element.outerText.split('\n')[1].toString(); +} + +const sendErrorButton = document.getElementById('send-error') as HTMLElement; +const sendMessageButton = document.getElementById('send-message') as HTMLElement; + +async function sendHandledException() { + try { + console.log('send-error click'); + parseNotExistingDomElement(); + } catch (err) { + await client.send(err as Error, { action: 'send-error' }, [ + new BacktraceStringAttachment('test.txt', 'sample attachment content'), + ]); + } +} + +async function sendMessage() { + console.log('send-message click'); + await client.send('test-message', { action: 'send-message' }, [ + new BacktraceStringAttachment('test.txt', 'sample attachment content'), + ]); +} + +sendErrorButton.onclick = sendHandledException; +sendMessageButton.onclick = sendMessage; diff --git a/examples/sdk/browser/tsconfig.json b/examples/sdk/browser/tsconfig.json new file mode 100644 index 00000000..4cb3bbaa --- /dev/null +++ b/examples/sdk/browser/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/examples/sdk/browser/webpack.config.js b/examples/sdk/browser/webpack.config.js new file mode 100644 index 00000000..9d3a346f --- /dev/null +++ b/examples/sdk/browser/webpack.config.js @@ -0,0 +1,15 @@ +const path = require('path'); +const { webpackTypescriptConfig } = require('../../../build/common'); + +/** @type {import('webpack').Configuration} */ +module.exports = { + ...webpackTypescriptConfig, + target: 'web', + mode: process.env.NODE_ENV ?? 'production', + devtool: 'source-map', + entry: './src/index.ts', + output: { + filename: 'index.js', + path: path.join(__dirname, 'lib'), + }, +}; diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 461436d9..f602763c 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -94,7 +94,7 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { if (!data) { continue; } - formData.append(`attachment_${attachment.name}`, data, attachment.name); + formData.append(`attachment_${attachment.name}`, data); } return formData; diff --git a/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts new file mode 100644 index 00000000..4de37c0a --- /dev/null +++ b/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts @@ -0,0 +1,29 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; + +export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { + public readonly APPLICATION_ATTRIBUTE = 'application'; + public readonly APPLICATION_VERSION_ATTRIBUTE = 'application.version'; + + private readonly _application: string; + private readonly _applicationVersion: string; + + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + + constructor(options: BacktraceConfiguration) { + this._application = options.name; + this._applicationVersion = options.version; + + if (!this._application || !this._applicationVersion) { + throw new Error('Missing application/application version information!'); + } + } + public get(): Record { + return { + [this.APPLICATION_ATTRIBUTE]: this._application, + [this.APPLICATION_VERSION_ATTRIBUTE]: this._applicationVersion, + }; + } +} diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 27a3d71a..e01603ee 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,12 +1,13 @@ import { BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; import { V8StackTraceConverter } from '@backtrace/sdk-core/lib/modules/converter/V8StackTraceConverter'; -import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; -import { BacktraceClient } from '../BacktraceClient'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; +import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider'; import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; +import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; +import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStackTraceConverter'; import { getEngine } from '../engineDetector'; @@ -18,6 +19,7 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder Date: Tue, 27 Jun 2023 17:34:31 +0200 Subject: [PATCH 051/291] Add new lines to comment + breaks --- examples/sdk/node/src/index.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index e4f38078..b3c1fe32 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -40,10 +40,10 @@ async function sendMessage(message: string, attributes: Record) function showMenu() { const menu = - `Please pick one of available options:` + - `1. Send an exception` + - `2. Send a message` + - `0. Exit` + + `Please pick one of available options:\n` + + `1. Send an exception\n` + + `2. Send a message\n` + + `0. Exit\n` + `Type the option number:`; reader.question(menu, async function executeUserOption(optionString: string) { const option = parseInt(optionString); @@ -52,10 +52,12 @@ function showMenu() { switch (option) { case 1: { - return await sendHandledException(attributes); + await sendHandledException(attributes); + break; } case 2: { - return await sendMessage('test message', attributes); + await sendMessage('test message', attributes); + break; } case 0: { reader.close(); From 005338ce66a4a74ee7f7a84335a3c5f85264cf35 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 28 Jun 2023 10:35:05 +0200 Subject: [PATCH 052/291] Add `SourceProcessor` class (#28) * sourcemap tools: add sourcemap processor for adding source snippets and sourcemap keys * sourcemap tools: fix Prettier issues * sourcemap tools: add semicolon to end of source snippet in DebugIdGenerator * sourcemap tools: renames SourceProcessor tests * sourcemap tools: add comment about addMapping * sourcemap tools: add docs to SourceProcessor * sourcemap tools: add more explanation to offsetting sourcemaps * sourcemap tools: update SourceProcessor tests to test for number of newlines in modified sourcemaps --------- Co-authored-by: Sebastian Alex --- package-lock.json | 19 ++++ tools/sourcemap-tools/package.json | 3 + tools/sourcemap-tools/src/DebugIdGenerator.ts | 2 +- tools/sourcemap-tools/src/SourceProcessor.ts | 92 +++++++++++++++++++ .../src/helpers/bytesToUuid.ts | 13 +++ .../src/helpers/stringToUuid.ts | 7 ++ tools/sourcemap-tools/src/index.ts | 1 + .../tests/SourceProcessor.spec.ts | 71 ++++++++++++++ 8 files changed, 207 insertions(+), 1 deletion(-) create mode 100644 tools/sourcemap-tools/src/SourceProcessor.ts create mode 100644 tools/sourcemap-tools/src/helpers/bytesToUuid.ts create mode 100644 tools/sourcemap-tools/src/helpers/stringToUuid.ts create mode 100644 tools/sourcemap-tools/tests/SourceProcessor.spec.ts diff --git a/package-lock.json b/package-lock.json index 6749486a..fe8c30d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10579,6 +10579,9 @@ "name": "@backtrace/sourcemap-tools", "version": "0.0.1", "license": "MIT", + "dependencies": { + "source-map": "^0.7.4" + }, "devDependencies": { "@types/jest": "^29.5.1", "jest": "^29.5.0", @@ -10590,6 +10593,14 @@ "node": ">=14" } }, + "tools/sourcemap-tools/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, "tools/webpack-plugin": { "name": "@backtrace/webpack-plugin", "version": "0.0.1", @@ -11042,8 +11053,16 @@ "@types/jest": "^29.5.1", "jest": "^29.5.0", "nock": "^13.3.1", + "source-map": "*", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } } }, "@backtrace/webpack-plugin": { diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index d1c9db50..27795e1f 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -42,5 +42,8 @@ "nock": "^13.3.1", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "source-map": "^0.7.4" } } diff --git a/tools/sourcemap-tools/src/DebugIdGenerator.ts b/tools/sourcemap-tools/src/DebugIdGenerator.ts index 65482744..98373da0 100644 --- a/tools/sourcemap-tools/src/DebugIdGenerator.ts +++ b/tools/sourcemap-tools/src/DebugIdGenerator.ts @@ -4,7 +4,7 @@ export const SOURCEMAP_DEBUG_ID_KEY = 'debugId'; export class DebugIdGenerator { public generateSourceSnippet(uuid: string) { - return `!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e.${SOURCE_DEBUG_ID_VARIABLE}=e.${SOURCE_DEBUG_ID_VARIABLE}||{},e.${SOURCE_DEBUG_ID_VARIABLE}[n]="${uuid}")}catch(e){}}()`; + return `;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e.${SOURCE_DEBUG_ID_VARIABLE}=e.${SOURCE_DEBUG_ID_VARIABLE}||{},e.${SOURCE_DEBUG_ID_VARIABLE}[n]="${uuid}")}catch(e){}}();`; } public generateSourceComment(uuid: string) { diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts new file mode 100644 index 00000000..23d3458c --- /dev/null +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -0,0 +1,92 @@ +import fs from 'fs'; +import { BasicSourceMapConsumer, Position, RawSourceMap, SourceMapConsumer, SourceMapGenerator } from 'source-map'; +import { DebugIdGenerator } from './DebugIdGenerator'; +import { stringToUuid } from './helpers/stringToUuid'; + +export class SourceProcessor { + constructor(private readonly _debugIdGenerator: DebugIdGenerator) {} + + /** + * Adds required snippets and comments to source, and modifies sourcemap to include debug ID. + * @param source Source content. + * @param sourceMap Sourcemap object or JSON. + * @param debugId Debug ID. If not provided, one will be generated from `source`. + * @returns Used debug ID, new source and new sourcemap. + */ + public async processSourceAndSourceMap(source: string, sourceMap: string | RawSourceMap, debugId?: string) { + if (!debugId) { + debugId = stringToUuid(source); + } + + const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); + const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); + + const newSource = sourceSnippet + '\n' + source + '\n' + sourceComment; + + // We need to offset the source map by amount of lines that we're inserting to the source code + // Sourcemaps map code like this: + // original code X:Y => generated code A:B + // So if we add any code to generated code, mappings after that code will become invalid + // We need to offset the mapping lines by sourceSnippetNewlineCount: + // original code X:Y => generated code (A + sourceSnippetNewlineCount):B + const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; + const offsetSourceMap = await this.offsetSourceMap(sourceMap, 0, sourceSnippetNewlineCount + 1); + const newSourceMap = this._debugIdGenerator.addSourceMapKey(offsetSourceMap, debugId); + + return { debugId, source: newSource, sourceMap: newSourceMap }; + } + + /** + * Adds required snippets and comments to source, and modifies sourcemap to include debug ID. + * Will write modified content to the files. + * @param sourcePath Path to the source. + * @param sourceMapPath Path to the sourcemap. + * @param debugId Debug ID. If not provided, one will be generated from `source`. + * @returns Used debug ID. + */ + public async processSourceAndSourceMapFiles(sourcePath: string, sourceMapPath: string, debugId?: string) { + const source = await fs.promises.readFile(sourcePath, 'utf8'); + const sourceMap = await fs.promises.readFile(sourceMapPath, 'utf8'); + + const result = await this.processSourceAndSourceMap(source, sourceMap, debugId); + + await fs.promises.writeFile(sourcePath, result.source, 'utf8'); + await fs.promises.writeFile(sourceMapPath, JSON.stringify(result.sourceMap), 'utf8'); + + return result.debugId; + } + + private async offsetSourceMap( + sourceMap: string | RawSourceMap, + fromLine: number, + count: number, + ): Promise { + const consumer = (await new SourceMapConsumer(sourceMap)) as BasicSourceMapConsumer; + const newSourceMap = new SourceMapGenerator({ + file: consumer.file, + sourceRoot: consumer.sourceRoot, + }); + + consumer.eachMapping((m) => { + if (m.generatedLine < fromLine) { + return; + } + + // Despite how the mappings are written, addMapping expects here a null value if the column/line is not set + newSourceMap.addMapping({ + source: m.source, + name: m.name, + generated: + m?.generatedColumn != null && m?.generatedLine != null + ? { column: m.generatedColumn, line: m.generatedLine + count } + : (null as unknown as Position), + original: + m?.originalColumn != null && m?.originalLine != null + ? { column: m.originalColumn, line: m.originalLine } + : (null as unknown as Position), + }); + }); + + return newSourceMap.toJSON(); + } +} diff --git a/tools/sourcemap-tools/src/helpers/bytesToUuid.ts b/tools/sourcemap-tools/src/helpers/bytesToUuid.ts new file mode 100644 index 00000000..c051634a --- /dev/null +++ b/tools/sourcemap-tools/src/helpers/bytesToUuid.ts @@ -0,0 +1,13 @@ +export function bytesToUuid(bytes: Buffer) { + return ( + bytes.slice(0, 4).toString('hex') + + '-' + + bytes.slice(4, 6).toString('hex') + + '-' + + bytes.slice(6, 8).toString('hex') + + '-' + + bytes.slice(8, 10).toString('hex') + + '-' + + bytes.slice(10, 16).toString('hex') + ); +} diff --git a/tools/sourcemap-tools/src/helpers/stringToUuid.ts b/tools/sourcemap-tools/src/helpers/stringToUuid.ts new file mode 100644 index 00000000..585e14b8 --- /dev/null +++ b/tools/sourcemap-tools/src/helpers/stringToUuid.ts @@ -0,0 +1,7 @@ +import crypto from 'crypto'; +import { bytesToUuid } from './bytesToUuid'; + +export function stringToUuid(str: string) { + const bytes = crypto.createHash('sha1').update(str).digest(); + return bytesToUuid(bytes); +} diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 38f6927b..63156965 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,3 +1,4 @@ export * from './ContentAppender'; export * from './DebugIdGenerator'; export * from './SourceMapUploader'; +export * from './SourceProcessor'; diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts new file mode 100644 index 00000000..7aa04c86 --- /dev/null +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -0,0 +1,71 @@ +import { SourceMapConsumer } from 'source-map'; +import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY, SourceProcessor } from '../src'; + +describe('SourceProcessor', () => { + const source = `function foo(){console.log("Hello World!")}foo();`; + const sourceMap = { + version: 3, + file: 'source.js', + sources: ['source.js'], + names: ['foo', 'console', 'log'], + mappings: 'AAAA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CAEAF,IAAI', + }; + + it('should append source snippet to the source on the first line', async () => { + const expected = 'APPENDED_SOURCE'; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + expect(result.source).toMatch(new RegExp(`^${expected}\n`)); + }); + + it('should append comment snippet to the source on the last line', async () => { + const expected = 'APPENDED_COMMENT'; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + expect(result.source).toMatch(new RegExp(`\n${expected}$`)); + }); + + it('should return sourcemap from DebugIdGenerator', async () => { + const expected = { [SOURCEMAP_DEBUG_ID_KEY]: 'debugId' }; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + expect(result.sourceMap).toStrictEqual(expected); + }); + + it('should offset sourcemap lines by number of newlines in source snippet + 1', async () => { + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const snippet = 'a\nb\nc\nd'; + const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); + + const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); + const expectedPosition = unmodifiedConsumer.originalPositionFor({ line: 1, column: source.indexOf('foo();') }); + + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + const modifiedConsumer = await new SourceMapConsumer(result.sourceMap); + const actualPosition = modifiedConsumer.originalPositionFor({ + line: 1 + expectedNewLineCount, + column: source.indexOf('foo();'), + }); + + expect(actualPosition).toEqual(expectedPosition); + }); +}); From 9deff9c75fea92550b8204878cd599aa2de22744 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 28 Jun 2023 12:21:36 +0200 Subject: [PATCH 053/291] Use `SourceProcessor` in Webpack (#29) * webpack plugin: replaces version plugins with a simpler plugin using SourceProcessor * webpack plugin: removes unit tests * webpack plugin: simplifies options, refactors logging * webpack plugin: changes e2e tests to work with new options * webpack plugin: change error message on undefined output path --------- Co-authored-by: Sebastian Alex --- tools/webpack-plugin/jest.config.js | 6 - tools/webpack-plugin/package.json | 5 +- tools/webpack-plugin/src/BacktracePlugin.ts | 97 ++++-- tools/webpack-plugin/src/BacktracePluginV4.ts | 46 --- tools/webpack-plugin/src/BacktracePluginV5.ts | 173 ---------- .../src/BacktraceWebpackSourceGenerator.ts | 39 --- tools/webpack-plugin/src/index.ts | 3 - .../src/models/BacktracePluginOptions.ts | 15 +- .../webpack-plugin/tests/e2e/createE2ETest.ts | 135 ++++---- tools/webpack-plugin/tests/e2e/helpers.ts | 2 +- .../e2e/no-sourcemaps/no-sourcemaps.spec.ts | 29 +- .../BacktraceWebpackSourceGenerator.spec.ts | 300 ------------------ tools/webpack-plugin/webpack4.jest.config.js | 7 - 13 files changed, 171 insertions(+), 686 deletions(-) delete mode 100644 tools/webpack-plugin/jest.config.js delete mode 100644 tools/webpack-plugin/src/BacktracePluginV4.ts delete mode 100644 tools/webpack-plugin/src/BacktracePluginV5.ts delete mode 100644 tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts delete mode 100644 tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts delete mode 100644 tools/webpack-plugin/webpack4.jest.config.js diff --git a/tools/webpack-plugin/jest.config.js b/tools/webpack-plugin/jest.config.js deleted file mode 100644 index c0919546..00000000 --- a/tools/webpack-plugin/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('ts-jest').JestConfigWithTsJest} */ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testPathIgnorePatterns: ['e2e'], -}; diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 039c73d4..97754e47 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -12,10 +12,7 @@ "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "tsc -b ./tsconfig.packages.json -w", - "test": "npm run test:webpackv5 && npm run test:webpackv4", - "test:webpackv4": "NODE_ENV=test jest --config ./webpack4.jest.config.js", - "test:webpackv5": "NODE_ENV=test jest", + "watch": "tsc -b ./tsconfig.build.json -w", "test:e2e": "npm run test:e2e:webpackv5 && npm run test:e2e:webpackv4", "test:e2e:webpackv4": "NODE_ENV=test jest --config ./webpack4.e2e.jest.config.js", "test:e2e:webpackv5": "NODE_ENV=test jest --config ./e2e.jest.config.js" diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 542a5326..72952102 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -1,19 +1,80 @@ -import webpack from 'webpack'; -import { BacktracePluginV4 } from './BacktracePluginV4'; -import { BacktracePluginV5 } from './BacktracePluginV5'; - -let BacktracePlugin: typeof BacktracePluginV4 | typeof BacktracePluginV5; - -const version = process.env.WEBPACK_VERSION ?? webpack.version[0]; -switch (version) { - case '4': - BacktracePlugin = BacktracePluginV4; - break; - case '5': - BacktracePlugin = BacktracePluginV5; - break; - default: - throw new Error(`Webpack version ${version} is not supported.`); -} +import { DebugIdGenerator, SourceMapUploader, SourceProcessor } from '@backtrace/sourcemap-tools'; +import path from 'path'; +import webpack, { WebpackPluginInstance } from 'webpack'; +import { BacktracePluginOptions } from './models/BacktracePluginOptions'; + +export class BacktracePlugin implements WebpackPluginInstance { + private readonly _sourceProcessor: SourceProcessor; + private readonly _sourceMapUploader?: SourceMapUploader; + + constructor(public readonly options?: BacktracePluginOptions) { + this._sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + this._sourceMapUploader = options?.uploadUrl + ? new SourceMapUploader(options.uploadUrl, options.uploadOptions) + : undefined; + } + + public apply(compiler: webpack.Compiler) { + compiler.hooks.afterEmit.tapPromise(BacktracePlugin.name, async (compilation) => { + const logger = compilation.getLogger(BacktracePlugin.name); + if (!compilation.outputOptions.path) { + logger.error( + 'Skipping everything because outputOptions.path is not set. If you see this error, please report this to Backtrace.', + ); + return; + } + + const entries: [string, string, string][] = []; + + for (const asset in compilation.assets) { + if (!asset.match(/\.(c|m)?jsx?$/)) { + logger.debug(`[${asset}] skipping processing, extension does not match`); + continue; + } + + const map = asset + '.map'; + if (!compilation.assets[map]) { + logger.debug(`[${asset}] skipping processing, map file not found`); + continue; + } -export { BacktracePlugin }; + const assetPath = path.join(compilation.outputOptions.path, asset); + const sourceMapPath = path.join(compilation.outputOptions.path, map); + + logger.debug(`adding asset ${assetPath} with sourcemap ${sourceMapPath}`); + entries.push([asset, assetPath, sourceMapPath]); + } + + logger.log(`received ${entries.length} files for processing`); + + for (const [asset, sourcePath, sourceMapPath] of entries) { + let debugId: string; + + logger.time(`[${asset}] process source and sourcemap`); + try { + debugId = await this._sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath); + } catch (err) { + logger.error(`[${asset}] process source and sourcemap failed:`, err); + continue; + } finally { + logger.timeEnd(`[${asset}] process source and sourcemap`); + } + + if (!this._sourceMapUploader) { + logger.info(`[${asset}] file processed`); + continue; + } + + logger.time(`[${asset}] upload sourcemap`); + try { + await this._sourceMapUploader.upload(sourceMapPath, debugId); + logger.info(`[${asset}] file processed and sourcemap uploaded`); + } catch (err) { + logger.error(`[${asset}] upload sourcemap failed:`, err); + } finally { + logger.timeEnd(`[${asset}] upload sourcemap`); + } + } + }); + } +} diff --git a/tools/webpack-plugin/src/BacktracePluginV4.ts b/tools/webpack-plugin/src/BacktracePluginV4.ts deleted file mode 100644 index 04ecf814..00000000 --- a/tools/webpack-plugin/src/BacktracePluginV4.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; -import crypto from 'crypto'; -import { Compiler, WebpackPluginInstance } from 'webpack'; -import { BacktraceWebpackSourceGenerator } from './BacktraceWebpackSourceGenerator'; -import { BacktracePluginOptions } from './models/BacktracePluginOptions'; - -export class BacktracePluginV4 implements WebpackPluginInstance { - private readonly _sourceGenerator: BacktraceWebpackSourceGenerator; - - constructor(public readonly options?: BacktracePluginOptions) { - this._sourceGenerator = new BacktraceWebpackSourceGenerator( - options?.debugIdGenerator ?? new DebugIdGenerator(), - new ContentAppender(), - ); - } - - public apply(compiler: Compiler) { - const assetDebugIds = new Map(); - - compiler.hooks.emit.tap(BacktracePluginV4.name, (compilation) => { - for (const key in compilation.assets) { - let source = compilation.assets[key]; - - let debugId; - if (key.match(/.(c|m)?jsx?$/)) { - debugId = crypto.randomUUID(); - assetDebugIds.set(key, debugId); - - source = this._sourceGenerator.addDebugIdToSource(source as never, debugId) as typeof source; - source = this._sourceGenerator.addDebugIdCommentToSource(source as never, debugId) as typeof source; - } else if (key.match(/\.(c|m)?jsx?\.map$/)) { - // The .map replacement should account for most of the use cases - const sourceKey = key.replace(/.map$/, ''); - debugId = assetDebugIds.get(sourceKey); - if (!debugId) { - continue; - } - - source = this._sourceGenerator.addDebugIdToRawSourceMap(source as never, debugId) as never; - } - - compilation.assets[key] = source; - } - }); - } -} diff --git a/tools/webpack-plugin/src/BacktracePluginV5.ts b/tools/webpack-plugin/src/BacktracePluginV5.ts deleted file mode 100644 index 5ae43047..00000000 --- a/tools/webpack-plugin/src/BacktracePluginV5.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; -import crypto from 'crypto'; -import { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; -import { SourceMapSource } from 'webpack-sources'; -import { BacktraceWebpackSourceGenerator } from './BacktraceWebpackSourceGenerator'; -import { BacktracePluginOptions } from './models/BacktracePluginOptions'; - -export class BacktracePluginV5 implements WebpackPluginInstance { - private readonly _sourceGenerator: BacktraceWebpackSourceGenerator; - - constructor(public readonly options?: BacktracePluginOptions) { - this._sourceGenerator = new BacktraceWebpackSourceGenerator( - options?.debugIdGenerator ?? new DebugIdGenerator(), - new ContentAppender(), - ); - } - - public apply(compiler: Compiler) { - const assetDebugIds = new Map(); - const processedSourceMapsForSources = new Set(); - - compiler.hooks.thisCompilation.tap(BacktracePluginV5.name, (compilation) => { - compilation.hooks.processAssets.tap( - { - name: BacktracePluginV5.name, - stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS, - }, - (assets) => { - for (const key in assets) { - const debugId = crypto.randomUUID(); - assetDebugIds.set(key, debugId); - - this.injectSourceSnippet(compilation, key, debugId); - } - }, - ); - - compilation.hooks.processAssets.tap( - { - name: BacktracePluginV5.name, - stage: Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING, - additionalAssets: true, - }, - (assets) => { - for (const key in assets) { - const debugId = assetDebugIds.get(key); - if (!debugId) { - continue; - } - - if (this.injectSourceMapDebugId(compilation, key, debugId)) { - processedSourceMapsForSources.add(key); - } - } - return; - }, - ); - - const processedSourceMaps = new Set(); - compilation.hooks.processAssets.tap( - { - name: BacktracePluginV5.name, - stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, - }, - (assets) => { - for (const key in assets) { - const asset = compilation.getAsset(key); - if (!asset) { - continue; - } - - const debugId = assetDebugIds.get(key); - if (!debugId) { - continue; - } - - this.injectSourceComment(compilation, key, debugId); - - // If the sourcemap has not been processed for some reason, - // attempt to manually append the information - if (!processedSourceMapsForSources.has(key)) { - if (this.appendSourceMapDebugId(compilation, key, debugId, processedSourceMaps)) { - processedSourceMapsForSources.add(key); - } - } - } - }, - ); - }); - } - - private injectSourceSnippet(compilation: Compilation, key: string, debugId: string): boolean { - const asset = compilation.getAsset(key); - if (!asset) { - return false; - } - - const newSource = this._sourceGenerator.addDebugIdToSource(asset.source as never, debugId); - - compilation.updateAsset(key, newSource as never); - return true; - } - - private injectSourceMapDebugId(compilation: Compilation, key: string, debugId: string): boolean { - const asset = compilation.getAsset(key); - if (!asset) { - return false; - } - - if (!(asset.source instanceof SourceMapSource)) { - return false; - } - - const newSource = this._sourceGenerator.addDebugIdToSourceMap(asset.source, debugId); - compilation.updateAsset(key, newSource as never); - - return true; - } - - private injectSourceComment(compilation: Compilation, key: string, debugId: string): boolean { - const asset = compilation.getAsset(key); - if (!asset) { - return false; - } - - const newSource = this._sourceGenerator.addDebugIdCommentToSource(asset.source as never, debugId); - compilation.updateAsset(key, newSource as never); - - return true; - } - - /** - * Manually appends debug ID keys to the sourcemap file. - */ - private appendSourceMapDebugId( - compilation: Compilation, - key: string, - debugId: string, - processedSourceMaps: Set, - ): boolean { - const assetInfo = compilation.assetsInfo.get(key); - if (!assetInfo) { - return false; - } - - let sourceMapKeys = assetInfo.related?.sourceMap; - if (!sourceMapKeys) { - return false; - } - - if (!Array.isArray(sourceMapKeys)) { - sourceMapKeys = [sourceMapKeys]; - } - - for (const sourceMapKey of sourceMapKeys) { - if (processedSourceMaps.has(sourceMapKey)) { - continue; - } - - const sourceMapAsset = compilation.getAsset(sourceMapKey); - if (!sourceMapAsset) { - continue; - } - - const newSource = this._sourceGenerator.addDebugIdToRawSourceMap(sourceMapAsset.source as never, debugId); - compilation.updateAsset(sourceMapKey, newSource as never); - - processedSourceMaps.add(sourceMapKey); - } - - return true; - } -} diff --git a/tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts b/tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts deleted file mode 100644 index 19b2bc74..00000000 --- a/tools/webpack-plugin/src/BacktraceWebpackSourceGenerator.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; -import type { Source } from 'webpack-sources'; -import { ConcatSource, RawSource, SourceMapSource } from 'webpack-sources'; - -export class BacktraceWebpackSourceGenerator { - constructor( - private readonly _debugIdGenerator: DebugIdGenerator, - private readonly _contentAppender: ContentAppender, - ) {} - - public addDebugIdToSource(source: Source, debugId: string): ConcatSource { - const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); - return new ConcatSource(source, '\n' + sourceSnippet); - } - - public addDebugIdCommentToSource(source: Source, debugId: string): ConcatSource { - const comment = this._debugIdGenerator.generateSourceComment(debugId); - return new ConcatSource(source, '\n' + comment); - } - - public addDebugIdToSourceMap(sourceMapSource: SourceMapSource, debugId: string): SourceMapSource { - const { source, map } = sourceMapSource.sourceAndMap(); - if (!map) { - return sourceMapSource; - } - - const newMap = this._debugIdGenerator.addSourceMapKey(map, debugId); - - // The file name does not matter at this point, and it is set to 'x' in Webpack - return new SourceMapSource(source as string, 'x', newMap as never); - } - - public addDebugIdToRawSourceMap(source: Source, debugId: string): RawSource { - let sourceMapSource = (source.source() as Buffer).toString('utf8'); - const debugSourceMapObj = this._debugIdGenerator.addSourceMapKey({}, debugId); - sourceMapSource = this._contentAppender.appendToJSON(sourceMapSource, debugSourceMapObj); - return new RawSource(sourceMapSource); - } -} diff --git a/tools/webpack-plugin/src/index.ts b/tools/webpack-plugin/src/index.ts index 7b12f012..127704fa 100644 --- a/tools/webpack-plugin/src/index.ts +++ b/tools/webpack-plugin/src/index.ts @@ -1,7 +1,4 @@ import { BacktracePlugin } from './BacktracePlugin'; - -export { BacktracePluginV4 } from './BacktracePluginV4'; -export { BacktracePluginV5 } from './BacktracePluginV5'; export { BacktracePluginOptions } from './models/BacktracePluginOptions'; export { BacktracePlugin }; export default BacktracePlugin; diff --git a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts index 862564fc..e402d1e4 100644 --- a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts +++ b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts @@ -1,5 +1,16 @@ -import { DebugIdGenerator } from '@backtrace/sourcemap-tools'; +import { SourceMapUploaderOptions } from '@backtrace/sourcemap-tools'; export interface BacktracePluginOptions { - debugIdGenerator?: DebugIdGenerator; + /** + * Upload URL for uploading sourcemap files. + * See Source Maps Integration Guide for your instance for more information. + * + * If not set, the sourcemaps will not be uploaded. The sources will be still processed and ready for manual upload. + */ + uploadUrl?: string | URL; + + /** + * Additional upload options. + */ + uploadOptions?: SourceMapUploaderOptions; } diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts index 698ec401..65e03f46 100644 --- a/tools/webpack-plugin/tests/e2e/createE2ETest.ts +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -1,32 +1,37 @@ +import { SourceMapUploader, SourceProcessor } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import fs from 'fs'; +import path from 'path'; import webpack from 'webpack'; -import { - asyncWebpack, - expectSourceComment, - expectSourceMapSnippet, - expectSourceSnippet, - expectSuccess, - getFiles, - removeDir, - webpackModeTest, -} from './helpers'; +import { asyncWebpack, expectSuccess, getFiles, removeDir, webpackModeTest } from './helpers'; -interface E2ETestOptions { - testSourceFunction?: boolean; - testSourceComment?: boolean; - testSourceMap?: boolean; - testSourceEval?: boolean; -} - -export function createE2ETest( - configBuilder: (mode: webpack.Configuration['mode']) => webpack.Configuration, - opts?: E2ETestOptions, -) { +export function createE2ETest(configBuilder: (mode: webpack.Configuration['mode']) => webpack.Configuration) { webpackModeTest((mode) => { + function mockUploader() { + return jest.spyOn(SourceMapUploader.prototype, 'upload').mockImplementation((_, debugId) => + Promise.resolve({ + debugId: debugId ?? crypto.randomUUID(), + rxid: crypto.randomUUID(), + }), + ); + } + + function mockProcessor() { + return jest + .spyOn(SourceProcessor.prototype, 'processSourceAndSourceMapFiles') + .mockImplementation(async (_, __, debugId) => debugId ?? 'debugId'); + } + let result: webpack.Stats; + let uploadSpy: ReturnType; + let processSpy: ReturnType; beforeAll(async () => { + jest.resetAllMocks(); + + uploadSpy = mockUploader(); + processSpy = mockProcessor(); + const config = configBuilder(mode); if (config.output?.path) { await removeDir(config.output.path); @@ -37,64 +42,40 @@ export function createE2ETest( result = webpackResult; }, 120000); - if (opts?.testSourceFunction ?? true) { - it('should inject function into emitted source files', async () => { - const outputDir = result.compilation.outputOptions.path; - assert(outputDir); - - const jsFiles = await getFiles(outputDir, /.js$/); - expect(jsFiles.length).toBeGreaterThan(0); - - for (const file of jsFiles) { - const content = await fs.promises.readFile(file, 'utf8'); - await expectSourceSnippet(content); - } - }); - } - - if (opts?.testSourceComment ?? true) { - it('should inject debug ID comment into emitted source files', async () => { - const outputDir = result.compilation.outputOptions.path; - assert(outputDir); - - const jsFiles = await getFiles(outputDir, /.js$/); - expect(jsFiles.length).toBeGreaterThan(0); - - for (const file of jsFiles) { - const content = await fs.promises.readFile(file, 'utf8'); - await expectSourceComment(content); - } - }); - } - - if (opts?.testSourceEval ?? true) { - it('should eval emitted source without syntax errors', async () => { - const outputDir = result.compilation.outputOptions.path; - assert(outputDir); - - const jsFiles = await getFiles(outputDir, /.js$/); - expect(jsFiles.length).toBeGreaterThan(0); - - for (const file of jsFiles) { - const content = await fs.promises.readFile(file, 'utf8'); - expect(() => eval(content)).not.toThrowError(SyntaxError); - } - }); - } + it('should call SourceProcessor for every emitted source file and sourcemap pair', async () => { + const outputDir = result.compilation.outputOptions.path; + assert(outputDir); + + const jsFiles = await getFiles(outputDir, /.js$/); + expect(jsFiles.length).toBeGreaterThan(0); + + const processedPairs = processSpy.mock.calls.map( + ([p1, p2]) => [path.resolve(p1), path.resolve(p2)] as const, + ); + for (const file of jsFiles) { + const content = await fs.promises.readFile(file, 'utf8'); + const matches = [...content.matchAll(/^\/\/# sourceMappingURL=(.+)$/gm)]; + expect(matches.length).toEqual(1); + const [, sourceMapPath] = matches[0]; + + expect(processedPairs).toContainEqual([ + path.resolve(file), + path.resolve(path.dirname(file), sourceMapPath), + ]); + } + }); - if (opts?.testSourceMap ?? true) { - it('should inject debug ID into emitted sourcemap files', async () => { - const outputDir = result.compilation.outputOptions.path; - assert(outputDir); + it('should call SourceMapUploader for every emitted sourcemap', async () => { + const outputDir = result.compilation.outputOptions.path; + assert(outputDir); - const mapFiles = await getFiles(outputDir, /.js.map$/); - expect(mapFiles.length).toBeGreaterThan(0); + const mapFiles = await getFiles(outputDir, /.js.map$/); + expect(mapFiles.length).toBeGreaterThan(0); - for (const file of mapFiles) { - const content = await fs.promises.readFile(file, 'utf8'); - await expectSourceMapSnippet(content); - } - }); - } + const uploadedFiles = uploadSpy.mock.calls.map((c) => path.resolve(c[0])); + for (const file of mapFiles) { + expect(uploadedFiles).toContain(path.resolve(file)); + } + }); }); } diff --git a/tools/webpack-plugin/tests/e2e/helpers.ts b/tools/webpack-plugin/tests/e2e/helpers.ts index dc215b18..f835a954 100644 --- a/tools/webpack-plugin/tests/e2e/helpers.ts +++ b/tools/webpack-plugin/tests/e2e/helpers.ts @@ -30,7 +30,7 @@ export function getBaseConfig(config: webpack.Configuration, options?: BaseConfi }, ], }, - plugins: [new BacktracePlugin(options?.pluginOptions ?? { debugIdGenerator: new TestDebugIdGenerator() })], + plugins: [new BacktracePlugin({ uploadUrl: 'https://localhost', ...options?.pluginOptions })], ...config, }; } diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts index 58bd4bc7..9ee2d8eb 100644 --- a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts @@ -1,13 +1,13 @@ +import { SourceProcessor } from '@backtrace/sourcemap-tools'; import path from 'path'; -import { createE2ETest } from '../createE2ETest'; -import { getBaseConfig } from '../helpers'; +import { asyncWebpack, expectSuccess, getBaseConfig, removeDir, webpackModeTest } from '../helpers'; describe('No sourcemaps', () => { const outputDir = path.join(__dirname, './output'); - createE2ETest( - (mode) => - getBaseConfig( + webpackModeTest((mode) => { + it('should not call SourceProcessor when devtool is false', async () => { + const config = getBaseConfig( { mode, devtool: false, @@ -18,9 +18,18 @@ describe('No sourcemaps', () => { }, }, { tsconfigPath: path.join(__dirname, './tsconfig.test.json') }, - ), - { - testSourceMap: false, - }, - ); + ); + + if (config.output?.path) { + await removeDir(config.output.path); + } + + const sourceProcessorSpy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const webpackResult = await asyncWebpack(config); + expectSuccess(webpackResult); + + expect(sourceProcessorSpy).not.toBeCalled(); + }, 120000); + }); }); diff --git a/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts b/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts deleted file mode 100644 index 45109996..00000000 --- a/tools/webpack-plugin/tests/unit/BacktraceWebpackSourceGenerator.spec.ts +++ /dev/null @@ -1,300 +0,0 @@ -import { ContentAppender, DebugIdGenerator } from '@backtrace/sourcemap-tools'; -import webpack from 'webpack'; -import { ConcatSource, RawSource, SourceMapSource } from 'webpack-sources'; -import { BacktraceWebpackSourceGenerator } from '../../src/BacktraceWebpackSourceGenerator'; - -describe('BacktraceWebpackSourceGenerator', () => { - function createTestSourceMap() { - const sourceMap: ConstructorParameters[2] = { - file: 'x', - mappings: 'aACE', - names: ['x'], - sources: ['x'], - version: 3, - }; - - return sourceMap; - } - - describe('addDebugIdToSource', () => { - it('should append source snippet generated by debugIdGenerator', () => { - const expected = 'def'; - - const source = new RawSource('abc'); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actualSource = sourceGenerator.addDebugIdToSource(source, 'x'); - const actual = actualSource.source(); - - expect(actual).toContain('abc'); - expect(actual).toContain(expected); - }); - - it('should pass uuid to debugIdGenerator', () => { - const expected = 'def'; - - const source = new RawSource('abc'); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const spy = jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSource(source, expected); - - expect(spy).toBeCalledWith(expected); - }); - - it('should return an instance of ConcatSource', () => { - const source = new RawSource('abc'); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actual = sourceGenerator.addDebugIdToSource(source, 'def'); - - expect(actual).toBeInstanceOf(ConcatSource); - }); - - it('should not modify original source', () => { - const expected = 'abc'; - const source = new RawSource(expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSource(source, 'def'); - - expect(source.source()).toEqual(expected); - }); - }); - - describe('addDebugIdCommentToSource', () => { - it('should append comment snippet generated by debugIdGenerator', () => { - const expected = 'def'; - - const source = new RawSource('abc'); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actualSource = sourceGenerator.addDebugIdCommentToSource(source, 'x'); - const actual = actualSource.source(); - - expect(actual).toContain('abc'); - expect(actual).toContain(expected); - }); - - it('should pass uuid to debugIdGenerator', () => { - const expected = 'def'; - - const source = new RawSource('abc'); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const spy = jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdCommentToSource(source, expected); - - expect(spy).toBeCalledWith(expected); - }); - - it('should return an instance of ConcatSource', () => { - const source = new RawSource('abc'); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actual = sourceGenerator.addDebugIdCommentToSource(source, 'def'); - - expect(actual).toBeInstanceOf(ConcatSource); - }); - - it('should not modify original source', () => { - const expected = 'abc'; - const source = new RawSource(expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdCommentToSource(source, 'def'); - - expect(source.source()).toEqual(expected); - }); - }); - - // We do not support this on Webpack 4, nor it is used - if (webpack.version[0] !== '4') { - describe('addDebugIdToSourceMap', () => { - it('should append whole object generated by debugIdGenerator', () => { - const source = new SourceMapSource('abc', 'x', createTestSourceMap()); - const expected = { - ...source.map(), - debugId: '123', - newKey2: 456, - }; - - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actualSourceMapSource = sourceGenerator.addDebugIdToSourceMap(source, 'x'); - - const { map: actualMap } = actualSourceMapSource.sourceAndMap(); - expect(actualMap).toEqual(expected); - }); - - it('should pass sourcemap to debugIdGenerator', () => { - const expected = createTestSourceMap(); - - const source = new SourceMapSource('abc', 'x', expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const spy = jest - .spyOn(debugIdGenerator, 'addSourceMapKey') - .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSourceMap(source, 'def'); - - expect(spy).toBeCalledWith(expected, expect.anything()); - }); - - it('should pass uuid to debugIdGenerator', () => { - const expected = 'def'; - - const source = new SourceMapSource('abc', 'x', createTestSourceMap()); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const spy = jest - .spyOn(debugIdGenerator, 'addSourceMapKey') - .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSourceMap(source, expected); - - expect(spy).toBeCalledWith(expect.anything(), expected); - }); - - it('should return an instance of SourceMapSource', () => { - const source = new SourceMapSource('abc', 'x', createTestSourceMap()); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actual = sourceGenerator.addDebugIdToSourceMap(source, 'def'); - - expect(actual).toBeInstanceOf(SourceMapSource); - }); - - it('should not modify original source', () => { - const expected = 'abc'; - const source = new SourceMapSource(expected, 'x', createTestSourceMap()); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdCommentToSource(source, 'def'); - - const { source: actualSourceMap } = source.sourceAndMap(); - expect(actualSourceMap.toString()).toEqual(expected); - }); - - it('should not modify original sourcemap', () => { - const expected = createTestSourceMap(); - const modifiedSourceMap = { - ...expected, - debugId: '123', - newKey2: 456, - }; - - const source = new SourceMapSource('abc', 'x', expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(modifiedSourceMap); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToSourceMap(source, 'x'); - - const { map: actualMap } = source.sourceAndMap(); - expect(actualMap).toEqual(expected); - }); - }); - } - - describe('addDebugIdToRawSourceMap', () => { - it('should append whole object generated by debugIdGenerator', () => { - const sourceMap = createTestSourceMap(); - const expected = { - ...sourceMap, - debugId: '123', - newKey2: 456, - }; - - const source = new RawSource(JSON.stringify(sourceMap)); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actualSource = sourceGenerator.addDebugIdToRawSourceMap(source, 'x'); - - const actual = JSON.parse(actualSource.source()); - expect(actual).toEqual(expected); - }); - - it('should pass uuid to debugIdGenerator', () => { - const expected = 'def'; - - const source = new RawSource(JSON.stringify(createTestSourceMap())); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const spy = jest - .spyOn(debugIdGenerator, 'addSourceMapKey') - .mockReturnValue({ ...createTestSourceMap(), debugId: '123' }); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdToRawSourceMap(source, expected); - - expect(spy).toBeCalledWith(expect.anything(), expected); - }); - - it('should return an instance of RawSource', () => { - const source = new RawSource(JSON.stringify(createTestSourceMap())); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - const actual = sourceGenerator.addDebugIdToRawSourceMap(source, 'def'); - - expect(actual).toBeInstanceOf(RawSource); - }); - - it('should not modify original source', () => { - const expected = JSON.stringify(createTestSourceMap()); - const source = new RawSource(expected); - const debugIdGenerator = new DebugIdGenerator(); - const contentAppender = new ContentAppender(); - - const sourceGenerator = new BacktraceWebpackSourceGenerator(debugIdGenerator, contentAppender); - sourceGenerator.addDebugIdCommentToSource(source, 'def'); - - const { source: actualSourceMap } = source.sourceAndMap(); - expect(actualSourceMap).toEqual(expected); - }); - }); -}); diff --git a/tools/webpack-plugin/webpack4.jest.config.js b/tools/webpack-plugin/webpack4.jest.config.js deleted file mode 100644 index ea8797bb..00000000 --- a/tools/webpack-plugin/webpack4.jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -/** @type {import('ts-jest').JestConfigWithTsJest} */ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - setupFiles: ['./tests/setupWebpackV4.ts'], - testPathIgnorePatterns: ['e2e'], -}; From 2dccdb2ed2849b658e649e3959c40634fe20caa8 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 28 Jun 2023 12:20:00 +0000 Subject: [PATCH 054/291] package.json: moves Webpack keywords to Webpack package.json file --- package.json | 5 +---- tools/webpack-plugin/package.json | 5 ++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c6ed3774..c9106806 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,7 @@ "Tool", "Bug", "Bugs", - "StackTrace", - "Source maps", - "Sourcemaps", - "Webpack" + "StackTrace" ], "bugs": { "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 97754e47..da88baa8 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -28,7 +28,10 @@ "Tool", "Bug", "Bugs", - "StackTrace" + "StackTrace", + "Source maps", + "Sourcemaps", + "Webpack" ], "author": "Backtrace ", "license": "MIT", From e16e076850c290fc95e49b4731889719a8bc8f5c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 29 Jun 2023 13:15:35 +0200 Subject: [PATCH 055/291] Submission URL parser (#34) * URL parsers * Code review suggestions * Nullable token --- .../model/http/BacktraceReportSubmission.ts | 18 +---- .../model/http/SubmissionUrlInformation.ts | 74 +++++++++++++++++++ packages/sdk-core/src/model/http/index.ts | 1 + .../modules/metrics/MetricsUrlInformation.ts | 64 ++++++++++++++++ .../http/submissionUrlGenerationTests.spec.ts | 37 ++++++++++ .../sdk-core/tests/http/tokenTests.spec.ts | 24 ++++++ .../sdk-core/tests/http/universeTests.spec.ts | 26 +++++++ 7 files changed, 228 insertions(+), 16 deletions(-) create mode 100644 packages/sdk-core/src/model/http/SubmissionUrlInformation.ts create mode 100644 packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts create mode 100644 packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts create mode 100644 packages/sdk-core/tests/http/tokenTests.spec.ts create mode 100644 packages/sdk-core/tests/http/universeTests.spec.ts diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index 124a5acd..b3a29352 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -2,29 +2,15 @@ import { BacktraceAttachment } from '../attachment'; import { BacktraceConfiguration } from '../configuration/BacktraceConfiguration'; import { BacktraceData } from '../data/BacktraceData'; import { BacktraceRequestHandler } from './BacktraceRequestHandler'; +import { SubmissionUrlInformation } from './SubmissionUrlInformation'; export class BacktraceReportSubmission { private readonly _submissionUrl: string; constructor(options: BacktraceConfiguration, private readonly _requestHandler: BacktraceRequestHandler) { - this._submissionUrl = this.generateReportSubmissionUrl(options.url, options.token); + this._submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(options.url, options.token); } public send(data: BacktraceData, attachments: BacktraceAttachment[]) { return this._requestHandler.postError(this._submissionUrl, data, attachments); } - - private generateReportSubmissionUrl(url: string, token?: string) { - // if the token doesn't exist - use URL - if (!token) { - return url; - } - - // if the URL has token in the URL, the user probably added a token once again - // in this case, don't do anything - if (url.indexOf(token) !== -1) { - return url; - } - - return new URL(`/post?format=json&token=${token}`, url).href; - } } diff --git a/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts b/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts new file mode 100644 index 00000000..fb654d16 --- /dev/null +++ b/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts @@ -0,0 +1,74 @@ +export class SubmissionUrlInformation { + private static SUBMIT_PREFIX = 'submit.backtrace.io/'; + + /** + * Convert url/token from credentials to JSON submission URL + * @param url credentials URL + * @param token credentials token + * @returns JSON submissionURL + */ + public static toJsonReportSubmissionUrl(url: string, token?: string): string { + // if the token doesn't exist - use URL + if (!token) { + return url; + } + + // if the url points to submit, we should always use it without any modifications + if (url.includes(this.SUBMIT_PREFIX)) { + return url; + } + + // if the URL has token in the URL, the user probably added a token once again + // in this case, don't do anything + if (url.indexOf(token) !== -1) { + return url; + } + + const result = new URL(`/post`, url); + result.searchParams.append('format', 'json'); + result.searchParams.append('token', token); + return result.href; + } + + /** + * Find the universe based on the submission URL + * @param submissionUrl submission URL + * @returns universe name + */ + public static findUniverse(submissionUrl: string): string | undefined { + const submitIndex = submissionUrl.indexOf(this.SUBMIT_PREFIX); + if (submitIndex !== -1) { + // submit format URL + // submit.backtrace.io/universe/token/format + // we can expect the universe name just after the hostname + const universeStartIndex = submitIndex + this.SUBMIT_PREFIX.length; + const endOfUniverseName = submissionUrl.indexOf('/', universeStartIndex); + return submissionUrl.substring(universeStartIndex, endOfUniverseName); + } + // the universe name should be available in the hostname + // for example abc.sp.backtrace.io or zyx.in.backtrace.io or foo.backtrace.io + const hostname = new URL(submissionUrl).hostname; + if (!hostname.endsWith('backtrace.io')) { + return undefined; + } + + const endOfUniverseName = hostname.indexOf('.'); + return hostname.substring(0, endOfUniverseName); + } + + public static findToken(submissionUrl: string): string | null { + const submitIndex = submissionUrl.indexOf(this.SUBMIT_PREFIX); + if (submitIndex !== -1) { + const submissionUrlParts = submissionUrl.split('/'); + // submit format URL + // submit.backtrace.io/universe/token/format + // by spliting the submission URL by `/` and dropping the last + // part of the URL, the last element on the list is the token. + return submissionUrlParts[submissionUrlParts.length - 2]; + } + + const url = new URL(submissionUrl); + + return url.searchParams.get('token'); + } +} diff --git a/packages/sdk-core/src/model/http/index.ts b/packages/sdk-core/src/model/http/index.ts index 51cf7152..d268daf7 100644 --- a/packages/sdk-core/src/model/http/index.ts +++ b/packages/sdk-core/src/model/http/index.ts @@ -3,3 +3,4 @@ export * from './common/ConnectionError'; export * from './model/BacktraceSubmissionResponse'; export * from './model/BacktraceSubmissionResult'; export * from './model/BacktraceSubmissionStatus'; +export * from './SubmissionUrlInformation'; diff --git a/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts b/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts new file mode 100644 index 00000000..b8903742 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts @@ -0,0 +1,64 @@ +import { SubmissionUrlInformation } from '../../model/http'; + +export class MetricsUrlInformation { + public static generateSummedEventsUrl( + hostname: string, + submissionUrl: string, + credentialsToken: string | null, + ): string | undefined { + const submissionInformation = this.findSubmissionInformation(submissionUrl, credentialsToken); + if (!submissionInformation) { + return undefined; + } + return this.generateEventsServiceUrl( + hostname, + 'summed-events', + submissionInformation.universe, + submissionInformation.token, + ); + } + + public static generateUniqueEventsUrl( + hostname: string, + submissionUrl: string, + credentialsToken: string | null, + ): string | undefined { + const submissionInformation = this.findSubmissionInformation(submissionUrl, credentialsToken); + if (!submissionInformation) { + return undefined; + } + + return this.generateEventsServiceUrl( + hostname, + 'unique-events', + submissionInformation.universe, + submissionInformation.token, + ); + } + + private static generateEventsServiceUrl( + hostname: string, + eventServiceName: string, + universe: string, + token: string, + ): string { + return new URL(`/api/${eventServiceName}/submit?universe=${universe}&token=${token}`, hostname).toString(); + } + + private static findSubmissionInformation( + submissionUrl: string, + token: string | null, + ): { universe: string; token: string } | undefined { + const universe = SubmissionUrlInformation.findUniverse(submissionUrl); + if (!universe) { + return undefined; + } + + token = token ?? SubmissionUrlInformation.findToken(submissionUrl); + + if (!token) { + return undefined; + } + return { universe, token }; + } +} diff --git a/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts b/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts new file mode 100644 index 00000000..5b2c7404 --- /dev/null +++ b/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts @@ -0,0 +1,37 @@ +import { SubmissionUrlInformation } from '../../src/model/http'; +describe('Submission Url generation tests', () => { + describe('Submit', () => { + const sampleSubmitUrl = `https://submit.backtrace.io/name/000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111/json`; + it('Should use submit url from the configuration options', () => { + expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(sampleSubmitUrl)).toBe(sampleSubmitUrl); + }); + + it(`Shouldnt mix token with the submission url`, () => { + expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(sampleSubmitUrl, '123')).toBe(sampleSubmitUrl); + }); + }); + + describe('Direct URL', () => { + const hostname = `https://instance.sp.backtrace.io`; + const token = `000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111`; + const fullUrl = `${hostname}/post?format=json&token=${token}`; + it('Should use the direct url if the token is not available', () => { + expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(fullUrl)).toBe(fullUrl); + }); + + it(`Shouldn't mix token with the submission url if the token is already there`, () => { + expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(fullUrl, token)).toBe(fullUrl); + }); + + it(`Should generate a full url if the token and instance are passed separated`, () => { + expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(hostname, token)).toBe(fullUrl); + }); + + it(`Should override the token in the submission url`, () => { + const testedToken = '111111110000000000001111111100000000000020c81fbdedf6991c2f3bb45b'; + const expectedUrl = `${hostname}/post?format=json&token=${testedToken}`; + + expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(fullUrl, testedToken)).toBe(expectedUrl); + }); + }); +}); diff --git a/packages/sdk-core/tests/http/tokenTests.spec.ts b/packages/sdk-core/tests/http/tokenTests.spec.ts new file mode 100644 index 00000000..8eb79851 --- /dev/null +++ b/packages/sdk-core/tests/http/tokenTests.spec.ts @@ -0,0 +1,24 @@ +import { SubmissionUrlInformation } from '../../src/model/http'; + +describe('Token tests', () => { + const testedToken = '000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111'; + describe('Submit', () => { + const sampleSubmitUrl = `https://submit.backtrace.io/test/${testedToken}/json`; + + it('Should correctly find the universe name', () => { + expect(SubmissionUrlInformation.findToken(sampleSubmitUrl)).toBe(testedToken); + }); + }); + + describe('Direct', () => { + it(`Should return null if the url doesn't contain the submission token`, () => { + expect(SubmissionUrlInformation.findToken(`https://foo.sp.backtrace.io`)).toBeNull(); + }); + + it(`Should return token from the direct url`, () => { + expect( + SubmissionUrlInformation.findToken(`https://foo.sp.backtrace.io/post?format=json&token=${testedToken}`), + ).toBe(testedToken); + }); + }); +}); diff --git a/packages/sdk-core/tests/http/universeTests.spec.ts b/packages/sdk-core/tests/http/universeTests.spec.ts new file mode 100644 index 00000000..578ff0a4 --- /dev/null +++ b/packages/sdk-core/tests/http/universeTests.spec.ts @@ -0,0 +1,26 @@ +import { SubmissionUrlInformation } from '../../src/model/http'; +describe('Universe tests', () => { + const testedUniverseName = 'foo-bar-baz'; + describe('Submit', () => { + const sampleSubmitUrl = `https://submit.backtrace.io/${testedUniverseName}/000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111/json`; + + it('Should correctly find the universe name', () => { + expect(SubmissionUrlInformation.findUniverse(sampleSubmitUrl)).toBe(testedUniverseName); + }); + }); + + describe('Direct', () => { + const testedBacktraceDomainPrefixes = ['', '.sp', '.in']; + for (const backtracePrefix of testedBacktraceDomainPrefixes) { + it(`Should correctly find the universe name with prefix ${backtracePrefix}`, () => { + const sampleDirectUrl = `https://${testedUniverseName}${backtracePrefix}.backtrace.io`; + expect(SubmissionUrlInformation.findUniverse(sampleDirectUrl)).toBe(testedUniverseName); + }); + } + + it('Should correctly find the universe in the direct url with the token', () => { + const sampleDirectUrl = `https://${testedUniverseName}.sp.backtrace.io/post?format=json&token=000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111`; + expect(SubmissionUrlInformation.findUniverse(sampleDirectUrl)).toBe(testedUniverseName); + }); + }); +}); From cb56358a464ffeb195b1ff285622e71367b464cc Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 30 Jun 2023 08:25:57 +0200 Subject: [PATCH 056/291] Add printing asset stats to Webpack plugin (#32) * webpack-plugin: add webpack build for testing * webpack-plugin: add asset stats printing * webpack plugin: changes info logs to log --------- Co-authored-by: Sebastian Alex --- package-lock.json | 28 ++++------ tools/webpack-plugin/.gitignore | 1 + tools/webpack-plugin/package.json | 5 +- tools/webpack-plugin/src/BacktracePlugin.ts | 24 +++++++-- .../src/helpers/statsPrinter.ts | 52 +++++++++++++++++++ tools/webpack-plugin/src/models/AssetStats.ts | 7 +++ tools/webpack-plugin/webpack.config.js | 39 ++++++++++++++ 7 files changed, 134 insertions(+), 22 deletions(-) create mode 100644 tools/webpack-plugin/.gitignore create mode 100644 tools/webpack-plugin/src/helpers/statsPrinter.ts create mode 100644 tools/webpack-plugin/src/models/AssetStats.ts create mode 100644 tools/webpack-plugin/webpack.config.js diff --git a/package-lock.json b/package-lock.json index fe8c30d4..8df8d2e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6301,9 +6301,8 @@ }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/json5": { "version": "1.0.2", @@ -6404,9 +6403,8 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -6738,9 +6736,8 @@ }, "node_modules/nock": { "version": "13.3.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.1.tgz", - "integrity": "sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -7392,9 +7389,8 @@ }, "node_modules/propagate": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -10617,6 +10613,8 @@ "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", "typescript": "^5.0.4", "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "engines": { @@ -11077,6 +11075,8 @@ "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", "typescript": "^5.0.4", "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" } }, @@ -14898,8 +14898,6 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "json5": { @@ -14960,8 +14958,6 @@ }, "lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.memoize": { @@ -15197,8 +15193,6 @@ }, "nock": { "version": "13.3.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.1.tgz", - "integrity": "sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -15616,8 +15610,6 @@ }, "propagate": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, "prr": { diff --git a/tools/webpack-plugin/.gitignore b/tools/webpack-plugin/.gitignore new file mode 100644 index 00000000..2f9f20c3 --- /dev/null +++ b/tools/webpack-plugin/.gitignore @@ -0,0 +1 @@ +webpackBuild/ diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index da88baa8..846f8ee7 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -9,6 +9,7 @@ }, "scripts": { "build": "tsc -b ./tsconfig.build.json", + "build:webpack": "webpack", "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", @@ -45,9 +46,11 @@ "jest": "^29.5.0", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", "typescript": "^5.0.4", "webpack-4": "npm:webpack@^4.46.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 72952102..6cbbcd3d 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -1,6 +1,8 @@ import { DebugIdGenerator, SourceMapUploader, SourceProcessor } from '@backtrace/sourcemap-tools'; import path from 'path'; import webpack, { WebpackPluginInstance } from 'webpack'; +import { statsPrinter } from './helpers/statsPrinter'; +import { AssetStats } from './models/AssetStats'; import { BacktracePluginOptions } from './models/BacktracePluginOptions'; export class BacktracePlugin implements WebpackPluginInstance { @@ -15,6 +17,8 @@ export class BacktracePlugin implements WebpackPluginInstance { } public apply(compiler: webpack.Compiler) { + const assetStats = new Map(); + compiler.hooks.afterEmit.tapPromise(BacktracePlugin.name, async (compilation) => { const logger = compilation.getLogger(BacktracePlugin.name); if (!compilation.outputOptions.path) { @@ -48,33 +52,47 @@ export class BacktracePlugin implements WebpackPluginInstance { logger.log(`received ${entries.length} files for processing`); for (const [asset, sourcePath, sourceMapPath] of entries) { + const stats: AssetStats = {}; + assetStats.set(asset, stats); + let debugId: string; logger.time(`[${asset}] process source and sourcemap`); try { debugId = await this._sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath); + stats.debugId = debugId; + stats.processSource = true; + logger.timeEnd(`[${asset}] process source and sourcemap`); } catch (err) { logger.error(`[${asset}] process source and sourcemap failed:`, err); + stats.processSource = err instanceof Error ? err : new Error('Unknown error.'); continue; } finally { logger.timeEnd(`[${asset}] process source and sourcemap`); } if (!this._sourceMapUploader) { - logger.info(`[${asset}] file processed`); + logger.log(`[${asset}] file processed`); continue; } logger.time(`[${asset}] upload sourcemap`); try { - await this._sourceMapUploader.upload(sourceMapPath, debugId); - logger.info(`[${asset}] file processed and sourcemap uploaded`); + const result = await this._sourceMapUploader.upload(sourceMapPath, debugId); + stats.sourceMapUpload = result; + logger.log(`[${asset}] file processed and sourcemap uploaded`); } catch (err) { logger.error(`[${asset}] upload sourcemap failed:`, err); + stats.sourceMapUpload = err instanceof Error ? err : new Error('Unknown error.'); } finally { logger.timeEnd(`[${asset}] upload sourcemap`); } } + + const printer = statsPrinter(compilation.getLogger(BacktracePlugin.name)); + for (const [key, stats] of assetStats) { + printer(key, stats); + } }); } } diff --git a/tools/webpack-plugin/src/helpers/statsPrinter.ts b/tools/webpack-plugin/src/helpers/statsPrinter.ts new file mode 100644 index 00000000..73f4a81c --- /dev/null +++ b/tools/webpack-plugin/src/helpers/statsPrinter.ts @@ -0,0 +1,52 @@ +import webpack from 'webpack'; +import { AssetStats } from '../models/AssetStats'; + +function statToString(stat: boolean | string | Error) { + if (typeof stat === 'string') { + return stat; + } + + if (typeof stat === 'boolean') { + return stat ? 'successful' : 'skipped'; + } + + return stat.message; +} + +export function statsPrinter(logger: webpack.Compilation['logger']) { + return function printStats(key: string, stats: AssetStats) { + const errors = [stats.sourceMapUpload, stats.processSource].some((v) => v instanceof Error); + + const infoLog = errors + ? (...args: unknown[]) => logger.error(...args) + : (...args: unknown[]) => logger.info(...args); + + const debugLog = (...args: unknown[]) => logger.log(...args); + + if (!errors) { + if (!!stats.sourceMapUpload && !(stats.sourceMapUpload instanceof Error)) { + infoLog(`[${key}] processed file and uploaded sourcemap successfully`); + } else { + infoLog(`[${key}] processed file successfully`); + } + } else { + infoLog(`[${key}] processed file with errors`); + } + + debugLog(`\tdebugId: ${stats.debugId ?? ''}`); + + if (stats.processSource != null) { + debugLog(`\tsource snippet append: ${statToString(stats.processSource) ?? ''}`); + } + + if (stats.sourceMapUpload != null) { + if (stats.sourceMapUpload === false || stats.sourceMapUpload instanceof Error) { + debugLog(`\tsourcemap upload: ${statToString(stats.sourceMapUpload)}`); + } else { + debugLog( + `\tsourcemap upload: yes, rxid: ${stats.sourceMapUpload.rxid}, debugId: ${stats.sourceMapUpload.debugId}`, + ); + } + } + }; +} diff --git a/tools/webpack-plugin/src/models/AssetStats.ts b/tools/webpack-plugin/src/models/AssetStats.ts new file mode 100644 index 00000000..1d1cb2a6 --- /dev/null +++ b/tools/webpack-plugin/src/models/AssetStats.ts @@ -0,0 +1,7 @@ +import { UploadResult } from '@backtrace/sourcemap-tools'; + +export interface AssetStats { + debugId?: string; + processSource?: boolean | string | Error; + sourceMapUpload?: false | UploadResult | Error; +} diff --git a/tools/webpack-plugin/webpack.config.js b/tools/webpack-plugin/webpack.config.js new file mode 100644 index 00000000..5a09c65a --- /dev/null +++ b/tools/webpack-plugin/webpack.config.js @@ -0,0 +1,39 @@ +const path = require('path'); +const { BacktracePlugin } = require('./lib'); +const nodeExternals = require('webpack-node-externals'); + +/** @type {import('webpack').Configuration} */ +module.exports = { + entry: './src/index.ts', + devtool: 'source-map', + mode: 'production', + target: 'node', + externalsPresets: { node: true }, + resolve: { + extensions: ['.ts', '.js'], + }, + stats: { + logging: 'verbose', + }, + module: { + rules: [ + { + test: /.ts$/, + loader: 'ts-loader', + options: { + configFile: 'tsconfig.build.json', + }, + }, + ], + }, + output: { + path: path.join(__dirname, './webpackBuild'), + filename: '[name].js', + }, + externals: [ + nodeExternals({ + additionalModuleDirs: ['../../node_modules'], + }), + ], + plugins: [new BacktracePlugin({})], +}; From 6c0342f524020e4d0dbfd1d20475bdbcfe3fec40 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 30 Jun 2023 06:30:29 +0000 Subject: [PATCH 057/291] packages: fix dependencies and remove unnecessary package-locks --- examples/sdk/browser/package-lock.json | 2682 ------------------------ examples/sdk/browser/package.json | 2 +- examples/sdk/node/package-lock.json | 40 - examples/sdk/node/package.json | 3 + package-lock.json | 5 +- 5 files changed, 7 insertions(+), 2725 deletions(-) delete mode 100644 examples/sdk/browser/package-lock.json delete mode 100644 examples/sdk/node/package-lock.json diff --git a/examples/sdk/browser/package-lock.json b/examples/sdk/browser/package-lock.json deleted file mode 100644 index 74835e4a..00000000 --- a/examples/sdk/browser/package-lock.json +++ /dev/null @@ -1,2682 +0,0 @@ -{ - "name": "@backtrace/browser-example", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@backtrace/browser-example", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@backtrace/browser": "file:../../../packages/browser" - }, - "devDependencies": { - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "../../../packages/browser": { - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/sdk-core": "^0.0.1", - "ua-parser-js": "^1.0.35" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "node_modules/@backtrace/browser": { - "resolved": "../../../packages/browser", - "link": true - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@types/eslint": { - "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", - "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001508", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", - "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.440", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz", - "integrity": "sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", - "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", - "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-loader": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", - "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - }, - "dependencies": { - "@backtrace/browser": { - "version": "file:../../../packages/browser", - "requires": { - "@backtrace/sdk-core": "^0.0.1", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@types/eslint": { - "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "@types/node": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", - "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001508", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", - "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "electron-to-chromium": { - "version": "1.4.440", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz", - "integrity": "sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "envinfo": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.9.0.tgz", - "integrity": "sha512-RODB4txU+xImYDemN5DqaKC0CHk05XSVkOX4pq0hK26Qx+1LChkuOyUDlGEjYb3ACr0n9qBhFjg37hQuJvpkRQ==", - "dev": true - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "terser": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", - "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ts-loader": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", - "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - } - }, - "typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } - }, - "webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } -} diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index 4866a0b7..de0ac895 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -39,6 +39,6 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/browser": "file:../../../packages/browser" + "@backtrace/browser": "^0.0.1" } } diff --git a/examples/sdk/node/package-lock.json b/examples/sdk/node/package-lock.json deleted file mode 100644 index 0177be83..00000000 --- a/examples/sdk/node/package-lock.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "@backtrace/node-example", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@backtrace/node-example", - "version": "1.0.0", - "license": "MIT", - "devDependencies": { - "typescript": "^5.1.3" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - } - }, - "dependencies": { - "typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", - "dev": true - } - } -} diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json index e34f07fe..2eab1b7f 100644 --- a/examples/sdk/node/package.json +++ b/examples/sdk/node/package.json @@ -35,5 +35,8 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "typescript": "^5.1.3" + }, + "dependencies": { + "@backtrace/node": "^0.0.1" } } diff --git a/package-lock.json b/package-lock.json index 8df8d2e6..de5efb5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "license": "MIT", "workspaces": [ "packages/*", - "tools/*" + "tools/*", + "examples/*" ], "devDependencies": { "@types/node": "^14.18.51", @@ -11051,7 +11052,7 @@ "@types/jest": "^29.5.1", "jest": "^29.5.0", "nock": "^13.3.1", - "source-map": "*", + "source-map": "^0.7.4", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, From 1d7e1f001e4151a4566895f341f449df700077ca Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 30 Jun 2023 06:57:21 +0000 Subject: [PATCH 058/291] webpack plugin: remove additional timeEnd log --- tools/webpack-plugin/src/BacktracePlugin.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 6cbbcd3d..4929f84e 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -62,7 +62,6 @@ export class BacktracePlugin implements WebpackPluginInstance { debugId = await this._sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath); stats.debugId = debugId; stats.processSource = true; - logger.timeEnd(`[${asset}] process source and sourcemap`); } catch (err) { logger.error(`[${asset}] process source and sourcemap failed:`, err); stats.processSource = err instanceof Error ? err : new Error('Unknown error.'); From 2295180cab1dbb6a405aead8d196cbae2ecc2132 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 30 Jun 2023 06:57:45 +0000 Subject: [PATCH 059/291] sourcemap tools: fix missing sourcemap data after offsetting --- tools/sourcemap-tools/src/SourceProcessor.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 23d3458c..9a04e9b5 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -61,7 +61,8 @@ export class SourceProcessor { fromLine: number, count: number, ): Promise { - const consumer = (await new SourceMapConsumer(sourceMap)) as BasicSourceMapConsumer; + const sourceMapObj = typeof sourceMap === 'string' ? JSON.parse(sourceMap) : sourceMap; + const consumer = (await new SourceMapConsumer(sourceMapObj)) as BasicSourceMapConsumer; const newSourceMap = new SourceMapGenerator({ file: consumer.file, sourceRoot: consumer.sourceRoot, @@ -87,6 +88,7 @@ export class SourceProcessor { }); }); - return newSourceMap.toJSON(); + const newSourceMapJson = newSourceMap.toJSON(); + return { ...sourceMapObj, ...newSourceMapJson }; } } From 78bad2dfcd8afd60e00208309e23ec6bfb2d9209 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 30 Jun 2023 07:01:38 +0000 Subject: [PATCH 060/291] browser example: add BacktracePlugin to build --- examples/sdk/browser/package.json | 3 ++- examples/sdk/browser/webpack.config.js | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index de0ac895..8f903a25 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -39,6 +39,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/browser": "^0.0.1" + "@backtrace/browser": "^0.0.1", + "@backtrace/webpack-plugin": "^0.0.1" } } diff --git a/examples/sdk/browser/webpack.config.js b/examples/sdk/browser/webpack.config.js index 9d3a346f..1ffebc94 100644 --- a/examples/sdk/browser/webpack.config.js +++ b/examples/sdk/browser/webpack.config.js @@ -1,4 +1,5 @@ const path = require('path'); +const { BacktracePlugin } = require('@backtrace/webpack-plugin'); const { webpackTypescriptConfig } = require('../../../build/common'); /** @type {import('webpack').Configuration} */ @@ -12,4 +13,5 @@ module.exports = { filename: 'index.js', path: path.join(__dirname, 'lib'), }, + plugins: [new BacktracePlugin()], }; From 6979798992b39e7be4b288363ed7d82e6a6adae8 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 30 Jun 2023 11:32:57 +0200 Subject: [PATCH 061/291] Command line attribute provider (#35) * URL parsers * Command line attribute provider * Code review suggestions * Nullable token * Resolved path to node file * Do not use resolve --- .../attributes/ApplicationInformationAttributeProvider.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index c784bea2..3d5b5b6c 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -50,6 +50,13 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu private generateDefaultApplicationSearchPaths() { const possibleSourcePaths = [process.cwd()]; + const potentialCommandLineStartupFile = process.argv[1]; + if (potentialCommandLineStartupFile) { + const potentialCommandLineStartupFilePath = path.resolve(potentialCommandLineStartupFile); + if (fs.existsSync(potentialCommandLineStartupFilePath)) { + possibleSourcePaths.unshift(potentialCommandLineStartupFilePath); + } + } if (require.main?.path) { possibleSourcePaths.unshift(path.dirname(require.main.path)); } From 45ac71d47bc8fa5e8a924719418a088495a17dad Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 30 Jun 2023 12:25:51 +0200 Subject: [PATCH 062/291] Feature/metrics (#36) * URL parsers * Command line attribute provider * Code review suggestions * Metrics support * Nullable token * Accept null | undefined * Correct import * Determines typo * Code review adjustements * Code review adjustements, test based on the variable and not random date, delay helper reject * Recursive to iterative + delay helper error on reject * Added one more test case * Rollback submission url in the test --- examples/sdk/browser/index.html | 6 + examples/sdk/browser/src/index.ts | 22 ++ examples/sdk/node/src/index.ts | 24 +++ .../src/BacktraceBrowserSessionProvider.ts | 68 ++++++ packages/browser/src/BacktraceClient.ts | 3 +- .../browser/tests/client/clientTests.spec.ts | 36 ++-- .../persistentSessionProviderTests.spec.ts | 51 +++++ .../node/tests/client/clientTests.spec.ts | 30 +-- packages/sdk-core/src/BacktraceCoreClient.ts | 35 +++- packages/sdk-core/src/common/DelayHelper.ts | 22 ++ packages/sdk-core/src/common/TimeHelper.ts | 4 + packages/sdk-core/src/index.ts | 1 + .../configuration/BacktraceConfiguration.ts | 24 ++- .../src/modules/metrics/BacktraceMetrics.ts | 124 +++++++++++ .../metrics/BacktraceSessionProvider.ts | 20 ++ .../src/modules/metrics/MetricsBuilder.ts | 137 +++++++++++++ .../src/modules/metrics/MetricsQueue.ts | 7 + .../modules/metrics/MetricsSubmissionQueue.ts | 80 ++++++++ .../modules/metrics/MetricsUrlInformation.ts | 6 +- .../modules/metrics/SingleSessionProvider.ts | 24 +++ .../src/modules/metrics/model/MetricsEvent.ts | 20 ++ .../src/modules/metrics/model/SummedEvent.ts | 8 + .../src/modules/metrics/model/UniqueEvent.ts | 8 + .../tests/metrics/metricSetupTests.spec.ts | 127 ++++++++++++ .../metrics/mocks/mockSubmissionQueue.ts | 14 ++ .../tests/metrics/summedEventTests.spec.ts | 193 ++++++++++++++++++ .../tests/metrics/uniqueEventTests.spec.ts | 172 ++++++++++++++++ .../tests/mocks/BacktraceTestClient.ts | 17 +- .../sdk-core/tests/mocks/testHttpClient.ts | 6 + 29 files changed, 1227 insertions(+), 62 deletions(-) create mode 100644 packages/browser/src/BacktraceBrowserSessionProvider.ts create mode 100644 packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts create mode 100644 packages/sdk-core/src/common/DelayHelper.ts create mode 100644 packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts create mode 100644 packages/sdk-core/src/modules/metrics/BacktraceSessionProvider.ts create mode 100644 packages/sdk-core/src/modules/metrics/MetricsBuilder.ts create mode 100644 packages/sdk-core/src/modules/metrics/MetricsQueue.ts create mode 100644 packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts create mode 100644 packages/sdk-core/src/modules/metrics/SingleSessionProvider.ts create mode 100644 packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts create mode 100644 packages/sdk-core/src/modules/metrics/model/SummedEvent.ts create mode 100644 packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts create mode 100644 packages/sdk-core/tests/metrics/metricSetupTests.spec.ts create mode 100644 packages/sdk-core/tests/metrics/mocks/mockSubmissionQueue.ts create mode 100644 packages/sdk-core/tests/metrics/summedEventTests.spec.ts create mode 100644 packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts create mode 100644 packages/sdk-core/tests/mocks/testHttpClient.ts diff --git a/examples/sdk/browser/index.html b/examples/sdk/browser/index.html index c98a9ee4..5bcef440 100644 --- a/examples/sdk/browser/index.html +++ b/examples/sdk/browser/index.html @@ -31,6 +31,12 @@

Welcome to the Backtrace demo Send a message + +

If you have any questions or concerns, please contact us at

diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts index 7132174f..9da92984 100644 --- a/examples/sdk/browser/src/index.ts +++ b/examples/sdk/browser/src/index.ts @@ -21,6 +21,8 @@ function parseNotExistingDomElement(): string { const sendErrorButton = document.getElementById('send-error') as HTMLElement; const sendMessageButton = document.getElementById('send-message') as HTMLElement; +const generateMetricButton = document.getElementById('generate-metric') as HTMLElement; +const sendMetricsButton = document.getElementById('send-metrics') as HTMLElement; async function sendHandledException() { try { @@ -40,5 +42,25 @@ async function sendMessage() { ]); } +function generateMetric() { + console.log('generate-metric click'); + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.addSummedEvent('click'); +} + +function sendMetrics() { + console.log('send-metrics click'); + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.send(); +} + sendErrorButton.onclick = sendHandledException; sendMessageButton.onclick = sendMessage; +generateMetricButton.onclick = generateMetric; +sendMetricsButton.onclick = sendMetrics; diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index b3c1fe32..80f8ec48 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -38,11 +38,27 @@ async function sendMessage(message: string, attributes: Record) await client.send(message, attributes); } +function addEvent(name: string, attributes: Record) { + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.addSummedEvent(name, attributes); +} +function sendMetrics() { + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.send(); +} function showMenu() { const menu = `Please pick one of available options:\n` + `1. Send an exception\n` + `2. Send a message\n` + + `3. Add a new summed event\n` + + `4. Send all metrics\n` + `0. Exit\n` + `Type the option number:`; reader.question(menu, async function executeUserOption(optionString: string) { @@ -59,6 +75,14 @@ function showMenu() { await sendMessage('test message', attributes); break; } + case 3: { + addEvent('Option clicked', attributes); + break; + } + case 4: { + sendMetrics(); + break; + } case 0: { reader.close(); return exit(0); diff --git a/packages/browser/src/BacktraceBrowserSessionProvider.ts b/packages/browser/src/BacktraceBrowserSessionProvider.ts new file mode 100644 index 00000000..0ac1c174 --- /dev/null +++ b/packages/browser/src/BacktraceBrowserSessionProvider.ts @@ -0,0 +1,68 @@ +import { BacktraceSessionProvider, IdGenerator } from '@backtrace/sdk-core'; +import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; + +export class BacktraceBrowserSessionProvider implements BacktraceSessionProvider { + /** + * Session persistence interval. If no event was send in the persistence interval + * the session is treaten as an old session. + */ + public static readonly PERSISTENCE_INTERVAL = TimeHelper.convertSecondsToMilliseconds(30 * 60); + private readonly SESSION_LAST_ACTIVE = 'backtrace-last-active'; + private readonly SESSION_GUID = 'backtrace-guid'; + + get lastActive(): number { + return this._lastActive; + } + + public readonly newSession: boolean = true; + + public readonly sessionId: string = IdGenerator.uuid(); + + private _lastActive = 0; + + constructor() { + if (!window.localStorage) { + return; + } + + const lastActive = this.readLastActiveTimestamp(); + if (!lastActive || TimeHelper.now() - lastActive > BacktraceBrowserSessionProvider.PERSISTENCE_INTERVAL) { + this.updateLastActiveTimestamp(); + localStorage.setItem(this.SESSION_GUID, this.sessionId); + return; + } + this._lastActive = lastActive; + this.newSession = false; + this.sessionId = localStorage.getItem(this.SESSION_GUID) as string; + } + + public afterMetricsSubmission(): void { + this.updateLastActiveTimestamp(); + } + + public shouldSend(): boolean { + // if the document is hidden, we shouldn't send metrics, because the open document + // is the one who is being used by the user. This condition makes sure two or more web + // browser tabs of the same app won't report the same metrics or false positive metrics. + return document.hidden === false; + } + + private readLastActiveTimestamp(): number | undefined { + const lastActiveStringTimestamp = localStorage.getItem(this.SESSION_LAST_ACTIVE); + if (!lastActiveStringTimestamp) { + return undefined; + } + + const lastActive = parseInt(lastActiveStringTimestamp, 10); + if (isNaN(lastActive)) { + return undefined; + } + + return lastActive; + } + + public updateLastActiveTimestamp() { + this._lastActive = TimeHelper.now(); + localStorage.setItem(this.SESSION_LAST_ACTIVE, this._lastActive.toString(10)); + } +} diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 8e6d65fb..c0ee6744 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -5,6 +5,7 @@ import { BacktraceStackTraceConverter, } from '@backtrace/sdk-core'; import { AGENT } from './agentDefinition'; +import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; @@ -15,7 +16,7 @@ export class BacktraceClient extends BacktraceCoreClient { attributeProviders: BacktraceAttributeProvider[], stackTraceConverter: BacktraceStackTraceConverter, ) { - super(options, AGENT, handler, attributeProviders, stackTraceConverter); + super(options, AGENT, handler, attributeProviders, stackTraceConverter, new BacktraceBrowserSessionProvider()); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index ecffff00..0606afe6 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -7,26 +7,25 @@ describe('Client tests', () => { postError: jest.fn().mockResolvedValue(Promise.resolve()), }; + const defaultClientOptions = { + name: 'test', + version: '1.0.0', + url: 'https://submit.backtrace.io/foo/bar/baz', + metrics: { + enable: false, + }, + }; + let client: BacktraceClient; it('Should create a client', () => { - client = BacktraceClient.builder({ - name: 'test', - version: '1.0.0', - url: 'https://submit.backtrace.io/foo/bar/baz', - }).build(); + client = BacktraceClient.builder(defaultClientOptions).build(); expect(client).toBeDefined(); }); describe('Send tests', () => { beforeEach(() => { - client = BacktraceClient.builder({ - name: 'test', - version: '1.0.0', - url: 'https://submit.backtrace.io/foo/bar/baz', - }) - .useRequestHandler(requestHandler) - .build(); + client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); }); it(`Should not throw an error when sending a message`, async () => { expect(async () => await client.send('test')).not.toThrow(); @@ -48,9 +47,7 @@ describe('Client tests', () => { it(`Should generate an attachment list based on the client options`, async () => { const testedAttachment = new BacktraceUint8ArrayAttachment('client-add-test', new Uint8Array(0)); client = BacktraceClient.builder({ - name: 'test', - version: '1.0.0', - url: 'https://submit.backtrace.io/foo/bar/baz', + ...defaultClientOptions, attachments: [testedAttachment], }) .useRequestHandler(requestHandler) @@ -63,14 +60,7 @@ describe('Client tests', () => { it(`Should allow to add more attachments`, async () => { const testedAttachment = new BacktraceUint8ArrayAttachment('client-add-test', new Uint8Array(0)); - client = BacktraceClient.builder({ - name: 'test', - version: '1.0.0', - url: 'https://submit.backtrace.io/foo/bar/baz', - attachments: [], - }) - .useRequestHandler(requestHandler) - .build(); + client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); client.attachments.push(testedAttachment); expect(client.attachments).toBeDefined(); diff --git a/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts b/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts new file mode 100644 index 00000000..4b4850ce --- /dev/null +++ b/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts @@ -0,0 +1,51 @@ +import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; +import { BacktraceBrowserSessionProvider } from '../../src/BacktraceBrowserSessionProvider'; +describe('Session provider tests', () => { + it('Should generate a new uuid on new session', () => { + const sessionProvider = new BacktraceBrowserSessionProvider(); + + expect(sessionProvider.sessionId).toBeDefined(); + }); + + it('Should reuse the same sessionId', () => { + const sessionProvider1 = new BacktraceBrowserSessionProvider(); + const sessionProvider2 = new BacktraceBrowserSessionProvider(); + expect(sessionProvider1.sessionId).toEqual(sessionProvider2.sessionId); + }); + + it('Should generate a new sessionId if the lastActive timestamp is greater than persistence interval time', () => { + const fakeId = 'test'; + const lastSessionActiveDate = new Date(Date.now() - BacktraceBrowserSessionProvider.PERSISTENCE_INTERVAL - 1); + localStorage.setItem('backtrace-last-active', lastSessionActiveDate.getTime().toString(10)); + localStorage.setItem('backtrace-guid', fakeId); + + const sessionProvider = new BacktraceBrowserSessionProvider(); + expect(sessionProvider.sessionId).toBeDefined(); + expect(sessionProvider.sessionId).not.toEqual(fakeId); + }); + + it('Should not generate a new sessionId if the lastActive timestamp is lower than persistence interval time', () => { + const fakeId = 'test'; + const lastSessionActiveDate = new Date(Date.now() - BacktraceBrowserSessionProvider.PERSISTENCE_INTERVAL + 1); + localStorage.setItem('backtrace-last-active', lastSessionActiveDate.getTime().toString(10)); + localStorage.setItem('backtrace-guid', fakeId); + + const sessionProvider = new BacktraceBrowserSessionProvider(); + expect(sessionProvider.sessionId).toBeDefined(); + expect(sessionProvider.sessionId).toEqual(fakeId); + }); + + it('Should update timestamp', () => { + const timestamp = Date.now(); + jest.spyOn(TimeHelper, 'now').mockImplementation(() => { + return timestamp; + }); + + localStorage.setItem('backtrace-last-active', new Date(2010, 1, 1, 1, 1, 1, 1).getTime().toString(10)); + const sessionProvider = new BacktraceBrowserSessionProvider(); + + sessionProvider.afterMetricsSubmission(); + + expect(sessionProvider.lastActive).toEqual(timestamp); + }); +}); diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index 1dd327a6..36318377 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -8,22 +8,22 @@ describe('Client tests', () => { postError: jest.fn().mockResolvedValue(Promise.resolve()), }; + const defaultClientOptions = { + url: 'https://submit.backtrace.io/foo/bar/baz', + metrics: { + enable: false, + }, + }; let client: BacktraceClient; it('Should create a client', () => { - client = BacktraceClient.builder({ - url: 'https://submit.backtrace.io/foo/bar/baz', - }).build(); + client = BacktraceClient.builder(defaultClientOptions).build(); expect(client).toBeDefined(); }); describe('Send tests', () => { beforeEach(() => { - client = BacktraceClient.builder({ - url: 'https://submit.backtrace.io/foo/bar/baz', - }) - .useRequestHandler(requestHandler) - .build(); + client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); }); it(`Should not throw an error when sending a message`, async () => { expect(async () => await client.send('test')).not.toThrow(); @@ -46,10 +46,7 @@ describe('Client tests', () => { const fileContent = fs.readFileSync(sampleFile, 'utf8'); it(`Should generate an attachment list based on the client options`, async () => { - client = BacktraceClient.builder({ - url: 'https://submit.backtrace.io/foo/bar/baz', - attachments: [sampleFile], - }) + client = BacktraceClient.builder({ ...defaultClientOptions, attachments: [sampleFile] }) .useRequestHandler(requestHandler) .build(); @@ -66,7 +63,7 @@ describe('Client tests', () => { it(`Should allow to setup bufer attachment`, async () => { const testedBuffer = Buffer.from('test'); client = BacktraceClient.builder({ - url: 'https://submit.backtrace.io/foo/bar/baz', + ...defaultClientOptions, attachments: [new BacktraceBufferAttachment('test', testedBuffer)], }) .useRequestHandler(requestHandler) @@ -79,12 +76,7 @@ describe('Client tests', () => { it(`Should allow to add more attachments`, async () => { const testedAttachment = new BacktraceFileAttachment(sampleFile); - client = BacktraceClient.builder({ - url: 'https://submit.backtrace.io/foo/bar/baz', - attachments: [], - }) - .useRequestHandler(requestHandler) - .build(); + client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); client.attachments.push(testedAttachment); expect(client.attachments).toBeDefined(); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 4a507b82..763cc57b 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,6 +1,10 @@ -import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceStackTraceConverter } from '.'; +import { + BacktraceAttachment, + BacktraceAttributeProvider, + BacktraceSessionProvider, + BacktraceStackTraceConverter, +} from '.'; import { SdkOptions } from './builder/SdkOptions'; -import { IdGenerator } from './common/IdGenerator'; import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; import { AttributeType } from './model/data/BacktraceData'; import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; @@ -10,13 +14,16 @@ import { AttributeManager } from './modules/attribute/AttributeManager'; import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; +import { BacktraceMetrics } from './modules/metrics/BacktraceMetrics'; +import { MetricsBuilder } from './modules/metrics/MetricsBuilder'; +import { SingleSessionProvider } from './modules/metrics/SingleSessionProvider'; import { RateLimitWatcher } from './modules/rateLimiter/RateLimitWatcher'; export abstract class BacktraceCoreClient { /** * Current session id */ public get sessionId(): string { - return this._sessionId; + return this._sessionProvider.sessionId; } /** @@ -46,6 +53,10 @@ export abstract class BacktraceCoreClient { return this._attributeProvider.annotations; } + public get metrics(): BacktraceMetrics | undefined { + return this._metrics; + } + /** * Client cached attachments */ @@ -55,11 +66,7 @@ export abstract class BacktraceCoreClient { private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; private readonly _attributeProvider: AttributeManager; - - /** - * Current session Id - */ - private readonly _sessionId: string = IdGenerator.uuid(); + private readonly _metrics?: BacktraceMetrics; protected constructor( protected readonly options: BacktraceConfiguration, @@ -67,15 +74,25 @@ export abstract class BacktraceCoreClient { requestHandler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[] = [], stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter(), + private readonly _sessionProvider: BacktraceSessionProvider = new SingleSessionProvider(), ) { this._dataBuilder = new BacktraceDataBuilder(this._sdkOptions, stackTraceConverter); this._reportSubmission = new BacktraceReportSubmission(options, requestHandler); this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); this._attributeProvider = new AttributeManager([ - new ClientAttributeProvider(_sdkOptions.agentVersion, this._sessionId, options.userAttributes ?? {}), + new ClientAttributeProvider( + _sdkOptions.agentVersion, + _sessionProvider.sessionId, + options.userAttributes ?? {}, + ), ...(attributeProviders ?? []), ]); this.attachments = options.attachments ?? []; + const metrics = new MetricsBuilder(options, _sessionProvider, this._attributeProvider, requestHandler).build(); + if (metrics) { + this._metrics = metrics; + this._metrics.start(); + } } /** diff --git a/packages/sdk-core/src/common/DelayHelper.ts b/packages/sdk-core/src/common/DelayHelper.ts new file mode 100644 index 00000000..a283e837 --- /dev/null +++ b/packages/sdk-core/src/common/DelayHelper.ts @@ -0,0 +1,22 @@ +export class Delay { + /** + * Promise set timeout wrapper. + * @param timeout timeout in ms + * @param signal abort signal + */ + public static wait(timeout: number, signal?: AbortSignal) { + return new Promise((resolve, reject) => { + function abortCallback() { + clearTimeout(intervalId); + reject(new Error('Operation cancelled.')); + } + + const intervalId = setTimeout(() => { + signal?.removeEventListener('abort', abortCallback); + resolve(); + }, timeout); + + signal?.addEventListener('abort', abortCallback); + }); + } +} diff --git a/packages/sdk-core/src/common/TimeHelper.ts b/packages/sdk-core/src/common/TimeHelper.ts index f3273f91..51eb3935 100644 --- a/packages/sdk-core/src/common/TimeHelper.ts +++ b/packages/sdk-core/src/common/TimeHelper.ts @@ -6,4 +6,8 @@ export class TimeHelper { public static toTimestampInSec(timestampMs: number): number { return Math.floor(timestampMs / 1000); } + + public static convertSecondsToMilliseconds(timeInSec: number): number { + return timeInSec * 1000; + } } diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 6aacfb70..bd89b6e6 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -10,3 +10,4 @@ export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/converter'; +export * from './modules/metrics/BacktraceSessionProvider'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 09221d5f..79972ac5 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,15 +1,27 @@ import { BacktraceAttachment } from '../attachment'; import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; -export interface BacktraceMetricsSupport { +export interface BacktraceMetricsOptions { + /** + * Metrics server hostname. By default the value is set to https://events.backtrace.io. + */ metricsSubmissionUrl?: string; - enable: boolean; - ignoreSslCertificate?: boolean; /** - * Indicates how often crash free metrics are sent to Backtrace. - * By default, session events are sent on application startup/finish, and every 30 minutes while the game is running. + * Determines if the metrics support is enabled. By default the value is set to true. + */ + enable?: boolean; + /** + * Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. + * By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. + * If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send + * mode manually. */ autoSendInterval?: number; + + /** + * Indicates how many events the metrics storage can store before auto submission. + */ + size?: number; } export interface BacktraceConfiguration { @@ -50,7 +62,7 @@ export interface BacktraceConfiguration { /** * Metrics such as crash free users and crash free sessions */ - metrics?: BacktraceMetricsSupport; + metrics?: BacktraceMetricsOptions; /** * Offline database settings */ diff --git a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts new file mode 100644 index 00000000..d2fada30 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts @@ -0,0 +1,124 @@ +import { TimeHelper } from '../../common/TimeHelper'; +import { BacktraceMetricsOptions } from '../../model/configuration/BacktraceConfiguration'; +import { AttributeType } from '../../model/data/BacktraceData'; +import { AttributeManager } from '../attribute/AttributeManager'; +import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; +import { BacktraceSessionProvider } from './BacktraceSessionProvider'; +import { MetricsQueue } from './MetricsQueue'; +import { SummedEvent } from './model/SummedEvent'; +import { UniqueEvent } from './model/UniqueEvent'; + +export class BacktraceMetrics { + /** + * Returns current session id. + */ + public get sessionId() { + return this._sessionProvider.sessionId; + } + + /** + * Default metrics submission interval. The variable defines how often metrics will be sent to metrics system. + */ + public readonly DEFAULT_UPDATE_INTERVAL = TimeHelper.convertSecondsToMilliseconds(30 * 60); + public readonly DEFAULT_SERVER_URL = 'https://events.backtrace.io'; + + public readonly metricsHost: string = this._options.metricsSubmissionUrl ?? this.DEFAULT_SERVER_URL; + private readonly _updateInterval: number = this._options.autoSendInterval ?? this.DEFAULT_UPDATE_INTERVAL; + + private _updateIntervalId?: ReturnType; + + constructor( + private readonly _options: BacktraceMetricsOptions, + private readonly _sessionProvider: BacktraceSessionProvider, + private readonly _attributeManager: AttributeManager, + private readonly _summedEventsSubmissionQueue: MetricsQueue, + private readonly _uniqueEventsSubmissionQueue: MetricsQueue, + ) {} + + /** + * Starts metrics submission. + */ + public start() { + if (!this._sessionProvider.newSession) { + return; + } + + this.addSummedEvent('Application Launches'); + this.send(); + + if (this._updateInterval === 0) { + return; + } + this._updateIntervalId = setInterval(() => { + this.send(); + }, this._updateInterval); + } + + /** + * Returns total number of events in the submission queue. + */ + public count() { + return this._summedEventsSubmissionQueue?.total ?? 0 + this._uniqueEventsSubmissionQueue?.total ?? 0; + } + + /** + * Add summed event to next Backtrace Metrics request. + * @param metricName Summed event name. + * @param eventAttributes event attributes. + */ + public addSummedEvent(metricName: string, eventAttributes: Record = {}): boolean { + if (!metricName) { + return false; + } + const attributes = this.convertAttributes({ + ...this._attributeManager.get().attributes, + ...ReportDataBuilder.build(eventAttributes ?? {}).attributes, + }); + + this._summedEventsSubmissionQueue.add(new SummedEvent(metricName, attributes)); + + return true; + } + + /** + * Sends event to the metrics system. + */ + public send() { + if (!this._sessionProvider.shouldSend()) { + return false; + } + this.sendUniqueEvent(); + this._summedEventsSubmissionQueue.send(); + this._sessionProvider.afterMetricsSubmission(); + return true; + } + + /** + * Cleans up metrics interface. + */ + public close() { + if (this._updateIntervalId) { + clearInterval(this._updateIntervalId); + } + } + + private sendUniqueEvent() { + // always add the same unique event before send. + const { attributes } = this._attributeManager.get(); + this._uniqueEventsSubmissionQueue.add(new UniqueEvent(this.convertAttributes(attributes))); + this._uniqueEventsSubmissionQueue.send(); + } + + /** + * Event aggregators expecting to retrieve attributes in a string format. They also + * don't expect to retrieve null/undefined as attribute values. + */ + private convertAttributes(attributes: Record) { + return Object.keys(attributes) + .filter((n) => attributes[n] != null) + .reduce((acc, n) => { + acc[n] = attributes[n]?.toString(); + return acc; + }, {} as Record); + } +} diff --git a/packages/sdk-core/src/modules/metrics/BacktraceSessionProvider.ts b/packages/sdk-core/src/modules/metrics/BacktraceSessionProvider.ts new file mode 100644 index 00000000..abbc5a0a --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/BacktraceSessionProvider.ts @@ -0,0 +1,20 @@ +export interface BacktraceSessionProvider { + /** + * Determines if the session just started + */ + readonly newSession: boolean; + + /** + * Current session id + */ + readonly sessionId: string; + + /** + * Returns last submission timestamp. If 0 it means metrics weren't send + */ + get lastActive(): number; + + afterMetricsSubmission(): void; + + shouldSend(): boolean; +} diff --git a/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts b/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts new file mode 100644 index 00000000..a238b6f1 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts @@ -0,0 +1,137 @@ +import { TimeHelper } from '../../common/TimeHelper'; +import { BacktraceConfiguration, BacktraceMetricsOptions } from '../../model/configuration/BacktraceConfiguration'; +import { BacktraceRequestHandler } from '../../model/http'; +import { AttributeManager } from '../attribute/AttributeManager'; +import { BacktraceMetrics } from './BacktraceMetrics'; +import { BacktraceSessionProvider } from './BacktraceSessionProvider'; +import { MetricsQueue } from './MetricsQueue'; +import { MetricsSubmissionQueue } from './MetricsSubmissionQueue'; +import { MetricsUrlInformation } from './MetricsUrlInformation'; +import { SummedEvent } from './model/SummedEvent'; +import { UniqueEvent } from './model/UniqueEvent'; + +interface ApplicationInfo { + application: string; + applicationVersion: string; +} +export class MetricsBuilder { + /** + * Default metrics submission interval. The variable defines how often metrics will be sent to metrics system + * By default 30 mins. + */ + public readonly DEFAULT_UPDATE_INTERVAL = TimeHelper.convertSecondsToMilliseconds(30 * 60); + + private readonly APPLICATION_VERSION_ATTRIBUTE = 'application.version'; + private readonly APPLICATION_ATTRIBUTE = 'application'; + constructor( + private readonly _options: BacktraceConfiguration, + private readonly _sessionProvider: BacktraceSessionProvider, + private readonly _attributeManager: AttributeManager, + private readonly _requestHandler: BacktraceRequestHandler, + ) {} + + public build( + uniqueEventsSubmissionQueue?: MetricsQueue, + summedEventsSubmissionQueue?: MetricsQueue, + ): BacktraceMetrics | undefined { + const metricsOptions = { + ...this.optionsWithDefaults(), + ...(this._options.metrics ?? {}), + }; + if (!metricsOptions.enable) { + return undefined; + } + const applicationInfo = this.verifyAttributeSetup(); + if (!applicationInfo) { + return undefined; + } + + uniqueEventsSubmissionQueue = + uniqueEventsSubmissionQueue ?? + this.createUniqueEventSubmissionQueue(metricsOptions.metricsSubmissionUrl as string, applicationInfo); + if (!uniqueEventsSubmissionQueue) { + return undefined; + } + + summedEventsSubmissionQueue = + summedEventsSubmissionQueue ?? + this.createSummedEventSubmissionQueue(metricsOptions.metricsSubmissionUrl as string, applicationInfo); + if (!summedEventsSubmissionQueue) { + return undefined; + } + + return new BacktraceMetrics( + metricsOptions, + this._sessionProvider, + this._attributeManager, + summedEventsSubmissionQueue, + uniqueEventsSubmissionQueue, + ); + } + + private verifyAttributeSetup(): ApplicationInfo | undefined { + const { attributes } = this._attributeManager.get(); + const application = attributes[this.APPLICATION_ATTRIBUTE] as string; + const applicationVersion = attributes[this.APPLICATION_VERSION_ATTRIBUTE] as string; + if (!application || !applicationVersion) { + return undefined; + } + + return { application, applicationVersion }; + } + + private createUniqueEventSubmissionQueue(metricsHost: string, applicationInfo: ApplicationInfo) { + const uniqueEventsSubmissionUrl = MetricsUrlInformation.generateUniqueEventsUrl( + metricsHost, + this._options.url, + this._options.token, + ); + + if (!uniqueEventsSubmissionUrl) { + return undefined; + } + + return new MetricsSubmissionQueue( + uniqueEventsSubmissionUrl, + 'unique_events', + this._requestHandler, + { + [this.APPLICATION_ATTRIBUTE]: applicationInfo.application, + appversion: applicationInfo.applicationVersion, + }, + this._options?.metrics?.size, + ); + } + + private createSummedEventSubmissionQueue(metricsHost: string, applicationInfo: ApplicationInfo) { + const summedEventsSubmissionUrl = MetricsUrlInformation.generateSummedEventsUrl( + metricsHost, + this._options.url, + this._options.token, + ); + + if (!summedEventsSubmissionUrl) { + return undefined; + } + + return new MetricsSubmissionQueue( + summedEventsSubmissionUrl, + 'summed_events', + this._requestHandler, + { + [this.APPLICATION_ATTRIBUTE]: applicationInfo.application, + appversion: applicationInfo.applicationVersion, + }, + this._options?.metrics?.size, + ); + } + + private optionsWithDefaults(): BacktraceMetricsOptions { + return { + enable: true, + autoSendInterval: this.DEFAULT_UPDATE_INTERVAL, + metricsSubmissionUrl: 'https://events.backtrace.io', + size: 50, + }; + } +} diff --git a/packages/sdk-core/src/modules/metrics/MetricsQueue.ts b/packages/sdk-core/src/modules/metrics/MetricsQueue.ts new file mode 100644 index 00000000..628c3c00 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/MetricsQueue.ts @@ -0,0 +1,7 @@ +export interface MetricsQueue { + readonly total: number; + readonly submissionUrl: string; + readonly maximumEvents: number; + add(event: T): void; + send(): Promise; +} diff --git a/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts b/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts new file mode 100644 index 00000000..e213131c --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts @@ -0,0 +1,80 @@ +import { Delay } from '../../common/DelayHelper'; +import { TimeHelper } from '../../common/TimeHelper'; +import { BacktraceRequestHandler } from '../../model/http'; +import { MetricsQueue } from './MetricsQueue'; +import { MetricsEvent } from './model/MetricsEvent'; + +export class MetricsSubmissionQueue implements MetricsQueue { + public get total() { + return this._events.length; + } + + public get submissionUrl() { + return this._submissionUrl; + } + + public readonly DELAY_BETWEEN_REQUESTS = TimeHelper.convertSecondsToMilliseconds(10); + + private readonly _events: T[] = []; + private _numberOfDroppedRequests = 0; + + private readonly MAXIMUM_NUMBER_OF_ATTEMPTS = 3; + + constructor( + private readonly _submissionUrl: string, + private readonly _eventName: string, + private readonly _requestHandler: BacktraceRequestHandler, + private readonly _metricMetadata: Record, + public readonly maximumEvents: number = 50, + ) {} + + public add(event: T) { + this._events.push(event); + if (this.reachedLimit()) { + this.send(); + } + } + + public async send() { + const eventsToProcess = this._events.splice(0); + return await this.submit(eventsToProcess); + } + + private async submit(events: T[]) { + for (let attempts = 0; attempts < this.MAXIMUM_NUMBER_OF_ATTEMPTS; attempts++) { + const response = await this._requestHandler.post( + this._submissionUrl, + JSON.stringify({ + ...this._metricMetadata, + [this._eventName]: events, + metadata: { + dropped_events: this._numberOfDroppedRequests, + }, + }), + ); + if (response.status === 'Ok') { + this._numberOfDroppedRequests = 0; + return; + } + + this._numberOfDroppedRequests++; + await Delay.wait(2 ** attempts * this.DELAY_BETWEEN_REQUESTS); + } + // if the code reached this line, it means, we couldn't send data to server + // we need to try to return events to the queue and try to send it once again later. + this.returnEventsIfPossible(events); + } + + private returnEventsIfPossible(events: T[]) { + if (this.maximumEvents < this._events.length + events.length) { + return; + } + + // push events to the beginning of the queue + this._events.unshift(...events); + } + + private reachedLimit() { + return this.maximumEvents === this._events.length && this.maximumEvents !== 0; + } +} diff --git a/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts b/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts index b8903742..39a47578 100644 --- a/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts +++ b/packages/sdk-core/src/modules/metrics/MetricsUrlInformation.ts @@ -4,7 +4,7 @@ export class MetricsUrlInformation { public static generateSummedEventsUrl( hostname: string, submissionUrl: string, - credentialsToken: string | null, + credentialsToken?: string | null, ): string | undefined { const submissionInformation = this.findSubmissionInformation(submissionUrl, credentialsToken); if (!submissionInformation) { @@ -21,7 +21,7 @@ export class MetricsUrlInformation { public static generateUniqueEventsUrl( hostname: string, submissionUrl: string, - credentialsToken: string | null, + credentialsToken?: string | null, ): string | undefined { const submissionInformation = this.findSubmissionInformation(submissionUrl, credentialsToken); if (!submissionInformation) { @@ -47,7 +47,7 @@ export class MetricsUrlInformation { private static findSubmissionInformation( submissionUrl: string, - token: string | null, + token?: string | null, ): { universe: string; token: string } | undefined { const universe = SubmissionUrlInformation.findUniverse(submissionUrl); if (!universe) { diff --git a/packages/sdk-core/src/modules/metrics/SingleSessionProvider.ts b/packages/sdk-core/src/modules/metrics/SingleSessionProvider.ts new file mode 100644 index 00000000..87b6abf1 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/SingleSessionProvider.ts @@ -0,0 +1,24 @@ +import { IdGenerator } from '../../common/IdGenerator'; +import { TimeHelper } from '../../common/TimeHelper'; +import { BacktraceSessionProvider } from './BacktraceSessionProvider'; + +export class SingleSessionProvider implements BacktraceSessionProvider { + public readonly newSession: boolean = true; + public readonly sessionId: string = IdGenerator.uuid(); + private _lastActive = 0; + + public get lastActive() { + return this._lastActive; + } + + public afterMetricsSubmission(): void { + this._lastActive = TimeHelper.now(); + } + /** + * Allow to alway send metrics - in the single session there is no reason + * to skip sending metrics. + */ + public shouldSend(): boolean { + return true; + } +} diff --git a/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts b/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts new file mode 100644 index 00000000..9235ec05 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts @@ -0,0 +1,20 @@ +import { IdGenerator } from '../../../common/IdGenerator'; +import { TimeHelper } from '../../../common/TimeHelper'; +import { AttributeType } from '../../../model/data/BacktraceData'; + +export class MetricsEvent { + public readonly id = IdGenerator.uuid(); + constructor( + public readonly metricGroupName: string, + public readonly metricGroupValue: string | string[], + public readonly attributes: Record = {}, + ) {} + + public toJSON() { + return { + timestamp: TimeHelper.toTimestampInSec(TimeHelper.now()), + attributes: this.attributes, + [this.metricGroupName]: this.metricGroupValue, + }; + } +} diff --git a/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts b/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts new file mode 100644 index 00000000..4356675f --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts @@ -0,0 +1,8 @@ +import { AttributeType } from '../../../model/data/BacktraceData'; +import { MetricsEvent } from './MetricsEvent'; + +export class SummedEvent extends MetricsEvent { + constructor(metricGroupName: string, attributes: Record = {}) { + super('metric_group', metricGroupName, attributes); + } +} diff --git a/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts b/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts new file mode 100644 index 00000000..4bcc0e22 --- /dev/null +++ b/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts @@ -0,0 +1,8 @@ +import { AttributeType } from '../../../model/data/BacktraceData'; +import { MetricsEvent } from './MetricsEvent'; + +export class UniqueEvent extends MetricsEvent { + constructor(attributes: Record) { + super('unique', ['guid'], attributes); + } +} diff --git a/packages/sdk-core/tests/metrics/metricSetupTests.spec.ts b/packages/sdk-core/tests/metrics/metricSetupTests.spec.ts new file mode 100644 index 00000000..7d964a65 --- /dev/null +++ b/packages/sdk-core/tests/metrics/metricSetupTests.spec.ts @@ -0,0 +1,127 @@ +import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; +import { MetricsBuilder } from '../../src/modules/metrics/MetricsBuilder'; +import { SingleSessionProvider } from '../../src/modules/metrics/SingleSessionProvider'; +import { APPLICATION, APPLICATION_VERSION, TEST_SUBMISSION_URL } from '../mocks/BacktraceTestClient'; +import { testHttpClient } from '../mocks/testHttpClient'; + +describe('Metric setup', () => { + let attributeManager: AttributeManager; + + beforeEach(() => { + attributeManager = new AttributeManager([]); + }); + + describe('Enabled metrics', () => { + it('Should successfuly build metrics client', () => { + attributeManager.add({ + application: APPLICATION, + ['application.version']: APPLICATION_VERSION, + }); + + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeDefined(); + }); + + it('Should successfuly send metrics', () => { + attributeManager.add({ + application: APPLICATION, + ['application.version']: APPLICATION_VERSION, + }); + + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + if (!metrics) { + return fail('Metrics is not defined'); + } + expect(metrics.send()).toBeTruthy(); + }); + }); + describe('Disabled metrics', () => { + it(`Shouldn't build a client with invalid url`, () => { + const metrics = new MetricsBuilder( + { + url: 'https://definitely-different.submission.url', + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeUndefined(); + }); + + it(`Shouldn't build a client without application name`, () => { + attributeManager.add({ + application: undefined, + ['application.version']: APPLICATION_VERSION, + }); + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeUndefined(); + }); + + it(`Shouldn't build a client without application version`, () => { + attributeManager.add({ + application: APPLICATION, + ['application.version']: undefined, + }); + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeUndefined(); + }); + + it('Should not build the metric client if metrics are disabled', () => { + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + enable: false, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeUndefined(); + }); + }); +}); diff --git a/packages/sdk-core/tests/metrics/mocks/mockSubmissionQueue.ts b/packages/sdk-core/tests/metrics/mocks/mockSubmissionQueue.ts new file mode 100644 index 00000000..9000a8ff --- /dev/null +++ b/packages/sdk-core/tests/metrics/mocks/mockSubmissionQueue.ts @@ -0,0 +1,14 @@ +import { MetricsQueue } from '../../../src/modules/metrics/MetricsQueue'; +import { MetricsEvent } from '../../../src/modules/metrics/model/MetricsEvent'; + +export const mockSubmissionQueue: MetricsQueue = { + total: 0, + submissionUrl: 'fake-http-url', + maximumEvents: 0, + add: () => { + return; + }, + send: () => { + return Promise.resolve(); + }, +}; diff --git a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts new file mode 100644 index 00000000..6473f2cd --- /dev/null +++ b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts @@ -0,0 +1,193 @@ +import { TimeHelper } from '../../src/common/TimeHelper'; +import { AttributeType } from '../../src/model/data/BacktraceData'; +import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; +import { MetricsBuilder } from '../../src/modules/metrics/MetricsBuilder'; +import { MetricsUrlInformation } from '../../src/modules/metrics/MetricsUrlInformation'; +import { SummedEvent } from '../../src/modules/metrics/model/SummedEvent'; +import { SingleSessionProvider } from '../../src/modules/metrics/SingleSessionProvider'; +import { APPLICATION, APPLICATION_VERSION, TEST_SUBMISSION_URL } from '../mocks/BacktraceTestClient'; +import { testHttpClient } from '../mocks/testHttpClient'; +import { mockSubmissionQueue } from './mocks/mockSubmissionQueue'; + +describe('Summed events tests', () => { + let timestamp: number; + const attributeManager = new AttributeManager([]); + + beforeEach(() => { + attributeManager.add({ + application: APPLICATION, + ['application.version']: APPLICATION_VERSION, + }); + timestamp = TimeHelper.now(); + jest.spyOn(TimeHelper, 'now').mockImplementation(() => { + return timestamp; + }); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('Should send summed event on the metrics start', () => { + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + const summedEventsSubmissionUrl = MetricsUrlInformation.generateSummedEventsUrl( + metrics.metricsHost, + TEST_SUBMISSION_URL, + ); + + const expectedJson = { + application: APPLICATION, + appversion: APPLICATION_VERSION, + summed_events: [new SummedEvent('Application Launches', attributeManager.attributes)], + metadata: { + dropped_events: 0, + }, + }; + + metrics.start(); + + expect(testHttpClient.post).toBeCalledWith(summedEventsSubmissionUrl, JSON.stringify(expectedJson)); + }); + + it('Should send summed event to overriden submission URL', () => { + const expectedBaseUrl = 'https://test-metrics-submission-url.com'; + + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + metricsSubmissionUrl: expectedBaseUrl, + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + const summedEventsSubmissionUrl = MetricsUrlInformation.generateSummedEventsUrl( + metrics.metricsHost, + TEST_SUBMISSION_URL, + ); + + const expectedJson = { + application: APPLICATION, + appversion: APPLICATION_VERSION, + summed_events: [new SummedEvent('Application Launches', attributeManager.attributes)], + metadata: { + dropped_events: 0, + }, + }; + + metrics.start(); + + expect(testHttpClient.post).toBeCalledWith(summedEventsSubmissionUrl, JSON.stringify(expectedJson)); + }); + + it('Should send summed event with custom attributes to the server', () => { + const customAttributes: Record = { + 'custom-attribute': 'custom-attribute', + 'second-attribute': 'false', + }; + attributeManager.add(customAttributes); + + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + const expectedJson = { + application: APPLICATION, + appversion: APPLICATION_VERSION, + summed_events: [new SummedEvent('Application Launches', attributeManager.attributes)], + metadata: { + dropped_events: 0, + }, + }; + + metrics.start(); + + expect(attributeManager.attributes).toMatchObject(customAttributes); + expect(testHttpClient.post).toBeCalledWith(expect.anything(), JSON.stringify(expectedJson)); + }); + + it('Should add summed event to the submission queue', () => { + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + metrics.start(); + const addResult = metrics.addSummedEvent('test-metric'); + + expect(addResult).toBeTruthy(); + expect(testHttpClient.post).toBeCalledTimes(1); + expect(metrics.count()).toEqual(1); + }); + + it('Should send summed events to server when reached the limit', () => { + const maximumNumberOfEvents = 3; + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + size: maximumNumberOfEvents, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + + metrics.start(); + + for (let index = 0; index < maximumNumberOfEvents; index++) { + const addResult = metrics.addSummedEvent('test-metric'); + expect(addResult).toBeTruthy(); + } + + expect(testHttpClient.post).toBeCalledTimes(2); + }); +}); diff --git a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts new file mode 100644 index 00000000..73af1bc6 --- /dev/null +++ b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts @@ -0,0 +1,172 @@ +import { fail } from 'assert'; +import { TimeHelper } from '../../src/common/TimeHelper'; +import { AttributeType } from '../../src/model/data/BacktraceData'; +import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; +import { MetricsBuilder } from '../../src/modules/metrics/MetricsBuilder'; +import { MetricsUrlInformation } from '../../src/modules/metrics/MetricsUrlInformation'; +import { UniqueEvent } from '../../src/modules/metrics/model/UniqueEvent'; +import { SingleSessionProvider } from '../../src/modules/metrics/SingleSessionProvider'; +import { APPLICATION, APPLICATION_VERSION, TEST_SUBMISSION_URL } from '../mocks/BacktraceTestClient'; +import { testHttpClient } from '../mocks/testHttpClient'; +import { mockSubmissionQueue } from './mocks/mockSubmissionQueue'; + +describe('Unique events tests', () => { + let timestamp: number; + const attributeManager = new AttributeManager([]); + + beforeEach(() => { + attributeManager.add({ + application: APPLICATION, + ['application.version']: APPLICATION_VERSION, + }); + timestamp = TimeHelper.now(); + jest.spyOn(TimeHelper, 'now').mockImplementation(() => { + return timestamp; + }); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('Should send unique event on the metrics start', () => { + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(undefined, mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + const uniqueEventsSubmissionUrl = MetricsUrlInformation.generateUniqueEventsUrl( + metrics.metricsHost, + TEST_SUBMISSION_URL, + ); + + const expectedJson = { + application: APPLICATION, + appversion: APPLICATION_VERSION, + unique_events: [new UniqueEvent(attributeManager.attributes)], + metadata: { + dropped_events: 0, + }, + }; + + metrics.start(); + + expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); + }); + + it('Should send unique event to overriden submission URL', () => { + const expectedBaseUrl = 'https://test-metrics-submission-url.com'; + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + metricsSubmissionUrl: expectedBaseUrl, + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(undefined, mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + + const uniqueEventsSubmissionUrl = MetricsUrlInformation.generateUniqueEventsUrl( + expectedBaseUrl, + TEST_SUBMISSION_URL, + ); + + metrics.start(); + + expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, expect.anything()); + }); + + it(`Shouldn't build a client with invalid url`, () => { + const metrics = new MetricsBuilder( + { + url: 'https://definitely-different.submission.url', + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeUndefined(); + }); + + it(`Shouldn't build a client without application name/version`, () => { + attributeManager.add({ + application: undefined, + ['application.version']: undefined, + }); + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(); + + expect(metrics).toBeUndefined(); + }); + + it('Should send unique event with custom attributes to the server', () => { + const customAttributes: Record = { + 'custom-attribute': 'custom-attribute', + 'second-attribute': 'false', + }; + attributeManager.add(customAttributes); + const metrics = new MetricsBuilder( + { + url: TEST_SUBMISSION_URL, + metrics: { + autoSendInterval: 0, + }, + }, + new SingleSessionProvider(), + attributeManager, + testHttpClient, + ).build(undefined, mockSubmissionQueue); + + if (!metrics) { + fail('Metrics are not defined'); + } + const uniqueEventsSubmissionUrl = MetricsUrlInformation.generateUniqueEventsUrl( + metrics.metricsHost, + TEST_SUBMISSION_URL, + ); + + const expectedJson = { + application: APPLICATION, + appversion: APPLICATION_VERSION, + unique_events: [new UniqueEvent(attributeManager.attributes)], + metadata: { + dropped_events: 0, + }, + }; + + metrics.start(); + + expect(attributeManager.attributes).toMatchObject(customAttributes); + expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); + }); +}); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index e58e7b20..27c47875 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -2,11 +2,14 @@ import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceCoreClient, + BacktraceReportSubmissionResult, BacktraceRequestHandler, } from '../../src'; export const TOKEN = '590d39eb154cff1d30f2b689f9a928bb592b25e7e7c10192fe208485ea68d91c'; export const UNIVERSE_NAME = 'test'; export const TEST_SUBMISSION_URL = `https://${UNIVERSE_NAME}.sp.backtrace.io:6098/post?format=json&token=${TOKEN}`; +export const APPLICATION = 'test-app'; +export const APPLICATION_VERSION = '5.4.3'; export class BacktraceTestClient extends BacktraceCoreClient { public readonly requestHandler: BacktraceRequestHandler; constructor( @@ -19,6 +22,9 @@ export class BacktraceTestClient extends BacktraceCoreClient { url: TEST_SUBMISSION_URL, token: TOKEN, attachments, + metrics: { + enable: false, + }, }, { agent: 'test', @@ -36,9 +42,18 @@ export class BacktraceTestClient extends BacktraceCoreClient { attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], ) { + attributeProviders.push({ + type: 'scoped', + get() { + return { + application: APPLICATION, + ['application.version']: APPLICATION_VERSION, + }; + }, + }); return new BacktraceTestClient( { - post: jest.fn().mockResolvedValue(Promise.resolve()), + post: jest.fn().mockResolvedValue(Promise.resolve(BacktraceReportSubmissionResult.Ok('Ok'))), postError: jest.fn().mockResolvedValue(Promise.resolve()), }, attributeProviders, diff --git a/packages/sdk-core/tests/mocks/testHttpClient.ts b/packages/sdk-core/tests/mocks/testHttpClient.ts new file mode 100644 index 00000000..ce2610d1 --- /dev/null +++ b/packages/sdk-core/tests/mocks/testHttpClient.ts @@ -0,0 +1,6 @@ +import { BacktraceReportSubmissionResult, BacktraceRequestHandler } from '../../src'; + +export const testHttpClient: BacktraceRequestHandler = { + post: jest.fn().mockResolvedValue(Promise.resolve(BacktraceReportSubmissionResult.Ok('Ok'))), + postError: jest.fn().mockResolvedValue(Promise.resolve()), +}; From fec485f9776bcc809ad428bd593783ee99e86cbd Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 3 Jul 2023 12:58:10 +0200 Subject: [PATCH 063/291] Add debug IDs support to sdk-core, node and browser packages (#33) * sdk-core: add DebugIdProvider and DebugIdMapProvider * sdk-core: add appending debugId to frames * browser, node: use VariableDebugIdMapProvider * sdk-core: change debugId to debug_identifier * sdk-core: fix unit tests, add test for debug_identifier set * sdk core: load debugIds on DebugIdProvider construction --------- Co-authored-by: Sebastian Alex --- packages/browser/src/BacktraceClient.ts | 14 ++++++- packages/node/src/BacktraceClient.ts | 16 ++++++-- packages/sdk-core/src/BacktraceCoreClient.ts | 10 ++++- packages/sdk-core/src/index.ts | 1 + .../src/model/data/BacktraceStackTrace.ts | 1 + .../src/modules/data/BacktraceDataBuilder.ts | 11 ++++- .../src/sourcemaps/DebugIdProvider.ts | 41 +++++++++++++++++++ .../sourcemaps/VariableDebugIdMapProvider.ts | 14 +++++++ packages/sdk-core/src/sourcemaps/index.ts | 3 ++ .../interfaces/DebugIdMapProvider.ts | 3 ++ .../tests/report/dataGenerationTests.spec.ts | 38 ++++++++++++++++- 11 files changed, 142 insertions(+), 10 deletions(-) create mode 100644 packages/sdk-core/src/sourcemaps/DebugIdProvider.ts create mode 100644 packages/sdk-core/src/sourcemaps/VariableDebugIdMapProvider.ts create mode 100644 packages/sdk-core/src/sourcemaps/index.ts create mode 100644 packages/sdk-core/src/sourcemaps/interfaces/DebugIdMapProvider.ts diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index c0ee6744..6ef74545 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -3,10 +3,12 @@ import { BacktraceCoreClient, BacktraceRequestHandler, BacktraceStackTraceConverter, + DebugIdContainer, + VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; -import { AGENT } from './agentDefinition'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { @@ -16,7 +18,15 @@ export class BacktraceClient extends BacktraceCoreClient { attributeProviders: BacktraceAttributeProvider[], stackTraceConverter: BacktraceStackTraceConverter, ) { - super(options, AGENT, handler, attributeProviders, stackTraceConverter, new BacktraceBrowserSessionProvider()); + super( + options, + AGENT, + handler, + attributeProviders, + stackTraceConverter, + new BacktraceBrowserSessionProvider(), + new VariableDebugIdMapProvider(window as DebugIdContainer), + ); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index d7bc676c..fa5a106f 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,11 +1,13 @@ import { BacktraceAttributeProvider, - BacktraceConfiguration as CoreConfiguration, BacktraceCoreClient, BacktraceRequestHandler, + BacktraceConfiguration as CoreConfiguration, + DebugIdContainer, + VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; -import { AGENT } from './agentDefinition'; import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { @@ -14,7 +16,15 @@ export class BacktraceClient extends BacktraceCoreClient { handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[], ) { - super(options, AGENT, handler, attributeProviders); + super( + options, + AGENT, + handler, + attributeProviders, + undefined, + undefined, + new VariableDebugIdMapProvider(global as DebugIdContainer), + ); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 763cc57b..e934e6f9 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -3,6 +3,8 @@ import { BacktraceAttributeProvider, BacktraceSessionProvider, BacktraceStackTraceConverter, + DebugIdMapProvider, + DebugIdProvider, } from '.'; import { SdkOptions } from './builder/SdkOptions'; import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; @@ -75,8 +77,14 @@ export abstract class BacktraceCoreClient { attributeProviders: BacktraceAttributeProvider[] = [], stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter(), private readonly _sessionProvider: BacktraceSessionProvider = new SingleSessionProvider(), + debugIdMapProvider?: DebugIdMapProvider, ) { - this._dataBuilder = new BacktraceDataBuilder(this._sdkOptions, stackTraceConverter); + this._dataBuilder = new BacktraceDataBuilder( + this._sdkOptions, + stackTraceConverter, + new DebugIdProvider(stackTraceConverter, debugIdMapProvider), + ); + this._reportSubmission = new BacktraceReportSubmission(options, requestHandler); this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); this._attributeProvider = new AttributeManager([ diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index bd89b6e6..a6d4b0fe 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -11,3 +11,4 @@ export * from './model/report/BacktraceReport'; export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/converter'; export * from './modules/metrics/BacktraceSessionProvider'; +export * from './sourcemaps/index'; diff --git a/packages/sdk-core/src/model/data/BacktraceStackTrace.ts b/packages/sdk-core/src/model/data/BacktraceStackTrace.ts index 363a18f3..cd0973f9 100644 --- a/packages/sdk-core/src/model/data/BacktraceStackTrace.ts +++ b/packages/sdk-core/src/model/data/BacktraceStackTrace.ts @@ -4,6 +4,7 @@ export interface BacktraceStackFrame { column?: number; sourceCode?: string; library: string; + debug_identifier?: string; } /** diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index e0aed13f..b5dc5467 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -1,4 +1,4 @@ -import { BacktraceStackTraceConverter } from '../..'; +import { BacktraceStackTraceConverter, DebugIdProvider } from '../..'; import { SdkOptions } from '../../builder/SdkOptions'; import { IdGenerator } from '../../common/IdGenerator'; import { TimeHelper } from '../../common/TimeHelper'; @@ -12,6 +12,7 @@ export class BacktraceDataBuilder { constructor( private readonly _sdkOptions: SdkOptions, private readonly _stackTraceConverter: BacktraceStackTraceConverter, + private readonly _debugIdProvider: DebugIdProvider, ) {} public build( @@ -21,6 +22,12 @@ export class BacktraceDataBuilder { ): BacktraceData { const reportData = ReportDataBuilder.build(report.attributes); + const stackTrace = this._stackTraceConverter.convert(report.stackTrace, report.message); + + for (const frame of stackTrace) { + frame.debug_identifier = this._debugIdProvider.getDebugId(frame.library); + } + return { uuid: IdGenerator.uuid(), timestamp: TimeHelper.toTimestampInSec(report.timestamp), @@ -34,7 +41,7 @@ export class BacktraceDataBuilder { [this.MAIN_THREAD_NAME]: { fault: true, name: this.MAIN_THREAD_NAME, - stack: this._stackTraceConverter.convert(report.stackTrace, report.message), + stack: stackTrace, }, }, annotations: { diff --git a/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts b/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts new file mode 100644 index 00000000..7ceac301 --- /dev/null +++ b/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts @@ -0,0 +1,41 @@ +import { BacktraceStackTraceConverter } from '../modules/converter'; +import { DebugIdMapProvider } from './interfaces/DebugIdMapProvider'; + +export const SOURCE_DEBUG_ID_VARIABLE = '_btDebugIds'; + +export class DebugIdProvider { + private readonly _fileDebugIds: Record; + + constructor( + private readonly _stackTraceConverter: BacktraceStackTraceConverter, + private readonly _debugIdMapProvider?: DebugIdMapProvider, + ) { + this._fileDebugIds = this.loadDebugIds(); + } + + public getDebugId(file: string): string | undefined { + return this._fileDebugIds[file]; + } + + private loadDebugIds() { + const debugIdMap = this._debugIdMapProvider?.getDebugIdMap(); + if (!debugIdMap) { + return {}; + } + + const message = new Error().message; + const result: Record = {}; + for (const [rawStack, debugId] of Object.entries(debugIdMap)) { + const frames = this._stackTraceConverter.convert(rawStack, message); + if (!frames.length) { + continue; + } + + // The first frame will have the file's path + const frame = frames[0]; + result[frame.library] = debugId; + } + + return result; + } +} diff --git a/packages/sdk-core/src/sourcemaps/VariableDebugIdMapProvider.ts b/packages/sdk-core/src/sourcemaps/VariableDebugIdMapProvider.ts new file mode 100644 index 00000000..c69aaa78 --- /dev/null +++ b/packages/sdk-core/src/sourcemaps/VariableDebugIdMapProvider.ts @@ -0,0 +1,14 @@ +import { SOURCE_DEBUG_ID_VARIABLE } from './DebugIdProvider'; +import { DebugIdMapProvider } from './interfaces/DebugIdMapProvider'; + +export interface DebugIdContainer { + [SOURCE_DEBUG_ID_VARIABLE]?: Record; +} + +export class VariableDebugIdMapProvider implements DebugIdMapProvider { + constructor(private readonly _variable: DebugIdContainer) {} + + public getDebugIdMap(): Record { + return this._variable[SOURCE_DEBUG_ID_VARIABLE] ?? {}; + } +} diff --git a/packages/sdk-core/src/sourcemaps/index.ts b/packages/sdk-core/src/sourcemaps/index.ts new file mode 100644 index 00000000..2c947500 --- /dev/null +++ b/packages/sdk-core/src/sourcemaps/index.ts @@ -0,0 +1,3 @@ +export * from './DebugIdProvider'; +export * from './VariableDebugIdMapProvider'; +export * from './interfaces/DebugIdMapProvider'; diff --git a/packages/sdk-core/src/sourcemaps/interfaces/DebugIdMapProvider.ts b/packages/sdk-core/src/sourcemaps/interfaces/DebugIdMapProvider.ts new file mode 100644 index 00000000..cb11e695 --- /dev/null +++ b/packages/sdk-core/src/sourcemaps/interfaces/DebugIdMapProvider.ts @@ -0,0 +1,3 @@ +export interface DebugIdMapProvider { + getDebugIdMap(): Record; +} diff --git a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts index d03d8269..0a4dee3e 100644 --- a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts +++ b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts @@ -1,5 +1,6 @@ -import { BacktraceReport } from '../../src'; +import { BacktraceReport, DebugIdProvider } from '../../src'; import { TimeHelper } from '../../src/common/TimeHelper'; +import { BacktraceStackFrame } from '../../src/model/data/BacktraceStackTrace'; import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from '../../src/modules/data/BacktraceDataBuilder'; @@ -10,7 +11,11 @@ describe('Data generation tests', () => { langName: 'test', langVersion: 'test', }; - const dataBuilder = new BacktraceDataBuilder(sdkOptions, new V8StackTraceConverter()); + const dataBuilder = new BacktraceDataBuilder( + sdkOptions, + new V8StackTraceConverter(), + new DebugIdProvider(new V8StackTraceConverter()), + ); it('Should set sdk options in the Backtrace data', () => { const backtraceData = dataBuilder.build(new BacktraceReport(new Error())); @@ -66,4 +71,33 @@ describe('Data generation tests', () => { expect(backtraceData.attributes).toBeDefined(); expect(backtraceData.attributes).toMatchObject(errorReport.attributes); }); + + it('Should append debug_identifier to each frame', () => { + const stackTraceConverter = new V8StackTraceConverter(); + const debugIdProvider = new DebugIdProvider(stackTraceConverter); + + const frames: BacktraceStackFrame[] = [ + { + funcName: 'x', + library: 'x', + }, + { + funcName: 'y', + library: 'y', + }, + ]; + + const expected = 'DEBUG_ID'; + const expectedFrames = frames.map((m) => ({ ...m, debug_identifier: expected })); + + jest.spyOn(stackTraceConverter, 'convert').mockReturnValue(frames); + jest.spyOn(debugIdProvider, 'getDebugId').mockReturnValue(expected); + + const dataBuilder = new BacktraceDataBuilder(sdkOptions, stackTraceConverter, debugIdProvider); + + const errorReport = new BacktraceReport(new Error()); + const backtraceData = dataBuilder.build(errorReport); + + expect(backtraceData.threads[backtraceData.mainThread].stack).toEqual(expectedFrames); + }); }); From 9e9f4a61f61cae25c4966d63a215fcbcd8bd212d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 11 Jul 2023 10:51:32 +0200 Subject: [PATCH 064/291] Add ZIP upload of sourcemaps. (#37) * sourcmap tools: replace SourceMapUploader with SymbolUploader * sourcmap tools: add ZipArchive * webpack plugin: change uploading of sourcemaps to ZIP upload * build: update webpack tsconfig.json path * sourcemap tools: fix ZipArchive test missing dir * webpack plugin: fix zipping sourcemaps by passing stream instead of string * sourcemap tools: minor type fixes in ZipArchive --------- Co-authored-by: Sebastian Alex --- package-lock.json | 1360 ++++++++++++++++- tools/sourcemap-tools/package.json | 4 + .../sourcemap-tools/src/SourceMapUploader.ts | 195 --- tools/sourcemap-tools/src/SymbolUploader.ts | 86 ++ tools/sourcemap-tools/src/ZipArchive.ts | 32 + tools/sourcemap-tools/src/index.ts | 3 +- tools/sourcemap-tools/tests/.gitignore | 1 + .../tests/SourceMapUploader.spec.ts | 267 ---- .../tests/SymbolUploader.spec.ts | 144 ++ .../sourcemap-tools/tests/ZipArchive.spec.ts | 46 + tools/webpack-plugin/src/BacktracePlugin.ts | 70 +- .../src/helpers/statsPrinter.ts | 52 - tools/webpack-plugin/src/models/AssetStats.ts | 7 - .../src/models/BacktracePluginOptions.ts | 4 +- .../webpack-plugin/tests/e2e/createE2ETest.ts | 4 +- tools/webpack-plugin/webpack.config.js | 2 +- tsconfig.packages.json | 2 +- 17 files changed, 1662 insertions(+), 617 deletions(-) delete mode 100644 tools/sourcemap-tools/src/SourceMapUploader.ts create mode 100644 tools/sourcemap-tools/src/SymbolUploader.ts create mode 100644 tools/sourcemap-tools/src/ZipArchive.ts create mode 100644 tools/sourcemap-tools/tests/.gitignore delete mode 100644 tools/sourcemap-tools/tests/SourceMapUploader.spec.ts create mode 100644 tools/sourcemap-tools/tests/SymbolUploader.spec.ts create mode 100644 tools/sourcemap-tools/tests/ZipArchive.spec.ts delete mode 100644 tools/webpack-plugin/src/helpers/statsPrinter.ts delete mode 100644 tools/webpack-plugin/src/models/AssetStats.ts diff --git a/package-lock.json b/package-lock.json index de5efb5b..75e6d5b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1257,6 +1257,15 @@ "node": ">= 10" } }, + "node_modules/@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", + "dev": true, + "dependencies": { + "@types/readdir-glob": "*" + } + }, "node_modules/@types/babel__core": { "version": "7.20.1", "dev": true, @@ -1294,6 +1303,15 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/eslint": { "version": "8.40.2", "license": "MIT", @@ -1380,6 +1398,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/semver": { "version": "7.5.0", "dev": true, @@ -2031,6 +2058,75 @@ "dev": true, "license": "ISC" }, + "node_modules/archiver": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", + "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.3", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/argparse": { "version": "2.0.1", "dev": true, @@ -2186,6 +2282,11 @@ "node": ">=0.10.0" } }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, "node_modules/async-each": { "version": "1.0.6", "dev": true, @@ -2312,7 +2413,6 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/base": { @@ -2345,7 +2445,6 @@ }, "node_modules/base64-js": { "version": "1.5.1", - "dev": true, "funding": [ { "type": "github", @@ -2379,6 +2478,52 @@ "node": ">=8" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bluebird": { "version": "3.7.2", "dev": true, @@ -2391,7 +2536,6 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -2549,6 +2693,36 @@ "isarray": "^1.0.0" } }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, "node_modules/buffer-from": { "version": "1.1.2", "license": "MIT" @@ -3021,9 +3195,35 @@ "dev": true, "license": "MIT" }, + "node_modules/compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, "license": "MIT" }, "node_modules/concat-stream": { @@ -3107,9 +3307,44 @@ }, "node_modules/core-util-is": { "version": "1.0.3", - "dev": true, "license": "MIT" }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/create-ecdh": { "version": "4.0.4", "dev": true, @@ -3243,12 +3478,215 @@ "dev": true, "license": "MIT" }, - "node_modules/decode-uri-component": { - "version": "0.2.2", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/decompress-tar/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, "node_modules/dedent": { @@ -3450,7 +3888,6 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "dev": true, "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -4294,6 +4731,15 @@ "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/figgy-pudding": { "version": "3.5.2", "dev": true, @@ -4310,6 +4756,15 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -4558,6 +5013,11 @@ "readable-stream": "^2.0.0" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", "dev": true, @@ -4571,7 +5031,6 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/function-bind": { @@ -5049,7 +5508,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "dev": true, "funding": [ { "type": "github", @@ -5127,7 +5585,6 @@ }, "node_modules/inflight": { "version": "1.0.6", - "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -5136,7 +5593,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/internal-slot": { @@ -5338,6 +5794,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.2", "dev": true, @@ -5507,7 +5969,6 @@ }, "node_modules/isarray": { "version": "1.0.0", - "dev": true, "license": "MIT" }, "node_modules/isexe": { @@ -6332,6 +6793,17 @@ "node": ">=6" } }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, "node_modules/leven": { "version": "3.1.0", "dev": true, @@ -6407,6 +6879,26 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, @@ -6417,6 +6909,11 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, "node_modules/lru-cache": { "version": "9.1.1", "dev": true, @@ -6576,7 +7073,6 @@ }, "node_modules/minimatch": { "version": "3.1.2", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -6804,7 +7300,6 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6985,7 +7480,6 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -7157,7 +7651,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -7214,6 +7707,12 @@ "node": ">=0.12" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.0", "license": "ISC" @@ -7237,6 +7736,27 @@ "node": ">=6" } }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pirates": { "version": "4.0.5", "dev": true, @@ -7368,7 +7888,6 @@ }, "node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, "license": "MIT" }, "node_modules/promise-inflight": { @@ -7542,7 +8061,6 @@ }, "node_modules/readable-stream": { "version": "2.3.8", - "dev": true, "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", @@ -7556,17 +8074,42 @@ }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, "license": "MIT" }, "node_modules/readable-stream/node_modules/string_decoder": { "version": "1.1.1", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/readdirp": { "version": "3.6.0", "dev": true, @@ -7853,6 +8396,19 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, "node_modules/semver": { "version": "7.5.1", "dev": true, @@ -8388,7 +8944,6 @@ }, "node_modules/string_decoder": { "version": "1.3.0", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -8539,6 +9094,15 @@ "node": ">=4" } }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "dev": true, @@ -8592,6 +9156,34 @@ "node": ">=6" } }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/terser": { "version": "5.18.1", "license": "BSD-2-Clause", @@ -8710,6 +9302,12 @@ "dev": true, "license": "MIT" }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "node_modules/through2": { "version": "2.0.5", "dev": true, @@ -8740,6 +9338,12 @@ "dev": true, "license": "MIT" }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "node_modules/to-fast-properties": { "version": "2.0.0", "dev": true, @@ -9070,6 +9674,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/union-value": { "version": "1.0.1", "dev": true, @@ -9251,7 +9889,6 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/util/node_modules/inherits": { @@ -10377,7 +11014,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -10494,6 +11130,16 @@ "node": ">=8" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "dev": true, @@ -10505,6 +11151,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zip-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", + "dependencies": { + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "packages/browser": { "name": "@backtrace/browser", "version": "0.0.1", @@ -10577,10 +11249,14 @@ "version": "0.0.1", "license": "MIT", "dependencies": { + "archiver": "^5.3.1", "source-map": "^0.7.4" }, "devDependencies": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", "@types/jest": "^29.5.1", + "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", "ts-jest": "^29.1.0", @@ -11049,7 +11725,11 @@ "@backtrace/sourcemap-tools": { "version": "file:tools/sourcemap-tools", "requires": { + "@types/archiver": "^5.3.2", + "@types/decompress": "*", "@types/jest": "^29.5.1", + "archiver": "^5.3.1", + "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", "source-map": "^0.7.4", @@ -11515,6 +12195,15 @@ "version": "2.0.0", "dev": true }, + "@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", + "dev": true, + "requires": { + "@types/readdir-glob": "*" + } + }, "@types/babel__core": { "version": "7.20.1", "dev": true, @@ -11548,6 +12237,15 @@ "@babel/types": "^7.20.7" } }, + "@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/eslint": { "version": "8.40.2", "requires": { @@ -11621,6 +12319,15 @@ "version": "2.7.2", "dev": true }, + "@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/semver": { "version": "7.5.0", "dev": true @@ -12053,6 +12760,64 @@ "version": "1.2.0", "dev": true }, + "archiver": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", + "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.3", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + } + } + }, "argparse": { "version": "2.0.1", "dev": true @@ -12157,6 +12922,11 @@ "version": "1.0.0", "dev": true }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, "async-each": { "version": "1.0.6", "dev": true, @@ -12234,8 +13004,7 @@ } }, "balanced-match": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "base": { "version": "0.11.2", @@ -12260,8 +13029,7 @@ } }, "base64-js": { - "version": "1.5.1", - "dev": true + "version": "1.5.1" }, "big.js": { "version": "5.2.2", @@ -12272,6 +13040,37 @@ "dev": true, "optional": true }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "bluebird": { "version": "3.7.2", "dev": true @@ -12282,7 +13081,6 @@ }, "brace-expansion": { "version": "1.1.11", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -12403,6 +13201,33 @@ "isarray": "^1.0.0" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, "buffer-from": { "version": "1.1.2" }, @@ -12719,9 +13544,31 @@ "version": "1.3.0", "dev": true }, + "compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "concat-map": { - "version": "0.0.1", - "dev": true + "version": "0.0.1" }, "concat-stream": { "version": "1.6.2", @@ -12783,8 +13630,33 @@ "dev": true }, "core-util-is": { - "version": "1.0.3", - "dev": true + "version": "1.0.3" + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "requires": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } }, "create-ecdh": { "version": "4.0.4", @@ -12894,6 +13766,173 @@ "version": "0.2.2", "dev": true }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, "dedent": { "version": "0.7.0", "dev": true @@ -13031,7 +14070,6 @@ }, "end-of-stream": { "version": "1.4.4", - "dev": true, "requires": { "once": "^1.4.0" } @@ -13612,6 +14650,15 @@ "bser": "2.1.1" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, "figgy-pudding": { "version": "3.5.2", "dev": true @@ -13623,6 +14670,12 @@ "flat-cache": "^3.0.4" } }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true + }, "fill-range": { "version": "7.0.1", "dev": true, @@ -13784,6 +14837,11 @@ "readable-stream": "^2.0.0" } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "fs-write-stream-atomic": { "version": "1.0.10", "dev": true, @@ -13795,8 +14853,7 @@ } }, "fs.realpath": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "function-bind": { "version": "1.1.1", @@ -14094,8 +15151,7 @@ } }, "ieee754": { - "version": "1.2.1", - "dev": true + "version": "1.2.1" }, "iferr": { "version": "0.1.5", @@ -14131,15 +15187,13 @@ }, "inflight": { "version": "1.0.6", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "dev": true + "version": "2.0.4" }, "internal-slot": { "version": "1.0.5", @@ -14261,6 +15315,12 @@ "is-extglob": "^2.1.1" } }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, "is-negative-zero": { "version": "2.0.2", "dev": true @@ -14351,8 +15411,7 @@ "dev": true }, "isarray": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "isexe": { "version": "2.0.0", @@ -14916,6 +15975,14 @@ "version": "3.0.3", "dev": true }, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "requires": { + "readable-stream": "^2.0.5" + } + }, "leven": { "version": "3.1.0", "dev": true @@ -14961,6 +16028,26 @@ "version": "4.17.21", "dev": true }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, "lodash.memoize": { "version": "4.1.2", "dev": true @@ -14969,6 +16056,11 @@ "version": "4.6.2", "dev": true }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, "lru-cache": { "version": "9.1.1", "dev": true @@ -15077,7 +16169,6 @@ }, "minimatch": { "version": "3.1.2", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -15248,8 +16339,7 @@ "version": "2.0.12" }, "normalize-path": { - "version": "3.0.0", - "dev": true + "version": "3.0.0" }, "npm-run-path": { "version": "4.0.1", @@ -15363,7 +16453,6 @@ }, "once": { "version": "1.4.0", - "dev": true, "requires": { "wrappy": "1" } @@ -15475,8 +16564,7 @@ "dev": true }, "path-is-absolute": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "path-key": { "version": "3.1.1", @@ -15509,6 +16597,12 @@ "sha.js": "^2.4.8" } }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "picocolors": { "version": "1.0.0" }, @@ -15520,6 +16614,21 @@ "version": "4.0.1", "dev": true }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, "pirates": { "version": "4.0.5", "dev": true @@ -15594,8 +16703,7 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.1", - "dev": true + "version": "2.0.1" }, "promise-inflight": { "version": "1.0.1", @@ -15712,7 +16820,6 @@ }, "readable-stream": { "version": "2.3.8", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -15724,18 +16831,42 @@ }, "dependencies": { "safe-buffer": { - "version": "5.1.2", - "dev": true + "version": "5.1.2" }, "string_decoder": { "version": "1.1.1", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } } } }, + "readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "requires": { + "minimatch": "^5.1.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "readdirp": { "version": "3.6.0", "dev": true, @@ -15898,6 +17029,15 @@ "ajv-keywords": "^3.5.2" } }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "requires": { + "commander": "^2.8.1" + } + }, "semver": { "version": "7.5.1", "dev": true, @@ -16278,7 +17418,6 @@ }, "string_decoder": { "version": "1.3.0", - "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -16373,6 +17512,15 @@ "version": "3.0.0", "dev": true }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, "strip-final-newline": { "version": "2.0.0", "dev": true @@ -16399,6 +17547,30 @@ "tapable": { "version": "2.2.1" }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "terser": { "version": "5.18.1", "requires": { @@ -16470,6 +17642,12 @@ "version": "0.2.0", "dev": true }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "through2": { "version": "2.0.5", "dev": true, @@ -16493,6 +17671,12 @@ "version": "1.0.1", "dev": true }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "to-fast-properties": { "version": "2.0.0", "dev": true @@ -16683,6 +17867,28 @@ "which-boxed-primitive": "^1.0.2" } }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, "union-value": { "version": "1.0.1", "dev": true, @@ -16811,8 +18017,7 @@ } }, "util-deprecate": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "v8-to-istanbul": { "version": "9.1.0", @@ -17603,8 +18808,7 @@ } }, "wrappy": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "write-file-atomic": { "version": "4.0.2", @@ -17677,9 +18881,41 @@ "version": "21.1.1", "dev": true }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "yocto-queue": { "version": "0.1.0", "dev": true + }, + "zip-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", + "requires": { + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } } } } diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 27795e1f..6be76532 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -37,13 +37,17 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", "@types/jest": "^29.5.1", + "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, "dependencies": { + "archiver": "^5.3.1", "source-map": "^0.7.4" } } diff --git a/tools/sourcemap-tools/src/SourceMapUploader.ts b/tools/sourcemap-tools/src/SourceMapUploader.ts deleted file mode 100644 index a30f627e..00000000 --- a/tools/sourcemap-tools/src/SourceMapUploader.ts +++ /dev/null @@ -1,195 +0,0 @@ -import crypto from 'crypto'; -import fs from 'fs'; -import http from 'http'; -import https from 'https'; -import { Readable } from 'stream'; -import { SOURCEMAP_DEBUG_ID_KEY } from './DebugIdGenerator'; - -export const DEBUG_ID_QUERY = 'symbolication_id'; - -interface Sourcemap { - version: number; - [SOURCEMAP_DEBUG_ID_KEY]?: string; -} - -interface UploadResponse { - response: 'ok' | string; - _rxid: string; -} - -export interface UploadResult { - rxid: string; - debugId: string; -} - -export interface SourceMapUploaderOptions { - ignoreSsl?: boolean; - headers?: http.OutgoingHttpHeaders; -} - -/** - * Class responsible for uploading source maps to Backtrace. - * - * Expects symbol upload responses. - */ -export class SourceMapUploader { - private readonly _url: URL; - - constructor(url: string | URL, private readonly _options?: SourceMapUploaderOptions) { - this._url = new URL(url); - } - - /** - * Uploads the sourcemap to Backtrace from stream. The sourcemap will be parsed from JSON. - * @param fileStream File stream to use. - * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. - * If not available, a random one will be generated. - */ - public async upload(fileStream: Readable, debugId?: string): Promise; - /** - * Uploads the sourcemap to Backtrace from file. The sourcemap will be parsed from JSON. - * @param filePath File path to use. - * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. - * If not available, a random one will be generated. - */ - public async upload(filePath: string, debugId?: string): Promise; - public async upload(pathOrStream: string | Readable, debugId?: string): Promise { - if (typeof pathOrStream === 'string') { - pathOrStream = fs.createReadStream(pathOrStream); - } - - const content = await this.readStreamToEnd(pathOrStream); - const sourcemap = JSON.parse(content.toString('utf-8')); - - pathOrStream.destroy(); - - return this.uploadSourcemap(sourcemap, debugId); - } - - /** - * Uploads the sourcemap to Backtrace from string. The sourcemap will be parsed from JSON. - * @param content Sourcemap JSON string. - * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. - * If not available, a random one will be generated. - */ - public async uploadContent(content: string, debugId?: string): Promise; - /** - * Uploads the sourcemap to Backtrace. - * @param content Sourcemap JSON object. - * @param debugId Debug ID to use. If not provided, debug ID will be read from the sourcemap. - * If not available, a random one will be generated. - */ - public async uploadContent(content: object, debugId?: string): Promise; - public uploadContent(content: string | object, debugId?: string): Promise { - if (typeof content === 'string') { - content = JSON.parse(content) as object; - } - - return this.uploadSourcemap(content, debugId); - } - - private async uploadSourcemap(sourcemap: unknown, debugId?: string): Promise { - this.assertValidSourcemap(sourcemap); - - if (!debugId) { - debugId = sourcemap[SOURCEMAP_DEBUG_ID_KEY]; - - if (!debugId) { - debugId = crypto.randomUUID(); - console.warn(`Sourcemap does not have a debug ID. Using ${debugId}`); - } - } - - const uploadUrl = this.buildUploadUrl(debugId); - const protocol = uploadUrl.protocol === 'https:' ? https : http; - - return new Promise((resolve, reject) => { - const request = protocol.request( - uploadUrl, - { - method: 'POST', - rejectUnauthorized: !this._options?.ignoreSsl, - headers: this._options?.headers, - }, - (response) => { - if (!response.statusCode) { - return reject(new Error('Failed to upload sourcemap: failed to make the request.')); - } - - const data: Buffer[] = []; - response.on('data', (chunk) => { - data.push(chunk); - }); - - response.on('end', () => { - const rawResponse = Buffer.concat(data).toString('utf-8'); - if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) { - return reject( - new Error( - `Failed to upload sourcemap: ${response.statusCode}. Response data: ${rawResponse}`, - ), - ); - } - - try { - const responseData = JSON.parse(rawResponse) as UploadResponse; - if (responseData.response === 'ok') { - return resolve({ - debugId: debugId as string, - rxid: responseData._rxid, - }); - } else { - return reject(new Error(`Non-OK response received from Coroner: ${rawResponse}`)); - } - } catch (err) { - return reject(new Error(`Cannot parse response from Coroner: ${rawResponse}`)); - } - }); - }, - ); - - request.on('error', reject); - request.write(JSON.stringify(sourcemap)); - - request.end(); - }); - } - - private assertValidSourcemap(value: unknown): asserts value is Sourcemap { - if (typeof value !== 'object') { - throw new Error('Sourcemap must be an object.'); - } - - if (!value) { - throw new Error('Sourcemap must not be null.'); - } - - const sourcemap = value as Partial; - if (!sourcemap.version) { - throw new Error('Sourcemap object does not have a version.'); - } - } - - private async readStreamToEnd(stream: Readable): Promise { - return new Promise((resolve, reject) => { - stream.on('error', reject); - - const chunks: Buffer[] = []; - stream.on('data', (chunk) => chunks.push(chunk)); - stream.on('end', () => { - resolve(Buffer.concat(chunks)); - }); - }); - } - - private buildUploadUrl(debugId: string) { - const url = new URL(this._url); - - const existing = url.searchParams.get(DEBUG_ID_QUERY); - if (!existing || existing === 'SYMBOLICATION_ID' || existing === 'DEBUG_ID') { - url.searchParams.set(DEBUG_ID_QUERY, debugId); - } - - return url; - } -} diff --git a/tools/sourcemap-tools/src/SymbolUploader.ts b/tools/sourcemap-tools/src/SymbolUploader.ts new file mode 100644 index 00000000..0c0301ce --- /dev/null +++ b/tools/sourcemap-tools/src/SymbolUploader.ts @@ -0,0 +1,86 @@ +import http from 'http'; +import https from 'https'; +import { Readable } from 'stream'; + +interface CoronerUploadResponse { + response: 'ok' | string; + _rxid: string; +} + +export interface UploadResult { + rxid: string; +} + +export interface SymbolUploaderOptions { + ignoreSsl?: boolean; + headers?: http.OutgoingHttpHeaders; +} + +/** + * Class responsible for uploading symbols to Backtrace. + * + * Expects symbol upload responses. + */ +export class SymbolUploader { + private readonly _url: URL; + + constructor(url: string | URL, private readonly _options?: SymbolUploaderOptions) { + this._url = new URL(url); + } + + /** + * Uploads the symbol to Backtrace. + * @param content Symbol stream. + */ + public async uploadSymbol(readable: Readable): Promise { + const protocol = this._url.protocol === 'https:' ? https : http; + + return new Promise((resolve, reject) => { + const request = protocol.request( + this._url, + { + method: 'POST', + rejectUnauthorized: !this._options?.ignoreSsl, + headers: this._options?.headers, + }, + (response) => { + if (!response.statusCode) { + return reject(new Error('Failed to upload symbol: failed to make the request.')); + } + + const data: Buffer[] = []; + response.on('data', (chunk) => { + data.push(chunk); + }); + + response.on('end', () => { + const rawResponse = Buffer.concat(data).toString('utf-8'); + if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) { + return reject( + new Error( + `Failed to upload symbol: ${response.statusCode}. Response data: ${rawResponse}`, + ), + ); + } + + try { + const responseData = JSON.parse(rawResponse) as CoronerUploadResponse; + if (responseData.response === 'ok') { + return resolve({ + rxid: responseData._rxid, + }); + } else { + return reject(new Error(`Non-OK response received from Coroner: ${rawResponse}`)); + } + } catch (err) { + return reject(new Error(`Cannot parse response from Coroner: ${rawResponse}`)); + } + }); + }, + ); + + request.on('error', reject); + readable.pipe(request); + }); + } +} diff --git a/tools/sourcemap-tools/src/ZipArchive.ts b/tools/sourcemap-tools/src/ZipArchive.ts new file mode 100644 index 00000000..f5ac1536 --- /dev/null +++ b/tools/sourcemap-tools/src/ZipArchive.ts @@ -0,0 +1,32 @@ +import archiver from 'archiver'; +import { Readable, Transform, TransformCallback, TransformOptions } from 'stream'; + +export class ZipArchive extends Transform { + private readonly _archive: archiver.Archiver; + + constructor(opts?: TransformOptions) { + super(opts); + this._archive = archiver('zip'); + } + + public append(name: string, sourceMap: string | Readable | Buffer) { + this._archive.append(sourceMap, { name }); + return this; + } + + public finalize() { + return this._archive.finalize(); + } + + public override pipe(destination: T, options?: { end?: boolean }): T { + return this._archive.pipe(destination, options); + } + + public override _transform(chunk: unknown, encoding: BufferEncoding, callback: TransformCallback): void { + return this._archive._transform(chunk, encoding, callback); + } + + public override _flush(callback: TransformCallback): void { + return this._archive._flush(callback); + } +} diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 63156965..050b899d 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,4 +1,5 @@ export * from './ContentAppender'; export * from './DebugIdGenerator'; -export * from './SourceMapUploader'; export * from './SourceProcessor'; +export * from './SymbolUploader'; +export * from './ZipArchive'; diff --git a/tools/sourcemap-tools/tests/.gitignore b/tools/sourcemap-tools/tests/.gitignore new file mode 100644 index 00000000..37334214 --- /dev/null +++ b/tools/sourcemap-tools/tests/.gitignore @@ -0,0 +1 @@ +testOutput/ diff --git a/tools/sourcemap-tools/tests/SourceMapUploader.spec.ts b/tools/sourcemap-tools/tests/SourceMapUploader.spec.ts deleted file mode 100644 index c6b81b2b..00000000 --- a/tools/sourcemap-tools/tests/SourceMapUploader.spec.ts +++ /dev/null @@ -1,267 +0,0 @@ -import { fail } from 'assert'; -import crypto from 'crypto'; -import fs from 'fs'; -import nock from 'nock'; -import path from 'path'; -import { SOURCEMAP_DEBUG_ID_KEY } from '../src/DebugIdGenerator'; -import { DEBUG_ID_QUERY, SourceMapUploader } from '../src/SourceMapUploader'; - -describe('SourceMapUploader', () => { - function getSourcemap(debugId?: string | null) { - const sourcemap: Record = { - version: 3, - }; - - if (debugId !== null) { - sourcemap[SOURCEMAP_DEBUG_ID_KEY] = debugId ?? crypto.randomUUID(); - } - - return sourcemap; - } - - it('should POST to https URL', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`https://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should POST to http URL', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should upload object sourcemap as POST body', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin) - .post('/', JSON.stringify(sourcemap)) - .query(true) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should upload string sourcemap as POST body', async () => { - const sourcemap = JSON.stringify(getSourcemap()); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin) - .post('/', sourcemap) - .query(true) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should upload file sourcemap as POST body', async () => { - const sourcemapPath = path.join(__dirname, './testFiles/sourcemap.js.map'); - const sourcemap = await fs.promises.readFile(sourcemapPath, 'utf-8'); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin) - .post('/', sourcemap) - .query(true) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.upload(sourcemapPath); - - scope.done(); - }); - - it('should upload stream sourcemap as POST body', async () => { - const sourcemapPath = path.join(__dirname, './testFiles/sourcemap.js.map'); - const sourcemap = await fs.promises.readFile(sourcemapPath, 'utf-8'); - const stream = fs.createReadStream(sourcemapPath); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin) - .post('/', sourcemap) - .query(true) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.upload(stream); - - scope.done(); - }); - - it('should return rxid in response', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`http://upload-test/`); - const expected = crypto.randomUUID(); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: expected }); - - const uploader = new SourceMapUploader(uploadUrl); - const response = await uploader.uploadContent(sourcemap); - - scope.done(); - - expect(response.rxid).toEqual(expected); - }); - - it('should return debugId in response', async () => { - const expected = crypto.randomUUID(); - const sourcemap = getSourcemap(expected); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - const response = await uploader.uploadContent(sourcemap); - - scope.done(); - - expect(response.debugId).toEqual(expected); - }); - - it('should use passed debugId in query', async () => { - const expected = crypto.randomUUID(); - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`http://upload-test/?${DEBUG_ID_QUERY}=${expected}`); - - const scope = nock(uploadUrl.origin) - .post('/') - .query({ [DEBUG_ID_QUERY]: expected }) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should use debugId from sourcemap in query', async () => { - const expected = crypto.randomUUID(); - const sourcemap = getSourcemap(expected); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin) - .post('/') - .query({ [DEBUG_ID_QUERY]: expected }) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should generate debugId randomly when it is not passed anywhere', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`http://upload-test/`); - - const scope = nock(uploadUrl.origin) - .post('/') - .query({ [DEBUG_ID_QUERY]: /[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/ }) - .reply(200, { response: 'ok', _rxid: 'rxid' }); - - const uploader = new SourceMapUploader(uploadUrl); - await uploader.uploadContent(sourcemap); - - scope.done(); - }); - - it('should throw on non 2xx HTTP response', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`https://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(400); - - const uploader = new SourceMapUploader(uploadUrl); - await expect(() => uploader.uploadContent(sourcemap)).rejects.toThrow(); - - scope.done(); - }); - - it('should throw on non 2xx HTTP response with response data', async () => { - const expected = 'RESPONSE FROM SERVER'; - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`https://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(400, expected); - - const uploader = new SourceMapUploader(uploadUrl); - try { - await uploader.uploadContent(sourcemap); - fail(); - } catch (err) { - expect((err as Error).message).toContain(expected); - } - - scope.done(); - }); - - it('should throw on response with response not equal to "ok"', async () => { - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`https://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'not-ok', _rxid: 'rxid' }); - const uploader = new SourceMapUploader(uploadUrl); - await expect(() => uploader.uploadContent(sourcemap)).rejects.toThrow(); - - scope.done(); - }); - - it('should throw on response with response not equal to "ok" with response data', async () => { - const expected = JSON.stringify({ response: 'not-ok', _rxid: 'rxid' }); - const sourcemap = getSourcemap(); - const uploadUrl = new URL(`https://upload-test/`); - - const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, expected); - const uploader = new SourceMapUploader(uploadUrl); - try { - await uploader.uploadContent(sourcemap); - fail(); - } catch (err) { - expect((err as Error).message).toContain(expected); - } - - scope.done(); - }); - - it('should throw on sourcemap without version', async () => { - const sourcemap = getSourcemap(); - delete sourcemap['version']; - - const uploader = new SourceMapUploader(new URL(`https://upload-test/`)); - await expect(() => uploader.uploadContent(sourcemap)).rejects.toThrow(); - }); - - it('should throw if passed sourcemap is not an object', async () => { - const sourcemap = getSourcemap(); - delete sourcemap['version']; - - const uploader = new SourceMapUploader(new URL(`https://upload-test/`)); - await expect(() => uploader.uploadContent('123')).rejects.toThrow(); - }); - - it('should throw if passed sourcemap is null', async () => { - const sourcemap = getSourcemap(); - delete sourcemap['version']; - - const uploader = new SourceMapUploader(new URL(`https://upload-test/`)); - await expect(() => uploader.uploadContent('null')).rejects.toThrow(); - }); -}); diff --git a/tools/sourcemap-tools/tests/SymbolUploader.spec.ts b/tools/sourcemap-tools/tests/SymbolUploader.spec.ts new file mode 100644 index 00000000..e548ef1a --- /dev/null +++ b/tools/sourcemap-tools/tests/SymbolUploader.spec.ts @@ -0,0 +1,144 @@ +import { fail } from 'assert'; +import crypto from 'crypto'; +import fs from 'fs'; +import nock from 'nock'; +import path from 'path'; +import { Readable } from 'stream'; +import { SymbolUploader } from '../src/SymbolUploader'; + +describe('SymbolUploader', () => { + function getReadable() { + return Readable.from(crypto.randomBytes(16)); + } + + it('should POST to https URL', async () => { + const uploadData = getReadable(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SymbolUploader(uploadUrl); + await uploader.uploadSymbol(uploadData); + + scope.done(); + }); + + it('should POST to http URL', async () => { + const uploadData = getReadable(); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SymbolUploader(uploadUrl); + await uploader.uploadSymbol(uploadData); + + scope.done(); + }); + + it('should upload file as POST body', async () => { + const buffer = crypto.randomBytes(16); + const uploadData = Readable.from(buffer); + + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/', buffer) + .query(true) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SymbolUploader(uploadUrl); + await uploader.uploadSymbol(uploadData); + + scope.done(); + }); + + it('should upload stream as POST body', async () => { + const sourcemapPath = path.join(__dirname, './testFiles/sourcemap.js.map'); + const uploadData = await fs.promises.readFile(sourcemapPath, 'utf-8'); + const stream = fs.createReadStream(sourcemapPath); + const uploadUrl = new URL(`http://upload-test/`); + + const scope = nock(uploadUrl.origin) + .post('/', uploadData) + .query(true) + .reply(200, { response: 'ok', _rxid: 'rxid' }); + + const uploader = new SymbolUploader(uploadUrl); + await uploader.uploadSymbol(stream); + + scope.done(); + }); + + it('should return rxid in response', async () => { + const uploadData = getReadable(); + const uploadUrl = new URL(`http://upload-test/`); + const expected = crypto.randomUUID(); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: expected }); + + const uploader = new SymbolUploader(uploadUrl); + const response = await uploader.uploadSymbol(uploadData); + + scope.done(); + + expect(response.rxid).toEqual(expected); + }); + + it('should throw on non 2xx HTTP response', async () => { + const uploadData = getReadable(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(400); + + const uploader = new SymbolUploader(uploadUrl); + await expect(() => uploader.uploadSymbol(uploadData)).rejects.toThrow(); + + scope.done(); + }); + + it('should throw on non 2xx HTTP response with response data', async () => { + const expected = 'RESPONSE FROM SERVER'; + const uploadData = getReadable(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(400, expected); + + const uploader = new SymbolUploader(uploadUrl); + try { + await uploader.uploadSymbol(uploadData); + fail(); + } catch (err) { + expect((err as Error).message).toContain(expected); + } + + scope.done(); + }); + + it('should throw on response with response not equal to "ok"', async () => { + const uploadData = getReadable(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'not-ok', _rxid: 'rxid' }); + const uploader = new SymbolUploader(uploadUrl); + await expect(() => uploader.uploadSymbol(uploadData)).rejects.toThrow(); + + scope.done(); + }); + + it('should throw on response with response not equal to "ok" with response data', async () => { + const expected = JSON.stringify({ response: 'not-ok', _rxid: 'rxid' }); + const uploadData = getReadable(); + const uploadUrl = new URL(`https://upload-test/`); + + const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, expected); + const uploader = new SymbolUploader(uploadUrl); + try { + await uploader.uploadSymbol(uploadData); + fail(); + } catch (err) { + expect((err as Error).message).toContain(expected); + } + + scope.done(); + }); +}); diff --git a/tools/sourcemap-tools/tests/ZipArchive.spec.ts b/tools/sourcemap-tools/tests/ZipArchive.spec.ts new file mode 100644 index 00000000..a31ab34c --- /dev/null +++ b/tools/sourcemap-tools/tests/ZipArchive.spec.ts @@ -0,0 +1,46 @@ +import assert from 'assert'; +import decompress from 'decompress'; +import fs from 'fs'; +import path from 'path'; +import { ZipArchive } from '../src'; + +describe('ZipArchive', () => { + const outputFile = path.join(__dirname, './testOutput/archive.zip'); + + beforeEach(async () => { + await fs.promises.mkdir(path.dirname(outputFile), { recursive: true }); + + try { + await fs.promises.unlink(outputFile); + } catch { + // Do nothing + } + }); + + it('should create a zip archive', async () => { + const archive = new ZipArchive(); + const outputStream = fs.createWriteStream(outputFile); + archive.pipe(outputStream); + + const entries = [ + ['entry1', Buffer.from('entry1')], + ['entry2', Buffer.from('entry2')], + ] as const; + + for (const [name, buf] of entries) { + archive.append(name, buf); + } + + await archive.finalize(); + + const files = await decompress(outputFile); + expect(files.length).toBeGreaterThan(0); + + for (const file of files) { + const entry = entries.find(([e]) => e === file.path); + assert(entry); + + expect(entry[1]).toEqual(file.data); + } + }); +}); diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 4929f84e..386a595e 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -1,23 +1,23 @@ -import { DebugIdGenerator, SourceMapUploader, SourceProcessor } from '@backtrace/sourcemap-tools'; +import { DebugIdGenerator, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace/sourcemap-tools'; +import fs from 'fs'; import path from 'path'; import webpack, { WebpackPluginInstance } from 'webpack'; -import { statsPrinter } from './helpers/statsPrinter'; -import { AssetStats } from './models/AssetStats'; import { BacktracePluginOptions } from './models/BacktracePluginOptions'; export class BacktracePlugin implements WebpackPluginInstance { private readonly _sourceProcessor: SourceProcessor; - private readonly _sourceMapUploader?: SourceMapUploader; + private readonly _sourceMapUploader?: SymbolUploader; constructor(public readonly options?: BacktracePluginOptions) { this._sourceProcessor = new SourceProcessor(new DebugIdGenerator()); this._sourceMapUploader = options?.uploadUrl - ? new SourceMapUploader(options.uploadUrl, options.uploadOptions) + ? new SymbolUploader(options.uploadUrl, options.uploadOptions) : undefined; } public apply(compiler: webpack.Compiler) { - const assetStats = new Map(); + const processResults = new Map(); + let uploadResult: string | Error | undefined; compiler.hooks.afterEmit.tapPromise(BacktracePlugin.name, async (compilation) => { const logger = compilation.getLogger(BacktracePlugin.name); @@ -52,45 +52,61 @@ export class BacktracePlugin implements WebpackPluginInstance { logger.log(`received ${entries.length} files for processing`); for (const [asset, sourcePath, sourceMapPath] of entries) { - const stats: AssetStats = {}; - assetStats.set(asset, stats); - let debugId: string; logger.time(`[${asset}] process source and sourcemap`); try { debugId = await this._sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath); - stats.debugId = debugId; - stats.processSource = true; + processResults.set(asset, debugId); } catch (err) { logger.error(`[${asset}] process source and sourcemap failed:`, err); - stats.processSource = err instanceof Error ? err : new Error('Unknown error.'); + processResults.set(asset, err instanceof Error ? err : new Error('Unknown error.')); continue; } finally { logger.timeEnd(`[${asset}] process source and sourcemap`); } + } - if (!this._sourceMapUploader) { - logger.log(`[${asset}] file processed`); - continue; - } - - logger.time(`[${asset}] upload sourcemap`); + if (this._sourceMapUploader) { + logger.time(`upload sourcemaps`); try { - const result = await this._sourceMapUploader.upload(sourceMapPath, debugId); - stats.sourceMapUpload = result; - logger.log(`[${asset}] file processed and sourcemap uploaded`); + const archive = new ZipArchive(); + const request = this._sourceMapUploader.uploadSymbol(archive); + + for (const [asset, _, sourceMapPath] of entries) { + const stream = fs.createReadStream(sourceMapPath); + archive.append(`${asset}.map`, stream); + } + + await archive.finalize(); + const result = await request; + uploadResult = result.rxid; } catch (err) { - logger.error(`[${asset}] upload sourcemap failed:`, err); - stats.sourceMapUpload = err instanceof Error ? err : new Error('Unknown error.'); + logger.error(`upload sourcemaps failed:`, err); + uploadResult = err instanceof Error ? err : new Error('Unknown error.'); } finally { - logger.timeEnd(`[${asset}] upload sourcemap`); + logger.timeEnd(`upload sourcemaps`); } } - const printer = statsPrinter(compilation.getLogger(BacktracePlugin.name)); - for (const [key, stats] of assetStats) { - printer(key, stats); + for (const [key, result] of processResults) { + if (typeof result === 'string') { + logger.info(`[${key}] processed file successfully`); + logger.debug(`\tdebugId: ${result}`); + } else { + logger.error(`[${key}] failed to process file: ${result.message}`); + logger.debug(`Error stack trace: ${result.stack}`); + } + } + + if (uploadResult) { + if (typeof uploadResult === 'string') { + logger.info(`uploaded sourcemaps successfully`); + logger.debug(`\trxid: ${uploadResult}`); + } else { + logger.error(`failed to upload sourcemaps: ${uploadResult.message}`); + logger.debug(`Error stack trace: ${uploadResult.stack}`); + } } }); } diff --git a/tools/webpack-plugin/src/helpers/statsPrinter.ts b/tools/webpack-plugin/src/helpers/statsPrinter.ts deleted file mode 100644 index 73f4a81c..00000000 --- a/tools/webpack-plugin/src/helpers/statsPrinter.ts +++ /dev/null @@ -1,52 +0,0 @@ -import webpack from 'webpack'; -import { AssetStats } from '../models/AssetStats'; - -function statToString(stat: boolean | string | Error) { - if (typeof stat === 'string') { - return stat; - } - - if (typeof stat === 'boolean') { - return stat ? 'successful' : 'skipped'; - } - - return stat.message; -} - -export function statsPrinter(logger: webpack.Compilation['logger']) { - return function printStats(key: string, stats: AssetStats) { - const errors = [stats.sourceMapUpload, stats.processSource].some((v) => v instanceof Error); - - const infoLog = errors - ? (...args: unknown[]) => logger.error(...args) - : (...args: unknown[]) => logger.info(...args); - - const debugLog = (...args: unknown[]) => logger.log(...args); - - if (!errors) { - if (!!stats.sourceMapUpload && !(stats.sourceMapUpload instanceof Error)) { - infoLog(`[${key}] processed file and uploaded sourcemap successfully`); - } else { - infoLog(`[${key}] processed file successfully`); - } - } else { - infoLog(`[${key}] processed file with errors`); - } - - debugLog(`\tdebugId: ${stats.debugId ?? ''}`); - - if (stats.processSource != null) { - debugLog(`\tsource snippet append: ${statToString(stats.processSource) ?? ''}`); - } - - if (stats.sourceMapUpload != null) { - if (stats.sourceMapUpload === false || stats.sourceMapUpload instanceof Error) { - debugLog(`\tsourcemap upload: ${statToString(stats.sourceMapUpload)}`); - } else { - debugLog( - `\tsourcemap upload: yes, rxid: ${stats.sourceMapUpload.rxid}, debugId: ${stats.sourceMapUpload.debugId}`, - ); - } - } - }; -} diff --git a/tools/webpack-plugin/src/models/AssetStats.ts b/tools/webpack-plugin/src/models/AssetStats.ts deleted file mode 100644 index 1d1cb2a6..00000000 --- a/tools/webpack-plugin/src/models/AssetStats.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { UploadResult } from '@backtrace/sourcemap-tools'; - -export interface AssetStats { - debugId?: string; - processSource?: boolean | string | Error; - sourceMapUpload?: false | UploadResult | Error; -} diff --git a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts index e402d1e4..a0e7641f 100644 --- a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts +++ b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts @@ -1,4 +1,4 @@ -import { SourceMapUploaderOptions } from '@backtrace/sourcemap-tools'; +import { SymbolUploaderOptions } from '@backtrace/sourcemap-tools'; export interface BacktracePluginOptions { /** @@ -12,5 +12,5 @@ export interface BacktracePluginOptions { /** * Additional upload options. */ - uploadOptions?: SourceMapUploaderOptions; + uploadOptions?: SymbolUploaderOptions; } diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts index 65e03f46..5dd9c230 100644 --- a/tools/webpack-plugin/tests/e2e/createE2ETest.ts +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -1,4 +1,4 @@ -import { SourceMapUploader, SourceProcessor } from '@backtrace/sourcemap-tools'; +import { SourceProcessor, SymbolUploader } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import fs from 'fs'; import path from 'path'; @@ -8,7 +8,7 @@ import { asyncWebpack, expectSuccess, getFiles, removeDir, webpackModeTest } fro export function createE2ETest(configBuilder: (mode: webpack.Configuration['mode']) => webpack.Configuration) { webpackModeTest((mode) => { function mockUploader() { - return jest.spyOn(SourceMapUploader.prototype, 'upload').mockImplementation((_, debugId) => + return jest.spyOn(SymbolUploader.prototype, 'upload').mockImplementation((_, debugId) => Promise.resolve({ debugId: debugId ?? crypto.randomUUID(), rxid: crypto.randomUUID(), diff --git a/tools/webpack-plugin/webpack.config.js b/tools/webpack-plugin/webpack.config.js index 5a09c65a..6ac5974f 100644 --- a/tools/webpack-plugin/webpack.config.js +++ b/tools/webpack-plugin/webpack.config.js @@ -35,5 +35,5 @@ module.exports = { additionalModuleDirs: ['../../node_modules'], }), ], - plugins: [new BacktracePlugin({})], + plugins: [new BacktracePlugin()], }; diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 6ffe53ed..03e54fe3 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -8,7 +8,7 @@ "path": "tools/sourcemap-tools" }, { - "path": "tools/webpack-plugin" + "path": "tools/webpack-plugin/tsconfig.build.json" } ] } From 5f01995526506b48f9e264cda6f8a7f225cf87d2 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:05:28 -0400 Subject: [PATCH 065/291] Adding React Backtrace Client, ErrorBoundary, and tests (#38) * Adding React Backtrace Client, ErrorBoundary, and tests * Adding package-lock.json file * Changing props and state to use interfaces instead of type * Switching from a window variable to a static instance on BacktraceClient * Updating the static instance in BacktraceClient to use a getter as well as it's usage and tests * Making the instance param of BacktraceClient optional --------- Co-authored-by: Adam Cronin --- package-lock.json | 602 +++++++++++++++++- packages/browser/src/index.ts | 2 + packages/react/jest.config.js | 5 + packages/react/package.json | 11 +- packages/react/src/BacktraceClient.ts | 37 ++ packages/react/src/ErrorBoundary.tsx | 52 ++ packages/react/src/index.ts | 2 + .../react/tests/errorBoundaryTests.spec.tsx | 86 +++ packages/react/tsconfig.json | 3 +- 9 files changed, 784 insertions(+), 16 deletions(-) create mode 100644 packages/react/jest.config.js create mode 100644 packages/react/src/BacktraceClient.ts create mode 100644 packages/react/src/ErrorBoundary.tsx create mode 100644 packages/react/tests/errorBoundaryTests.spec.tsx diff --git a/package-lock.json b/package-lock.json index 75e6d5b9..24d922cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -541,6 +541,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.22.6", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.21.9", "dev": true, @@ -1249,6 +1260,70 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "14.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "dev": true, @@ -1266,6 +1341,11 @@ "@types/readdir-glob": "*" } }, + "node_modules/@types/aria-query": { + "version": "5.0.1", + "dev": true, + "license": "MIT" + }, "node_modules/@types/babel__core": { "version": "7.20.1", "dev": true, @@ -1398,6 +1478,29 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/readdir-glob": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", @@ -1407,6 +1510,11 @@ "@types/node": "*" } }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "dev": true, + "license": "MIT" + }, "node_modules/@types/semver": { "version": "7.5.0", "dev": true, @@ -2132,6 +2240,14 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/aria-query": { + "version": "5.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, "node_modules/arr-diff": { "version": "4.0.0", "dev": true, @@ -3439,6 +3555,11 @@ "dev": true, "license": "MIT" }, + "node_modules/csstype": { + "version": "3.1.2", + "dev": true, + "license": "MIT" + }, "node_modules/cyclist": { "version": "1.0.2", "dev": true, @@ -3694,6 +3815,39 @@ "dev": true, "license": "MIT" }, + "node_modules/deep-equal": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, "node_modules/deep-is": { "version": "0.1.4", "dev": true, @@ -3803,6 +3957,11 @@ "node": ">=6.0.0" } }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "dev": true, + "license": "MIT" + }, "node_modules/domain-browser": { "version": "1.2.0", "dev": true, @@ -3992,6 +4151,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, "node_modules/es-module-lexer": { "version": "1.3.0", "license": "MIT" @@ -5627,6 +5810,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.2", "dev": true, @@ -5794,6 +5992,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", @@ -5872,6 +6078,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-set": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "dev": true, @@ -5940,6 +6154,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "dev": true, @@ -5951,6 +6173,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-windows": { "version": "1.0.2", "dev": true, @@ -6674,7 +6908,6 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -6914,6 +7147,17 @@ "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, "node_modules/lru-cache": { "version": "9.1.1", "dev": true, @@ -6922,6 +7166,14 @@ "node": "14 || >=16.14" } }, + "node_modules/lz-string": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/make-dir": { "version": "3.1.0", "dev": true, @@ -7415,6 +7667,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "dev": true, @@ -8054,6 +8321,30 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "dev": true, @@ -8133,6 +8424,11 @@ "node": ">= 10.13.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, "node_modules/regex-not": { "version": "1.0.2", "dev": true, @@ -8380,6 +8676,15 @@ "node": ">=v12.22.7" } }, + "node_modules/scheduler": { + "version": "0.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, "node_modules/schema-utils": { "version": "3.3.0", "license": "MIT", @@ -8410,7 +8715,7 @@ } }, "node_modules/semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "license": "ISC", "dependencies": { @@ -8907,6 +9212,17 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-browserify": { "version": "2.0.2", "dev": true, @@ -9425,7 +9741,7 @@ } }, "node_modules/ts-jest": { - "version": "29.1.0", + "version": "29.1.1", "dev": true, "license": "MIT", "dependencies": { @@ -9435,7 +9751,7 @@ "json5": "^2.2.3", "lodash.memoize": "4.x", "make-error": "1.x", - "semver": "7.x", + "semver": "^7.5.3", "yargs-parser": "^21.0.1" }, "bin": { @@ -9632,9 +9948,8 @@ }, "node_modules/typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10885,6 +11200,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-collection": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-typed-array": { "version": "1.1.9", "dev": true, @@ -11230,7 +11559,15 @@ "version": "0.0.1", "license": "MIT", "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", "typescript": "^5.0.4" + }, + "peerDependencies": { + "react": ">=16.14.0" } }, "packages/sdk-core": { @@ -11629,6 +11966,13 @@ "@babel/helper-plugin-utils": "^7.20.2" } }, + "@babel/runtime": { + "version": "7.22.6", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, "@babel/template": { "version": "7.21.9", "dev": true, @@ -11710,6 +12054,11 @@ "@backtrace/react": { "version": "file:packages/react", "requires": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", "typescript": "^5.0.4" } }, @@ -11726,7 +12075,7 @@ "version": "file:tools/sourcemap-tools", "requires": { "@types/archiver": "^5.3.2", - "@types/decompress": "*", + "@types/decompress": "^4.2.4", "@types/jest": "^29.5.1", "archiver": "^5.3.1", "decompress": "^4.2.1", @@ -12191,6 +12540,48 @@ "@sinonjs/commons": "^3.0.0" } }, + "@testing-library/dom": { + "version": "9.3.1", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "dev": true + } + } + }, + "@testing-library/react": { + "version": "14.0.0", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + } + }, "@tootallnate/once": { "version": "2.0.0", "dev": true @@ -12204,6 +12595,10 @@ "@types/readdir-glob": "*" } }, + "@types/aria-query": { + "version": "5.0.1", + "dev": true + }, "@types/babel__core": { "version": "7.20.1", "dev": true, @@ -12319,6 +12714,26 @@ "version": "2.7.2", "dev": true }, + "@types/prop-types": { + "version": "15.7.5", + "dev": true + }, + "@types/react": { + "version": "18.2.14", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.6", + "dev": true, + "requires": { + "@types/react": "*" + } + }, "@types/readdir-glob": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", @@ -12328,6 +12743,10 @@ "@types/node": "*" } }, + "@types/scheduler": { + "version": "0.16.3", + "dev": true + }, "@types/semver": { "version": "7.5.0", "dev": true @@ -12822,6 +13241,13 @@ "version": "2.0.1", "dev": true }, + "aria-query": { + "version": "5.1.3", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, "arr-diff": { "version": "4.0.0", "dev": true @@ -13738,6 +14164,10 @@ } } }, + "csstype": { + "version": "3.1.2", + "dev": true + }, "cyclist": { "version": "1.0.2", "dev": true @@ -13937,6 +14367,36 @@ "version": "0.7.0", "dev": true }, + "deep-equal": { + "version": "2.2.1", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "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" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "dev": true + } + } + }, "deep-is": { "version": "0.1.4", "dev": true @@ -14009,6 +14469,10 @@ "esutils": "^2.0.2" } }, + "dom-accessibility-api": { + "version": "0.5.16", + "dev": true + }, "domain-browser": { "version": "1.2.0", "dev": true @@ -14143,6 +14607,27 @@ "which-typed-array": "^1.1.9" } }, + "es-get-iterator": { + "version": "1.1.3", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "dev": true + } + } + }, "es-module-lexer": { "version": "1.3.0" }, @@ -15215,6 +15700,14 @@ "kind-of": "^6.0.0" } }, + "is-arguments": { + "version": "1.1.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-array-buffer": { "version": "3.0.2", "dev": true, @@ -15315,6 +15808,10 @@ "is-extglob": "^2.1.1" } }, + "is-map": { + "version": "2.0.2", + "dev": true + }, "is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", @@ -15359,6 +15856,10 @@ "has-tostringtag": "^1.0.0" } }, + "is-set": { + "version": "2.0.2", + "dev": true + }, "is-shared-array-buffer": { "version": "1.0.2", "dev": true, @@ -15395,6 +15896,10 @@ "has-tostringtag": "^1.0.0" } }, + "is-weakmap": { + "version": "2.0.1", + "dev": true + }, "is-weakref": { "version": "1.0.2", "dev": true, @@ -15402,6 +15907,14 @@ "call-bind": "^1.0.2" } }, + "is-weakset": { + "version": "2.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "is-windows": { "version": "1.0.2", "dev": true @@ -15896,8 +16409,7 @@ } }, "js-tokens": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "js-yaml": { "version": "4.1.0", @@ -16061,10 +16573,21 @@ "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" }, + "loose-envify": { + "version": "1.4.0", + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "9.1.1", "dev": true }, + "lz-string": { + "version": "1.5.0", + "dev": true + }, "make-dir": { "version": "3.1.0", "dev": true, @@ -16414,6 +16937,14 @@ "version": "1.12.3", "dev": true }, + "object-is": { + "version": "1.1.5", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "object-keys": { "version": "1.1.1", "dev": true @@ -16814,6 +17345,22 @@ "safe-buffer": "^5.1.0" } }, + "react": { + "version": "18.2.0", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, "react-is": { "version": "18.2.0", "dev": true @@ -16882,6 +17429,10 @@ "resolve": "^1.20.0" } }, + "regenerator-runtime": { + "version": "0.13.11", + "dev": true + }, "regex-not": { "version": "1.0.2", "dev": true, @@ -17021,6 +17572,14 @@ "xmlchars": "^2.2.0" } }, + "scheduler": { + "version": "0.23.0", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, "schema-utils": { "version": "3.3.0", "requires": { @@ -17039,7 +17598,7 @@ } }, "semver": { - "version": "7.5.1", + "version": "7.5.4", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -17385,6 +17944,13 @@ } } }, + "stop-iteration-iterator": { + "version": "1.0.0", + "dev": true, + "requires": { + "internal-slot": "^1.0.4" + } + }, "stream-browserify": { "version": "2.0.2", "dev": true, @@ -17732,7 +18298,7 @@ } }, "ts-jest": { - "version": "29.1.0", + "version": "29.1.1", "dev": true, "requires": { "bs-logger": "0.x", @@ -17741,7 +18307,7 @@ "json5": "^2.2.3", "lodash.memoize": "4.x", "make-error": "1.x", - "semver": "7.x", + "semver": "^7.5.3", "yargs-parser": "^21.0.1" }, "dependencies": { @@ -17850,8 +18416,6 @@ }, "typescript": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true }, "ua-parser-js": { @@ -18730,6 +19294,16 @@ "is-symbol": "^1.0.3" } }, + "which-collection": { + "version": "1.0.1", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, "which-typed-array": { "version": "1.1.9", "dev": true, diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index f019e6eb..85fa6096 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -2,3 +2,5 @@ export { BacktraceReport } from '@backtrace/sdk-core'; export * from '@backtrace/sdk-core/lib/model/attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; +export * from './builder/BacktraceClientBuilder'; +export * from './agentDefinition'; diff --git a/packages/react/jest.config.js b/packages/react/jest.config.js new file mode 100644 index 00000000..5d54b9b5 --- /dev/null +++ b/packages/react/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'jsdom', +}; diff --git a/packages/react/package.json b/packages/react/package.json index 17695415..c4a3f42c 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -8,7 +8,8 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "webpack -w" + "watch": "webpack -w", + "test": "NODE_ENV=test jest" }, "repository": { "type": "git", @@ -31,6 +32,14 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", "typescript": "^5.0.4" + }, + "peerDependencies": { + "react": ">=16.14.0" } } diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts new file mode 100644 index 00000000..b5780c09 --- /dev/null +++ b/packages/react/src/BacktraceClient.ts @@ -0,0 +1,37 @@ +import { + BacktraceAttributeProvider, + BacktraceCoreClient, + BacktraceRequestHandler, + BacktraceStackTraceConverter, +} from '@backtrace/sdk-core'; +import { AGENT } from '@backtrace/browser'; +import { BacktraceConfiguration } from '@backtrace/browser'; +import { BacktraceClientBuilder } from '@backtrace/browser'; + +export class BacktraceClient extends BacktraceCoreClient { + private static _instance?: BacktraceClient; + constructor( + options: BacktraceConfiguration, + handler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[], + stackTraceConverter: BacktraceStackTraceConverter, + ) { + super(options, AGENT, handler, attributeProviders, stackTraceConverter); + } + + public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder(options); + } + + public static initialize(options: BacktraceConfiguration): BacktraceClient { + this._instance = this.builder(options).build(); + return this._instance; + } + + public static get instance(): BacktraceClient { + if (!this._instance) { + throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); + } + return this._instance; + } +} diff --git a/packages/react/src/ErrorBoundary.tsx b/packages/react/src/ErrorBoundary.tsx new file mode 100644 index 00000000..4cf94e44 --- /dev/null +++ b/packages/react/src/ErrorBoundary.tsx @@ -0,0 +1,52 @@ +import { Component, ErrorInfo, ReactElement, ReactNode, isValidElement } from 'react'; +import { BacktraceClient } from './BacktraceClient'; + +type RenderFallback = () => ReactElement; + +export interface Props { + children: ReactNode; + fallback?: ReactElement | RenderFallback; +} + +export interface State { + hasError: boolean; + error?: Error; +} + +export class ErrorBoundary extends Component { + private _client: BacktraceClient; + constructor(props: Props) { + super(props); + this.state = { + hasError: false, + error: undefined, + }; + // grabbing here so it will fail fast if BacktraceClient is uninitialized + this._client = BacktraceClient.instance; + } + + static getDerivedStateFromError(error: Error) { + return { hasError: true, error }; + } + + componentDidCatch(error: Error, info: ErrorInfo) { + this._client.send(error); + } + + render() { + const { fallback, children } = this.props; + + if (!this.state.hasError) { + return children; + } + + const fallbackComponent = typeof fallback === 'function' ? fallback() : fallback; + + if (fallbackComponent && isValidElement(fallbackComponent)) { + return fallbackComponent; + } + + // no or invalid fallback + return null; + } +} diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index ee259e05..1263636a 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1 +1,3 @@ export * from '@backtrace/browser'; +export * from './ErrorBoundary'; +export { BacktraceClient } from './BacktraceClient'; diff --git a/packages/react/tests/errorBoundaryTests.spec.tsx b/packages/react/tests/errorBoundaryTests.spec.tsx new file mode 100644 index 00000000..f397788a --- /dev/null +++ b/packages/react/tests/errorBoundaryTests.spec.tsx @@ -0,0 +1,86 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import { ErrorBoundary } from '../src/ErrorBoundary'; +import { BacktraceClient } from '../src/BacktraceClient'; + +describe('Error Boundary', () => { + const childrenText = 'I am the children'; + const fallbackText = 'This is a fallback'; + const errorText = 'Rendering error!'; + + function ValidComponent() { + return

{childrenText}

; + } + + function ErrorComponent() { + throw new Error(errorText); + return

{childrenText}

; + } + + function Fallback() { + return

{fallbackText}

; + } + + const fallbackFunction = () => ; + + describe('With BacktraeClient uninitialized', () => { + it('Should throw an error when BacktraceClient is uninitialized and an ErrorBoundary is used', () => { + expect(() => + render(}>{}), + ).toThrowError(); + }); + }); + + describe('With BacktraceClient initialized', () => { + let client: BacktraceClient; + beforeEach(() => { + client = BacktraceClient.initialize({ + url: `https://submit.backtrace.io/universe/token/json`, + name: 'test', + version: '1.0.0', + }); + }); + + it('Should not throw an error when BacktraceClient is initialized and an ErrorBoundary is used', () => { + expect(() => + render({}), + ).not.toThrowError(); + }); + + it('Should render children', () => { + render({}); + expect(screen.getByText(childrenText)); + }); + + it('Should render fallback function on rendering error', () => { + render({}); + expect(screen.getByText(fallbackText)); + }); + + it('Should render fallback component on rendering error', () => { + render(}>{}); + expect(screen.getByText(fallbackText)); + }); + + it('Should render nothing if no fallback is passed in and rendering error', () => { + const { container } = render( + + + , + ); + expect(container.firstChild).toBeNull(); + }); + + it('Should send to Backtrace on rendering error', () => { + const clientSpy = jest.spyOn(client, 'send'); + render(}>{}); + expect(clientSpy).toHaveBeenCalled(); + }); + + it('Should not send to Backtrace when no rendering error occurs', () => { + const clientSpy = jest.spyOn(client, 'send'); + render(}>{}); + expect(clientSpy).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index c30e95c5..c66b8503 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "rootDir": "./src", - "outDir": "./lib" + "outDir": "./lib", + "jsx": "react" }, "exclude": ["node_modules", "tests", "lib"], "references": [ From 99c6e8892540541626db6ad4cd054517c71c42f5 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 18 Jul 2023 10:32:00 +0200 Subject: [PATCH 066/291] Add more robust error handling and common code for CLI. (#39) * sourcemap tools: add functions to DebugIdGenerator for retrieving values * sourcemap tools: add FileFinder * sourcemap tools: add Logger definition * sourcemap tools, webpack plugin: change process file fn to not write to disk * sourcemap tools: add sources to source map functionality * sourcemap tools: add Result and AsyncResult * cli, webpack, sourcemap tools: add Result returning for error handling --------- Co-authored-by: Sebastian Alex --- tools/sourcemap-tools/src/DebugIdGenerator.ts | 21 ++- tools/sourcemap-tools/src/FileFinder.ts | 38 ++++ tools/sourcemap-tools/src/Logger.ts | 10 ++ tools/sourcemap-tools/src/SourceProcessor.ts | 151 ++++++++++++++-- tools/sourcemap-tools/src/SymbolUploader.ts | 28 +-- tools/sourcemap-tools/src/index.ts | 4 + .../sourcemap-tools/src/models/AsyncResult.ts | 103 +++++++++++ tools/sourcemap-tools/src/models/Result.ts | 110 ++++++++++++ .../tests/DebugIdGenerator.spec.ts | 67 ++++++- .../sourcemap-tools/tests/FileFinder.spec.ts | 63 +++++++ .../tests/SourceProcessor.spec.ts | 169 +++++++++++++----- .../tests/SymbolUploader.spec.ts | 45 ++--- .../sourcemap-tools/tests/testFiles/source.js | 2 + .../tests/testFiles/source.js.map | 1 + .../sourcemap-tools/tests/testFiles/source.ts | 1 + .../tests/testFiles/source_no_content.js.map | 1 + .../tests/testFiles/sourcemap.js.map | 1 - tools/webpack-plugin/src/BacktracePlugin.ts | 23 ++- .../webpack-plugin/tests/e2e/createE2ETest.ts | 32 ++-- 19 files changed, 760 insertions(+), 110 deletions(-) create mode 100644 tools/sourcemap-tools/src/FileFinder.ts create mode 100644 tools/sourcemap-tools/src/Logger.ts create mode 100644 tools/sourcemap-tools/src/models/AsyncResult.ts create mode 100644 tools/sourcemap-tools/src/models/Result.ts create mode 100644 tools/sourcemap-tools/tests/FileFinder.spec.ts create mode 100644 tools/sourcemap-tools/tests/testFiles/source.js create mode 100644 tools/sourcemap-tools/tests/testFiles/source.js.map create mode 100644 tools/sourcemap-tools/tests/testFiles/source.ts create mode 100644 tools/sourcemap-tools/tests/testFiles/source_no_content.js.map delete mode 100644 tools/sourcemap-tools/tests/testFiles/sourcemap.js.map diff --git a/tools/sourcemap-tools/src/DebugIdGenerator.ts b/tools/sourcemap-tools/src/DebugIdGenerator.ts index 98373da0..2dcbce47 100644 --- a/tools/sourcemap-tools/src/DebugIdGenerator.ts +++ b/tools/sourcemap-tools/src/DebugIdGenerator.ts @@ -11,10 +11,29 @@ export class DebugIdGenerator { return `//# ${SOURCE_DEBUG_ID_COMMENT}=${uuid}`; } - public addSourceMapKey(sourceMap: T, uuid: string): T & { [SOURCEMAP_DEBUG_ID_KEY]: string } { + public getSourceDebugId(source: string): string | undefined { + const regex = new RegExp(`^//# ${SOURCE_DEBUG_ID_COMMENT}=(.+)$`, 'm'); + const match = source.match(regex); + if (!match) { + return undefined; + } + + return match[1]; + } + + public addSourceMapDebugId(sourceMap: T, uuid: string): T & { [SOURCEMAP_DEBUG_ID_KEY]: string } { return { ...sourceMap, [SOURCEMAP_DEBUG_ID_KEY]: uuid, }; } + + public getSourceMapDebugId(sourcemap: object): string | undefined { + const debugId = (sourcemap as Record)[SOURCEMAP_DEBUG_ID_KEY]; + if (typeof debugId !== 'string') { + return undefined; + } + + return debugId; + } } diff --git a/tools/sourcemap-tools/src/FileFinder.ts b/tools/sourcemap-tools/src/FileFinder.ts new file mode 100644 index 00000000..5c98af54 --- /dev/null +++ b/tools/sourcemap-tools/src/FileFinder.ts @@ -0,0 +1,38 @@ +import fs from 'fs'; +import path from 'path'; +import { ResultPromise } from './models/AsyncResult'; +import { Ok } from './models/Result'; + +interface SearchOptions { + readonly recursive?: boolean; + readonly match?: RegExp; +} + +export class FileFinder { + public async find(dir: string, options?: SearchOptions): ResultPromise { + const result: string[] = []; + const files = await fs.promises.readdir(dir); + + for (const file of files) { + const fullPath = path.resolve(dir, file); + const stat = await fs.promises.stat(fullPath); + if (stat.isDirectory()) { + if (options?.recursive) { + const innerFindResult = await this.find(fullPath, options); + if (innerFindResult.isErr()) { + return innerFindResult; + } + files.push(...innerFindResult.data); + } + + continue; + } + + if (!options?.match || fullPath.match(options.match)) { + result.push(fullPath); + } + } + + return Ok(result); + } +} diff --git a/tools/sourcemap-tools/src/Logger.ts b/tools/sourcemap-tools/src/Logger.ts new file mode 100644 index 00000000..e51df282 --- /dev/null +++ b/tools/sourcemap-tools/src/Logger.ts @@ -0,0 +1,10 @@ +export interface Logger { + error(value: unknown | Error, ...args: unknown[]): void; + warn(value: unknown | Error, ...args: unknown[]): void; + info(value: unknown | Error, ...args: unknown[]): void; + debug(value: unknown | Error, ...args: unknown[]): void; + trace(value: unknown | Error, ...args: unknown[]): void; + log(level: LogLevel, value: unknown | Error, ...args: unknown[]): void; +} + +export type LogLevel = keyof Pick; diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 9a04e9b5..2d594fcc 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -1,11 +1,58 @@ import fs from 'fs'; +import path from 'path'; import { BasicSourceMapConsumer, Position, RawSourceMap, SourceMapConsumer, SourceMapGenerator } from 'source-map'; import { DebugIdGenerator } from './DebugIdGenerator'; import { stringToUuid } from './helpers/stringToUuid'; +import { ResultPromise } from './models/AsyncResult'; +import { Err, Ok } from './models/Result'; + +export interface ProcessResult { + readonly debugId: string; + readonly source: string; + readonly sourceMap: RawSourceMap; +} + +export interface ProcessResultWithPaths extends ProcessResult { + readonly sourcePath: string; + readonly sourceMapPath: string; +} export class SourceProcessor { constructor(private readonly _debugIdGenerator: DebugIdGenerator) {} + public isSourceProcessed(source: string): boolean { + return !!this._debugIdGenerator.getSourceDebugId(source); + } + + public isSourceMapProcessed(sourceMap: RawSourceMap): boolean { + return !!this._debugIdGenerator.getSourceMapDebugId(sourceMap); + } + + public async isSourceFileProcessed(sourcePath: string): ResultPromise { + const readResult = await this.readFile(sourcePath); + if (readResult.isErr()) { + return readResult; + } + + return Ok(this.isSourceProcessed(readResult.data)); + } + + public async isSourceMapFileProcessed(sourceMapPath: string): ResultPromise { + const readResult = await this.readFile(sourceMapPath); + if (readResult.isErr()) { + return readResult; + } + + let sourcemap: RawSourceMap; + try { + sourcemap = JSON.parse(readResult.data) as RawSourceMap; + } catch (err) { + return Err('failed to parse sourcemap JSON'); + } + + return Ok(this.isSourceMapProcessed(sourcemap)); + } + /** * Adds required snippets and comments to source, and modifies sourcemap to include debug ID. * @param source Source content. @@ -13,7 +60,11 @@ export class SourceProcessor { * @param debugId Debug ID. If not provided, one will be generated from `source`. * @returns Used debug ID, new source and new sourcemap. */ - public async processSourceAndSourceMap(source: string, sourceMap: string | RawSourceMap, debugId?: string) { + public async processSourceAndSourceMap( + source: string, + sourceMap: string | RawSourceMap, + debugId?: string, + ): ResultPromise { if (!debugId) { debugId = stringToUuid(source); } @@ -30,38 +81,100 @@ export class SourceProcessor { // We need to offset the mapping lines by sourceSnippetNewlineCount: // original code X:Y => generated code (A + sourceSnippetNewlineCount):B const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; - const offsetSourceMap = await this.offsetSourceMap(sourceMap, 0, sourceSnippetNewlineCount + 1); - const newSourceMap = this._debugIdGenerator.addSourceMapKey(offsetSourceMap, debugId); + const offsetSourceMapResult = await this.offsetSourceMap(sourceMap, 0, sourceSnippetNewlineCount + 1); + if (offsetSourceMapResult.isErr()) { + return offsetSourceMapResult; + } - return { debugId, source: newSource, sourceMap: newSourceMap }; + const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMapResult.data, debugId); + return Ok({ debugId, source: newSource, sourceMap: newSourceMap }); } /** * Adds required snippets and comments to source, and modifies sourcemap to include debug ID. * Will write modified content to the files. * @param sourcePath Path to the source. - * @param sourceMapPath Path to the sourcemap. + * @param sourceMapPath Path to the sourcemap. If not specified, will try to resolve from sourceMapURL. * @param debugId Debug ID. If not provided, one will be generated from `source`. * @returns Used debug ID. */ - public async processSourceAndSourceMapFiles(sourcePath: string, sourceMapPath: string, debugId?: string) { - const source = await fs.promises.readFile(sourcePath, 'utf8'); - const sourceMap = await fs.promises.readFile(sourceMapPath, 'utf8'); + public async processSourceAndSourceMapFiles( + sourcePath: string, + sourceMapPath?: string, + debugId?: string, + ): ResultPromise { + const sourceReadResult = await this.readFile(sourcePath); + if (sourceReadResult.isErr()) { + return sourceReadResult; + } + + const source = sourceReadResult.data; + if (!sourceMapPath) { + const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); + if (!match || !match[1]) { + return Err('Could not find source map for source.'); + } + + sourceMapPath = path.resolve(path.dirname(sourcePath), match[1]); + } + + const sourceMapReadResult = await this.readFile(sourceMapPath); + if (sourceMapReadResult.isErr()) { + return sourceMapReadResult; + } + + const sourceMap = sourceMapReadResult.data; + + const processResult = await this.processSourceAndSourceMap(source, sourceMap, debugId); + if (processResult.isErr()) { + return processResult; + } + + return Ok({ + ...processResult.data, + sourcePath, + sourceMapPath, + } as ProcessResultWithPaths); + } + + public async addSourcesToSourceMap( + sourceMap: string | RawSourceMap, + sourceMapPath: string, + ): ResultPromise { + if (typeof sourceMap === 'string') { + sourceMap = JSON.parse(sourceMap) as RawSourceMap; + } + + const sourceRoot = sourceMap.sourceRoot + ? path.resolve(path.dirname(sourceMapPath), sourceMap.sourceRoot) + : path.resolve(path.dirname(sourceMapPath)); - const result = await this.processSourceAndSourceMap(source, sourceMap, debugId); + const sourcesContent: string[] = []; + for (const sourcePath of sourceMap.sources) { + const readResult = await this.readFile(path.resolve(sourceRoot, sourcePath)); + if (readResult.isErr()) { + return readResult; + } - await fs.promises.writeFile(sourcePath, result.source, 'utf8'); - await fs.promises.writeFile(sourceMapPath, JSON.stringify(result.sourceMap), 'utf8'); + sourcesContent.push(readResult.data); + } - return result.debugId; + return Ok({ + ...sourceMap, + sourcesContent, + }); + } + + public doesSourceMapHaveSources(sourceMap: RawSourceMap): boolean { + return sourceMap.sources.length === sourceMap.sourcesContent?.length; } private async offsetSourceMap( sourceMap: string | RawSourceMap, fromLine: number, count: number, - ): Promise { - const sourceMapObj = typeof sourceMap === 'string' ? JSON.parse(sourceMap) : sourceMap; + ): ResultPromise { + const sourceMapObj = typeof sourceMap === 'string' ? (JSON.parse(sourceMap) as RawSourceMap) : sourceMap; const consumer = (await new SourceMapConsumer(sourceMapObj)) as BasicSourceMapConsumer; const newSourceMap = new SourceMapGenerator({ file: consumer.file, @@ -89,6 +202,14 @@ export class SourceProcessor { }); const newSourceMapJson = newSourceMap.toJSON(); - return { ...sourceMapObj, ...newSourceMapJson }; + return Ok({ ...sourceMapObj, ...newSourceMapJson }); + } + + private async readFile(file: string): ResultPromise { + try { + return Ok(await fs.promises.readFile(file, 'utf-8')); + } catch (err) { + return Err(`failed to read file: ${err instanceof Error ? err.message : 'unknown error'}`); + } } } diff --git a/tools/sourcemap-tools/src/SymbolUploader.ts b/tools/sourcemap-tools/src/SymbolUploader.ts index 0c0301ce..506ff710 100644 --- a/tools/sourcemap-tools/src/SymbolUploader.ts +++ b/tools/sourcemap-tools/src/SymbolUploader.ts @@ -1,6 +1,8 @@ import http from 'http'; import https from 'https'; import { Readable } from 'stream'; +import { ResultPromise } from './models/AsyncResult'; +import { Err, Ok, Result } from './models/Result'; interface CoronerUploadResponse { response: 'ok' | string; @@ -32,10 +34,10 @@ export class SymbolUploader { * Uploads the symbol to Backtrace. * @param content Symbol stream. */ - public async uploadSymbol(readable: Readable): Promise { + public async uploadSymbol(readable: Readable): ResultPromise { const protocol = this._url.protocol === 'https:' ? https : http; - return new Promise((resolve, reject) => { + return new Promise>((resolve, reject) => { const request = protocol.request( this._url, { @@ -45,7 +47,7 @@ export class SymbolUploader { }, (response) => { if (!response.statusCode) { - return reject(new Error('Failed to upload symbol: failed to make the request.')); + return resolve(Err('Failed to upload symbol: failed to make the request.')); } const data: Buffer[] = []; @@ -53,27 +55,29 @@ export class SymbolUploader { data.push(chunk); }); + response.on('error', reject); + response.on('end', () => { const rawResponse = Buffer.concat(data).toString('utf-8'); if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) { - return reject( - new Error( - `Failed to upload symbol: ${response.statusCode}. Response data: ${rawResponse}`, - ), + return resolve( + Err(`Failed to upload symbol: ${response.statusCode}. Response data: ${rawResponse}`), ); } try { const responseData = JSON.parse(rawResponse) as CoronerUploadResponse; if (responseData.response === 'ok') { - return resolve({ - rxid: responseData._rxid, - }); + return resolve( + Ok({ + rxid: responseData._rxid, + }), + ); } else { - return reject(new Error(`Non-OK response received from Coroner: ${rawResponse}`)); + return resolve(Err(`Non-OK response received from Coroner: ${rawResponse}`)); } } catch (err) { - return reject(new Error(`Cannot parse response from Coroner: ${rawResponse}`)); + return resolve(Err(`Cannot parse response from Coroner: ${rawResponse}`)); } }); }, diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 050b899d..4902bb75 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,5 +1,9 @@ export * from './ContentAppender'; export * from './DebugIdGenerator'; +export * from './FileFinder'; +export * from './Logger'; export * from './SourceProcessor'; export * from './SymbolUploader'; export * from './ZipArchive'; +export * from './models/AsyncResult'; +export * from './models/Result'; diff --git a/tools/sourcemap-tools/src/models/AsyncResult.ts b/tools/sourcemap-tools/src/models/AsyncResult.ts new file mode 100644 index 00000000..b81f593a --- /dev/null +++ b/tools/sourcemap-tools/src/models/AsyncResult.ts @@ -0,0 +1,103 @@ +import { Result, ResultErr, ResultOk, flatMap, wrapErr, wrapOk } from './Result'; + +export type ResultPromise = Promise>; + +export class AsyncResult { + constructor(private readonly _promise: Promise>) {} + + public static equip( + asyncResult: Result | (() => Result) | ResultPromise | (() => ResultPromise), + ): AsyncResult { + if (asyncResult instanceof Promise) { + return new AsyncResult(asyncResult); + } + + if (asyncResult instanceof ResultOk || asyncResult instanceof ResultErr) { + return new AsyncResult(new Promise((resolve) => resolve(asyncResult))); + } + + const fnResult = asyncResult(); + if (fnResult instanceof Promise) { + return new AsyncResult(fnResult); + } + + return new AsyncResult(new Promise((resolve) => resolve(fnResult))); + } + + public then( + transform: (data: T) => Result[] | Promise[]> | Promise>[], + ): AsyncResult; + public then(transform: (data: T) => Result | Promise>): AsyncResult; + public then(transform: (data: T) => N | Promise): AsyncResult; + public then( + transform: ( + data: T, + ) => + | Result + | Promise> + | Promise>[] + | Result[] + | Promise[]> + | N + | Promise, + ): AsyncResult { + return new AsyncResult( + this._promise.then((result) => { + if (!result.isOk()) { + return result; + } + + const transformResult = transform(result.data); + if (transformResult instanceof Promise) { + return transformResult.then((v) => { + if (Array.isArray(v)) { + return flatMap(v.map(wrapOk)); + } + + return wrapOk(v); + }); + } + + if (Array.isArray(transformResult)) { + return Promise.all(transformResult).then((r) => flatMap(r.map(wrapOk))); + } + + return wrapOk(transformResult); + }), + ); + } + + public thenErr(transform: (data: E) => Promise>): AsyncResult; + public thenErr(transform: (data: E) => Result): AsyncResult; + public thenErr(transform: (data: E) => Promise): AsyncResult; + public thenErr(transform: (data: E) => N): AsyncResult; + public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult; + public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult { + return new AsyncResult( + this._promise.then((result) => { + if (!result.isErr()) { + return result; + } + + const transformResult = transform(result.data); + if (transformResult instanceof Promise) { + return transformResult.then((v) => wrapErr(v)); + } + + return wrapErr(transformResult); + }), + ); + } + + public get inner() { + return this._promise; + } +} + +export function OkAsync(data: T): AsyncResult { + return new AsyncResult(new Promise((resolve) => resolve(new ResultOk(data)))); +} + +export function ErrAsync(data: E): AsyncResult { + return new AsyncResult(new Promise((resolve) => resolve(new ResultErr(data)))); +} diff --git a/tools/sourcemap-tools/src/models/Result.ts b/tools/sourcemap-tools/src/models/Result.ts new file mode 100644 index 00000000..1b12aa83 --- /dev/null +++ b/tools/sourcemap-tools/src/models/Result.ts @@ -0,0 +1,110 @@ +interface BaseResult { + map(fn: (data: T) => N): Result; + mapErr(fn: (data: E) => N): Result; + + isOk(): this is ResultOk; + isErr(): this is ResultErr; + + unwrap(): T; +} + +export class UnwrapError extends Error { + constructor(public readonly data: E) { + super('Operation has resulted in an error.'); + } +} + +export type Result = ResultOk | ResultErr; + +export class ResultOk implements BaseResult { + constructor(public readonly data: T) {} + + public map(transform: (data: T) => N): Result { + return new ResultOk(transform(this.data)); + } + + public mapErr(): Result { + return this; + } + + public isOk(): this is ResultOk { + return true; + } + + public isErr(): this is ResultErr { + return false; + } + + public unwrap(): T { + return this.data; + } +} + +export class ResultErr implements BaseResult { + constructor(public readonly data: E) {} + + public map(): Result { + return this; + } + + public mapErr(fn: (data: E) => N): Result { + return new ResultErr(fn(this.data)); + } + + public isOk(): this is ResultOk { + return false; + } + + public isErr(): this is ResultErr { + return true; + } + + public unwrap(): never { + throw new UnwrapError(this.data); + } +} + +export function Ok(data: T): Result { + return new ResultOk(data); +} + +export function Err(data: E): Result { + return new ResultErr(data); +} + +export function wrapOk(data: T | Result): Result { + if (data instanceof ResultOk || data instanceof ResultErr) { + return data; + } + + return Ok(data); +} + +export function wrapErr(data: E | Result): Result { + if (data instanceof ResultOk || data instanceof ResultErr) { + return data; + } + + return Err(data); +} + +export function isOk(result: Result): result is ResultOk { + return result.isOk(); +} + +export function isErr(result: Result): result is ResultErr { + return result.isErr(); +} + +export function flatMap(results: Result[]): Result { + const data: T[] = []; + for (const result of results) { + if (result.isErr()) { + return result; + } + + data.push(result.data); + } + + return Ok(data); +} diff --git a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts index cb2e8b35..99c82bbd 100644 --- a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts +++ b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts @@ -2,7 +2,7 @@ import crypto from 'crypto'; import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY, SOURCE_DEBUG_ID_COMMENT, SOURCE_DEBUG_ID_VARIABLE } from '../src'; describe('DebugIdGenerator', () => { - describe('source snippet', () => { + describe('source snippet generation', () => { /** * Makes the `global` variable `undefined` in the callback. * @param callback @@ -118,7 +118,7 @@ describe('DebugIdGenerator', () => { }); }); - describe('source comment', () => { + describe('source comment generation', () => { it('should return a comment matching regex', () => { const regex = new RegExp(`^//# ${SOURCE_DEBUG_ID_COMMENT}=[a-fA-F0-9-]{36}$`); @@ -145,10 +145,38 @@ describe('DebugIdGenerator', () => { }); }); - describe('source map', () => { + describe('source comment get', () => { + it('should return debugId from source with valid comment', () => { + const expected = crypto.randomUUID(); + const source = [ + 'foo', + 'bar', + `//# ${SOURCE_DEBUG_ID_COMMENT}=${expected}`, + `//# sourceMappingURL=baz.js`, + ].join('\n'); + + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.getSourceDebugId(source); + + expect(actual).toEqual(expected); + }); + + it('should return undefined from source without valid comment', () => { + const source = ['foo', 'bar', `//# otherStuff=${crypto.randomUUID()}`, `//# sourceMappingURL=baz.js`].join( + '\n', + ); + + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.getSourceDebugId(source); + + expect(actual).toBeUndefined(); + }); + }); + + describe('source map add', () => { it('should add key to object', () => { const debugIdGenerator = new DebugIdGenerator(); - const actual = debugIdGenerator.addSourceMapKey({}, crypto.randomUUID()); + const actual = debugIdGenerator.addSourceMapDebugId({}, crypto.randomUUID()); expect(Object.keys(actual)).toContain(SOURCEMAP_DEBUG_ID_KEY); }); @@ -157,7 +185,7 @@ describe('DebugIdGenerator', () => { const expected = crypto.randomUUID(); const debugIdGenerator = new DebugIdGenerator(); - const actual = debugIdGenerator.addSourceMapKey({}, expected); + const actual = debugIdGenerator.addSourceMapDebugId({}, expected); expect(actual[SOURCEMAP_DEBUG_ID_KEY as never]).toEqual(expected); }); @@ -166,7 +194,7 @@ describe('DebugIdGenerator', () => { const expected = {}; const debugIdGenerator = new DebugIdGenerator(); - const actual = debugIdGenerator.addSourceMapKey(expected, crypto.randomUUID()); + const actual = debugIdGenerator.addSourceMapDebugId(expected, crypto.randomUUID()); expect(actual).not.toBe(expected); }); @@ -176,9 +204,34 @@ describe('DebugIdGenerator', () => { const actual = {}; const debugIdGenerator = new DebugIdGenerator(); - debugIdGenerator.addSourceMapKey(actual, crypto.randomUUID()); + debugIdGenerator.addSourceMapDebugId(actual, crypto.randomUUID()); expect(actual).toEqual(expected); }); }); + + describe('source map get', () => { + it('should return debugId from sourcemap with key', () => { + const expected = crypto.randomUUID(); + const sourcemap = { + [SOURCEMAP_DEBUG_ID_KEY]: expected, + }; + + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.getSourceMapDebugId(sourcemap); + + expect(actual).toEqual(expected); + }); + + it('should return undefined from sourcemap without key', () => { + const sourcemap = { + 'some-other-key': crypto.randomUUID(), + }; + + const debugIdGenerator = new DebugIdGenerator(); + const actual = debugIdGenerator.getSourceMapDebugId(sourcemap); + + expect(actual).toBeUndefined(); + }); + }); }); diff --git a/tools/sourcemap-tools/tests/FileFinder.spec.ts b/tools/sourcemap-tools/tests/FileFinder.spec.ts new file mode 100644 index 00000000..b4f99757 --- /dev/null +++ b/tools/sourcemap-tools/tests/FileFinder.spec.ts @@ -0,0 +1,63 @@ +import assert from 'assert'; +import path from 'path'; +import { FileFinder } from '../src'; + +describe('FileFinder', () => { + it('should return files in directory', async () => { + const finder = new FileFinder(); + + const result = await finder.find(path.join(__dirname, './testFiles')); + assert(result.isOk()); + + expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js')); + expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + }); + + it('should return matching files in directory', async () => { + const finder = new FileFinder(); + + const result = await finder.find(path.join(__dirname, './testFiles'), { match: /\.map$/ }); + assert(result.isOk()); + + expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + expect(result.data).not.toContain(expect.not.stringMatching(/\.map$/)); + }); + + it('should return files in subdirectories in recursive mode', async () => { + const finder = new FileFinder(); + + const result = await finder.find(path.join(__dirname, './'), { recursive: true }); + assert(result.isOk()); + + expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js')); + expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + }); + + it('should not return files in subdirectories in non recursive mode', async () => { + const finder = new FileFinder(); + + const result = await finder.find(path.join(__dirname, './')); + assert(result.isOk()); + + expect(result.data).not.toContain(path.resolve(__dirname, './testFiles', 'source.js')); + expect(result.data).not.toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + }); + + it('should not return directories', async () => { + const finder = new FileFinder(); + + const result = await finder.find(path.join(__dirname, './')); + assert(result.isOk()); + + expect(result.data).not.toContain(path.resolve(__dirname, './testFiles')); + }); + + it('should not return directories in recursive mode', async () => { + const finder = new FileFinder(); + + const result = await finder.find(path.join(__dirname, './'), { recursive: true }); + assert(result.isOk()); + + expect(result.data).not.toContain(path.resolve(__dirname, './testFiles')); + }); +}); diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index 7aa04c86..36a9fdc3 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -1,5 +1,8 @@ -import { SourceMapConsumer } from 'source-map'; -import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY, SourceProcessor } from '../src'; +import assert from 'assert'; +import fs from 'fs'; +import path from 'path'; +import { RawSourceMap, SourceMapConsumer } from 'source-map'; +import { DebugIdGenerator, Ok, SOURCEMAP_DEBUG_ID_KEY, SourceProcessor } from '../src'; describe('SourceProcessor', () => { const source = `function foo(){console.log("Hello World!")}foo();`; @@ -11,61 +14,147 @@ describe('SourceProcessor', () => { mappings: 'AAAA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CAEAF,IAAI', }; - it('should append source snippet to the source on the first line', async () => { - const expected = 'APPENDED_SOURCE'; - const debugIdGenerator = new DebugIdGenerator(); + describe('processSourceAndSourceMap', () => { + it('should append source snippet to the source on the first line', async () => { + const expected = 'APPENDED_SOURCE'; + const debugIdGenerator = new DebugIdGenerator(); - jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); - const sourceProcessor = new SourceProcessor(debugIdGenerator); - const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - expect(result.source).toMatch(new RegExp(`^${expected}\n`)); - }); + assert(result.isOk()); + expect(result.data.source).toMatch(new RegExp(`^${expected}\n`)); + }); - it('should append comment snippet to the source on the last line', async () => { - const expected = 'APPENDED_COMMENT'; - const debugIdGenerator = new DebugIdGenerator(); + it('should append comment snippet to the source on the last line', async () => { + const expected = 'APPENDED_COMMENT'; + const debugIdGenerator = new DebugIdGenerator(); - jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); + jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); - const sourceProcessor = new SourceProcessor(debugIdGenerator); - const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - expect(result.source).toMatch(new RegExp(`\n${expected}$`)); - }); + assert(result.isOk()); + expect(result.data.source).toMatch(new RegExp(`\n${expected}$`)); + }); - it('should return sourcemap from DebugIdGenerator', async () => { - const expected = { [SOURCEMAP_DEBUG_ID_KEY]: 'debugId' }; - const debugIdGenerator = new DebugIdGenerator(); + it('should return sourcemap from DebugIdGenerator', async () => { + const expected = { [SOURCEMAP_DEBUG_ID_KEY]: 'debugId' }; + const debugIdGenerator = new DebugIdGenerator(); - jest.spyOn(debugIdGenerator, 'addSourceMapKey').mockReturnValue(expected); + jest.spyOn(debugIdGenerator, 'addSourceMapDebugId').mockReturnValue(expected); - const sourceProcessor = new SourceProcessor(debugIdGenerator); - const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - expect(result.sourceMap).toStrictEqual(expected); - }); + assert(result.isOk()); + expect(result.data.sourceMap).toStrictEqual(expected); + }); - it('should offset sourcemap lines by number of newlines in source snippet + 1', async () => { - const debugIdGenerator = new DebugIdGenerator(); - const sourceProcessor = new SourceProcessor(debugIdGenerator); - const snippet = 'a\nb\nc\nd'; - const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; + it('should offset sourcemap lines by number of newlines in source snippet + 1', async () => { + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const snippet = 'a\nb\nc\nd'; + const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; - jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); - const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); - const expectedPosition = unmodifiedConsumer.originalPositionFor({ line: 1, column: source.indexOf('foo();') }); + const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); + const expectedPosition = unmodifiedConsumer.originalPositionFor({ + line: 1, + column: source.indexOf('foo();'), + }); - const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + assert(result.isOk()); - const modifiedConsumer = await new SourceMapConsumer(result.sourceMap); - const actualPosition = modifiedConsumer.originalPositionFor({ - line: 1 + expectedNewLineCount, - column: source.indexOf('foo();'), + const modifiedConsumer = await new SourceMapConsumer(result.data.sourceMap); + const actualPosition = modifiedConsumer.originalPositionFor({ + line: 1 + expectedNewLineCount, + column: source.indexOf('foo();'), + }); + + expect(actualPosition).toEqual(expectedPosition); + }); + + it('should call process function with content from files', async () => { + const sourcePath = path.join(__dirname, './testFiles/source.js'); + const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); + const sourceContent = await fs.promises.readFile(sourcePath, 'utf-8'); + const sourceMapContent = await fs.promises.readFile(sourceMapPath, 'utf-8'); + const debugId = 'DEBUG_ID'; + + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const processFn = jest + .spyOn(sourceProcessor, 'processSourceAndSourceMap') + .mockImplementation(async (_, __, debugId) => + Ok({ + source: sourceContent, + sourceMap: JSON.parse(sourceMapContent), + debugId: debugId ?? 'debugId', + }), + ); + + await sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath, debugId); + + expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId); }); - expect(actualPosition).toEqual(expectedPosition); + it('should call process function with sourcemap detected from source', async () => { + const sourcePath = path.join(__dirname, './testFiles/source.js'); + const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); + const sourceContent = await fs.promises.readFile(sourcePath, 'utf-8'); + const sourceMapContent = await fs.promises.readFile(sourceMapPath, 'utf-8'); + const debugId = 'DEBUG_ID'; + + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const processFn = jest + .spyOn(sourceProcessor, 'processSourceAndSourceMap') + .mockImplementation(async (_, __, debugId) => + Ok({ + source: sourceContent, + sourceMap: JSON.parse(sourceMapContent), + debugId: debugId ?? 'debugId', + }), + ); + + await sourceProcessor.processSourceAndSourceMapFiles(sourcePath, undefined, debugId); + + expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId); + }); + }); + + describe('addSourcesToSourceMap', () => { + it('should add original sources to source map', async () => { + const originalSourcePath = path.join(__dirname, './testFiles/source.ts'); + const sourceMapPath = path.join(__dirname, './testFiles/source_no_content.js.map'); + + const sourceContent = await fs.promises.readFile(originalSourcePath, 'utf-8'); + const sourceMapContent = await fs.promises.readFile(sourceMapPath, 'utf-8'); + + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath); + assert(result.isOk()); + + expect(result.data.sourcesContent).toEqual([sourceContent]); + }); + + it('should overwrite sources in source map', async () => { + const originalSourcePath = path.join(__dirname, './testFiles/source.ts'); + const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); + + const sourceContent = await fs.promises.readFile(originalSourcePath, 'utf-8'); + const sourceMapContent = JSON.parse(await fs.promises.readFile(sourceMapPath, 'utf-8')) as RawSourceMap; + sourceMapContent.sourcesContent = ['abc']; + + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath); + assert(result.isOk()); + + expect(result.data.sourcesContent).toEqual([sourceContent]); + }); }); }); diff --git a/tools/sourcemap-tools/tests/SymbolUploader.spec.ts b/tools/sourcemap-tools/tests/SymbolUploader.spec.ts index e548ef1a..a4f56094 100644 --- a/tools/sourcemap-tools/tests/SymbolUploader.spec.ts +++ b/tools/sourcemap-tools/tests/SymbolUploader.spec.ts @@ -1,4 +1,4 @@ -import { fail } from 'assert'; +import assert from 'assert'; import crypto from 'crypto'; import fs from 'fs'; import nock from 'nock'; @@ -53,7 +53,7 @@ describe('SymbolUploader', () => { }); it('should upload stream as POST body', async () => { - const sourcemapPath = path.join(__dirname, './testFiles/sourcemap.js.map'); + const sourcemapPath = path.join(__dirname, './testFiles/source.js.map'); const uploadData = await fs.promises.readFile(sourcemapPath, 'utf-8'); const stream = fs.createReadStream(sourcemapPath); const uploadUrl = new URL(`http://upload-test/`); @@ -77,26 +77,28 @@ describe('SymbolUploader', () => { const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'ok', _rxid: expected }); const uploader = new SymbolUploader(uploadUrl); - const response = await uploader.uploadSymbol(uploadData); + const result = await uploader.uploadSymbol(uploadData); + assert(result.isOk()); scope.done(); - expect(response.rxid).toEqual(expected); + expect(result.data.rxid).toEqual(expected); }); - it('should throw on non 2xx HTTP response', async () => { + it('should return Err on non 2xx HTTP response', async () => { const uploadData = getReadable(); const uploadUrl = new URL(`https://upload-test/`); const scope = nock(uploadUrl.origin).post('/').query(true).reply(400); const uploader = new SymbolUploader(uploadUrl); - await expect(() => uploader.uploadSymbol(uploadData)).rejects.toThrow(); + const result = await uploader.uploadSymbol(uploadData); + expect(result.isErr()).toEqual(true); scope.done(); }); - it('should throw on non 2xx HTTP response with response data', async () => { + it('should return Err on non 2xx HTTP response with response data', async () => { const expected = 'RESPONSE FROM SERVER'; const uploadData = getReadable(); const uploadUrl = new URL(`https://upload-test/`); @@ -104,40 +106,39 @@ describe('SymbolUploader', () => { const scope = nock(uploadUrl.origin).post('/').query(true).reply(400, expected); const uploader = new SymbolUploader(uploadUrl); - try { - await uploader.uploadSymbol(uploadData); - fail(); - } catch (err) { - expect((err as Error).message).toContain(expected); - } + const result = await uploader.uploadSymbol(uploadData); + + assert(result.isErr()); + expect(result.data).toContain(expected); scope.done(); }); - it('should throw on response with response not equal to "ok"', async () => { + it('should return Err on response with response not equal to "ok"', async () => { const uploadData = getReadable(); const uploadUrl = new URL(`https://upload-test/`); const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, { response: 'not-ok', _rxid: 'rxid' }); const uploader = new SymbolUploader(uploadUrl); - await expect(() => uploader.uploadSymbol(uploadData)).rejects.toThrow(); + const result = await uploader.uploadSymbol(uploadData); + + expect(result.isErr()).toEqual(true); scope.done(); }); - it('should throw on response with response not equal to "ok" with response data', async () => { + it('should return Err on response with response not equal to "ok" with response data', async () => { const expected = JSON.stringify({ response: 'not-ok', _rxid: 'rxid' }); const uploadData = getReadable(); const uploadUrl = new URL(`https://upload-test/`); const scope = nock(uploadUrl.origin).post('/').query(true).reply(200, expected); const uploader = new SymbolUploader(uploadUrl); - try { - await uploader.uploadSymbol(uploadData); - fail(); - } catch (err) { - expect((err as Error).message).toContain(expected); - } + + const result = await uploader.uploadSymbol(uploadData); + + assert(result.isErr()); + expect(result.data).toContain(expected); scope.done(); }); diff --git a/tools/sourcemap-tools/tests/testFiles/source.js b/tools/sourcemap-tools/tests/testFiles/source.js new file mode 100644 index 00000000..8666563f --- /dev/null +++ b/tools/sourcemap-tools/tests/testFiles/source.js @@ -0,0 +1,2 @@ +(()=>{"use strict";console.log("Hello World!")})(); +//# sourceMappingURL=source.js.map \ No newline at end of file diff --git a/tools/sourcemap-tools/tests/testFiles/source.js.map b/tools/sourcemap-tools/tests/testFiles/source.js.map new file mode 100644 index 00000000..0efa14bc --- /dev/null +++ b/tools/sourcemap-tools/tests/testFiles/source.js.map @@ -0,0 +1 @@ +{"version":3,"file":"source.js","mappings":";mBAAAA,QAAQC,IAAI,e","sources":["./source.ts"],"sourcesContent":["console.log('Hello World!');\n"],"names":["console","log"],"sourceRoot":""} \ No newline at end of file diff --git a/tools/sourcemap-tools/tests/testFiles/source.ts b/tools/sourcemap-tools/tests/testFiles/source.ts new file mode 100644 index 00000000..a420803c --- /dev/null +++ b/tools/sourcemap-tools/tests/testFiles/source.ts @@ -0,0 +1 @@ +console.log('Hello World!'); diff --git a/tools/sourcemap-tools/tests/testFiles/source_no_content.js.map b/tools/sourcemap-tools/tests/testFiles/source_no_content.js.map new file mode 100644 index 00000000..8e67cf4b --- /dev/null +++ b/tools/sourcemap-tools/tests/testFiles/source_no_content.js.map @@ -0,0 +1 @@ +{"version":3,"file":"source.js","mappings":";mBAAAA,QAAQC,IAAI,e","sources":["./source.ts"],"names":["console","log"],"sourceRoot":""} \ No newline at end of file diff --git a/tools/sourcemap-tools/tests/testFiles/sourcemap.js.map b/tools/sourcemap-tools/tests/testFiles/sourcemap.js.map deleted file mode 100644 index 6d5815f8..00000000 --- a/tools/sourcemap-tools/tests/testFiles/sourcemap.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./tests/e2e/single-input-single-output/input/index.ts","webpack:///./tests/e2e/single-input-single-output/input/dependency.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","dependency_1","console","log","doSomething"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,+BCjFrDrB,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,IACtD,MAAMe,EAAe,EAAQ,GAC7BC,QAAQC,IAAI,iBACZ,EAAIF,EAAaG,gB,6BCHjBzB,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,IACtDnB,EAAQqC,iBAAc,EAItBrC,EAAQqC,YAHR,WACIF,QAAQC,IAAI","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst dependency_1 = require(\"./dependency\");\nconsole.log('Hello World!');\n(0, dependency_1.doSomething)();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.doSomething = void 0;\nfunction doSomething() {\n console.log('Done something');\n}\nexports.doSomething = doSomething;\n"],"sourceRoot":"","debugId":"251a0026-7fbb-43a3-bce6-690dad9f8d58"} \ No newline at end of file diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 386a595e..cea651d8 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -56,7 +56,21 @@ export class BacktracePlugin implements WebpackPluginInstance { logger.time(`[${asset}] process source and sourcemap`); try { - debugId = await this._sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath); + const result = await this._sourceProcessor.processSourceAndSourceMapFiles( + sourcePath, + sourceMapPath, + ); + + if (result.isErr()) { + logger.error(`[${asset}] process source and sourcemap failed:`, result.data); + processResults.set(asset, new Error(result.data)); + continue; + } + + debugId = result.data.debugId; + await fs.promises.writeFile(sourcePath, result.data.source, 'utf8'); + await fs.promises.writeFile(sourceMapPath, JSON.stringify(result.data.sourceMap), 'utf8'); + processResults.set(asset, debugId); } catch (err) { logger.error(`[${asset}] process source and sourcemap failed:`, err); @@ -80,7 +94,12 @@ export class BacktracePlugin implements WebpackPluginInstance { await archive.finalize(); const result = await request; - uploadResult = result.rxid; + if (result.isErr()) { + logger.error(`upload sourcemaps failed:`, result.data); + uploadResult = new Error(result.data); + } else { + uploadResult = result.data.rxid; + } } catch (err) { logger.error(`upload sourcemaps failed:`, err); uploadResult = err instanceof Error ? err : new Error('Unknown error.'); diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts index 5dd9c230..242bd4af 100644 --- a/tools/webpack-plugin/tests/e2e/createE2ETest.ts +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -1,5 +1,6 @@ -import { SourceProcessor, SymbolUploader } from '@backtrace/sourcemap-tools'; +import { Ok, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace/sourcemap-tools'; import assert from 'assert'; +import crypto from 'crypto'; import fs from 'fs'; import path from 'path'; import webpack from 'webpack'; @@ -8,29 +9,36 @@ import { asyncWebpack, expectSuccess, getFiles, removeDir, webpackModeTest } fro export function createE2ETest(configBuilder: (mode: webpack.Configuration['mode']) => webpack.Configuration) { webpackModeTest((mode) => { function mockUploader() { - return jest.spyOn(SymbolUploader.prototype, 'upload').mockImplementation((_, debugId) => - Promise.resolve({ - debugId: debugId ?? crypto.randomUUID(), - rxid: crypto.randomUUID(), - }), + return jest.spyOn(SymbolUploader.prototype, 'uploadSymbol').mockImplementation(() => + Promise.resolve( + Ok({ + rxid: crypto.randomUUID(), + }), + ), ); } function mockProcessor() { return jest .spyOn(SourceProcessor.prototype, 'processSourceAndSourceMapFiles') - .mockImplementation(async (_, __, debugId) => debugId ?? 'debugId'); + .mockImplementation(async (_, __, debugId) => Ok({ debugId: debugId ?? 'debugId' } as never)); + } + + function mockZipArchiveAppend() { + return jest.spyOn(ZipArchive.prototype, 'append').mockReturnThis(); } let result: webpack.Stats; let uploadSpy: ReturnType; let processSpy: ReturnType; + let zipArchiveAppendSpy: ReturnType; beforeAll(async () => { jest.resetAllMocks(); uploadSpy = mockUploader(); processSpy = mockProcessor(); + zipArchiveAppendSpy = mockZipArchiveAppend(); const config = configBuilder(mode); if (config.output?.path) { @@ -50,7 +58,7 @@ export function createE2ETest(configBuilder: (mode: webpack.Configuration['mode' expect(jsFiles.length).toBeGreaterThan(0); const processedPairs = processSpy.mock.calls.map( - ([p1, p2]) => [path.resolve(p1), path.resolve(p2)] as const, + ([p1, p2]) => [path.resolve(p1), p2 ? path.resolve(p2) : undefined] as const, ); for (const file of jsFiles) { const content = await fs.promises.readFile(file, 'utf8'); @@ -65,17 +73,21 @@ export function createE2ETest(configBuilder: (mode: webpack.Configuration['mode' } }); - it('should call SourceMapUploader for every emitted sourcemap', async () => { + it('should append every emitted sourcemap to archive', async () => { const outputDir = result.compilation.outputOptions.path; assert(outputDir); const mapFiles = await getFiles(outputDir, /.js.map$/); expect(mapFiles.length).toBeGreaterThan(0); - const uploadedFiles = uploadSpy.mock.calls.map((c) => path.resolve(c[0])); + const uploadedFiles = zipArchiveAppendSpy.mock.calls.map((c) => path.resolve(c[1] as string)); for (const file of mapFiles) { expect(uploadedFiles).toContain(path.resolve(file)); } }); + + it('should upload archive', async () => { + expect(uploadSpy).toBeCalledWith(expect.any(ZipArchive)); + }); }); } From 2f9270215120e109287c81fb220fc9f1e67ad854 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 18 Jul 2023 15:53:59 +0200 Subject: [PATCH 067/291] Add CLI for manipulating source and sourcemap files. (#40) * cli: add initial @backtrace/cli project * cli: add command-line-args and command-line-usage package * cli: add commands support * cli: add logger implementation and usage * cli: add reference to @backtrace/sourcemap-tools * cli: add common functions * cli: add process command * cli: add upload command * cli: add addSources command * cli: add archive output feature * cli: change verbosity levels * cli: add doc to find * cli: extract 'backtrace' command name to a const * cli: fix file collisions in uploaded zip archive * cli: change default Command generic param to object --------- Co-authored-by: Sebastian Alex --- package-lock.json | 695 +++++++++++-------- tools/cli/LICENSE | 21 + tools/cli/package.json | 48 ++ tools/cli/src/commands/Command.ts | 168 +++++ tools/cli/src/helpers/common.ts | 69 ++ tools/cli/src/helpers/find.ts | 41 ++ tools/cli/src/index.ts | 57 ++ tools/cli/src/logger.ts | 109 +++ tools/cli/src/models/CommandError.ts | 7 + tools/cli/src/models/OptionDefinition.ts | 6 + tools/cli/src/sourcemaps/add-sources.ts | 118 ++++ tools/cli/src/sourcemaps/process.ts | 115 +++ tools/cli/src/sourcemaps/upload.ts | 192 +++++ tools/cli/tsconfig.json | 9 + tools/sourcemap-tools/src/SourceProcessor.ts | 32 +- 15 files changed, 1399 insertions(+), 288 deletions(-) create mode 100644 tools/cli/LICENSE create mode 100644 tools/cli/package.json create mode 100644 tools/cli/src/commands/Command.ts create mode 100644 tools/cli/src/helpers/common.ts create mode 100644 tools/cli/src/helpers/find.ts create mode 100644 tools/cli/src/index.ts create mode 100644 tools/cli/src/logger.ts create mode 100644 tools/cli/src/models/CommandError.ts create mode 100644 tools/cli/src/models/OptionDefinition.ts create mode 100644 tools/cli/src/sourcemaps/add-sources.ts create mode 100644 tools/cli/src/sourcemaps/process.ts create mode 100644 tools/cli/src/sourcemaps/upload.ts create mode 100644 tools/cli/tsconfig.json diff --git a/package-lock.json b/package-lock.json index 24d922cb..5dc42a76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,26 @@ "typescript": "^5.0.4" } }, + "node_modules/@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "dependencies": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/@75lb/deep-merge/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "dev": true, @@ -610,6 +630,10 @@ "resolved": "packages/browser", "link": true }, + "node_modules/@backtrace/javascript-cli": { + "resolved": "tools/cli", + "link": true + }, "node_modules/@backtrace/node": { "resolved": "packages/node", "link": true @@ -1334,9 +1358,8 @@ }, "node_modules/@types/archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, + "license": "MIT", "dependencies": { "@types/readdir-glob": "*" } @@ -1383,11 +1406,21 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/command-line-args": { + "version": "5.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true + }, "node_modules/@types/decompress": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -1503,9 +1536,8 @@ }, "node_modules/@types/readdir-glob": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -2137,7 +2169,6 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -2168,8 +2199,7 @@ }, "node_modules/archiver": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "async": "^3.2.3", @@ -2185,8 +2215,7 @@ }, "node_modules/archiver-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "license": "MIT", "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", @@ -2205,8 +2234,7 @@ }, "node_modules/archiver-utils/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2224,8 +2252,7 @@ }, "node_modules/archiver/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2272,6 +2299,13 @@ "node": ">=0.10.0" } }, + "node_modules/array-back": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", "dev": true, @@ -2400,8 +2434,7 @@ }, "node_modules/async": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "license": "MIT" }, "node_modules/async-each": { "version": "1.0.6", @@ -2596,8 +2629,7 @@ }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -2606,8 +2638,6 @@ }, "node_modules/bl/node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -2622,6 +2652,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -2629,8 +2660,7 @@ }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2811,9 +2841,8 @@ }, "node_modules/buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, + "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" @@ -2821,23 +2850,20 @@ }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-crc32": { "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", @@ -2990,7 +3016,6 @@ }, "node_modules/chalk": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -3003,6 +3028,20 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, "node_modules/char-regex": { "version": "1.0.2", "dev": true, @@ -3268,7 +3307,6 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -3279,7 +3317,6 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, "node_modules/colorette": { @@ -3297,6 +3334,49 @@ "node": ">= 0.8" } }, + "node_modules/command-line-args": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "dependencies": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } + }, "node_modules/commander": { "version": "2.20.3", "license": "MIT" @@ -3313,8 +3393,7 @@ }, "node_modules/compress-commons": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "license": "MIT", "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", @@ -3327,8 +3406,7 @@ }, "node_modules/compress-commons/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3427,8 +3505,7 @@ }, "node_modules/crc-32": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", "bin": { "crc32": "bin/crc32.njs" }, @@ -3438,8 +3515,7 @@ }, "node_modules/crc32-stream": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -3450,8 +3526,7 @@ }, "node_modules/crc32-stream/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3609,9 +3684,8 @@ }, "node_modules/decompress": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, + "license": "MIT", "dependencies": { "decompress-tar": "^4.0.0", "decompress-tarbz2": "^4.0.0", @@ -3628,9 +3702,8 @@ }, "node_modules/decompress-tar": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, + "license": "MIT", "dependencies": { "file-type": "^5.2.0", "is-stream": "^1.1.0", @@ -3642,9 +3715,8 @@ }, "node_modules/decompress-tar/node_modules/bl": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -3652,18 +3724,16 @@ }, "node_modules/decompress-tar/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decompress-tar/node_modules/tar-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^1.0.0", "buffer-alloc": "^1.2.0", @@ -3679,9 +3749,8 @@ }, "node_modules/decompress-tarbz2": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, + "license": "MIT", "dependencies": { "decompress-tar": "^4.1.0", "file-type": "^6.1.0", @@ -3695,27 +3764,24 @@ }, "node_modules/decompress-tarbz2/node_modules/file-type": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/decompress-tarbz2/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decompress-targz": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, + "license": "MIT", "dependencies": { "decompress-tar": "^4.1.1", "file-type": "^5.2.0", @@ -3727,18 +3793,16 @@ }, "node_modules/decompress-targz/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decompress-unzip": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, + "license": "MIT", "dependencies": { "file-type": "^3.8.0", "get-stream": "^2.2.0", @@ -3751,18 +3815,16 @@ }, "node_modules/decompress-unzip/node_modules/file-type": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decompress-unzip/node_modules/get-stream": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.0.1", "pinkie-promise": "^2.0.0" @@ -3773,18 +3835,16 @@ }, "node_modules/decompress-unzip/node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decompress/node_modules/make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -3794,18 +3854,16 @@ }, "node_modules/decompress/node_modules/make-dir/node_modules/pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/decompress/node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4916,9 +4974,8 @@ }, "node_modules/fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, + "license": "MIT", "dependencies": { "pend": "~1.2.0" } @@ -4941,9 +4998,8 @@ }, "node_modules/file-type": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -5059,6 +5115,16 @@ "semver": "bin/semver" } }, + "node_modules/find-replace": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/find-up": { "version": "5.0.0", "dev": true, @@ -5198,8 +5264,7 @@ }, "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "license": "MIT" }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", @@ -6002,9 +6067,8 @@ }, "node_modules/is-natural-number": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-negative-zero": { "version": "2.0.2", @@ -7028,8 +7092,7 @@ }, "node_modules/lazystream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -7112,25 +7175,30 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "license": "MIT" + }, "node_modules/lodash.defaults": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + "license": "MIT" }, "node_modules/lodash.difference": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + "license": "MIT" }, "node_modules/lodash.flatten": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -7144,8 +7212,7 @@ }, "node_modules/lodash.union": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", @@ -7976,9 +8043,8 @@ }, "node_modules/pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { "version": "1.0.0", @@ -8005,18 +8071,16 @@ }, "node_modules/pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, + "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -8376,24 +8440,21 @@ }, "node_modules/readdir-glob": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.1.0" } }, "node_modules/readdir-glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/readdir-glob/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8703,9 +8764,8 @@ }, "node_modules/seek-bzip": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, + "license": "MIT", "dependencies": { "commander": "^2.8.1" }, @@ -9253,6 +9313,14 @@ "xtend": "^4.0.0" } }, + "node_modules/stream-read-all": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", + "engines": { + "node": ">=10" + } + }, "node_modules/stream-shift": { "version": "1.0.1", "dev": true, @@ -9412,9 +9480,8 @@ }, "node_modules/strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, + "license": "MIT", "dependencies": { "is-natural-number": "^4.0.1" } @@ -9440,7 +9507,6 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -9465,6 +9531,42 @@ "dev": true, "license": "MIT" }, + "node_modules/table-layout": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", + "dependencies": { + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" + }, + "bin": { + "table-layout": "bin/cli.js" + }, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } + }, "node_modules/tapable": { "version": "2.2.1", "license": "MIT", @@ -9474,8 +9576,7 @@ }, "node_modules/tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -9489,8 +9590,7 @@ }, "node_modules/tar-stream/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -9620,9 +9720,8 @@ }, "node_modules/through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/through2": { "version": "2.0.5", @@ -9656,9 +9755,8 @@ }, "node_modules/to-buffer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -9958,6 +10056,13 @@ "node": ">=12.20" } }, + "node_modules/typical": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ua-parser-js": { "version": "1.0.35", "funding": [ @@ -9991,9 +10096,8 @@ }, "node_modules/unbzip2-stream": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" @@ -10001,8 +10105,6 @@ }, "node_modules/unbzip2-stream/node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -10018,6 +10120,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -11246,6 +11349,14 @@ "node": ">=0.10.0" } }, + "node_modules/wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "engines": { + "node": ">=12.17" + } + }, "node_modules/worker-farm": { "version": "1.7.0", "dev": true, @@ -11461,9 +11572,8 @@ }, "node_modules/yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -11482,8 +11592,7 @@ }, "node_modules/zip-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", @@ -11495,8 +11604,7 @@ }, "node_modules/zip-stream/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -11581,6 +11689,23 @@ "typescript": "^5.0.4" } }, + "tools/cli": { + "name": "@backtrace/javascript-cli", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2" + }, + "engines": { + "node": ">=14" + } + }, "tools/sourcemap-tools": { "name": "@backtrace/sourcemap-tools", "version": "0.0.1", @@ -11605,8 +11730,7 @@ }, "tools/sourcemap-tools/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -11640,6 +11764,22 @@ } }, "dependencies": { + "@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "requires": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" + }, + "dependencies": { + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } + } + }, "@ampproject/remapping": { "version": "2.2.1", "dev": true, @@ -12029,6 +12169,16 @@ "webpack-cli": "^5.1.4" } }, + "@backtrace/javascript-cli": { + "version": "file:tools/cli", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1" + } + }, "@backtrace/node": { "version": "file:packages/node", "requires": { @@ -12087,9 +12237,7 @@ }, "dependencies": { "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + "version": "0.7.4" } } }, @@ -12588,8 +12736,6 @@ }, "@types/archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, "requires": { "@types/readdir-glob": "*" @@ -12632,10 +12778,18 @@ "@babel/types": "^7.20.7" } }, + "@types/command-line-args": { + "version": "5.2.0", + "dev": true + }, + "@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true + }, "@types/decompress": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, "requires": { "@types/node": "*" @@ -12736,8 +12890,6 @@ }, "@types/readdir-glob": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", "dev": true, "requires": { "@types/node": "*" @@ -13162,7 +13314,6 @@ }, "ansi-styles": { "version": "4.3.0", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -13181,8 +13332,6 @@ }, "archiver": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", "requires": { "archiver-utils": "^2.1.0", "async": "^3.2.3", @@ -13195,8 +13344,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13207,8 +13354,6 @@ }, "archiver-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "requires": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", @@ -13224,8 +13369,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13260,6 +13403,9 @@ "version": "3.1.0", "dev": true }, + "array-back": { + "version": "3.1.0" + }, "array-buffer-byte-length": { "version": "1.0.0", "dev": true, @@ -13349,9 +13495,7 @@ "dev": true }, "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.4" }, "async-each": { "version": "1.0.6", @@ -13468,8 +13612,6 @@ }, "bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -13478,8 +13620,6 @@ "dependencies": { "buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -13487,8 +13627,6 @@ }, "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13629,8 +13767,6 @@ }, "buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { "buffer-alloc-unsafe": "^1.1.0", @@ -13639,19 +13775,13 @@ }, "buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + "version": "0.2.13" }, "buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, "buffer-from": { @@ -13758,12 +13888,19 @@ }, "chalk": { "version": "4.1.2", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "requires": { + "chalk": "^4.1.2" + } + }, "char-regex": { "version": "1.0.2", "dev": true @@ -13940,14 +14077,12 @@ }, "color-convert": { "version": "2.0.1", - "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.4", - "dev": true + "version": "1.1.4" }, "colorette": { "version": "2.0.20", @@ -13959,6 +14094,38 @@ "delayed-stream": "~1.0.0" } }, + "command-line-args": { + "version": "5.2.1", + "requires": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + } + }, + "command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "requires": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "dependencies": { + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + }, + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } + } + }, "commander": { "version": "2.20.3" }, @@ -13972,8 +14139,6 @@ }, "compress-commons": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "requires": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", @@ -13983,8 +14148,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14059,14 +14222,10 @@ "version": "1.0.3" }, "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + "version": "1.2.2" }, "crc32-stream": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "requires": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -14074,8 +14233,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14198,8 +14355,6 @@ }, "decompress": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "requires": { "decompress-tar": "^4.0.0", @@ -14214,8 +14369,6 @@ "dependencies": { "make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { "pify": "^3.0.0" @@ -14223,24 +14376,18 @@ "dependencies": { "pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true } } }, "decompress-tar": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "requires": { "file-type": "^5.2.0", @@ -14250,8 +14397,6 @@ "dependencies": { "bl": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "requires": { "readable-stream": "^2.3.5", @@ -14260,14 +14405,10 @@ }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true }, "tar-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, "requires": { "bl": "^1.0.0", @@ -14283,8 +14424,6 @@ }, "decompress-tarbz2": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "requires": { "decompress-tar": "^4.1.0", @@ -14296,22 +14435,16 @@ "dependencies": { "file-type": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true } } }, "decompress-targz": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "requires": { "decompress-tar": "^4.1.1", @@ -14321,16 +14454,12 @@ "dependencies": { "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true } } }, "decompress-unzip": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "requires": { "file-type": "^3.8.0", @@ -14341,14 +14470,10 @@ "dependencies": { "file-type": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true }, "get-stream": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "requires": { "object-assign": "^4.0.1", @@ -14357,8 +14482,6 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true } } @@ -15137,8 +15260,6 @@ }, "fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "requires": { "pend": "~1.2.0" @@ -15157,8 +15278,6 @@ }, "file-type": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true }, "fill-range": { @@ -15231,6 +15350,12 @@ } } }, + "find-replace": { + "version": "3.0.0", + "requires": { + "array-back": "^3.0.1" + } + }, "find-up": { "version": "5.0.0", "dev": true, @@ -15323,9 +15448,7 @@ } }, "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "version": "1.0.0" }, "fs-write-stream-atomic": { "version": "1.0.10", @@ -15814,8 +15937,6 @@ }, "is-natural-number": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", "dev": true }, "is-negative-zero": { @@ -16489,8 +16610,6 @@ }, "lazystream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "requires": { "readable-stream": "^2.0.5" } @@ -16540,25 +16659,25 @@ "version": "4.17.21", "dev": true }, - "lodash.defaults": { + "lodash.assignwith": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + }, + "lodash.camelcase": { + "version": "4.3.0" + }, + "lodash.defaults": { + "version": "4.2.0" }, "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + "version": "4.5.0" }, "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "version": "4.4.0" }, "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "version": "4.0.6" }, "lodash.memoize": { "version": "4.1.2", @@ -16569,9 +16688,7 @@ "dev": true }, "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + "version": "4.6.0" }, "loose-envify": { "version": "1.4.0", @@ -17130,8 +17247,6 @@ }, "pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "picocolors": { @@ -17147,14 +17262,10 @@ }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -17390,24 +17501,18 @@ }, "readdir-glob": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "requires": { "minimatch": "^5.1.0" }, "dependencies": { "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -17590,8 +17695,6 @@ }, "seek-bzip": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { "commander": "^2.8.1" @@ -17978,6 +18081,11 @@ "xtend": "^4.0.0" } }, + "stream-read-all": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==" + }, "stream-shift": { "version": "1.0.1", "dev": true @@ -18080,8 +18188,6 @@ }, "strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "requires": { "is-natural-number": "^4.0.1" @@ -18097,7 +18203,6 @@ }, "supports-color": { "version": "7.2.0", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -18110,13 +18215,37 @@ "version": "3.2.4", "dev": true }, + "table-layout": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", + "requires": { + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" + }, + "dependencies": { + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + }, + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } + } + }, "tapable": { "version": "2.2.1" }, "tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -18127,8 +18256,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -18210,8 +18337,6 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { @@ -18239,8 +18364,6 @@ }, "to-buffer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "to-fast-properties": { @@ -18418,6 +18541,9 @@ "version": "5.0.4", "dev": true }, + "typical": { + "version": "4.0.0" + }, "ua-parser-js": { "version": "1.0.35" }, @@ -18433,8 +18559,6 @@ }, "unbzip2-stream": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", @@ -18443,8 +18567,6 @@ "dependencies": { "buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -19324,6 +19446,11 @@ "version": "1.2.3", "dev": true }, + "wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" + }, "worker-farm": { "version": "1.7.0", "dev": true, @@ -19457,8 +19584,6 @@ }, "yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -19471,8 +19596,6 @@ }, "zip-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", @@ -19481,8 +19604,6 @@ "dependencies": { "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", diff --git a/tools/cli/LICENSE b/tools/cli/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/tools/cli/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/cli/package.json b/tools/cli/package.json new file mode 100644 index 00000000..1d5d903c --- /dev/null +++ b/tools/cli/package.json @@ -0,0 +1,48 @@ +{ + "name": "@backtrace/javascript-cli", + "version": "0.0.1", + "description": "Backtrace CLI for working with Javascript files.", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc", + "clean": "tsc -b --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -w", + "start": "node lib/index.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Source maps", + "Sourcemaps" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2" + } +} diff --git a/tools/cli/src/commands/Command.ts b/tools/cli/src/commands/Command.ts new file mode 100644 index 00000000..8f63b743 --- /dev/null +++ b/tools/cli/src/commands/Command.ts @@ -0,0 +1,168 @@ +import { Err, Ok, Result } from '@backtrace/sourcemap-tools'; +import commandLineArgs from 'command-line-args'; +import commandLineUsage, { Section } from 'command-line-usage'; +import { LoggerOptions, createLogger } from '../logger'; +import { CommandError } from '../models/CommandError'; +import { ExtendedOptionDefinition } from '../models/OptionDefinition'; + +const CLI_COMMAND = 'backtrace'; + +export class Command { + public readonly subcommands: Command[] = []; + public readonly options: ExtendedOptionDefinition[] = []; + public readonly helpSections: Section[] = []; + private _execute?: ( + this: this, + values: Partial, + stack?: Command[], + ) => Result | Promise>; + + constructor(public readonly definition: ExtendedOptionDefinition) {} + + public subcommand(command: Command): this { + this.subcommands.push(command); + return this; + } + + public option(option: ExtendedOptionDefinition): this { + this.options.push(option); + return this; + } + + public help(...sections: Section[]): this { + this.helpSections.push(...sections); + return this; + } + + public execute(fn: Command['_execute']): this { + this._execute = fn; + return this; + } + + public async run(argv: string[], stack?: Command[]): Promise> { + const stackOptions = stack?.flatMap((s) => s.options.filter((o) => o.global)) ?? []; + const localOptions = [...this.options, ...stackOptions]; + const subcommandOption = { + name: '_subcommand', + defaultOption: true, + }; + + const subCommandMode = !!this.subcommands.length; + if (subCommandMode) { + localOptions.push(subcommandOption); + } + + const values = commandLineArgs(localOptions, { + argv, + stopAtFirstUnknown: subCommandMode, + }); + + if (subCommandMode && values._subcommand) { + const subcommand = this.subcommands.find((s) => s.definition.name === values._subcommand); + if (subcommand) { + const subcommandValues = commandLineArgs([subcommandOption], { argv, stopAtFirstUnknown: true }); + return await subcommand.run(subcommandValues._unknown ?? [], [...(stack ?? []), this]); + } + } + + const logger = createLogger(values as LoggerOptions); + + if (values.help) { + logger.output(this.getHelpMessage(stack)); + return Ok(0); + } + + if (this._execute) { + return (await this._execute.call(this, values as T, stack)).mapErr((error) => ({ + command: this, + error, + stack, + })); + } + + logger.info(this.getHelpMessage(stack)); + + if (subCommandMode) { + return Err({ command: this, stack, error: 'Unknown command.' }); + } + + return Err({ command: this, stack, error: 'Unknown option.' }); + } + + public getHelpMessage(stack?: Command[]) { + const globalOptions = [ + ...this.options.filter((o) => o.global), + ...(stack?.flatMap((o) => o.options.filter((o) => o.global)) ?? []), + ]; + + const nonGlobalOptions = this.options.filter((o) => !o.global); + + let cmd = CLI_COMMAND; + const stackCmd = `${ + [...(stack ?? []), this] + .map((s) => s.definition.name) + .filter((s) => !!s) + .join(' ') ?? '' + }`; + + if (stackCmd) { + cmd += ` ${stackCmd}`; + } + + let usage = cmd; + if (this.subcommands.length) { + usage += ' '; + } + + const defaultOption = + nonGlobalOptions.find((s) => s.defaultOption) ?? globalOptions.find((s) => s.defaultOption); + if (defaultOption) { + usage += ` <${defaultOption.name}>`; + } + + if (globalOptions.length + nonGlobalOptions.length) { + usage += ' [options]'; + } + + const sections: Section[] = [ + { + header: cmd, + content: 'Backtrace utility for managing Javascript files.', + }, + ]; + + if (this.helpSections.length) { + sections.push(...this.helpSections); + } + + sections.push({ + content: `Usage: ${usage}`, + }); + + if (this.subcommands.length) { + sections.push({ + header: 'Available commands', + content: this.subcommands.map((s) => ({ + name: s.definition.name, + summary: s.definition.description, + })), + }); + } + + if (nonGlobalOptions.length) { + sections.push({ + header: 'Available options', + optionList: nonGlobalOptions, + }); + } + + if (globalOptions.length) { + sections.push({ + header: 'Global options', + optionList: globalOptions, + }); + } + + return commandLineUsage(sections); + } +} diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts new file mode 100644 index 00000000..687da6c9 --- /dev/null +++ b/tools/cli/src/helpers/common.ts @@ -0,0 +1,69 @@ +import { Err, Ok, Result, ResultPromise } from '@backtrace/sourcemap-tools'; +import fs from 'fs'; +import { Readable } from 'stream'; + +export type ContentFile = readonly [content: string, path: string]; +export type StreamFile = readonly [stream: Readable, path: string]; + +export async function readFile(file: string): ResultPromise { + try { + return Ok(await fs.promises.readFile(file, 'utf-8')); + } catch (err) { + return Err(`failed to read file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export async function writeFile(file: ContentFile) { + const [content, path] = file; + try { + await fs.promises.writeFile(path, content); + return Ok(file); + } catch (err) { + return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export async function writeStream(file: StreamFile) { + const [stream, path] = file; + try { + const output = fs.createWriteStream(path); + stream.pipe(output); + return new Promise>((resolve) => { + output.on('error', (err) => { + resolve(Err(`failed to write file: ${err.message}`)); + }); + + output.on('finish', () => resolve(Ok(file))); + }); + } catch (err) { + return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export function parseJSON(content: string): Result { + try { + return Ok(JSON.parse(content)); + } catch (err) { + return Err(`failed to parse content: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export function pass(t: T): T { + return t; +} + +export function passOk(t: T): Result { + return Ok(t); +} + +export function failIfEmpty(error: E) { + return function failIfEmpty(t: T[]): Result { + return t.length ? Ok(t) : Err(error); + }; +} + +export function map(fn: (t: T) => B) { + return function map(t: T[]) { + return t.map(fn); + }; +} diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts new file mode 100644 index 00000000..02b25cc4 --- /dev/null +++ b/tools/cli/src/helpers/find.ts @@ -0,0 +1,41 @@ +import { Err, FileFinder, Ok, ResultPromise } from '@backtrace/sourcemap-tools'; +import fs from 'fs'; +import path from 'path'; + +/** + * Returns files found in directories matching `regex`. If path is a file, it is returned if it matches `regex`. + * @param regex Regular expression pattern to match. + * @param paths Paths to search in. + * @returns Result with file paths. + */ +export async function find(regex: RegExp, ...paths: string[]): ResultPromise { + const finder = new FileFinder(); + const results = new Map(); + for (const findPath of paths) { + const stat = await fs.promises.stat(findPath); + if (!stat.isDirectory()) { + if (!findPath.match(regex)) { + return Err(`${findPath} does not match regex: ${regex}`); + } + const fullPath = path.resolve(findPath); + if (!results.has(fullPath)) { + results.set(fullPath, findPath); + } + continue; + } + + const findResult = await finder.find(findPath, { match: regex, recursive: true }); + if (findResult.isErr()) { + return findResult; + } + + for (const result of findResult.data) { + const fullPath = path.resolve(result); + if (!results.has(fullPath)) { + results.set(fullPath, result); + } + } + } + + return Ok([...results.values()]); +} diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts new file mode 100644 index 00000000..deaa2a52 --- /dev/null +++ b/tools/cli/src/index.ts @@ -0,0 +1,57 @@ +import commandLineArgs from 'command-line-args'; +import { Command } from './commands/Command'; +import { LoggerOptions, createLogger } from './logger'; +import { addSourcesCmd } from './sourcemaps/add-sources'; +import { processCmd } from './sourcemaps/process'; +import { uploadCmd } from './sourcemaps/upload'; + +export interface GlobalOptions extends LoggerOptions { + readonly help: boolean; +} + +const mainCommand = new Command({ + name: '', +}) + .subcommand(processCmd) + .subcommand(uploadCmd) + .subcommand(addSourcesCmd) + .option({ + name: 'help', + type: Boolean, + alias: 'h', + global: true, + description: 'Displays this help message.', + }) + .option({ + name: 'verbose', + type: Boolean, + alias: 'v', + global: true, + multiple: true, + description: 'Verbosity level. -v prints debug logs, -vv prints ALL logs.', + }) + .option({ + name: 'quiet', + type: Boolean, + alias: 'q', + global: true, + description: 'Disables ALL logging messages.', + }) + .option({ + name: 'log-level', + type: String, + global: true, + description: 'Sets the logging level. Can be one of: quiet, error, warn, info, debug, verbose. Default: info', + }); + +(async () => { + const result = await mainCommand.run(process.argv); + if (result.isOk()) { + process.exit(result.data); + } else { + const loggerOptions = commandLineArgs(mainCommand.options, { partial: true }) as Partial; + const logger = createLogger(loggerOptions); + logger.error(result.data.error); + process.exit(1); + } +})(); diff --git a/tools/cli/src/logger.ts b/tools/cli/src/logger.ts new file mode 100644 index 00000000..7b4ce5ca --- /dev/null +++ b/tools/cli/src/logger.ts @@ -0,0 +1,109 @@ +import { LogLevel, Logger } from '@backtrace/sourcemap-tools'; +import { format } from 'util'; + +export interface LoggerOptions { + readonly verbose?: boolean[]; + readonly quiet?: boolean; + readonly 'log-level'?: CliLogLevel; +} + +export type CliLogLevel = LogLevel | 'output'; + +export class CliLogger implements Logger { + private readonly _levelMap: Record; + + constructor(public readonly level: CliLogLevel, public readonly silent?: boolean) { + this._levelMap = this.createLevelMap(level); + } + + public output(value: unknown | Error, ...args: unknown[]) { + return this.log('output', value, ...args); + } + + public error(value: unknown | Error, ...args: unknown[]) { + return this.log('error', value, ...args); + } + + public warn(value: unknown | Error, ...args: unknown[]) { + return this.log('warn', value, ...args); + } + + public info(value: unknown | Error, ...args: unknown[]) { + return this.log('info', value, ...args); + } + + public debug(value: unknown | Error, ...args: unknown[]) { + return this.log('debug', value, ...args); + } + + public trace(value: unknown | Error, ...args: unknown[]) { + return this.log('trace', value, ...args); + } + + public log(level: CliLogLevel, value: unknown | Error, ...args: unknown[]) { + const isOutput = level === 'output'; + + if (this.silent && !isOutput) { + return; + } + + if (!this._levelMap[level]) { + return; + } + + const logger = isOutput + ? (...args: Parameters) => console.log(...args) + : (...args: Parameters) => console.error(...args); + + const message: unknown[] = []; + if (!isOutput) { + message.push(`${level}:`); + } + + if (value instanceof Error) { + message.push(...args, value); + } else { + message.push(value, ...args); + } + + logger(format(...message)); + } + + private createLevelMap(level: CliLogLevel): Record { + const levelMap: Record = { + output: 0, + error: 1, + warn: 2, + info: 3, + debug: 4, + trace: 5, + }; + + return { + output: levelMap[level] >= levelMap['output'], + error: levelMap[level] >= levelMap['error'], + warn: levelMap[level] >= levelMap['warn'], + info: levelMap[level] >= levelMap['info'], + debug: levelMap[level] >= levelMap['debug'], + trace: levelMap[level] >= levelMap['trace'], + }; + } +} + +export function createLogger(options?: LoggerOptions) { + let level: CliLogLevel | undefined; + if (options?.['log-level']) { + level = options?.['log-level']; + } else if (options?.verbose) { + switch (options.verbose.length) { + case 1: + level = 'debug'; + break; + case 2: + level = 'trace'; + break; + } + } + + return new CliLogger(level ?? 'info', options?.quiet); +} diff --git a/tools/cli/src/models/CommandError.ts b/tools/cli/src/models/CommandError.ts new file mode 100644 index 00000000..a7eaa49c --- /dev/null +++ b/tools/cli/src/models/CommandError.ts @@ -0,0 +1,7 @@ +import { Command } from '../commands/Command'; + +export interface CommandError { + readonly command: Command; + readonly stack?: Command[]; + readonly error: string | Error; +} diff --git a/tools/cli/src/models/OptionDefinition.ts b/tools/cli/src/models/OptionDefinition.ts new file mode 100644 index 00000000..9f9285de --- /dev/null +++ b/tools/cli/src/models/OptionDefinition.ts @@ -0,0 +1,6 @@ +import { OptionDefinition } from 'command-line-usage'; + +export interface ExtendedOptionDefinition extends OptionDefinition { + readonly name: N; + readonly global?: boolean; +} diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts new file mode 100644 index 00000000..b560fc56 --- /dev/null +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -0,0 +1,118 @@ +import { AsyncResult, DebugIdGenerator, Err, SourceProcessor, flatMap } from '@backtrace/sourcemap-tools'; +import { GlobalOptions } from '..'; +import { Command } from '../commands/Command'; +import { ContentFile, failIfEmpty, map, parseJSON, pass, passOk, readFile, writeFile } from '../helpers/common'; +import { find } from '../helpers/find'; +import { CliLogger, createLogger } from '../logger'; + +interface AddSourcesOptions extends GlobalOptions { + readonly path: string[]; + readonly 'dry-run': boolean; + readonly force: boolean; + readonly skipFailing: boolean; + readonly 'pass-with-no-files': boolean; +} + +type ObjectFile = readonly [object, string]; + +export const addSourcesCmd = new Command({ + name: 'add-sources', + description: 'Adds sources to sourcemap files', +}) + .option({ + name: 'path', + description: 'Path to sourcemap files to append sources to.', + defaultOption: true, + defaultValue: process.cwd(), + multiple: true, + alias: 'p', + }) + .option({ + name: 'dry-run', + alias: 'n', + type: Boolean, + description: 'Does not modify the files at the end.', + defaultValue: false, + }) + .option({ + name: 'force', + alias: 'f', + type: Boolean, + description: 'Processes files even if sourcesContent is not empty. Will overwrite existing sources.', + defaultValue: false, + }) + .option({ + name: 'pass-with-no-files', + type: Boolean, + description: 'Exits with zero exit code if no sourcemaps are found.', + }) + .execute(function (opts, stack) { + const logger = createLogger(opts); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + + const searchPaths = opts.path; + if (!searchPaths) { + logger.info(this.getHelpMessage(stack)); + return Err('path must be specified'); + } + + return AsyncResult.equip(find(/\.(c|m)?jsx?\.map$/, ...searchPaths)) + .then(readFiles) + .then(loadFiles) + .then(opts.force ? pass : filterFiles(sourceProcessor)) + .then(opts['pass-with-no-files'] ? passOk : failIfEmpty('no valid sourcemaps found')) + .then(map(addSource(sourceProcessor))) + .then(opts['dry-run'] ? passOk : writeSourceMaps) + .then(output(logger)) + .then(() => 0).inner; + }); + +async function readFiles(paths: string[]) { + return Promise.all( + paths.map((f) => AsyncResult.equip(readFile(f)).then((content) => [content, f] as ContentFile).inner), + ); +} + +function loadFiles(files: ContentFile[]) { + return files.map(([content, path]) => parseJSON(content).map((c) => [c, path] as ObjectFile)); +} + +function filterFiles(sourceProcessor: SourceProcessor) { + return function filterFiles(files: ObjectFile[]) { + return files.filter(filterSourceMapWithoutSource(sourceProcessor)); + }; +} + +function filterSourceMapWithoutSource(sourceProcessor: SourceProcessor) { + return function filterSourceMapWithoutSource(sourceMap: ObjectFile): boolean { + return !sourceProcessor.doesSourceMapHaveSources(sourceMap[0] as never); + }; +} + +function addSource(sourceProcessor: SourceProcessor) { + return function addSource([sourceMapObj, sourceMapPath]: ObjectFile) { + return AsyncResult.equip(sourceProcessor.addSourcesToSourceMap(sourceMapObj as never, sourceMapPath)).then( + (newSourceMap) => [newSourceMap, sourceMapPath] as const, + ).inner; + }; +} + +async function writeSourceMaps(file: ObjectFile[]) { + return flatMap(await Promise.all(file.map(writeSourceMap))); +} + +function writeSourceMap(file: ObjectFile) { + const [sourceMapObj, sourceMapPath] = file; + return AsyncResult.equip(writeFile([JSON.stringify(sourceMapObj), sourceMapPath])).then(() => file).inner; +} + +function output(logger: CliLogger) { + return function output(files: ObjectFile[]) { + for (const [, file] of files) { + logger.output(file); + } + + return files; + }; +} diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts new file mode 100644 index 00000000..207fc890 --- /dev/null +++ b/tools/cli/src/sourcemaps/process.ts @@ -0,0 +1,115 @@ +import { + AsyncResult, + DebugIdGenerator, + Err, + ProcessResultWithPaths, + Result, + SourceProcessor, + flatMap, +} from '@backtrace/sourcemap-tools'; +import { GlobalOptions } from '..'; +import { Command } from '../commands/Command'; +import { failIfEmpty, passOk, writeFile } from '../helpers/common'; +import { find } from '../helpers/find'; +import { CliLogger, createLogger } from '../logger'; + +interface ProcessOptions extends GlobalOptions { + readonly path: string[]; + readonly 'dry-run': boolean; + readonly force: boolean; + readonly 'pass-with-no-files': boolean; +} + +export const processCmd = new Command({ + name: 'process', + description: 'Processing source and sourcemap files', +}) + .option({ + name: 'path', + description: 'Path to sourcemap files or directories containing sourcemaps to upload.', + defaultOption: true, + defaultValue: process.cwd(), + multiple: true, + alias: 'p', + }) + .option({ + name: 'dry-run', + alias: 'n', + type: Boolean, + description: 'Does not modify the files at the end.', + defaultValue: false, + }) + .option({ + name: 'force', + alias: 'f', + type: Boolean, + description: 'Processes files even if already processed.', + defaultValue: false, + }) + .option({ + name: 'pass-with-no-files', + type: Boolean, + description: 'Exits with zero exit code if no files for processing are found.', + }) + .execute(function (opts, stack) { + const logger = createLogger(opts); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + + const searchPaths = opts.path; + if (!searchPaths) { + logger.info(this.getHelpMessage(stack)); + return Err('path must be specified'); + } + + return AsyncResult.equip(find(/\.(c|m)?jsx?$/, ...searchPaths)) + .then(opts.force ? passOk : filterUnprocessedFiles(sourceProcessor)) + .then(opts['pass-with-no-files'] ? passOk : failIfEmpty('no files for processing found')) + .then(processFiles(sourceProcessor)) + .then(opts['dry-run'] ? passOk : writeResults) + .then(output(logger)) + .then(() => 0).inner; + }); + +function filterUnprocessedFiles(sourceProcessor: SourceProcessor) { + return async function filterUnprocessedFiles(files: string[]): Promise> { + return flatMap( + await Promise.all( + files.map( + (file) => + AsyncResult.equip(sourceProcessor.isSourceFileProcessed(file)).then( + (result) => [file, result] as const, + ).inner, + ), + ), + ).map((results) => results.filter(([, result]) => !result).map(([file]) => file)); + }; +} + +function processFiles(sourceProcessor: SourceProcessor) { + return async function processFiles(pathsToProcess: string[]) { + return flatMap( + await Promise.all(pathsToProcess.map((file) => sourceProcessor.processSourceAndSourceMapFiles(file))), + ); + }; +} + +async function writeResults(results: ProcessResultWithPaths[]) { + return flatMap(await Promise.all(results.map(writeResult))); +} + +function writeResult(result: ProcessResultWithPaths) { + return AsyncResult.equip(writeFile([result.source, result.sourcePath])) + .then(() => writeFile([JSON.stringify(result.sourceMap), result.sourceMapPath])) + .then(() => result).inner; +} + +function output(logger: CliLogger) { + return function output(files: ProcessResultWithPaths[]) { + for (const { sourcePath } of files) { + logger.output(sourcePath); + } + + return files; + }; +} diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts new file mode 100644 index 00000000..23a586e6 --- /dev/null +++ b/tools/cli/src/sourcemaps/upload.ts @@ -0,0 +1,192 @@ +import { + AsyncResult, + DebugIdGenerator, + Err, + Ok, + Result, + ResultPromise, + SourceProcessor, + SymbolUploader, + UploadResult, + ZipArchive, + flatMap, +} from '@backtrace/sourcemap-tools'; +import fs from 'fs'; +import path from 'path'; +import { Readable } from 'stream'; +import { GlobalOptions } from '..'; +import { Command } from '../commands/Command'; +import { failIfEmpty, passOk, writeStream } from '../helpers/common'; +import { find } from '../helpers/find'; +import { CliLogger, createLogger } from '../logger'; + +interface UploadOptions extends GlobalOptions { + readonly url: string; + readonly path: string[]; + readonly 'no-sources': string; + readonly insecure: boolean; + readonly 'dry-run': boolean; + readonly force: boolean; + readonly 'pass-with-no-files': boolean; + readonly output: string; +} + +export const uploadCmd = new Command({ + name: 'upload', + description: 'Uploading of sourcemaps to Backtrace', +}) + .option({ + name: 'url', + type: String, + description: 'URL to upload to. You can use also BACKTRACE_JS_UPLOAD_URL env variable.', + alias: 'u', + defaultValue: process.env.BACKTRACE_JS_UPLOAD_URL, + }) + .option({ + name: 'path', + type: String, + description: 'Path to sourcemap files or directories containing sourcemaps to upload.', + defaultOption: true, + defaultValue: process.cwd(), + multiple: true, + alias: 'p', + }) + .option({ + name: 'no-sources', + type: Boolean, + description: 'Uploads the sourcemaps without "sourcesContent" key.', + defaultValue: false, + }) + .option({ + name: 'insecure', + alias: 'k', + type: Boolean, + description: 'Disables HTTPS certificate checking.', + defaultValue: false, + }) + .option({ + name: 'dry-run', + alias: 'n', + type: Boolean, + description: 'Does not upload the files at the end.', + defaultValue: false, + }) + .option({ + name: 'force', + alias: 'f', + type: Boolean, + description: 'Upload files even if not processed.', + defaultValue: false, + }) + .option({ + name: 'pass-with-no-files', + type: Boolean, + description: 'Exits with zero exit code if no files for uploading are found.', + }) + .option({ + name: 'output', + alias: 'o', + description: 'If set, archive with sourcemaps will be outputted to this path instead of being uploaded.', + type: String, + }) + .execute(function (opts, stack) { + const logger = createLogger(opts); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + + const searchPaths = opts.path; + if (!searchPaths) { + logger.info(this.getHelpMessage(stack)); + return Err('path must be specified'); + } + + const outputPath = opts.output; + const uploadUrl = opts.url; + if (!outputPath && !uploadUrl) { + logger.info(this.getHelpMessage(stack)); + return Err('upload URL is required.'); + } + + const processArchive = outputPath + ? saveArchive(outputPath) + : uploadUrl + ? uploadArchive(new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false })) + : undefined; + + if (!processArchive) { + throw new Error('processArchive function should be defined'); + } + + return AsyncResult.equip(find(/\.(c|m)?jsx?\.map$/, ...searchPaths)) + .then(opts.force ? passOk : filterProcessedFiles(sourceProcessor)) + .then(readDebugIds(sourceProcessor)) + .then(opts['pass-with-no-files'] ? passOk : failIfEmpty('no files for uploading found')) + .then(createArchiveForUpload) + .then((archive) => (opts['dry-run'] ? Ok(null) : processArchive(archive))) + .then(output(logger)) + .then(() => 0).inner; + }); + +function filterProcessedFiles(sourceProcessor: SourceProcessor) { + return async function filterProcessedFiles(files: string[]): Promise> { + return flatMap( + await Promise.all( + files.map( + (file) => + AsyncResult.equip(sourceProcessor.isSourceMapFileProcessed(file)).then( + (result) => [file, result] as const, + ).inner, + ), + ), + ).map((results) => results.filter(([, result]) => result).map(([file]) => file)); + }; +} + +function readDebugIds(sourceProcessor: SourceProcessor) { + return async function readDebugIds(files: string[]): Promise> { + return flatMap( + await Promise.all( + files.map( + (file) => + AsyncResult.equip(sourceProcessor.getSourceMapFileDebugId(file)).then( + (result) => [file, result] as const, + ).inner, + ), + ), + ); + }; +} + +async function createArchiveForUpload( + pathsToArchive: (readonly [string, string])[], +): ResultPromise { + const archive = new ZipArchive(); + + for (const [filePath, debugId] of pathsToArchive) { + const fileName = path.basename(filePath); + const readStream = fs.createReadStream(filePath); + archive.append(`${debugId}-${fileName}`, readStream); + } + + await archive.finalize(); + return Ok(archive); +} + +function uploadArchive(symbolUploader: SymbolUploader) { + return async function uploadArchive(stream: Readable): ResultPromise { + return await symbolUploader.uploadSymbol(stream); + }; +} + +function saveArchive(filePath: string) { + return async function saveArchive(stream: Readable): ResultPromise { + return AsyncResult.equip(writeStream([stream, filePath])).then(([, rxid]) => ({ rxid })).inner; + }; +} + +function output(logger: CliLogger) { + return function output(result: UploadResult | null) { + logger.output(result?.rxid ?? ''); + return result; + }; +} diff --git a/tools/cli/tsconfig.json b/tools/cli/tsconfig.json new file mode 100644 index 00000000..32a5f6ba --- /dev/null +++ b/tools/cli/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib", + "composite": true + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 2d594fcc..b85183bd 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -4,7 +4,7 @@ import { BasicSourceMapConsumer, Position, RawSourceMap, SourceMapConsumer, Sour import { DebugIdGenerator } from './DebugIdGenerator'; import { stringToUuid } from './helpers/stringToUuid'; import { ResultPromise } from './models/AsyncResult'; -import { Err, Ok } from './models/Result'; +import { Err, Ok, Result } from './models/Result'; export interface ProcessResult { readonly debugId: string; @@ -53,6 +53,36 @@ export class SourceProcessor { return Ok(this.isSourceMapProcessed(sourcemap)); } + public getSourceMapDebugId(sourceMap: RawSourceMap): Result { + const debugId = this._debugIdGenerator.getSourceMapDebugId(sourceMap); + if (!debugId) { + return Err('sourcemap does not have a debug ID'); + } + + return Ok(debugId); + } + + public async getSourceMapFileDebugId(sourceMapPath: string): ResultPromise { + const readResult = await this.readFile(sourceMapPath); + if (readResult.isErr()) { + return readResult; + } + + let sourcemap: RawSourceMap; + try { + sourcemap = JSON.parse(readResult.data) as RawSourceMap; + } catch (err) { + return Err('failed to parse sourcemap JSON'); + } + + const debugId = this._debugIdGenerator.getSourceMapDebugId(sourcemap); + if (!debugId) { + return Err('sourcemap does not have a debug ID'); + } + + return Ok(debugId); + } + /** * Adds required snippets and comments to source, and modifies sourcemap to include debug ID. * @param source Source content. From eff06ae1507b4768446aec98ae88f0af1056de7b Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 20 Jul 2023 10:41:10 +0200 Subject: [PATCH 068/291] sdk: add 'backtrace.agent' attribute specifying submitting agent name (#41) Co-authored-by: Sebastian Alex --- packages/sdk-core/src/BacktraceCoreClient.ts | 1 + .../sdk-core/src/modules/attribute/ClientAttributeProvider.ts | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index e934e6f9..b220a571 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -89,6 +89,7 @@ export abstract class BacktraceCoreClient { this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); this._attributeProvider = new AttributeManager([ new ClientAttributeProvider( + _sdkOptions.agent, _sdkOptions.agentVersion, _sessionProvider.sessionId, options.userAttributes ?? {}, diff --git a/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts b/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts index 5a84f0fe..967b3243 100644 --- a/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts +++ b/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts @@ -2,6 +2,7 @@ import { BacktraceAttributeProvider } from './BacktraceAttributeProvider'; export class ClientAttributeProvider implements BacktraceAttributeProvider { constructor( + private readonly _sdkName: string, private readonly _sdkVersion: string, private readonly _sessionId: string, private readonly _userAttributes: Record, @@ -12,6 +13,7 @@ export class ClientAttributeProvider implements BacktraceAttributeProvider { public get(): Record { return { 'application.session': this._sessionId, + 'backtrace.agent': this._sdkName, 'backtrace.version': this._sdkVersion, ...this._userAttributes, }; From f9dffc37d33027f5639da8b2f3283d4d998fe675 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Thu, 20 Jul 2023 14:27:57 -0400 Subject: [PATCH 069/291] Feature/react example app (#44) * Adding React Backtrace Client, ErrorBoundary, and tests * Creating a basic react app that uses the react sdk to send an error to Backtrace on rendering error * Adding a button to manually trigger an error/report and updating some of the wording * Updating tsconfig * Adding a format and lint script to package.json * Updating readme to show how to run the example * Removing eslintConfig from package.json * Cleaning up package.json * Cleaning up sendError(), Adding submission url const, and adding toasts * Updating README.md to be more specific to our app and removing eject and test scripts from package.json * Adding a message example and updating wording on buttons * Removing unnecessary text from readme * Adding a metrics example --------- Co-authored-by: Adam Cronin --- examples/sdk/react/.gitignore | 23 + examples/sdk/react/README.md | 31 + examples/sdk/react/package-lock.json | 29565 +++++++++++++++++++++++++ examples/sdk/react/package.json | 37 + examples/sdk/react/public/index.html | 43 + examples/sdk/react/src/App.css | 84 + examples/sdk/react/src/App.tsx | 103 + examples/sdk/react/src/Fallback.tsx | 19 + examples/sdk/react/src/consts.ts | 2 + examples/sdk/react/src/index.tsx | 28 + examples/sdk/react/tsconfig.json | 23 + package-lock.json | 38 +- 12 files changed, 29986 insertions(+), 10 deletions(-) create mode 100644 examples/sdk/react/.gitignore create mode 100644 examples/sdk/react/README.md create mode 100644 examples/sdk/react/package-lock.json create mode 100644 examples/sdk/react/package.json create mode 100644 examples/sdk/react/public/index.html create mode 100644 examples/sdk/react/src/App.css create mode 100644 examples/sdk/react/src/App.tsx create mode 100644 examples/sdk/react/src/Fallback.tsx create mode 100644 examples/sdk/react/src/consts.ts create mode 100644 examples/sdk/react/src/index.tsx create mode 100644 examples/sdk/react/tsconfig.json diff --git a/examples/sdk/react/.gitignore b/examples/sdk/react/.gitignore new file mode 100644 index 00000000..4d29575d --- /dev/null +++ b/examples/sdk/react/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/examples/sdk/react/README.md b/examples/sdk/react/README.md new file mode 100644 index 00000000..0914846e --- /dev/null +++ b/examples/sdk/react/README.md @@ -0,0 +1,31 @@ +## Running the Example + +1. Add your universe and token to the SUBMISSION_URL in src/consts.ts +2. `npm install` +3. `npm run serve` (this will create and serve a production build as you can't see the fallback component in + development) + +## Available Scripts + +In the project directory, you can run: + +### `npm run serve` + +Creates a production build and serves the demo app for testing purposes. The ErrorBoundary will not display the fallback +component in development mode and that's why this command is useful. + +### `npm start` + +Runs the app in the development mode. Warning: won't be able to trigger the Fallback component for the Error Boundary +and some toasts will display twice. \ +Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.\ +You will also see any lint errors in the console. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ diff --git a/examples/sdk/react/package-lock.json b/examples/sdk/react/package-lock.json new file mode 100644 index 00000000..64f3e3af --- /dev/null +++ b/examples/sdk/react/package-lock.json @@ -0,0 +1,29565 @@ +{ + "name": "@backtrace/react-example", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace/react-example", + "version": "0.1.0", + "dependencies": { + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" + }, + "devDependencies": { + "serve": "^14.2.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz", + "integrity": "sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", + "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "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.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", + "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", + "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", + "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", + "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.5.tgz", + "integrity": "sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz", + "integrity": "sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", + "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", + "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", + "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", + "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", + "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@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.5", + "@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.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", + "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", + "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", + "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <4.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", + "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.40.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", + "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "node_modules/@types/node": { + "version": "16.18.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz", + "integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/react": { + "version": "16.14.43", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.43.tgz", + "integrity": "sha512-7zdjv7jvoLLQg1tTvpQsm+hyNUMT2mPlNV1+d0I8fbGhkJl82spopMyBlu4wb1dviZAxpGdk5eHu/muacknnfw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", + "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + }, + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "node_modules/@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz", + "integrity": "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/type-utils": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.60.1.tgz", + "integrity": "sha512-TXUdLxv2t8181nh5yLXl/Gr/zKj1ZofQ7m+ZdmG2+El0TYOHCvlZfc35D4nturemC3RUnf3KmLuFp3bVBjkG5w==", + "dependencies": { + "@typescript-eslint/utils": "5.60.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz", + "integrity": "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz", + "integrity": "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==", + "dependencies": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz", + "integrity": "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz", + "integrity": "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz", + "integrity": "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==", + "dependencies": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz", + "integrity": "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz", + "integrity": "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==", + "dependencies": { + "@typescript-eslint/types": "5.60.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", + "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", + "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", + "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "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" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001508", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", + "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk-template/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/chalk-template/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk-template/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-js": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", + "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", + "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", + "dependencies": { + "browserslist": "^4.21.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.31.0.tgz", + "integrity": "sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", + "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", + "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.441", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.441.tgz", + "integrity": "sha512-LlCgQ8zgYZPymf5H4aE9itwiIWH4YlCiv1HFLmmcBeFYi5E+3eaIFnjHzYtcFQbaKfAW+CqZ9pgxo33DZuoqPg==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", + "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "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.0.1", + "confusing-browser-globals": "^1.0.11", + "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" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dependencies": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "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" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "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.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "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" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.0.tgz", + "integrity": "sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dependencies": { + "@jest/schemas": "^28.1.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" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", + "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", + "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "dependencies": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "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" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dev": true, + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "node_modules/serve-handler/node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwindcss": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", + "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "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" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.88.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", + "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/compat-data": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==" + }, + "@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz", + "integrity": "sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "requires": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", + "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "requires": { + "@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.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", + "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", + "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", + "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", + "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.5.tgz", + "integrity": "sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.22.5" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "requires": { + "@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": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "requires": {} + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz", + "integrity": "sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", + "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", + "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", + "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", + "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", + "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@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.5", + "@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.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", + "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + } + }, + "@babel/preset-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "@babel/runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "requires": {} + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==" + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "@eslint/js": { + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", + "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==" + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + } + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", + "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + } + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@rushstack/eslint-patch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", + "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.40.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", + "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, + "@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" + }, + "@types/http-proxy": { + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "@types/node": { + "version": "16.18.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz", + "integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/react": { + "version": "16.14.43", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.43.tgz", + "integrity": "sha512-7zdjv7jvoLLQg1tTvpQsm+hyNUMT2mPlNV1+d0I8fbGhkJl82spopMyBlu4wb1dviZAxpGdk5eHu/muacknnfw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", + "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + }, + "@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz", + "integrity": "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==", + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/type-utils": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.60.1.tgz", + "integrity": "sha512-TXUdLxv2t8181nh5yLXl/Gr/zKj1ZofQ7m+ZdmG2+El0TYOHCvlZfc35D4nturemC3RUnf3KmLuFp3bVBjkG5w==", + "requires": { + "@typescript-eslint/utils": "5.60.1" + } + }, + "@typescript-eslint/parser": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz", + "integrity": "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==", + "requires": { + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz", + "integrity": "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==", + "requires": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz", + "integrity": "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==", + "requires": { + "@typescript-eslint/typescript-estree": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz", + "integrity": "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz", + "integrity": "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==", + "requires": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz", + "integrity": "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz", + "integrity": "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==", + "requires": { + "@typescript-eslint/types": "5.60.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "requires": { + "dequal": "^2.0.3" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "requires": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" + }, + "axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", + "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", + "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", + "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "requires": { + "@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" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dev": true, + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true + }, + "chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "requires": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001508", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", + "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dev": true, + "requires": { + "chalk": "^4.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "check-types": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true + }, + "clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "core-js": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", + "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==" + }, + "core-js-compat": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", + "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", + "requires": { + "browserslist": "^4.21.5" + } + }, + "core-js-pure": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.31.0.tgz", + "integrity": "sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-declaration-sorter": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", + "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssdb": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", + "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.441", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.441.tgz", + "integrity": "sha512-LlCgQ8zgYZPymf5H4aE9itwiIWH4YlCiv1HFLmmcBeFYi5E+3eaIFnjHzYtcFQbaKfAW+CqZ9pgxo33DZuoqPg==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", + "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "requires": { + "@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.0.1", + "confusing-browser-globals": "^1.0.11", + "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": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "requires": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "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.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.0.tgz", + "integrity": "sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==", + "requires": { + "@typescript-eslint/utils": "^5.58.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + }, + "is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "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" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "requires": { + "@jest/schemas": "^28.1.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" + } + }, + "@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "requires": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + }, + "string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", + "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", + "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "requires": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "requires": {} + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "requires": {} + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "requires": {} + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "dependencies": { + "yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==" + } + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "requires": { + "postcss-selector-parser": "^6.0.11" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "requires": {} + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + } + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + } + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + }, + "react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + } + }, + "react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "requires": { + "clsx": "^1.1.1" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "requires": { + "@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": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dev": true, + "requires": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + }, + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "style-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "requires": {} + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tailwindcss": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", + "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + } + }, + "tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "5.88.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", + "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "requires": {} + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "requires": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "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", + "is-typed-array": "^1.1.10" + } + }, + "widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "requires": { + "string-width": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "requires": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "requires": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + } +} diff --git a/examples/sdk/react/package.json b/examples/sdk/react/package.json new file mode 100644 index 00000000..4dead846 --- /dev/null +++ b/examples/sdk/react/package.json @@ -0,0 +1,37 @@ +{ + "name": "@backtrace/react-example", + "version": "0.1.0", + "private": true, + "dependencies": { + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "serve": "npm run build && serve -s build" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "serve": "^14.2.0" + } +} diff --git a/examples/sdk/react/public/index.html b/examples/sdk/react/public/index.html new file mode 100644 index 00000000..aa069f27 --- /dev/null +++ b/examples/sdk/react/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/examples/sdk/react/src/App.css b/examples/sdk/react/src/App.css new file mode 100644 index 00000000..dcb26a6d --- /dev/null +++ b/examples/sdk/react/src/App.css @@ -0,0 +1,84 @@ +.App { + text-align: center; + background-color: #d8f8e9; + min-height: 100vh; + padding: 20px; +} + +.App-header { + background-color: white; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: black; + padding: 40px; + background-color: white; + width: 50%; +} + +.column { + display: flex; + flex-direction: column; + align-items: center; +} + +.action-button { + cursor: pointer; + background-color: #3ddc91; + padding: 12px 35px; + border-radius: 50px; + margin-bottom: 5px; + margin-top: 5px; + width: 40%; + text-align: center; +} + +.action-button-text { + color: #132322; + font-family: 'DM Sans', Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: 600; + font-style: normal; + line-height: 20px; + text-decoration: none; + display: block; +} + +.card-header { + font-family: 'DM Sans', Arial, sans-serif; + font-size: 22px; + color: #2d2d2d; + text-align: center; + line-height: 120%; + margin-bottom: 24px; +} + +.card-text { + font-family: 'DM Sans', Arial, sans-serif; + font-size: 18px; + color: #2d2d2d; + text-align: center; + line-height: 120%; + margin-bottom: 24px; +} + +.footer { + width: 30%; + padding: 40px; + text-align: center; +} + +.center { + display: block; + margin: 0 auto; +} + +.extra-padding-bottom { + padding-bottom: 50px; +} + +.extra-padding { + padding: 12px; +} diff --git a/examples/sdk/react/src/App.tsx b/examples/sdk/react/src/App.tsx new file mode 100644 index 00000000..0e75093b --- /dev/null +++ b/examples/sdk/react/src/App.tsx @@ -0,0 +1,103 @@ +import React, { useState } from 'react'; +import './App.css'; +import { BacktraceClient } from '@backtrace/react'; +import { ToastContainer, toast } from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; +import { SUBMISSION_URL } from './consts'; + +function App() { + const [clicked, setClicked] = useState(false); + const client = BacktraceClient.instance; + + async function sendError() { + await client.send(new Error('Manual Test Error')); + toast('Error sent! Check your Backtrace console to see the error.'); + } + + async function sendMessage() { + await client.send('Manual Test Message'); + toast('Message sent! Check your Backtrace console to see the message.'); + } + + async function sendMetrics() { + if (!client.metrics) { + toast.error('Metrics are unavailable'); + return; + } + client.metrics.send(); + toast('Metrics sent! Check your Backtrace console to see the metrics.'); + } + + if (clicked) { + throw new Error('Test throw to demonstrate the Backtrace Error Boundary'); + } + if (SUBMISSION_URL.includes('your-universe')) { + toast.error('Don\'t forget to update your submission url in "./src/consts.ts" with your universe and token!'); + } + + return ( +
+ +
+ Sauce Labs +

Welcome to the Backtrace React SDK demo!

+

+ Click the button below to throw an error and demo the Error Boundary +

+
+ + + + +
+
+
+ +
+
Sauce Labs
+

450 Sansome Street, 9th Floor, San Francisco, CA 94111

+

Copyright © 2023 Sauce Labs. All rights reserved.

+
+
+
+ ); +} + +export default App; diff --git a/examples/sdk/react/src/Fallback.tsx b/examples/sdk/react/src/Fallback.tsx new file mode 100644 index 00000000..a7fe9fb3 --- /dev/null +++ b/examples/sdk/react/src/Fallback.tsx @@ -0,0 +1,19 @@ +import './App.css'; + +export function Fallback() { + return ( +
+
+ Sauce Labs +

+ This is the fallback component that gets rendered after a rendering error! +

+

Check your Backtrace console to see the Error and Component stacks!

+
+
+ ); +} diff --git a/examples/sdk/react/src/consts.ts b/examples/sdk/react/src/consts.ts new file mode 100644 index 00000000..dd29bab4 --- /dev/null +++ b/examples/sdk/react/src/consts.ts @@ -0,0 +1,2 @@ +export const SUBMISSION_URL = + 'https://submit.backtrace.io/your-universe/0000000000000000000000000000000000000000000000000000000000000000/json'; diff --git a/examples/sdk/react/src/index.tsx b/examples/sdk/react/src/index.tsx new file mode 100644 index 00000000..fdcf8b84 --- /dev/null +++ b/examples/sdk/react/src/index.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; +import { ErrorBoundary, BacktraceClient } from '@backtrace/react'; +import { Fallback } from './Fallback'; +import { SUBMISSION_URL } from './consts'; + +BacktraceClient.initialize({ + url: SUBMISSION_URL, + name: '@backtrace/react-example', + version: '0.0.1', + userAttributes: { + 'custom-attribute': 'test', + 'custom-annotation': { + prop1: true, + prop2: 123, + }, + }, +}); + +const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); +root.render( + + }> + + + , +); diff --git a/examples/sdk/react/tsconfig.json b/examples/sdk/react/tsconfig.json new file mode 100644 index 00000000..b8b5b3e0 --- /dev/null +++ b/examples/sdk/react/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "paths": { + "react": ["./node_modules/@types/react"] + } + }, + "include": ["src"] +} diff --git a/package-lock.json b/package-lock.json index 5dc42a76..abec5bf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1408,8 +1408,9 @@ }, "node_modules/@types/command-line-args": { "version": "5.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", + "dev": true }, "node_modules/@types/command-line-usage": { "version": "5.0.2", @@ -2301,7 +2302,8 @@ }, "node_modules/array-back": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", "engines": { "node": ">=6" } @@ -3336,7 +3338,8 @@ }, "node_modules/command-line-args": { "version": "5.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dependencies": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -5117,7 +5120,8 @@ }, "node_modules/find-replace": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "dependencies": { "array-back": "^3.0.1" }, @@ -7182,7 +7186,8 @@ }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "node_modules/lodash.defaults": { "version": "4.2.0", @@ -10058,7 +10063,8 @@ }, "node_modules/typical": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "engines": { "node": ">=8" } @@ -12780,6 +12786,8 @@ }, "@types/command-line-args": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", "dev": true }, "@types/command-line-usage": { @@ -13404,7 +13412,9 @@ "dev": true }, "array-back": { - "version": "3.1.0" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" }, "array-buffer-byte-length": { "version": "1.0.0", @@ -14096,6 +14106,8 @@ }, "command-line-args": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "requires": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -15352,6 +15364,8 @@ }, "find-replace": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "requires": { "array-back": "^3.0.1" } @@ -16665,7 +16679,9 @@ "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" }, "lodash.camelcase": { - "version": "4.3.0" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "lodash.defaults": { "version": "4.2.0" @@ -18542,7 +18558,9 @@ "dev": true }, "typical": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" }, "ua-parser-js": { "version": "1.0.35" From d27e520dfe898dc1364a0ff6ad7f13856b7d2357 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 24 Jul 2023 10:24:41 +0200 Subject: [PATCH 070/291] Source debug ID insertion fixes. (#43) * sourcemap tools: remove ContentAppender * sourcemap tools: fix processing source with shebang * sourcemap tools: add source comment before trailing whitespaces in source * sourcemap tools: add doc to appendBeforeWhitespaces * sourcemap tools: fix appendBeforeWhitespaces and add tests to it * sourcemap tools: update doc in appendBeforeWhitespaces --------- Co-authored-by: Sebastian Alex --- tools/sourcemap-tools/src/ContentAppender.ts | 11 -- tools/sourcemap-tools/src/SourceProcessor.ts | 12 +- .../src/helpers/stringHelpers.ts | 17 ++ tools/sourcemap-tools/src/index.ts | 1 - .../tests/ContentAppender.spec.ts | 119 ------------- .../tests/SourceProcessor.spec.ts | 157 ++++++++++++++++++ .../tests/helpers/stringHelpers.spec.ts | 39 +++++ 7 files changed, 222 insertions(+), 134 deletions(-) delete mode 100644 tools/sourcemap-tools/src/ContentAppender.ts create mode 100644 tools/sourcemap-tools/src/helpers/stringHelpers.ts delete mode 100644 tools/sourcemap-tools/tests/ContentAppender.spec.ts create mode 100644 tools/sourcemap-tools/tests/helpers/stringHelpers.spec.ts diff --git a/tools/sourcemap-tools/src/ContentAppender.ts b/tools/sourcemap-tools/src/ContentAppender.ts deleted file mode 100644 index 3aad8273..00000000 --- a/tools/sourcemap-tools/src/ContentAppender.ts +++ /dev/null @@ -1,11 +0,0 @@ -export class ContentAppender { - public appendToJSON(json: string, keyValues: object) { - for (const [key, value] of Object.entries(keyValues)) { - // Replace closing bracket with additional key-values - // Keep the matched whitespaces at the end - json = json.replace(/}(\s*)$/, `,"${key}":${JSON.stringify(value)}}$1`); - } - - return json; - } -} diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index b85183bd..0d9e4ce2 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -2,6 +2,7 @@ import fs from 'fs'; import path from 'path'; import { BasicSourceMapConsumer, Position, RawSourceMap, SourceMapConsumer, SourceMapGenerator } from 'source-map'; import { DebugIdGenerator } from './DebugIdGenerator'; +import { appendBeforeWhitespaces } from './helpers/stringHelpers'; import { stringToUuid } from './helpers/stringToUuid'; import { ResultPromise } from './models/AsyncResult'; import { Err, Ok, Result } from './models/Result'; @@ -100,9 +101,14 @@ export class SourceProcessor { } const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); - const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); - const newSource = sourceSnippet + '\n' + source + '\n' + sourceComment; + const shebang = source.match(/^(#!.+\n)/)?.[1]; + const sourceWithSnippet = shebang + ? shebang + sourceSnippet + '\n' + source.substring(shebang.length) + : sourceSnippet + '\n' + source; + + const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); + const newSource = appendBeforeWhitespaces(sourceWithSnippet, '\n' + sourceComment); // We need to offset the source map by amount of lines that we're inserting to the source code // Sourcemaps map code like this: @@ -110,7 +116,7 @@ export class SourceProcessor { // So if we add any code to generated code, mappings after that code will become invalid // We need to offset the mapping lines by sourceSnippetNewlineCount: // original code X:Y => generated code (A + sourceSnippetNewlineCount):B - const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; + const sourceSnippetNewlineCount = (sourceSnippet.match(/\n/g)?.length ?? 0) + (shebang ? 1 : 0); const offsetSourceMapResult = await this.offsetSourceMap(sourceMap, 0, sourceSnippetNewlineCount + 1); if (offsetSourceMapResult.isErr()) { return offsetSourceMapResult; diff --git a/tools/sourcemap-tools/src/helpers/stringHelpers.ts b/tools/sourcemap-tools/src/helpers/stringHelpers.ts new file mode 100644 index 00000000..25ce8c6e --- /dev/null +++ b/tools/sourcemap-tools/src/helpers/stringHelpers.ts @@ -0,0 +1,17 @@ +/** + * Appends `value` to `str` before trailing whitespaces in `str`. + * @param str String to append to. + * @param value String to append. + * @example + * const str = 'abc\n\n'; + * const value = 'def'; + * const appended = appendBeforeWhitespaces(str, value); // 'abcdef\n\n' + */ +export function appendBeforeWhitespaces(str: string, value: string) { + const whitespaces = str.match(/\s*$/)?.[0]; + if (!whitespaces) { + return str + value; + } + + return str.substring(0, str.length - whitespaces.length) + value + whitespaces; +} diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 4902bb75..8c861e3b 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,4 +1,3 @@ -export * from './ContentAppender'; export * from './DebugIdGenerator'; export * from './FileFinder'; export * from './Logger'; diff --git a/tools/sourcemap-tools/tests/ContentAppender.spec.ts b/tools/sourcemap-tools/tests/ContentAppender.spec.ts deleted file mode 100644 index c5b63f20..00000000 --- a/tools/sourcemap-tools/tests/ContentAppender.spec.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { ContentAppender } from '../src'; - -describe('ContentAppender', () => { - describe('appendToJSON', () => { - it('should return a parseable object', () => { - const obj = { - a: '123', - b: '456', - }; - - const keyValues = { - x: 'x', - y: 123, - z: true, - }; - - const contentAppender = new ContentAppender(); - const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); - - expect(() => JSON.parse(actual)).not.toThrow(); - }); - - it('should return an object with new key values', () => { - const obj = { - a: '123', - b: '456', - }; - - const keyValues = { - x: 'x', - y: 123, - z: true, - }; - - const contentAppender = new ContentAppender(); - const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); - - expect(JSON.parse(actual)).toMatchObject(keyValues); - }); - - it('should return an object with old key values', () => { - const obj = { - a: '123', - b: '456', - }; - - const keyValues = { - x: 'x', - y: 123, - z: true, - }; - - const contentAppender = new ContentAppender(); - const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); - - expect(JSON.parse(actual)).toMatchObject(obj); - }); - - it('should return an object with old and new key values', () => { - const obj = { - a: '123', - b: '456', - }; - - const keyValues = { - x: 'x', - y: 123, - z: true, - }; - - const expected = { - ...obj, - ...keyValues, - }; - - const contentAppender = new ContentAppender(); - const actual = contentAppender.appendToJSON(JSON.stringify(obj), keyValues); - - expect(JSON.parse(actual)).toMatchObject(expected); - }); - - it('should return an object with old and new key values with whitespaces at the end of JSON', () => { - const obj = { - a: '123', - b: '456', - }; - - const keyValues = { - x: 'x', - y: 123, - z: true, - }; - - const expected = { - ...obj, - ...keyValues, - }; - - const contentAppender = new ContentAppender(); - const actual = contentAppender.appendToJSON(JSON.stringify(obj) + ' \n\n \n\t', keyValues); - - expect(JSON.parse(actual)).toMatchObject(expected); - }); - - it('should not remove whitespaces at the end of JSON', () => { - const expected = ' \n\n \n\t'; - const json = - JSON.stringify({ - a: '123', - b: '456', - }) + expected; - - const contentAppender = new ContentAppender(); - const actual = contentAppender.appendToJSON(json, { x: true }); - - expect(actual).toMatch(new RegExp(expected + '$')); - }); - }); -}); diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index 36a9fdc3..990e2c0a 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -14,6 +14,26 @@ describe('SourceProcessor', () => { mappings: 'AAAA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CAEAF,IAAI', }; + const sourceWithShebang = `#!shebang +function foo(){console.log("Hello World!")}foo();`; + const sourceWithShebangMap = { + version: 3, + file: 'source.js', + sources: ['source.js'], + names: ['foo', 'console', 'log'], + mappings: ';AACA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CACAF,IAAI', + }; + + const sourceWithShebangElsewhere = `function foo(){console.log("Hello World!")}foo(); +#!shebang`; + const sourceWithShebangElsewhereMap = { + version: 3, + file: 'source.js', + sources: ['source.js'], + names: ['foo', 'console', 'log'], + mappings: 'AACA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CACAF,IAAI', + }; + describe('processSourceAndSourceMap', () => { it('should append source snippet to the source on the first line', async () => { const expected = 'APPENDED_SOURCE'; @@ -28,6 +48,35 @@ describe('SourceProcessor', () => { expect(result.data.source).toMatch(new RegExp(`^${expected}\n`)); }); + it('should append source snippet to the source on the first line with source having shebang not on the first line', async () => { + const expected = 'APPENDED_SOURCE'; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap( + sourceWithShebangElsewhere, + sourceWithShebangElsewhereMap, + ); + + assert(result.isOk()); + expect(result.data.source).toMatch(new RegExp(`^${expected}\n`)); + }); + + it('should append source snippet to the source after shebang', async () => { + const expected = 'APPENDED_SOURCE'; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(sourceWithShebang, sourceWithShebangMap); + + assert(result.isOk()); + expect(result.data.source).toMatch(new RegExp(`^(#!.+\n)${expected}\n`)); + }); + it('should append comment snippet to the source on the last line', async () => { const expected = 'APPENDED_COMMENT'; const debugIdGenerator = new DebugIdGenerator(); @@ -41,6 +90,59 @@ describe('SourceProcessor', () => { expect(result.data.source).toMatch(new RegExp(`\n${expected}$`)); }); + it('should not add any whitespaces at end if there were none before when appending comment snippet', async () => { + const source = `abc`; + const expected = 'APPENDED_COMMENT'; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + assert(result.isOk()); + expect(result.data.source).not.toMatch(/\s+$/); + }); + + it('should leave end whitespaces as they are when appending comment snippet', async () => { + const whitespaces = `\n\n\n \n\t \n\r`; + const source = `abc${whitespaces}`; + const expected = 'APPENDED_COMMENT'; + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceComment').mockReturnValue(expected); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + assert(result.isOk()); + expect(result.data.source).toMatch(new RegExp(`${whitespaces}$`)); + }); + + it('should not touch the original source', async () => { + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue('APPENDED_SOURCE'); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + assert(result.isOk()); + expect(result.data.source).toContain(source); + }); + + it('should not touch the original sourcemap keys apart from mappings', async () => { + const debugIdGenerator = new DebugIdGenerator(); + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue('APPENDED_SOURCE'); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); + + assert(result.isOk()); + expect(result.data.sourceMap).toMatchObject({ ...sourceMap, mappings: result.data.sourceMap.mappings }); + }); + it('should return sourcemap from DebugIdGenerator', async () => { const expected = { [SOURCEMAP_DEBUG_ID_KEY]: 'debugId' }; const debugIdGenerator = new DebugIdGenerator(); @@ -80,6 +182,61 @@ describe('SourceProcessor', () => { expect(actualPosition).toEqual(expectedPosition); }); + it('should offset sourcemap lines by number of newlines in source snippet + 1 with source having shebang not on the first line', async () => { + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const snippet = 'a\nb\nc\nd'; + const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); + + const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); + const expectedPosition = unmodifiedConsumer.originalPositionFor({ + line: 1, + column: source.indexOf('foo();'), + }); + + const result = await sourceProcessor.processSourceAndSourceMap( + sourceWithShebangElsewhere, + sourceWithShebangElsewhereMap, + ); + assert(result.isOk()); + + const modifiedConsumer = await new SourceMapConsumer(result.data.sourceMap); + const actualPosition = modifiedConsumer.originalPositionFor({ + line: 1 + expectedNewLineCount, + column: source.indexOf('foo();'), + }); + + expect(actualPosition).toEqual(expectedPosition); + }); + + it('should offset sourcemap lines by number of newlines in source with shebang with snippet + 3', async () => { + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const snippet = 'a\nb\nc\nd'; + const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 3; + + jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); + + const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); + const expectedPosition = unmodifiedConsumer.originalPositionFor({ + line: 1, + column: source.indexOf('foo();'), + }); + + const result = await sourceProcessor.processSourceAndSourceMap(sourceWithShebang, sourceWithShebangMap); + assert(result.isOk()); + + const modifiedConsumer = await new SourceMapConsumer(result.data.sourceMap); + const actualPosition = modifiedConsumer.originalPositionFor({ + line: 1 + expectedNewLineCount, + column: source.indexOf('foo();'), + }); + + expect(actualPosition).toEqual(expectedPosition); + }); + it('should call process function with content from files', async () => { const sourcePath = path.join(__dirname, './testFiles/source.js'); const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); diff --git a/tools/sourcemap-tools/tests/helpers/stringHelpers.spec.ts b/tools/sourcemap-tools/tests/helpers/stringHelpers.spec.ts new file mode 100644 index 00000000..d36700b1 --- /dev/null +++ b/tools/sourcemap-tools/tests/helpers/stringHelpers.spec.ts @@ -0,0 +1,39 @@ +import { appendBeforeWhitespaces } from '../../src/helpers/stringHelpers'; + +describe('stringHelpers', () => { + it('should append string to the end when there are no trailing whitespaces', () => { + const str = 'abcdefghi'; + const appended = 'xyz'; + const expected = 'abcdefghixyz'; + + const actual = appendBeforeWhitespaces(str, appended); + expect(actual).toEqual(expected); + }); + + it('should append string with whitespace to the end when there are no trailing whitespaces', () => { + const str = 'abcdefghi'; + const appended = ' xyz '; + const expected = 'abcdefghi xyz '; + + const actual = appendBeforeWhitespaces(str, appended); + expect(actual).toEqual(expected); + }); + + it('should append string before whitespaces when there are trailing whitespaces', () => { + const str = 'abcdefghi \n\t\t'; + const appended = 'xyz'; + const expected = 'abcdefghixyz \n\t\t'; + + const actual = appendBeforeWhitespaces(str, appended); + expect(actual).toEqual(expected); + }); + + it('should append string with whitespace before whitespaces when there are trailing whitespaces', () => { + const str = 'abcdefghi \n\t\t'; + const appended = '\nxyz\n'; + const expected = 'abcdefghi\nxyz\n \n\t\t'; + + const actual = appendBeforeWhitespaces(str, appended); + expect(actual).toEqual(expected); + }); +}); From baf18902738833945aae07f6767f372c30cea4de Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 27 Jul 2023 10:16:50 +0200 Subject: [PATCH 071/291] cli: add glob patterns for finding files (#45) Co-authored-by: Sebastian Alex --- package-lock.json | 160 +++++++++++----------------------- tools/cli/package.json | 3 +- tools/cli/src/helpers/find.ts | 43 +++++---- 3 files changed, 76 insertions(+), 130 deletions(-) diff --git a/package-lock.json b/package-lock.json index abec5bf8..d33f0242 100644 --- a/package-lock.json +++ b/package-lock.json @@ -751,7 +751,6 @@ }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^5.1.2", @@ -767,7 +766,6 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -778,7 +776,6 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -1256,7 +1253,6 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -2162,7 +2158,6 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3580,7 +3575,6 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -4056,7 +4050,6 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, "license": "MIT" }, "node_modules/electron-to-chromium": { @@ -4095,7 +4088,6 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, "license": "MIT" }, "node_modules/emojis-list": { @@ -5221,7 +5213,6 @@ }, "node_modules/foreground-child": { "version": "3.1.1", - "dev": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", @@ -5388,15 +5379,15 @@ } }, "node_modules/glob": { - "version": "10.2.6", - "dev": true, - "license": "ISC", + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "bin": { "glob": "dist/cjs/src/bin.js" @@ -5425,7 +5416,6 @@ }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -5433,7 +5423,6 @@ }, "node_modules/glob/node_modules/minimatch": { "version": "9.0.1", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -6036,7 +6025,6 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6275,7 +6263,6 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -6357,7 +6344,6 @@ }, "node_modules/jackspeak": { "version": "2.2.1", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -7231,9 +7217,9 @@ } }, "node_modules/lru-cache": { - "version": "9.1.1", - "dev": true, - "license": "ISC", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", "engines": { "node": "14 || >=16.14" } @@ -7414,9 +7400,9 @@ } }, "node_modules/minipass": { - "version": "6.0.2", - "dev": true, - "license": "ISC", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -7997,7 +7983,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8009,12 +7994,12 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.9.2", - "dev": true, - "license": "BlueOak-1.0.0", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dependencies": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -8874,7 +8859,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -8885,7 +8869,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8906,7 +8889,6 @@ }, "node_modules/signal-exit": { "version": "4.0.2", - "dev": true, "license": "ISC", "engines": { "node": ">=14" @@ -9352,7 +9334,6 @@ }, "node_modules/string-width": { "version": "5.1.2", - "dev": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", @@ -9369,7 +9350,6 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -9382,12 +9362,10 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -9398,7 +9376,6 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -9454,7 +9431,6 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -9466,7 +9442,6 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -11282,7 +11257,6 @@ }, "node_modules/which": { "version": "2.0.2", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -11373,7 +11347,6 @@ }, "node_modules/wrap-ansi": { "version": "8.1.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", @@ -11390,7 +11363,6 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -11406,12 +11378,10 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -11424,7 +11394,6 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -11435,7 +11404,6 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -11446,7 +11414,6 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -11702,7 +11669,8 @@ "dependencies": { "@backtrace/sourcemap-tools": "^0.0.1", "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1" + "command-line-usage": "^7.0.1", + "glob": "^10.3.3" }, "devDependencies": { "@types/command-line-args": "^5.2.0", @@ -12182,7 +12150,8 @@ "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1" + "command-line-usage": "^7.0.1", + "glob": "*" } }, "@backtrace/node": { @@ -12321,7 +12290,6 @@ }, "@isaacs/cliui": { "version": "8.0.2", - "dev": true, "requires": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -12332,12 +12300,10 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "dev": true + "version": "6.0.1" }, "strip-ansi": { "version": "7.0.1", - "dev": true, "requires": { "ansi-regex": "^6.0.1" } @@ -12673,7 +12639,6 @@ }, "@pkgjs/parseargs": { "version": "0.11.0", - "dev": true, "optional": true }, "@sinclair/typebox": { @@ -13317,8 +13282,7 @@ } }, "ansi-regex": { - "version": "5.0.1", - "dev": true + "version": "5.0.1" }, "ansi-styles": { "version": "4.3.0", @@ -14292,7 +14256,6 @@ }, "cross-spawn": { "version": "7.0.3", - "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -14630,8 +14593,7 @@ } }, "eastasianwidth": { - "version": "0.2.0", - "dev": true + "version": "0.2.0" }, "electron-to-chromium": { "version": "1.4.408" @@ -14660,8 +14622,7 @@ "dev": true }, "emoji-regex": { - "version": "9.2.2", - "dev": true + "version": "9.2.2" }, "emojis-list": { "version": "3.0.0", @@ -15432,7 +15393,6 @@ }, "foreground-child": { "version": "3.1.1", - "dev": true, "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -15534,26 +15494,25 @@ "dev": true }, "glob": { - "version": "10.2.6", - "dev": true, + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", "requires": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "dependencies": { "brace-expansion": { "version": "2.0.1", - "dev": true, "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "9.0.1", - "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -15931,8 +15890,7 @@ "dev": true }, "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true + "version": "3.0.0" }, "is-generator-fn": { "version": "2.1.0", @@ -16062,8 +16020,7 @@ "version": "1.0.0" }, "isexe": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "isobject": { "version": "3.0.1", @@ -16118,7 +16075,6 @@ }, "jackspeak": { "version": "2.2.1", - "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -16714,8 +16670,9 @@ } }, "lru-cache": { - "version": "9.1.1", - "dev": true + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==" }, "lz-string": { "version": "1.5.0", @@ -16834,8 +16791,9 @@ "dev": true }, "minipass": { - "version": "6.0.2", - "dev": true + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==" }, "mississippi": { "version": "3.0.0", @@ -17231,19 +17189,19 @@ "version": "1.0.1" }, "path-key": { - "version": "3.1.1", - "dev": true + "version": "3.1.1" }, "path-parse": { "version": "1.0.7", "dev": true }, "path-scurry": { - "version": "1.9.2", - "dev": true, + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "path-type": { @@ -17782,14 +17740,12 @@ }, "shebang-command": { "version": "2.0.0", - "dev": true, "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0", - "dev": true + "version": "3.0.0" }, "side-channel": { "version": "1.0.4", @@ -17801,8 +17757,7 @@ } }, "signal-exit": { - "version": "4.0.2", - "dev": true + "version": "4.0.2" }, "sisteransi": { "version": "1.0.5", @@ -18122,7 +18077,6 @@ }, "string-width": { "version": "5.1.2", - "dev": true, "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -18130,12 +18084,10 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "dev": true + "version": "6.0.1" }, "strip-ansi": { "version": "7.0.1", - "dev": true, "requires": { "ansi-regex": "^6.0.1" } @@ -18144,7 +18096,6 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -18152,8 +18103,7 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "dev": true + "version": "8.0.0" } } }, @@ -18186,14 +18136,12 @@ }, "strip-ansi": { "version": "6.0.1", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -19418,7 +19366,6 @@ }, "which": { "version": "2.0.2", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -19478,7 +19425,6 @@ }, "wrap-ansi": { "version": "8.1.0", - "dev": true, "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -19486,16 +19432,13 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "dev": true + "version": "6.0.1" }, "ansi-styles": { - "version": "6.2.1", - "dev": true + "version": "6.2.1" }, "strip-ansi": { "version": "7.0.1", - "dev": true, "requires": { "ansi-regex": "^6.0.1" } @@ -19504,7 +19447,6 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -19512,12 +19454,10 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "dev": true + "version": "8.0.0" }, "string-width": { "version": "4.2.3", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", diff --git a/tools/cli/package.json b/tools/cli/package.json index 1d5d903c..b04eaad5 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -39,7 +39,8 @@ "dependencies": { "@backtrace/sourcemap-tools": "^0.0.1", "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1" + "command-line-usage": "^7.0.1", + "glob": "^10.3.3" }, "devDependencies": { "@types/command-line-args": "^5.2.0", diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index 02b25cc4..a7fdcd9c 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -1,5 +1,6 @@ import { Err, FileFinder, Ok, ResultPromise } from '@backtrace/sourcemap-tools'; import fs from 'fs'; +import { glob } from 'glob'; import path from 'path'; /** @@ -11,28 +12,32 @@ import path from 'path'; export async function find(regex: RegExp, ...paths: string[]): ResultPromise { const finder = new FileFinder(); const results = new Map(); - for (const findPath of paths) { - const stat = await fs.promises.stat(findPath); - if (!stat.isDirectory()) { - if (!findPath.match(regex)) { - return Err(`${findPath} does not match regex: ${regex}`); - } - const fullPath = path.resolve(findPath); - if (!results.has(fullPath)) { - results.set(fullPath, findPath); + + for (const globPath of paths) { + const globResults = await glob(globPath); + for (const findPath of globResults) { + const stat = await fs.promises.stat(findPath); + if (!stat.isDirectory()) { + if (!findPath.match(regex)) { + return Err(`${findPath} does not match regex: ${regex}`); + } + const fullPath = path.resolve(findPath); + if (!results.has(fullPath)) { + results.set(fullPath, findPath); + } + continue; } - continue; - } - const findResult = await finder.find(findPath, { match: regex, recursive: true }); - if (findResult.isErr()) { - return findResult; - } + const findResult = await finder.find(findPath, { match: regex, recursive: true }); + if (findResult.isErr()) { + return findResult; + } - for (const result of findResult.data) { - const fullPath = path.resolve(result); - if (!results.has(fullPath)) { - results.set(fullPath, result); + for (const result of findResult.data) { + const fullPath = path.resolve(result); + if (!results.has(fullPath)) { + results.set(fullPath, result); + } } } } From e1758f751b75645ac049f65c68c0b41405eb2dd8 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 27 Jul 2023 10:17:00 +0200 Subject: [PATCH 072/291] cli: add bin entry (#46) Co-authored-by: Sebastian Alex --- tools/cli/package.json | 3 +++ tools/cli/src/index.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/tools/cli/package.json b/tools/cli/package.json index b04eaad5..3aeca79d 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -7,6 +7,9 @@ "engines": { "node": ">=14" }, + "bin": { + "backtrace-js": "./lib/index.js" + }, "scripts": { "build": "tsc", "clean": "tsc -b --clean && rimraf \"lib\"", diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index deaa2a52..2ca56c67 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -1,3 +1,5 @@ +#!/usr/bin/env node + import commandLineArgs from 'command-line-args'; import { Command } from './commands/Command'; import { LoggerOptions, createLogger } from './logger'; From 5ae3aaf45d6eadc00d7bdbf609cc4222138ceb87 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 27 Jul 2023 13:29:07 +0200 Subject: [PATCH 073/291] Include symbolication in the error object (#48) --- .../sdk-core/src/model/data/BacktraceData.ts | 1 + .../src/modules/data/BacktraceDataBuilder.ts | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/data/BacktraceData.ts b/packages/sdk-core/src/model/data/BacktraceData.ts index 6cf5bcab..6cd549d7 100644 --- a/packages/sdk-core/src/model/data/BacktraceData.ts +++ b/packages/sdk-core/src/model/data/BacktraceData.ts @@ -14,4 +14,5 @@ export interface BacktraceData { attributes: Record; annotations: Record; threads: Record; + symbolication?: 'sourcemap'; } diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index b5dc5467..be90acfe 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -24,11 +24,18 @@ export class BacktraceDataBuilder { const stackTrace = this._stackTraceConverter.convert(report.stackTrace, report.message); + let detectedDebugIdentifier = false; + for (const frame of stackTrace) { - frame.debug_identifier = this._debugIdProvider.getDebugId(frame.library); + const debugIdentifier = this._debugIdProvider.getDebugId(frame.library); + if (!debugIdentifier) { + continue; + } + detectedDebugIdentifier = true; + frame.debug_identifier = debugIdentifier; } - return { + const result: BacktraceData = { uuid: IdGenerator.uuid(), timestamp: TimeHelper.toTimestampInSec(report.timestamp), agent: this._sdkOptions.agent, @@ -54,5 +61,11 @@ export class BacktraceDataBuilder { ...reportData.attributes, }, }; + + if (detectedDebugIdentifier) { + result.symbolication = 'sourcemap'; + } + + return result; } } From 5454816d4eda66d7e984a9fd1ddce4fc9c1ba9c4 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 27 Jul 2023 13:51:59 +0200 Subject: [PATCH 074/291] node uncaught error handler (#42) * Node unhandled exceptions/rejections * Correct submission URL * Unhandled exception handler * Do not exted launch settings * Respect unhandled rejection mode in app * Improve warning messages generated on unhandled promise rejection. Added options to disable the feature * Fixed typo in node_env * Move functions to consts --- examples/sdk/node/package.json | 1 + examples/sdk/node/src/index.ts | 18 +++- package-lock.json | 15 +-- packages/node/package.json | 3 +- packages/node/samplefile.txt | 1 - packages/node/src/BacktraceClient.ts | 101 +++++++++++++++++- packages/node/src/common/NodeOptionReader.ts | 55 ++++++++++ .../common/nodeOptionReaderTests.spec.ts | 92 ++++++++++++++++ .../configuration/BacktraceConfiguration.ts | 12 +++ 9 files changed, 276 insertions(+), 22 deletions(-) delete mode 100644 packages/node/samplefile.txt create mode 100644 packages/node/src/common/NodeOptionReader.ts create mode 100644 packages/node/tests/common/nodeOptionReaderTests.spec.ts diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json index 2eab1b7f..3c88d4e0 100644 --- a/examples/sdk/node/package.json +++ b/examples/sdk/node/package.json @@ -12,6 +12,7 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "start": "NODE_ENV=production node ./lib/index.js", "watch": "tsc -w" }, "repository": { diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 80f8ec48..01cf3888 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -38,6 +38,13 @@ async function sendMessage(message: string, attributes: Record) await client.send(message, attributes); } +async function rejectPromise(message: string) { + return new Promise(() => { + console.log('Rejecting promise without .catch and finally.'); + throw new Error(message); + }); +} + function addEvent(name: string, attributes: Record) { if (!client.metrics) { console.log('metrics are unavailable'); @@ -57,8 +64,9 @@ function showMenu() { `Please pick one of available options:\n` + `1. Send an exception\n` + `2. Send a message\n` + - `3. Add a new summed event\n` + - `4. Send all metrics\n` + + `3. Throw rejected promise\n` + + `4. Add a new summed event\n` + + `5. Send all metrics\n` + `0. Exit\n` + `Type the option number:`; reader.question(menu, async function executeUserOption(optionString: string) { @@ -76,10 +84,14 @@ function showMenu() { break; } case 3: { - addEvent('Option clicked', attributes); + rejectPromise('Rejected promise'); break; } case 4: { + addEvent('Option clicked', attributes); + break; + } + case 5: { sendMetrics(); break; } diff --git a/package-lock.json b/package-lock.json index d33f0242..1dfdf991 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11617,7 +11617,6 @@ }, "devDependencies": { "@types/jest": "^29.5.1", - "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", @@ -11627,14 +11626,9 @@ "webpack-node-externals": "^3.0.0" }, "engines": { - "node": ">=11.15.54" + "node": ">=14" } }, - "packages/node/node_modules/@types/node": { - "version": "11.15.54", - "dev": true, - "license": "MIT" - }, "packages/react": { "name": "@backtrace/react", "version": "0.0.1", @@ -12158,7 +12152,6 @@ "version": "file:packages/node", "requires": { "@types/jest": "^29.5.1", - "@types/node": "^11.15.54", "form-data": "^4.0.0", "jest": "^29.5.0", "native-reg": "^1.1.1", @@ -12168,12 +12161,6 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" - }, - "dependencies": { - "@types/node": { - "version": "11.15.54", - "dev": true - } } }, "@backtrace/react": { diff --git a/packages/node/package.json b/packages/node/package.json index cd88047f..ffca9ecc 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -13,7 +13,7 @@ "test": "NODE_ENV=test jest" }, "engines": { - "node": ">=11.15.54" + "node": ">=14" }, "repository": { "type": "git", @@ -36,7 +36,6 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "@types/jest": "^29.5.1", - "@types/node": "^11.15.54", "jest": "^29.5.0", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", diff --git a/packages/node/samplefile.txt b/packages/node/samplefile.txt deleted file mode 100644 index 6a537b5b..00000000 --- a/packages/node/samplefile.txt +++ /dev/null @@ -1 +0,0 @@ -1234567890 \ No newline at end of file diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index fa5a106f..ba089d1c 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,14 +1,16 @@ import { BacktraceAttributeProvider, + BacktraceConfiguration as CoreConfiguration, BacktraceCoreClient, + BacktraceReport, BacktraceRequestHandler, - BacktraceConfiguration as CoreConfiguration, DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; -import { BacktraceConfiguration } from './BacktraceConfiguration'; import { AGENT } from './agentDefinition'; +import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; +import { NodeOptionReader } from './common/NodeOptionReader'; export class BacktraceClient extends BacktraceCoreClient { constructor( @@ -25,9 +27,104 @@ export class BacktraceClient extends BacktraceCoreClient { undefined, new VariableDebugIdMapProvider(global as DebugIdContainer), ); + + this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { return new BacktraceClientBuilder(options); } + + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { + if (!captureUnhandledExceptions && !captureUnhandledRejections) { + return; + } + + const captureUncaughtException = async (error: Error, origin?: 'uncaughtException' | 'unhandledRejection') => { + if (origin === 'unhandledRejection' && !captureUnhandledRejections) { + return; + } + if (origin === 'uncaughtException' && !captureUnhandledExceptions) { + return; + } + await this.send(new BacktraceReport(error, { 'error.type': 'Unhandled exception', errorOrigin: origin })); + }; + + process.prependListener('uncaughtExceptionMonitor', captureUncaughtException); + + if (!captureUnhandledRejections) { + return; + } + + // Node 15+ has changed the default unhandled promise rejection behavior. + // In node 14 - the default behavior is to warn about unhandled promise rejections. In newer version + // the default mode is throw. + const nodeMajorVersion = process.version.split('.')[0]; + const unhandledRejectionMode = NodeOptionReader.read('unhandled-rejections'); + const traceWarnings = NodeOptionReader.read('trace-warnings'); + + /** + * Node JS allows to use only uncaughtExceptionMonitor only when: + * - we're in the throw/strict error mode + * - the node version 15+ + * + * In other scenarios we need to capture unhandledRejections via other event. + */ + const ignoreUnhandledRejectionHandler = + unhandledRejectionMode === 'strict' || + unhandledRejectionMode === 'throw' || + (nodeMajorVersion !== 'v14' && !unhandledRejectionMode); + + if (ignoreUnhandledRejectionHandler) { + return; + } + + const captureUnhandledRejectionsCallback = async (reason: unknown) => { + const isErrorTypeReason = reason instanceof Error; + const error = isErrorTypeReason ? reason : new Error(reason?.toString() ?? 'Unhandled rejection'); + await this.send( + new BacktraceReport(error, { + 'error.type': 'Unhandled exception', + }), + ); + + // if there is any other unhandled rejection handler, reproduce default node behavior + // and let other handlers to capture the event + if (process.listenerCount('unhandledRejection') !== 1) { + return; + } + + // everything else will be handled by node + if (unhandledRejectionMode === 'none' || unhandledRejectionMode === 'warn') { + return; + } + + // handle last status: warn-with-error-code + process.exitCode = 1; + const unhandledRejectionErrName = 'UnhandledPromiseRejectionWarning'; + + process.emitWarning( + (isErrorTypeReason ? error.stack : reason?.toString()) ?? '', + unhandledRejectionErrName, + ); + + const warning = new Error( + `Unhandled promise rejection. This error originated either by ` + + `throwing inside of an async function without a catch block, ` + + `or by rejecting a promise which was not handled with .catch(). ` + + `To terminate the node process on unhandled promise ` + + 'rejection, use the CLI flag `--unhandled-rejections=strict` (see ' + + 'https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). ', + ); + Object.defineProperty(warning, 'name', { + value: 'UnhandledPromiseRejectionWarning', + enumerable: false, + writable: true, + configurable: true, + }); + warning.stack = traceWarnings && isErrorTypeReason ? error.stack ?? '' : ''; + process.emitWarning(warning); + }; + process.prependListener('unhandledRejection', captureUnhandledRejectionsCallback); + } } diff --git a/packages/node/src/common/NodeOptionReader.ts b/packages/node/src/common/NodeOptionReader.ts new file mode 100644 index 00000000..3cc289a8 --- /dev/null +++ b/packages/node/src/common/NodeOptionReader.ts @@ -0,0 +1,55 @@ +export class NodeOptionReader { + /** + * Read option based on the option name. If the option doesn't start with `--` + * additional prefix will be added. + * @param optionName option name + * @returns option value + */ + public static read( + optionName: string, + argv: string[] = process.execArgv, + nodeOptions: string | undefined = process.env['NODE_OPTIONS'], + ): string | boolean | undefined { + /** + * exec argv overrides NODE_OPTIONS. + * for example: + * yarn start = NODEW_ENV=production node --unhandled-rejections=none ./lib/index.js + * NODE_OPTIONS='--unhandled-rejections=throw' yarn start + * + * Even if NODE_OPTIONS have unhandled rejections set to throw, the value passed in argv + * will be used. + */ + if (!optionName.startsWith('--')) { + optionName = '--' + optionName; + } + + const commandOption = argv.find((n) => n.startsWith(optionName)); + + function readOptionValue(optionName: string, commandOption: string): string | boolean | undefined { + let result = commandOption.substring(optionName.length); + if (!result) { + return true; + } + if (result.startsWith('=')) { + result = result.substring(1); + } + + return result; + } + + if (commandOption) { + return readOptionValue(optionName, commandOption); + } + + if (!nodeOptions) { + return undefined; + } + + const nodeOption = nodeOptions.split(' ').find((n) => n.startsWith(optionName)); + + if (!nodeOption) { + return undefined; + } + return readOptionValue(optionName, nodeOption); + } +} diff --git a/packages/node/tests/common/nodeOptionReaderTests.spec.ts b/packages/node/tests/common/nodeOptionReaderTests.spec.ts new file mode 100644 index 00000000..dc6017a0 --- /dev/null +++ b/packages/node/tests/common/nodeOptionReaderTests.spec.ts @@ -0,0 +1,92 @@ +import { NodeOptionReader } from '../../src/common/NodeOptionReader'; +describe('Node options reader', () => { + describe('argv', () => { + it('should read --unhandled-rejections option', () => { + const option = 'unhandled-rejections'; + const expectedValue = 'none'; + const optionWithValue = `--${option}=${expectedValue}`; + + const value = NodeOptionReader.read(option, [optionWithValue]); + + expect(value).toEqual(expectedValue); + }); + + it('should read boolean value option if the option is defined', () => { + const option = 'trace-warnings'; + const optionWithValue = `--${option}`; + + const value = NodeOptionReader.read(option, [optionWithValue]); + + expect(value).toBeTruthy(); + }); + + it('should read undefined if the option is not available', () => { + const value = NodeOptionReader.read('', ['']); + + expect(value).toBeUndefined(); + }); + + it('should read --unhandled-rejections option with option passed with --', () => { + const option = '--unhandled-rejections'; + const expectedValue = 'warn'; + const optionWithValue = `${option}=${expectedValue}`; + + const value = NodeOptionReader.read(option, [optionWithValue]); + + expect(value).toEqual(expectedValue); + }); + + it('should not read --unhandled-rejections if its not available', () => { + const value = NodeOptionReader.read('unhandled-rejections'); + + expect(value).toBeUndefined(); + }); + + it('should prefer --unhandled-rejections available in argv and ignore NODE_OPTIONS', () => { + const option = '--unhandled-rejections'; + const expectedValue = 'warn'; + const expectedOptionWithValue = `${option}=${expectedValue}`; + const invalidOptionWithValue = `${option}=none`; + + const value = NodeOptionReader.read( + 'unhandled-rejections', + [expectedOptionWithValue], + invalidOptionWithValue, + ); + + expect(value).toEqual(expectedValue); + }); + }); + + describe('NODE_OPTIONS', () => { + it('should read --unhandled-rejections option from NODE_OPTIONS', () => { + const option = 'unhandled-rejections'; + const expectedValue = 'throw'; + const optionWithValue = `--${option}=${expectedValue}`; + + const value = NodeOptionReader.read(option, [], optionWithValue); + + expect(value).toEqual(expectedValue); + }); + + it('should read --unhandled-rejections option if multiple NODE_OPTIONS are available', () => { + const option = 'unhandled-rejections'; + const expectedValue = 'throw'; + const optionWithValue = `--${option}=${expectedValue}`; + + const value = NodeOptionReader.read( + option, + [], + `--max-old-space-size=8192 ${optionWithValue} --track-heap-objects`, + ); + + expect(value).toEqual(expectedValue); + }); + + it('should not read --unhandled-rejections if its not available', () => { + const value = NodeOptionReader.read('unhandled-rejections'); + + expect(value).toBeUndefined(); + }); + }); +}); diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 79972ac5..3465b4cd 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -37,6 +37,18 @@ export interface BacktraceConfiguration { */ url: string; + /** + * Determines if unhandled should be captured by the library. + * By default true. + */ + captureUnhandledErrors?: boolean; + + /** + * Determines if unhandled promise rejections should be captured by the library. + * By default false. + */ + captureUnhandledPromiseRejections?: boolean; + /** * Submission token - the token is required only if the user uses direct submission URL to Backtrace. */ From 3179486d3771b793360d9b7bbd53992382ebd9f7 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 31 Jul 2023 10:47:02 +0200 Subject: [PATCH 075/291] Before send event support (#49) --- packages/sdk-core/src/BacktraceCoreClient.ts | 16 +++++- .../configuration/BacktraceConfiguration.ts | 8 +++ .../tests/client/attributesTests.spec.ts | 4 +- .../tests/client/clientCallbacksTests.spec.ts | 50 +++++++++++++++++++ .../sdk-core/tests/client/clientTests.spec.ts | 4 +- .../tests/mocks/BacktraceTestClient.ts | 17 +++++-- 6 files changed, 88 insertions(+), 11 deletions(-) create mode 100644 packages/sdk-core/tests/client/clientCallbacksTests.spec.ts diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index b220a571..6e28694e 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -8,7 +8,7 @@ import { } from '.'; import { SdkOptions } from './builder/SdkOptions'; import { BacktraceConfiguration } from './model/configuration/BacktraceConfiguration'; -import { AttributeType } from './model/data/BacktraceData'; +import { AttributeType, BacktraceData } from './model/data/BacktraceData'; import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; import { BacktraceRequestHandler } from './model/http/BacktraceRequestHandler'; import { BacktraceReport } from './model/report/BacktraceReport'; @@ -154,9 +154,21 @@ export abstract class BacktraceCoreClient { skipFrames: this.skipFrameOnMessage(data), }); + const backtraceData = this.generateSubmissionData(report); + if (!backtraceData) { + return; + } + + await this._reportSubmission.send(backtraceData, this.generateSubmissionAttachments(report, reportAttachments)); + } + + private generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { const { annotations, attributes } = this._attributeProvider.get(); const backtraceData = this._dataBuilder.build(report, attributes, annotations); - await this._reportSubmission.send(backtraceData, this.generateSubmissionAttachments(report, reportAttachments)); + if (!this.options.beforeSend) { + return backtraceData; + } + return this.options.beforeSend(backtraceData); } private generateSubmissionAttachments( diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 3465b4cd..847d1a28 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,4 +1,5 @@ import { BacktraceAttachment } from '../attachment'; +import { BacktraceData } from '../data/BacktraceData'; import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; export interface BacktraceMetricsOptions { @@ -56,6 +57,13 @@ export interface BacktraceConfiguration { timeout?: number; ignoreSslCertificate?: boolean; + /** + * Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) + * or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object + * data based on data the application has at the time of exception. + */ + beforeSend?: (data: BacktraceData) => BacktraceData | undefined; + /** * Limits the number of reports the client will send per minute. If set to '0', there is no limit. * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. diff --git a/packages/sdk-core/tests/client/attributesTests.spec.ts b/packages/sdk-core/tests/client/attributesTests.spec.ts index 5f177b9d..bcdd1812 100644 --- a/packages/sdk-core/tests/client/attributesTests.spec.ts +++ b/packages/sdk-core/tests/client/attributesTests.spec.ts @@ -47,7 +47,7 @@ describe('Attributes tests', () => { const scopedAttributeGetFunction = jest .fn() .mockReturnValue({ [providerAttributeKey]: providerAttributeValue }); - const fakeClient = BacktraceTestClient.buildFakeClient([ + const fakeClient = BacktraceTestClient.buildFakeClient({}, [ { type: 'scoped', get: scopedAttributeGetFunction, @@ -66,7 +66,7 @@ describe('Attributes tests', () => { const scopedAttributeGetFunction = jest .fn() .mockReturnValue({ [providerAttributeKey]: providerAttributeValue }); - const fakeClient = BacktraceTestClient.buildFakeClient([ + const fakeClient = BacktraceTestClient.buildFakeClient({}, [ { type: 'dynamic', get: scopedAttributeGetFunction, diff --git a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts new file mode 100644 index 00000000..895317fa --- /dev/null +++ b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts @@ -0,0 +1,50 @@ +import { BacktraceReportSubmissionResult } from '../../src'; +import { BacktraceData } from '../../src/model/data/BacktraceData'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; + +describe('Client callbacks tests', () => { + describe('Submission data modification tests', () => { + it('Should invoke the before send event', async () => { + let triggered = false; + const client = BacktraceTestClient.buildFakeClient({ + beforeSend: (data) => { + triggered = true; + return data; + }, + }); + + await client.send(new Error()); + expect(triggered).toBeTruthy(); + }); + + it('Should allow to modify the report attribute', async () => { + const attributeName = 'test'; + const expectedAttributeVaue = 'invoked'; + const client = BacktraceTestClient.buildFakeClient({ + beforeSend: (data) => { + data.attributes[attributeName] = expectedAttributeVaue; + return data; + }, + }); + jest.spyOn(client.requestHandler, 'postError').mockImplementationOnce((_: string, data: BacktraceData) => { + expect(data.attributes[attributeName]).toEqual(expectedAttributeVaue); + return Promise.resolve(BacktraceReportSubmissionResult.Ok({})); + }); + + client.addAttribute({ [attributeName]: 'not-invoked' }); + + await client.send(new Error()); + }); + + it('Should skip sending events if the user decide not to send it', async () => { + const client = BacktraceTestClient.buildFakeClient({ + beforeSend: () => { + return undefined; + }, + }); + + await client.send(new Error()); + expect(client.requestHandler.postError).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index e87b63b8..a2921d6d 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -43,7 +43,7 @@ describe('Client tests', () => { }, }; - const client = BacktraceTestClient.buildFakeClient([], [inMemoryAttachment]); + const client = BacktraceTestClient.buildFakeClient({}, [], [inMemoryAttachment]); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(1); @@ -90,7 +90,7 @@ describe('Client tests', () => { return new Uint8Array(0); }, }; - const client = BacktraceTestClient.buildFakeClient([], [clientAttachment]); + const client = BacktraceTestClient.buildFakeClient({}, [], [clientAttachment]); await client.send(new Error(''), {}, [reportAttachment]); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index 27c47875..da8b5749 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -1,6 +1,7 @@ import { BacktraceAttachment, BacktraceAttributeProvider, + BacktraceConfiguration, BacktraceCoreClient, BacktraceReportSubmissionResult, BacktraceRequestHandler, @@ -13,18 +14,22 @@ export const APPLICATION_VERSION = '5.4.3'; export class BacktraceTestClient extends BacktraceCoreClient { public readonly requestHandler: BacktraceRequestHandler; constructor( + options: Partial, handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], ) { super( { - url: TEST_SUBMISSION_URL, - token: TOKEN, - attachments, - metrics: { - enable: false, + ...{ + url: TEST_SUBMISSION_URL, + token: TOKEN, + attachments, + metrics: { + enable: false, + }, }, + ...(options ?? {}), }, { agent: 'test', @@ -39,6 +44,7 @@ export class BacktraceTestClient extends BacktraceCoreClient { } public static buildFakeClient( + options: Partial = {}, attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], ) { @@ -52,6 +58,7 @@ export class BacktraceTestClient extends BacktraceCoreClient { }, }); return new BacktraceTestClient( + options, { post: jest.fn().mockResolvedValue(Promise.resolve(BacktraceReportSubmissionResult.Ok('Ok'))), postError: jest.fn().mockResolvedValue(Promise.resolve()), From 7bd533d3c491cb774b423ef69b25962cdc800497 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 31 Jul 2023 10:47:24 +0200 Subject: [PATCH 076/291] Browser unhandler error handler (#51) * Browser unhandled error handler * Client - subscribe to event handlers * Browser unhandled error handler --- examples/sdk/browser/index.html | 6 ++++++ examples/sdk/browser/src/index.ts | 15 ++++++++++++++ packages/browser/src/BacktraceClient.ts | 27 ++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/examples/sdk/browser/index.html b/examples/sdk/browser/index.html index 5bcef440..4edfcc5f 100644 --- a/examples/sdk/browser/index.html +++ b/examples/sdk/browser/index.html @@ -31,6 +31,12 @@

Welcome to the Backtrace demo Send a message + + diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts index 9da92984..4151dfa9 100644 --- a/examples/sdk/browser/src/index.ts +++ b/examples/sdk/browser/src/index.ts @@ -21,6 +21,8 @@ function parseNotExistingDomElement(): string { const sendErrorButton = document.getElementById('send-error') as HTMLElement; const sendMessageButton = document.getElementById('send-message') as HTMLElement; +const sendUnhandledExceptionButton = document.getElementById('send-unhandled-exception') as HTMLElement; +const sendPromiseRejectionButton = document.getElementById('send-promise-rejection') as HTMLElement; const generateMetricButton = document.getElementById('generate-metric') as HTMLElement; const sendMetricsButton = document.getElementById('send-metrics') as HTMLElement; @@ -60,7 +62,20 @@ function sendMetrics() { client.metrics.send(); } +function unhandledPromiseRejection() { + console.log('unhandled promise rejection'); + return new Promise(() => { + throw new Error('Promise rejection'); + }); +} + +function unhandledException() { + console.log('unhandled exception'); + throw new Error('unhandled exception'); +} sendErrorButton.onclick = sendHandledException; sendMessageButton.onclick = sendMessage; generateMetricButton.onclick = generateMetric; sendMetricsButton.onclick = sendMetrics; +sendUnhandledExceptionButton.onclick = unhandledException; +sendPromiseRejectionButton.onclick = unhandledPromiseRejection; diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 6ef74545..2b49dbd1 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -1,14 +1,15 @@ import { BacktraceAttributeProvider, BacktraceCoreClient, + BacktraceReport, BacktraceRequestHandler, BacktraceStackTraceConverter, DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; +import { AGENT } from './agentDefinition'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; -import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { @@ -27,9 +28,33 @@ export class BacktraceClient extends BacktraceCoreClient { new BacktraceBrowserSessionProvider(), new VariableDebugIdMapProvider(window as DebugIdContainer), ); + + this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { return new BacktraceClientBuilder(options); } + + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { + if (captureUnhandledExceptions) { + window.addEventListener('error', async (errorEvent: ErrorEvent) => { + await this.send( + new BacktraceReport(errorEvent.error, { + 'error.type': 'Unhandled exception', + }), + ); + }); + } + + if (captureUnhandledRejections) { + window.addEventListener('unhandledrejection', async (errorEvent: PromiseRejectionEvent) => { + await this.send( + new BacktraceReport(errorEvent.reason, { + 'error.type': 'Unhandled exception', + }), + ); + }); + } + } } From 71e56e24fb0481b70921a8a45fdc09580db598cf Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 31 Jul 2023 13:56:59 +0200 Subject: [PATCH 077/291] Skip report callback (#50) * Before send event support * Skip report callback * Test name fix --- packages/sdk-core/src/BacktraceCoreClient.ts | 3 ++ .../configuration/BacktraceConfiguration.ts | 7 +++++ .../tests/client/clientCallbacksTests.spec.ts | 31 +++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 6e28694e..d6ec9cca 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -153,6 +153,9 @@ export abstract class BacktraceCoreClient { : new BacktraceReport(data, reportAttributes, [], { skipFrames: this.skipFrameOnMessage(data), }); + if (this.options.skipReport && this.options.skipReport(report)) { + return; + } const backtraceData = this.generateSubmissionData(report); if (!backtraceData) { diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 847d1a28..8dd31aca 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,5 +1,6 @@ import { BacktraceAttachment } from '../attachment'; import { BacktraceData } from '../data/BacktraceData'; +import { BacktraceReport } from '../report/BacktraceReport'; import { BacktraceDatabaseConfiguration } from './BacktraceDatabaseConfiguration'; export interface BacktraceMetricsOptions { @@ -64,6 +65,12 @@ export interface BacktraceConfiguration { */ beforeSend?: (data: BacktraceData) => BacktraceData | undefined; + /** + * If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. + * By using it, based on the data generated in the report, you can decide to filter the report, or send it to + * Backtrace. + */ + skipReport?: (report: BacktraceReport) => boolean; /** * Limits the number of reports the client will send per minute. If set to '0', there is no limit. * If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. diff --git a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts index 895317fa..16853d70 100644 --- a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts +++ b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts @@ -47,4 +47,35 @@ describe('Client callbacks tests', () => { expect(client.requestHandler.postError).not.toHaveBeenCalled(); }); }); + + describe('Report filtering tests', () => { + it('Should send a report if the filter is not set', async () => { + const client = BacktraceTestClient.buildFakeClient(); + + await client.send(new Error()); + expect(client.requestHandler.postError).toHaveBeenCalled(); + }); + + it('Should send a report if the filter returns false ', async () => { + const client = BacktraceTestClient.buildFakeClient({ + skipReport: () => { + return false; + }, + }); + + await client.send(new Error()); + expect(client.requestHandler.postError).toHaveBeenCalled(); + }); + + it('Should not send a report if the filter returns true ', async () => { + const client = BacktraceTestClient.buildFakeClient({ + skipReport: () => { + return true; + }, + }); + + await client.send(new Error()); + expect(client.requestHandler.postError).not.toHaveBeenCalled(); + }); + }); }); From 3356bdf072918cccb18e5ce8472f8a25ed5a6bf2 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Wed, 2 Aug 2023 10:05:57 -0400 Subject: [PATCH 078/291] Feature/component stack as backtracedata (#47) * Updating readme to show how to run the example * Updating README.md to be more specific to our app and removing eject and test scripts from package.json * Adding ability to send BacktraceData to the client.send(). This allows us to add the component stack as a thread to be viewed in the UI as well * Adding ability to detect and parse React 16 component stacks as well as tests * Quick cleanup * Adding check for object in isBacktraceData * Updating the react component stack parsing to better follow existing patterns. This adds a react stack trace converter and updates the BacktraceReport stackTrace to be a Record with stack trace info as the value * Fixing reference to BacktraceData * Updates based on PR feedback. The main one being adding message back as a field in BacktraceReport * Moving the React 16 component stack helpers to ReactStackTraceConverter * Adding tests for BacktraceReport.addStackTrace() * Adding a test for thread generation in BacktraceDataBuilder * Updating comment format --------- Co-authored-by: Adam Cronin --- .vscode/launch.json | 8 + .../src/builder/BacktraceClientBuilder.ts | 12 +- packages/react/src/BacktraceClient.ts | 25 +- packages/react/src/ErrorBoundary.tsx | 10 +- .../builder/BacktraceReactClientBuilder.ts | 14 + .../converters/ReactStackTraceConverter.ts | 53 ++++ .../react/tests/errorBoundaryTests.spec.tsx | 14 + .../tests/reactStackTraceConverter.spec.ts | 270 ++++++++++++++++++ .../src/model/report/BacktraceReport.ts | 27 +- .../report/BacktraceReportStackTraceInfo.ts | 4 + .../src/modules/data/BacktraceDataBuilder.ts | 52 ++-- .../tests/report/dataGenerationTests.spec.ts | 17 ++ .../sdk-core/tests/report/reportTests.spec.ts | 65 ++++- 13 files changed, 515 insertions(+), 56 deletions(-) create mode 100644 packages/react/src/builder/BacktraceReactClientBuilder.ts create mode 100644 packages/react/src/converters/ReactStackTraceConverter.ts create mode 100644 packages/react/tests/reactStackTraceConverter.spec.ts create mode 100644 packages/sdk-core/src/model/report/BacktraceReportStackTraceInfo.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 6b3bddb5..3708ab9e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,6 +12,14 @@ "sourceMaps": true, "type": "pwa-node", "console": "integratedTerminal" + }, + { + "type": "chrome", + "request": "launch", + "name": "Launch React Example App", + "url": "http://localhost:3000", + "webRoot": "${workspaceFolder}/examples/sdk/react/", + "sourceMaps": true } ] } diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index e01603ee..c911cf4d 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -13,25 +13,25 @@ import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStack import { getEngine } from '../engineDetector'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - constructor(private readonly _options: BacktraceConfiguration) { - super(new BacktraceBrowserRequestHandler(_options), [ + constructor(protected readonly options: BacktraceConfiguration) { + super(new BacktraceBrowserRequestHandler(options), [ new UserAgentAttributeProvider(), new WebsiteAttributeProvider(), new WindowAttributeProvider(), - new UserIdentifierAttributeProvider(_options), - new ApplicationInformationAttributeProvider(_options), + new UserIdentifierAttributeProvider(options), + new ApplicationInformationAttributeProvider(options), ]); } public build(): BacktraceClient { return new BacktraceClient( - this._options, + this.options, this.handler, this.attributeProviders, this.generateStackTraceConverter(), ); } - private generateStackTraceConverter(): BacktraceStackTraceConverter { + protected generateStackTraceConverter(): BacktraceStackTraceConverter { switch (getEngine()) { case 'JavaScriptCore': { return new JavaScriptCoreStackTraceConverter(); diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index b5780c09..72c61001 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -1,26 +1,11 @@ -import { - BacktraceAttributeProvider, - BacktraceCoreClient, - BacktraceRequestHandler, - BacktraceStackTraceConverter, -} from '@backtrace/sdk-core'; -import { AGENT } from '@backtrace/browser'; -import { BacktraceConfiguration } from '@backtrace/browser'; -import { BacktraceClientBuilder } from '@backtrace/browser'; +import { BacktraceConfiguration, BacktraceClient as BrowserClient } from '@backtrace/browser'; +import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; -export class BacktraceClient extends BacktraceCoreClient { +export class BacktraceClient extends BrowserClient { private static _instance?: BacktraceClient; - constructor( - options: BacktraceConfiguration, - handler: BacktraceRequestHandler, - attributeProviders: BacktraceAttributeProvider[], - stackTraceConverter: BacktraceStackTraceConverter, - ) { - super(options, AGENT, handler, attributeProviders, stackTraceConverter); - } - public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { - return new BacktraceClientBuilder(options); + public static builder(options: BacktraceConfiguration): BacktraceReactClientBuilder { + return new BacktraceReactClientBuilder(options); } public static initialize(options: BacktraceConfiguration): BacktraceClient { diff --git a/packages/react/src/ErrorBoundary.tsx b/packages/react/src/ErrorBoundary.tsx index 4cf94e44..2348a6fc 100644 --- a/packages/react/src/ErrorBoundary.tsx +++ b/packages/react/src/ErrorBoundary.tsx @@ -1,5 +1,6 @@ import { Component, ErrorInfo, ReactElement, ReactNode, isValidElement } from 'react'; import { BacktraceClient } from './BacktraceClient'; +import { BacktraceReport } from '.'; type RenderFallback = () => ReactElement; @@ -15,6 +16,7 @@ export interface State { export class ErrorBoundary extends Component { private _client: BacktraceClient; + private COMPONENT_THREAD_NAME = 'component-stack'; constructor(props: Props) { super(props); this.state = { @@ -25,12 +27,14 @@ export class ErrorBoundary extends Component { this._client = BacktraceClient.instance; } - static getDerivedStateFromError(error: Error) { + public static getDerivedStateFromError(error: Error) { return { hasError: true, error }; } - componentDidCatch(error: Error, info: ErrorInfo) { - this._client.send(error); + public async componentDidCatch(error: Error, info: ErrorInfo) { + const report = new BacktraceReport(error); + report.addStackTrace(this.COMPONENT_THREAD_NAME, info.componentStack); + await this._client.send(report); } render() { diff --git a/packages/react/src/builder/BacktraceReactClientBuilder.ts b/packages/react/src/builder/BacktraceReactClientBuilder.ts new file mode 100644 index 00000000..1587860e --- /dev/null +++ b/packages/react/src/builder/BacktraceReactClientBuilder.ts @@ -0,0 +1,14 @@ +import { BacktraceClientBuilder } from '@backtrace/browser'; +import { BacktraceClient } from '../BacktraceClient'; +import { ReactStackTraceConverter } from '../converters/ReactStackTraceConverter'; + +export class BacktraceReactClientBuilder extends BacktraceClientBuilder { + public build(): BacktraceClient { + return new BacktraceClient( + this.options, + this.handler, + this.attributeProviders, + new ReactStackTraceConverter(this.generateStackTraceConverter()), + ); + } +} diff --git a/packages/react/src/converters/ReactStackTraceConverter.ts b/packages/react/src/converters/ReactStackTraceConverter.ts new file mode 100644 index 00000000..3e18477e --- /dev/null +++ b/packages/react/src/converters/ReactStackTraceConverter.ts @@ -0,0 +1,53 @@ +import { BacktraceStackTraceConverter } from '@backtrace/sdk-core'; +import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; + +export class ReactStackTraceConverter implements BacktraceStackTraceConverter { + constructor(private readonly stackTraceConverter: BacktraceStackTraceConverter) {} + + get engine(): JavaScriptEngine { + return this.stackTraceConverter.engine; + } + + public convert(stackTrace: string, message = ''): BacktraceStackFrame[] { + // React 16 component stacks are not JS error stacks, and need to be parsed separately + if (this.isReact16ComponentStack(stackTrace)) { + return this.parseReact16ComponentStack(stackTrace); + } + return this.stackTraceConverter.convert(stackTrace, message); + } + + /** + * React 16 component stacks need to be parsed separately. React 17+ component stacks can be parsed like Error stacks + */ + private isReact16ComponentStack(stack: string): boolean { + if (!stack) { + return false; + } + const frames = stack.split('\n').filter((line) => !!line); + for (const frame of frames) { + if (!frame.includes('in ')) { + return false; + } + } + return true; + } + + private parseReact16ComponentStack(stack: string): BacktraceStackFrame[] { + const btFrames: BacktraceStackFrame[] = []; + if (!stack) { + return btFrames; + } + const frames = stack.split('\n'); + for (const frame of frames) { + if (!frame.trim()) continue; + const component = frame.split('in ')[1]?.trim(); + const btFrame: BacktraceStackFrame = { + funcName: component ?? 'unknown', + library: 'unknown', + }; + btFrames.push(btFrame); + } + return btFrames; + } +} diff --git a/packages/react/tests/errorBoundaryTests.spec.tsx b/packages/react/tests/errorBoundaryTests.spec.tsx index f397788a..a25fa556 100644 --- a/packages/react/tests/errorBoundaryTests.spec.tsx +++ b/packages/react/tests/errorBoundaryTests.spec.tsx @@ -23,6 +23,15 @@ describe('Error Boundary', () => { const fallbackFunction = () => ; + let consoleErrorSpy: jest.SpyInstance; + beforeEach(() => { + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => null); + }); + + afterEach(() => { + consoleErrorSpy.mockRestore(); + }); + describe('With BacktraeClient uninitialized', () => { it('Should throw an error when BacktraceClient is uninitialized and an ErrorBoundary is used', () => { expect(() => @@ -41,6 +50,11 @@ describe('Error Boundary', () => { }); }); + afterEach(() => { + client = undefined as unknown as BacktraceClient; + jest.restoreAllMocks(); + }); + it('Should not throw an error when BacktraceClient is initialized and an ErrorBoundary is used', () => { expect(() => render({}), diff --git a/packages/react/tests/reactStackTraceConverter.spec.ts b/packages/react/tests/reactStackTraceConverter.spec.ts new file mode 100644 index 00000000..af1abb46 --- /dev/null +++ b/packages/react/tests/reactStackTraceConverter.spec.ts @@ -0,0 +1,270 @@ +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; +import { ReactStackTraceConverter } from '../src/converters/ReactStackTraceConverter'; +import { BacktraceStackTraceConverter } from '@backtrace/sdk-core'; +/* eslint-disable @typescript-eslint/no-explicit-any */ + +class MockConverter implements BacktraceStackTraceConverter { + public get engine(): JavaScriptEngine { + return 'v8'; + } + convert(stackTrace: string, message: string) { + // using to remove unused error + stackTrace; + message; + return [ + { + funcName: 'mock-function', + library: 'mock-library', + }, + ]; + } +} + +describe('ReactStackTraceConverter', () => { + const converter = new ReactStackTraceConverter(new MockConverter()); + describe('isReact16ComponentStack', () => { + let isReact16ComponentStackSpy: jest.SpyInstance; + beforeEach(() => { + isReact16ComponentStackSpy = jest.spyOn(converter as any, 'isReact16ComponentStack'); + }); + + afterEach(() => { + isReact16ComponentStackSpy.mockRestore(); + }); + it('should return false if an empty stack is passed in', () => { + const stack = ''; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(false); + }); + + it('should return false for a component stack with no frames/components', () => { + const stack = ' /n/n/n'; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(false); + }); + + it('should return false for a component stack greater than React v16 (a JS error stack - Chrome)', () => { + const stack = ` + at App (http://localhost:3000/static/js/main.js:38:80) + at ErrorBoundary (http://localhost:3000/static/js/main.js:41102:15) + `; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(false); + }); + + it('should return false for a component stack greater than React v16 (a JS error stack - Firefox)', () => { + const stack = ` + App@http://localhost:3000/static/js/main.js:38:80 + ErrorBoundary@http://localhost:3000/static/js/main.js:41102:15 + `; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(false); + }); + + it('should return false for a component stack greater than React v16 (a JS error stack - Safari)', () => { + const stack = ` + App@http://localhost:3000/static/js/main.js:38:80 + ErrorBoundary@http://localhost:3000/static/js/main.js:41102:20 + `; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(false); + }); + + it('should return true for a React v16 component stack', () => { + const stack = `in App + in ErrorBoundary + in StrictMode`; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(true); + }); + + it('should return true for a React v16 component stack with whitespaces for the first line', () => { + const stack = ` + in App + in ErrorBoundary + in StrictMode`; + converter.convert(stack); + expect(isReact16ComponentStackSpy).toReturnWith(true); + }); + }); + + describe('parseReact16ComponentStack', () => { + let parseReact16ComponentStackSpy: jest.SpyInstance; + let isReact16ComponentStackSpy: jest.SpyInstance; + beforeEach(() => { + parseReact16ComponentStackSpy = jest.spyOn(converter as any, 'parseReact16ComponentStack'); + isReact16ComponentStackSpy = jest + .spyOn(converter as any, 'isReact16ComponentStack') + .mockImplementation(() => true); + }); + + afterEach(() => { + parseReact16ComponentStackSpy.mockRestore(); + isReact16ComponentStackSpy.mockRestore(); + }); + + it('should return an empty array for an empty stack string', () => { + const stack = ''; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining([])); + }); + + it('should return an empty array for a stack with no frames', () => { + const stack = ' \n\n\n \t '; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining([])); + }); + + it('should return unknown frames for a component stack greater than React v16 (a JS error stack - Chrome)', () => { + const stack = ` + at App (http://localhost:3000/static/js/main.js:38:80) + at ErrorBoundary (http://localhost:3000/static/js/main.js:41102:15) + `; + const expected = [ + { + funcName: 'unknown', + library: 'unknown', + }, + { + funcName: 'unknown', + library: 'unknown', + }, + ]; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining(expected)); + }); + + it('should return unknown frames for a component stack greater than React v16 (a JS error stack - Firefox)', () => { + const stack = ` + App@http://localhost:3000/static/js/main.js:38:80 + ErrorBoundary@http://localhost:3000/static/js/main.js:41102:15 + `; + const expected = [ + { + funcName: 'unknown', + library: 'unknown', + }, + { + funcName: 'unknown', + library: 'unknown', + }, + ]; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining(expected)); + }); + + it('should return unknown frames for a component stack greater than React v16 (a JS error stack - Safari)', () => { + const stack = ` + App@http://localhost:3000/static/js/main.js:38:80 + ErrorBoundary@http://localhost:3000/static/js/main.js:41102:20 + `; + const expected = [ + { + funcName: 'unknown', + library: 'unknown', + }, + { + funcName: 'unknown', + library: 'unknown', + }, + ]; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining(expected)); + }); + + it('should return valid frames for a React v16 component stack', () => { + const stack = `in App + in ErrorBoundary + in StrictMode`; + const expected = [ + { + funcName: 'App', + library: 'unknown', + }, + { + funcName: 'ErrorBoundary', + library: 'unknown', + }, + { + funcName: 'StrictMode', + library: 'unknown', + }, + ]; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining(expected)); + }); + + it('should return valid frames for a React v16 component stack with whitespaces at the beginning', () => { + const stack = ` + + in App + in ErrorBoundary + in StrictMode`; + const expected = [ + { + funcName: 'App', + library: 'unknown', + }, + { + funcName: 'ErrorBoundary', + library: 'unknown', + }, + { + funcName: 'StrictMode', + library: 'unknown', + }, + ]; + converter.convert(stack); + expect(parseReact16ComponentStackSpy).toReturnWith(expect.arrayContaining(expected)); + }); + }); + + describe('convert', () => { + let parseReact16ComponentStackSpy: jest.SpyInstance; + let isReact16ComponentStackSpy: jest.SpyInstance; + + afterEach(() => { + parseReact16ComponentStackSpy.mockRestore(); + isReact16ComponentStackSpy.mockRestore(); + }); + + it('Should call parseReact16ComponentStack when it is a React 16 component stack', () => { + const expected = { + funcName: 'parse-funcName', + library: 'parse-library', + }; + parseReact16ComponentStackSpy = jest + .spyOn(converter as any, 'parseReact16ComponentStack') + .mockImplementation(() => { + return expected; + }); + isReact16ComponentStackSpy = jest + .spyOn(converter as any, 'isReact16ComponentStack') + .mockImplementation(() => true); + expect(converter.convert('')).toEqual(expect.objectContaining(expected)); + }); + + it('Should call the stackTraceConverter.convert() when it is a React 17+ component stack', () => { + const expected = { + funcName: 'mock-function', + library: 'mock-library', + }; + parseReact16ComponentStackSpy = jest + .spyOn(converter as any, 'parseReact16ComponentStack') + .mockImplementation(() => { + return expected; + }); + isReact16ComponentStackSpy = jest + .spyOn(converter as any, 'isReact16ComponentStack') + .mockImplementation(() => false); + expect(converter.convert('')[0]).toEqual(expect.objectContaining(expected)); + }); + }); + + describe('engine', () => { + it('Should return v8', () => { + const expected = 'v8'; + expect(converter.engine).toBe(expected); + }); + }); +}); diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index f9bfe63a..8c89a281 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,6 +1,7 @@ import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceAttachment } from '../attachment'; import { BacktraceErrorType } from './BacktraceErrorType'; +import { BacktraceReportStackTraceInfo } from './BacktraceReportStackTraceInfo'; export class BacktraceReport { /** @@ -14,7 +15,7 @@ export class BacktraceReport { /** * Report stack trace */ - public readonly stackTrace: string; + public readonly stackTrace: Record = {}; /** * Report message @@ -36,6 +37,20 @@ export class BacktraceReport { */ public skipFrames = 0; + /** + * Add additional stack trace to the report. + * If the thread name already exists it will be overwritten + * @param name thread name + * @param stack stack trace + * @param message error message + */ + public addStackTrace(name: string, stack: string, message = '') { + this.stackTrace[name] = { + stack, + message, + }; + } + constructor( public readonly data: Error | string, public readonly attributes: Record = {}, @@ -48,7 +63,10 @@ export class BacktraceReport { this.annotations['error'] = data; this.classifiers = [data.name]; this.message = data.message; - this.stackTrace = data.stack ?? ''; + this.stackTrace['main'] = { + stack: data.stack ?? '', + message: data.message, + }; // Supported in ES2022 if ((data as { cause?: unknown }).cause) { @@ -56,7 +74,10 @@ export class BacktraceReport { } } else { this.message = data; - this.stackTrace = new Error().stack ?? ''; + this.stackTrace['main'] = { + stack: new Error().stack ?? '', + message: data, + }; errorType = 'Message'; this.skipFrames += 1; } diff --git a/packages/sdk-core/src/model/report/BacktraceReportStackTraceInfo.ts b/packages/sdk-core/src/model/report/BacktraceReportStackTraceInfo.ts new file mode 100644 index 00000000..0c72526b --- /dev/null +++ b/packages/sdk-core/src/model/report/BacktraceReportStackTraceInfo.ts @@ -0,0 +1,4 @@ +export interface BacktraceReportStackTraceInfo { + stack: string; + message: string; +} diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index be90acfe..adaefb83 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -3,6 +3,7 @@ import { SdkOptions } from '../../builder/SdkOptions'; import { IdGenerator } from '../../common/IdGenerator'; import { TimeHelper } from '../../common/TimeHelper'; import { AttributeType, BacktraceData } from '../../model/data/BacktraceData'; +import { BacktraceStackTrace } from '../../model/data/BacktraceStackTrace'; import { BacktraceReport } from '../../model/report/BacktraceReport'; import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; @@ -21,19 +22,7 @@ export class BacktraceDataBuilder { clientAnnotations: Record = {}, ): BacktraceData { const reportData = ReportDataBuilder.build(report.attributes); - - const stackTrace = this._stackTraceConverter.convert(report.stackTrace, report.message); - - let detectedDebugIdentifier = false; - - for (const frame of stackTrace) { - const debugIdentifier = this._debugIdProvider.getDebugId(frame.library); - if (!debugIdentifier) { - continue; - } - detectedDebugIdentifier = true; - frame.debug_identifier = debugIdentifier; - } + const { threads, detectedDebugIdentifier } = this.getThreads(report); const result: BacktraceData = { uuid: IdGenerator.uuid(), @@ -44,13 +33,7 @@ export class BacktraceDataBuilder { langVersion: this._sdkOptions.langVersion, classifiers: report.classifiers, mainThread: this.MAIN_THREAD_NAME, - threads: { - [this.MAIN_THREAD_NAME]: { - fault: true, - name: this.MAIN_THREAD_NAME, - stack: stackTrace, - }, - }, + threads, annotations: { ...clientAnnotations, ...reportData.annotations, @@ -68,4 +51,33 @@ export class BacktraceDataBuilder { return result; } + + private getThreads(report: BacktraceReport) { + const threads: Record = {}; + let detectedDebugIdentifier = false; + + for (const [name, traceInfo] of Object.entries(report.stackTrace)) { + const { message, stack } = traceInfo; + const stackFrames = this._stackTraceConverter.convert(stack, message); + + for (const frame of stackFrames) { + const debugIdentifier = this._debugIdProvider.getDebugId(frame.library); + if (!debugIdentifier) { + continue; + } + detectedDebugIdentifier = true; + frame.debug_identifier = debugIdentifier; + } + + threads[name] = { + fault: name === this.MAIN_THREAD_NAME, + name, + stack: stackFrames, + }; + } + return { + threads, + detectedDebugIdentifier, + }; + } } diff --git a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts index 0a4dee3e..091a2c80 100644 --- a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts +++ b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts @@ -100,4 +100,21 @@ describe('Data generation tests', () => { expect(backtraceData.threads[backtraceData.mainThread].stack).toEqual(expectedFrames); }); + + it('Should generate threads from BacktraceReport.stackTrace', () => { + const errorReport = new BacktraceReport(new Error()); + const secondName = 'second-stack-name'; + const secondStack = 'second-stack'; + const main = 'main'; + + errorReport.addStackTrace(secondName, secondStack); + const backtraceData = dataBuilder.build(errorReport); + + expect(backtraceData.threads[main]).toBeDefined(); + expect(backtraceData.threads[main].fault).toBeTruthy(); + expect(backtraceData.threads[main].stack.length).toBeDefined(); + expect(backtraceData.threads[secondName]).toBeDefined(); + expect(backtraceData.threads[secondName].fault).toBeFalsy(); + expect(backtraceData.threads[secondName].stack.length).toBeDefined(); + }); }); diff --git a/packages/sdk-core/tests/report/reportTests.spec.ts b/packages/sdk-core/tests/report/reportTests.spec.ts index 9505d43e..182e1b39 100644 --- a/packages/sdk-core/tests/report/reportTests.spec.ts +++ b/packages/sdk-core/tests/report/reportTests.spec.ts @@ -5,11 +5,11 @@ describe('Backtrace report generation tests', () => { const testMessage = 'test'; const report = new BacktraceReport(testMessage); it('Report message should be set', () => { - expect(report.message).toBe(testMessage); + expect(report.stackTrace.main.message).toBe(testMessage); }); it('Stack trace should be defined', () => { - expect(!!report.stackTrace.length).toBeTruthy(); + expect(!!report.stackTrace.main).toBeTruthy(); }); it('Error.type attribute should be set to Message', () => { @@ -21,15 +21,72 @@ describe('Backtrace report generation tests', () => { const testError = new Error('foo'); const report = new BacktraceReport(testError); it('Report message should be set', () => { - expect(report.message).toBe(testError.message); + expect(report.stackTrace.main.message).toBe(testError.message); }); it('Stack trace should be defined', () => { - expect(!!report.stackTrace.length).toBeTruthy(); + expect(!!report.stackTrace.main).toBeTruthy(); }); it('Error.type attribute should be set to Message', () => { expect(report.attributes['error.type']).toBe('Exception'); }); }); + + describe('addStackTrace', () => { + const name = 'test-stack-name'; + const stack = 'test-stack'; + const message = 'test-stack-message'; + let errorReport: BacktraceReport; + let messageReport: BacktraceReport; + + beforeEach(() => { + errorReport = new BacktraceReport(new Error('foo')); + messageReport = new BacktraceReport('test message'); + }); + + afterEach(() => { + errorReport = undefined as unknown as BacktraceReport; + messageReport = undefined as unknown as BacktraceReport; + }); + + it('Should add a stack trace', () => { + const expected = { + stack, + message, + }; + errorReport.addStackTrace(name, stack, message); + messageReport.addStackTrace(name, stack, message); + expect(errorReport.stackTrace[name]).toEqual(expect.objectContaining(expected)); + expect(messageReport.stackTrace[name]).toEqual(expect.objectContaining(expected)); + }); + + it('should default message to empty string', () => { + errorReport.addStackTrace(name, stack); + messageReport.addStackTrace(name, stack); + + expect(errorReport.stackTrace[name].message).toEqual(''); + expect(messageReport.stackTrace[name].message).toEqual(''); + }); + + it('should overwrite existing threads', () => { + const newStack = 'new-stack'; + const newMessage = 'new-message'; + + const expected = { + stack: newStack, + message: newMessage, + }; + + errorReport.addStackTrace(name, stack, message); + messageReport.addStackTrace(name, stack, message); + + // add new trace with same name + errorReport.addStackTrace(name, newStack, newMessage); + messageReport.addStackTrace(name, newStack, newMessage); + + expect(errorReport.stackTrace[name]).toEqual(expect.objectContaining(expected)); + expect(messageReport.stackTrace[name]).toEqual(expect.objectContaining(expected)); + }); + }); }); From 9a57e5d0b6576bdeeab49d0eeb90861f481fb345 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 4 Aug 2023 14:38:53 +0200 Subject: [PATCH 079/291] Breadcrumbs support (#52) * Breadcrumbs support * Code review adjustements * Move from array to overwriting array data structure * Return if array is empty --- .../browser/tests/client/clientTests.spec.ts | 3 + .../node/tests/client/clientTests.spec.ts | 3 + .../common/nodeOptionReaderTests.spec.ts | 2 +- packages/sdk-core/src/BacktraceCoreClient.ts | 17 +++ .../src/dataStructures/OverwritingArray.ts | 47 +++++++ .../OverwritingArrayIterator.ts | 31 ++++ packages/sdk-core/src/index.ts | 1 + .../configuration/BacktraceConfiguration.ts | 29 ++++ .../breadcrumbs/BacktraceBreadcrumbs.ts | 27 ++++ .../modules/breadcrumbs/BreadcrumbsManager.ts | 118 ++++++++++++++++ .../modules/breadcrumbs/BreadcrumbsSetup.ts | 7 + .../events/BreadcrurmbsEventSubscriber.ts | 14 ++ .../events/ConsoleEventSubscriber.ts | 44 ++++++ .../sdk-core/src/modules/breadcrumbs/index.ts | 7 + .../modules/breadcrumbs/model/Breadcrumb.ts | 10 ++ .../breadcrumbs/model/BreadcrumbLogLevel.ts | 9 ++ .../breadcrumbs/model/BreadcrumbType.ts | 11 ++ .../breadcrumbs/storage/BreadcrumbsStorage.ts | 25 ++++ .../storage/InMemoryBreadcrumbsStorage.ts | 57 ++++++++ .../breadcrumbsCreationTests.spec.ts | 78 ++++++++++ .../breadcrumbsFilteringOptionsTests.spec.ts | 133 ++++++++++++++++++ .../sdk-core/tests/client/clientTests.spec.ts | 21 ++- 22 files changed, 688 insertions(+), 6 deletions(-) create mode 100644 packages/sdk-core/src/dataStructures/OverwritingArray.ts create mode 100644 packages/sdk-core/src/dataStructures/OverwritingArrayIterator.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/index.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/model/Breadcrumb.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbLogLevel.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbType.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts create mode 100644 packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts create mode 100644 packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts create mode 100644 packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index 0606afe6..d01519cb 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -14,6 +14,9 @@ describe('Client tests', () => { metrics: { enable: false, }, + breadcrumbs: { + enable: false, + }, }; let client: BacktraceClient; diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index 36318377..0be09b4f 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -13,6 +13,9 @@ describe('Client tests', () => { metrics: { enable: false, }, + breadcrumbs: { + enable: false, + }, }; let client: BacktraceClient; it('Should create a client', () => { diff --git a/packages/node/tests/common/nodeOptionReaderTests.spec.ts b/packages/node/tests/common/nodeOptionReaderTests.spec.ts index dc6017a0..5d22779d 100644 --- a/packages/node/tests/common/nodeOptionReaderTests.spec.ts +++ b/packages/node/tests/common/nodeOptionReaderTests.spec.ts @@ -21,7 +21,7 @@ describe('Node options reader', () => { }); it('should read undefined if the option is not available', () => { - const value = NodeOptionReader.read('', ['']); + const value = NodeOptionReader.read('', [''], ''); expect(value).toBeUndefined(); }); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index d6ec9cca..5cc3623c 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -14,6 +14,8 @@ import { BacktraceRequestHandler } from './model/http/BacktraceRequestHandler'; import { BacktraceReport } from './model/report/BacktraceReport'; import { AttributeManager } from './modules/attribute/AttributeManager'; import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; +import { BacktraceBreadcrumbs, BreadcrumbsSetup } from './modules/breadcrumbs'; +import { BreadcrumbsManager } from './modules/breadcrumbs/BreadcrumbsManager'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; import { BacktraceMetrics } from './modules/metrics/BacktraceMetrics'; @@ -59,11 +61,16 @@ export abstract class BacktraceCoreClient { return this._metrics; } + public get breadcrumbs(): BacktraceBreadcrumbs | undefined { + return this.breadcrumbsManager; + } + /** * Client cached attachments */ public readonly attachments: BacktraceAttachment[]; + protected readonly breadcrumbsManager?: BreadcrumbsManager; private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; @@ -78,6 +85,7 @@ export abstract class BacktraceCoreClient { stackTraceConverter: BacktraceStackTraceConverter = new V8StackTraceConverter(), private readonly _sessionProvider: BacktraceSessionProvider = new SingleSessionProvider(), debugIdMapProvider?: DebugIdMapProvider, + breadcrumbsSetup?: BreadcrumbsSetup, ) { this._dataBuilder = new BacktraceDataBuilder( this._sdkOptions, @@ -102,6 +110,13 @@ export abstract class BacktraceCoreClient { this._metrics = metrics; this._metrics.start(); } + + if (options.breadcrumbs?.enable !== false) { + this.breadcrumbsManager = new BreadcrumbsManager(options?.breadcrumbs, breadcrumbsSetup); + this._attributeProvider.addProvider(this.breadcrumbsManager); + this.attachments.push(this.breadcrumbsManager.breadcrumbsStorage); + this.breadcrumbsManager.start(); + } } /** @@ -153,6 +168,8 @@ export abstract class BacktraceCoreClient { : new BacktraceReport(data, reportAttributes, [], { skipFrames: this.skipFrameOnMessage(data), }); + + this.breadcrumbsManager?.logReport(report); if (this.options.skipReport && this.options.skipReport(report)) { return; } diff --git a/packages/sdk-core/src/dataStructures/OverwritingArray.ts b/packages/sdk-core/src/dataStructures/OverwritingArray.ts new file mode 100644 index 00000000..d4589284 --- /dev/null +++ b/packages/sdk-core/src/dataStructures/OverwritingArray.ts @@ -0,0 +1,47 @@ +import { OverwritingArrayIterator } from './OverwritingArrayIterator'; + +export class OverwritingArray { + private _array: T[]; + private _index = 0; + private _size = 0; + private _startIndex = 0; + constructor(public readonly capacity: number) { + this._array = this.createArray(); + } + public add(value: T): this { + this._array[this._index] = value; + this._index = this.incrementIndex(this._index); + this._startIndex = this.incrementStartingIndex(); + this._size = this.incrementSize(); + return this; + } + + public clear(): void { + this._array = this.createArray(); + } + + public values(): IterableIterator { + return new OverwritingArrayIterator(this._array, this._startIndex, this._size); + } + + [Symbol.iterator](): IterableIterator { + return new OverwritingArrayIterator(this._array, this._startIndex, this._size); + } + + private incrementIndex(index: number) { + return (index + 1) % this.capacity; + } + + private incrementStartingIndex() { + if (this._size !== this.capacity) { + return this._startIndex; + } + return this.incrementIndex(this._startIndex); + } + private incrementSize() { + return Math.min(this.capacity, this._size + 1); + } + private createArray() { + return new Array(this.capacity); + } +} diff --git a/packages/sdk-core/src/dataStructures/OverwritingArrayIterator.ts b/packages/sdk-core/src/dataStructures/OverwritingArrayIterator.ts new file mode 100644 index 00000000..879656d8 --- /dev/null +++ b/packages/sdk-core/src/dataStructures/OverwritingArrayIterator.ts @@ -0,0 +1,31 @@ +export class OverwritingArrayIterator implements IterableIterator { + private _index?: number; + + constructor(private readonly _source: T[], private readonly _offset: number, private readonly _size: number) {} + + [Symbol.iterator](): IterableIterator { + return new OverwritingArrayIterator(this._source, this._offset, this._size); + } + next(): IteratorResult { + if (this._size === 0) { + return { + done: true, + value: undefined, + }; + } + if (this._index === undefined) { + this._index = 0; + } else if (this._index === this._size - 1) { + return { + done: true, + value: undefined, + }; + } else { + this._index++; + } + return { + done: false, + value: this._source[(this._index + this._offset) % this._size], + }; + } +} diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index a6d4b0fe..88409b13 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -9,6 +9,7 @@ export * from './model/http'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; export * from './modules/attribute/BacktraceAttributeProvider'; +export * from './modules/breadcrumbs'; export * from './modules/converter'; export * from './modules/metrics/BacktraceSessionProvider'; export * from './sourcemaps/index'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 8dd31aca..5f479b7c 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,3 +1,4 @@ +import { BreadcrumbLogLevel, BreadcrumbType } from '../../modules/breadcrumbs'; import { BacktraceAttachment } from '../attachment'; import { BacktraceData } from '../data/BacktraceData'; import { BacktraceReport } from '../report/BacktraceReport'; @@ -26,6 +27,29 @@ export interface BacktraceMetricsOptions { size?: number; } +export interface BacktraceBreadcrumbsSettings { + /** + * Determines if the breadcrumbs support is enabled. By default the value is set to true. + */ + enable?: boolean; + + /** + * Specifies which log level severity to include. By default all logs are included. + */ + logLevel?: BreadcrumbLogLevel; + + /** + * Specifies which breadcrumb type to include. By default all types are included. + */ + eventType?: BreadcrumbType; + + /** + * Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breacrumbs + * wil be stored. + */ + maximumBreadcrumbs?: number; +} + export interface BacktraceConfiguration { /** * The server address (submission URL) is required to submit exceptions from your project to your Backtrace instance. @@ -90,6 +114,11 @@ export interface BacktraceConfiguration { * Metrics such as crash free users and crash free sessions */ metrics?: BacktraceMetricsOptions; + + /** + * Breadcrumbs settings + */ + breadcrumbs?: BacktraceBreadcrumbsSettings; /** * Offline database settings */ diff --git a/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts b/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts new file mode 100644 index 00000000..40cfaaa8 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts @@ -0,0 +1,27 @@ +import { AttributeType } from '../../model/data/BacktraceData'; +import { BreadcrumbLogLevel } from './model/BreadcrumbLogLevel'; +import { BreadcrumbType } from './model/BreadcrumbType'; + +export interface BacktraceBreadcrumbs { + /** + * Breadcrumbs type + */ + readonly breadcrumbsType: BreadcrumbType; + + /** + * Breadcrumbs Log level + */ + readonly logLevel: BreadcrumbLogLevel; + + /** + * Dispose breadcrumbs integration + */ + dispose(): void; + + verbose(message: string, attributes?: Record): void; + debug(message: string, attributes?: Record): void; + info(message: string, attributes?: Record): void; + warn(message: string, attributes?: Record): void; + error(message: string, attributes?: Record): void; + log(message: string, level: BreadcrumbLogLevel, attributes?: Record): void; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts new file mode 100644 index 00000000..8aee22a6 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts @@ -0,0 +1,118 @@ +import { + BacktraceBreadcrumbs, + BreadcrumbLogLevel, + BreadcrumbType, + defaultBreadcrumbsLogLevel, + defaultBreadcurmbType, +} from '.'; +import { BacktraceBreadcrumbsSettings } from '../../model/configuration/BacktraceConfiguration'; +import { AttributeType } from '../../model/data/BacktraceData'; +import { BacktraceReport } from '../../model/report/BacktraceReport'; +import { BreadcrumbsSetup } from './BreadcrumbsSetup'; +import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; +import { ConsoleEventSubscriber } from './events/ConsoleEventSubscriber'; +import { BreadcrumbsStorage } from './storage/BreadcrumbsStorage'; +import { InMemoryBreadcrumbsStorage } from './storage/InMemoryBreadcrumbsStorage'; + +export class BreadcrumbsManager implements BacktraceBreadcrumbs { + /** + * Breadcrumbs type + */ + public readonly breadcrumbsType: BreadcrumbType; + + public readonly BREADCRUMB_ATTRIBUTE_NAME = 'breadcrumbs.lastId'; + + /** + * Breadcrumbs Log level + */ + public readonly logLevel: BreadcrumbLogLevel; + + get type(): 'scoped' | 'dynamic' { + return 'dynamic'; + } + + public readonly breadcrumbsStorage: BreadcrumbsStorage; + + /** + * Determines if the breadcrumb manager is enabled. + */ + private _enabled = true; + private readonly _eventSubscribers: BreadcrumbsEventSubscriber[] = [new ConsoleEventSubscriber()]; + + constructor(configuration?: BacktraceBreadcrumbsSettings, options?: BreadcrumbsSetup) { + this.breadcrumbsType = configuration?.eventType ?? defaultBreadcurmbType; + this.logLevel = configuration?.logLevel ?? defaultBreadcrumbsLogLevel; + this.breadcrumbsStorage = options?.storage ?? new InMemoryBreadcrumbsStorage(configuration?.maximumBreadcrumbs); + if (options?.subscribers) { + this._eventSubscribers.push(...options.subscribers); + } + } + + public dispose(): void { + this._enabled = false; + for (const subscriber of this._eventSubscribers) { + subscriber.dispose(); + } + } + + public get(): Record { + return { + [this.BREADCRUMB_ATTRIBUTE_NAME]: this.breadcrumbsStorage.lastBreadcrumbId, + }; + } + + public start() { + for (const subscriber of this._eventSubscribers) { + subscriber.start(this); + } + } + + public verbose(message: string, attributes?: Record | undefined): boolean { + return this.log(message, BreadcrumbLogLevel.Verbose, attributes); + } + public debug(message: string, attributes?: Record | undefined): boolean { + return this.log(message, BreadcrumbLogLevel.Debug, attributes); + } + public info(message: string, attributes?: Record | undefined): boolean { + return this.log(message, BreadcrumbLogLevel.Info, attributes); + } + public warn(message: string, attributes?: Record | undefined): boolean { + return this.log(message, BreadcrumbLogLevel.Warning, attributes); + } + public error(message: string, attributes?: Record | undefined): boolean { + return this.log(message, BreadcrumbLogLevel.Error, attributes); + } + public log( + message: string, + level: BreadcrumbLogLevel, + attributes?: Record | undefined, + ): boolean { + return this.addBreadcrumb(message, level, BreadcrumbType.Manual, attributes); + } + + public logReport(report: BacktraceReport) { + const level = report.data instanceof Error ? BreadcrumbLogLevel.Error : BreadcrumbLogLevel.Warning; + return this.addBreadcrumb(report.message, level, BreadcrumbType.System); + } + + public addBreadcrumb( + message: string, + level: BreadcrumbLogLevel, + type: BreadcrumbType, + attributes?: Record | undefined, + ): boolean { + if (!this._enabled) { + return false; + } + if ((this.logLevel & level) !== level) { + return false; + } + + if ((this.breadcrumbsType & type) !== type) { + return false; + } + + this.breadcrumbsStorage.add(message, level, type, attributes); + return true; + } +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts new file mode 100644 index 00000000..a300ebe0 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts @@ -0,0 +1,7 @@ +import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; +import { BreadcrumbsStorage } from './storage/BreadcrumbsStorage'; + +export interface BreadcrumbsSetup { + storage?: BreadcrumbsStorage; + subscribers?: BreadcrumbsEventSubscriber[]; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts new file mode 100644 index 00000000..5fdc31b3 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts @@ -0,0 +1,14 @@ +import { BreadcrumbsManager } from '../BreadcrumbsManager'; + +export interface BreadcrumbsEventSubscriber { + /** + * Set up breadcrumbs listener + * @param breadcrumbsManager breadcrumbs manager + */ + start(breadcrumbsManager: BreadcrumbsManager): void; + + /** + * Dispose all breadcrumbs events + */ + dispose(): void; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts new file mode 100644 index 00000000..f1e2eed4 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts @@ -0,0 +1,44 @@ +import { format } from 'util'; +import { BreadcrumbsManager } from '../BreadcrumbsManager'; +import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; +import { BreadcrumbType } from '../model/BreadcrumbType'; +import { BreadcrumbsEventSubscriber } from './BreadcrurmbsEventSubscriber'; + +type ConsoleMethod = (...args: unknown[]) => void; +export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { + /** + * All overriden console events + */ + private readonly _events: Record = {}; + + public start(breadcrumbsManager: BreadcrumbsManager): void { + this.bindToConsoleMethod('log', BreadcrumbLogLevel.Info, breadcrumbsManager); + this.bindToConsoleMethod('warn', BreadcrumbLogLevel.Warning, breadcrumbsManager); + this.bindToConsoleMethod('error', BreadcrumbLogLevel.Error, breadcrumbsManager); + this.bindToConsoleMethod('debug', BreadcrumbLogLevel.Debug, breadcrumbsManager); + this.bindToConsoleMethod('trace', BreadcrumbLogLevel.Verbose, breadcrumbsManager); + } + + public dispose(): void { + for (const key in this._events) { + const consoleMethod = this._events[key]; + (console[key as keyof Console] as ConsoleMethod) = consoleMethod; + } + } + + private bindToConsoleMethod( + name: keyof Console, + level: BreadcrumbLogLevel, + breadcrumbsManager: BreadcrumbsManager, + ) { + const originalMethod = console[name] as ConsoleMethod; + const defaultImplementation = originalMethod.bind(console); + + (console[name] as ConsoleMethod) = (...args: unknown[]) => { + defaultImplementation.apply(console, args); + const message = format(...args); + breadcrumbsManager.addBreadcrumb(message, level, BreadcrumbType.System); + }; + this._events[name] = originalMethod; + } +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/index.ts b/packages/sdk-core/src/modules/breadcrumbs/index.ts new file mode 100644 index 00000000..376dee6c --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/index.ts @@ -0,0 +1,7 @@ +export * from './BacktraceBreadcrumbs'; +export * from './BreadcrumbsManager'; +export * from './BreadcrumbsSetup'; +export * from './events/BreadcrurmbsEventSubscriber'; +export * from './model/BreadcrumbLogLevel'; +export * from './model/BreadcrumbType'; +export * from './storage/BreadcrumbsStorage'; diff --git a/packages/sdk-core/src/modules/breadcrumbs/model/Breadcrumb.ts b/packages/sdk-core/src/modules/breadcrumbs/model/Breadcrumb.ts new file mode 100644 index 00000000..70af3cd6 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/model/Breadcrumb.ts @@ -0,0 +1,10 @@ +import { AttributeType } from '../../../model/data/BacktraceData'; + +export interface Breadcrumb { + id: number; + message: string; + timestamp: number; + level: string; + type: string; + attributes?: Record; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbLogLevel.ts b/packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbLogLevel.ts new file mode 100644 index 00000000..e0f3cb59 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbLogLevel.ts @@ -0,0 +1,9 @@ +export enum BreadcrumbLogLevel { + Verbose = 1 << 0, + Debug = 1 << 1, + Info = 1 << 2, + Warning = 1 << 3, + Error = 1 << 4, +} + +export const defaultBreadcrumbsLogLevel = (1 << 5) - 1; diff --git a/packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbType.ts b/packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbType.ts new file mode 100644 index 00000000..9eed3f78 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/model/BreadcrumbType.ts @@ -0,0 +1,11 @@ +export enum BreadcrumbType { + Manual = 1 << 0, + Log = 1 << 1, + Navigation = 1 << 2, + Http = 1 << 3, + System = 1 << 4, + User = 1 << 5, + Configuration = 1 << 6, +} + +export const defaultBreadcurmbType: BreadcrumbType = (1 << 7) - 1; diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts new file mode 100644 index 00000000..da48af8b --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts @@ -0,0 +1,25 @@ +import { BacktraceAttachment } from '../../../model/attachment'; +import { AttributeType } from '../../../model/data/BacktraceData'; +import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; +import { BreadcrumbType } from '../model/BreadcrumbType'; + +export interface BreadcrumbsStorage extends BacktraceAttachment { + /** + * Id of the last breadcrumb added to the SDK + */ + get lastBreadcrumbId(): number; + + /** + * Adds breadcrumb to the storage + * @param message message + * @param level log level + * @param type type + * @param attributes attributes + */ + add( + message: string, + level: BreadcrumbLogLevel, + type: BreadcrumbType, + attributes?: Record, + ): number; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts new file mode 100644 index 00000000..483a913d --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts @@ -0,0 +1,57 @@ +import { TimeHelper } from '../../../common/TimeHelper'; +import { OverwritingArray } from '../../../dataStructures/OverwritingArray'; +import { AttributeType } from '../../../model/data/BacktraceData'; +import { Breadcrumb } from '../model/Breadcrumb'; +import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; +import { BreadcrumbType } from '../model/BreadcrumbType'; +import { BreadcrumbsStorage } from './BreadcrumbsStorage'; + +export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { + public get lastBreadcrumbId(): number { + return this._lastBreadcrumbId; + } + /** + * Breadcrumb name + */ + public readonly name: string = 'bt-breadcrumbs-0'; + + private _lastBreadcrumbId: number = TimeHelper.toTimestampInSec(TimeHelper.now()); + private _breadcrumbs: OverwritingArray; + + constructor(maximumBreadcrumbs = 100) { + this._breadcrumbs = new OverwritingArray(maximumBreadcrumbs); + } + + /** + * Returns breadcrumbs in the JSON format + * @returns Breadcrumbs JSON + */ + public get(): string { + return JSON.stringify([...this._breadcrumbs.values()]); + } + + public add( + message: string, + level: BreadcrumbLogLevel, + type: BreadcrumbType, + attributes?: Record | undefined, + ): number { + this._lastBreadcrumbId++; + const id = this._lastBreadcrumbId; + const breadcrumb: Breadcrumb = { + id, + message, + timestamp: TimeHelper.toTimestampInSec(TimeHelper.now()), + type: BreadcrumbType[type].toLowerCase(), + level: BreadcrumbLogLevel[level].toLowerCase(), + }; + + if (attributes) { + breadcrumb.attributes = attributes; + } + + this._breadcrumbs.add(breadcrumb); + + return id; + } +} diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts new file mode 100644 index 00000000..d64694b9 --- /dev/null +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts @@ -0,0 +1,78 @@ +import { BreadcrumbLogLevel, BreadcrumbType } from '../../lib/modules/breadcrumbs'; +import { BreadcrumbsManager } from '../../lib/modules/breadcrumbs/BreadcrumbsManager'; + +describe('Breadcrumbs creation tests', () => { + describe('Last breadcrumb id attribute should be equal to last bredcrumb id in the array', () => { + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.info('test'); + + const attributes = breadcrumbsManager.get(); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(breadcrumb.id).toEqual(attributes[breadcrumbsManager.BREADCRUMB_ATTRIBUTE_NAME]); + }); + + it('Each breadcrumb should have different id', () => { + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.info('test'); + breadcrumbsManager.info('test2'); + + const attachment = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(attachment[0].id).toBeLessThan(attachment[1].id); + }); + + it('Should update breadcrumb id every time after adding a breadcrumb', () => { + const breadcrumbsManager = new BreadcrumbsManager(); + + breadcrumbsManager.info('test'); + const attributes1 = breadcrumbsManager.get(); + breadcrumbsManager.info('test2'); + const attributes2 = breadcrumbsManager.get(); + + expect(attributes1[breadcrumbsManager.BREADCRUMB_ATTRIBUTE_NAME] as number).toBeLessThan( + attributes2[breadcrumbsManager.BREADCRUMB_ATTRIBUTE_NAME] as number, + ); + }); + + it('Should set expected breadcrumb message', () => { + const message = 'test'; + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.info(message); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(breadcrumb.message).toEqual(message); + }); + + it('Should set expected breadcrumb level', () => { + const message = 'test'; + const level = BreadcrumbLogLevel.Warning; + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.log(message, level); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(breadcrumb.level).toEqual(BreadcrumbLogLevel[level].toLowerCase()); + }); + + it('Should set expected breadcrumb type', () => { + const message = 'test'; + const level = BreadcrumbLogLevel.Warning; + const type = BreadcrumbType.Configuration; + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.addBreadcrumb(message, level, type); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(breadcrumb.type).toEqual(BreadcrumbType[type].toLowerCase()); + }); + + it('Should include attributes if they are available', () => { + const message = 'test'; + const level = BreadcrumbLogLevel.Warning; + const attributes = { foo: 'bar', baz: 1 }; + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.log(message, level, attributes); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(breadcrumb.attributes).toMatchObject(attributes); + }); +}); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts new file mode 100644 index 00000000..672de4b2 --- /dev/null +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts @@ -0,0 +1,133 @@ +import { BreadcrumbLogLevel, BreadcrumbType } from '../../lib/modules/breadcrumbs'; +import { BreadcrumbsManager } from '../../lib/modules/breadcrumbs/BreadcrumbsManager'; + +describe('Breadcrumbs filtering options tests', () => { + describe('Event type tests', () => { + it('Should filter out breadcrumbs based on the event type', () => { + const message = 'test'; + const breadcrumbsManager = new BreadcrumbsManager({ + eventType: BreadcrumbType.Configuration, + }); + + const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, BreadcrumbType.Http); + const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + expect(result).toBeFalsy(); + expect(breadcrumbs.length).toEqual(0); + }); + + it('Should allow to add a breadcrumb with allowed event type', () => { + const message = 'test'; + const allowedBreadcrumbType = BreadcrumbType.Configuration; + const breadcrumbsManager = new BreadcrumbsManager({ + eventType: allowedBreadcrumbType, + }); + + const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, allowedBreadcrumbType); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + expect(result).toBeTruthy(); + expect(breadcrumb.type).toEqual(BreadcrumbType[allowedBreadcrumbType].toLowerCase()); + }); + }); + + describe('Log level tests', () => { + it('Should filter out breadcrumbs based on the log level', () => { + const message = 'test'; + const breadcrumbsManager = new BreadcrumbsManager({ + logLevel: BreadcrumbLogLevel.Error, + }); + + const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, BreadcrumbType.Http); + const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + expect(result).toBeFalsy(); + expect(breadcrumbs.length).toEqual(0); + }); + + it('Should allow to add a breadcrumb with allowed log level', () => { + const message = 'test'; + const allowedLogLevel = BreadcrumbLogLevel.Debug; + const breadcrumbsManager = new BreadcrumbsManager({ + logLevel: allowedLogLevel, + }); + + const result = breadcrumbsManager.addBreadcrumb(message, allowedLogLevel, BreadcrumbType.Http); + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + expect(result).toBeTruthy(); + expect(breadcrumb.level).toEqual(BreadcrumbLogLevel[allowedLogLevel].toLowerCase()); + }); + + it('Should filter out warn breadcrumb if allowed log level is error or debug', () => { + const message = 'test'; + const allowedLogLevel = BreadcrumbLogLevel.Debug | BreadcrumbLogLevel.Error; + const breadcrumbsManager = new BreadcrumbsManager({ + logLevel: allowedLogLevel, + }); + + const result = breadcrumbsManager.warn(message); + expect(result).toBeFalsy(); + }); + + it('Should allow to store breadcrumb if user selected multiple log levels', () => { + const message = 'test'; + const allowedLogLevel = BreadcrumbLogLevel.Debug | BreadcrumbLogLevel.Error; + const breadcrumbsManager = new BreadcrumbsManager({ + logLevel: allowedLogLevel, + }); + + const result = breadcrumbsManager.error(message); + expect(result).toBeTruthy(); + }); + }); + + describe('Disabled breadcrumbs integration', () => { + it('Should not accept breadcrumbs after breadcrumbs dispose', () => { + const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.dispose(); + + const result = breadcrumbsManager.error('test'); + expect(result).toBeFalsy(); + }); + }); + + describe('Breadcrumbs overflow tests', () => { + it('Should always store maximum breadcrumbs', () => { + const maximumBreadcrumbs = 2; + const breadcrumbsManager = new BreadcrumbsManager({ + maximumBreadcrumbs, + }); + for (let index = 0; index < maximumBreadcrumbs; index++) { + breadcrumbsManager.error(index.toString()); + } + + const addResult = breadcrumbsManager.addBreadcrumb( + 'after free space', + BreadcrumbLogLevel.Debug, + BreadcrumbType.Configuration, + ); + const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(addResult).toBeTruthy(); + expect(breadcrumbs.length).toEqual(maximumBreadcrumbs); + }); + + it('Should drop the oldest event to free up the space for the new one', () => { + const maximumBreadcrumbs = 2; + const breadcrumbsManager = new BreadcrumbsManager({ + maximumBreadcrumbs, + }); + const expectedBreadcrumbMessage = 'after free space'; + for (let index = 0; index < maximumBreadcrumbs; index++) { + breadcrumbsManager.error(index.toString()); + } + + const addResult = breadcrumbsManager.addBreadcrumb( + expectedBreadcrumbMessage, + BreadcrumbLogLevel.Debug, + BreadcrumbType.Configuration, + ); + const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + + expect(addResult).toBeTruthy(); + expect(breadcrumbs[breadcrumbs.length - 1].message).toEqual(expectedBreadcrumbMessage); + }); + }); +}); diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index a2921d6d..a4cb0630 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -28,8 +28,11 @@ describe('Client tests', () => { }); describe('Attachment tests', () => { + const disabledBreadcrumbsConfiguration = { + breadcrumbs: { enable: false }, + }; it(`Should generate an empty attachment list`, async () => { - const client = BacktraceTestClient.buildFakeClient(); + const client = BacktraceTestClient.buildFakeClient(disabledBreadcrumbsConfiguration); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(0); @@ -43,7 +46,11 @@ describe('Client tests', () => { }, }; - const client = BacktraceTestClient.buildFakeClient({}, [], [inMemoryAttachment]); + const client = BacktraceTestClient.buildFakeClient( + disabledBreadcrumbsConfiguration, + [], + [inMemoryAttachment], + ); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(1); @@ -51,7 +58,7 @@ describe('Client tests', () => { }); it(`Should allow to add more attachments`, async () => { - const client = BacktraceTestClient.buildFakeClient(); + const client = BacktraceTestClient.buildFakeClient(disabledBreadcrumbsConfiguration); const inMemoryAttachment = { name: 'client-in-memory-test', get() { @@ -69,7 +76,7 @@ describe('Client tests', () => { it(`Should allow to use string attachment`, async () => { const expectedAttachmentContent = 'test'; const testedAttachment = new BacktraceStringAttachment('client-add-test', expectedAttachmentContent); - const client = BacktraceTestClient.buildFakeClient(); + const client = BacktraceTestClient.buildFakeClient(disabledBreadcrumbsConfiguration); client.attachments.push(testedAttachment); expect(client.attachments).toBeDefined(); @@ -90,7 +97,11 @@ describe('Client tests', () => { return new Uint8Array(0); }, }; - const client = BacktraceTestClient.buildFakeClient({}, [], [clientAttachment]); + const client = BacktraceTestClient.buildFakeClient( + disabledBreadcrumbsConfiguration, + [], + [clientAttachment], + ); await client.send(new Error(''), {}, [reportAttachment]); From bc1b9cd425d4b8eebada1833b5c5c3c0cc2f7353 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 4 Aug 2023 15:58:45 +0200 Subject: [PATCH 080/291] sourcemap tools: fix doesSourceMapHaveSources with undefined sources array (#53) Co-authored-by: Sebastian Alex --- tools/sourcemap-tools/src/SourceProcessor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 0d9e4ce2..1bdd201e 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -202,7 +202,7 @@ export class SourceProcessor { } public doesSourceMapHaveSources(sourceMap: RawSourceMap): boolean { - return sourceMap.sources.length === sourceMap.sourcesContent?.length; + return sourceMap.sources?.length === sourceMap.sourcesContent?.length; } private async offsetSourceMap( From 17a915169bf367277087121ee705d4a873a730d0 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 10:45:27 +0200 Subject: [PATCH 081/291] sourcemap tools: add common code for bundler plugins and CLI (#54) * sourcemap tools: fix doesSourceMapHaveSources with undefined sources array * sourcemap tools: add functions in AsyncResult * sourcemap tools: add common helpers from CLI to sourcemap-tools and use them * sourcemap tools: add some common functions and match functions * sourcemap tools: add common code for managing sourcemaps --------- Co-authored-by: Sebastian Alex --- tools/sourcemap-tools/src/SourceProcessor.ts | 81 +++++-------- .../src/commands/archiveSourceMaps.ts | 42 +++++++ tools/sourcemap-tools/src/commands/index.ts | 5 + .../commands/processAndUploadAssetsCommand.ts | 109 ++++++++++++++++++ .../src/commands/processAsset.ts | 13 +++ .../src/commands/uploadArchive.ts | 8 ++ .../src/commands/writeAsset.ts | 12 ++ tools/sourcemap-tools/src/helpers/common.ts | 86 ++++++++++++++ tools/sourcemap-tools/src/helpers/match.ts | 8 ++ tools/sourcemap-tools/src/index.ts | 5 + tools/sourcemap-tools/src/models/Asset.ts | 4 + .../sourcemap-tools/src/models/AsyncResult.ts | 27 +++-- .../src/models/ProcessAssetResult.ts | 12 ++ 13 files changed, 350 insertions(+), 62 deletions(-) create mode 100644 tools/sourcemap-tools/src/commands/archiveSourceMaps.ts create mode 100644 tools/sourcemap-tools/src/commands/index.ts create mode 100644 tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts create mode 100644 tools/sourcemap-tools/src/commands/processAsset.ts create mode 100644 tools/sourcemap-tools/src/commands/uploadArchive.ts create mode 100644 tools/sourcemap-tools/src/commands/writeAsset.ts create mode 100644 tools/sourcemap-tools/src/helpers/common.ts create mode 100644 tools/sourcemap-tools/src/helpers/match.ts create mode 100644 tools/sourcemap-tools/src/models/Asset.ts create mode 100644 tools/sourcemap-tools/src/models/ProcessAssetResult.ts diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 1bdd201e..4d21be90 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -1,10 +1,10 @@ -import fs from 'fs'; import path from 'path'; import { BasicSourceMapConsumer, Position, RawSourceMap, SourceMapConsumer, SourceMapGenerator } from 'source-map'; import { DebugIdGenerator } from './DebugIdGenerator'; +import { parseJSON, readFile } from './helpers/common'; import { appendBeforeWhitespaces } from './helpers/stringHelpers'; import { stringToUuid } from './helpers/stringToUuid'; -import { ResultPromise } from './models/AsyncResult'; +import { AsyncResult, ResultPromise } from './models/AsyncResult'; import { Err, Ok, Result } from './models/Result'; export interface ProcessResult { @@ -30,28 +30,13 @@ export class SourceProcessor { } public async isSourceFileProcessed(sourcePath: string): ResultPromise { - const readResult = await this.readFile(sourcePath); - if (readResult.isErr()) { - return readResult; - } - - return Ok(this.isSourceProcessed(readResult.data)); + return AsyncResult.equip(readFile(sourcePath)).then((v) => this.isSourceProcessed(v)).inner; } public async isSourceMapFileProcessed(sourceMapPath: string): ResultPromise { - const readResult = await this.readFile(sourceMapPath); - if (readResult.isErr()) { - return readResult; - } - - let sourcemap: RawSourceMap; - try { - sourcemap = JSON.parse(readResult.data) as RawSourceMap; - } catch (err) { - return Err('failed to parse sourcemap JSON'); - } - - return Ok(this.isSourceMapProcessed(sourcemap)); + return AsyncResult.equip(readFile(sourceMapPath)) + .then(parseJSON) + .then((v) => this.isSourceMapProcessed(v)).inner; } public getSourceMapDebugId(sourceMap: RawSourceMap): Result { @@ -64,24 +49,9 @@ export class SourceProcessor { } public async getSourceMapFileDebugId(sourceMapPath: string): ResultPromise { - const readResult = await this.readFile(sourceMapPath); - if (readResult.isErr()) { - return readResult; - } - - let sourcemap: RawSourceMap; - try { - sourcemap = JSON.parse(readResult.data) as RawSourceMap; - } catch (err) { - return Err('failed to parse sourcemap JSON'); - } - - const debugId = this._debugIdGenerator.getSourceMapDebugId(sourcemap); - if (!debugId) { - return Err('sourcemap does not have a debug ID'); - } - - return Ok(debugId); + return AsyncResult.equip(readFile(sourceMapPath)) + .then(parseJSON) + .then((sourceMap) => this.getSourceMapDebugId(sourceMap)).inner; } /** @@ -139,7 +109,7 @@ export class SourceProcessor { sourceMapPath?: string, debugId?: string, ): ResultPromise { - const sourceReadResult = await this.readFile(sourcePath); + const sourceReadResult = await readFile(sourcePath); if (sourceReadResult.isErr()) { return sourceReadResult; } @@ -154,7 +124,7 @@ export class SourceProcessor { sourceMapPath = path.resolve(path.dirname(sourcePath), match[1]); } - const sourceMapReadResult = await this.readFile(sourceMapPath); + const sourceMapReadResult = await readFile(sourceMapPath); if (sourceMapReadResult.isErr()) { return sourceMapReadResult; } @@ -178,7 +148,11 @@ export class SourceProcessor { sourceMapPath: string, ): ResultPromise { if (typeof sourceMap === 'string') { - sourceMap = JSON.parse(sourceMap) as RawSourceMap; + const parseResult = parseJSON(sourceMap); + if (parseResult.isErr()) { + return parseResult; + } + sourceMap = parseResult.data; } const sourceRoot = sourceMap.sourceRoot @@ -187,7 +161,7 @@ export class SourceProcessor { const sourcesContent: string[] = []; for (const sourcePath of sourceMap.sources) { - const readResult = await this.readFile(path.resolve(sourceRoot, sourcePath)); + const readResult = await readFile(path.resolve(sourceRoot, sourcePath)); if (readResult.isErr()) { return readResult; } @@ -210,8 +184,15 @@ export class SourceProcessor { fromLine: number, count: number, ): ResultPromise { - const sourceMapObj = typeof sourceMap === 'string' ? (JSON.parse(sourceMap) as RawSourceMap) : sourceMap; - const consumer = (await new SourceMapConsumer(sourceMapObj)) as BasicSourceMapConsumer; + if (typeof sourceMap === 'string') { + const parseResult = parseJSON(sourceMap); + if (parseResult.isErr()) { + return parseResult; + } + sourceMap = parseResult.data; + } + + const consumer = (await new SourceMapConsumer(sourceMap)) as BasicSourceMapConsumer; const newSourceMap = new SourceMapGenerator({ file: consumer.file, sourceRoot: consumer.sourceRoot, @@ -238,14 +219,6 @@ export class SourceProcessor { }); const newSourceMapJson = newSourceMap.toJSON(); - return Ok({ ...sourceMapObj, ...newSourceMapJson }); - } - - private async readFile(file: string): ResultPromise { - try { - return Ok(await fs.promises.readFile(file, 'utf-8')); - } catch (err) { - return Err(`failed to read file: ${err instanceof Error ? err.message : 'unknown error'}`); - } + return Ok({ ...sourceMap, ...newSourceMapJson }); } } diff --git a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts new file mode 100644 index 00000000..9e3b43d8 --- /dev/null +++ b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts @@ -0,0 +1,42 @@ +import fs from 'fs'; +import path from 'path'; +import { SourceProcessor } from '../SourceProcessor'; +import { ZipArchive } from '../ZipArchive'; +import { AsyncResult, ResultPromise } from '../models/AsyncResult'; +import { Ok, Result, flatMap } from '../models/Result'; + +export function archiveSourceMaps(sourceProcessor: SourceProcessor) { + return function archiveSourceMaps(sourceMaps: string[]) { + return AsyncResult.fromValue(sourceMaps) + .then(readDebugIds(sourceProcessor)) + .then(createArchive).inner; + }; +} + +function readDebugIds(sourceProcessor: SourceProcessor) { + return async function readDebugIds(files: string[]): Promise> { + return flatMap( + await Promise.all( + files.map( + (file) => + AsyncResult.equip(sourceProcessor.getSourceMapFileDebugId(file)).then( + (result) => [file, result] as const, + ).inner, + ), + ), + ); + }; +} + +async function createArchive(pathsToArchive: (readonly [string, string])[]): ResultPromise { + const archive = new ZipArchive(); + + for (const [filePath, debugId] of pathsToArchive) { + const fileName = path.basename(filePath); + const readStream = fs.createReadStream(filePath); + archive.append(`${debugId}-${fileName}`, readStream); + } + + await archive.finalize(); + return Ok(archive); +} diff --git a/tools/sourcemap-tools/src/commands/index.ts b/tools/sourcemap-tools/src/commands/index.ts new file mode 100644 index 00000000..9e39a874 --- /dev/null +++ b/tools/sourcemap-tools/src/commands/index.ts @@ -0,0 +1,5 @@ +export * from './archiveSourceMaps'; +export * from './processAndUploadAssetsCommand'; +export * from './processAsset'; +export * from './uploadArchive'; +export * from './writeAsset'; diff --git a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts new file mode 100644 index 00000000..4001ebb6 --- /dev/null +++ b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts @@ -0,0 +1,109 @@ +import { DebugIdGenerator } from '../DebugIdGenerator'; +import { SourceProcessor } from '../SourceProcessor'; +import { SymbolUploader, SymbolUploaderOptions, UploadResult } from '../SymbolUploader'; +import { ZipArchive } from '../ZipArchive'; +import { inspect, pass } from '../helpers/common'; +import { Asset } from '../models/Asset'; +import { AsyncResult } from '../models/AsyncResult'; +import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; +import { Result, flatMap, isErr } from '../models/Result'; +import { archiveSourceMaps } from './archiveSourceMaps'; +import { processAsset } from './processAsset'; +import { uploadArchive } from './uploadArchive'; +import { writeAsset } from './writeAsset'; + +export interface BacktracePluginOptions { + /** + * Upload URL for uploading sourcemap files. + * See Source Maps Integration Guide for your instance for more information. + * + * If not set, the sourcemaps will not be uploaded. The sources will be still processed and ready for manual upload. + */ + readonly uploadUrl?: string | URL; + + /** + * Additional upload options. + */ + readonly uploadOptions?: SymbolUploaderOptions; +} + +interface ProcessResult { + readonly assetResults: Result[]; + readonly uploadResult?: Result; +} + +export interface ProcessAndUploadAssetsCommandOptions { + beforeAll?(assets: Asset[]): unknown; + afterAll?(result: ProcessResult): unknown; + beforeProcess?(asset: Asset): unknown; + afterProcess?(asset: ProcessAssetResult): unknown; + beforeWrite?(asset: ProcessAssetResult): unknown; + afterWrite?(asset: ProcessAssetResult): unknown; + assetFinished?(asset: ProcessAssetResult): unknown; + beforeArchive?(paths: string[]): void; + afterArchive?(archive: ZipArchive): void; + beforeUpload?(archive: ZipArchive): void; + afterUpload?(result: UploadResult): void; + assetError?(error: ProcessAssetError): void; + uploadError?(error: string): void; +} + +export function processAndUploadAssetsCommand( + pluginOptions: BacktracePluginOptions, + options?: ProcessAndUploadAssetsCommandOptions, +) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const sourceMapUploader = pluginOptions?.uploadUrl + ? new SymbolUploader(pluginOptions.uploadUrl, pluginOptions.uploadOptions) + : undefined; + + const processCommand = processAsset(sourceProcessor); + const archiveCommand = archiveSourceMaps(sourceProcessor); + const uploadCommand = sourceMapUploader ? uploadArchive(sourceMapUploader) : undefined; + + return async function processAndUploadAssets(assets: Asset[]): Promise { + options?.beforeAll && options.beforeAll(assets); + + const assetResults = await Promise.all( + assets.map( + (asset) => + AsyncResult.fromValue(asset) + .then(options?.beforeProcess ? inspect(options.beforeProcess) : pass) + .then(processCommand) + .then(options?.afterProcess ? inspect(options.afterProcess) : pass) + .then(options?.beforeWrite ? inspect(options.beforeWrite) : pass) + .then(writeAsset) + .then(options?.afterWrite ? inspect(options.afterWrite) : pass) + .then(options?.assetFinished ? inspect(options.assetFinished) : pass) + .thenErr(options?.assetError ? inspect(options.assetError) : pass).inner, + ), + ); + + const assetsResult = flatMap(assetResults); + if (isErr(assetsResult)) { + const result: ProcessResult = { assetResults }; + options?.afterAll && options.afterAll(result); + return result; + } + + if (!uploadCommand) { + const result: ProcessResult = { assetResults }; + options?.afterAll && options.afterAll(result); + return result; + } + + const sourceMapPaths = assetsResult.data.map((r) => r.result.sourceMapPath); + const uploadResult = await AsyncResult.fromValue(sourceMapPaths) + .then(options?.beforeArchive ? inspect(options.beforeArchive) : pass) + .then(archiveCommand) + .then(options?.afterArchive ? inspect(options.afterArchive) : pass) + .then(options?.beforeUpload ? inspect(options.beforeUpload) : pass) + .then(uploadCommand) + .then(options?.afterUpload ? inspect(options.afterUpload) : pass) + .thenErr(options?.uploadError ? inspect(options.uploadError) : pass).inner; + + const result: ProcessResult = { assetResults, uploadResult }; + options?.afterAll && options.afterAll(result); + return result; + }; +} diff --git a/tools/sourcemap-tools/src/commands/processAsset.ts b/tools/sourcemap-tools/src/commands/processAsset.ts new file mode 100644 index 00000000..562f268c --- /dev/null +++ b/tools/sourcemap-tools/src/commands/processAsset.ts @@ -0,0 +1,13 @@ +import { SourceProcessor } from '../SourceProcessor'; +import { Asset } from '../models/Asset'; +import { AsyncResult } from '../models/AsyncResult'; +import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; +import { Result } from '../models/Result'; + +export function processAsset(sourceProcessor: SourceProcessor) { + return function processAsset(asset: Asset): Promise> { + return AsyncResult.equip(sourceProcessor.processSourceAndSourceMapFiles(asset.path)) + .then((result) => ({ asset, result })) + .thenErr((error) => ({ asset, error })).inner; + }; +} diff --git a/tools/sourcemap-tools/src/commands/uploadArchive.ts b/tools/sourcemap-tools/src/commands/uploadArchive.ts new file mode 100644 index 00000000..07bfe073 --- /dev/null +++ b/tools/sourcemap-tools/src/commands/uploadArchive.ts @@ -0,0 +1,8 @@ +import { SymbolUploader } from '../SymbolUploader'; +import { ZipArchive } from '../ZipArchive'; + +export function uploadArchive(symbolUploader: SymbolUploader) { + return function uploadArchive(archive: ZipArchive) { + return symbolUploader.uploadSymbol(archive); + }; +} diff --git a/tools/sourcemap-tools/src/commands/writeAsset.ts b/tools/sourcemap-tools/src/commands/writeAsset.ts new file mode 100644 index 00000000..9c044de4 --- /dev/null +++ b/tools/sourcemap-tools/src/commands/writeAsset.ts @@ -0,0 +1,12 @@ +import { writeFile } from '../helpers/common'; +import { AsyncResult } from '../models/AsyncResult'; +import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; + +export function writeAsset(result: ProcessAssetResult) { + const { source, sourcePath: path, sourceMap, sourceMapPath } = result.result; + + return AsyncResult.equip(writeFile([source, path])) + .then(() => writeFile([JSON.stringify(sourceMap), sourceMapPath])) + .then(() => result) + .thenErr((error) => ({ asset: result.asset, error })).inner; +} diff --git a/tools/sourcemap-tools/src/helpers/common.ts b/tools/sourcemap-tools/src/helpers/common.ts new file mode 100644 index 00000000..4fbab1ed --- /dev/null +++ b/tools/sourcemap-tools/src/helpers/common.ts @@ -0,0 +1,86 @@ +import fs from 'fs'; +import { Readable } from 'stream'; +import { Logger, LogLevel } from '../Logger'; +import { ResultPromise } from '../models/AsyncResult'; +import { Err, Ok, Result } from '../models/Result'; + +export type ContentFile = readonly [content: string, path: string]; +export type StreamFile = readonly [stream: Readable, path: string]; + +export async function readFile(file: string): ResultPromise { + try { + return Ok(await fs.promises.readFile(file, 'utf-8')); + } catch (err) { + return Err(`failed to read file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export async function writeFile(file: ContentFile) { + const [content, path] = file; + try { + await fs.promises.writeFile(path, content); + return Ok(file); + } catch (err) { + return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export async function writeStream(file: StreamFile) { + const [stream, path] = file; + try { + const output = fs.createWriteStream(path); + stream.pipe(output); + return new Promise>((resolve) => { + output.on('error', (err) => { + resolve(Err(`failed to write file: ${err.message}`)); + }); + + output.on('finish', () => resolve(Ok(file))); + }); + } catch (err) { + return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export function parseJSON(content: string): Result { + try { + return Ok(JSON.parse(content)); + } catch (err) { + return Err(`failed to parse content: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export function pass(t: T): T { + return t; +} + +export function failIfEmpty(error: E) { + return function failIfEmpty(t: T[]): Result { + return t.length ? Ok(t) : Err(error); + }; +} + +export function map(fn: (t: T) => B) { + return function map(t: T[]) { + return t.map(fn); + }; +} + +export function filter(fn: (t: T) => boolean) { + return function filter(t: T[]) { + return t.filter(fn); + }; +} + +export function log(logger: Logger, level: LogLevel) { + return function log(message: string | ((t: T) => string)) { + return inspect((t) => logger[level](typeof message === 'function' ? message(t) : message)); + }; +} + +export function inspect(fn: (t: T) => unknown) { + return function inspect(t: T): T { + fn(t); + return t; + }; +} diff --git a/tools/sourcemap-tools/src/helpers/match.ts b/tools/sourcemap-tools/src/helpers/match.ts new file mode 100644 index 00000000..b1403cf1 --- /dev/null +++ b/tools/sourcemap-tools/src/helpers/match.ts @@ -0,0 +1,8 @@ +function testString(regex: RegExp) { + return function test(str: string) { + return regex.test(str); + }; +} + +export const matchSourceExtension = testString(/\.(c|m)?jsx?$/); +export const matchSourceMapExtension = testString(/\.(c|m)?jsx?\.map$/); diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 8c861e3b..1210897a 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -4,5 +4,10 @@ export * from './Logger'; export * from './SourceProcessor'; export * from './SymbolUploader'; export * from './ZipArchive'; +export * from './commands'; +export * from './helpers/common'; +export * from './helpers/match'; +export * from './models/Asset'; export * from './models/AsyncResult'; +export * from './models/ProcessAssetResult'; export * from './models/Result'; diff --git a/tools/sourcemap-tools/src/models/Asset.ts b/tools/sourcemap-tools/src/models/Asset.ts new file mode 100644 index 00000000..d209d19a --- /dev/null +++ b/tools/sourcemap-tools/src/models/Asset.ts @@ -0,0 +1,4 @@ +export interface Asset { + readonly name: string; + readonly path: string; +} diff --git a/tools/sourcemap-tools/src/models/AsyncResult.ts b/tools/sourcemap-tools/src/models/AsyncResult.ts index b81f593a..4b6be11e 100644 --- a/tools/sourcemap-tools/src/models/AsyncResult.ts +++ b/tools/sourcemap-tools/src/models/AsyncResult.ts @@ -1,4 +1,4 @@ -import { Result, ResultErr, ResultOk, flatMap, wrapErr, wrapOk } from './Result'; +import { Ok, Result, ResultErr, ResultOk, flatMap, wrapErr, wrapOk } from './Result'; export type ResultPromise = Promise>; @@ -24,8 +24,19 @@ export class AsyncResult { return new AsyncResult(new Promise((resolve) => resolve(fnResult))); } + public static fromValue(value: T) { + return new AsyncResult(new Promise((resolve) => resolve(Ok(value)))); + } + public then( - transform: (data: T) => Result[] | Promise[]> | Promise>[], + transform: ( + data: T, + ) => + | Result + | Result[] + | Promise> + | Promise[]> + | Promise>[], ): AsyncResult; public then(transform: (data: T) => Result | Promise>): AsyncResult; public then(transform: (data: T) => N | Promise): AsyncResult; @@ -33,11 +44,11 @@ export class AsyncResult { transform: ( data: T, ) => - | Result - | Promise> - | Promise>[] - | Result[] - | Promise[]> + | Result + | Promise[]> + | Promise>[] + | Result[] + | Promise> | N | Promise, ): AsyncResult { @@ -72,7 +83,7 @@ export class AsyncResult { public thenErr(transform: (data: E) => Promise): AsyncResult; public thenErr(transform: (data: E) => N): AsyncResult; public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult; - public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult { + public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult { return new AsyncResult( this._promise.then((result) => { if (!result.isErr()) { diff --git a/tools/sourcemap-tools/src/models/ProcessAssetResult.ts b/tools/sourcemap-tools/src/models/ProcessAssetResult.ts new file mode 100644 index 00000000..30c59543 --- /dev/null +++ b/tools/sourcemap-tools/src/models/ProcessAssetResult.ts @@ -0,0 +1,12 @@ +import { ProcessResultWithPaths } from '../SourceProcessor'; +import { Asset } from './Asset'; + +export interface ProcessAssetResult { + readonly asset: Asset; + readonly result: ProcessResultWithPaths; +} + +export interface ProcessAssetError { + readonly asset: Asset; + readonly error: string; +} From 394cc50f13e1d5bfb21521cad742fd5948fabca3 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 11:00:13 +0200 Subject: [PATCH 082/291] cli: use common sourcemap tools code in CLI and add logging (#55) * cli: use helper functions from sourcemap-tools * cli: refactor commands to add more debugging and clarity --------- Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 69 ----------- tools/cli/src/helpers/find.ts | 9 +- tools/cli/src/helpers/logs.ts | 17 +++ tools/cli/src/sourcemaps/add-sources.ts | 152 +++++++++++++++++------- tools/cli/src/sourcemaps/process.ts | 117 +++++++++++------- tools/cli/src/sourcemaps/upload.ts | 146 ++++++++++++++--------- 6 files changed, 288 insertions(+), 222 deletions(-) delete mode 100644 tools/cli/src/helpers/common.ts create mode 100644 tools/cli/src/helpers/logs.ts diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts deleted file mode 100644 index 687da6c9..00000000 --- a/tools/cli/src/helpers/common.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Err, Ok, Result, ResultPromise } from '@backtrace/sourcemap-tools'; -import fs from 'fs'; -import { Readable } from 'stream'; - -export type ContentFile = readonly [content: string, path: string]; -export type StreamFile = readonly [stream: Readable, path: string]; - -export async function readFile(file: string): ResultPromise { - try { - return Ok(await fs.promises.readFile(file, 'utf-8')); - } catch (err) { - return Err(`failed to read file: ${err instanceof Error ? err.message : 'unknown error'}`); - } -} - -export async function writeFile(file: ContentFile) { - const [content, path] = file; - try { - await fs.promises.writeFile(path, content); - return Ok(file); - } catch (err) { - return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); - } -} - -export async function writeStream(file: StreamFile) { - const [stream, path] = file; - try { - const output = fs.createWriteStream(path); - stream.pipe(output); - return new Promise>((resolve) => { - output.on('error', (err) => { - resolve(Err(`failed to write file: ${err.message}`)); - }); - - output.on('finish', () => resolve(Ok(file))); - }); - } catch (err) { - return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); - } -} - -export function parseJSON(content: string): Result { - try { - return Ok(JSON.parse(content)); - } catch (err) { - return Err(`failed to parse content: ${err instanceof Error ? err.message : 'unknown error'}`); - } -} - -export function pass(t: T): T { - return t; -} - -export function passOk(t: T): Result { - return Ok(t); -} - -export function failIfEmpty(error: E) { - return function failIfEmpty(t: T[]): Result { - return t.length ? Ok(t) : Err(error); - }; -} - -export function map(fn: (t: T) => B) { - return function map(t: T[]) { - return t.map(fn); - }; -} diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index a7fdcd9c..5f0befa6 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -1,4 +1,4 @@ -import { Err, FileFinder, Ok, ResultPromise } from '@backtrace/sourcemap-tools'; +import { FileFinder, Ok, ResultPromise } from '@backtrace/sourcemap-tools'; import fs from 'fs'; import { glob } from 'glob'; import path from 'path'; @@ -9,7 +9,7 @@ import path from 'path'; * @param paths Paths to search in. * @returns Result with file paths. */ -export async function find(regex: RegExp, ...paths: string[]): ResultPromise { +export async function find(...paths: string[]): ResultPromise { const finder = new FileFinder(); const results = new Map(); @@ -18,9 +18,6 @@ export async function find(regex: RegExp, ...paths: string[]): ResultPromise(message: string | ((t: T) => string)) { + return function logAsset(asset: T) { + return logFn( + (t) => + `${'name' in t ? t.name : t.asset.name}: ${ + typeof message === 'function' ? message(asset) : message + }`, + )(asset); + }; + }; +} diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index b560fc56..35f059ff 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -1,8 +1,23 @@ -import { AsyncResult, DebugIdGenerator, Err, SourceProcessor, flatMap } from '@backtrace/sourcemap-tools'; +import { + Asset, + AsyncResult, + DebugIdGenerator, + Err, + Ok, + SourceProcessor, + failIfEmpty, + filter, + log, + map, + matchSourceMapExtension, + parseJSON, + readFile, + writeFile, +} from '@backtrace/sourcemap-tools'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; -import { ContentFile, failIfEmpty, map, parseJSON, pass, passOk, readFile, writeFile } from '../helpers/common'; import { find } from '../helpers/find'; +import { logAsset } from '../helpers/logs'; import { CliLogger, createLogger } from '../logger'; interface AddSourcesOptions extends GlobalOptions { @@ -13,7 +28,13 @@ interface AddSourcesOptions extends GlobalOptions { readonly 'pass-with-no-files': boolean; } -type ObjectFile = readonly [object, string]; +interface AssetWithContent extends Asset { + readonly content: string; +} + +interface AssetWithSourceMap extends Asset { + readonly sourceMap: object; +} export const addSourcesCmd = new Command({ name: 'add-sources', @@ -57,62 +78,103 @@ export const addSourcesCmd = new Command({ return Err('path must be specified'); } - return AsyncResult.equip(find(/\.(c|m)?jsx?\.map$/, ...searchPaths)) - .then(readFiles) - .then(loadFiles) - .then(opts.force ? pass : filterFiles(sourceProcessor)) - .then(opts['pass-with-no-files'] ? passOk : failIfEmpty('no valid sourcemaps found')) - .then(map(addSource(sourceProcessor))) - .then(opts['dry-run'] ? passOk : writeSourceMaps) - .then(output(logger)) - .then(() => 0).inner; - }); + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'debug'); + const logTraceAsset = logAsset(logger, 'trace'); -async function readFiles(paths: string[]) { - return Promise.all( - paths.map((f) => AsyncResult.equip(readFile(f)).then((content) => [content, f] as ContentFile).inner), - ); -} + const readAssetCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then((asset) => readFile(asset.path)) + .then((content) => ({ ...asset, content })) + .thenErr((error) => `${asset.name}: ${error}`).inner; -function loadFiles(files: ContentFile[]) { - return files.map(([content, path]) => parseJSON(content).map((c) => [c, path] as ObjectFile)); -} + const loadAssetCommand = (asset: AssetWithContent) => + AsyncResult.fromValue(asset) + .then(({ content }) => parseJSON(content)) + .then((sourceMap) => ({ ...asset, sourceMap })) + .thenErr((error) => `${asset.name}: ${error}`).inner; -function filterFiles(sourceProcessor: SourceProcessor) { - return function filterFiles(files: ObjectFile[]) { - return files.filter(filterSourceMapWithoutSource(sourceProcessor)); - }; + const doesSourceMapHaveSourcesCommand = (asset: AssetWithSourceMap) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('checking if sourcemap has sources')) + .then(doesSourceMapHaveSources(sourceProcessor)) + .then( + logDebug( + ({ asset, result }) => + `${asset.name}: ` + (result ? 'sourcemap has sources' : 'sourcemap does not have sources'), + ), + ) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const filterAssetsCommand = (assets: AssetWithSourceMap[]) => + AsyncResult.fromValue(assets) + .then(map(doesSourceMapHaveSourcesCommand)) + .then(filter((f) => !f.result)) + .then(map((f) => f.asset)).inner; + + const addSourceCommand = (asset: AssetWithSourceMap) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('adding source')) + .then(addSource(sourceProcessor)) + .then(logDebugAsset('source added')) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const writeSourceMapCommand = (asset: AssetWithSourceMap) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('writing sourcemap')) + .then(writeSourceMap) + .then(logDebugAsset('sourcemap written')) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + return AsyncResult.equip(find(...searchPaths)) + .then(logDebug((r) => `found ${r.length} files`)) + .then(map(logTrace((path) => `found file: ${path}`))) + .then(filter(matchSourceMapExtension)) + .then(logDebug((r) => `found ${r.length} files matching sourcemap extension`)) + .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(map(toAsset)) + .then(map(readAssetCommand)) + .then(map(loadAssetCommand)) + .then(opts.force ? Ok : filterAssetsCommand) + .then(logDebug((r) => `adding sources to ${r.length} files`)) + .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no valid sourcemaps found')) + .then(map(addSourceCommand)) + .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)) + .then(map(output(logger))) + .then(() => 0).inner; + }); + +function toAsset(file: string): Asset { + return { name: file, path: file }; } -function filterSourceMapWithoutSource(sourceProcessor: SourceProcessor) { - return function filterSourceMapWithoutSource(sourceMap: ObjectFile): boolean { - return !sourceProcessor.doesSourceMapHaveSources(sourceMap[0] as never); +function doesSourceMapHaveSources(sourceProcessor: SourceProcessor) { + return function doesSourceMapHaveSources(asset: AssetWithSourceMap) { + return { + asset, + result: sourceProcessor.doesSourceMapHaveSources(asset.sourceMap as never), + }; }; } function addSource(sourceProcessor: SourceProcessor) { - return function addSource([sourceMapObj, sourceMapPath]: ObjectFile) { - return AsyncResult.equip(sourceProcessor.addSourcesToSourceMap(sourceMapObj as never, sourceMapPath)).then( - (newSourceMap) => [newSourceMap, sourceMapPath] as const, - ).inner; + return function addSource(asset: AssetWithSourceMap) { + return AsyncResult.equip( + sourceProcessor.addSourcesToSourceMap(asset.sourceMap as never, asset.path), + ).then((newSourceMap) => ({ ...asset, sourceMap: newSourceMap })).inner; }; } -async function writeSourceMaps(file: ObjectFile[]) { - return flatMap(await Promise.all(file.map(writeSourceMap))); -} - -function writeSourceMap(file: ObjectFile) { - const [sourceMapObj, sourceMapPath] = file; - return AsyncResult.equip(writeFile([JSON.stringify(sourceMapObj), sourceMapPath])).then(() => file).inner; +function writeSourceMap(asset: AssetWithSourceMap) { + const { sourceMap, path } = asset; + return AsyncResult.equip(writeFile([JSON.stringify(sourceMap), path])).then(() => asset).inner; } function output(logger: CliLogger) { - return function output(files: ObjectFile[]) { - for (const [, file] of files) { - logger.output(file); - } - - return files; + return function output(asset: AssetWithSourceMap) { + logger.output(asset.path); + return asset; }; } diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 207fc890..e6333772 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -1,16 +1,24 @@ import { + Asset, AsyncResult, DebugIdGenerator, Err, - ProcessResultWithPaths, - Result, + Ok, + ProcessAssetError, + ProcessAssetResult, SourceProcessor, - flatMap, + failIfEmpty, + filter, + log, + map, + matchSourceExtension, + processAsset, + writeAsset, } from '@backtrace/sourcemap-tools'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; -import { failIfEmpty, passOk, writeFile } from '../helpers/common'; import { find } from '../helpers/find'; +import { logAsset } from '../helpers/logs'; import { CliLogger, createLogger } from '../logger'; interface ProcessOptions extends GlobalOptions { @@ -62,54 +70,75 @@ export const processCmd = new Command({ return Err('path must be specified'); } - return AsyncResult.equip(find(/\.(c|m)?jsx?$/, ...searchPaths)) - .then(opts.force ? passOk : filterUnprocessedFiles(sourceProcessor)) - .then(opts['pass-with-no-files'] ? passOk : failIfEmpty('no files for processing found')) - .then(processFiles(sourceProcessor)) - .then(opts['dry-run'] ? passOk : writeResults) - .then(output(logger)) + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'debug'); + const logTraceAsset = logAsset(logger, 'trace'); + + const isAssetProcessedCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('checking if asset is processed')) + .then(isAssetProcessed(sourceProcessor)) + .then( + logDebug( + ({ asset, result }) => + `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), + ), + ) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const filterUnprocessedAssetsCommand = (assets: Asset[]) => + AsyncResult.fromValue(assets) + .then(map(isAssetProcessedCommand)) + .then(filter((f) => !f.result)) + .then(map((f) => f.asset)).inner; + + const processCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('processing file')) + .then(processAsset(sourceProcessor)) + .then(logDebugAsset('file processed')) + .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; + + const writeCommand = (result: ProcessAssetResult) => + AsyncResult.fromValue(result) + .then(logTraceAsset('writing file')) + .then(writeAsset) + .then(logDebugAsset('file written')) + .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; + + return AsyncResult.equip(find(...searchPaths)) + .then(logDebug((r) => `found ${r.length} files`)) + .then(map(logTrace((path) => `found file: ${path}`))) + .then(filter(matchSourceExtension)) + .then(logDebug((r) => `found ${r.length} files matching source extension`)) + .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(map(toAsset)) + .then(opts.force ? Ok : filterUnprocessedAssetsCommand) + .then(logDebug((r) => `processing ${r.length} files`)) + .then(map(logTrace(({ path }) => `file to process: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no files for processing found')) + .then(map(processCommand)) + .then(opts['dry-run'] ? Ok : map(writeCommand)) + .then(map(output(logger))) .then(() => 0).inner; }); -function filterUnprocessedFiles(sourceProcessor: SourceProcessor) { - return async function filterUnprocessedFiles(files: string[]): Promise> { - return flatMap( - await Promise.all( - files.map( - (file) => - AsyncResult.equip(sourceProcessor.isSourceFileProcessed(file)).then( - (result) => [file, result] as const, - ).inner, - ), - ), - ).map((results) => results.filter(([, result]) => !result).map(([file]) => file)); - }; +function toAsset(file: string): Asset { + return { name: file, path: file }; } -function processFiles(sourceProcessor: SourceProcessor) { - return async function processFiles(pathsToProcess: string[]) { - return flatMap( - await Promise.all(pathsToProcess.map((file) => sourceProcessor.processSourceAndSourceMapFiles(file))), - ); +function isAssetProcessed(sourceProcessor: SourceProcessor) { + return function isAssetProcessed(asset: Asset) { + return AsyncResult.equip(sourceProcessor.isSourceFileProcessed(asset.path)).then( + (result) => ({ asset, result } as const), + ).inner; }; } -async function writeResults(results: ProcessResultWithPaths[]) { - return flatMap(await Promise.all(results.map(writeResult))); -} - -function writeResult(result: ProcessResultWithPaths) { - return AsyncResult.equip(writeFile([result.source, result.sourcePath])) - .then(() => writeFile([JSON.stringify(result.sourceMap), result.sourceMapPath])) - .then(() => result).inner; -} - function output(logger: CliLogger) { - return function output(files: ProcessResultWithPaths[]) { - for (const { sourcePath } of files) { - logger.output(sourcePath); - } - - return files; + return function output(result: ProcessAssetResult) { + logger.output(result.result.sourcePath); + return result; }; } diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 23a586e6..a0439c9d 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -1,23 +1,28 @@ import { + Asset, AsyncResult, DebugIdGenerator, Err, Ok, - Result, ResultPromise, SourceProcessor, SymbolUploader, UploadResult, ZipArchive, - flatMap, + archiveSourceMaps, + failIfEmpty, + filter, + log, + map, + matchSourceMapExtension, + uploadArchive, + writeStream, } from '@backtrace/sourcemap-tools'; -import fs from 'fs'; -import path from 'path'; import { Readable } from 'stream'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; -import { failIfEmpty, passOk, writeStream } from '../helpers/common'; import { find } from '../helpers/find'; +import { logAsset } from '../helpers/logs'; import { CliLogger, createLogger } from '../logger'; interface UploadOptions extends GlobalOptions { @@ -31,6 +36,10 @@ interface UploadOptions extends GlobalOptions { readonly output: string; } +interface AssetWithDebugId extends Asset { + readonly debugId: string; +} + export const uploadCmd = new Command({ name: 'upload', description: 'Uploading of sourcemaps to Backtrace', @@ -107,74 +116,95 @@ export const uploadCmd = new Command({ return Err('upload URL is required.'); } - const processArchive = outputPath - ? saveArchive(outputPath) + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logTraceAsset = logAsset(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'debug'); + + const isAssetProcessedCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('checking if asset is processed')) + .then(isAssetProcessed(sourceProcessor)) + .then( + logDebug( + ({ asset, result }) => + `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), + ), + ) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const filterProcessedAssetsCommand = (assets: Asset[]) => + AsyncResult.fromValue(assets) + .then(map(isAssetProcessedCommand)) + .then(filter((f) => f.result)) + .then(map((f) => f.asset)).inner; + + const readDebugIdCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('reading debug ID')) + .then(readDebugId(sourceProcessor)) + .then(logDebugAsset((res) => `read debug ID: ${res.debugId}`)) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const createArchiveCommand = (assets: Asset[]) => + AsyncResult.fromValue(assets) + .then(logTrace('creating archive')) + .then((assets) => archiveSourceMaps(sourceProcessor)(assets.map((a) => a.path))) + .then(logDebug('archive created')).inner; + + const saveArchiveCommand = outputPath + ? (archive: ZipArchive) => + AsyncResult.fromValue(archive) + .then(logTrace(`saving archive to ${outputPath}`)) + .then(saveArchive(outputPath)) + .then(logDebug(`saved archive to ${outputPath}`)).inner : uploadUrl - ? uploadArchive(new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false })) + ? (archive: ZipArchive) => + AsyncResult.fromValue(archive) + .then(logTrace(`uploading archive to ${uploadUrl}`)) + .then(uploadArchive(new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false }))) + .then(logDebug(`archive uploaded to ${uploadUrl}`)).inner : undefined; - if (!processArchive) { + if (!saveArchiveCommand) { throw new Error('processArchive function should be defined'); } - return AsyncResult.equip(find(/\.(c|m)?jsx?\.map$/, ...searchPaths)) - .then(opts.force ? passOk : filterProcessedFiles(sourceProcessor)) - .then(readDebugIds(sourceProcessor)) - .then(opts['pass-with-no-files'] ? passOk : failIfEmpty('no files for uploading found')) - .then(createArchiveForUpload) - .then((archive) => (opts['dry-run'] ? Ok(null) : processArchive(archive))) + return AsyncResult.equip(find(...searchPaths)) + .then(logDebug((r) => `found ${r.length} files`)) + .then(map(logTrace((path) => `found file: ${path}`))) + .then(filter(matchSourceMapExtension)) + .then(logDebug((r) => `found ${r.length} files matching sourcemap extension`)) + .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(map(toAsset)) + .then(opts.force ? Ok : filterProcessedAssetsCommand) + .then(map(readDebugIdCommand)) + .then(logDebug((r) => `uploading ${r.length} files`)) + .then(map(logTrace(({ path }) => `file to upload: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no files for uploading found')) + .then(createArchiveCommand) + .then((archive) => (opts['dry-run'] ? Ok(null) : saveArchiveCommand(archive))) .then(output(logger)) .then(() => 0).inner; }); -function filterProcessedFiles(sourceProcessor: SourceProcessor) { - return async function filterProcessedFiles(files: string[]): Promise> { - return flatMap( - await Promise.all( - files.map( - (file) => - AsyncResult.equip(sourceProcessor.isSourceMapFileProcessed(file)).then( - (result) => [file, result] as const, - ).inner, - ), - ), - ).map((results) => results.filter(([, result]) => result).map(([file]) => file)); - }; +function toAsset(file: string): Asset { + return { name: file, path: file }; } -function readDebugIds(sourceProcessor: SourceProcessor) { - return async function readDebugIds(files: string[]): Promise> { - return flatMap( - await Promise.all( - files.map( - (file) => - AsyncResult.equip(sourceProcessor.getSourceMapFileDebugId(file)).then( - (result) => [file, result] as const, - ).inner, - ), - ), - ); +function isAssetProcessed(sourceProcessor: SourceProcessor) { + return function isAssetProcessed(asset: Asset) { + return AsyncResult.equip(sourceProcessor.isSourceMapFileProcessed(asset.path)).then( + (result) => ({ asset, result } as const), + ).inner; }; } -async function createArchiveForUpload( - pathsToArchive: (readonly [string, string])[], -): ResultPromise { - const archive = new ZipArchive(); - - for (const [filePath, debugId] of pathsToArchive) { - const fileName = path.basename(filePath); - const readStream = fs.createReadStream(filePath); - archive.append(`${debugId}-${fileName}`, readStream); - } - - await archive.finalize(); - return Ok(archive); -} - -function uploadArchive(symbolUploader: SymbolUploader) { - return async function uploadArchive(stream: Readable): ResultPromise { - return await symbolUploader.uploadSymbol(stream); +function readDebugId(sourceProcessor: SourceProcessor) { + return async function readDebugId(asset: Asset): ResultPromise { + return AsyncResult.equip(sourceProcessor.getSourceMapFileDebugId(asset.path)).then( + (debugId) => ({ ...asset, debugId }), + ).inner; }; } From e27ee95816d5ef485719246e02f61ff6e1547af0 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 11:00:31 +0200 Subject: [PATCH 083/291] webpack plugin: update plugin to use common code (#56) * sourcemap tools: fix doesSourceMapHaveSources with undefined sources array * sourcemap tools: add functions in AsyncResult * sourcemap tools: add common helpers from CLI to sourcemap-tools and use them * sourcemap tools: add some common functions and match functions * sourcemap tools: add common code for managing sourcemaps * webpack: update plugin to use common code --------- Co-authored-by: Sebastian Alex --- tools/webpack-plugin/src/BacktracePlugin.ts | 129 +++----------------- 1 file changed, 19 insertions(+), 110 deletions(-) diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index cea651d8..4deb58c4 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -1,132 +1,41 @@ -import { DebugIdGenerator, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace/sourcemap-tools'; -import fs from 'fs'; +import { Asset, matchSourceExtension, processAndUploadAssetsCommand } from '@backtrace/sourcemap-tools'; import path from 'path'; import webpack, { WebpackPluginInstance } from 'webpack'; import { BacktracePluginOptions } from './models/BacktracePluginOptions'; export class BacktracePlugin implements WebpackPluginInstance { - private readonly _sourceProcessor: SourceProcessor; - private readonly _sourceMapUploader?: SymbolUploader; - - constructor(public readonly options?: BacktracePluginOptions) { - this._sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - this._sourceMapUploader = options?.uploadUrl - ? new SymbolUploader(options.uploadUrl, options.uploadOptions) - : undefined; - } + constructor(public readonly options?: BacktracePluginOptions) {} public apply(compiler: webpack.Compiler) { - const processResults = new Map(); - let uploadResult: string | Error | undefined; - compiler.hooks.afterEmit.tapPromise(BacktracePlugin.name, async (compilation) => { const logger = compilation.getLogger(BacktracePlugin.name); - if (!compilation.outputOptions.path) { + const outputDir = compilation.outputOptions.path; + if (!outputDir) { logger.error( 'Skipping everything because outputOptions.path is not set. If you see this error, please report this to Backtrace.', ); return; } - const entries: [string, string, string][] = []; - - for (const asset in compilation.assets) { - if (!asset.match(/\.(c|m)?jsx?$/)) { - logger.debug(`[${asset}] skipping processing, extension does not match`); - continue; - } - - const map = asset + '.map'; - if (!compilation.assets[map]) { - logger.debug(`[${asset}] skipping processing, map file not found`); - continue; - } - - const assetPath = path.join(compilation.outputOptions.path, asset); - const sourceMapPath = path.join(compilation.outputOptions.path, map); - - logger.debug(`adding asset ${assetPath} with sourcemap ${sourceMapPath}`); - entries.push([asset, assetPath, sourceMapPath]); - } - - logger.log(`received ${entries.length} files for processing`); - - for (const [asset, sourcePath, sourceMapPath] of entries) { - let debugId: string; + const processAndUpload = processAndUploadAssetsCommand(this.options ?? {}, { + beforeAll: (assets) => logger.log(`processing ${assets.length} files`), - logger.time(`[${asset}] process source and sourcemap`); - try { - const result = await this._sourceProcessor.processSourceAndSourceMapFiles( - sourcePath, - sourceMapPath, - ); + afterProcess: (asset) => logger.log(`[${asset.asset.name}] processed source and sourcemap`), + afterWrite: (asset) => logger.log(`[${asset.asset.name}] wrote source and sourcemap to file`), + assetFinished: (asset) => logger.info(`[${asset.asset.name}] asset processed successfully`), + assetError: (asset) => logger.error(`[${asset.asset.name}] ${asset.error}`), - if (result.isErr()) { - logger.error(`[${asset}] process source and sourcemap failed:`, result.data); - processResults.set(asset, new Error(result.data)); - continue; - } + beforeArchive: (paths) => logger.log(`creating archive to upload from ${paths.length} files`), + beforeUpload: () => logger.log(`uploading sourcemaps...`), + afterUpload: (result) => logger.info(`sourcemaps uploaded to Backtrace: ${result.rxid}`), + uploadError: (error) => logger.error(`failed to upload sourcemaps: ${error}`), + }); - debugId = result.data.debugId; - await fs.promises.writeFile(sourcePath, result.data.source, 'utf8'); - await fs.promises.writeFile(sourceMapPath, JSON.stringify(result.data.sourceMap), 'utf8'); + const assets = Object.keys(compilation.assets) + .filter(matchSourceExtension) + .map((asset) => ({ name: asset, path: path.join(outputDir, asset) })); - processResults.set(asset, debugId); - } catch (err) { - logger.error(`[${asset}] process source and sourcemap failed:`, err); - processResults.set(asset, err instanceof Error ? err : new Error('Unknown error.')); - continue; - } finally { - logger.timeEnd(`[${asset}] process source and sourcemap`); - } - } - - if (this._sourceMapUploader) { - logger.time(`upload sourcemaps`); - try { - const archive = new ZipArchive(); - const request = this._sourceMapUploader.uploadSymbol(archive); - - for (const [asset, _, sourceMapPath] of entries) { - const stream = fs.createReadStream(sourceMapPath); - archive.append(`${asset}.map`, stream); - } - - await archive.finalize(); - const result = await request; - if (result.isErr()) { - logger.error(`upload sourcemaps failed:`, result.data); - uploadResult = new Error(result.data); - } else { - uploadResult = result.data.rxid; - } - } catch (err) { - logger.error(`upload sourcemaps failed:`, err); - uploadResult = err instanceof Error ? err : new Error('Unknown error.'); - } finally { - logger.timeEnd(`upload sourcemaps`); - } - } - - for (const [key, result] of processResults) { - if (typeof result === 'string') { - logger.info(`[${key}] processed file successfully`); - logger.debug(`\tdebugId: ${result}`); - } else { - logger.error(`[${key}] failed to process file: ${result.message}`); - logger.debug(`Error stack trace: ${result.stack}`); - } - } - - if (uploadResult) { - if (typeof uploadResult === 'string') { - logger.info(`uploaded sourcemaps successfully`); - logger.debug(`\trxid: ${uploadResult}`); - } else { - logger.error(`failed to upload sourcemaps: ${uploadResult.message}`); - logger.debug(`Error stack trace: ${uploadResult.stack}`); - } - } + await processAndUpload(assets); }); } } From e59c0d4ad763c35638bb8964400218bf1fc8ee34 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 11:00:45 +0200 Subject: [PATCH 084/291] rollup: add rollup plugin (#57) * sourcemap tools: fix doesSourceMapHaveSources with undefined sources array * sourcemap tools: add functions in AsyncResult * sourcemap tools: add common helpers from CLI to sourcemap-tools and use them * sourcemap tools: add some common functions and match functions * sourcemap tools: add common code for managing sourcemaps * rollup plugin: add initial project * rollup plugin: add plugin based on Webpack plugin --------- Co-authored-by: Sebastian Alex --- package-lock.json | 239 +++++++++++++++++++++++ tools/rollup-plugin/.gitignore | 2 + tools/rollup-plugin/LICENSE | 21 ++ tools/rollup-plugin/package.json | 53 +++++ tools/rollup-plugin/rollup.config.js | 13 ++ tools/rollup-plugin/src/index.ts | 45 +++++ tools/rollup-plugin/tsconfig.build.json | 8 + tools/rollup-plugin/tsconfig.json | 8 + tools/rollup-plugin/tsconfig.rollup.json | 8 + 9 files changed, 397 insertions(+) create mode 100644 tools/rollup-plugin/.gitignore create mode 100644 tools/rollup-plugin/LICENSE create mode 100644 tools/rollup-plugin/package.json create mode 100644 tools/rollup-plugin/rollup.config.js create mode 100644 tools/rollup-plugin/src/index.ts create mode 100644 tools/rollup-plugin/tsconfig.build.json create mode 100644 tools/rollup-plugin/tsconfig.json create mode 100644 tools/rollup-plugin/tsconfig.rollup.json diff --git a/package-lock.json b/package-lock.json index 1dfdf991..799d604a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -642,6 +642,10 @@ "resolved": "packages/react", "link": true }, + "node_modules/@backtrace/rollup-plugin": { + "resolved": "tools/rollup-plugin", + "link": true + }, "node_modules/@backtrace/sdk-core": { "resolved": "packages/sdk-core", "link": true @@ -1259,6 +1263,54 @@ "node": ">=14" } }, + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@sinclair/typebox": { "version": "0.25.24", "dev": true, @@ -2624,6 +2676,16 @@ "node": ">=8" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/bl": { "version": "4.1.0", "license": "MIT", @@ -4646,6 +4708,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "dev": true, @@ -4999,6 +5067,13 @@ "node": ">=4" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -5276,6 +5351,19 @@ "version": "1.0.0", "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "dev": true, @@ -7498,6 +7586,13 @@ "dev": true, "license": "MIT" }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, "node_modules/nanomatch": { "version": "1.2.13", "dev": true, @@ -8642,6 +8737,22 @@ "inherits": "^2.0.1" } }, + "node_modules/rollup": { + "version": "3.26.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", + "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "dev": true, @@ -10470,6 +10581,25 @@ "node": ">=0.10.0" } }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", "dev": true, @@ -11674,6 +11804,27 @@ "node": ">=14" } }, + "tools/rollup-plugin": { + "name": "@backtrace/rollup-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "^3.26.3" + } + }, "tools/sourcemap-tools": { "name": "@backtrace/sourcemap-tools", "version": "0.0.1", @@ -12174,6 +12325,17 @@ "typescript": "^5.0.4" } }, + "@backtrace/rollup-plugin": { + "version": "file:tools/rollup-plugin", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@rollup/plugin-typescript": "*", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, "@backtrace/sdk-core": { "version": "file:packages/sdk-core", "requires": { @@ -12628,6 +12790,27 @@ "version": "0.11.0", "optional": true }, + "@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" + } + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, "@sinclair/typebox": { "version": "0.25.24", "dev": true @@ -13571,6 +13754,16 @@ "dev": true, "optional": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bl": { "version": "4.1.0", "requires": { @@ -14988,6 +15181,12 @@ "estraverse": { "version": "4.3.0" }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "esutils": { "version": "2.0.3", "dev": true @@ -15240,6 +15439,13 @@ "version": "5.2.0", "dev": true }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-range": { "version": "7.0.1", "dev": true, @@ -15424,6 +15630,12 @@ "fs.realpath": { "version": "1.0.0" }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, "function-bind": { "version": "1.1.1", "dev": true @@ -16850,6 +17062,13 @@ "version": "2.1.2", "dev": true }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, "nanomatch": { "version": "1.2.13", "dev": true, @@ -17594,6 +17813,15 @@ "inherits": "^2.0.1" } }, + "rollup": { + "version": "3.26.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", + "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", + "peer": true, + "requires": { + "fsevents": "~2.3.2" + } + }, "run-parallel": { "version": "1.2.0", "dev": true, @@ -18797,6 +19025,17 @@ } } }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, "glob-parent": { "version": "3.1.0", "dev": true, diff --git a/tools/rollup-plugin/.gitignore b/tools/rollup-plugin/.gitignore new file mode 100644 index 00000000..b73829a6 --- /dev/null +++ b/tools/rollup-plugin/.gitignore @@ -0,0 +1,2 @@ +.rollup.cache +rollupBuild/ diff --git a/tools/rollup-plugin/LICENSE b/tools/rollup-plugin/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/tools/rollup-plugin/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json new file mode 100644 index 00000000..af83423b --- /dev/null +++ b/tools/rollup-plugin/package.json @@ -0,0 +1,53 @@ +{ + "name": "@backtrace/rollup-plugin", + "version": "0.0.1", + "description": "Backtrace Rollup plugin", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc -b ./tsconfig.build.json", + "build:rollup": "rollup --config rollup.config.js", + "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -b ./tsconfig.build.json -w" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Source maps", + "Sourcemaps", + "Rollup" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "peerDependencies": { + "rollup": "^3.26.3" + } +} diff --git a/tools/rollup-plugin/rollup.config.js b/tools/rollup-plugin/rollup.config.js new file mode 100644 index 00000000..b7262f68 --- /dev/null +++ b/tools/rollup-plugin/rollup.config.js @@ -0,0 +1,13 @@ +const typescript = require('@rollup/plugin-typescript'); +const { BacktracePlugin } = require('./lib'); + +module.exports = { + input: 'src/index.ts', + output: { + dir: 'rollupBuild', + format: 'cjs', + sourcemap: true, + }, + plugins: [typescript({ tsconfig: './tsconfig.rollup.json' }), BacktracePlugin()], + external: ['@backtrace/sourcemap-tools', 'fs', 'path'], +}; diff --git a/tools/rollup-plugin/src/index.ts b/tools/rollup-plugin/src/index.ts new file mode 100644 index 00000000..c9ec0e6b --- /dev/null +++ b/tools/rollup-plugin/src/index.ts @@ -0,0 +1,45 @@ +import { + Asset, + BacktracePluginOptions, + matchSourceExtension, + processAndUploadAssetsCommand, +} from '@backtrace/sourcemap-tools'; +import path from 'path'; +import { LogLevel, Plugin } from 'rollup'; + +export function BacktracePlugin(options?: BacktracePluginOptions): Plugin { + return { + name: 'backtrace', + async writeBundle(outputOptions, bundle) { + const logWithPrefix = (level: LogLevel) => (message: string) => this[level](`Backtrace: ${message}`); + const info = logWithPrefix('info'); + const debug = logWithPrefix('debug'); + + const processAndUpload = processAndUploadAssetsCommand(options ?? {}, { + beforeAll: (assets) => info(`processing ${assets.length} files`), + + afterProcess: (asset) => debug(`[${asset.asset.name}] processed source and sourcemap`), + afterWrite: (asset) => debug(`[${asset.asset.name}] wrote source and sourcemap to file`), + assetFinished: (asset) => info(`[${asset.asset.name}] asset processed successfully`), + assetError: (asset) => this.warn(`[${asset.asset.name}] ${asset.error}`), + + beforeArchive: (paths) => this.debug(`creating archive to upload from ${paths.length} files`), + beforeUpload: () => info(`uploading sourcemaps...`), + afterUpload: (result) => info(`sourcemaps uploaded to Backtrace: ${result.rxid}`), + uploadError: (error) => this.warn(`failed to upload sourcemaps: ${error}`), + }); + + const outputDir = outputOptions.dir; + if (!outputDir) { + this.warn('output dir not set, cannot continue'); + return; + } + + const assets = Object.keys(bundle) + .filter(matchSourceExtension) + .map((asset) => ({ name: asset, path: path.join(outputDir, asset) })); + + await processAndUpload(assets); + }, + }; +} diff --git a/tools/rollup-plugin/tsconfig.build.json b/tools/rollup-plugin/tsconfig.build.json new file mode 100644 index 00000000..7993723f --- /dev/null +++ b/tools/rollup-plugin/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/tools/rollup-plugin/tsconfig.json b/tools/rollup-plugin/tsconfig.json new file mode 100644 index 00000000..eb7bf768 --- /dev/null +++ b/tools/rollup-plugin/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "references": [ + { + "path": "../sourcemap-tools/tsconfig.json" + } + ] +} diff --git a/tools/rollup-plugin/tsconfig.rollup.json b/tools/rollup-plugin/tsconfig.rollup.json new file mode 100644 index 00000000..3df93f6b --- /dev/null +++ b/tools/rollup-plugin/tsconfig.rollup.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "./", + "outDir": "./rollupBuild" + }, + "exclude": ["node_modules", "tests", "lib"] +} From 871c27ba6420cd2e826a91672615e27561746634 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 11:25:41 +0200 Subject: [PATCH 085/291] sourcemap tools: add stripping of sourceContent by default (#58) * sourcemap tools: add stripping of sourceContent by default * cli: fix build error temporarily * webpack plugin: use common BacktracePluginOptions * update package-lock.json * workflows: use npm@8 with node 14.x --------- Co-authored-by: Sebastian Alex --- .github/workflows/test.yml | 2 +- package-lock.json | 7 ++- tools/cli/src/sourcemaps/upload.ts | 2 +- .../src/commands/archiveSourceMaps.ts | 38 ++++++-------- tools/sourcemap-tools/src/commands/index.ts | 1 + .../src/commands/loadSourceMaps.ts | 21 ++++++++ .../commands/processAndUploadAssetsCommand.ts | 50 +++++++++++++++---- tools/sourcemap-tools/src/index.ts | 1 + tools/sourcemap-tools/src/models/Asset.ts | 8 +++ tools/webpack-plugin/src/BacktracePlugin.ts | 8 ++- tools/webpack-plugin/src/index.ts | 1 - .../src/models/BacktracePluginOptions.ts | 16 ------ 12 files changed, 99 insertions(+), 56 deletions(-) create mode 100644 tools/sourcemap-tools/src/commands/loadSourceMaps.ts delete mode 100644 tools/webpack-plugin/src/models/BacktracePluginOptions.ts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8e717f02..59a997e0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - run: npm i -g npm@7 + - run: npm i -g npm@8 - run: npm ci - run: npm run build - run: npm run lint diff --git a/package-lock.json b/package-lock.json index 799d604a..7dc772f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11796,6 +11796,9 @@ "command-line-usage": "^7.0.1", "glob": "^10.3.3" }, + "bin": { + "backtrace-js": "lib/index.js" + }, "devDependencies": { "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2" @@ -12296,7 +12299,7 @@ "@types/command-line-usage": "^5.0.2", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "*" + "glob": "^10.3.3" } }, "@backtrace/node": { @@ -12329,7 +12332,7 @@ "version": "file:tools/rollup-plugin", "requires": { "@backtrace/sourcemap-tools": "^0.0.1", - "@rollup/plugin-typescript": "*", + "@rollup/plugin-typescript": "^11.1.2", "@types/jest": "^29.5.1", "jest": "^29.5.0", "ts-jest": "^29.1.0", diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index a0439c9d..2f774d7e 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -149,7 +149,7 @@ export const uploadCmd = new Command({ const createArchiveCommand = (assets: Asset[]) => AsyncResult.fromValue(assets) .then(logTrace('creating archive')) - .then((assets) => archiveSourceMaps(sourceProcessor)(assets.map((a) => a.path))) + .then((assets) => archiveSourceMaps(sourceProcessor)(assets as never)) // TODO: Fix this .then(logDebug('archive created')).inner; const saveArchiveCommand = outputPath diff --git a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts index 9e3b43d8..f5f1cb57 100644 --- a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts +++ b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts @@ -1,40 +1,34 @@ -import fs from 'fs'; import path from 'path'; +import { RawSourceMap } from 'source-map'; import { SourceProcessor } from '../SourceProcessor'; import { ZipArchive } from '../ZipArchive'; +import { map } from '../helpers/common'; +import { AssetWithContent, AssetWithDebugId } from '../models/Asset'; import { AsyncResult, ResultPromise } from '../models/AsyncResult'; -import { Ok, Result, flatMap } from '../models/Result'; +import { Ok, Result } from '../models/Result'; + +type AssetWithDebugIdAndSourceMap = AssetWithContent & AssetWithDebugId; export function archiveSourceMaps(sourceProcessor: SourceProcessor) { - return function archiveSourceMaps(sourceMaps: string[]) { - return AsyncResult.fromValue(sourceMaps) - .then(readDebugIds(sourceProcessor)) + return function archiveSourceMaps(sourceMaps: AssetWithContent[]) { + return AsyncResult.fromValue[], string>(sourceMaps) + .then(map(readDebugId(sourceProcessor))) .then(createArchive).inner; }; } -function readDebugIds(sourceProcessor: SourceProcessor) { - return async function readDebugIds(files: string[]): Promise> { - return flatMap( - await Promise.all( - files.map( - (file) => - AsyncResult.equip(sourceProcessor.getSourceMapFileDebugId(file)).then( - (result) => [file, result] as const, - ).inner, - ), - ), - ); +export function readDebugId(sourceProcessor: SourceProcessor) { + return function readDebugId(asset: AssetWithContent): Result { + return sourceProcessor.getSourceMapDebugId(asset.content).map((debugId) => ({ ...asset, debugId })); }; } -async function createArchive(pathsToArchive: (readonly [string, string])[]): ResultPromise { +export async function createArchive(assets: AssetWithDebugIdAndSourceMap[]): ResultPromise { const archive = new ZipArchive(); - for (const [filePath, debugId] of pathsToArchive) { - const fileName = path.basename(filePath); - const readStream = fs.createReadStream(filePath); - archive.append(`${debugId}-${fileName}`, readStream); + for (const asset of assets) { + const fileName = path.basename(asset.name); + archive.append(`${asset.debugId}-${fileName}`, JSON.stringify(asset.content)); } await archive.finalize(); diff --git a/tools/sourcemap-tools/src/commands/index.ts b/tools/sourcemap-tools/src/commands/index.ts index 9e39a874..c1189dd2 100644 --- a/tools/sourcemap-tools/src/commands/index.ts +++ b/tools/sourcemap-tools/src/commands/index.ts @@ -1,4 +1,5 @@ export * from './archiveSourceMaps'; +export * from './loadSourceMaps'; export * from './processAndUploadAssetsCommand'; export * from './processAsset'; export * from './uploadArchive'; diff --git a/tools/sourcemap-tools/src/commands/loadSourceMaps.ts b/tools/sourcemap-tools/src/commands/loadSourceMaps.ts new file mode 100644 index 00000000..2a75ff58 --- /dev/null +++ b/tools/sourcemap-tools/src/commands/loadSourceMaps.ts @@ -0,0 +1,21 @@ +import { RawSourceMap } from 'source-map'; +import { parseJSON, readFile } from '../helpers/common'; +import { Asset, AssetWithContent } from '../models/Asset'; +import { AsyncResult } from '../models/AsyncResult'; + +export function loadSourceMap(asset: Asset) { + return AsyncResult.fromValue(asset.path) + .then(readFile) + .then(parseJSON) + .then>((content) => ({ ...asset, content })).inner; +} + +export function stripSourcesContent(asset: AssetWithContent): AssetWithContent { + return { + ...asset, + content: { + ...asset.content, + sourcesContent: undefined, + }, + }; +} diff --git a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts index 4001ebb6..85925a14 100644 --- a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts +++ b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts @@ -1,17 +1,27 @@ +import { RawSourceMap } from 'source-map'; import { DebugIdGenerator } from '../DebugIdGenerator'; import { SourceProcessor } from '../SourceProcessor'; import { SymbolUploader, SymbolUploaderOptions, UploadResult } from '../SymbolUploader'; import { ZipArchive } from '../ZipArchive'; -import { inspect, pass } from '../helpers/common'; -import { Asset } from '../models/Asset'; +import { inspect, map, pass } from '../helpers/common'; +import { Asset, AssetWithContent } from '../models/Asset'; import { AsyncResult } from '../models/AsyncResult'; import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; import { Result, flatMap, isErr } from '../models/Result'; import { archiveSourceMaps } from './archiveSourceMaps'; +import { loadSourceMap, stripSourcesContent } from './loadSourceMaps'; import { processAsset } from './processAsset'; import { uploadArchive } from './uploadArchive'; import { writeAsset } from './writeAsset'; +interface BacktracePluginUploadOptions { + /** + * By default, `sourcesContent` in sourcemaps will not be uploaded to Backtrace, even if available in the sourcemap. + * Set this to `true` to upload sourcemaps with `sourcesContent` if available. + */ + readonly includeSources: boolean; +} + export interface BacktracePluginOptions { /** * Upload URL for uploading sourcemap files. @@ -24,7 +34,7 @@ export interface BacktracePluginOptions { /** * Additional upload options. */ - readonly uploadOptions?: SymbolUploaderOptions; + readonly uploadOptions?: SymbolUploaderOptions & BacktracePluginUploadOptions; } interface ProcessResult { @@ -40,12 +50,14 @@ export interface ProcessAndUploadAssetsCommandOptions { beforeWrite?(asset: ProcessAssetResult): unknown; afterWrite?(asset: ProcessAssetResult): unknown; assetFinished?(asset: ProcessAssetResult): unknown; - beforeArchive?(paths: string[]): void; - afterArchive?(archive: ZipArchive): void; - beforeUpload?(archive: ZipArchive): void; - afterUpload?(result: UploadResult): void; - assetError?(error: ProcessAssetError): void; - uploadError?(error: string): void; + beforeLoad?(asset: Asset): unknown; + afterLoad?(asset: AssetWithContent): unknown; + beforeArchive?(assets: AssetWithContent[]): unknown; + afterArchive?(archive: ZipArchive): unknown; + beforeUpload?(archive: ZipArchive): unknown; + afterUpload?(result: UploadResult): unknown; + assetError?(error: ProcessAssetError): unknown; + uploadError?(error: string): unknown; } export function processAndUploadAssetsCommand( @@ -92,8 +104,24 @@ export function processAndUploadAssetsCommand( return result; } - const sourceMapPaths = assetsResult.data.map((r) => r.result.sourceMapPath); - const uploadResult = await AsyncResult.fromValue(sourceMapPaths) + const sourceMapAssets = assetsResult.data.map((r) => ({ + name: r.asset.name, + path: r.result.sourceMapPath, + })); + + const includeSources = pluginOptions?.uploadOptions?.includeSources; + + const uploadResult = await AsyncResult.fromValue(sourceMapAssets) + .then( + map( + (asset) => + AsyncResult.fromValue(asset) + .then(options?.beforeLoad ? inspect(options?.beforeLoad) : pass) + .then(loadSourceMap) + .then(options?.afterLoad ? inspect(options?.afterLoad) : pass) + .then(includeSources ? pass : stripSourcesContent).inner, + ), + ) .then(options?.beforeArchive ? inspect(options.beforeArchive) : pass) .then(archiveCommand) .then(options?.afterArchive ? inspect(options.afterArchive) : pass) diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 1210897a..0249b37c 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,3 +1,4 @@ +export { RawSourceMap } from 'source-map'; export * from './DebugIdGenerator'; export * from './FileFinder'; export * from './Logger'; diff --git a/tools/sourcemap-tools/src/models/Asset.ts b/tools/sourcemap-tools/src/models/Asset.ts index d209d19a..97c3ad3f 100644 --- a/tools/sourcemap-tools/src/models/Asset.ts +++ b/tools/sourcemap-tools/src/models/Asset.ts @@ -2,3 +2,11 @@ export interface Asset { readonly name: string; readonly path: string; } + +export interface AssetWithContent extends Asset { + readonly content: T; +} + +export interface AssetWithDebugId extends Asset { + readonly debugId: string; +} diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 4deb58c4..a6699ee9 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -1,7 +1,11 @@ -import { Asset, matchSourceExtension, processAndUploadAssetsCommand } from '@backtrace/sourcemap-tools'; +import { + Asset, + BacktracePluginOptions, + matchSourceExtension, + processAndUploadAssetsCommand, +} from '@backtrace/sourcemap-tools'; import path from 'path'; import webpack, { WebpackPluginInstance } from 'webpack'; -import { BacktracePluginOptions } from './models/BacktracePluginOptions'; export class BacktracePlugin implements WebpackPluginInstance { constructor(public readonly options?: BacktracePluginOptions) {} diff --git a/tools/webpack-plugin/src/index.ts b/tools/webpack-plugin/src/index.ts index 127704fa..995f0b8d 100644 --- a/tools/webpack-plugin/src/index.ts +++ b/tools/webpack-plugin/src/index.ts @@ -1,4 +1,3 @@ import { BacktracePlugin } from './BacktracePlugin'; -export { BacktracePluginOptions } from './models/BacktracePluginOptions'; export { BacktracePlugin }; export default BacktracePlugin; diff --git a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts b/tools/webpack-plugin/src/models/BacktracePluginOptions.ts deleted file mode 100644 index a0e7641f..00000000 --- a/tools/webpack-plugin/src/models/BacktracePluginOptions.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SymbolUploaderOptions } from '@backtrace/sourcemap-tools'; - -export interface BacktracePluginOptions { - /** - * Upload URL for uploading sourcemap files. - * See Source Maps Integration Guide for your instance for more information. - * - * If not set, the sourcemaps will not be uploaded. The sources will be still processed and ready for manual upload. - */ - uploadUrl?: string | URL; - - /** - * Additional upload options. - */ - uploadOptions?: SymbolUploaderOptions; -} From 19d4f7992ca7619bf1cb95532089e40ab029add2 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 11:37:39 +0200 Subject: [PATCH 086/291] cli: add stripping sourcesContent by default (#59) * cli: add stripping sourcesContent by default * cli: remove commented function in upload --------- Co-authored-by: Sebastian Alex --- tools/cli/src/sourcemaps/upload.ts | 43 +++++++++++++----------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 2f774d7e..d19ca09c 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -1,9 +1,11 @@ import { Asset, + AssetWithContent, AsyncResult, DebugIdGenerator, Err, Ok, + RawSourceMap, ResultPromise, SourceProcessor, SymbolUploader, @@ -12,9 +14,12 @@ import { archiveSourceMaps, failIfEmpty, filter, + loadSourceMap, log, map, matchSourceMapExtension, + pass, + stripSourcesContent, uploadArchive, writeStream, } from '@backtrace/sourcemap-tools'; @@ -28,7 +33,7 @@ import { CliLogger, createLogger } from '../logger'; interface UploadOptions extends GlobalOptions { readonly url: string; readonly path: string[]; - readonly 'no-sources': string; + readonly 'include-sources': string; readonly insecure: boolean; readonly 'dry-run': boolean; readonly force: boolean; @@ -36,10 +41,6 @@ interface UploadOptions extends GlobalOptions { readonly output: string; } -interface AssetWithDebugId extends Asset { - readonly debugId: string; -} - export const uploadCmd = new Command({ name: 'upload', description: 'Uploading of sourcemaps to Backtrace', @@ -61,9 +62,9 @@ export const uploadCmd = new Command({ alias: 'p', }) .option({ - name: 'no-sources', + name: 'include-sources', type: Boolean, - description: 'Uploads the sourcemaps without "sourcesContent" key.', + description: 'Uploads the sourcemaps with "sourcesContent" key.', defaultValue: false, }) .option({ @@ -118,8 +119,8 @@ export const uploadCmd = new Command({ const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); - const logTraceAsset = logAsset(logger, 'trace'); const logDebugAsset = logAsset(logger, 'debug'); + const logTraceAsset = logAsset(logger, 'trace'); const isAssetProcessedCommand = (asset: Asset) => AsyncResult.fromValue(asset) @@ -139,17 +140,17 @@ export const uploadCmd = new Command({ .then(filter((f) => f.result)) .then(map((f) => f.asset)).inner; - const readDebugIdCommand = (asset: Asset) => + const loadSourceMapCommand = (asset: Asset) => AsyncResult.fromValue(asset) - .then(logTraceAsset('reading debug ID')) - .then(readDebugId(sourceProcessor)) - .then(logDebugAsset((res) => `read debug ID: ${res.debugId}`)) - .thenErr((error) => `${asset.name}: ${error}`).inner; + .then(logTraceAsset('loading sourcemap')) + .then(loadSourceMap) + .then(logDebugAsset('loaded sourcemap')) + .then(opts['include-sources'] ? pass : stripSourcesContent).inner; - const createArchiveCommand = (assets: Asset[]) => - AsyncResult.fromValue(assets) + const createArchiveCommand = (assets: AssetWithContent[]) => + AsyncResult.fromValue[], string>(assets) .then(logTrace('creating archive')) - .then((assets) => archiveSourceMaps(sourceProcessor)(assets as never)) // TODO: Fix this + .then(archiveSourceMaps(sourceProcessor)) .then(logDebug('archive created')).inner; const saveArchiveCommand = outputPath @@ -178,7 +179,7 @@ export const uploadCmd = new Command({ .then(map(logTrace((path) => `file matching extension: ${path}`))) .then(map(toAsset)) .then(opts.force ? Ok : filterProcessedAssetsCommand) - .then(map(readDebugIdCommand)) + .then(map(loadSourceMapCommand)) .then(logDebug((r) => `uploading ${r.length} files`)) .then(map(logTrace(({ path }) => `file to upload: ${path}`))) .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no files for uploading found')) @@ -200,14 +201,6 @@ function isAssetProcessed(sourceProcessor: SourceProcessor) { }; } -function readDebugId(sourceProcessor: SourceProcessor) { - return async function readDebugId(asset: Asset): ResultPromise { - return AsyncResult.equip(sourceProcessor.getSourceMapFileDebugId(asset.path)).then( - (debugId) => ({ ...asset, debugId }), - ).inner; - }; -} - function saveArchive(filePath: string) { return async function saveArchive(stream: Readable): ResultPromise { return AsyncResult.equip(writeStream([stream, filePath])).then(([, rxid]) => ({ rxid })).inner; From c7d5f9c2290506e1ec27f0af6a28f289e5bc4f23 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 7 Aug 2023 10:03:27 +0000 Subject: [PATCH 087/291] sourcemap tools: fix invalid asset name for sourcemap upload --- .../src/commands/processAndUploadAssetsCommand.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts index 85925a14..1b2a987f 100644 --- a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts +++ b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts @@ -1,3 +1,4 @@ +import path from 'path'; import { RawSourceMap } from 'source-map'; import { DebugIdGenerator } from '../DebugIdGenerator'; import { SourceProcessor } from '../SourceProcessor'; @@ -105,7 +106,7 @@ export function processAndUploadAssetsCommand( } const sourceMapAssets = assetsResult.data.map((r) => ({ - name: r.asset.name, + name: path.basename(r.result.sourceMapPath), path: r.result.sourceMapPath, })); From 57bd7880e193a9ff5e8660a8cced26fdc619cb66 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 8 Aug 2023 12:33:55 +0200 Subject: [PATCH 088/291] vite plugin based on rollup (#61) * vite plugin: add initial project * vite plugin: add re-export of rollup plugin and vite build tests --------- Co-authored-by: Sebastian Alex --- package-lock.json | 758 +++++++++++++++++++++++++- tools/vite-plugin/.gitignore | 1 + tools/vite-plugin/LICENSE | 21 + tools/vite-plugin/package.json | 49 ++ tools/vite-plugin/src/index.ts | 1 + tools/vite-plugin/tsconfig.build.json | 8 + tools/vite-plugin/tsconfig.json | 8 + tools/vite-plugin/vite.config.js | 17 + 8 files changed, 857 insertions(+), 6 deletions(-) create mode 100644 tools/vite-plugin/.gitignore create mode 100644 tools/vite-plugin/LICENSE create mode 100644 tools/vite-plugin/package.json create mode 100644 tools/vite-plugin/src/index.ts create mode 100644 tools/vite-plugin/tsconfig.build.json create mode 100644 tools/vite-plugin/tsconfig.json create mode 100644 tools/vite-plugin/vite.config.js diff --git a/package-lock.json b/package-lock.json index 7dc772f7..d87c04f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -654,6 +654,10 @@ "resolved": "tools/sourcemap-tools", "link": true }, + "node_modules/@backtrace/vite-plugin": { + "resolved": "tools/vite-plugin", + "link": true + }, "node_modules/@backtrace/webpack-plugin": { "resolved": "tools/webpack-plugin", "link": true @@ -671,6 +675,358 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.19.tgz", + "integrity": "sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz", + "integrity": "sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.19.tgz", + "integrity": "sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz", + "integrity": "sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz", + "integrity": "sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz", + "integrity": "sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz", + "integrity": "sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz", + "integrity": "sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz", + "integrity": "sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz", + "integrity": "sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz", + "integrity": "sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz", + "integrity": "sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz", + "integrity": "sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz", + "integrity": "sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz", + "integrity": "sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.19.tgz", + "integrity": "sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz", + "integrity": "sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz", + "integrity": "sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz", + "integrity": "sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz", + "integrity": "sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz", + "integrity": "sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz", + "integrity": "sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -4331,6 +4687,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/esbuild": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.19.tgz", + "integrity": "sha512-ra3CaIKCzJp5bU5BDfrCc0FRqKj71fQi+gbld0aj6lN0ifuX2fWJYPgLVLGwPfA+ruKna+OWwOvf/yHj6n+i0g==", + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.19", + "@esbuild/android-arm64": "0.18.19", + "@esbuild/android-x64": "0.18.19", + "@esbuild/darwin-arm64": "0.18.19", + "@esbuild/darwin-x64": "0.18.19", + "@esbuild/freebsd-arm64": "0.18.19", + "@esbuild/freebsd-x64": "0.18.19", + "@esbuild/linux-arm": "0.18.19", + "@esbuild/linux-arm64": "0.18.19", + "@esbuild/linux-ia32": "0.18.19", + "@esbuild/linux-loong64": "0.18.19", + "@esbuild/linux-mips64el": "0.18.19", + "@esbuild/linux-ppc64": "0.18.19", + "@esbuild/linux-riscv64": "0.18.19", + "@esbuild/linux-s390x": "0.18.19", + "@esbuild/linux-x64": "0.18.19", + "@esbuild/netbsd-x64": "0.18.19", + "@esbuild/openbsd-x64": "0.18.19", + "@esbuild/sunos-x64": "0.18.19", + "@esbuild/win32-arm64": "0.18.19", + "@esbuild/win32-ia32": "0.18.19", + "@esbuild/win32-x64": "0.18.19" + } + }, "node_modules/escalade": { "version": "3.1.1", "license": "MIT", @@ -7593,6 +7986,24 @@ "dev": true, "optional": true }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nanomatch": { "version": "1.2.13", "dev": true, @@ -8248,6 +8659,34 @@ "node": ">=0.10.0" } }, + "node_modules/postcss": { + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -8738,9 +9177,9 @@ } }, "node_modules/rollup": { - "version": "3.26.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", - "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", + "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", "peer": true, "bin": { "rollup": "dist/bin/rollup" @@ -9213,6 +9652,15 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-resolve": { "version": "0.5.3", "dev": true, @@ -10424,6 +10872,61 @@ "dev": true, "license": "MIT" }, + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "peer": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, "node_modules/vm-browserify": { "version": "1.1.2", "dev": true, @@ -11857,6 +12360,23 @@ "node": ">= 8" } }, + "tools/vite-plugin": { + "name": "@backtrace/vite-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vite": "^4.4.9" + } + }, "tools/webpack-plugin": { "name": "@backtrace/webpack-plugin", "version": "0.0.1", @@ -12368,6 +12888,13 @@ } } }, + "@backtrace/vite-plugin": { + "version": "file:tools/vite-plugin", + "requires": { + "@backtrace/rollup-plugin": "^0.0.1", + "typescript": "^5.0.4" + } + }, "@backtrace/webpack-plugin": { "version": "file:tools/webpack-plugin", "requires": { @@ -12393,6 +12920,160 @@ "version": "0.5.7", "dev": true }, + "@esbuild/android-arm": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.19.tgz", + "integrity": "sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==", + "optional": true, + "peer": true + }, + "@esbuild/android-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz", + "integrity": "sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==", + "optional": true, + "peer": true + }, + "@esbuild/android-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.19.tgz", + "integrity": "sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==", + "optional": true, + "peer": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz", + "integrity": "sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==", + "optional": true, + "peer": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz", + "integrity": "sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==", + "optional": true, + "peer": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz", + "integrity": "sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==", + "optional": true, + "peer": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz", + "integrity": "sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==", + "optional": true, + "peer": true + }, + "@esbuild/linux-arm": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz", + "integrity": "sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==", + "optional": true, + "peer": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz", + "integrity": "sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==", + "optional": true, + "peer": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz", + "integrity": "sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==", + "optional": true, + "peer": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz", + "integrity": "sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz", + "integrity": "sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==", + "optional": true, + "peer": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz", + "integrity": "sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==", + "optional": true, + "peer": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz", + "integrity": "sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz", + "integrity": "sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.19.tgz", + "integrity": "sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A==", + "optional": true, + "peer": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz", + "integrity": "sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==", + "optional": true, + "peer": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz", + "integrity": "sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==", + "optional": true, + "peer": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz", + "integrity": "sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==", + "optional": true, + "peer": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz", + "integrity": "sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==", + "optional": true, + "peer": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz", + "integrity": "sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==", + "optional": true, + "peer": true + }, + "@esbuild/win32-x64": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz", + "integrity": "sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==", + "optional": true, + "peer": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -14935,6 +15616,36 @@ "is-symbol": "^1.0.2" } }, + "esbuild": { + "version": "0.18.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.19.tgz", + "integrity": "sha512-ra3CaIKCzJp5bU5BDfrCc0FRqKj71fQi+gbld0aj6lN0ifuX2fWJYPgLVLGwPfA+ruKna+OWwOvf/yHj6n+i0g==", + "peer": true, + "requires": { + "@esbuild/android-arm": "0.18.19", + "@esbuild/android-arm64": "0.18.19", + "@esbuild/android-x64": "0.18.19", + "@esbuild/darwin-arm64": "0.18.19", + "@esbuild/darwin-x64": "0.18.19", + "@esbuild/freebsd-arm64": "0.18.19", + "@esbuild/freebsd-x64": "0.18.19", + "@esbuild/linux-arm": "0.18.19", + "@esbuild/linux-arm64": "0.18.19", + "@esbuild/linux-ia32": "0.18.19", + "@esbuild/linux-loong64": "0.18.19", + "@esbuild/linux-mips64el": "0.18.19", + "@esbuild/linux-ppc64": "0.18.19", + "@esbuild/linux-riscv64": "0.18.19", + "@esbuild/linux-s390x": "0.18.19", + "@esbuild/linux-x64": "0.18.19", + "@esbuild/netbsd-x64": "0.18.19", + "@esbuild/openbsd-x64": "0.18.19", + "@esbuild/sunos-x64": "0.18.19", + "@esbuild/win32-arm64": "0.18.19", + "@esbuild/win32-ia32": "0.18.19", + "@esbuild/win32-x64": "0.18.19" + } + }, "escalade": { "version": "3.1.1" }, @@ -17072,6 +17783,12 @@ "dev": true, "optional": true }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "peer": true + }, "nanomatch": { "version": "1.2.13", "dev": true, @@ -17500,6 +18217,17 @@ "version": "0.1.1", "dev": true }, + "postcss": { + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "peer": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, "prelude-ls": { "version": "1.2.1", "dev": true @@ -17817,9 +18545,9 @@ } }, "rollup": { - "version": "3.26.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", - "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", + "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", "peer": true, "requires": { "fsevents": "~2.3.2" @@ -18120,6 +18848,12 @@ "source-map": { "version": "0.6.1" }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "peer": true + }, "source-map-resolve": { "version": "0.5.3", "dev": true, @@ -18904,6 +19638,18 @@ } } }, + "vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "peer": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + } + }, "vm-browserify": { "version": "1.1.2", "dev": true diff --git a/tools/vite-plugin/.gitignore b/tools/vite-plugin/.gitignore new file mode 100644 index 00000000..98657edb --- /dev/null +++ b/tools/vite-plugin/.gitignore @@ -0,0 +1 @@ +viteBuild/ diff --git a/tools/vite-plugin/LICENSE b/tools/vite-plugin/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/tools/vite-plugin/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/vite-plugin/package.json b/tools/vite-plugin/package.json new file mode 100644 index 00000000..110729b8 --- /dev/null +++ b/tools/vite-plugin/package.json @@ -0,0 +1,49 @@ +{ + "name": "@backtrace/vite-plugin", + "version": "0.0.1", + "description": "Backtrace Vite plugin", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc -b ./tsconfig.build.json", + "build:vite": "vite build --config vite.config.js", + "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "watch": "tsc -b ./tsconfig.build.json -w" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Source maps", + "Sourcemaps", + "Vite" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "peerDependencies": { + "vite": "^4.4.9" + }, + "dependencies": { + "@backtrace/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" + } +} diff --git a/tools/vite-plugin/src/index.ts b/tools/vite-plugin/src/index.ts new file mode 100644 index 00000000..99ab4fef --- /dev/null +++ b/tools/vite-plugin/src/index.ts @@ -0,0 +1 @@ +export * from '@backtrace/rollup-plugin'; diff --git a/tools/vite-plugin/tsconfig.build.json b/tools/vite-plugin/tsconfig.build.json new file mode 100644 index 00000000..7993723f --- /dev/null +++ b/tools/vite-plugin/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib" + }, + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/tools/vite-plugin/tsconfig.json b/tools/vite-plugin/tsconfig.json new file mode 100644 index 00000000..eb7bf768 --- /dev/null +++ b/tools/vite-plugin/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "references": [ + { + "path": "../sourcemap-tools/tsconfig.json" + } + ] +} diff --git a/tools/vite-plugin/vite.config.js b/tools/vite-plugin/vite.config.js new file mode 100644 index 00000000..f1c54454 --- /dev/null +++ b/tools/vite-plugin/vite.config.js @@ -0,0 +1,17 @@ +const { defineConfig} = require('vite'); +import { BacktracePlugin } from './lib'; + +export default defineConfig({ + build: { + outDir: './viteBuild', + rollupOptions: { + input: './src/index.ts', + output: { + sourcemap: true, + } + } + }, + plugins: [ + BacktracePlugin() + ] +}) \ No newline at end of file From a70bd1b112ec9e110f7722264465ccebfd828838 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 9 Aug 2023 15:54:16 +0200 Subject: [PATCH 089/291] Database support (#62) * Database support * Do not include deduplication model yet * Code review adjustements * Handle potential errors in the storage provider --- examples/sdk/node/.gitignore | 2 + examples/sdk/node/src/index.ts | 6 +- packages/node/src/BacktraceClient.ts | 3 + .../src/attachment/BacktraceFileAttachment.ts | 8 +- .../database/BacktraceDatabaseFileRecord.ts | 40 ++++ .../BacktraceDatabaseFileStorageProvider.ts | 118 +++++++++++ packages/sdk-core/src/BacktraceCoreClient.ts | 55 ++++- packages/sdk-core/src/index.ts | 2 + .../BacktraceDatabaseConfiguration.ts | 9 +- .../src/modules/database/BacktraceDatabase.ts | 188 ++++++++++++++++++ .../database/BacktraceDatabaseContext.ts | 98 +++++++++ .../BacktraceDatabaseStorageProvider.ts | 8 + .../sdk-core/src/modules/database/index.ts | 2 + .../database/model/BacktraceDatabaseRecord.ts | 14 ++ .../tests/client/clientCallbacksTests.spec.ts | 3 + .../databaseContextMemoryStorageTests.spec.ts | 119 +++++++++++ .../databaseContextValidationTests.spec.ts | 64 ++++++ .../database/databaseRecordBatchTests.spec.ts | 83 ++++++++ .../tests/database/databaseSetupTests.spec.ts | 117 +++++++++++ .../database/databaseStorageFlowTests.spec.ts | 112 +++++++++++ .../tests/mocks/BacktraceTestClient.ts | 22 +- .../tests/mocks/testStorageProvider.ts | 15 ++ 22 files changed, 1064 insertions(+), 24 deletions(-) create mode 100644 examples/sdk/node/.gitignore create mode 100644 packages/node/src/database/BacktraceDatabaseFileRecord.ts create mode 100644 packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts create mode 100644 packages/sdk-core/src/modules/database/BacktraceDatabase.ts create mode 100644 packages/sdk-core/src/modules/database/BacktraceDatabaseContext.ts create mode 100644 packages/sdk-core/src/modules/database/BacktraceDatabaseStorageProvider.ts create mode 100644 packages/sdk-core/src/modules/database/index.ts create mode 100644 packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts create mode 100644 packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts create mode 100644 packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts create mode 100644 packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts create mode 100644 packages/sdk-core/tests/database/databaseSetupTests.spec.ts create mode 100644 packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts create mode 100644 packages/sdk-core/tests/mocks/testStorageProvider.ts diff --git a/examples/sdk/node/.gitignore b/examples/sdk/node/.gitignore new file mode 100644 index 00000000..b7fd1db9 --- /dev/null +++ b/examples/sdk/node/.gitignore @@ -0,0 +1,2 @@ +./database +./src/consts.ts \ No newline at end of file diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 01cf3888..76ce96d9 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -11,7 +11,7 @@ const reader = readline.createInterface({ const client = BacktraceClient.builder({ url: SUBMISSION_URL, - attachments: [path.join(path.dirname(process.cwd()), 'samplefile.txt')], + attachments: [path.join(process.cwd(), 'samplefile.txt')], rateLimit: 5, userAttributes: { 'custom-attribute': 'test', @@ -20,6 +20,10 @@ const client = BacktraceClient.builder({ prop2: 123, }, }, + database: { + enabled: true, + path: path.join(process.cwd(), 'database'), + }, }).build(); console.log('Welcome to the @Backtrace/node demo'); diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index ba089d1c..7228ec5f 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -11,6 +11,7 @@ import { AGENT } from './agentDefinition'; import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { NodeOptionReader } from './common/NodeOptionReader'; +import { BacktraceDatabaseFileStorageProvider } from './database/BacktraceDatabaseFileStorageProvider'; export class BacktraceClient extends BacktraceCoreClient { constructor( @@ -26,6 +27,8 @@ export class BacktraceClient extends BacktraceCoreClient { undefined, undefined, new VariableDebugIdMapProvider(global as DebugIdContainer), + undefined, + BacktraceDatabaseFileStorageProvider.createIfValid(options.database), ); this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); diff --git a/packages/node/src/attachment/BacktraceFileAttachment.ts b/packages/node/src/attachment/BacktraceFileAttachment.ts index 1117fd02..42ba5246 100644 --- a/packages/node/src/attachment/BacktraceFileAttachment.ts +++ b/packages/node/src/attachment/BacktraceFileAttachment.ts @@ -5,14 +5,14 @@ import { Readable } from 'stream'; export class BacktraceFileAttachment implements BacktraceAttachment { public readonly name: string; - constructor(private readonly _filePath: string) { - this.name = path.basename(this._filePath); + constructor(public readonly filePath: string) { + this.name = path.basename(this.filePath); } public get(): fs.ReadStream | undefined { - if (!fs.existsSync(this._filePath)) { + if (!fs.existsSync(this.filePath)) { return undefined; } - return fs.createReadStream(this._filePath); + return fs.createReadStream(this.filePath); } } diff --git a/packages/node/src/database/BacktraceDatabaseFileRecord.ts b/packages/node/src/database/BacktraceDatabaseFileRecord.ts new file mode 100644 index 00000000..3bc50ec6 --- /dev/null +++ b/packages/node/src/database/BacktraceDatabaseFileRecord.ts @@ -0,0 +1,40 @@ +import { BacktraceData, BacktraceDatabaseRecord } from '@backtrace/sdk-core'; +import { BacktraceFileAttachment } from '../attachment'; + +export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { + public readonly data: BacktraceData; + public readonly id: string; + public readonly count: number; + public readonly hash: string; + public locked: boolean; + + private constructor(record: BacktraceDatabaseRecord, public readonly attachments: BacktraceFileAttachment[]) { + this.data = record.data; + this.id = record.id; + this.count = record.count; + this.hash = record.hash; + // make sure the database record stored in the database directory + // is never locked. By doing this, we want to be sure once we load + // the record once again, the record will be available for future usage + this.locked = false; + } + + public static fromRecord(record: BacktraceDatabaseRecord) { + return new BacktraceDatabaseFileRecord( + record, + record.attachments.filter((n) => n instanceof BacktraceFileAttachment) as BacktraceFileAttachment[], + ); + } + + public static fromJson(json: string): BacktraceDatabaseFileRecord | undefined { + try { + const record = JSON.parse(json) as BacktraceDatabaseFileRecord; + const attachments = record.attachments + ? record.attachments.map((n) => new BacktraceFileAttachment(n.filePath)) + : []; + return new BacktraceDatabaseFileRecord(record, attachments); + } catch { + return undefined; + } + } +} diff --git a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts new file mode 100644 index 00000000..dd957ba6 --- /dev/null +++ b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts @@ -0,0 +1,118 @@ +import { + BacktraceDatabaseConfiguration, + BacktraceDatabaseRecord, + BacktraceDatabaseStorageProvider, +} from '@backtrace/sdk-core'; +import fs from 'fs'; +import * as fsPromise from 'fs/promises'; +import path from 'path'; +import { BacktraceDatabaseFileRecord } from './BacktraceDatabaseFileRecord'; +export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseStorageProvider { + private _enabled = true; + + private readonly RECORD_SUFFIX = '-record.json'; + private constructor(private readonly _path: string, private readonly _createDatabaseDirectory: boolean = false) {} + + /** + * Create a provider if provided options are valid + * @param options database configuration + * @returns database file storage provider + */ + public static createIfValid( + options?: BacktraceDatabaseConfiguration, + ): BacktraceDatabaseFileStorageProvider | undefined { + if (!options) { + return undefined; + } + if (!options.enabled) { + return undefined; + } + + if (options.enabled && !options.path) { + throw new Error( + 'Missing mandatory path to the database. Please define the database.path option in the configuration.', + ); + } + return new BacktraceDatabaseFileStorageProvider(options.path, options.createDatabaseDirectory); + } + + public start(): boolean { + // make sure by mistake we don't create anything or start any operation + if (this._enabled === false) { + return false; + } + + const databaseDirectoryExists = fs.existsSync(this._path); + if (this._createDatabaseDirectory === false) { + return databaseDirectoryExists; + } + if (databaseDirectoryExists) { + return true; + } + fs.mkdirSync(this._path, { recursive: true }); + return true; + } + + public delete(record: BacktraceDatabaseRecord): boolean { + const recordPath = this.getRecordPath(record.id); + return this.unlinkRecord(recordPath); + } + + public add(record: BacktraceDatabaseRecord): boolean { + const recordPath = this.getRecordPath(record.id); + try { + fs.writeFileSync(recordPath, JSON.stringify(BacktraceDatabaseFileRecord.fromRecord(record)), { + encoding: 'utf8', + }); + return true; + } catch { + return false; + } + } + + public async get(): Promise { + const databaseFiles = await fsPromise.readdir(this._path, { + encoding: 'utf8', + withFileTypes: true, + }); + + const recordNames = databaseFiles + .filter((file) => file.isFile() && file.name.endsWith(this.RECORD_SUFFIX)) + .map((n) => n.name); + + const records: BacktraceDatabaseRecord[] = []; + for (const recordName of recordNames) { + const recordPath = path.join(this._path, recordName); + try { + const recordJson = await fsPromise.readFile(recordPath, 'utf8'); + const record = BacktraceDatabaseFileRecord.fromJson(recordJson); + if (!record) { + await fsPromise.unlink(recordPath); + continue; + } + records.push(record); + } catch { + this.unlinkRecord(recordPath); + } + } + + return records; + } + + private unlinkRecord(recordPath: string): boolean { + if (!fs.existsSync(recordPath)) { + return false; + } + + try { + fs.unlinkSync(recordPath); + return true; + } catch { + return false; + } + } + + private getRecordPath(id: string): string { + return path.join(this._path, `${id}${this.RECORD_SUFFIX}`); + } +} diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 5cc3623c..a4746a84 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,6 +1,8 @@ import { BacktraceAttachment, BacktraceAttributeProvider, + BacktraceDatabaseRecord, + BacktraceDatabaseStorageProvider, BacktraceSessionProvider, BacktraceStackTraceConverter, DebugIdMapProvider, @@ -18,6 +20,7 @@ import { BacktraceBreadcrumbs, BreadcrumbsSetup } from './modules/breadcrumbs'; import { BreadcrumbsManager } from './modules/breadcrumbs/BreadcrumbsManager'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; +import { BacktraceDatabase } from './modules/database/BacktraceDatabase'; import { BacktraceMetrics } from './modules/metrics/BacktraceMetrics'; import { MetricsBuilder } from './modules/metrics/MetricsBuilder'; import { SingleSessionProvider } from './modules/metrics/SingleSessionProvider'; @@ -65,6 +68,13 @@ export abstract class BacktraceCoreClient { return this.breadcrumbsManager; } + /** + * Report database used by the client + */ + public get database(): BacktraceDatabase | undefined { + return this._database; + } + /** * Client cached attachments */ @@ -76,6 +86,7 @@ export abstract class BacktraceCoreClient { private readonly _rateLimitWatcher: RateLimitWatcher; private readonly _attributeProvider: AttributeManager; private readonly _metrics?: BacktraceMetrics; + private readonly _database?: BacktraceDatabase; protected constructor( protected readonly options: BacktraceConfiguration, @@ -86,6 +97,7 @@ export abstract class BacktraceCoreClient { private readonly _sessionProvider: BacktraceSessionProvider = new SingleSessionProvider(), debugIdMapProvider?: DebugIdMapProvider, breadcrumbsSetup?: BreadcrumbsSetup, + databaseStorageProvider?: BacktraceDatabaseStorageProvider, ) { this._dataBuilder = new BacktraceDataBuilder( this._sdkOptions, @@ -94,7 +106,6 @@ export abstract class BacktraceCoreClient { ); this._reportSubmission = new BacktraceReportSubmission(options, requestHandler); - this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); this._attributeProvider = new AttributeManager([ new ClientAttributeProvider( _sdkOptions.agent, @@ -105,6 +116,18 @@ export abstract class BacktraceCoreClient { ...(attributeProviders ?? []), ]); this.attachments = options.attachments ?? []; + + if (databaseStorageProvider && options?.database?.enabled === true) { + this._database = new BacktraceDatabase( + this.options.database, + databaseStorageProvider, + this._reportSubmission, + ); + this._database.start(); + } + + this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); + const metrics = new MetricsBuilder(options, _sessionProvider, this._attributeProvider, requestHandler).build(); if (metrics) { this._metrics = metrics; @@ -179,7 +202,35 @@ export abstract class BacktraceCoreClient { return; } - await this._reportSubmission.send(backtraceData, this.generateSubmissionAttachments(report, reportAttachments)); + const submissionAttachments = this.generateSubmissionAttachments(report, reportAttachments); + const record = this.addToDatabase(backtraceData, submissionAttachments); + + const submissionResult = await this._reportSubmission.send(backtraceData, submissionAttachments); + if (!record) { + return; + } + record.locked = false; + if (submissionResult.status === 'Ok') { + this._database?.remove(record); + } + } + + private addToDatabase( + data: BacktraceData, + attachments: BacktraceAttachment[], + ): BacktraceDatabaseRecord | undefined { + if (!this._database) { + return undefined; + } + + const record = this._database.add(data, attachments); + + if (!record || record.locked || record.count !== 1) { + return undefined; + } + + record.locked = true; + return record; } private generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 88409b13..28f804f8 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -5,11 +5,13 @@ export * from './common/IdGenerator'; export * from './model/attachment'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; +export * from './model/data/BacktraceData'; export * from './model/http'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/breadcrumbs'; export * from './modules/converter'; +export * from './modules/database'; export * from './modules/metrics/BacktraceSessionProvider'; export * from './sourcemaps/index'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index 3001832d..b43624dd 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -18,7 +18,7 @@ export enum DeduplicationStrategy { /** * Aggregates by faulting callstack, exception type, and exception message */ - All = ~(~0 << 4), + All = ~(~0 << 4) - 1, } export interface EnabledBacktraceDatabaseConfiguration { /** @@ -54,17 +54,12 @@ export interface EnabledBacktraceDatabaseConfiguration { */ maximumNumberOfRecords?: number; - /** - * The maximum database size in MB. When the limit is reached, the oldest reports are removed. - * If the value is equal to '0', then no limit is set. - * The default value is 0 (unlimited) - */ - maximumDatabaseSizeInMb?: number; /** * The amount of time (in ms) to wait between retries if the database is unable to send a report. * The default value is 60 000 */ retryInterval?: number; + /** * The maximum number of retries to attempt if the database is unable to send a report. * The default value is 3 diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts new file mode 100644 index 00000000..8019ea46 --- /dev/null +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -0,0 +1,188 @@ +import { IdGenerator } from '../../common/IdGenerator'; +import { BacktraceAttachment } from '../../model/attachment'; +import { BacktraceDatabaseConfiguration } from '../../model/configuration/BacktraceDatabaseConfiguration'; +import { BacktraceData } from '../../model/data/BacktraceData'; +import { BacktraceReportSubmission } from '../../model/http/BacktraceReportSubmission'; +import { BacktraceDatabaseContext } from './BacktraceDatabaseContext'; +import { BacktraceDatabaseStorageProvider } from './BacktraceDatabaseStorageProvider'; +import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; +export class BacktraceDatabase { + /** + * Determines if the database is enabled. + */ + public get enabled() { + return this._enabled; + } + + private readonly _databaseRecordContext: BacktraceDatabaseContext; + + private readonly _maximumRecords: number; + private readonly _retryInterval: number; + private _intervalId?: ReturnType; + + private _enabled = false; + + constructor( + private readonly _options: BacktraceDatabaseConfiguration | undefined, + private readonly _storageProvider: BacktraceDatabaseStorageProvider, + private readonly _requestHandler: BacktraceReportSubmission, + ) { + this._databaseRecordContext = new BacktraceDatabaseContext(this._options?.maximumRetries); + this._maximumRecords = this._options?.maximumNumberOfRecords ?? 8; + this._retryInterval = this._options?.retryInterval ?? 60_000; + } + + /** + * Starts database integration. + * @returns true if the database started successfully. Otherwise false. + */ + public start(): boolean { + if (this._enabled) { + return this._enabled; + } + + if (this._options?.enabled === false) { + return false; + } + + const startResult = this._storageProvider.start(); + if (!startResult) { + return false; + } + + this.loadReports().then(async () => { + await this.setupDatabaseAutoSend(); + }); + this._enabled = true; + return true; + } + + /** + * Adds backtrace data to the database + * @param backtraceData diagnostic data object + * @param attachments attachments + * @returns record if database is enabled. Otherwise undefined. + */ + public add( + backtraceData: BacktraceData, + attachments: BacktraceAttachment[], + ): BacktraceDatabaseRecord | undefined { + if (!this._enabled) { + return undefined; + } + + this.prepareDatabase(); + + const record = { + count: 1, + data: backtraceData, + hash: '', + id: IdGenerator.uuid(), + locked: false, + attachments: attachments, + }; + + const saveResult = this._storageProvider.add(record); + if (!saveResult) { + return undefined; + } + + this._databaseRecordContext.add(record); + + return record; + } + + /** + * Returns stored references to Backtrace records + * @returns available records in the database + */ + public get(): BacktraceDatabaseRecord[] { + return this._databaseRecordContext.get(); + } + + /** + * @returns Returns number of records stored in the Database + */ + public count(): number { + return this._databaseRecordContext.count(); + } + + /** + * Disables database integration. After running the dispose method, you cannot + * execute any database operations. + */ + public dispose() { + this._enabled = false; + clearInterval(this._intervalId); + } + + /** + * Removes the database record + * @param record database records + */ + public remove(record: BacktraceDatabaseRecord) { + if (!this._enabled) { + return; + } + this._databaseRecordContext.remove(record); + this._storageProvider.delete(record); + } + + /** + * Prepare database to insert records + * @param totalNumberOfRecords number of records to insert + */ + private prepareDatabase(totalNumberOfRecords = 1) { + const numberOfRecords = this.count(); + if (numberOfRecords + totalNumberOfRecords <= this._maximumRecords) { + return; + } + const recordsToDelete = this._databaseRecordContext.dropOverflow(totalNumberOfRecords); + for (const record of recordsToDelete) { + this._storageProvider.delete(record); + } + } + + private async loadReports(): Promise { + const records = await this._storageProvider.get(); + if (records.length > this._maximumRecords) { + records.length = this._maximumRecords; + } + this.prepareDatabase(records.length); + this._databaseRecordContext.load(records); + } + + private async setupDatabaseAutoSend() { + if (this._options?.autoSend === false) { + return; + } + + const sendDatabaseReports = async () => { + await this.sendRecords(); + }; + this._intervalId = setInterval(sendDatabaseReports, this._retryInterval); + await this.sendRecords(); + } + + private async sendRecords() { + for (let bucketIndex = 0; bucketIndex < this._databaseRecordContext.bucketCount; bucketIndex++) { + for (const record of this._databaseRecordContext.getBucket(bucketIndex)) { + if (record.locked) { + continue; + } + try { + record.locked = true; + const result = await this._requestHandler.send(record.data, record.attachments); + if (result.status === 'Ok') { + this.remove(record); + continue; + } + this._databaseRecordContext.increaseBucket(bucketIndex); + return; + } finally { + record.locked = false; + } + } + } + } +} diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabaseContext.ts b/packages/sdk-core/src/modules/database/BacktraceDatabaseContext.ts new file mode 100644 index 00000000..6f7a2b68 --- /dev/null +++ b/packages/sdk-core/src/modules/database/BacktraceDatabaseContext.ts @@ -0,0 +1,98 @@ +import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; + +export class BacktraceDatabaseContext { + public readonly recordBucket: BacktraceDatabaseRecord[][]; + constructor(public readonly bucketCount: number = 3) { + this.recordBucket = this.setupRecordBucket(this.bucketCount); + } + + public find(predicate: (record: BacktraceDatabaseRecord) => boolean): BacktraceDatabaseRecord | undefined { + for (let index = 0; index < this.bucketCount; index++) { + for (const record of this.recordBucket[index]) { + if (predicate(record)) { + return record; + } + } + } + return undefined; + } + + public add(record: BacktraceDatabaseRecord): void { + this.recordBucket[0].push(record); + } + + public get(): BacktraceDatabaseRecord[] { + const result = []; + for (const bucket of this.recordBucket) { + result.push( + ...bucket.map((n) => { + return { ...n }; + }), + ); + } + + return result; + } + + public getBucket(index: number) { + return this.recordBucket[index]; + } + + public count() { + return Object.values(this.recordBucket) + .map((n) => n.reduce((total, record) => total + record.count, 0)) + .reduce((total, current) => total + current, 0); + } + + public remove(databaseRecord: BacktraceDatabaseRecord): void { + for (let bucketIndex = 0; bucketIndex < this.bucketCount; bucketIndex++) { + for (let recordIndex = 0; recordIndex < this.recordBucket[bucketIndex].length; recordIndex++) { + const record = this.recordBucket[bucketIndex][recordIndex]; + if (databaseRecord.id === record.id) { + this.recordBucket[bucketIndex].splice(recordIndex, 1); + return; + } + } + } + } + + public increaseBucket(bucketStart: number) { + for (let bucketIndex = this.bucketCount - 1; bucketIndex >= bucketStart; bucketIndex--) { + if (bucketIndex === this.bucketCount - 1) { + this.recordBucket[bucketIndex] = []; + continue; + } + + this.recordBucket[bucketIndex + 1] = this.recordBucket[bucketIndex]; + this.recordBucket[bucketIndex] = []; + } + } + + public load(records: BacktraceDatabaseRecord[]): void { + this.recordBucket[0].push(...records); + } + + public dropOverflow(overflow: number) { + const result: BacktraceDatabaseRecord[] = []; + for (let bucketIndex = this.bucketCount - 1; bucketIndex >= 0; bucketIndex--) { + const bucket = this.recordBucket[bucketIndex]; + const removedRecords = bucket.splice(0, overflow); + result.push(...removedRecords); + + if (result.length === overflow) { + break; + } + } + + return result; + } + + private setupRecordBucket(retries: number): BacktraceDatabaseRecord[][] { + const result: BacktraceDatabaseRecord[][] = []; + for (let index = 0; index < retries; index++) { + result[index] = []; + } + + return result; + } +} diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabaseStorageProvider.ts b/packages/sdk-core/src/modules/database/BacktraceDatabaseStorageProvider.ts new file mode 100644 index 00000000..f9557ebf --- /dev/null +++ b/packages/sdk-core/src/modules/database/BacktraceDatabaseStorageProvider.ts @@ -0,0 +1,8 @@ +import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; + +export interface BacktraceDatabaseStorageProvider { + add(databaseRecord: BacktraceDatabaseRecord): boolean; + get(): Promise; + start(): boolean; + delete(record: BacktraceDatabaseRecord): boolean; +} diff --git a/packages/sdk-core/src/modules/database/index.ts b/packages/sdk-core/src/modules/database/index.ts new file mode 100644 index 00000000..448c4cd1 --- /dev/null +++ b/packages/sdk-core/src/modules/database/index.ts @@ -0,0 +1,2 @@ +export * from './BacktraceDatabaseStorageProvider'; +export * from './model/BacktraceDatabaseRecord'; diff --git a/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts b/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts new file mode 100644 index 00000000..7ca190c2 --- /dev/null +++ b/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts @@ -0,0 +1,14 @@ +import { BacktraceAttachment } from '../../../model/attachment'; +import { BacktraceData } from '../../../model/data/BacktraceData'; + +export interface BacktraceDatabaseRecord { + readonly data: BacktraceData; + readonly id: string; + readonly hash: string; + attachments: BacktraceAttachment[]; + count: number; + /** + * Determines if the record is in use + */ + locked: boolean; +} diff --git a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts index 16853d70..a29aa4a6 100644 --- a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts +++ b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts @@ -3,6 +3,9 @@ import { BacktraceData } from '../../src/model/data/BacktraceData'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; describe('Client callbacks tests', () => { + afterEach(() => { + jest.clearAllMocks(); + }); describe('Submission data modification tests', () => { it('Should invoke the before send event', async () => { let triggered = false; diff --git a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts new file mode 100644 index 00000000..d82cb989 --- /dev/null +++ b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts @@ -0,0 +1,119 @@ +import path from 'path'; +import { BacktraceData, BacktraceDatabaseRecord, BacktraceReportSubmissionResult } from '../../src'; +import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; +import { testStorageProvider } from '../mocks/testStorageProvider'; + +describe('Database context memory storage tests', () => { + const testDatabaseSettings = { + enabled: true, + autoSend: false, + // this option doesn't matter because we mock the database provider + // interface. However, if bug happen we want to be sure to not create + // anything. Instead we want to fail loud and hard. + createDatabaseDirectory: false, + path: path.join(__dirname, 'database'), + }; + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe('Adding reports to the database via client API', () => { + it('Should add report to the database via client send method', async () => { + const testingErrorMessage = 'testingErrorMessage'; + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), + ); + + await client.send(new Error(testingErrorMessage)); + + const records = database.get(); + + expect(records.length).toBe(1); + expect(records[0].data.attributes['error.message']).toEqual(testingErrorMessage); + }); + + it('Should remove report from the database after succesful submission', async () => { + const testingErrorMessage = 'testingErrorMessage'; + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.Ok({})), + ); + + await client.send(new Error(testingErrorMessage)); + + const records = database.get(); + + expect(records.length).toBe(0); + expect(testStorageProvider.add).toHaveBeenCalled(); + }); + }); + + describe('Record load on the database start', () => { + it('Shouldn not fail when no records are available in the database dir', () => { + jest.spyOn(testStorageProvider, 'start').mockReturnValue(true); + jest.spyOn(testStorageProvider, 'get').mockResolvedValue(Promise.resolve([])); + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + + expect((client.database as BacktraceDatabase).get().length).toBe(0); + }); + + it('Should load records from the storage provider to context', async () => { + const record: BacktraceDatabaseRecord = { + attachments: [], + count: 1, + data: {} as BacktraceData, + hash: '', + id: '123', + locked: false, + }; + jest.spyOn(testStorageProvider, 'start').mockReturnValue(true); + jest.spyOn(testStorageProvider, 'get').mockResolvedValue(Promise.resolve([record])); + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + await new Promise(process.nextTick); + + const [databaseRecord] = (client.database as BacktraceDatabase).get(); + expect(databaseRecord).toStrictEqual(record); + }); + }); +}); diff --git a/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts b/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts new file mode 100644 index 00000000..41cfda12 --- /dev/null +++ b/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts @@ -0,0 +1,64 @@ +import path from 'path'; +import { BacktraceDatabaseConfiguration, BacktraceReportSubmissionResult } from '../../src'; +import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; +import { testStorageProvider } from '../mocks/testStorageProvider'; + +describe('Database context validation tests', () => { + describe('Record overflow tests', () => { + const testDatabaseSettings: BacktraceDatabaseConfiguration = { + enabled: true, + autoSend: false, + // this option doesn't matter because we mock the database provider + // interface. However, if bug happen we want to be sure to not create + // anything. Instead we want to fail loud and hard. + createDatabaseDirectory: false, + path: path.join(__dirname, 'database'), + }; + + afterEach(() => { + jest.clearAllMocks(); + }); + + const testingOverflows = [ + [3, 4], + [1, 10], + [3, 1], + ]; + for (const testingOverflow of testingOverflows) { + it(`Should drop the latest record after reaching overflow. Max: ${testingOverflow[0]}. Overflow: ${testingOverflow[1]}`, async () => { + const maximumNumberOfRecords = testingOverflow[0]; + const overflowEvents = testingOverflow[1]; + const client = BacktraceTestClient.buildFakeClient( + { + database: { + ...testDatabaseSettings, + maximumNumberOfRecords, + }, + }, + [], + [], + testStorageProvider, + ); + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + for (let index = 0; index != maximumNumberOfRecords + overflowEvents; index++) { + await client.send(index.toString()); + } + + const records = database.get(); + for (let index = 0; index < maximumNumberOfRecords; index++) { + const record = records[index]; + const expectedMessage = overflowEvents + index; + expect(record.data.attributes['error.message']).toEqual(expectedMessage.toString()); + } + }); + } + }); +}); diff --git a/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts b/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts new file mode 100644 index 00000000..cc1a0ba0 --- /dev/null +++ b/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts @@ -0,0 +1,83 @@ +import path from 'path'; +import { BacktraceReportSubmissionResult } from '../../src'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; +import { testHttpClient } from '../mocks/testHttpClient'; +import { testStorageProvider } from '../mocks/testStorageProvider'; + +jest.useFakeTimers(); + +describe('Database record batch tests', () => { + beforeEach(() => { + jest.setTimeout(60_000); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + it('Should delete batch of reports on maximumRetries unsuccessful tries', async () => { + jest.spyOn(testHttpClient, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test error')), + ); + const maximumRetries = 3; + const retryInterval = 1000; + const client = BacktraceTestClient.buildFakeClient( + { + database: { + enabled: true, + autoSend: true, + path: path.join(__dirname, 'database'), + maximumRetries, + retryInterval: 1000, + }, + }, + [], + [], + testStorageProvider, + ); + const database = client.database; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + await client.send(new Error('test')); + expect(database.get().length).toEqual(1); + + await jest.advanceTimersByTimeAsync(maximumRetries * retryInterval + 1); + + expect(database.get().length).toEqual(0); + }); + + it('Should not remove the report from the context after less than maximumRetries failures', async () => { + jest.spyOn(testHttpClient, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test error')), + ); + const maximumRetries = 3; + const retryInterval = 1000; + const client = BacktraceTestClient.buildFakeClient( + { + database: { + enabled: true, + autoSend: true, + path: path.join(__dirname, 'database'), + maximumRetries, + retryInterval: 1000, + }, + }, + [], + [], + testStorageProvider, + ); + const database = client.database; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + await client.send(new Error('test')); + expect(database.get().length).toEqual(1); + + // less than retry intervals + await jest.advanceTimersByTimeAsync(retryInterval); + + expect(database.get().length).toEqual(1); + }); +}); diff --git a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts new file mode 100644 index 00000000..c0b4ab63 --- /dev/null +++ b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts @@ -0,0 +1,117 @@ +import { BacktraceData } from '../../src'; +import { BacktraceReportSubmission } from '../../src/model/http/BacktraceReportSubmission'; +import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { TEST_SUBMISSION_URL } from '../mocks/BacktraceTestClient'; +import { testHttpClient } from '../mocks/testHttpClient'; +import { testStorageProvider } from '../mocks/testStorageProvider'; + +describe('Database setup tests', () => { + it('The database should be disabled by default', () => { + const database = new BacktraceDatabase( + undefined, + testStorageProvider, + new BacktraceReportSubmission( + { + url: TEST_SUBMISSION_URL, + }, + testHttpClient, + ), + ); + + expect(database.enabled).toBeFalsy(); + }); + + it('Should be enabled after returning true from the start method', () => { + const database = new BacktraceDatabase( + { + autoSend: false, + }, + testStorageProvider, + new BacktraceReportSubmission( + { + url: TEST_SUBMISSION_URL, + }, + testHttpClient, + ), + ); + + const databaseStartResult = database.start(); + + expect(databaseStartResult).toBeTruthy(); + expect(database.enabled).toBeTruthy(); + }); + + it('Should not enable the database if the enable option is set to false', () => { + const database = new BacktraceDatabase( + { enabled: false }, + testStorageProvider, + new BacktraceReportSubmission( + { + url: TEST_SUBMISSION_URL, + }, + testHttpClient, + ), + ); + + const databaseStartResult = database.start(); + + expect(databaseStartResult).toBeFalsy(); + expect(database.enabled).toBeFalsy(); + }); + + it('Should not enable the database if the storage is not prepared', () => { + const database = new BacktraceDatabase( + { + enabled: true, + path: '/path/to/fake/dir', + }, + testStorageProvider, + new BacktraceReportSubmission( + { + url: TEST_SUBMISSION_URL, + }, + testHttpClient, + ), + ); + jest.spyOn(testStorageProvider, 'start').mockReturnValue(false); + + const databaseStartResult = database.start(); + + expect(databaseStartResult).toBeFalsy(); + expect(database.enabled).toBeFalsy(); + }); + + it('Should be disabled after disposing database', () => { + const database = new BacktraceDatabase( + undefined, + testStorageProvider, + new BacktraceReportSubmission( + { + url: TEST_SUBMISSION_URL, + }, + testHttpClient, + ), + ); + + database.start(); + database.dispose(); + + expect(database.enabled).toBeFalsy(); + }); + + it('Should not add a record to disabled database', () => { + const database = new BacktraceDatabase( + undefined, + testStorageProvider, + new BacktraceReportSubmission( + { + url: TEST_SUBMISSION_URL, + }, + testHttpClient, + ), + ); + + const result = database.add({} as BacktraceData, []); + expect(result).toBeFalsy(); + }); +}); diff --git a/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts b/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts new file mode 100644 index 00000000..baadafef --- /dev/null +++ b/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts @@ -0,0 +1,112 @@ +import path from 'path'; +import { BacktraceReportSubmissionResult } from '../../src'; +import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; +import { testStorageProvider } from '../mocks/testStorageProvider'; + +describe('Database storage provider flow tests', () => { + const testDatabaseSettings = { + enabled: true, + autoSend: false, + // this option doesn't matter because we mock the database provider + // interface. However, if bug happen we want to be sure to not create + // anything. Instead we want to fail loud and hard. + createDatabaseDirectory: false, + path: path.join(__dirname, 'database'), + }; + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe('Setup', () => { + it('Should initialize correctly after database storage initialization', () => { + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + expect(testStorageProvider.start).toHaveBeenCalled(); + expect(database.enabled).toBeTruthy(); + }); + + it('Should not initialize if storage is not setup correctly', () => { + jest.spyOn(testStorageProvider, 'start').mockReturnValueOnce(false); + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + expect(testStorageProvider.start).toHaveBeenCalled(); + expect(database.enabled).toBeFalsy(); + }); + }); + + describe('Add', () => { + it('Should call add on client.send method', async () => { + const testingErrorMessage = 'testingErrorMessage'; + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), + ); + + await client.send(new Error(testingErrorMessage)); + + expect(testStorageProvider.add).toHaveBeenCalled(); + expect(testStorageProvider.delete).not.toHaveBeenCalled(); + }); + + it('Should call delete after successful client.send', async () => { + const testingErrorMessage = 'testingErrorMessage'; + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.Ok({})), + ); + + await client.send(new Error(testingErrorMessage)); + + expect(testStorageProvider.add).toHaveBeenCalled(); + expect(testStorageProvider.delete).toHaveBeenCalled(); + }); + }); +}); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index da8b5749..fab8935c 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -3,9 +3,10 @@ import { BacktraceAttributeProvider, BacktraceConfiguration, BacktraceCoreClient, - BacktraceReportSubmissionResult, + BacktraceDatabaseStorageProvider, BacktraceRequestHandler, } from '../../src'; +import { testHttpClient } from '../mocks/testHttpClient'; export const TOKEN = '590d39eb154cff1d30f2b689f9a928bb592b25e7e7c10192fe208485ea68d91c'; export const UNIVERSE_NAME = 'test'; export const TEST_SUBMISSION_URL = `https://${UNIVERSE_NAME}.sp.backtrace.io:6098/post?format=json&token=${TOKEN}`; @@ -13,11 +14,13 @@ export const APPLICATION = 'test-app'; export const APPLICATION_VERSION = '5.4.3'; export class BacktraceTestClient extends BacktraceCoreClient { public readonly requestHandler: BacktraceRequestHandler; + public readonly storageProvider?: BacktraceDatabaseStorageProvider; constructor( options: Partial, handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], + storageProvider?: BacktraceDatabaseStorageProvider, ) { super( { @@ -39,14 +42,21 @@ export class BacktraceTestClient extends BacktraceCoreClient { }, handler, attributeProviders, + undefined, + undefined, + undefined, + undefined, + storageProvider, ); this.requestHandler = handler; + this.storageProvider = storageProvider; } public static buildFakeClient( options: Partial = {}, attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], + storageProvider?: BacktraceDatabaseStorageProvider, ) { attributeProviders.push({ type: 'scoped', @@ -57,14 +67,6 @@ export class BacktraceTestClient extends BacktraceCoreClient { }; }, }); - return new BacktraceTestClient( - options, - { - post: jest.fn().mockResolvedValue(Promise.resolve(BacktraceReportSubmissionResult.Ok('Ok'))), - postError: jest.fn().mockResolvedValue(Promise.resolve()), - }, - attributeProviders, - attachments, - ); + return new BacktraceTestClient(options, testHttpClient, attributeProviders, attachments, storageProvider); } } diff --git a/packages/sdk-core/tests/mocks/testStorageProvider.ts b/packages/sdk-core/tests/mocks/testStorageProvider.ts new file mode 100644 index 00000000..20a9e02f --- /dev/null +++ b/packages/sdk-core/tests/mocks/testStorageProvider.ts @@ -0,0 +1,15 @@ +import { BacktraceData, BacktraceDatabaseStorageProvider } from '../../src'; + +export const testStorageProvider: BacktraceDatabaseStorageProvider = { + add: jest.fn().mockReturnValue({ + attachments: [], + count: 1, + data: {} as BacktraceData, + hash: '', + id: '123', + locked: false, + }), + delete: jest.fn().mockReturnValue(true), + start: jest.fn().mockReturnValue(true), + get: jest.fn().mockResolvedValue(Promise.resolve([])), +}; From 1ff97a738058fdf1f5478e5f431b6eb83819e784 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Wed, 9 Aug 2023 11:36:03 -0400 Subject: [PATCH 090/291] Feature/error boundary name (#63) * Adding name prop to ErrorBoundary and sending as an attribute so users can distinguish between multiple * Changing min supported version of React to 16.8.0 (hooks) and adding webpack, webpack-cli, and ts-loader to package.json * Adding an Inner ErrorBoundary to the react example app * Adding error.type when sending via the ErrorBoundary * Changing the ErrorBoundary name to be optional with a default * Updating error.type in ErrorBoundary --------- Co-authored-by: Adam Cronin --- examples/sdk/react/src/App.tsx | 9 +++-- .../react/src/components/ButtonWithError.tsx | 20 +++++++++++ .../react/src/{ => components}/Fallback.tsx | 7 ++-- .../react/src/components/InnerFallback.tsx | 9 +++++ examples/sdk/react/src/index.tsx | 4 +-- package-lock.json | 35 +++++++++++++------ packages/react/package.json | 7 ++-- packages/react/src/ErrorBoundary.tsx | 7 +++- 8 files changed, 78 insertions(+), 20 deletions(-) create mode 100644 examples/sdk/react/src/components/ButtonWithError.tsx rename examples/sdk/react/src/{ => components}/Fallback.tsx (81%) create mode 100644 examples/sdk/react/src/components/InnerFallback.tsx diff --git a/examples/sdk/react/src/App.tsx b/examples/sdk/react/src/App.tsx index 0e75093b..e7df5897 100644 --- a/examples/sdk/react/src/App.tsx +++ b/examples/sdk/react/src/App.tsx @@ -1,9 +1,11 @@ import React, { useState } from 'react'; import './App.css'; -import { BacktraceClient } from '@backtrace/react'; +import { BacktraceClient, ErrorBoundary } from '@backtrace/react'; import { ToastContainer, toast } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; import { SUBMISSION_URL } from './consts'; +import InnerFallback from './components/InnerFallback'; +import ButtonWithError from './components/ButtonWithError'; function App() { const [clicked, setClicked] = useState(false); @@ -50,8 +52,11 @@ function App() {

+ }> + + diff --git a/examples/sdk/react/src/components/ButtonWithError.tsx b/examples/sdk/react/src/components/ButtonWithError.tsx new file mode 100644 index 00000000..bdafa489 --- /dev/null +++ b/examples/sdk/react/src/components/ButtonWithError.tsx @@ -0,0 +1,20 @@ +import { useState } from 'react'; + +export default function ButtonWithError() { + const [clicked, setClicked] = useState(false); + + function throwOnClicked() { + if (clicked) { + throw new Error('Test throw in ButtonWithBoundary to demonstrate an Inner Error Boundary'); + } + } + + return ( + <> + {throwOnClicked()} + + + ); +} diff --git a/examples/sdk/react/src/Fallback.tsx b/examples/sdk/react/src/components/Fallback.tsx similarity index 81% rename from examples/sdk/react/src/Fallback.tsx rename to examples/sdk/react/src/components/Fallback.tsx index a7fe9fb3..103f82a3 100644 --- a/examples/sdk/react/src/Fallback.tsx +++ b/examples/sdk/react/src/components/Fallback.tsx @@ -1,6 +1,6 @@ -import './App.css'; +import '../App.css'; -export function Fallback() { +export default function Fallback() { return (
@@ -10,7 +10,8 @@ export function Fallback() { alt="Sauce Labs" />

- This is the fallback component that gets rendered after a rendering error! + This is the fallback component that gets rendered after a rendering error within the main + ErrorBoundary!

Check your Backtrace console to see the Error and Component stacks!

diff --git a/examples/sdk/react/src/components/InnerFallback.tsx b/examples/sdk/react/src/components/InnerFallback.tsx new file mode 100644 index 00000000..4c46abd7 --- /dev/null +++ b/examples/sdk/react/src/components/InnerFallback.tsx @@ -0,0 +1,9 @@ +import { useEffect } from 'react'; +import { toast } from 'react-toastify'; + +export default function InnerFallback() { + useEffect(() => { + toast('Inner ErrorBoundary Triggered! Check your Backtrace console to see the Error and Component stacks.'); + }); + return null; +} diff --git a/examples/sdk/react/src/index.tsx b/examples/sdk/react/src/index.tsx index fdcf8b84..f3724af1 100644 --- a/examples/sdk/react/src/index.tsx +++ b/examples/sdk/react/src/index.tsx @@ -2,7 +2,7 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; import { ErrorBoundary, BacktraceClient } from '@backtrace/react'; -import { Fallback } from './Fallback'; +import Fallback from './components/Fallback'; import { SUBMISSION_URL } from './consts'; BacktraceClient.initialize({ @@ -21,7 +21,7 @@ BacktraceClient.initialize({ const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); root.render( - }> + }> , diff --git a/package-lock.json b/package-lock.json index d87c04f2..084d0146 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10431,9 +10431,10 @@ } }, "node_modules/ts-loader": { - "version": "9.4.3", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -11230,8 +11231,9 @@ } }, "node_modules/webpack": { - "version": "5.87.0", - "license": "MIT", + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -11770,8 +11772,9 @@ }, "node_modules/webpack-cli": { "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -12272,10 +12275,13 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.1", - "typescript": "^5.0.4" + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" }, "peerDependencies": { - "react": ">=16.14.0" + "react": ">=16.8.0" } }, "packages/sdk-core": { @@ -12845,7 +12851,10 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.1", - "typescript": "^5.0.4" + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" } }, "@backtrace/rollup-plugin": { @@ -19357,7 +19366,9 @@ } }, "ts-loader": { - "version": "9.4.3", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -19881,7 +19892,9 @@ "dev": true }, "webpack": { - "version": "5.87.0", + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -20274,6 +20287,8 @@ }, "webpack-cli": { "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", diff --git a/packages/react/package.json b/packages/react/package.json index c4a3f42c..be402d5d 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -37,9 +37,12 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.1", - "typescript": "^5.0.4" + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" }, "peerDependencies": { - "react": ">=16.14.0" + "react": ">=16.8.0" } } diff --git a/packages/react/src/ErrorBoundary.tsx b/packages/react/src/ErrorBoundary.tsx index 2348a6fc..0e6bfb14 100644 --- a/packages/react/src/ErrorBoundary.tsx +++ b/packages/react/src/ErrorBoundary.tsx @@ -7,6 +7,7 @@ type RenderFallback = () => ReactElement; export interface Props { children: ReactNode; fallback?: ReactElement | RenderFallback; + name?: string; } export interface State { @@ -32,7 +33,11 @@ export class ErrorBoundary extends Component { } public async componentDidCatch(error: Error, info: ErrorInfo) { - const report = new BacktraceReport(error); + const { name } = this.props; + const report = new BacktraceReport(error, { + 'errorboundary.name': name ?? 'main', + 'error.type': 'Unhandled exception', + }); report.addStackTrace(this.COMPONENT_THREAD_NAME, info.componentStack); await this._client.send(report); } From fda5b84763f746d899af64b8eeb2076d646c2101 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 9 Aug 2023 18:35:51 +0200 Subject: [PATCH 091/291] Browser breadcrumbs support (#64) * Browser breadcrumbs support * Code review adjustements to the WebREquestEventSubscriber * Add text as an attribute --- packages/browser/src/BacktraceClient.ts | 5 + .../breadcrumbs/DocumentEventSubscriber.ts | 170 ++++++++++++++++++ .../src/breadcrumbs/HistoryEventSubscriber.ts | 58 ++++++ .../breadcrumbs/WebRequestEventSubscriber.ts | 96 ++++++++++ .../src/builder/BacktraceClientBuilder.ts | 10 ++ .../builder/BacktraceReactClientBuilder.ts | 1 + .../events/ConsoleEventSubscriber.ts | 6 +- .../storage/InMemoryBreadcrumbsStorage.ts | 2 +- 8 files changed, 346 insertions(+), 2 deletions(-) create mode 100644 packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts create mode 100644 packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts create mode 100644 packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 2b49dbd1..f97e4b8d 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -4,6 +4,7 @@ import { BacktraceReport, BacktraceRequestHandler, BacktraceStackTraceConverter, + BreadcrumbsEventSubscriber, DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; @@ -18,6 +19,7 @@ export class BacktraceClient extends BacktraceCoreClient { handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[], stackTraceConverter: BacktraceStackTraceConverter, + breadcrumbsEventSubscriber: BreadcrumbsEventSubscriber[], ) { super( options, @@ -27,6 +29,9 @@ export class BacktraceClient extends BacktraceCoreClient { stackTraceConverter, new BacktraceBrowserSessionProvider(), new VariableDebugIdMapProvider(window as DebugIdContainer), + { + subscribers: breadcrumbsEventSubscriber, + }, ); this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); diff --git a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts new file mode 100644 index 00000000..c6cddd7d --- /dev/null +++ b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts @@ -0,0 +1,170 @@ +import { + BreadcrumbLogLevel, + BreadcrumbsEventSubscriber, + BreadcrumbsManager, + BreadcrumbType, +} from '@backtrace/sdk-core'; + +export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { + private readonly _controller: AbortController = new AbortController(); + + public start(breadcrumbsManager: BreadcrumbsManager): void { + const signal = this._controller.signal; + document.addEventListener( + 'click', + (mouseEvent: MouseEvent) => { + const target = mouseEvent.target as Element; + if (!target) { + return; + } + + breadcrumbsManager.addBreadcrumb( + `Clicked ${target.id} ${target.tagName}`, + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + { + id: target.id, + class: target.className, + name: target.tagName, + text: (target as { text?: string })?.text, + }, + ); + }, + { + signal, + }, + ); + + document.addEventListener( + 'dblclick', + (mouseEvent: MouseEvent) => { + const target = mouseEvent.target as Element; + if (!target) { + return; + } + + breadcrumbsManager.addBreadcrumb( + `Double clicked ${target.id} ${target.tagName}`, + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + { + id: target.id, + class: target.className, + name: target.tagName, + text: (target as { text?: string })?.text, + }, + ); + }, + { + signal, + }, + ); + + document.addEventListener( + 'drag', + (dragEvent: DragEvent) => { + const target = dragEvent.target as Element; + if (!target) { + return; + } + + breadcrumbsManager.addBreadcrumb( + `An element ${target.id} ${target.tagName} is being dragged`, + BreadcrumbLogLevel.Debug, + BreadcrumbType.User, + { + id: target.id, + class: target.className, + name: target.tagName, + }, + ); + }, + { + signal, + }, + ); + + document.addEventListener( + 'drop', + (dragEvent: DragEvent) => { + const target = dragEvent.target as Element; + if (!target) { + return; + } + + breadcrumbsManager.addBreadcrumb( + `A dragged element is dropped on the target ${target.id} ${target.tagName}`, + BreadcrumbLogLevel.Debug, + BreadcrumbType.User, + { + id: target.id, + class: target.className, + name: target.tagName, + }, + ); + }, + { + signal, + }, + ); + + window.addEventListener('load', () => { + breadcrumbsManager.addBreadcrumb(`The page has loaded`, BreadcrumbLogLevel.Info, BreadcrumbType.System); + }); + + window.addEventListener('unload', () => { + breadcrumbsManager.addBreadcrumb( + `The page started unloading`, + BreadcrumbLogLevel.Info, + BreadcrumbType.System, + ); + }); + + window.addEventListener('pagehide', () => { + breadcrumbsManager.addBreadcrumb( + 'User navigates away from a webpage', + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + ); + }); + + window.addEventListener('pageshow', () => { + breadcrumbsManager.addBreadcrumb( + 'User navigates to a webpage', + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + ); + }); + + window.addEventListener( + 'online', + () => { + breadcrumbsManager.addBreadcrumb( + `The browser starts working online`, + BreadcrumbLogLevel.Info, + BreadcrumbType.System, + ); + }, + { + signal, + }, + ); + + window.addEventListener( + 'offline', + () => { + breadcrumbsManager.addBreadcrumb( + `The browser starts working offline `, + BreadcrumbLogLevel.Warning, + BreadcrumbType.System, + ); + }, + { + signal, + }, + ); + } + public dispose(): void { + this._controller.abort(); + } +} diff --git a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts new file mode 100644 index 00000000..a40c36ac --- /dev/null +++ b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts @@ -0,0 +1,58 @@ +import { + BreadcrumbLogLevel, + BreadcrumbsEventSubscriber, + BreadcrumbsManager, + BreadcrumbType, +} from '@backtrace/sdk-core'; + +export class HistoryEventSubscriber implements BreadcrumbsEventSubscriber { + private _abortController = new AbortController(); + private _originalHistoryPushStateMethod?: typeof history.pushState; + public start(breadcrumbsManager: BreadcrumbsManager): void { + if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Navigation) !== BreadcrumbType.Navigation) { + return; + } + window.addEventListener( + 'popstate', + (event: PopStateEvent) => { + breadcrumbsManager.addBreadcrumb( + `Navigating back to ${document.location}`, + BreadcrumbLogLevel.Info, + BreadcrumbType.Navigation, + { + location: document.location.toString(), + state: event.state, + }, + ); + }, + { + signal: this._abortController.signal, + }, + ); + + const originalHistoryPushStateMethod = history.pushState; + history.pushState = (...args) => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [data, _, url] = args; + originalHistoryPushStateMethod.apply(history, args); + breadcrumbsManager.addBreadcrumb( + `Navigating to ${document.location}`, + BreadcrumbLogLevel.Info, + BreadcrumbType.Navigation, + { + url: url?.toString(), + data, + location: document.location.toString(), + }, + ); + }; + this._originalHistoryPushStateMethod = originalHistoryPushStateMethod; + } + + public dispose(): void { + this._abortController.abort(); + if (this._originalHistoryPushStateMethod) { + history.pushState = this._originalHistoryPushStateMethod; + } + } +} diff --git a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts new file mode 100644 index 00000000..c81adff7 --- /dev/null +++ b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts @@ -0,0 +1,96 @@ +import { + BreadcrumbLogLevel, + BreadcrumbsEventSubscriber, + BreadcrumbsManager, + BreadcrumbType, +} from '@backtrace/sdk-core'; + +export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { + private _xmlHttpRequestOriginalOpenMethod?: typeof XMLHttpRequest.prototype.open; + private _fetchOriginalMethod?: typeof window.fetch; + + public start(breadcrumbsManager: BreadcrumbsManager): void { + if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Http) !== BreadcrumbType.Http) { + return; + } + const xmlHttpRequestOriginalOpenMethod = XMLHttpRequest.prototype.open; + + XMLHttpRequest.prototype.open = function ( + method: string, + url: string | URL, + async?: boolean, + username?: string | null, + password?: string | null, + ) { + const readyStateChangeCallback = this.onreadystatechange; + this.onreadystatechange = (event: Event) => { + if (this.readyState === XMLHttpRequest.DONE) { + breadcrumbsManager.addBreadcrumb( + `Sent an HTTP ${method} request to ${url}. Response status code: ${this.status}`, + BreadcrumbLogLevel.Debug, + BreadcrumbType.Http, + { + method, + url: url.toString(), + statusCode: this.status, + }, + ); + } + + readyStateChangeCallback?.apply(this, [event]); + }; + + xmlHttpRequestOriginalOpenMethod.call(this, method, url, async || true, username, password); + }; + + this._xmlHttpRequestOriginalOpenMethod = xmlHttpRequestOriginalOpenMethod; + + const fetchOriginalMethod = window.fetch; + + window.fetch = async function (resource, config) { + const method = config?.method ?? 'GET'; + const attributes = { + url: resource.toString(), + method: method, + referrer: config?.referrer, + }; + + try { + const result = await fetchOriginalMethod(resource, config); + breadcrumbsManager.addBreadcrumb( + `Sent an HTTP ${method} request to ${resource}. Response status code: ${result.status}`, + BreadcrumbLogLevel.Debug, + BreadcrumbType.Http, + { + ...attributes, + statusCode: result.status, + }, + ); + + return result; + } catch (e) { + breadcrumbsManager.addBreadcrumb( + `HTTP ${method} failure on request to ${resource}. Reason: ${ + e instanceof Error ? e.message : e?.toString() ?? 'unknown' + }`, + BreadcrumbLogLevel.Warning, + BreadcrumbType.Http, + attributes, + ); + throw e; + } + }; + + this._fetchOriginalMethod = fetchOriginalMethod; + } + + public dispose(): void { + if (this._fetchOriginalMethod) { + window.fetch = this._fetchOriginalMethod; + } + + if (this._xmlHttpRequestOriginalOpenMethod) { + XMLHttpRequest.prototype.open = this._xmlHttpRequestOriginalOpenMethod; + } + } +} diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index c911cf4d..41a6c59d 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -8,11 +8,19 @@ import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; import { BacktraceClient } from '../BacktraceClient'; import { BacktraceConfiguration } from '../BacktraceConfiguration'; +import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber'; +import { HistoryEventSubscriber } from '../breadcrumbs/HistoryEventSubscriber'; +import { WebRequestEventSubscriber } from '../breadcrumbs/WebRequestEventSubscriber'; import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStackTraceConverter'; import { getEngine } from '../engineDetector'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + protected readonly breadcrumbsEventSubscribers = [ + new WebRequestEventSubscriber(), + new DocumentEventSubscriber(), + new HistoryEventSubscriber(), + ]; constructor(protected readonly options: BacktraceConfiguration) { super(new BacktraceBrowserRequestHandler(options), [ new UserAgentAttributeProvider(), @@ -22,12 +30,14 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder = {}; public start(breadcrumbsManager: BreadcrumbsManager): void { + if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Log) !== BreadcrumbType.Log) { + return; + } + this.bindToConsoleMethod('log', BreadcrumbLogLevel.Info, breadcrumbsManager); this.bindToConsoleMethod('warn', BreadcrumbLogLevel.Warning, breadcrumbsManager); this.bindToConsoleMethod('error', BreadcrumbLogLevel.Error, breadcrumbsManager); @@ -37,7 +41,7 @@ export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { (console[name] as ConsoleMethod) = (...args: unknown[]) => { defaultImplementation.apply(console, args); const message = format(...args); - breadcrumbsManager.addBreadcrumb(message, level, BreadcrumbType.System); + breadcrumbsManager.addBreadcrumb(message, level, BreadcrumbType.Log); }; this._events[name] = originalMethod; } diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts index 483a913d..c15e50f6 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts @@ -41,7 +41,7 @@ export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { const breadcrumb: Breadcrumb = { id, message, - timestamp: TimeHelper.toTimestampInSec(TimeHelper.now()), + timestamp: TimeHelper.now(), type: BreadcrumbType[type].toLowerCase(), level: BreadcrumbLogLevel[level].toLowerCase(), }; From f23f54bf55bd72c5e6b5ab410e00fe59e713fbdf Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 10 Aug 2023 08:50:13 +0000 Subject: [PATCH 092/291] cli: add chmod +x after build --- tools/cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/package.json b/tools/cli/package.json index 3aeca79d..1a91ead4 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -11,7 +11,7 @@ "backtrace-js": "./lib/index.js" }, "scripts": { - "build": "tsc", + "build": "tsc && chmod +x ./lib/index.js", "clean": "tsc -b --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", From 932282c0973f30145a5de7ca6e2876075e5893cd Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 10 Aug 2023 13:33:47 +0200 Subject: [PATCH 093/291] cli: quality of life improvements (#67) * cli: add version option * cli: add more info about missing files * cli: add .backtracejsrc config file support * cli: add jsonc support for .backtracejsrc * cli: add alternate path for package.json --------- Co-authored-by: Sebastian Alex --- package-lock.json | 101 +++++++++++++++++---- tools/cli/package.json | 3 +- tools/cli/src/commands/Command.ts | 31 ++++++- tools/cli/src/helpers/jsonc.ts | 7 ++ tools/cli/src/helpers/normalizePaths.ts | 15 +++ tools/cli/src/helpers/version.ts | 16 ++++ tools/cli/src/index.ts | 42 ++++++++- tools/cli/src/options/loadOptions.ts | 45 +++++++++ tools/cli/src/options/models/CliOptions.ts | 22 +++++ tools/cli/src/sourcemaps/add-sources.ts | 32 +++++-- tools/cli/src/sourcemaps/process.ts | 31 +++++-- tools/cli/src/sourcemaps/upload.ts | 47 ++++++++-- 12 files changed, 342 insertions(+), 50 deletions(-) create mode 100644 tools/cli/src/helpers/jsonc.ts create mode 100644 tools/cli/src/helpers/normalizePaths.ts create mode 100644 tools/cli/src/helpers/version.ts create mode 100644 tools/cli/src/options/loadOptions.ts create mode 100644 tools/cli/src/options/models/CliOptions.ts diff --git a/package-lock.json b/package-lock.json index 084d0146..f62002cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4569,7 +4569,6 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -5404,6 +5403,11 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "dev": true, @@ -6379,7 +6383,6 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, "license": "MIT" }, "node_modules/is-bigint": { @@ -7513,7 +7516,6 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { @@ -7545,6 +7547,42 @@ "json5": "lib/cli.js" } }, + "node_modules/jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "dependencies": { + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsonc/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsonc/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, "node_modules/kind-of": { "version": "6.0.3", "dev": true, @@ -7874,7 +7912,6 @@ }, "node_modules/minimist": { "version": "1.2.8", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7922,7 +7959,6 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "dev": true, "license": "MIT", "dependencies": { "minimist": "^1.2.6" @@ -10035,7 +10071,6 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -12303,7 +12338,8 @@ "@backtrace/sourcemap-tools": "^0.0.1", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3" + "glob": "^10.3.3", + "jsonc": "^2.0.0" }, "bin": { "backtrace-js": "lib/index.js" @@ -12825,7 +12861,8 @@ "@types/command-line-usage": "^5.0.2", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3" + "glob": "^10.3.3", + "jsonc": "*" } }, "@backtrace/node": { @@ -15531,7 +15568,6 @@ }, "error-ex": { "version": "1.3.2", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -16122,6 +16158,11 @@ "version": "2.0.6", "dev": true }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, "fastest-levenshtein": { "version": "1.0.16", "dev": true @@ -16736,8 +16777,7 @@ } }, "is-arrayish": { - "version": "0.2.1", - "dev": true + "version": "0.2.1" }, "is-bigint": { "version": "1.0.4", @@ -17468,8 +17508,7 @@ "dev": true }, "json-parse-better-errors": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "json-parse-even-better-errors": { "version": "2.3.1" @@ -17492,6 +17531,35 @@ "minimist": "^1.2.0" } }, + "jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "requires": { + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + } + } + }, "kind-of": { "version": "6.0.3", "dev": true @@ -17709,8 +17777,7 @@ } }, "minimist": { - "version": "1.2.8", - "dev": true + "version": "1.2.8" }, "minipass": { "version": "7.0.2", @@ -17743,7 +17810,6 @@ }, "mkdirp": { "version": "0.5.6", - "dev": true, "requires": { "minimist": "^1.2.6" } @@ -19123,8 +19189,7 @@ "dev": true }, "strip-json-comments": { - "version": "3.1.1", - "dev": true + "version": "3.1.1" }, "supports-color": { "version": "7.2.0", diff --git a/tools/cli/package.json b/tools/cli/package.json index 1a91ead4..b0cf075d 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -43,7 +43,8 @@ "@backtrace/sourcemap-tools": "^0.0.1", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3" + "glob": "^10.3.3", + "jsonc": "^2.0.0" }, "devDependencies": { "@types/command-line-args": "^5.2.0", diff --git a/tools/cli/src/commands/Command.ts b/tools/cli/src/commands/Command.ts index 8f63b743..9899a3c0 100644 --- a/tools/cli/src/commands/Command.ts +++ b/tools/cli/src/commands/Command.ts @@ -5,7 +5,7 @@ import { LoggerOptions, createLogger } from '../logger'; import { CommandError } from '../models/CommandError'; import { ExtendedOptionDefinition } from '../models/OptionDefinition'; -const CLI_COMMAND = 'backtrace'; +const CLI_COMMAND = 'backtrace-js'; export class Command { public readonly subcommands: Command[] = []; @@ -15,6 +15,7 @@ export class Command { this: this, values: Partial, stack?: Command[], + unknown?: string[], ) => Result | Promise>; constructor(public readonly definition: ExtendedOptionDefinition) {} @@ -52,11 +53,19 @@ export class Command { localOptions.push(subcommandOption); } - const values = commandLineArgs(localOptions, { + const valuesResult = this.safeCommandLineArgs(localOptions, { argv, stopAtFirstUnknown: subCommandMode, }); + if (valuesResult.isErr()) { + const logger = createLogger(); + logger.info(this.getHelpMessage(stack)); + return valuesResult.mapErr((error) => ({ command: this, error, stack })); + } + + const values = valuesResult.data; + if (subCommandMode && values._subcommand) { const subcommand = this.subcommands.find((s) => s.definition.name === values._subcommand); if (subcommand) { @@ -73,7 +82,9 @@ export class Command { } if (this._execute) { - return (await this._execute.call(this, values as T, stack)).mapErr((error) => ({ + return ( + await this._execute.call(this, values as T, stack, [...(values._unknown ?? []), values._subcommand]) + ).mapErr((error) => ({ command: this, error, stack, @@ -165,4 +176,18 @@ export class Command { return commandLineUsage(sections); } + + private safeCommandLineArgs(...args: Parameters) { + try { + return Ok(commandLineArgs(...args)); + } catch (err) { + if (err instanceof Error) { + if (err.name === 'UNKNOWN_OPTION') { + return Err(err.message); + } + } + + throw err; + } + } } diff --git a/tools/cli/src/helpers/jsonc.ts b/tools/cli/src/helpers/jsonc.ts new file mode 100644 index 00000000..361e38be --- /dev/null +++ b/tools/cli/src/helpers/jsonc.ts @@ -0,0 +1,7 @@ +import { Err, Ok, Result } from '@backtrace/sourcemap-tools'; +import { jsonc } from 'jsonc'; + +export function parseJSONC(content: string): Result { + const [err, result] = jsonc.safe.parse(content); + return !err ? Ok(result) : Err(`failed to parse content: ${err.message}`); +} diff --git a/tools/cli/src/helpers/normalizePaths.ts b/tools/cli/src/helpers/normalizePaths.ts new file mode 100644 index 00000000..ca054471 --- /dev/null +++ b/tools/cli/src/helpers/normalizePaths.ts @@ -0,0 +1,15 @@ +export function normalizePaths(paths: string | string[] | undefined, defaults: string | string[]) { + if (!paths || !paths.length) { + return toArray(defaults); + } + + return toArray(paths); +} + +function toArray(t: T | T[]) { + if (Array.isArray(t)) { + return t; + } + + return [t]; +} diff --git a/tools/cli/src/helpers/version.ts b/tools/cli/src/helpers/version.ts new file mode 100644 index 00000000..4329229b --- /dev/null +++ b/tools/cli/src/helpers/version.ts @@ -0,0 +1,16 @@ +import { AsyncResult, parseJSON, readFile } from '@backtrace/sourcemap-tools'; +import path from 'path'; + +interface PackageJson { + readonly version: string; +} + +export function loadVersion() { + const packageJsonPath = require.main?.path + ? path.join(require.main?.path, '..', 'package.json') + : path.join(__dirname, '../../package.json'); + + return AsyncResult.equip(readFile(packageJsonPath)) + .then(parseJSON) + .then((p) => p.version).inner; +} diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index 2ca56c67..74b4c336 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -1,17 +1,25 @@ #!/usr/bin/env node +import { AsyncResult, Err } from '@backtrace/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import { Command } from './commands/Command'; +import { loadVersion } from './helpers/version'; import { LoggerOptions, createLogger } from './logger'; +import { DEFAULT_OPTIONS_PATH } from './options/loadOptions'; import { addSourcesCmd } from './sourcemaps/add-sources'; import { processCmd } from './sourcemaps/process'; import { uploadCmd } from './sourcemaps/upload'; export interface GlobalOptions extends LoggerOptions { readonly help: boolean; + readonly config: string; } -const mainCommand = new Command({ +export interface MainOptions { + readonly version: boolean; +} + +const mainCommand = new Command({ name: '', }) .subcommand(processCmd) @@ -44,6 +52,38 @@ const mainCommand = new Command({ type: String, global: true, description: 'Sets the logging level. Can be one of: quiet, error, warn, info, debug, verbose. Default: info', + }) + .option({ + name: 'config', + type: String, + global: true, + description: `Path to the config file. Default: ${DEFAULT_OPTIONS_PATH}`, + }) + .option({ + name: 'version', + type: Boolean, + description: 'Displays the version of backtrace-js', + }) + .execute(function (opts, stack, unknown) { + const logger = createLogger(opts); + if (opts.version) { + return AsyncResult.equip(loadVersion()) + .then((version) => logger.output(version)) + .then(() => 0).inner; + } else { + logger.info(this.getHelpMessage(stack)); + + const unknownOption = unknown?.[0]; + if (!unknownOption) { + return Err(`Unknown command.`); + } + + if (unknownOption.startsWith('-')) { + return Err(`Unknown option: ${unknownOption}`); + } + + return Err(`Unknown command: ${unknownOption}`); + } }); (async () => { diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts new file mode 100644 index 00000000..2ac8d750 --- /dev/null +++ b/tools/cli/src/options/loadOptions.ts @@ -0,0 +1,45 @@ +import { AsyncResult, Ok, ResultPromise, parseJSON, readFile } from '@backtrace/sourcemap-tools'; +import { parseJSONC } from '../helpers/jsonc'; +import { CliOptions, CommandCliOptions } from './models/CliOptions'; + +export const DEFAULT_OPTIONS_PATH = '.backtracejsrc'; + +export function loadAndJoinOptions(path?: string) { + return async function loadAndJoinOptions( + key: K, + options: Partial, + defaults?: Partial, + ): ResultPromise, string> { + const readResult = await readFile(path ?? DEFAULT_OPTIONS_PATH); + if (readResult.isErr()) { + return path ? readResult : Ok(options); + } + + return AsyncResult.equip(readResult) + .then(parseJSONC) + .then(joinOptions(key, options, defaults)).inner; + }; +} + +export function loadOptions(path?: string) { + return AsyncResult.equip(readFile(path ?? DEFAULT_OPTIONS_PATH)).then(parseJSON).inner; +} + +export function joinOptions( + key: K, + options: Partial, + defaults?: Partial, +) { + return function joinOptions(loadedOptions: CliOptions): Partial { + // console.log(key, defaults, loadedOptions, loadedOptions[key], options); + return { + ...defaults, + ...loadedOptions, + ...loadedOptions[key], + ...options, + 'add-sources': undefined, + upload: undefined, + process: undefined, + }; + }; +} diff --git a/tools/cli/src/options/models/CliOptions.ts b/tools/cli/src/options/models/CliOptions.ts new file mode 100644 index 00000000..a49ae528 --- /dev/null +++ b/tools/cli/src/options/models/CliOptions.ts @@ -0,0 +1,22 @@ +import { GlobalOptions } from '../..'; +import { AddSourcesOptions } from '../../sourcemaps/add-sources'; +import { ProcessOptions } from '../../sourcemaps/process'; +import { UploadOptions } from '../../sourcemaps/upload'; + +export type CommonCliOptions = Omit< + { + [K in keyof UploadOptions & keyof AddSourcesOptions & keyof ProcessOptions]: + | UploadOptions[K] + | AddSourcesOptions[K] + | ProcessOptions[K]; + }, + keyof GlobalOptions +>; + +export interface CommandCliOptions { + readonly upload: UploadOptions; + readonly 'add-sources': AddSourcesOptions; + readonly process: ProcessOptions; +} + +export type CliOptions = Partial; diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index 35f059ff..51b0625a 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -18,10 +18,12 @@ import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; +import { normalizePaths } from '../helpers/normalizePaths'; import { CliLogger, createLogger } from '../logger'; +import { loadAndJoinOptions } from '../options/loadOptions'; -interface AddSourcesOptions extends GlobalOptions { - readonly path: string[]; +export interface AddSourcesOptions extends GlobalOptions { + readonly path: string | string[]; readonly 'dry-run': boolean; readonly force: boolean; readonly skipFailing: boolean; @@ -44,7 +46,6 @@ export const addSourcesCmd = new Command({ name: 'path', description: 'Path to sourcemap files to append sources to.', defaultOption: true, - defaultValue: process.cwd(), multiple: true, alias: 'p', }) @@ -53,27 +54,35 @@ export const addSourcesCmd = new Command({ alias: 'n', type: Boolean, description: 'Does not modify the files at the end.', - defaultValue: false, }) .option({ name: 'force', alias: 'f', type: Boolean, description: 'Processes files even if sourcesContent is not empty. Will overwrite existing sources.', - defaultValue: false, }) .option({ name: 'pass-with-no-files', type: Boolean, description: 'Exits with zero exit code if no sourcemaps are found.', }) - .execute(function (opts, stack) { + .execute(async function (opts, stack) { const logger = createLogger(opts); const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + + const optsResult = await loadAndJoinOptions(opts.config)('add-sources', opts, { + path: process.cwd(), + }); + if (optsResult.isErr()) { + return optsResult; + } + + opts = optsResult.data; + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - const searchPaths = opts.path; - if (!searchPaths) { + const searchPaths = normalizePaths(opts.path, process.cwd()); + if (!searchPaths.length) { logger.info(this.getHelpMessage(stack)); return Err('path must be specified'); } @@ -133,13 +142,18 @@ export const addSourcesCmd = new Command({ .then(filter(matchSourceMapExtension)) .then(logDebug((r) => `found ${r.length} files matching sourcemap extension`)) .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) .then(map(readAssetCommand)) .then(map(loadAssetCommand)) .then(opts.force ? Ok : filterAssetsCommand) .then(logDebug((r) => `adding sources to ${r.length} files`)) .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no valid sourcemaps found')) + .then( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no sourcemaps without sources found, use --force to overwrite sources'), + ) .then(map(addSourceCommand)) .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)) .then(map(output(logger))) diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index e6333772..79b715fe 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -19,10 +19,12 @@ import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; +import { normalizePaths } from '../helpers/normalizePaths'; import { CliLogger, createLogger } from '../logger'; +import { loadAndJoinOptions } from '../options/loadOptions'; -interface ProcessOptions extends GlobalOptions { - readonly path: string[]; +export interface ProcessOptions extends GlobalOptions { + readonly path: string | string[]; readonly 'dry-run': boolean; readonly force: boolean; readonly 'pass-with-no-files': boolean; @@ -36,7 +38,6 @@ export const processCmd = new Command({ name: 'path', description: 'Path to sourcemap files or directories containing sourcemaps to upload.', defaultOption: true, - defaultValue: process.cwd(), multiple: true, alias: 'p', }) @@ -45,26 +46,35 @@ export const processCmd = new Command({ alias: 'n', type: Boolean, description: 'Does not modify the files at the end.', - defaultValue: false, }) .option({ name: 'force', alias: 'f', type: Boolean, description: 'Processes files even if already processed.', - defaultValue: false, }) .option({ name: 'pass-with-no-files', type: Boolean, description: 'Exits with zero exit code if no files for processing are found.', }) - .execute(function (opts, stack) { + .execute(async function (opts, stack) { const logger = createLogger(opts); const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + + const optsResult = await loadAndJoinOptions(opts.config)('process', opts, { + path: process.cwd(), + }); + + if (optsResult.isErr()) { + return optsResult; + } + + opts = optsResult.data; + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - const searchPaths = opts.path; + const searchPaths = normalizePaths(opts.path, process.cwd()); if (!searchPaths) { logger.info(this.getHelpMessage(stack)); return Err('path must be specified'); @@ -113,11 +123,16 @@ export const processCmd = new Command({ .then(filter(matchSourceExtension)) .then(logDebug((r) => `found ${r.length} files matching source extension`)) .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) .then(map(toAsset)) .then(opts.force ? Ok : filterUnprocessedAssetsCommand) .then(logDebug((r) => `processing ${r.length} files`)) .then(map(logTrace(({ path }) => `file to process: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no files for processing found')) + .then( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no files for processing found, they may be already processed'), + ) .then(map(processCommand)) .then(opts['dry-run'] ? Ok : map(writeCommand)) .then(map(output(logger))) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index d19ca09c..5b35aa43 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -28,9 +28,11 @@ import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; +import { normalizePaths } from '../helpers/normalizePaths'; import { CliLogger, createLogger } from '../logger'; +import { loadAndJoinOptions } from '../options/loadOptions'; -interface UploadOptions extends GlobalOptions { +export interface UploadOptions extends GlobalOptions { readonly url: string; readonly path: string[]; readonly 'include-sources': string; @@ -50,14 +52,12 @@ export const uploadCmd = new Command({ type: String, description: 'URL to upload to. You can use also BACKTRACE_JS_UPLOAD_URL env variable.', alias: 'u', - defaultValue: process.env.BACKTRACE_JS_UPLOAD_URL, }) .option({ name: 'path', type: String, description: 'Path to sourcemap files or directories containing sourcemaps to upload.', defaultOption: true, - defaultValue: process.cwd(), multiple: true, alias: 'p', }) @@ -65,28 +65,24 @@ export const uploadCmd = new Command({ name: 'include-sources', type: Boolean, description: 'Uploads the sourcemaps with "sourcesContent" key.', - defaultValue: false, }) .option({ name: 'insecure', alias: 'k', type: Boolean, description: 'Disables HTTPS certificate checking.', - defaultValue: false, }) .option({ name: 'dry-run', alias: 'n', type: Boolean, description: 'Does not upload the files at the end.', - defaultValue: false, }) .option({ name: 'force', alias: 'f', type: Boolean, description: 'Upload files even if not processed.', - defaultValue: false, }) .option({ name: 'pass-with-no-files', @@ -99,12 +95,23 @@ export const uploadCmd = new Command({ description: 'If set, archive with sourcemaps will be outputted to this path instead of being uploaded.', type: String, }) - .execute(function (opts, stack) { + .execute(async function (opts, stack) { const logger = createLogger(opts); const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + + const optsResult = await loadAndJoinOptions(opts.config)('upload', opts, { + url: process.env.BACKTRACE_JS_UPLOAD_URL, + }); + + if (optsResult.isErr()) { + return optsResult; + } + + opts = optsResult.data; + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - const searchPaths = opts.path; + const searchPaths = normalizePaths(opts.path, process.cwd()); if (!searchPaths) { logger.info(this.getHelpMessage(stack)); return Err('path must be specified'); @@ -117,6 +124,13 @@ export const uploadCmd = new Command({ return Err('upload URL is required.'); } + if (uploadUrl) { + const result = validateUrl(uploadUrl); + if (result.isErr()) { + return result; + } + } + const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); const logDebugAsset = logAsset(logger, 'debug'); @@ -177,18 +191,31 @@ export const uploadCmd = new Command({ .then(filter(matchSourceMapExtension)) .then(logDebug((r) => `found ${r.length} files matching sourcemap extension`)) .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) .then(opts.force ? Ok : filterProcessedAssetsCommand) .then(map(loadSourceMapCommand)) .then(logDebug((r) => `uploading ${r.length} files`)) .then(map(logTrace(({ path }) => `file to upload: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no files for uploading found')) + .then( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no processed sourcemaps found, make sure to run process first'), + ) .then(createArchiveCommand) .then((archive) => (opts['dry-run'] ? Ok(null) : saveArchiveCommand(archive))) .then(output(logger)) .then(() => 0).inner; }); +function validateUrl(url: string) { + try { + return Ok(new URL(url)); + } catch { + return Err(`invalid URL: ${url}`); + } +} + function toAsset(file: string): Asset { return { name: file, path: file }; } From 6b93fe1aa77b98623b6b435ec7ce9772ca63af04 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 10 Aug 2023 14:38:11 +0200 Subject: [PATCH 094/291] Remove deduplication configuration --- .../BacktraceDatabaseConfiguration.ts | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index b43624dd..dab965fc 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -1,25 +1,3 @@ -export enum DeduplicationStrategy { - /** - * Duplicated reports are not aggregated - */ - None = 0, - /** - * Aggregates based on the current stack trace - */ - Callstack = 1 << 0, - /** - * Aggregates by stack trace and exception type - */ - Classifier = 1 << 1, - /** - * Aggregates by stack trace and exception message - */ - Message = 1 << 2, - /** - * Aggregates by faulting callstack, exception type, and exception message - */ - All = ~(~0 << 4) - 1, -} export interface EnabledBacktraceDatabaseConfiguration { /** * Determine if the Database is enabled @@ -35,12 +13,6 @@ export interface EnabledBacktraceDatabaseConfiguration { */ createDatabaseDirectory?: boolean; - /** - * Duplicated reports aggregration settings. If defined, the same reports can be combined - * together. - */ - deduplicationStrategy?: DeduplicationStrategy; - /** * Sends reports to the server based on the retry settings. * If the value is set to 'false', you can use the Flush or Send methods as an alternative. From e7ce9aaeb340d65db154f0828ebe4d5f65624c29 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 10 Aug 2023 18:09:49 +0200 Subject: [PATCH 095/291] node: add node diagnostics fatal error crash storage (#65) * sdk core: add option of adding stackframes to BacktraceReport * sdk-core: option of overriding timestamp and classifiers in BacktraceReport * sdks: add initialize method in all sdks * node: add node diagnostic reports support * node: add more information to node diagnostic report * node: move NodeDiagnosticReportRecord funcionality to NodeDiagnosticReportConverter, change error.type to Crash * node: loading and capturing of node diagnostic reports * node: use process.report.directory if available * chore: fix unit tests * sdk-core, node: add captureNativeCrashes option to database and use it in node --------- Co-authored-by: Sebastian Alex --- examples/sdk/browser/src/index.ts | 4 +- examples/sdk/node/src/index.ts | 4 +- packages/browser/src/BacktraceClient.ts | 8 +- packages/node/src/BacktraceClient.ts | 91 ++++- .../NodeDiagnosticReportConverter.ts | 79 +++++ .../database/models/NodeDiagnosticReport.ts | 331 ++++++++++++++++++ packages/react/src/BacktraceClient.ts | 6 +- packages/sdk-core/src/BacktraceCoreClient.ts | 10 +- .../BacktraceDatabaseConfiguration.ts | 6 + .../src/model/report/BacktraceErrorType.ts | 2 +- .../src/model/report/BacktraceReport.ts | 31 +- .../src/modules/data/BacktraceDataBuilder.ts | 11 +- .../src/modules/database/BacktraceDatabase.ts | 9 + .../tests/mocks/BacktraceTestClient.ts | 8 +- .../sdk-core/tests/report/reportTests.spec.ts | 11 + 15 files changed, 587 insertions(+), 24 deletions(-) create mode 100644 packages/node/src/converter/NodeDiagnosticReportConverter.ts create mode 100644 packages/node/src/database/models/NodeDiagnosticReport.ts diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts index 4151dfa9..7220a346 100644 --- a/examples/sdk/browser/src/index.ts +++ b/examples/sdk/browser/src/index.ts @@ -1,7 +1,7 @@ import { BacktraceClient, BacktraceStringAttachment } from '@backtrace/browser'; import { SUBMISSION_URL } from './consts'; -const client = BacktraceClient.builder({ +const client = BacktraceClient.initialize({ url: SUBMISSION_URL, name: '@backtrace/browser-example', version: '0.0.1', @@ -12,7 +12,7 @@ const client = BacktraceClient.builder({ prop2: 123, }, }, -}).build(); +}); function parseNotExistingDomElement(): string { const element = document.getElementById('not-existing-id') as HTMLElement; diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 76ce96d9..985554e8 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -9,7 +9,7 @@ const reader = readline.createInterface({ output: process.stdout, }); -const client = BacktraceClient.builder({ +const client = BacktraceClient.initialize({ url: SUBMISSION_URL, attachments: [path.join(process.cwd(), 'samplefile.txt')], rateLimit: 5, @@ -24,7 +24,7 @@ const client = BacktraceClient.builder({ enabled: true, path: path.join(process.cwd(), 'database'), }, -}).build(); +}); console.log('Welcome to the @Backtrace/node demo'); diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index f97e4b8d..dec6753b 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -8,9 +8,9 @@ import { DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; -import { AGENT } from './agentDefinition'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { @@ -41,6 +41,12 @@ export class BacktraceClient extends BacktraceCoreClient { return new BacktraceClientBuilder(options); } + public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void) { + const builder = this.builder(options); + build && build(builder); + return builder.build().initialize(); + } + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { if (captureUnhandledExceptions) { window.addEventListener('error', async (errorEvent: ErrorEvent) => { diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 7228ec5f..a47a73d2 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,16 +1,20 @@ import { BacktraceAttributeProvider, - BacktraceConfiguration as CoreConfiguration, BacktraceCoreClient, BacktraceReport, BacktraceRequestHandler, + BacktraceConfiguration as CoreConfiguration, DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; -import { AGENT } from './agentDefinition'; +import fs from 'fs'; +import * as fsPromise from 'fs/promises'; +import path from 'path'; import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { NodeOptionReader } from './common/NodeOptionReader'; +import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; import { BacktraceDatabaseFileStorageProvider } from './database/BacktraceDatabaseFileStorageProvider'; export class BacktraceClient extends BacktraceCoreClient { @@ -30,14 +34,33 @@ export class BacktraceClient extends BacktraceCoreClient { undefined, BacktraceDatabaseFileStorageProvider.createIfValid(options.database), ); + } + + public initialize() { + super.initialize(); + + this.loadNodeCrashes(); + + this.captureUnhandledErrors( + this.options.captureUnhandledErrors, + this.options.captureUnhandledPromiseRejections, + ); + + this.captureNodeCrashes(); - this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); + return this; } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { return new BacktraceClientBuilder(options); } + public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void) { + const builder = this.builder(options); + build && build(builder); + return builder.build().initialize(); + } + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { if (!captureUnhandledExceptions && !captureUnhandledRejections) { return; @@ -130,4 +153,66 @@ export class BacktraceClient extends BacktraceCoreClient { }; process.prependListener('unhandledRejection', captureUnhandledRejectionsCallback); } + + private captureNodeCrashes() { + if (!process.report) { + return; + } + + if (!this.options.database?.enabled) { + return; + } + + if (!this.options.database?.captureNativeCrashes) { + return; + } + + process.report.reportOnFatalError = true; + if (!process.report.directory) { + process.report.directory = this.options.database.path; + } + } + + private async loadNodeCrashes() { + if (!this.options.database?.captureNativeCrashes) { + return; + } + + const reportName = process.report?.filename; + const databasePath = process.report?.directory + ? process.report.directory + : this.options.database?.path ?? process.cwd(); + + const databaseFiles = fs.readdirSync(databasePath, { + encoding: 'utf8', + withFileTypes: true, + }); + + const converter = new NodeDiagnosticReportConverter(); + + const recordNames = databaseFiles + .filter( + (file) => + file.isFile() && + // If the user specifies a preset name for reports, we should compare it directly + // Otherwise, match the default name + (reportName + ? file.name === reportName + : file.name.startsWith('report.') && file.name.endsWith('.json')), + ) + .map((n) => n.name); + + for (const recordName of recordNames) { + const recordPath = path.join(databasePath, recordName); + try { + const recordJson = await fsPromise.readFile(recordPath, 'utf8'); + const data = converter.convert(JSON.parse(recordJson)); + await this.send(data); + } catch { + // Do nothing, skip the report + } finally { + await fsPromise.unlink(recordPath); + } + } + } } diff --git a/packages/node/src/converter/NodeDiagnosticReportConverter.ts b/packages/node/src/converter/NodeDiagnosticReportConverter.ts new file mode 100644 index 00000000..0688c2f8 --- /dev/null +++ b/packages/node/src/converter/NodeDiagnosticReportConverter.ts @@ -0,0 +1,79 @@ +import { BacktraceErrorType, BacktraceReport } from '@backtrace/sdk-core'; +import type { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { NodeDiagnosticReport } from '../database/models/NodeDiagnosticReport'; + +export class NodeDiagnosticReportConverter { + public convert(report: NodeDiagnosticReport): BacktraceReport { + const jsStack = report.javascriptStack.stack; + const validJsStack = jsStack && jsStack[0] !== 'Unavailable.'; + + const message = validJsStack ? report.javascriptStack.message : report.header.event; + const btReport = new BacktraceReport(message, { + timestamp: parseInt(report.header.dumpEventTimeStamp), + hostname: report.header.host, + classifiers: [report.header.trigger], + ...this.getUnameData(report), + ...this.getCpuData(report), + ...this.getMemoryData(report), + + // Annotations + 'Environment Variables': report.environmentVariables, + 'Exec Arguments': report.header.commandLine, + Error: report, + }); + + if (validJsStack) { + btReport.addStackTrace('main', jsStack.join('\n')); + } + + const nativeStack = report.nativeStack; + if (nativeStack) { + const nativeFrames = nativeStack.map((frame) => ({ + funcName: frame.symbol, + library: 'v8', + })); + + // If the JS stack is valid, add as 'native', otherwise 'main' + const threadName = validJsStack ? 'native' : 'main'; + btReport.addStackTrace(threadName, nativeFrames); + } + + const isOom = report.header.event === 'Allocation failed - JavaScript heap out of memory'; + const errorType: BacktraceErrorType = isOom ? 'OOMException' : 'Crash'; + btReport.attributes['error.type'] = errorType; + + return btReport; + } + + private getUnameData(report: NodeDiagnosticReport) { + return { + 'uname.sysname': report.header.osName, + 'uname.release': report.header.osRelease, + 'uname.version': report.header.osVersion, + 'uname.machine': report.header.osMachine, + }; + } + + private getCpuData(report: NodeDiagnosticReport) { + const cpu = report.header.cpus[0]; + return { + 'cpu.arch': report.header.arch, + 'cpu.brand': cpu.model, + 'cpu.frequency': cpu.speed, + 'cpu.user': cpu.user, + 'cpu.nice': cpu.nice, + 'cpu.sys': cpu.sys, + 'cpu.idle': cpu.idle, + 'cpu.irq': cpu.irq, + 'cpu.count': report.header.cpus.length, + }; + } + + private getMemoryData(report: NodeDiagnosticReport) { + return { + 'vm.rss.size': Math.round(report.javascriptHeap.usedMemory / 1024), + 'vm.rss.peak': Math.round(report.javascriptHeap.totalMemory / 1024), + 'vm.rss.available': report.javascriptHeap.availableMemory, + }; + } +} diff --git a/packages/node/src/database/models/NodeDiagnosticReport.ts b/packages/node/src/database/models/NodeDiagnosticReport.ts new file mode 100644 index 00000000..46263fdd --- /dev/null +++ b/packages/node/src/database/models/NodeDiagnosticReport.ts @@ -0,0 +1,331 @@ +export interface NodeDiagnosticReport { + header: Header; + javascriptStack: JavascriptStack; + nativeStack: NativeStack[]; + javascriptHeap: JavascriptHeap; + resourceUsage: ResourceUsage; + uvthreadResourceUsage: UvthreadResourceUsage; + libuv: Libuv[]; + workers: unknown[]; + environmentVariables: EnvironmentVariables; + userLimits: UserLimits; + sharedObjects: string[]; +} + +export interface Header { + reportVersion: number; + event: string; + trigger: string; + filename: string; + dumpEventTime: string; + dumpEventTimeStamp: string; + processId: number; + cwd: string; + commandLine: string[]; + nodejsVersion: string; + glibcVersionRuntime: string; + glibcVersionCompiler: string; + wordSize: string; + arch: string; + platform: string; + componentVersions: ComponentVersions; + release: Release; + osName: string; + osRelease: string; + osVersion: string; + osMachine: string; + cpus: Cpu[]; + networkInterfaces: NetworkInterface[]; + host: string; +} + +export interface ComponentVersions { + node: string; + v8: string; + uv: string; + zlib: string; + ares: string; + modules: string; + nghttp2: string; + napi: string; + llhttp: string; + openssl: string; +} + +export interface Release { + name: string; +} + +export interface Cpu { + model: string; + speed: number; + user: number; + nice: number; + sys: number; + idle: number; + irq: number; +} + +export interface NetworkInterface { + name: string; + internal: boolean; + mac: string; + address: string; + netmask: string; + family: string; +} + +export interface JavascriptStack { + message: string; + stack: string[]; +} + +export interface NativeStack { + pc: string; + symbol: string; +} + +export interface JavascriptHeap { + totalMemory: number; + executableMemory: number; + totalCommittedMemory: number; + availableMemory: number; + totalGlobalHandlesMemory: number; + usedGlobalHandlesMemory: number; + usedMemory: number; + memoryLimit: number; + mallocedMemory: number; + externalMemory: number; + peakMallocedMemory: number; + nativeContextCount: number; + detachedContextCount: number; + doesZapGarbage: number; + heapSpaces: HeapSpaces; +} + +export interface HeapSpaces { + read_only_space: ReadOnlySpace; + new_space: NewSpace; + old_space: OldSpace; + code_space: CodeSpace; + map_space: MapSpace; + large_object_space: LargeObjectSpace; + new_large_object_space: NewLargeObjectSpace; +} + +export interface ReadOnlySpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface NewSpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface OldSpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface CodeSpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface MapSpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface LargeObjectSpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface NewLargeObjectSpace { + memorySize: number; + committedMemory: number; + capacity: number; + used: number; + available: number; +} + +export interface ResourceUsage { + rss: string; + free_memory: string; + total_memory: string; + available_memory: string; + maxRss: string; + constrained_memory: string; + userCpuSeconds: number; + kernelCpuSeconds: number; + cpuConsumptionPercent: number; + userCpuConsumptionPercent: number; + kernelCpuConsumptionPercent: number; + pageFaults: PageFaults; + fsActivity: FsActivity; +} + +export interface PageFaults { + IORequired: number; + IONotRequired: number; +} + +export interface FsActivity { + reads: number; + writes: number; +} + +export interface UvthreadResourceUsage { + userCpuSeconds: number; + kernelCpuSeconds: number; + cpuConsumptionPercent: number; + userCpuConsumptionPercent: number; + kernelCpuConsumptionPercent: number; + fsActivity: FsActivity2; +} + +export interface FsActivity2 { + reads: number; + writes: number; +} + +export interface Libuv { + type: string; + is_active: boolean; + is_referenced?: boolean; + address: string; + details?: string; + repeat?: number; + firesInMsFromNow?: number; + expired?: boolean; + width?: number; + height?: number; + fd?: number; + writeQueueSize?: number; + readable?: boolean; + writable?: boolean; + signum?: number; + signal?: string; + loopIdleTimeSeconds?: number; +} + +export interface EnvironmentVariables { + REMOTEHOST: string; + MANPATH: string; + XDG_SESSION_ID: string; + HOSTNAME: string; + HOST: string; + TERM: string; + SHELL: string; + SSH_CLIENT: string; + PERL5LIB: string; + OLDPWD: string; + JAVACONFDIRS: string; + SSH_TTY: string; + PCP_DIR: string; + GROUP: string; + USER: string; + LD_LIBRARY_PATH: string; + HOSTTYPE: string; + XDG_CONFIG_DIRS: string; + MAIL: string; + PATH: string; + PWD: string; + LANG: string; + PS1: string; + SHLVL: string; + HOME: string; + OSTYPE: string; + VENDOR: string; + PYTHONPATH: string; + MACHTYPE: string; + LOGNAME: string; + XDG_DATA_DIRS: string; + LESSOPEN: string; + INFOPATH: string; + XDG_RUNTIME_DIR: string; + _: string; +} + +export interface UserLimits { + core_file_size_blocks: CoreFileSizeBlocks; + data_seg_size_kbytes: DataSegSizeKbytes; + file_size_blocks: FileSizeBlocks; + max_locked_memory_bytes: MaxLockedMemoryBytes; + max_memory_size_kbytes: MaxMemorySizeKbytes; + open_files: OpenFiles; + stack_size_bytes: StackSizeBytes; + cpu_time_seconds: CpuTimeSeconds; + max_user_processes: MaxUserProcesses; + virtual_memory_kbytes: VirtualMemoryKbytes; +} + +export interface CoreFileSizeBlocks { + soft: string; + hard: string; +} + +export interface DataSegSizeKbytes { + soft: string; + hard: string; +} + +export interface FileSizeBlocks { + soft: string; + hard: string; +} + +export interface MaxLockedMemoryBytes { + soft: string; + hard: number; +} + +export interface MaxMemorySizeKbytes { + soft: string; + hard: string; +} + +export interface OpenFiles { + soft: string; + hard: number; +} + +export interface StackSizeBytes { + soft: string; + hard: string; +} + +export interface CpuTimeSeconds { + soft: string; + hard: string; +} + +export interface MaxUserProcesses { + soft: string; + hard: number; +} + +export interface VirtualMemoryKbytes { + soft: string; + hard: string; +} diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index 72c61001..3bea75e8 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -8,8 +8,10 @@ export class BacktraceClient extends BrowserClient { return new BacktraceReactClientBuilder(options); } - public static initialize(options: BacktraceConfiguration): BacktraceClient { - this._instance = this.builder(options).build(); + public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceReactClientBuilder) => void) { + const builder = this.builder(options); + build && build(builder); + this._instance = this.builder(options).build().initialize(); return this._instance; } diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index a4746a84..ac8b5a30 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -123,7 +123,6 @@ export abstract class BacktraceCoreClient { databaseStorageProvider, this._reportSubmission, ); - this._database.start(); } this._rateLimitWatcher = new RateLimitWatcher(options.rateLimit); @@ -131,17 +130,22 @@ export abstract class BacktraceCoreClient { const metrics = new MetricsBuilder(options, _sessionProvider, this._attributeProvider, requestHandler).build(); if (metrics) { this._metrics = metrics; - this._metrics.start(); } if (options.breadcrumbs?.enable !== false) { this.breadcrumbsManager = new BreadcrumbsManager(options?.breadcrumbs, breadcrumbsSetup); this._attributeProvider.addProvider(this.breadcrumbsManager); this.attachments.push(this.breadcrumbsManager.breadcrumbsStorage); - this.breadcrumbsManager.start(); } } + public initialize() { + this._database?.start(); + this._metrics?.start(); + this.breadcrumbsManager?.start(); + return this; + } + /** * Add attribute to Backtrace Client reports. * @param attributes key-value object with attributes. diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index dab965fc..cf553022 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -37,6 +37,12 @@ export interface EnabledBacktraceDatabaseConfiguration { * The default value is 3 */ maximumRetries?: number; + + /** + * Captures and symbolicates stack traces for native crashes if the runtime supports this. + * A crash report is generated, stored locally, and uploaded upon next start. + */ + captureNativeCrashes?: boolean; } export interface DisabledBacktraceDatabaseConfiguration diff --git a/packages/sdk-core/src/model/report/BacktraceErrorType.ts b/packages/sdk-core/src/model/report/BacktraceErrorType.ts index 5428b8f5..a9ba4e8e 100644 --- a/packages/sdk-core/src/model/report/BacktraceErrorType.ts +++ b/packages/sdk-core/src/model/report/BacktraceErrorType.ts @@ -1 +1 @@ -export type BacktraceErrorType = 'Message' | 'Exception' | 'Unhandled exception' | 'OOMException' | 'Hang'; +export type BacktraceErrorType = 'Message' | 'Exception' | 'Unhandled exception' | 'OOMException' | 'Hang' | 'Crash'; diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 8c89a281..65d87514 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,5 +1,6 @@ import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceAttachment } from '../attachment'; +import { BacktraceStackFrame } from '../data/BacktraceStackTrace'; import { BacktraceErrorType } from './BacktraceErrorType'; import { BacktraceReportStackTraceInfo } from './BacktraceReportStackTraceInfo'; @@ -15,7 +16,7 @@ export class BacktraceReport { /** * Report stack trace */ - public readonly stackTrace: Record = {}; + public readonly stackTrace: Record = {}; /** * Report message @@ -44,11 +45,19 @@ export class BacktraceReport { * @param stack stack trace * @param message error message */ - public addStackTrace(name: string, stack: string, message = '') { - this.stackTrace[name] = { - stack, - message, - }; + public addStackTrace(name: string, stack: string, message?: string): this; + public addStackTrace(name: string, stackFrames: BacktraceStackFrame[]): this; + public addStackTrace(name: string, stack: string | BacktraceStackFrame[], message = ''): this { + if (typeof stack === 'string') { + this.stackTrace[name] = { + stack, + message, + }; + } else { + this.stackTrace[name] = stack; + } + + return this; } constructor( @@ -86,5 +95,15 @@ export class BacktraceReport { this.attributes['error.type'] = errorType; } this.attributes['error.message'] = this.message; + + if (typeof this.attributes['timestamp'] === 'number') { + this.timestamp = this.attributes['timestamp']; + delete this.attributes['timestamp']; + } + + if (Array.isArray(this.attributes['classifiers'])) { + this.classifiers = this.attributes['classifiers']; + delete this.attributes['classifiers']; + } } } diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index adaefb83..f49528c1 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -3,7 +3,7 @@ import { SdkOptions } from '../../builder/SdkOptions'; import { IdGenerator } from '../../common/IdGenerator'; import { TimeHelper } from '../../common/TimeHelper'; import { AttributeType, BacktraceData } from '../../model/data/BacktraceData'; -import { BacktraceStackTrace } from '../../model/data/BacktraceStackTrace'; +import { BacktraceStackFrame, BacktraceStackTrace } from '../../model/data/BacktraceStackTrace'; import { BacktraceReport } from '../../model/report/BacktraceReport'; import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; @@ -57,8 +57,13 @@ export class BacktraceDataBuilder { let detectedDebugIdentifier = false; for (const [name, traceInfo] of Object.entries(report.stackTrace)) { - const { message, stack } = traceInfo; - const stackFrames = this._stackTraceConverter.convert(stack, message); + let stackFrames: BacktraceStackFrame[]; + if (Array.isArray(traceInfo)) { + stackFrames = traceInfo; + } else { + const { message, stack } = traceInfo; + stackFrames = this._stackTraceConverter.convert(stack, message); + } for (const frame of stackFrames) { const debugIdentifier = this._debugIdProvider.getDebugId(frame.library); diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts index 8019ea46..6dabfb7a 100644 --- a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -15,6 +15,7 @@ export class BacktraceDatabase { } private readonly _databaseRecordContext: BacktraceDatabaseContext; + private readonly _storageProviders: BacktraceDatabaseStorageProvider[] = []; private readonly _maximumRecords: number; private readonly _retryInterval: number; @@ -128,6 +129,14 @@ export class BacktraceDatabase { this._storageProvider.delete(record); } + public addStorageProvider(storageProvider: BacktraceDatabaseStorageProvider) { + if (this._enabled) { + throw new Error('Cannot add storage provider after the database has been enabled.'); + } + + this._storageProviders.push(storageProvider); + } + /** * Prepare database to insert records * @param totalNumberOfRecords number of records to insert diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index fab8935c..9ef37f99 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -67,6 +67,12 @@ export class BacktraceTestClient extends BacktraceCoreClient { }; }, }); - return new BacktraceTestClient(options, testHttpClient, attributeProviders, attachments, storageProvider); + return new BacktraceTestClient( + options, + testHttpClient, + attributeProviders, + attachments, + storageProvider, + ).initialize(); } } diff --git a/packages/sdk-core/tests/report/reportTests.spec.ts b/packages/sdk-core/tests/report/reportTests.spec.ts index 182e1b39..12216d02 100644 --- a/packages/sdk-core/tests/report/reportTests.spec.ts +++ b/packages/sdk-core/tests/report/reportTests.spec.ts @@ -1,10 +1,17 @@ +import assert from 'assert'; import { BacktraceReport } from '../../src'; +import { BacktraceReportStackTraceInfo } from '../../src/model/report/BacktraceReportStackTraceInfo'; + +function isStackTraceInfo(obj: unknown): obj is BacktraceReportStackTraceInfo { + return typeof obj === 'object' && !!obj && 'stack' in obj && 'message' in obj; +} describe('Backtrace report generation tests', () => { describe('Message report', () => { const testMessage = 'test'; const report = new BacktraceReport(testMessage); it('Report message should be set', () => { + assert(isStackTraceInfo(report.stackTrace.main)); expect(report.stackTrace.main.message).toBe(testMessage); }); @@ -21,6 +28,7 @@ describe('Backtrace report generation tests', () => { const testError = new Error('foo'); const report = new BacktraceReport(testError); it('Report message should be set', () => { + assert(isStackTraceInfo(report.stackTrace.main)); expect(report.stackTrace.main.message).toBe(testError.message); }); @@ -65,7 +73,10 @@ describe('Backtrace report generation tests', () => { errorReport.addStackTrace(name, stack); messageReport.addStackTrace(name, stack); + assert(isStackTraceInfo(errorReport.stackTrace[name])); expect(errorReport.stackTrace[name].message).toEqual(''); + + assert(isStackTraceInfo(messageReport.stackTrace[name])); expect(messageReport.stackTrace[name].message).toEqual(''); }); From 62a2b3ab83335130702778918bb2069330abdfd6 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 10 Aug 2023 18:10:23 +0200 Subject: [PATCH 096/291] node example: add OOM crash example (#66) * sdk core: add option of adding stackframes to BacktraceReport * sdk-core: option of overriding timestamp and classifiers in BacktraceReport * sdks: add initialize method in all sdks * node: add node diagnostic reports support * node: add more information to node diagnostic report * node: move NodeDiagnosticReportRecord funcionality to NodeDiagnosticReportConverter, change error.type to Crash * node: loading and capturing of node diagnostic reports * node: use process.report.directory if available * chore: fix unit tests * sdk-core, node: add captureNativeCrashes option to database and use it in node * node sdk example: change options to an array * node sdk example: add oom example * node example: move OOM option below promise rejection --------- Co-authored-by: Sebastian Alex --- examples/sdk/node/src/index.ts | 72 ++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 985554e8..109ed6c0 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -63,48 +63,68 @@ function sendMetrics() { } client.metrics.send(); } + +function oom() { + function allocateMemory(size: number) { + const numbers = size / 8; + const arr = []; + arr.length = numbers; + for (let i = 0; i < numbers; i++) { + arr[i] = i; + } + return arr; + } + + const TIME_INTERVAL_IN_MSEC = 40; + const memoryLeakAllocations = []; + + console.log('This may take a while dependning on Node memory limits.'); + console.log('For best results, start with --max-old-space-size set to a low value, like 100.'); + console.log('e.g. node --max-old-space-size=100 lib/index.js'); + setInterval(() => { + const allocation = allocateMemory(10 * 1024 * 1024); + memoryLeakAllocations.push(allocation); + }, TIME_INTERVAL_IN_MSEC); + + return new Promise(() => { + // Never resolve + }); +} + function showMenu() { + const options = [ + ['Send an exception', (attributes: Record) => sendHandledException(attributes)], + ['Send a message', (attributes: Record) => sendMessage('test message', attributes)], + ['Throw rejected promise', () => rejectPromise('Rejected promise')], + ['OOM', oom], + ['Add a new summed event', (attributes: Record) => addEvent('Option clicked', attributes)], + ['Send all metrics', sendMetrics], + ] as const; + const menu = `Please pick one of available options:\n` + - `1. Send an exception\n` + - `2. Send a message\n` + - `3. Throw rejected promise\n` + - `4. Add a new summed event\n` + - `5. Send all metrics\n` + + options.map(([name], i) => `${i + 1}. ${name}`).join('\n') + + '\n' + `0. Exit\n` + `Type the option number:`; + reader.question(menu, async function executeUserOption(optionString: string) { const option = parseInt(optionString); const attributes = { selectedOption: option }; switch (option) { - case 1: { - await sendHandledException(attributes); - break; - } - case 2: { - await sendMessage('test message', attributes); - break; - } - case 3: { - rejectPromise('Rejected promise'); - break; - } - case 4: { - addEvent('Option clicked', attributes); - break; - } - case 5: { - sendMetrics(); - break; - } case 0: { reader.close(); return exit(0); } default: { - console.log('Selected invalid option. Please try again.'); + const selected = options[option - 1]; + if (selected) { + await selected[1](attributes); + } else { + console.log('Selected invalid option. Please try again.'); + } } } return showMenu(); From e0c3194e989af5090feb19ed58b6bb85ce43889d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 10 Aug 2023 18:12:18 +0200 Subject: [PATCH 097/291] cli: add subdomain and token options to upload (#68) Co-authored-by: Sebastian Alex --- tools/cli/src/sourcemaps/upload.ts | 64 ++++++++++++++++++++++++------ 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 5b35aa43..e2196919 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -6,6 +6,7 @@ import { Err, Ok, RawSourceMap, + Result, ResultPromise, SourceProcessor, SymbolUploader, @@ -34,6 +35,8 @@ import { loadAndJoinOptions } from '../options/loadOptions'; export interface UploadOptions extends GlobalOptions { readonly url: string; + readonly subdomain: string; + readonly token: string; readonly path: string[]; readonly 'include-sources': string; readonly insecure: boolean; @@ -47,6 +50,14 @@ export const uploadCmd = new Command({ name: 'upload', description: 'Uploading of sourcemaps to Backtrace', }) + .option({ + name: 'path', + type: String, + description: 'Path to sourcemap files or directories containing sourcemaps to upload.', + defaultOption: true, + multiple: true, + alias: 'p', + }) .option({ name: 'url', type: String, @@ -54,12 +65,16 @@ export const uploadCmd = new Command({ alias: 'u', }) .option({ - name: 'path', + name: 'subdomain', type: String, - description: 'Path to sourcemap files or directories containing sourcemaps to upload.', - defaultOption: true, - multiple: true, - alias: 'p', + description: 'Subdomain to upload to.', + alias: 's', + }) + .option({ + name: 'token', + type: String, + description: 'Symbol submission token. Required when subdomain is provided.', + alias: 't', }) .option({ name: 'include-sources', @@ -117,18 +132,22 @@ export const uploadCmd = new Command({ return Err('path must be specified'); } + const uploadUrlResult = getUploadUrl(opts); + if (uploadUrlResult.isErr()) { + logger.info(this.getHelpMessage(stack)); + return uploadUrlResult; + } + const outputPath = opts.output; - const uploadUrl = opts.url; + const uploadUrl = uploadUrlResult.data; if (!outputPath && !uploadUrl) { logger.info(this.getHelpMessage(stack)); return Err('upload URL is required.'); } - if (uploadUrl) { - const result = validateUrl(uploadUrl); - if (result.isErr()) { - return result; - } + if (outputPath && uploadUrl) { + logger.info(this.getHelpMessage(stack)); + return Err('outputting archive and uploading are exclusive'); } const logDebug = log(logger, 'debug'); @@ -210,12 +229,33 @@ export const uploadCmd = new Command({ function validateUrl(url: string) { try { - return Ok(new URL(url)); + new URL(url); + return Ok(url); } catch { return Err(`invalid URL: ${url}`); } } +function getUploadUrl(opts: Partial): Result { + if (opts.url && opts.subdomain) { + return Err('--url and --subdomain are exclusive'); + } + + if (opts.url) { + return validateUrl(opts.url); + } + + if (opts.subdomain) { + if (!opts.token) { + return Err('token is required with subdomain'); + } + + return Ok(`https://submit.backtrace.io/${opts.subdomain}/${opts.token}/sourcemap`); + } + + return Ok(undefined); +} + function toAsset(file: string): Asset { return { name: file, path: file }; } From 91c92f0979a0d727c4e118e72cd53045fae87277 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 10 Aug 2023 18:21:22 +0200 Subject: [PATCH 098/291] Database send operations (#70) --- .../database/BacktraceDatabaseFileRecord.ts | 2 + .../src/modules/database/BacktraceDatabase.ts | 67 +++++---- .../database/model/BacktraceDatabaseRecord.ts | 1 + .../databaseContextMemoryStorageTests.spec.ts | 2 + .../tests/database/databaseSendTests.spec.ts | 131 ++++++++++++++++++ .../tests/mocks/testStorageProvider.ts | 11 +- 6 files changed, 180 insertions(+), 34 deletions(-) create mode 100644 packages/sdk-core/tests/database/databaseSendTests.spec.ts diff --git a/packages/node/src/database/BacktraceDatabaseFileRecord.ts b/packages/node/src/database/BacktraceDatabaseFileRecord.ts index 3bc50ec6..7ae79661 100644 --- a/packages/node/src/database/BacktraceDatabaseFileRecord.ts +++ b/packages/node/src/database/BacktraceDatabaseFileRecord.ts @@ -6,6 +6,7 @@ export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { public readonly id: string; public readonly count: number; public readonly hash: string; + public readonly timestamp: number; public locked: boolean; private constructor(record: BacktraceDatabaseRecord, public readonly attachments: BacktraceFileAttachment[]) { @@ -13,6 +14,7 @@ export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { this.id = record.id; this.count = record.count; this.hash = record.hash; + this.timestamp = record.timestamp; // make sure the database record stored in the database directory // is never locked. By doing this, we want to be sure once we load // the record once again, the record will be available for future usage diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts index 6dabfb7a..271b2e6f 100644 --- a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -1,4 +1,5 @@ import { IdGenerator } from '../../common/IdGenerator'; +import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceAttachment } from '../../model/attachment'; import { BacktraceDatabaseConfiguration } from '../../model/configuration/BacktraceDatabaseConfiguration'; import { BacktraceData } from '../../model/data/BacktraceData'; @@ -74,9 +75,10 @@ export class BacktraceDatabase { this.prepareDatabase(); - const record = { + const record: BacktraceDatabaseRecord = { count: 1, data: backtraceData, + timestamp: TimeHelper.now(), hash: '', id: IdGenerator.uuid(), locked: false, @@ -137,6 +139,43 @@ export class BacktraceDatabase { this._storageProviders.push(storageProvider); } + /** + * Sends all records available in the database to Backtrace and removes them + * no matter if the submission process was successful or not. + */ + public async flush() { + const start = TimeHelper.now(); + await this.send(); + const records = this.get().filter((n) => n.timestamp <= start); + for (const record of records) { + this.remove(record); + } + } + /** + * Sends all records available in the database to Backtrace. + */ + public async send() { + for (let bucketIndex = 0; bucketIndex < this._databaseRecordContext.bucketCount; bucketIndex++) { + for (const record of this._databaseRecordContext.getBucket(bucketIndex)) { + if (record.locked) { + continue; + } + try { + record.locked = true; + const result = await this._requestHandler.send(record.data, record.attachments); + if (result.status === 'Ok') { + this.remove(record); + continue; + } + this._databaseRecordContext.increaseBucket(bucketIndex); + return; + } finally { + record.locked = false; + } + } + } + } + /** * Prepare database to insert records * @param totalNumberOfRecords number of records to insert @@ -167,31 +206,9 @@ export class BacktraceDatabase { } const sendDatabaseReports = async () => { - await this.sendRecords(); + await this.send(); }; this._intervalId = setInterval(sendDatabaseReports, this._retryInterval); - await this.sendRecords(); - } - - private async sendRecords() { - for (let bucketIndex = 0; bucketIndex < this._databaseRecordContext.bucketCount; bucketIndex++) { - for (const record of this._databaseRecordContext.getBucket(bucketIndex)) { - if (record.locked) { - continue; - } - try { - record.locked = true; - const result = await this._requestHandler.send(record.data, record.attachments); - if (result.status === 'Ok') { - this.remove(record); - continue; - } - this._databaseRecordContext.increaseBucket(bucketIndex); - return; - } finally { - record.locked = false; - } - } - } + await this.send(); } } diff --git a/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts b/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts index 7ca190c2..efaef486 100644 --- a/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts +++ b/packages/sdk-core/src/modules/database/model/BacktraceDatabaseRecord.ts @@ -5,6 +5,7 @@ export interface BacktraceDatabaseRecord { readonly data: BacktraceData; readonly id: string; readonly hash: string; + readonly timestamp: number; attachments: BacktraceAttachment[]; count: number; /** diff --git a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts index d82cb989..7bf850be 100644 --- a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts @@ -1,5 +1,6 @@ import path from 'path'; import { BacktraceData, BacktraceDatabaseRecord, BacktraceReportSubmissionResult } from '../../src'; +import { TimeHelper } from '../../src/common/TimeHelper'; import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; import { testStorageProvider } from '../mocks/testStorageProvider'; @@ -94,6 +95,7 @@ describe('Database context memory storage tests', () => { it('Should load records from the storage provider to context', async () => { const record: BacktraceDatabaseRecord = { attachments: [], + timestamp: TimeHelper.now(), count: 1, data: {} as BacktraceData, hash: '', diff --git a/packages/sdk-core/tests/database/databaseSendTests.spec.ts b/packages/sdk-core/tests/database/databaseSendTests.spec.ts new file mode 100644 index 00000000..63b01417 --- /dev/null +++ b/packages/sdk-core/tests/database/databaseSendTests.spec.ts @@ -0,0 +1,131 @@ +import path from 'path'; +import { BacktraceDatabaseConfiguration, BacktraceReportSubmissionResult } from '../../src'; +import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; +import { testStorageProvider } from '../mocks/testStorageProvider'; + +describe('Database send tests', () => { + afterEach(() => { + jest.clearAllMocks(); + }); + const testDatabaseSettings: BacktraceDatabaseConfiguration = { + enabled: true, + autoSend: false, + // this option doesn't matter because we mock the database provider + // interface. However, if bug happen we want to be sure to not create + // anything. Instead we want to fail loud and hard. + createDatabaseDirectory: false, + path: path.join(__dirname, 'database'), + }; + + describe('Flush', () => { + it('Should flush every record from the database even if the submission was unsuccessful', async () => { + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), + ); + + await client.send(new Error('foo')); + + expect(database.count()).toEqual(1); + await database.flush(); + expect(database.count()).toEqual(0); + }); + + it('Should flush every record from the database even if submission was successful', async () => { + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + jest.spyOn(client.requestHandler, 'postError').mockResolvedValueOnce( + Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), + ); + + await client.send(new Error('foo')); + + expect(database.count()).toEqual(1); + jest.spyOn(client.requestHandler, 'postError').mockResolvedValueOnce( + Promise.resolve(BacktraceReportSubmissionResult.Ok({})), + ); + await database.flush(); + expect(database.count()).toEqual(0); + expect(client.requestHandler.postError).toHaveBeenCalledTimes(2); + }); + }); + + describe('Send', () => { + it('Should send all reports available in the database', async () => { + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + const postErrorSpy = jest + .spyOn(client.requestHandler, 'postError') + .mockResolvedValue(Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test'))); + + await client.send(new Error('foo')); + + expect(database.count()).toEqual(1); + await database.send(); + expect(database.count()).toEqual(1); + expect(postErrorSpy).toHaveBeenCalledTimes(2); + }); + + it('Should send all reports available in the database and remove them', async () => { + const client = BacktraceTestClient.buildFakeClient( + { + database: testDatabaseSettings, + }, + [], + [], + testStorageProvider, + ); + const database = client.database as BacktraceDatabase; + if (!database) { + throw new Error('Invalid database setup. Database must be defined!'); + } + + const postErrorSpy = jest + .spyOn(client.requestHandler, 'postError') + .mockResolvedValueOnce(Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test'))); + + await client.send(new Error('foo')); + + expect(database.count()).toEqual(1); + postErrorSpy.mockResolvedValueOnce(Promise.resolve(BacktraceReportSubmissionResult.Ok({}))); + await database.send(); + expect(database.count()).toEqual(0); + expect(postErrorSpy).toHaveBeenCalledTimes(2); + }); + }); +}); diff --git a/packages/sdk-core/tests/mocks/testStorageProvider.ts b/packages/sdk-core/tests/mocks/testStorageProvider.ts index 20a9e02f..2f0b0213 100644 --- a/packages/sdk-core/tests/mocks/testStorageProvider.ts +++ b/packages/sdk-core/tests/mocks/testStorageProvider.ts @@ -1,14 +1,7 @@ -import { BacktraceData, BacktraceDatabaseStorageProvider } from '../../src'; +import { BacktraceDatabaseStorageProvider } from '../../src'; export const testStorageProvider: BacktraceDatabaseStorageProvider = { - add: jest.fn().mockReturnValue({ - attachments: [], - count: 1, - data: {} as BacktraceData, - hash: '', - id: '123', - locked: false, - }), + add: jest.fn().mockReturnValue(true), delete: jest.fn().mockReturnValue(true), start: jest.fn().mockReturnValue(true), get: jest.fn().mockResolvedValue(Promise.resolve([])), From bb6c3df1cf06b5587e1ac1b41e6be7be76d0a6c2 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 10 Aug 2023 18:21:31 +0200 Subject: [PATCH 099/291] Release setup (#71) * Release setup * Use prepublishOnly instead of prepare to avoid potential npm install issues * Include CLI basic configuration --- packages/browser/.npmignore | 0 packages/browser/package.json | 4 ++ packages/node/.npmignore | 0 packages/node/package.json | 4 ++ packages/react/.npmignore | 0 packages/react/package.json | 4 ++ tools/cli/.npmignore | 0 tools/cli/package.json | 4 ++ tools/rollup-plugin/.npmignore | 0 tools/rollup-plugin/package.json | 4 ++ tools/vite-plugin/.npmignore | 0 tools/vite-plugin/package.json | 98 ++++++++++++++++--------------- tools/webpack-plugin/.npmignore | 0 tools/webpack-plugin/package.json | 4 ++ 14 files changed, 75 insertions(+), 47 deletions(-) create mode 100644 packages/browser/.npmignore create mode 100644 packages/node/.npmignore create mode 100644 packages/react/.npmignore create mode 100644 tools/cli/.npmignore create mode 100644 tools/rollup-plugin/.npmignore create mode 100644 tools/vite-plugin/.npmignore create mode 100644 tools/webpack-plugin/.npmignore diff --git a/packages/browser/.npmignore b/packages/browser/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/packages/browser/package.json b/packages/browser/package.json index 147d3591..9dae8b95 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -10,6 +10,7 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", "watch": "webpack -w", "test": "NODE_ENV=test jest" }, @@ -32,6 +33,9 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], "devDependencies": { "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", diff --git a/packages/node/.npmignore b/packages/node/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/packages/node/package.json b/packages/node/package.json index ffca9ecc..1cdf7b7a 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -9,6 +9,7 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", "watch": "webpack -w", "test": "NODE_ENV=test jest" }, @@ -34,6 +35,9 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], "devDependencies": { "@types/jest": "^29.5.1", "jest": "^29.5.0", diff --git a/packages/react/.npmignore b/packages/react/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/packages/react/package.json b/packages/react/package.json index be402d5d..103b42ca 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -8,6 +8,7 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", "watch": "webpack -w", "test": "NODE_ENV=test jest" }, @@ -31,6 +32,9 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], "devDependencies": { "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", diff --git a/tools/cli/.npmignore b/tools/cli/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/tools/cli/package.json b/tools/cli/package.json index b0cf075d..4191ca7a 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -15,6 +15,7 @@ "clean": "tsc -b --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", "watch": "tsc -w", "start": "node lib/index.js" }, @@ -39,6 +40,9 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], "dependencies": { "@backtrace/sourcemap-tools": "^0.0.1", "command-line-args": "^5.2.1", diff --git a/tools/rollup-plugin/.npmignore b/tools/rollup-plugin/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json index af83423b..e1604642 100644 --- a/tools/rollup-plugin/package.json +++ b/tools/rollup-plugin/package.json @@ -12,6 +12,7 @@ "build:rollup": "rollup --config rollup.config.js", "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", + "prepublishOnly": "NODE_ENV=production npm run build", "lint": "eslint . --ext .ts", "watch": "tsc -b ./tsconfig.build.json -w" }, @@ -37,6 +38,9 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", "@types/jest": "^29.5.1", diff --git a/tools/vite-plugin/.npmignore b/tools/vite-plugin/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/tools/vite-plugin/package.json b/tools/vite-plugin/package.json index 110729b8..fbcdf7ab 100644 --- a/tools/vite-plugin/package.json +++ b/tools/vite-plugin/package.json @@ -1,49 +1,53 @@ { - "name": "@backtrace/vite-plugin", - "version": "0.0.1", - "description": "Backtrace Vite plugin", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "engines": { - "node": ">=14" - }, - "scripts": { - "build": "tsc -b ./tsconfig.build.json", - "build:vite": "vite build --config vite.config.js", - "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", - "format": "prettier --write '**/*.ts'", - "lint": "eslint . --ext .ts", - "watch": "tsc -b ./tsconfig.build.json -w" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" - }, - "keywords": [ - "Error", - "Reporting", - "Diagnostic", - "Tool", - "Bug", - "Bugs", - "StackTrace", - "Source maps", - "Sourcemaps", - "Vite" - ], - "author": "Backtrace ", - "license": "MIT", - "bugs": { - "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" - }, - "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", - "peerDependencies": { - "vite": "^4.4.9" - }, - "dependencies": { - "@backtrace/rollup-plugin": "^0.0.1" - }, - "devDependencies": { - "typescript": "^5.0.4" - } + "name": "@backtrace/vite-plugin", + "version": "0.0.1", + "description": "Backtrace Vite plugin", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "tsc -b ./tsconfig.build.json", + "build:vite": "vite build --config vite.config.js", + "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "prepublishOnly": "NODE_ENV=production npm run build", + "lint": "eslint . --ext .ts", + "watch": "tsc -b ./tsconfig.build.json -w" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Source maps", + "Sourcemaps", + "Vite" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], + "peerDependencies": { + "vite": "^4.4.9" + }, + "dependencies": { + "@backtrace/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" + } } diff --git a/tools/webpack-plugin/.npmignore b/tools/webpack-plugin/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 846f8ee7..cb0e2499 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -13,6 +13,7 @@ "clean": "tsc -b ./tsconfig.build.json --clean && rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", "watch": "tsc -b ./tsconfig.build.json -w", "test:e2e": "npm run test:e2e:webpackv5 && npm run test:e2e:webpackv4", "test:e2e:webpackv4": "NODE_ENV=test jest --config ./webpack4.e2e.jest.config.js", @@ -40,6 +41,9 @@ "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], "devDependencies": { "@types/jest": "^29.5.1", "@types/webpack-sources": "^3.2.0 || ^1.4.1", From 25b21da1aafbcc926110dbd34981c159544d5579 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 11 Aug 2023 08:22:02 +0200 Subject: [PATCH 100/291] cli: add README.md (#69) * cli: add README.md --------- Co-authored-by: Sebastian Alex --- tools/cli/README.md | 276 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 tools/cli/README.md diff --git a/tools/cli/README.md b/tools/cli/README.md new file mode 100644 index 00000000..776ef376 --- /dev/null +++ b/tools/cli/README.md @@ -0,0 +1,276 @@ +# backtrace-js + +Backtrace utility for managing Javascript files. + +## Table of Contents + +1. [Description](#description) +1. [Usage](#usage) + - [`process`](#process) + - [`upload`](#upload) + - [`add-sources`](#add-sources) + - [Global options](#global-options) + - [Configuration file](#configuration-file) + +# Description + +Debugging of minified applications is easy with the usage of sourcemaps. They can also help improve your reports in +Backtrace. This tool helps to add identificators to source and sourcemap files to enable Backtrace to match sources with +sourcemaps. + +Identificators in sources will be processed in runtime and attached to Backtrace reports. With uploaded sourcemaps, +Backtrace can match files in callstack with available sourcemaps and display additional information about the error. + +# Usage + +In most cases, you'll want to [`process`](#process) the files first, optionally [`add-sources`](#add-sources), and then +[`upload`](#upload) them. + +It is advisable to add these commands to your production build scripts. For example: + +```jsonc +// package.json +{ + "scripts": { + "build": "tsc && npm run backtrace:process && npm run backtrace:add-sources && npm run backtrace:upload", + "backtrace:process": "npx backtrace-js process ./lib", + "backtrace:add-sources": "npx backtrace-js add-sources ./lib", + "backtrace:upload": "npx backtrace-js upload ./lib --url ..." + } +} +``` + +`backtrace-js` exposes the following commands: + +## `process` + +Adds debug identificators to both source and sourcemap files. Searches for source files in provided paths and their +corresponding sourcemaps using `sourceMappingURL`. If source is processed, it is skipped. + +Sources will have a runtime snippet and `debugId` comment appended to the end of the file. When `//# debugId=#` is +present, the source and sourcemap are treated as already processed. Due to the runtime snippet offsetting the source +rows, the sourcemap mappings will be updated as well. + +Sourcemaps will have `debugId` appended to the JSON object. + +### Options + +#### ``, `--path `, `-p ` + +Searches for files within provided paths. This is the default positional argument. If not provided, will search in the +current directory. + +#### `--dry-run`, `-n` + +Will not modify the files at the end. Useful for showing the result of the command without actually modyfing the +sources. + +#### `--force`, `-f` + +Forces processing of already processed files. May result in duplicate appended data. + +#### `--pass-with-no-files` + +By default, `process` will return a non-zero exit code when no files are found. Pass this to return 0. + +### Examples + +```sh +> backtrace-js process ./lib +> backtrace-js process ./lib/source1.js ./lib/source2.js +``` + +## `upload` + +Uploads processed sourcemaps to Backtrace. The sourcemaps are zipped and sent to your Backtrace instance's symbol +storage. + +Before uploading, make sure to: + +- [`process`](#process) the sources and sourcemaps, +- create a symbol submission token, +- get your subdomain name or URL for uploading sourcemaps, + +Sourcemaps are treated as processed when `debugId` field is in the sourcemap JSON object. + +### Creating a symbol submission token + +To upload sourcemaps, you have to have a submission token: + +1. Go to your Backtrace instance, and open Project settings of the project you want to upload sourcemaps to. +1. Under **Symbols**, select **Access tokens**. +1. Copy or create a new symbol access token. + +### Retrieving the subdomain name or URL for uploading sourcemaps + +If you're using a hosted instance of Backtrace, most likely you need to only pass the subdomain name. You can resolve +your subdomain name from your instance address. + +For example, if your instance address is `https://example.sp.backtrace.io`, your subdomain will be `example`. + +If for some reason you cannot upload the URL by using this way, or you're using an on premise installation, retrieve the +whole URL using the following steps. + +_TODO: A place in Backtrace.io to just copy the URL from?_ + +#### Hosted instance + +If your instance is hosted on backtrace.io, you can create the URL using +`https://submit.backtrace.io///sourcemap`. If your instance is hosted on backtrace.io, +you can create the URL using `https://submit.backtrace.io///sourcemap`. + +For example, for subdomain https://example.sp.backtrace.io, and token +`bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7`, the URL will be +`https://submit.backtrace.io/example/bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7/sourcemap`. + +#### On premise + +If your instance is hosted on premise, you can create the URL using +`:6098//post?format=sourcemap&token=`. + +For example, for address https://backtrace.example.com, and token +`bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7`, the URL will be +`https://backtrace.example.com:6098//post?format=sourcemap&token=bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7`. + +### Options + +#### ``, `--path `, `-p ` + +Searches for files within provided paths. This is the default positional argument. If not provided, will search in the +current directory. + +#### `--url `, `-u ` + +URL to upload the sourcemaps to. You can use also `BACKTRACE_JS_UPLOAD_URL` environment variable. Cannot be used with +`--subdomain`. + +#### `--subdomain `, `-s ` + +Subdomain to use for upload. You must also specify the `--token`. Cannot be used with `--url`. + +#### `--token `, `-t ` + +Token to use with the upload. Usable only with `--subdomain`. + +#### `--include-sources` + +By default, the sources in sourcemap file will NOT be uploaded to Backtrace. Specify this to include `sourcesContent` +key in sourcemaps. + +#### `--insecure`, `-k` + +Disables HTTPS certificate checking. + +#### `--dry-run`, `-n` + +Will not upload the files at the end. Useful for showing the result of the command without actually uploading the +sourcemaps. + +#### `--force`, `-f` + +Upload files even if not processed. + +#### `--pass-with-no-files` + +By default, `upload` will return a non-zero exit code when no files are found. Pass this to return 0. + +#### `--output `, `-o ` + +Specify this to output the archive to a file instead of uploading it to Backtrace. Cannot be used with uploading. + +### Examples + +``` +> backtrace-js upload --subdomain example --token bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7 +> backtrace-js upload ./lib --url https://submit.backtrace.io/example/bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7/sourcemap +> backtrace-js upload ./lib/index.js.map -o archive.zip +``` + +## `add-sources` + +If your building tool does not include the original sources in the sourcemaps, you can use this command to add the +sources to your sourcemaps before upload. Make sure to upload with `--include-sources`. If sourcemap already has +`sourcesContent`, it will be skipped. + +Sources will be resolved from the `sources` array relative to the sourcemap location, or `sourceRoot` in the sourcemap, +if provided. + +### Options + +#### ``, `--path `, `-p ` + +Searches for files within provided paths. This is the default positional argument. If not provided, will search in the +current directory. + +#### `--dry-run`, `-n` + +Will not modify the files at the end. Useful for showing the result of the command without actually modifying the files. + +#### `--force`, `-f` + +Processes files even if sourcesContent is not empty. Will overwrite existing sources. + +#### `--pass-with-no-files` + +By default, `add-sources` will return a non-zero exit code when no files are found. Pass this to return 0. + +### Examples + +``` +> backtrace-js add-sources ./lib +> backtrace-js add-sources ./lib/index.js.map ./lib/other.js.map +``` + +## Global options + +All commands share the following options: + +#### `--help`, `-h` + +Displays help message for the current command. + +#### `--verbose`, `-v` + +Verbosity level. -v prints debug logs, -vv prints ALL logs. + +#### `--quiet`, `-q` + +Disables ALL logging messages. + +#### `--log-level ` + +Sets the logging level. Can be one of: `quiet`, `error`, `warn`, `info`, `debug`, `verbose`. Default: `info`. + +#### `--config ` + +Path to the config file. See [Configuration file](#configuration-file) for more details. + +## Configuration file + +All commands can read from a configuration file. By default, the configuration is read from `.backtracejsrc` file. The +file should have a JSON with comments (`jsonc`) structure. + +The configuration object can define value of each command's options. The options have to be passed with full name, +without prefixing `--`. + +You can set options per specific command using the command name as key and passing options in an object. + +An example of the file: + +```jsonc +{ + // Paths used by all commands + "path": ["./lib", "./dist"], + "upload": { + // Path used only by the upload command + "path": "./output", + "insecure": true, + "url": "https://submit.backtrace.io/example/bebbbc8b2bdfac76ad803b03561b25a44039e892ffd3e0beeb71770d08e2c8a7/sourcemap" + }, + "add-sources": { + "force": true + } +} +``` + +Global options **cannot** be set in the configuration file. From 684f840acacb2542436f0c93aeb2d69246352b69 Mon Sep 17 00:00:00 2001 From: ianrice07 <31070352+ianrice07@users.noreply.github.com> Date: Fri, 11 Aug 2023 14:59:45 -0400 Subject: [PATCH 101/291] Doc start (#60) * Initial documentation --------- Co-authored-by: Ian Rice Co-authored-by: Rick Foster --- packages/browser/README.md | 194 +++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 packages/browser/README.md diff --git a/packages/browser/README.md b/packages/browser/README.md new file mode 100644 index 00000000..e9b79add --- /dev/null +++ b/packages/browser/README.md @@ -0,0 +1,194 @@ +# **Backtrace Browser** +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. + +The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and easy, after which you can explore the rich set of Backtrace features. + +## Table of Contents +1. [Basic Integration - Reporting your first errors](#basic-integration) +1. [Error Reporting Features](#error-reporting-features) + - [Attributes](#attributes) + - [File Attachments](#file-attachments) + - [Breadcrumbs](#breadcrumbs) + - [Application Stability Metrics](#application-stability-metrics) +1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient](#backtraceclient) + - [BacktraceDatabase](#backtracedatabase) + - [BacktraceMetrics](#backtracemetrics) + - [Callbacks](#callbacks) + - [BeforeSend](#beforesend) + - [FilterReport](#filterreport) + +## Basic Integration +All code examples are given in TypeScript. +```ts +// Import the BacktraceClient from @backtrace/browser with your favoriate package manager. +import { BacktraceClient, BacktraceConfiguration } from "@backtrace/browser"; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // Name of the website/application + name: "MyWebPage", + // Version of the website + version: "1.2.3", + // Submission url + // is the subdomain of your Backtrace instance (.backtrace.io) + // can be found in Project Settings/Submission tokens + url: "https://submit.backtrace.io///json", +} + +// Initialize the client +const client = BacktraceClient.builder(options).build(); + +// Send an error +client.send(new Error("Something broke!")); +``` + +## Error Reporting Features +### Attributes + +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of the advanced Backtrace features detailed in [Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). + +There are several places where attributes can be added, modified or deleted. + +#### Attach attributes object to BacktraceClient +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of attributes will be included with every error report, referred to as global attributes. +```ts +// Create an attributes object that can be modified throughout runtime +const attributes: Record = { + "release": "PROD", +} + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + name: "MyWebPage", + version: "1.2.3", + url: "https://submit.backtrace.io///json", + + // Attach the attributes object + userAttributes: attributes, +} + +// Initialize the client +const client = BacktraceClient.builder(options).build(); +``` + +#### Add attributes during application runtime +Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). +```ts +const client = BacktraceClient.builder(options).build(); +... + +client.addAttribute({ + "clientID": "de6faf4d-d5b5-486c-9789-318f58a14476" +}) +``` + +#### Add attributes to an error report +The attributes list of a BacktraceReport object can be directly modified. + +```ts +const report: BacktraceReport = new BacktraceReport("My error message", { "myReportKey": "myValue" }); +report.attributes["myReportKey"] = "New value"; +``` +*** +### File Attachments + +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be uploaded with each report. + +```ts +// Import attachment types from @backtrace/browser +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/browser"; + +// BacktraceStringAttachment should be used for text object like a log file, for example +const attachment1 = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") + +// BacktraceUint8ArrayAttachment should be used for binary files +const attachment2 = new BacktraceUint8ArrayAttachment("connection_buffer", new Uint8Array(2)); + +// Setup array of files to attach +const attachments = [attachment1]; + +// BacktraceClientOptions +const options = { + name: "MyWebPage", + version: "1.2.3", + url: "https://submit.backtrace.io///json", + + // Attach the files to all reports + attachments, +} + +// Later decide to add an attachment to all reports +client.attachments.push(attachment2) + +// After catching an exception and generating a report +try { + throw new Error("Caught exception!") +} catch (error) { + const report = const report = new BacktraceReport(error, {}, [new BacktraceStringAttachment("CaughtErrorLog", "some error logging data here")]) + client.send(report); +} +``` +*** + +### Breadcrumbs +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, and manual breadcrumbs can also be added. + +[(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) +*** + +### Application Stability Metrics +The Backtrace Browser SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. See [BacktraceMetrics](#backtracemetrics) below to configure a metrics object during initialization to track additional metrics data. + +[(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) + +*** +### Soure Map Support + + +## Advanced SDK Features + +### BacktraceClient +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +|-|-|-|-|-| +| `url` | String | Submission URL to send errors to | |
  • - [x]
| +| `name` | String | Your application name | |
  • - [x]
| +| `version` | String | Your application version | |
  • - [x]
| +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon)| |
  • - [ ]
| +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| +| `beforeSend` | Callback | Allows for modification of the report before sending it. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `filterReport` | Callback | Allows for filtering of reports. See [FilterReport](#filterreport) |
  • - [ ]
| +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Metrics](#backtrace-metrics) | |
  • - [ ]
| +| `database` | BacktraceDatabaseOptions | See [Backtrace Database](#backtrace-database) | |
  • - [ ]
| + +#### Methods + +| Name | Return Type | Description | +| - | - | - | +| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | Sets up a new BacktraceClient for reporting| + +### BacktraceDatabase + +### BacktraceMetrics + +### BacktraceReport + +### Callbacks + +#### BeforeSend +Use BeforeSend to modify an error report. BeforeSend will be called at the last possible point in which the BacktraceReport can be modified (attributes added or deleted, additonal attachments added). The BacktraceReport returned from this function will be the error report sent. If a null is returned the report will be skipped. + +#### FilterReport \ No newline at end of file From 3526d891913e50f3dcde327e5039f3e4e9913ae0 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 14 Aug 2023 13:43:57 -0400 Subject: [PATCH 102/291] Properly making @backtrace/browser a dependency (#72) * Properly making @backtrace/browser and @backtrace/sdk-core dependencies * Removing dependency on @backtrace/sdk-core --------- Co-authored-by: Adam Cronin --- package-lock.json | 6 +++++- packages/browser/src/index.ts | 4 +++- packages/react/package.json | 3 +++ packages/react/src/converters/ReactStackTraceConverter.ts | 4 +--- packages/react/tests/reactStackTraceConverter.spec.ts | 3 +-- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index f62002cb..898fd8f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12304,6 +12304,9 @@ "name": "@backtrace/react", "version": "0.0.1", "license": "MIT", + "dependencies": { + "@backtrace/browser": "^0.0.1" + }, "devDependencies": { "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", @@ -12862,7 +12865,7 @@ "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", - "jsonc": "*" + "jsonc": "^2.0.0" } }, "@backtrace/node": { @@ -12883,6 +12886,7 @@ "@backtrace/react": { "version": "file:packages/react", "requires": { + "@backtrace/browser": "^0.0.1", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 85fa6096..0c5da64a 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -1,4 +1,6 @@ -export { BacktraceReport } from '@backtrace/sdk-core'; +export { BacktraceReport, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; +export { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; +export { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; export * from '@backtrace/sdk-core/lib/model/attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; diff --git a/packages/react/package.json b/packages/react/package.json index 103b42ca..643fa387 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -48,5 +48,8 @@ }, "peerDependencies": { "react": ">=16.8.0" + }, + "dependencies": { + "@backtrace/browser": "^0.0.1" } } diff --git a/packages/react/src/converters/ReactStackTraceConverter.ts b/packages/react/src/converters/ReactStackTraceConverter.ts index 3e18477e..3d9075cd 100644 --- a/packages/react/src/converters/ReactStackTraceConverter.ts +++ b/packages/react/src/converters/ReactStackTraceConverter.ts @@ -1,6 +1,4 @@ -import { BacktraceStackTraceConverter } from '@backtrace/sdk-core'; -import { JavaScriptEngine } from '@backtrace/sdk-core/src/model/data/JavaScriptEngine'; -import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { BacktraceStackTraceConverter, JavaScriptEngine, BacktraceStackFrame } from '@backtrace/browser'; export class ReactStackTraceConverter implements BacktraceStackTraceConverter { constructor(private readonly stackTraceConverter: BacktraceStackTraceConverter) {} diff --git a/packages/react/tests/reactStackTraceConverter.spec.ts b/packages/react/tests/reactStackTraceConverter.spec.ts index af1abb46..d6cd5994 100644 --- a/packages/react/tests/reactStackTraceConverter.spec.ts +++ b/packages/react/tests/reactStackTraceConverter.spec.ts @@ -1,6 +1,5 @@ -import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; import { ReactStackTraceConverter } from '../src/converters/ReactStackTraceConverter'; -import { BacktraceStackTraceConverter } from '@backtrace/sdk-core'; +import { BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace/browser'; /* eslint-disable @typescript-eslint/no-explicit-any */ class MockConverter implements BacktraceStackTraceConverter { From d5b865d64651910fee35584b80b42f7e847b4032 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 16 Aug 2023 12:44:29 +0200 Subject: [PATCH 103/291] Include OOM/native crash handler in the demo project --- examples/sdk/node/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 109ed6c0..97859f20 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -23,6 +23,7 @@ const client = BacktraceClient.initialize({ database: { enabled: true, path: path.join(process.cwd(), 'database'), + captureNativeCrashes: true, }, }); From e099b7c3547508a3473ba563dbc798a43c09157c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 16 Aug 2023 17:00:08 +0200 Subject: [PATCH 104/291] Fix possible circular reference in the annotation object (#75) * Fix possible circular reference in the annotation object * Fixed prettier code style * Prettier formatting * Handle reference to the jsonEscaper function --- .../src/BacktraceBrowserRequestHandler.ts | 5 ++- .../node/src/BacktraceNodeRequestHandler.ts | 5 ++- .../BacktraceDatabaseFileStorageProvider.ts | 11 +++++-- packages/sdk-core/src/common/jsonEscaper.ts | 28 ++++++++++++++++ packages/sdk-core/src/index.ts | 1 + .../model/http/BacktraceReportSubmission.ts | 3 +- .../src/model/http/BacktraceRequestHandler.ts | 5 ++- .../storage/InMemoryBreadcrumbsStorage.ts | 3 +- .../modules/metrics/MetricsSubmissionQueue.ts | 16 ++++++---- .../tests/client/clientCallbacksTests.spec.ts | 6 ++-- .../sdk-core/tests/client/clientTests.spec.ts | 2 +- .../tests/http/dataSerializationTests.spec.ts | 32 +++++++++++++++++++ .../tests/DebugIdGenerator.spec.ts | 2 +- 13 files changed, 94 insertions(+), 25 deletions(-) create mode 100644 packages/sdk-core/src/common/jsonEscaper.ts create mode 100644 packages/sdk-core/tests/http/dataSerializationTests.spec.ts diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index f602763c..11065956 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -5,7 +5,6 @@ import { ConnectionError, DEFAULT_TIMEOUT, } from '@backtrace/sdk-core'; -import { BacktraceData } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { private readonly UPLOAD_FILE_NAME = 'upload_file'; @@ -25,10 +24,10 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { } public async postError( submissionUrl: string, - data: BacktraceData, + dataJson: string, attachments: BacktraceAttachment[], ): Promise> { - const formData = this.createFormData(JSON.stringify(data), attachments); + const formData = this.createFormData(dataJson, attachments); return this.post(submissionUrl, formData); } diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 2943757f..47a8f5a5 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -6,7 +6,6 @@ import { ConnectionError, DEFAULT_TIMEOUT, } from '@backtrace/sdk-core'; -import { BacktraceData } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; import FormData from 'form-data'; import http from 'http'; import https from 'https'; @@ -32,10 +31,10 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { public async postError( submissionUrl: string, - data: BacktraceData, + dataJson: string, attachments: BacktraceAttachment[], ): Promise> { - const formData = this.createFormData(JSON.stringify(data), attachments); + const formData = this.createFormData(dataJson, attachments); return this.send(submissionUrl, formData); } diff --git a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts index dd957ba6..2e755255 100644 --- a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts +++ b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts @@ -2,6 +2,7 @@ import { BacktraceDatabaseConfiguration, BacktraceDatabaseRecord, BacktraceDatabaseStorageProvider, + jsonEscaper, } from '@backtrace/sdk-core'; import fs from 'fs'; import * as fsPromise from 'fs/promises'; @@ -61,9 +62,13 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt public add(record: BacktraceDatabaseRecord): boolean { const recordPath = this.getRecordPath(record.id); try { - fs.writeFileSync(recordPath, JSON.stringify(BacktraceDatabaseFileRecord.fromRecord(record)), { - encoding: 'utf8', - }); + fs.writeFileSync( + recordPath, + JSON.stringify(BacktraceDatabaseFileRecord.fromRecord(record), jsonEscaper()), + { + encoding: 'utf8', + }, + ); return true; } catch { return false; diff --git a/packages/sdk-core/src/common/jsonEscaper.ts b/packages/sdk-core/src/common/jsonEscaper.ts new file mode 100644 index 00000000..1a57e54c --- /dev/null +++ b/packages/sdk-core/src/common/jsonEscaper.ts @@ -0,0 +1,28 @@ +export function jsonEscaper() { + const ancestors: unknown[] = []; + const keys: string[] = []; + + // in TypeScript add "this: any" param to avoid compliation errors - as follows + // return function (this: any, field: any, value: any) { + return function (this: unknown, key: string, value: unknown) { + if (!key) { + return value; + } + if (typeof value !== 'object' || value === null) { + return value; + } + + // `this` is the object that value is contained in, + // i.e., its direct parent. + while (ancestors.length > 0 && ancestors[ancestors.length - 1] !== this) { + ancestors.pop(); + keys.pop(); + } + if (ancestors.includes(value)) { + return `[Circular].${keys.join('.')}.${key}`; + } + keys.push(key); + ancestors.push(value); + return value; + }; +} diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 28f804f8..7e167a99 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -2,6 +2,7 @@ export * from './BacktraceCoreClient'; export * from './builder/BacktraceCoreClientBuilder'; export * from './builder/SdkOptions'; export * from './common/IdGenerator'; +export * from './common/jsonEscaper'; export * from './model/attachment'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index b3a29352..5d347e28 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -1,3 +1,4 @@ +import { jsonEscaper } from '../../common/jsonEscaper'; import { BacktraceAttachment } from '../attachment'; import { BacktraceConfiguration } from '../configuration/BacktraceConfiguration'; import { BacktraceData } from '../data/BacktraceData'; @@ -11,6 +12,6 @@ export class BacktraceReportSubmission { } public send(data: BacktraceData, attachments: BacktraceAttachment[]) { - return this._requestHandler.postError(this._submissionUrl, data, attachments); + return this._requestHandler.postError(this._submissionUrl, JSON.stringify(data, jsonEscaper()), attachments); } } diff --git a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts index a0c3b6a1..b7594c9a 100644 --- a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts +++ b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts @@ -1,5 +1,4 @@ import { BacktraceAttachment } from '../attachment'; -import { BacktraceData } from '../data/BacktraceData'; import { BacktraceSubmissionResponse } from './model/BacktraceSubmissionResponse'; import { BacktraceReportSubmissionResult } from './model/BacktraceSubmissionResult'; export const DEFAULT_TIMEOUT = 15_000; @@ -7,13 +6,13 @@ export interface BacktraceRequestHandler { /** * Submits error to Backtrace submission API * @param submissionUrl error submission URL - * @param data Backtrace Data + * @param dataJson Backtrace data JSON * @param attachments Report attachments * @returns Submission result */ postError( submissionUrl: string, - data: BacktraceData, + dataJson: string, attachments: BacktraceAttachment[], ): Promise>; diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts index c15e50f6..79fcaf97 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts @@ -1,3 +1,4 @@ +import { jsonEscaper } from '../../../common/jsonEscaper'; import { TimeHelper } from '../../../common/TimeHelper'; import { OverwritingArray } from '../../../dataStructures/OverwritingArray'; import { AttributeType } from '../../../model/data/BacktraceData'; @@ -27,7 +28,7 @@ export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { * @returns Breadcrumbs JSON */ public get(): string { - return JSON.stringify([...this._breadcrumbs.values()]); + return JSON.stringify([...this._breadcrumbs.values()], jsonEscaper()); } public add( diff --git a/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts b/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts index e213131c..fe80da63 100644 --- a/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts +++ b/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts @@ -1,4 +1,5 @@ import { Delay } from '../../common/DelayHelper'; +import { jsonEscaper } from '../../common/jsonEscaper'; import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceRequestHandler } from '../../model/http'; import { MetricsQueue } from './MetricsQueue'; @@ -44,13 +45,16 @@ export class MetricsSubmissionQueue implements MetricsQu for (let attempts = 0; attempts < this.MAXIMUM_NUMBER_OF_ATTEMPTS; attempts++) { const response = await this._requestHandler.post( this._submissionUrl, - JSON.stringify({ - ...this._metricMetadata, - [this._eventName]: events, - metadata: { - dropped_events: this._numberOfDroppedRequests, + JSON.stringify( + { + ...this._metricMetadata, + [this._eventName]: events, + metadata: { + dropped_events: this._numberOfDroppedRequests, + }, }, - }), + jsonEscaper(), + ), ); if (response.status === 'Ok') { this._numberOfDroppedRequests = 0; diff --git a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts index a29aa4a6..924676f6 100644 --- a/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts +++ b/packages/sdk-core/tests/client/clientCallbacksTests.spec.ts @@ -1,5 +1,4 @@ -import { BacktraceReportSubmissionResult } from '../../src'; -import { BacktraceData } from '../../src/model/data/BacktraceData'; +import { BacktraceData, BacktraceReportSubmissionResult } from '../../src'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; describe('Client callbacks tests', () => { @@ -29,7 +28,8 @@ describe('Client callbacks tests', () => { return data; }, }); - jest.spyOn(client.requestHandler, 'postError').mockImplementationOnce((_: string, data: BacktraceData) => { + jest.spyOn(client.requestHandler, 'postError').mockImplementationOnce((_: string, json: string) => { + const data = JSON.parse(json) as BacktraceData; expect(data.attributes[attributeName]).toEqual(expectedAttributeVaue); return Promise.resolve(BacktraceReportSubmissionResult.Ok({})); }); diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index a4cb0630..f400c3f8 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -105,7 +105,7 @@ describe('Client tests', () => { await client.send(new Error(''), {}, [reportAttachment]); - expect(client.requestHandler.postError).toHaveBeenCalledWith(expect.any(String), expect.any(Object), [ + expect(client.requestHandler.postError).toHaveBeenCalledWith(expect.any(String), expect.any(String), [ clientAttachment, reportAttachment, ]); diff --git a/packages/sdk-core/tests/http/dataSerializationTests.spec.ts b/packages/sdk-core/tests/http/dataSerializationTests.spec.ts new file mode 100644 index 00000000..ad57ea1e --- /dev/null +++ b/packages/sdk-core/tests/http/dataSerializationTests.spec.ts @@ -0,0 +1,32 @@ +import { BacktraceReport, DebugIdProvider } from '../../src'; +import { jsonEscaper } from '../../src/common/jsonEscaper'; +import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; +import { BacktraceDataBuilder } from '../../src/modules/data/BacktraceDataBuilder'; + +describe('Data serialization tests', () => { + const sdkOptions = { + agent: 'test', + agentVersion: '0.0.1', + langName: 'test', + langVersion: 'test', + }; + const dataBuilder = new BacktraceDataBuilder( + sdkOptions, + new V8StackTraceConverter(), + new DebugIdProvider(new V8StackTraceConverter()), + ); + + it('Should serialize basic BacktraceData object', () => { + const data = dataBuilder.build(new BacktraceReport(new Error())); + expect(() => JSON.stringify(data, jsonEscaper())).not.toThrow(); + }); + + it('Should serialize correctly annotations with circular reference', () => { + const annotation: Record = { + a: 123, + }; + annotation['circular-reference'] = annotation; + const data = dataBuilder.build(new BacktraceReport(new Error(), annotation)); + expect(() => JSON.stringify(data, jsonEscaper())).not.toThrow(); + }); +}); diff --git a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts index 99c82bbd..f1fc4fc9 100644 --- a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts +++ b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts @@ -101,7 +101,7 @@ describe('DebugIdGenerator', () => { const keys = Object.keys(container); for (const key of keys) { expect(key).toMatch(/Error:/); - expect(key).toMatch(/\/DebugIdGenerator.spec.ts/); + expect(key).toMatch(/DebugIdGenerator.spec.ts/); } }); From d32089f849e75101667db28869f70ca237785eec Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 16 Aug 2023 17:00:17 +0200 Subject: [PATCH 105/291] Provide more detailed error-data information in the report object (#76) --- packages/sdk-core/src/model/report/BacktraceReport.ts | 7 ++++++- packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 65d87514..9c770d82 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -69,7 +69,12 @@ export class BacktraceReport { this.skipFrames = options?.skipFrames ?? 0; let errorType: BacktraceErrorType = 'Exception'; if (data instanceof Error) { - this.annotations['error'] = data; + this.annotations['error'] = { + ...data, + message: data.message, + name: data.name, + stack: data.stack, + }; this.classifiers = [data.name]; this.message = data.message; this.stackTrace['main'] = { diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index f49528c1..97d69c6b 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -64,6 +64,9 @@ export class BacktraceDataBuilder { const { message, stack } = traceInfo; stackFrames = this._stackTraceConverter.convert(stack, message); } + if (name === this.MAIN_THREAD_NAME && report.skipFrames > 0) { + stackFrames.splice(0, report.skipFrames); + } for (const frame of stackFrames) { const debugIdentifier = this._debugIdProvider.getDebugId(frame.library); From 5d89a68588840246ee8c66daa852c4553babfa47 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 16 Aug 2023 17:00:36 +0200 Subject: [PATCH 106/291] Backtrace report unhandled error/crash overrides (#77) * Provide more detailed error-data information in the report object * Backtrace report unhandled error/crash overrides * Browser UnhandledPromiseRejection classifier * Add classifiers to the beginning of the array and merge existing classifiers with the old ones * BacktraceReport changes + undo previous commit --- packages/browser/src/BacktraceClient.ts | 15 +++++++--- packages/node/src/BacktraceClient.ts | 26 +++++++++++----- .../NodeDiagnosticReportConverter.ts | 30 +++++++++++-------- .../src/model/report/BacktraceReport.ts | 14 ++++----- 4 files changed, 54 insertions(+), 31 deletions(-) diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index dec6753b..1bd81dc5 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -8,9 +8,9 @@ import { DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; +import { AGENT } from './agentDefinition'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; -import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { @@ -61,9 +61,16 @@ export class BacktraceClient extends BacktraceCoreClient { if (captureUnhandledRejections) { window.addEventListener('unhandledrejection', async (errorEvent: PromiseRejectionEvent) => { await this.send( - new BacktraceReport(errorEvent.reason, { - 'error.type': 'Unhandled exception', - }), + new BacktraceReport( + errorEvent.reason, + { + 'error.type': 'Unhandled exception', + }, + [], + { + classifiers: ['UnhandledPromiseRejection'], + }, + ), ); }); } diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index a47a73d2..5bf11869 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,17 +1,17 @@ import { BacktraceAttributeProvider, + BacktraceConfiguration as CoreConfiguration, BacktraceCoreClient, BacktraceReport, BacktraceRequestHandler, - BacktraceConfiguration as CoreConfiguration, DebugIdContainer, VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; import fs from 'fs'; import * as fsPromise from 'fs/promises'; import path from 'path'; -import { BacktraceConfiguration } from './BacktraceConfiguration'; import { AGENT } from './agentDefinition'; +import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { NodeOptionReader } from './common/NodeOptionReader'; import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; @@ -73,7 +73,11 @@ export class BacktraceClient extends BacktraceCoreClient { if (origin === 'uncaughtException' && !captureUnhandledExceptions) { return; } - await this.send(new BacktraceReport(error, { 'error.type': 'Unhandled exception', errorOrigin: origin })); + await this.send( + new BacktraceReport(error, { 'error.type': 'Unhandled exception', errorOrigin: origin }, [], { + classifiers: origin === 'unhandledRejection' ? ['UnhandledPromiseRejection'] : undefined, + }), + ); }; process.prependListener('uncaughtExceptionMonitor', captureUncaughtException); @@ -107,12 +111,20 @@ export class BacktraceClient extends BacktraceCoreClient { const captureUnhandledRejectionsCallback = async (reason: unknown) => { const isErrorTypeReason = reason instanceof Error; - const error = isErrorTypeReason ? reason : new Error(reason?.toString() ?? 'Unhandled rejection'); await this.send( - new BacktraceReport(error, { - 'error.type': 'Unhandled exception', - }), + new BacktraceReport( + isErrorTypeReason ? reason : reason?.toString() ?? 'Unhandled rejection', + { + 'error.type': 'Unhandled exception', + }, + [], + { + classifiers: ['UnhandledPromiseRejection'], + skipFrames: isErrorTypeReason ? 0 : 1, + }, + ), ); + const error = isErrorTypeReason ? reason : new Error(reason?.toString() ?? 'Unhandled rejection'); // if there is any other unhandled rejection handler, reproduce default node behavior // and let other handlers to capture the event diff --git a/packages/node/src/converter/NodeDiagnosticReportConverter.ts b/packages/node/src/converter/NodeDiagnosticReportConverter.ts index 0688c2f8..c524e616 100644 --- a/packages/node/src/converter/NodeDiagnosticReportConverter.ts +++ b/packages/node/src/converter/NodeDiagnosticReportConverter.ts @@ -8,19 +8,25 @@ export class NodeDiagnosticReportConverter { const validJsStack = jsStack && jsStack[0] !== 'Unavailable.'; const message = validJsStack ? report.javascriptStack.message : report.header.event; - const btReport = new BacktraceReport(message, { - timestamp: parseInt(report.header.dumpEventTimeStamp), - hostname: report.header.host, - classifiers: [report.header.trigger], - ...this.getUnameData(report), - ...this.getCpuData(report), - ...this.getMemoryData(report), + const btReport = new BacktraceReport( + message, + { + hostname: report.header.host, + ...this.getUnameData(report), + ...this.getCpuData(report), + ...this.getMemoryData(report), - // Annotations - 'Environment Variables': report.environmentVariables, - 'Exec Arguments': report.header.commandLine, - Error: report, - }); + // Annotations + 'Environment Variables': report.environmentVariables, + 'Exec Arguments': report.header.commandLine, + Error: report, + }, + [], + { + timestamp: parseInt(report.header.dumpEventTimeStamp), + classifiers: [report.header.trigger], + }, + ); if (validJsStack) { btReport.addStackTrace('main', jsStack.join('\n')); diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 9c770d82..78b21489 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -64,7 +64,7 @@ export class BacktraceReport { public readonly data: Error | string, public readonly attributes: Record = {}, public readonly attachments: BacktraceAttachment[] = [], - options: { skipFrames?: number } = {}, + options: { skipFrames?: number; classifiers?: string[]; timestamp?: number } = {}, ) { this.skipFrames = options?.skipFrames ?? 0; let errorType: BacktraceErrorType = 'Exception'; @@ -92,6 +92,7 @@ export class BacktraceReport { stack: new Error().stack ?? '', message: data, }; + this.classifiers = ['Message']; errorType = 'Message'; this.skipFrames += 1; } @@ -101,14 +102,11 @@ export class BacktraceReport { } this.attributes['error.message'] = this.message; - if (typeof this.attributes['timestamp'] === 'number') { - this.timestamp = this.attributes['timestamp']; - delete this.attributes['timestamp']; + if (options?.timestamp) { + this.timestamp = options.timestamp; } - - if (Array.isArray(this.attributes['classifiers'])) { - this.classifiers = this.attributes['classifiers']; - delete this.attributes['classifiers']; + if (options?.classifiers) { + this.classifiers.unshift(...options.classifiers); } } } From c00caad3eace411db28780adae1df2d36c3aa84b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 16 Aug 2023 17:00:47 +0200 Subject: [PATCH 107/291] Allow to use only one client via user-friendly API (#78) * Allow to use only one client via user-friendly API * initialize documentation --------- Co-authored-by: kdysput --- packages/browser/src/BacktraceClient.ts | 27 ++++++++++++- packages/node/src/BacktraceClient.ts | 42 +++++++++++++++----- packages/react/src/BacktraceClient.ts | 26 +++++++----- packages/react/src/ErrorBoundary.tsx | 10 +++-- packages/sdk-core/src/BacktraceCoreClient.ts | 2 +- 5 files changed, 81 insertions(+), 26 deletions(-) diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 1bd81dc5..1b7a3453 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -14,6 +14,7 @@ import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { + protected static _instance?: BacktraceClient; constructor( options: BacktraceConfiguration, handler: BacktraceRequestHandler, @@ -41,10 +42,32 @@ export class BacktraceClient extends BacktraceCoreClient { return new BacktraceClientBuilder(options); } - public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void) { + /** + * Initializes the client. If the client already exists, the available instance + * will be returned and all other options will be ignored. + * @param options client configuration + * @param build builder + * @returns backtrace client + */ + public static initialize( + options: BacktraceConfiguration, + build?: (builder: BacktraceClientBuilder) => void, + ): BacktraceClient { + if (this._instance) { + return this._instance; + } const builder = this.builder(options); build && build(builder); - return builder.build().initialize(); + this._instance = builder.build().initialize(); + return this._instance; + } + + /** + * Returns created BacktraceClient instance if the instance exists. + * Otherwise undefined. + */ + public static get instance(): BacktraceClient | undefined { + return this._instance; } private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 5bf11869..60259cc4 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -18,6 +18,7 @@ import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportC import { BacktraceDatabaseFileStorageProvider } from './database/BacktraceDatabaseFileStorageProvider'; export class BacktraceClient extends BacktraceCoreClient { + private static _instance?: BacktraceClient; constructor( options: CoreConfiguration, handler: BacktraceRequestHandler, @@ -36,7 +37,36 @@ export class BacktraceClient extends BacktraceCoreClient { ); } - public initialize() { + public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder(options); + } + + /** + * Initializes the client. If the client already exists, the available instance + * will be returned and all other options will be ignored. + * @param options client configuration + * @param build builder + * @returns backtrace client + */ + public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void) { + if (this._instance) { + return this._instance; + } + const builder = this.builder(options); + build && build(builder); + this._instance = builder.build().initialize(); + return this._instance; + } + + /** + * Returns created BacktraceClient instance if the instance exists. + * Otherwise undefined. + */ + public static get instance(): BacktraceClient | undefined { + return this._instance; + } + + protected initialize() { super.initialize(); this.loadNodeCrashes(); @@ -51,16 +81,6 @@ export class BacktraceClient extends BacktraceCoreClient { return this; } - public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { - return new BacktraceClientBuilder(options); - } - - public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void) { - const builder = this.builder(options); - build && build(builder); - return builder.build().initialize(); - } - private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { if (!captureUnhandledExceptions && !captureUnhandledRejections) { return; diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index 3bea75e8..663636d2 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -1,24 +1,32 @@ -import { BacktraceConfiguration, BacktraceClient as BrowserClient } from '@backtrace/browser'; +import { BacktraceClient as BrowserClient, BacktraceConfiguration } from '@backtrace/browser'; import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; export class BacktraceClient extends BrowserClient { - private static _instance?: BacktraceClient; - public static builder(options: BacktraceConfiguration): BacktraceReactClientBuilder { return new BacktraceReactClientBuilder(options); } - + /** + * Initializes the client. If the client already exists, the available instance + * will be returned and all other options will be ignored. + * @param options client configuration + * @param build builder + * @returns backtrace client + */ public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceReactClientBuilder) => void) { + if (this._instance) { + return this._instance; + } const builder = this.builder(options); build && build(builder); - this._instance = this.builder(options).build().initialize(); + this._instance = builder.build().initialize(); return this._instance; } - public static get instance(): BacktraceClient { - if (!this._instance) { - throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); - } + /** + * Returns created BacktraceClient instance if the instance exists. + * Otherwise undefined. + */ + public static get instance(): BacktraceClient | undefined { return this._instance; } } diff --git a/packages/react/src/ErrorBoundary.tsx b/packages/react/src/ErrorBoundary.tsx index 0e6bfb14..6fbef3c8 100644 --- a/packages/react/src/ErrorBoundary.tsx +++ b/packages/react/src/ErrorBoundary.tsx @@ -1,6 +1,6 @@ -import { Component, ErrorInfo, ReactElement, ReactNode, isValidElement } from 'react'; -import { BacktraceClient } from './BacktraceClient'; +import { Component, ErrorInfo, isValidElement, ReactElement, ReactNode } from 'react'; import { BacktraceReport } from '.'; +import { BacktraceClient } from './BacktraceClient'; type RenderFallback = () => ReactElement; @@ -25,7 +25,11 @@ export class ErrorBoundary extends Component { error: undefined, }; // grabbing here so it will fail fast if BacktraceClient is uninitialized - this._client = BacktraceClient.instance; + const client = BacktraceClient.instance; + if (!client) { + throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); + } + this._client = client; } public static getDerivedStateFromError(error: Error) { diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index ac8b5a30..d43f8693 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -139,7 +139,7 @@ export abstract class BacktraceCoreClient { } } - public initialize() { + protected initialize() { this._database?.start(); this._metrics?.start(); this.breadcrumbsManager?.start(); From b2d3975af920ccf27f81c0524b76803bf5ed6eab Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 17 Aug 2023 15:35:30 +0200 Subject: [PATCH 108/291] Lazy load debug ids (#80) Co-authored-by: kdysput --- packages/sdk-core/src/sourcemaps/DebugIdProvider.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts b/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts index 7ceac301..d0f479c3 100644 --- a/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts +++ b/packages/sdk-core/src/sourcemaps/DebugIdProvider.ts @@ -4,7 +4,7 @@ import { DebugIdMapProvider } from './interfaces/DebugIdMapProvider'; export const SOURCE_DEBUG_ID_VARIABLE = '_btDebugIds'; export class DebugIdProvider { - private readonly _fileDebugIds: Record; + private _fileDebugIds: Record; constructor( private readonly _stackTraceConverter: BacktraceStackTraceConverter, @@ -14,6 +14,12 @@ export class DebugIdProvider { } public getDebugId(file: string): string | undefined { + const debugId = this._fileDebugIds[file]; + if (debugId) { + return debugId; + } + // in case of dynamic require - lazy load dynamically debug ids + this._fileDebugIds = this.loadDebugIds(); return this._fileDebugIds[file]; } From 7425f54e05af42280a98f28486138ac0e78145e2 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 17 Aug 2023 15:35:37 +0200 Subject: [PATCH 109/291] Release files (#79) Co-authored-by: kdysput --- .npmrc | 1 + package-lock.json | 3 +++ packages/node/package.json | 1 + packages/sdk-core/package.json | 3 +++ 4 files changed, 8 insertions(+) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..aa5e6bdf --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@backtrace:registry=https://packagecloud.io/backtrace/internal/npm \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 898fd8f3..ca4528e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12283,6 +12283,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { + "@backtrace/sdk-core": "^0.0.1", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -12300,6 +12301,7 @@ "node": ">=14" } }, + "packages/node/packages/sdk-core": {}, "packages/react": { "name": "@backtrace/react", "version": "0.0.1", @@ -12871,6 +12873,7 @@ "@backtrace/node": { "version": "file:packages/node", "requires": { + "@backtrace/sdk-core": "^0.0.1", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", diff --git a/packages/node/package.json b/packages/node/package.json index 1cdf7b7a..257bc2f9 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,6 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { + "@backtrace/sdk-core": "^0.0.1", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 2863f95e..4e77c23c 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -30,6 +30,9 @@ "bugs": { "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" }, + "files": [ + "/lib" + ], "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "@types/jest": "^29.5.1", From 685c13cda18e152945e2805ef90e129c89bf5d6e Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 17 Aug 2023 20:21:38 +0200 Subject: [PATCH 110/291] Package export (#81) * Package export * instruct packages to not use old fake timers package * instruct packages to not use old fake timers package --------- Co-authored-by: kdysput --- examples/sdk/browser/package.json | 3 +- examples/sdk/node/package.json | 3 - examples/sdk/node/src/index.ts | 1 + examples/sdk/react/package-lock.json | 29565 -------- examples/sdk/react/package.json | 1 + examples/sdk/react/src/App.tsx | 15 +- package-lock.json | 59272 ++++++++++++---- package.json | 2 +- packages/browser/package.json | 5 +- .../src/builder/BacktraceClientBuilder.ts | 25 +- packages/browser/src/index.ts | 21 +- packages/node/src/BacktraceClient.ts | 6 +- .../src/builder/BacktraceClientBuilder.ts | 1 + packages/node/src/index.ts | 15 +- packages/react/package.json | 3 - .../builder/BacktraceReactClientBuilder.ts | 2 +- packages/react/src/index.ts | 2 +- .../src/builder/BacktraceCoreClientBuilder.ts | 7 + packages/sdk-core/src/index.ts | 2 +- packages/sdk-core/src/model/data/index.ts | 3 + 20 files changed, 45731 insertions(+), 43223 deletions(-) delete mode 100644 examples/sdk/react/package-lock.json create mode 100644 packages/sdk-core/src/model/data/index.ts diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index 8f903a25..9eb4d35e 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -10,8 +10,7 @@ "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "watch": "webpack -w", - "test": "NODE_ENV=test jest" + "watch": "webpack -w" }, "repository": { "type": "git", diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json index 3c88d4e0..a304e43d 100644 --- a/examples/sdk/node/package.json +++ b/examples/sdk/node/package.json @@ -36,8 +36,5 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "typescript": "^5.1.3" - }, - "dependencies": { - "@backtrace/node": "^0.0.1" } } diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 97859f20..f9f1689e 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -24,6 +24,7 @@ const client = BacktraceClient.initialize({ enabled: true, path: path.join(process.cwd(), 'database'), captureNativeCrashes: true, + createDatabaseDirectory: true, }, }); diff --git a/examples/sdk/react/package-lock.json b/examples/sdk/react/package-lock.json deleted file mode 100644 index 64f3e3af..00000000 --- a/examples/sdk/react/package-lock.json +++ /dev/null @@ -1,29565 +0,0 @@ -{ - "name": "@backtrace/react-example", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@backtrace/react-example", - "version": "0.1.0", - "dependencies": { - "@types/react": "^16.14.0", - "@types/react-dom": "^18.2.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "react-toastify": "^9.1.3", - "typescript": "^4.9.5", - "web-vitals": "^2.1.4" - }, - "devDependencies": { - "serve": "^14.2.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "dependencies": { - "@babel/highlight": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz", - "integrity": "sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "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.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", - "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.5.tgz", - "integrity": "sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/plugin-syntax-decorators": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz", - "integrity": "sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", - "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", - "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", - "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", - "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", - "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", - "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.5", - "@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.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@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.5", - "@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.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "node_modules/@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "node_modules/@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss-selector-parser": "^6.0.10" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.43.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", - "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dependencies": { - "eslint-scope": "5.1.1" - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", - "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <4.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", - "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "node_modules/@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - }, - "node_modules/@types/node": { - "version": "16.18.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz", - "integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/react": { - "version": "16.14.43", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.43.tgz", - "integrity": "sha512-7zdjv7jvoLLQg1tTvpQsm+hyNUMT2mPlNV1+d0I8fbGhkJl82spopMyBlu4wb1dviZAxpGdk5eHu/muacknnfw==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", - "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" - }, - "node_modules/@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "node_modules/@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz", - "integrity": "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/type-utils": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.60.1.tgz", - "integrity": "sha512-TXUdLxv2t8181nh5yLXl/Gr/zKj1ZofQ7m+ZdmG2+El0TYOHCvlZfc35D4nturemC3RUnf3KmLuFp3bVBjkG5w==", - "dependencies": { - "@typescript-eslint/utils": "5.60.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz", - "integrity": "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz", - "integrity": "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==", - "dependencies": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz", - "integrity": "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz", - "integrity": "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz", - "integrity": "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==", - "dependencies": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz", - "integrity": "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz", - "integrity": "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==", - "dependencies": { - "@typescript-eslint/types": "5.60.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/@zeit/schemas": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", - "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "peerDependencies": { - "@babel/core": "^7.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", - "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", - "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", - "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "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" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "node_modules/bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", - "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/boxen": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", - "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", - "dev": true, - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001508", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", - "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/chalk-template/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/chalk-template/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk-template/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" - }, - "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", - "dev": true, - "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/core-js": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", - "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", - "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", - "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.31.0.tgz", - "integrity": "sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", - "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssdb": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", - "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - } - ] - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "dependencies": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.441", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.441.tgz", - "integrity": "sha512-LlCgQ8zgYZPymf5H4aE9itwiIWH4YlCiv1HFLmmcBeFYi5E+3eaIFnjHzYtcFQbaKfAW+CqZ9pgxo33DZuoqPg==" - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.43.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", - "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.43.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "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.0.1", - "confusing-browser-globals": "^1.0.11", - "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" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@babel/plugin-syntax-flow": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "eslint": "^8.1.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dependencies": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "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" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "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.0", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "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" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-testing-library": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.0.tgz", - "integrity": "sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==", - "dependencies": { - "@typescript-eslint/utils": "^5.58.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dev": true, - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "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" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-port-reachable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", - "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jake/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "jest": "^27.0.0 || ^28.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dependencies": { - "@jest/schemas": "^28.1.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" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-watch-typeahead/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-watch-typeahead/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "dependencies": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", - "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", - "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "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" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "browserslist": ">=4", - "postcss": ">=8" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "peerDependencies": { - "postcss": "^8.1.4" - } - }, - "node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "dependencies": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "browserslist": ">= 4", - "postcss": ">= 8" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "dependencies": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dev-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - }, - "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-toastify": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", - "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", - "dependencies": { - "clsx": "^1.1.1" - }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", - "dev": true, - "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" - }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } - } - }, - "node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", - "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", - "dev": true, - "dependencies": { - "@zeit/schemas": "2.29.0", - "ajv": "8.11.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.5", - "update-check": "1.5.4" - }, - "bin": { - "serve": "build/main.js" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", - "dev": true, - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dev": true, - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true - }, - "node_modules/serve-handler/node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/serve/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-loader": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "node_modules/tailwindcss": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", - "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", - "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "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" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", - "dev": true, - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "dependencies": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "webpack": "^4.44.2 || ^5.47.0" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "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", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dev": true, - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-background-sync": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", - "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", - "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", - "dependencies": { - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-build": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", - "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", - "dependencies": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "dependencies": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/workbox-build/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/workbox-build/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/workbox-build/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/workbox-build/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/workbox-build/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", - "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", - "deprecated": "workbox-background-sync@6.6.0", - "dependencies": { - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" - }, - "node_modules/workbox-expiration": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-google-analytics": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", - "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", - "dependencies": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", - "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", - "dependencies": { - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-precaching": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", - "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", - "dependencies": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "node_modules/workbox-range-requests": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", - "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", - "dependencies": { - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-recipes": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", - "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", - "dependencies": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "node_modules/workbox-routing": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", - "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", - "dependencies": { - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-strategies": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", - "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", - "dependencies": { - "workbox-core": "6.6.0" - } - }, - "node_modules/workbox-streams": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", - "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", - "dependencies": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" - } - }, - "node_modules/workbox-sw": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" - }, - "node_modules/workbox-webpack-plugin": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", - "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", - "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/workbox-window": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", - "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", - "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "requires": { - "@babel/highlight": "^7.22.5" - } - }, - "@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==" - }, - "@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/eslint-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz", - "integrity": "sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "requires": { - "@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.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", - "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" - }, - "@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.5.tgz", - "integrity": "sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/plugin-syntax-decorators": "^7.22.5" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "requires": { - "@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": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "requires": {} - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz", - "integrity": "sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", - "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", - "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", - "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", - "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", - "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", - "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.5", - "@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.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@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.5", - "@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.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - } - }, - "@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "requires": {} - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==" - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "@eslint/js": { - "version": "8.43.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", - "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==" - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - } - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "requires": { - "eslint-scope": "5.1.1" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", - "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - } - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", - "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" - }, - "@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - }, - "@types/node": { - "version": "16.18.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz", - "integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "16.14.43", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.43.tgz", - "integrity": "sha512-7zdjv7jvoLLQg1tTvpQsm+hyNUMT2mPlNV1+d0I8fbGhkJl82spopMyBlu4wb1dviZAxpGdk5eHu/muacknnfw==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", - "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" - }, - "@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz", - "integrity": "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==", - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/type-utils": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.60.1.tgz", - "integrity": "sha512-TXUdLxv2t8181nh5yLXl/Gr/zKj1ZofQ7m+ZdmG2+El0TYOHCvlZfc35D4nturemC3RUnf3KmLuFp3bVBjkG5w==", - "requires": { - "@typescript-eslint/utils": "5.60.1" - } - }, - "@typescript-eslint/parser": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz", - "integrity": "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==", - "requires": { - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz", - "integrity": "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==", - "requires": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz", - "integrity": "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==", - "requires": { - "@typescript-eslint/typescript-estree": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz", - "integrity": "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz", - "integrity": "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==", - "requires": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz", - "integrity": "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz", - "integrity": "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==", - "requires": { - "@typescript-eslint/types": "5.60.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "@zeit/schemas": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", - "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "requires": { - "dequal": "^2.0.3" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "requires": { - "dequal": "^2.0.3" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", - "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", - "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", - "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@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" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "boxen": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", - "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", - "dev": true, - "requires": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true - }, - "chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001508", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001508.tgz", - "integrity": "sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "dev": true, - "requires": { - "chalk": "^4.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" - }, - "clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true - }, - "clipboardy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", - "dev": true, - "requires": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "core-js": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", - "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==" - }, - "core-js-compat": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", - "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", - "requires": { - "browserslist": "^4.21.5" - } - }, - "core-js-pure": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.31.0.tgz", - "integrity": "sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-declaration-sorter": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", - "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", - "requires": {} - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "requires": {} - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "cssdb": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", - "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.441", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.441.tgz", - "integrity": "sha512-LlCgQ8zgYZPymf5H4aE9itwiIWH4YlCiv1HFLmmcBeFYi5E+3eaIFnjHzYtcFQbaKfAW+CqZ9pgxo33DZuoqPg==" - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.43.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", - "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.43.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "requires": { - "@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.0.1", - "confusing-browser-globals": "^1.0.11", - "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": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "requires": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "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.0", - "string.prototype.matchall": "^4.0.8" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.0.tgz", - "integrity": "sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==", - "requires": { - "@typescript-eslint/utils": "^5.58.0" - } - }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==" - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dev": true, - "requires": { - "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - } - } - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, - "html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - }, - "is-port-reachable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", - "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", - "dev": true - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "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" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - } - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - } - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "requires": { - "tmpl": "1.0.5" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "requires": { - "fs-monkey": "^1.0.4" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", - "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "requires": {} - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} - }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "requires": {} - }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "requires": { - "camelcase-css": "^2.0.1" - } - }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "dependencies": { - "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==" - } - } - }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "requires": {} - }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "requires": { - "postcss-selector-parser": "^6.0.11" - } - }, - "postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "requires": {} - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "requires": {} - }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "requires": {} - }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true - } - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - }, - "react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "requires": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "fsevents": "^2.3.2", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - } - }, - "react-toastify": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", - "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", - "requires": { - "clsx": "^1.1.1" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "requires": { - "pify": "^2.3.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "requires": { - "@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": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" - } - }, - "semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", - "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", - "dev": true, - "requires": { - "@zeit/schemas": "2.29.0", - "ajv": "8.11.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.5", - "update-check": "1.5.4" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - }, - "dependencies": { - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "dev": true - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dev": true, - "requires": { - "mime-db": "~1.33.0" - } - }, - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "dev": true - } - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-loader": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", - "requires": {} - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - } - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "tailwindcss": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", - "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", - "requires": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", - "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - } - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - } - }, - "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", - "dev": true, - "requires": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "requires": {} - } - } - }, - "webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "requires": { - "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", - "is-typed-array": "^1.1.10" - } - }, - "widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dev": true, - "requires": { - "string-width": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", - "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-broadcast-update": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", - "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-build": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", - "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", - "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" - }, - "workbox-expiration": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-google-analytics": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", - "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", - "requires": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-navigation-preload": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", - "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-precaching": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", - "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-range-requests": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", - "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-recipes": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", - "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", - "requires": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-routing": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", - "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-strategies": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", - "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-streams": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", - "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" - } - }, - "workbox-sw": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" - }, - "workbox-webpack-plugin": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", - "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } - }, - "workbox-window": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", - "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - } - } -} diff --git a/examples/sdk/react/package.json b/examples/sdk/react/package.json index 4dead846..0e38a96d 100644 --- a/examples/sdk/react/package.json +++ b/examples/sdk/react/package.json @@ -15,6 +15,7 @@ "scripts": { "start": "react-scripts start", "build": "react-scripts build", + "clean": "rimraf \"build\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", "serve": "npm run build && serve -s build" diff --git a/examples/sdk/react/src/App.tsx b/examples/sdk/react/src/App.tsx index e7df5897..99e4611d 100644 --- a/examples/sdk/react/src/App.tsx +++ b/examples/sdk/react/src/App.tsx @@ -1,15 +1,18 @@ -import React, { useState } from 'react'; -import './App.css'; import { BacktraceClient, ErrorBoundary } from '@backtrace/react'; -import { ToastContainer, toast } from 'react-toastify'; +import { useState } from 'react'; +import { toast, ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; -import { SUBMISSION_URL } from './consts'; -import InnerFallback from './components/InnerFallback'; +import './App.css'; import ButtonWithError from './components/ButtonWithError'; +import InnerFallback from './components/InnerFallback'; +import { SUBMISSION_URL } from './consts'; function App() { const [clicked, setClicked] = useState(false); - const client = BacktraceClient.instance; + const client = BacktraceClient.instance as BacktraceClient; + if (!client) { + throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); + } async function sendError() { await client.send(new Error('Manual Test Error')); diff --git a/package-lock.json b/package-lock.json index ca4528e4..074e0724 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "workspaces": [ "packages/*", "tools/*", - "examples/*" + "examples/**/*" ], "devDependencies": { "@types/node": "^14.18.51", @@ -26,6214 +26,7081 @@ "typescript": "^5.0.4" } }, - "node_modules/@75lb/deep-merge": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "examples/sdk/browser": { + "name": "@backtrace/browser-example", + "version": "1.0.0", + "license": "MIT", "dependencies": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" + "@backtrace/browser": "^0.0.1", + "@backtrace/webpack-plugin": "^0.0.1" }, - "engines": { - "node": ">=12.17" + "devDependencies": { + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, - "node_modules/@75lb/deep-merge/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "examples/sdk/node": { + "name": "@backtrace/node-example", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "typescript": "^5.1.3" + }, "engines": { - "node": ">=12.17" + "node": ">=14" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "license": "Apache-2.0", + "examples/sdk/react": { + "name": "@backtrace/react-example", + "version": "0.1.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" }, - "engines": { - "node": ">=6.0.0" + "devDependencies": { + "serve": "^14.2.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.21.4", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.0", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/core": { - "version": "7.22.1", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helpers": "^7.22.0", - "@babel/parser": "^7.22.0", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/generator": { - "version": "7.22.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "examples/sdk/react/node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, + "examples/sdk/react/node_modules/@jest/core/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", + "examples/sdk/react/node_modules/@jest/core/node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.1", - "dev": true, - "license": "MIT", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - }, + "examples/sdk/react/node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@jest/core/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dependencies": { - "@babel/types": "^7.18.6" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "@babel/types": "^7.21.4" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.1", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "dev": true, + "examples/sdk/react/node_modules/@jest/types": { + "version": "27.5.1", "license": "MIT", "dependencies": { - "@babel/types": "^7.21.5" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "@types/yargs-parser": "*" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/helpers": { - "version": "7.22.0", - "dev": true, + "examples/sdk/react/node_modules/jest": { + "version": "27.5.1", "license": "MIT", "dependencies": { - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.0", - "@babel/types": "^7.22.0" + "@jest/core": "^29.6.2", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@jest/core": "^29.6.2", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "color-convert": "^1.9.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "examples/sdk/react/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">=0.8.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead": { + "version": "1.1.0", "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.22.0", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, + "examples/sdk/react/node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, + "examples/sdk/react/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "examples/sdk/react/node_modules/react-scripts": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "examples/sdk/react/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "ansi-regex": "^6.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "examples/sdk/react/node_modules/typescript": { + "version": "4.9.5", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4.2.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "license": "MIT", + "node_modules/@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=12.17" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@75lb/deep-merge/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "license": "MIT", + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "license": "MIT", + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "color-convert": "^1.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "color-name": "1.1.3" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "has-flag": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "license": "MIT", + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", + "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/@babel/runtime": { - "version": "7.22.6", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/template": { - "version": "7.21.9", - "dev": true, - "license": "MIT", + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.22.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.22.0", - "@babel/types": "^7.22.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", + "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", + "dependencies": { + "@babel/types": "^7.22.10" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/types": { - "version": "7.22.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@backtrace/browser": { - "resolved": "packages/browser", - "link": true - }, - "node_modules/@backtrace/javascript-cli": { - "resolved": "tools/cli", - "link": true - }, - "node_modules/@backtrace/node": { - "resolved": "packages/node", - "link": true - }, - "node_modules/@backtrace/react": { - "resolved": "packages/react", - "link": true + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } }, - "node_modules/@backtrace/rollup-plugin": { - "resolved": "tools/rollup-plugin", - "link": true + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@backtrace/sdk-core": { - "resolved": "packages/sdk-core", - "link": true + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, - "node_modules/@backtrace/sourcemap-tools": { - "resolved": "tools/sourcemap-tools", - "link": true + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", + "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", + "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.5", + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@backtrace/vite-plugin": { - "resolved": "tools/vite-plugin", - "link": true + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@backtrace/webpack-plugin": { - "resolved": "tools/webpack-plugin", - "link": true + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.19.tgz", - "integrity": "sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz", - "integrity": "sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.19.tgz", - "integrity": "sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz", - "integrity": "sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz", - "integrity": "sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz", - "integrity": "sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz", - "integrity": "sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz", - "integrity": "sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz", - "integrity": "sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz", - "integrity": "sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz", - "integrity": "sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz", - "integrity": "sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz", - "integrity": "sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz", - "integrity": "sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz", - "integrity": "sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.19.tgz", - "integrity": "sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz", - "integrity": "sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", + "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.10" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz", - "integrity": "sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, + "node_modules/@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz", - "integrity": "sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "peer": true, + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz", - "integrity": "sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz", - "integrity": "sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz", - "integrity": "sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=0.8.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" + "has-flag": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4" } }, - "node_modules/@eslint/js": { - "version": "8.41.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.0.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "license": "Apache-2.0", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + }, "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "license": "ISC", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.10.tgz", + "integrity": "sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@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" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.0.1", - "license": "MIT", + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "dev": true, - "license": "ISC", + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dependencies": { - "p-locate": "^4.1.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dependencies": { - "p-try": "^2.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dependencies": { - "p-limit": "^2.2.0" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.8.3" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", "dependencies": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/environment": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dependencies": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dependencies": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dependencies": { - "jest-get-type": "^29.4.3" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dependencies": { - "@jest/types": "^29.5.0", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/globals": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "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" - }, - "engines": { - "node": "*" + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/schemas": { - "version": "29.4.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dependencies": { - "@sinclair/typebox": "^0.25.16" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/source-map": { - "version": "29.4.3", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-result": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dependencies": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dependencies": { - "@jest/test-result": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dependencies": { - "@jest/schemas": "^29.4.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" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "license": "MIT", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "license": "MIT", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "license": "MIT", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", + "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", + "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "license": "MIT", - "optional": true, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", - "dev": true, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "rollup": "^2.14.0||^3.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } + "@babel/core": "^7.12.0" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "dev": true, - "license": "MIT" + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dependencies": { - "type-detect": "4.0.8" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.2.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", + "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "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" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/react": { - "version": "14.0.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" }, "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/archiver": { - "version": "5.3.2", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", "dependencies": { - "@types/readdir-glob": "*" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/aria-query": { - "version": "5.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dependencies": { - "@babel/types": "^7.0.0" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true - }, - "node_modules/@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true - }, - "node_modules/@types/decompress": { - "version": "4.2.4", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", "dependencies": { - "@types/node": "*" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/eslint": { - "version": "8.40.2", - "license": "MIT", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "license": "MIT", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/estree": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "dependencies": { - "@types/node": "*" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "14.18.51", - "license": "MIT" - }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.14", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/react-dom": { - "version": "18.2.6", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", "dependencies": { - "@types/react": "*" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/readdir-glob": { - "version": "1.1.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", "dependencies": { - "@types/node": "*" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.36", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack-sources": { - "version": "3.2.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.4", - "dev": true, - "license": "BSD-3-Clause", + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dependencies": { - "@types/yargs-parser": "*" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6.9.0" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.59.7", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", + "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "debug": "^4.3.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.7", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", "dependencies": { - "@typescript-eslint/types": "5.59.7", - "eslint-visitor-keys": "^3.3.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", + "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@babel/helper-module-imports": "^7.22.5", + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true, - "license": "MIT" + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "license": "Apache-2.0", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "dependencies": { - "@xtuc/long": "4.2.2" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", + "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "license": "MIT", + "node_modules/@babel/preset-env": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", + "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.10", + "@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.10", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.10", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.10", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@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.10", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "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" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/@babel/preset-react": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", + "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, "engines": { - "node": ">=14.15.0" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "dev": true, - "license": "MIT", + "node_modules/@babel/preset-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + }, "engines": { - "node": ">=14.15.0" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "license": "Apache-2.0" - }, - "node_modules/abab": { - "version": "2.0.6", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, - "node_modules/acorn": { - "version": "8.8.2", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "node_modules/@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=6.9.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "dev": true, - "license": "MIT", + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node_modules/@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "dependencies": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@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.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "dev": true, - "license": "MIT", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { - "node": ">=0.4.0" + "node": ">=4" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", + "node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", "dependencies": { - "debug": "4" + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=6.9.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "license": "MIT", + "node_modules/@backtrace/browser": { + "resolved": "packages/browser", + "link": true + }, + "node_modules/@backtrace/browser-example": { + "resolved": "examples/sdk/browser", + "link": true + }, + "node_modules/@backtrace/javascript-cli": { + "resolved": "tools/cli", + "link": true + }, + "node_modules/@backtrace/node": { + "resolved": "packages/node", + "link": true + }, + "node_modules/@backtrace/node-example": { + "resolved": "examples/sdk/node", + "link": true + }, + "node_modules/@backtrace/react": { + "resolved": "packages/react", + "link": true + }, + "node_modules/@backtrace/react-example": { + "resolved": "examples/sdk/react", + "link": true + }, + "node_modules/@backtrace/rollup-plugin": { + "resolved": "tools/rollup-plugin", + "link": true + }, + "node_modules/@backtrace/sdk-core": { + "resolved": "packages/sdk-core", + "link": true + }, + "node_modules/@backtrace/sourcemap-tools": { + "resolved": "tools/sourcemap-tools", + "link": true + }, + "node_modules/@backtrace/vite-plugin": { + "resolved": "tools/vite-plugin", + "link": true + }, + "node_modules/@backtrace/webpack-plugin": { + "resolved": "tools/webpack-plugin", + "link": true + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", "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" + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { - "ajv": ">=5.0.0" + "postcss": "^8.2" } }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "license": "MIT", + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { - "ajv": "^6.9.1" + "postcss": "^8.2" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, - "license": "MIT", + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", "dependencies": { - "type-fest": "^0.21.3" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "dev": true, - "license": "(MIT OR CC0-1.0)", + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", "dependencies": { - "color-convert": "^2.0.1" + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "dev": true, - "license": "ISC", + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 8" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/aproba": { - "version": "1.2.0", - "dev": true, - "license": "ISC" + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } }, - "node_modules/archiver": { - "version": "5.3.1", - "license": "MIT", + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 10" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "license": "MIT", + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 6" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", "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" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "*" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/archiver/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 6" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.1.3", - "dev": true, - "license": "Apache-2.0", + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", "dependencies": { - "deep-equal": "^2.0.5" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", "engines": { - "node": ">=0.10.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "engines": { - "node": ">=0.10.0" + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" } }, - "node_modules/arr-union": { - "version": "3.1.0", + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "eslint-visitor-keys": "^3.3.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/array-includes": { - "version": "3.1.6", - "dev": true, - "license": "MIT", + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "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" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "dev": true, - "license": "MIT", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.10.0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "engines": { - "node": ">= 0.4" + "node": ">=12.22" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "license": "MIT", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "dev": true, - "license": "MIT", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" - }, - "node_modules/assert": { - "version": "1.5.0", - "dev": true, - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "dev": true, - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { - "inherits": "2.0.1" + "sprintf-js": "~1.0.2" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/async": { - "version": "3.2.4", - "license": "MIT" + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "node_modules/async-each": { - "version": "1.0.6", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "optional": true + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/atob": { - "version": "2.1.2", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" }, "engines": { - "node": ">= 4.5.0" + "node": ">=8" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { - "node": ">= 0.4" + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/babel-jest": { - "version": "29.5.0", + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/transform": "^29.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", + "node_modules/@jest/core/node_modules/@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", + "node_modules/@jest/core/node_modules/@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", + "node_modules/@jest/core/node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", + "node_modules/@jest/core/node_modules/@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", "dev": true, - "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core/node_modules/@jest/reporters": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" + "node_modules/@jest/core/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/base": { - "version": "0.11.2", + "node_modules/@jest/core/node_modules/@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", "dev": true, - "license": "MIT", "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", + "node_modules/@jest/core/node_modules/@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", + "node_modules/@jest/core/node_modules/@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + }, "engines": { - "node": "*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/@jest/core/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", "dev": true, - "license": "MIT", - "optional": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@jest/core/node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bl": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } + "node_modules/@jest/core/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", + "node_modules/@jest/core/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "type-detect": "4.0.8" } }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/@jest/core/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/bn.js": { - "version": "5.2.1", + "node_modules/@jest/core/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/braces": { - "version": "3.0.2", + "node_modules/@jest/core/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/brorand": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", + "node_modules/@jest/core/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, - "license": "MIT", "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" + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", + "node_modules/@jest/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/browserify-des": { + "node_modules/@jest/core/node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": ">=10" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", + "node_modules/@jest/core/node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/browserify-sign": { - "version": "4.2.1", + "node_modules/@jest/core/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "license": "ISC", - "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" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/@jest/core/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" }, "engines": { - "node": ">= 6" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", + "node_modules/@jest/core/node_modules/jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, - "license": "MIT", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.21.5", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" + "execa": "^5.0.0", + "p-limit": "^3.1.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bs-logger": { - "version": "0.2.6", + "node_modules/@jest/core/node_modules/jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", "dev": true, - "license": "MIT", "dependencies": { - "fast-json-stable-stringify": "2.x" + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bser": { - "version": "2.1.1", + "node_modules/@jest/core/node_modules/jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "node-int64": "^0.4.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/buffer": { - "version": "4.9.2", + "node_modules/@jest/core/node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, - "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", + "node_modules/@jest/core/node_modules/jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", "dev": true, - "license": "MIT", "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", + "node_modules/@jest/core/node_modules/jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", "dev": true, - "license": "MIT" - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "license": "MIT", + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, "engines": { - "node": "*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", + "node_modules/@jest/core/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", "dev": true, - "license": "MIT" + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", + "node_modules/@jest/core/node_modules/jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", "dev": true, - "license": "MIT" + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/cacache": { - "version": "12.0.4", + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, - "license": "ISC", "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/glob": { - "version": "7.2.3", + "node_modules/@jest/core/node_modules/jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", "dev": true, - "license": "ISC", "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" + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", + "node_modules/@jest/core/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", + "node_modules/@jest/core/node_modules/jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/y18n": { - "version": "4.0.3", + "node_modules/@jest/core/node_modules/jest-resolve-dependencies": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", "dev": true, - "license": "ISC" + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", + "node_modules/@jest/core/node_modules/jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", "dev": true, - "license": "ISC" + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/cache-base": { - "version": "1.0.1", + "node_modules/@jest/core/node_modules/jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", "dev": true, - "license": "MIT", "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/call-bind": { - "version": "1.0.2", + "node_modules/@jest/core/node_modules/jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/@jest/core/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", + "node_modules/@jest/core/node_modules/jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001489", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/@jest/core/node_modules/jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "node_modules/@jest/core/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, - "license": "MIT", "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "optional": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/@jest/core/node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/chownr": { - "version": "1.1.4", - "dev": true, - "license": "ISC" + "node_modules/@jest/core/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "license": "MIT", + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "engines": { - "node": ">=6.0" + "node": ">=8" } }, - "node_modules/ci-info": { - "version": "3.8.0", + "node_modules/@jest/core/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cipher-base": { - "version": "1.0.4", + "node_modules/@jest/core/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/class-utils": { - "version": "0.3.6", + "node_modules/@jest/core/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", + "node_modules/@jest/core/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/@jest/core/node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.12.0" } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", + "node_modules/@jest/core/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", "dependencies": { - "is-buffer": "^1.1.5" + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/cliui": { - "version": "8.0.1", + "node_modules/@jest/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/@jest/expect-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", "dev": true, - "license": "MIT" + "dependencies": { + "jest-get-type": "^29.4.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", + "node_modules/@jest/expect/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/@jest/expect/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/clone-deep": { - "version": "4.0.1", + "node_modules/@jest/expect/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, - "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/co": { - "version": "4.6.0", + "node_modules/@jest/expect/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@jest/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, - "license": "MIT" + "node_modules/@jest/expect/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, - "node_modules/collection-visit": { - "version": "1.0.0", + "node_modules/@jest/expect/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", "dev": true, - "license": "MIT", "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "engines": { - "node": ">=7.0.0" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", + "node_modules/@jest/expect/node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, + "node_modules/@jest/expect/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, "engines": { - "node": ">=4.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "node_modules/@jest/expect/node_modules/jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" }, "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/commondir": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/component-emitter": { - "version": "1.3.0", + "node_modules/@jest/expect/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", "dev": true, - "license": "MIT" - }, - "node_modules/compress-commons": { - "version": "4.1.1", - "license": "MIT", "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/@jest/expect/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "1.6.2", + "node_modules/@jest/expect/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/console-browserify": { - "version": "1.2.0", + "node_modules/@jest/expect/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", + "node_modules/@jest/expect/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/copy-concurrently/node_modules/glob": { - "version": "7.2.3", + "node_modules/@jest/expect/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "ISC", "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" + "has-flag": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", + "node_modules/@jest/expect/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", + "node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/crc-32": { - "version": "1.2.2", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=0.8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "license": "MIT", + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" + "@types/yargs-parser": "*" } }, - "node_modules/crc32-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/@jest/fake-timers/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">= 6" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "node": ">=8" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "node_modules/@jest/fake-timers/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "dev": true, - "license": "MIT", + "node_modules/@jest/fake-timers/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "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" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "node_modules/@jest/fake-timers/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/fake-timers/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "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" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": "*" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/cssom": { - "version": "0.5.0", - "dev": true, - "license": "MIT" + "node_modules/@jest/fake-timers/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "node_modules/cssstyle": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" - }, + "node_modules/@jest/fake-timers/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cyclist": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "3.0.2", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" }, "engines": { - "node": ">=12" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "ms": "2.1.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "dev": true, - "license": "MIT" + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/decompress": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" + "node_modules/@jest/globals/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-tar/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">= 0.8.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-tarbz2/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-targz/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/globals/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@jest/globals/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "pify": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-equal": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.0", - "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" + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "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" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/define-property": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">=0.4.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/des.js": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" } }, - "node_modules/diff-sequences": { - "version": "29.4.3", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "dev": true, - "license": "MIT", + "node_modules/@jest/reporters/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dependencies": { - "path-type": "^4.0.0" + "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", "dependencies": { - "esutils": "^2.0.2" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" }, "engines": { - "node": ">=6.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "dev": true, - "license": "MIT" + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/domexception": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", "dependencies": { - "webidl-conversions": "^7.0.0" + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" }, "engines": { - "node": ">=12" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/duplexify": { - "version": "3.7.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/test-sequencer/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "license": "MIT" + "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "node_modules/electron-to-chromium": { - "version": "1.4.408", - "license": "ISC" + "node_modules/@jest/test-sequencer/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "node_modules/elliptic": { - "version": "6.5.4", - "dev": true, - "license": "MIT", + "node_modules/@jest/test-sequencer/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "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" + "@types/yargs-parser": "*" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" + "node_modules/@jest/test-sequencer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } }, - "node_modules/emittery": { - "version": "0.13.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/test-sequencer/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">= 4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "license": "MIT", + "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "once": "^1.4.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "license": "MIT", + "node_modules/@jest/test-sequencer/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=10.13.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@jest/test-sequencer/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@jest/test-sequencer/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": ">=8" } }, - "node_modules/envinfo": { - "version": "7.9.0", - "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/errno": { - "version": "0.1.8", - "dev": true, - "license": "MIT", + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "prr": "~1.0.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, - "bin": { - "errno": "cli.js" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "license": "MIT", + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "is-arrayish": "^0.2.1" + "@types/yargs-parser": "*" } }, - "node_modules/es-abstract": { - "version": "1.21.2", - "dev": true, - "license": "MIT", + "node_modules/@jest/transform/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", + "node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@jest/schemas": "^28.1.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" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/esbuild": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.19.tgz", - "integrity": "sha512-ra3CaIKCzJp5bU5BDfrCc0FRqKj71fQi+gbld0aj6lN0ifuX2fWJYPgLVLGwPfA+ruKna+OWwOvf/yHj6n+i0g==", - "hasInstallScript": true, - "peer": true, - "bin": { - "esbuild": "bin/esbuild" + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.19", - "@esbuild/android-arm64": "0.18.19", - "@esbuild/android-x64": "0.18.19", - "@esbuild/darwin-arm64": "0.18.19", - "@esbuild/darwin-x64": "0.18.19", - "@esbuild/freebsd-arm64": "0.18.19", - "@esbuild/freebsd-x64": "0.18.19", - "@esbuild/linux-arm": "0.18.19", - "@esbuild/linux-arm64": "0.18.19", - "@esbuild/linux-ia32": "0.18.19", - "@esbuild/linux-loong64": "0.18.19", - "@esbuild/linux-mips64el": "0.18.19", - "@esbuild/linux-ppc64": "0.18.19", - "@esbuild/linux-riscv64": "0.18.19", - "@esbuild/linux-s390x": "0.18.19", - "@esbuild/linux-x64": "0.18.19", - "@esbuild/netbsd-x64": "0.18.19", - "@esbuild/openbsd-x64": "0.18.19", - "@esbuild/sunos-x64": "0.18.19", - "@esbuild/win32-arm64": "0.18.19", - "@esbuild/win32-ia32": "0.18.19", - "@esbuild/win32-x64": "0.18.19" + "node": ">=6.0.0" } }, - "node_modules/escalade": { + "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { - "node": ">=6" + "node": ">=6.0.0" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.0.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" + "eslint-scope": "5.1.1" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "dev": true, - "license": "MIT", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "dev": true, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { - "prelude-ls": "~1.1.2" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/eslint": { - "version": "8.41.0", - "dev": true, - "license": "MIT", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" + "node": ">= 10.13" }, "peerDependencies": { - "eslint": ">=7.0.0" + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", + "@rollup/pluginutils": "^5.0.1", "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0", + "tslib": "*", + "typescript": ">=3.7.0" }, "peerDependenciesMeta": { - "eslint": { + "rollup": { + "optional": true + }, + "tslib": { "optional": true } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", + "node_modules/@rollup/pluginutils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", "dev": true, - "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", + "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dependencies": { - "ms": "^2.1.1" + "type-detect": "4.0.8" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "1.3.2", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/espree": { - "version": "9.5.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", "engines": { - "node": ">=0.10" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "license": "BSD-2-Clause", + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/events": { - "version": "3.3.0", - "license": "MIT", + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, "engines": { - "node": ">=0.8.x" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "dev": true, - "license": "MIT", + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/exit": { - "version": "0.1.2", - "dev": true, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "@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" }, "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", + "node_modules/@testing-library/dom/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@types/readdir-glob": "*" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/expect": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dependencies": { - "@jest/expect-utils": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@babel/types": "^7.20.7" } }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "dev": true, - "license": "MIT", + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/extglob": { - "version": "2.0.4", - "dev": true, - "license": "MIT", + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/node": "*" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", + "dev": true + }, + "node_modules/@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@types/node": "*" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "@types/express-serve-static-core": "*", + "@types/node": "*" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "dev": true, - "license": "MIT", + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + "node_modules/@types/express-serve-static-core": { + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dependencies": { + "@types/node": "*" } }, - "node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", "dependencies": { - "reusify": "^1.0.4" + "@types/node": "*" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dependencies": { - "bser": "2.1.1" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dependencies": { - "pend": "~1.2.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", + "node_modules/@types/jest": { + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", "dev": true, - "license": "ISC" + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/@types/jest/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, - "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/file-type": { + "node_modules/@types/jest/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/fill-range": { - "version": "7.0.1", + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, - "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/find-cache-dir": { - "version": "2.1.0", + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, - "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "node_modules/@types/node": { + "version": "14.18.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", + "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/react": { + "version": "16.14.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.45.tgz", + "integrity": "sha512-XFtKkY3yuPO5VJSE6Lru9yLkVQvYE+l6NbmLp6IWCg4jo5S8Ijbpke8wC9q4NmQ5pJErT8KKboG5eY7n5n718A==", "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@types/react": "*" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", + "node_modules/@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", "dev": true, - "license": "MIT", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" + "@types/node": "*" } }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/node": "*" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + }, + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" } }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/node": "*" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@types/yargs-parser": "*" } }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "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" + "@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" }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", "dependencies": { - "glob": "^7.1.3" + "@typescript-eslint/utils": "5.62.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dependencies": { - "is-callable": "^1.1.3" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/for-in": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "license": "ISC", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "@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" }, "engines": { - "node": ">=14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@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" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dependencies": { - "map-cache": "^0.2.2" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/from2": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, - "license": "ISC", "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "node_modules/function.prototype.name": { - "version": "1.1.5", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/get-value": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "@xtuc/long": "4.2.2" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "license": "BSD-2-Clause" + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { - "balanced-match": "^1.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.1", - "license": "ISC", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "dev": true, - "license": "MIT", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/gopd": { - "version": "1.0.1", + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "dev": true, - "license": "MIT" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/has-bigints": { - "version": "1.0.2", + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=14.15.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/has-symbols": { - "version": "1.0.3", + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=14.15.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "has-symbols": "^1.0.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/has-value": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/has-values": { - "version": "1.0.0", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, - "license": "MIT", "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" } }, - "node_modules/has-values/node_modules/kind-of": { + "node_modules/adjust-sourcemap-loader": { "version": "4.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dependencies": { - "is-buffer": "^1.1.5" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "debug": "4" }, "engines": { - "node": ">=4" + "node": ">= 6.0.0" } }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "dev": true, - "license": "MIT", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/hash.js": { - "version": "1.1.7", + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "peerDependencies": { + "ajv": ">=5.0.0" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { - "whatwg-encoding": "^2.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=12" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/html-escaper": { - "version": "2.0.2", + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, - "license": "MIT" + "dependencies": { + "string-width": "^4.1.0" + } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { - "agent-base": "6", - "debug": "4" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=10.17.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "dev": true, - "license": "MIT", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" - } + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/ieee754": { - "version": "1.2.1", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, "funding": [ { "type": "github", @@ -6247,174 +7114,211 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" - }, - "node_modules/iferr": { - "version": "0.1.5", - "dev": true, - "license": "MIT" + ] }, - "node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, "engines": { - "node": ">= 4" + "node": ">= 10" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "dev": true, - "license": "MIT", + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/import-local": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/archiver-utils/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "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" }, "engines": { - "node": ">=8" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" + "node_modules/archiver-utils/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "dev": true, - "license": "ISC" + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "safe-buffer": "~5.1.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, - "node_modules/internal-slot": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" + "deep-equal": "^2.0.5" } }, - "node_modules/interpret": { - "version": "3.1.1", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-arguments": { - "version": "1.1.1", + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "dev": true, - "license": "MIT", + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "is-array-buffer": "^3.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "license": "MIT" + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" }, - "node_modules/is-bigint": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dependencies": { - "has-bigints": "^1.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { + "node_modules/array-union": { "version": "2.1.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "engines": { "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "dependencies": { "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -6423,15 +7327,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6439,34 +7344,33 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-core-module": { - "version": "2.12.1", - "dev": true, - "license": "MIT", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dependencies": { - "has": "^1.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" @@ -6475,103 +7379,190 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "node_modules/is-extendable": { + "node_modules/arraybuffer.prototype.slice": { "version": "1.0.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dependencies": { - "is-plain-object": "^2.0.4" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "node_modules/is-generator-fn": { - "version": "2.1.0", + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" - }, + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dependencies": { + "has-symbols": "^1.0.3" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "dev": true, - "license": "MIT" + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 4.0.0" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "license": "MIT", + "bin": { + "atob": "bin/atob.js" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 4.5.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, - "license": "MIT", + "node_modules/autoprefixer": { + "version": "10.4.15", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", + "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "has-tostringtag": "^1.0.0" + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { "node": ">= 0.4" }, @@ -6579,726 +7570,816 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", + "node_modules/axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "dev": true, - "license": "MIT", + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "dequal": "^2.0.3" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "dev": true, - "license": "MIT", + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/is-set": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/yargs-parser": "*" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dependencies": { - "has-tostringtag": "^1.0.0" + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.9" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "node_modules/babel-loader/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dependencies": { - "has-symbols": "^1.0.2" + "semver": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "dev": true, - "license": "MIT", + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "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" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.9.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/babel-loader/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dependencies": { - "call-bind": "^1.0.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "dev": true, - "license": "MIT", + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10", + "npm": ">=6" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@babel/helper-define-polyfill-provider": "^0.4.2" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/jackspeak": { - "version": "2.2.1", - "license": "BlueOak-1.0.0", + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/jest": { - "version": "29.5.0", + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "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" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/jest-changed-files": { - "version": "29.5.0", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "license": "MIT", "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-circus": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8.0.0" } }, - "node_modules/jest-cli": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": "*" } }, - "node_modules/jest-config": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=8" } }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/jest-diff": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/jest-docblock": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-each": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-jsdom": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0", - "jsdom": "^20.0.0" + "side-channel": "^1.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "node": ">=0.6" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-environment-node": { - "version": "29.5.0", + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-get-type": { - "version": "29.4.3", + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", "dev": true, - "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-haste-map": { - "version": "29.5.0", + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-leak-detector": { - "version": "29.5.0", + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-message-util": { - "version": "29.5.0", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "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" } }, - "node_modules/jest-mock": { - "version": "29.5.0", + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-util": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/jest-regex-util": { - "version": "29.4.3", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "node_modules/jest-resolve": { - "version": "29.5.0", + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.5.0", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "license": "MIT", "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/jest-runner": { - "version": "29.5.0", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/jest-runtime": { - "version": "29.5.0", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-runtime/node_modules/glob": { + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7314,364 +8395,391 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot": { - "version": "29.5.0", + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "yallist": "^3.0.2" } }, - "node_modules/jest-util": { - "version": "29.5.0", + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "glob": "^7.1.3" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/jest-validate": { - "version": "29.5.0", + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/types": "^29.5.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.5.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watcher": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dependencies": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.5.0", - "string-length": "^4.0.1" - }, + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camel-case/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-worker": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dependencies": { - "@types/node": "*", - "jest-util": "^29.5.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001521", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", + "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "dev": true, - "license": "MIT", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dependencies": { - "argparse": "^2.0.1" + "chalk": "^4.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/jsdom": { - "version": "20.0.3", - "dev": true, - "license": "MIT", + "node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/check-types": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "node": ">= 8.10.0" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "license": "MIT" + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT" + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "license": "MIT" + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "dev": true, - "license": "ISC" + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, - "node_modules/json5": { - "version": "1.0.2", + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, - "license": "MIT", "dependencies": { - "minimist": "^1.2.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, "dependencies": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jsonc/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/jsonc/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/kind-of": { - "version": "6.0.3", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "3.0.3", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "license": "MIT", "dependencies": { - "readable-stream": "^2.0.5" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.6.3" + "node": ">=0.10.0" } }, - "node_modules/leven": { - "version": "3.1.0", + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "license": "MIT", "engines": { - "node": ">=6.11.5" + "node": ">=0.10.0" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "dev": true, - "license": "MIT", + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "source-map": "~0.6.0" }, "engines": { - "node": ">=8.9.0" + "node": ">= 10.0" } }, - "node_modules/loader-utils/node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { "node": ">=10" }, @@ -7679,1304 +8787,1715 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "license": "MIT" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", "dev": true, - "license": "MIT" - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "peer": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", - "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", "engines": { - "node": "14 || >=16.14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "semver": "^6.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/make-error": { - "version": "1.3.6", - "dev": true, - "license": "ISC" - }, - "node_modules/makeerror": { - "version": "1.0.12", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "dev": true, - "license": "MIT", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { - "node": ">=0.10.0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dependencies": { - "object-visit": "^1.0.0" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4.0" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "dev": true, - "license": "MIT", + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/memory-fs": { - "version": "0.4.1", - "dev": true, - "license": "MIT", + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "license": "MIT" + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/coa/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">= 8" + "node": ">=0.8.0" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=4" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, - "license": "MIT", "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "mime-db": "1.52.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=4.0.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", + "node_modules/command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "dependencies": { - "brace-expansion": "^1.1.7" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" }, "engines": { - "node": "*" + "node": ">=12.20.0" } }, - "node_modules/minimist": { - "version": "1.2.8", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" } }, - "node_modules/minipass": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", - "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12.17" } }, - "node_modules/mississippi": { + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { "version": "3.0.0", - "dev": true, - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 10" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "dev": true, - "license": "MIT", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "license": "MIT", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dependencies": { - "minimist": "^1.2.6" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "dev": true, - "license": "ISC", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "ms": "2.0.0" } }, - "node_modules/move-concurrently/node_modules/glob": { - "version": "7.2.3", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "license": "ISC", + "engines": [ + "node >= 0.8" + ], "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "node_modules/native-reg": { - "version": "1.1.1", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "node-gyp-build": "4" - } + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", "dev": true, - "license": "MIT" - }, - "node_modules/neo-async": { - "version": "2.6.2", - "license": "MIT" + "engines": { + "node": ">= 0.6" + } }, - "node_modules/nock": { - "version": "13.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" - }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { - "node": ">= 10.13" + "node": ">= 0.6" } }, - "node_modules/node-gyp-build": { - "version": "4.6.0", - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "dev": true, - "license": "MIT" + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/node-libs-browser": { - "version": "2.2.1", + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, - "license": "MIT", "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", + "node_modules/copy-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.12", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "license": "MIT", + "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" + }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/nwsapi": { - "version": "2.2.5", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" + "node_modules/core-js": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", + "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "dev": true, - "license": "MIT", + "node_modules/core-js-compat": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", + "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", "dependencies": { - "is-descriptor": "^0.1.0" + "browserslist": "^4.21.9" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", + "node_modules/core-js-pure": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", + "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dependencies": { - "kind-of": "^3.0.2" + "@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" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", + "node_modules/crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/object-inspect": { - "version": "1.12.3", + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/object-is": { - "version": "1.1.5", - "dev": true, - "license": "MIT", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "license": "MIT", + "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" + }, "engines": { - "node": ">= 0.4" + "node": "*" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "dev": true, - "license": "MIT", + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">= 0.4" + "node": "^12 || ^14 || >=16" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/object.values": { - "version": "1.1.6", - "dev": true, - "license": "MIT", + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">= 0.4" + "node": "^12 || ^14 || >=16" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", "dependencies": { - "wrappy": "1" + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=6" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/optionator": { - "version": "0.9.1", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" + "fast-deep-equal": "^3.1.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dependencies": { - "p-limit": "^3.0.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=10" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pako": { - "version": "1.0.11", - "dev": true, - "license": "(MIT AND Zlib)" + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "dev": true, - "license": "MIT", + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", "dependencies": { - "callsites": "^3.0.0" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "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" + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "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" - }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "engines": { - "node": ">=8" + "node": ">= 6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/parse5": { - "version": "7.1.2", - "dev": true, - "license": "MIT", + "node_modules/cssdb": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.7.0.tgz", + "integrity": "sha512-1hN+I3r4VqSNQ+OmMXxYexnumbOONkSil0TWMebVXHtzYW4tRRPovUNHPHj2d4nrgOuYJ8Vs3XwvywsuwwXNNA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dependencies": { - "entities": "^4.4.0" + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/path-browserify": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "optional": true + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, - "license": "MIT" + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/path-type": { - "version": "4.0.0", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, - "license": "MIT", "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" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=4" } }, - "node_modules/pend": { - "version": "1.2.0", + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, - "license": "MIT" + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/picocolors": { + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/decompress-tar/node_modules/isarray": { "version": "1.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", + "node_modules/decompress-tar/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/pify": { - "version": "4.0.1", + "node_modules/decompress-tar/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/decompress-tar/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/pinkie": { - "version": "2.0.4", + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, - "license": "MIT", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, - "license": "MIT", "dependencies": { - "pinkie": "^2.0.0" + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/pirates": { - "version": "4.0.5", + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, - "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, - "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "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" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "engines": { "node": ">=0.10.0" } }, - "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "execa": "^5.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">= 10" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pretty-format": { - "version": "29.5.0", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.4.0" } }, - "node_modules/process": { - "version": "0.11.10", - "dev": true, - "license": "MIT", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">= 0.6.0" + "node": ">= 0.8" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "license": "MIT" + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } }, - "node_modules/promise-inflight": { - "version": "1.0.1", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, - "license": "ISC" + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } }, - "node_modules/prompts": { - "version": "2.4.2", - "dev": true, - "license": "MIT", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" }, "engines": { - "node": ">= 6" + "node": ">= 4.2.1" } }, - "node_modules/propagate": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/prr": { - "version": "1.0.1", - "dev": true, - "license": "MIT" + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/psl": { - "version": "1.9.0", + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, - "license": "MIT" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/public-encrypt": { - "version": "4.0.3", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "license": "MIT", "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" + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/public-encrypt/node_modules/bn.js": { + "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "node_modules/pump": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "dev": true, - "license": "MIT", + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/punycode": { - "version": "2.3.0", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" } }, - "node_modules/pure-rand": { - "version": "6.0.2", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/qs": { - "version": "6.11.2", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "dev": true, - "engines": { - "node": ">=0.4.x" + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/querystringify": { - "version": "2.2.0", + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "url": "https://github.com/sponsors/fb55" } - ], - "license": "MIT" + ] }, - "node_modules/randombytes": { - "version": "2.1.0", - "license": "MIT", + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/react": { - "version": "18.2.0", - "license": "MIT", - "peer": true, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "loose-envify": "^1.1.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/react-dom": { - "version": "18.2.0", + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, - "license": "MIT", - "peer": true, "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/readable-stream": { + "node_modules/duplexify/node_modules/readable-stream": { "version": "2.3.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8987,812 +10506,1162 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { + "node_modules/duplexify/node_modules/safe-buffer": { "version": "5.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/readable-stream/node_modules/string_decoder": { + "node_modules/duplexify/node_modules/string_decoder": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "license": "ISC", + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dependencies": { - "brace-expansion": "^2.0.1" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", + "node_modules/electron-to-chromium": { + "version": "1.4.494", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.494.tgz", + "integrity": "sha512-KF7wtsFFDu4ws1ZsSOt4pdmO1yWVNWCFtijVYZPUeW4SV7/hy/AESjLn/+qIWgq7mHscNOKAwN5AIM1+YAy+Ww==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/rechoir": { - "version": "0.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "engines": { - "node": ">= 10.13.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "dev": true, - "license": "MIT" + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "node_modules/regex-not": { + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "license": "MIT", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.13.0" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/repeat-element": { - "version": "1.1.4", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/repeat-string": { - "version": "1.6.1", + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true, - "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/require-directory": { - "version": "2.1.1", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "dev": true, - "license": "MIT" + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } }, - "node_modules/resolve": { - "version": "1.22.2", - "dev": true, - "license": "MIT", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "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.10", + "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.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "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.10" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dependencies": { - "resolve-from": "^5.0.0" + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", + "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "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.0", + "safe-array-concat": "^1.0.0" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "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" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "dev": true, - "license": "MIT" + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ret": { - "version": "0.1.15", - "dev": true, - "license": "MIT", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { - "node": ">=0.12" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, "engines": { - "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "5.0.1", - "dev": true, - "license": "ISC", + "node_modules/eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dependencies": { - "glob": "^10.2.5" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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" }, "bin": { - "rimraf": "dist/cjs/src/bin.js" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://opencollective.com/eslint" } }, - "node_modules/ripemd160": { - "version": "2.0.2", + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/rollup": { - "version": "3.27.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", - "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", - "peer": true, - "bin": { - "rollup": "dist/bin/rollup" + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "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.0.1", + "confusing-browser-globals": "^1.0.11", + "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" }, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" + "node": ">=14.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependencies": { + "eslint": "^8.0.0" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dependencies": { - "queue-microtask": "^1.2.2" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "dev": true, - "license": "ISC", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "aproba": "^1.1.1" + "ms": "^2.1.1" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true } - ], - "license": "MIT" + } }, - "node_modules/safe-regex": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "ret": "~0.1.10" + "ms": "^2.1.1" } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", "dependencies": { - "xmlchars": "^2.2.0" + "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.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { - "node": ">=v12.22.7" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/scheduler": { - "version": "0.23.0", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "loose-envify": "^1.1.0" + "ms": "^2.1.1" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "license": "MIT", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "esutils": "^2.0.2" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=0.10.0" } }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "commander": "^2.8.1" - }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "semver": "bin/semver.js" } }, - "node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@typescript-eslint/experimental-utils": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", "dependencies": { - "yallist": "^4.0.0" + "@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" }, "engines": { - "node": ">=10" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/set-value": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "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" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "is-extendable": "^0.1.0" + "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "dev": true, - "license": "(MIT AND BSD-3-Clause)", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "sha.js": "bin.js" + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "dev": true, - "license": "MIT", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", "dependencies": { - "kind-of": "^6.0.2" + "@typescript-eslint/utils": "^5.58.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "shebang-regex": "^3.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/signal-exit": { - "version": "4.0.2", - "license": "ISC", + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, "engines": { - "node": ">=14" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "dev": true, - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "dev": true, - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dependencies": { - "is-descriptor": "^1.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "dev": true, - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dependencies": { - "kind-of": "^3.2.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { - "is-buffer": "^1.1.5" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "dev": true, - "license": "MIT", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { - "is-descriptor": "^0.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dependencies": { - "kind-of": "^3.0.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dependencies": { - "kind-of": "^3.0.2" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "peer": true, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": ">=0.10.0" + "node": ">=0.8.x" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "license": "MIT", "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/split-string": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/ssri": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "figgy-pudding": "^3.5.1" + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/stack-utils": { - "version": "2.0.6", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, - "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/static-extend": { - "version": "0.1.2", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9800,10 +11669,11 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -9811,10 +11681,11 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { + "node_modules/expand-brackets/node_modules/is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9822,10 +11693,11 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -9833,10 +11705,11 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-descriptor": { + "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -9846,432 +11719,623 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", - "dependencies": { - "internal-slot": "^1.0.4" - }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stream-each": { - "version": "1.2.3", + "node_modules/expect/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, - "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stream-http": { - "version": "2.8.3", + "node_modules/expect/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, - "license": "MIT", "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", + "node_modules/expect/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/stream-shift": { - "version": "1.0.1", + "node_modules/expect/node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-length": { - "version": "4.0.2", + "node_modules/expect/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", "dev": true, - "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-width": { - "version": "5.1.2", - "license": "MIT", + "node_modules/expect/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "node_modules/expect/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", - "license": "MIT", + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "ansi-regex": "^6.0.1" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "license": "MIT", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "license": "MIT", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/strip-dirs": { + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-natural-number": "^4.0.1" + "punycode": "^1.3.2" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 4.9.1" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dependencies": { - "has-flag": "^4.0.0" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "license": "MIT" + "dependencies": { + "pend": "~1.2.0" + } }, - "node_modules/table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dependencies": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" + "flat-cache": "^3.0.4" }, - "bin": { - "table-layout": "bin/cli.js" + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">=12.17" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/table-layout/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, "engines": { - "node": ">=12.17" + "node": ">=4" } }, - "node_modules/table-layout/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=12.17" + "node": ">=10" } }, - "node_modules/tapable": { - "version": "2.2.1", - "license": "MIT", + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", "engines": { - "node": ">=6" + "node": ">= 0.4.0" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "license": "MIT", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.8" } }, - "node_modules/terser": { - "version": "5.18.1", - "license": "BSD-2-Clause", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "ms": "2.0.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "license": "MIT", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" }, - "peerDependencies": { - "webpack": "^5.1.0" + "engines": { + "node": ">=8" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "array-back": "^3.0.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=4.0.0" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "license": "MIT", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { - "has-flag": "^4.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/test-exclude/node_modules/glob": { + "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", - "dev": true, - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10287,1698 +12351,1782 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, - "node_modules/through2": { - "version": "2.0.5", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, - "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/timers-browserify": { - "version": "2.0.12", + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "dev": true, - "license": "MIT" + "node_modules/flush-write-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/to-buffer": { + "node_modules/flush-write-stream/node_modules/string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT" + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">=4" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "dev": true, - "license": "MIT", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "is-callable": "^1.1.3" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "dev": true, - "license": "MIT", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", "dependencies": { - "is-number": "^7.0.0" + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } } }, - "node_modules/tough-cookie": { - "version": "4.1.2", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tr46": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { - "punycode": "^2.1.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/ts-jest": { - "version": "29.1.1", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": "*" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "engines": { "node": ">=6" } }, - "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", - "dev": true, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" + "node": ">= 6" } }, - "node_modules/ts-loader-webpack-4": { - "name": "ts-loader", - "version": "8.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "*" + "node": ">= 0.6" } }, - "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", "engines": { - "node": ">=6.9.0" + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" } }, - "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { - "version": "0.5.0", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, - "license": "MIT", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "map-cache": "^0.2.2" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">=0.10.0" } }, - "node_modules/ts-loader-webpack-4/node_modules/tapable": { - "version": "1.1.3", - "dev": true, - "license": "MIT", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "dev": true, - "license": "MIT" + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/type-check": { - "version": "0.4.0", + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" } }, - "node_modules/type-detect": { - "version": "4.0.8", + "node_modules/fs-monkey": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/type-fest": { - "version": "0.20.2", + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", + "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dependencies": { "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "dev": true, - "license": "MIT" + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/typescript": { - "version": "5.0.4", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "engines": { - "node": ">=12.20" + "node": ">=6.9.0" } }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "license": "MIT", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "engines": { - "node": "*" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" } }, - "node_modules/unbzip2-stream/node_modules/buffer": { - "version": "5.7.1", + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/union-value": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "dev": true, - "license": "ISC", + "node_modules/glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", "dependencies": { - "unique-slug": "^2.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "dev": true, - "license": "ISC", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { - "imurmurhash": "^0.1.4" + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "dev": true, - "license": "MIT", + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "global-prefix": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dependencies": { - "isarray": "1.0.0" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "dev": true, - "license": "MIT", + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/upath": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { - "node": ">=4", - "yarn": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "define-properties": "^1.1.3" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { - "punycode": "^2.1.0" + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/urix": { - "version": "0.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/url": { - "version": "0.11.1", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/use": { - "version": "3.1.1", - "dev": true, - "license": "MIT", + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/util": { - "version": "0.11.1", - "dev": true, - "license": "MIT", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { - "inherits": "2.0.3" + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "dev": true, - "license": "ISC", + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "duplexer": "^0.1.2" }, "engines": { - "node": ">=10.12.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, - "node_modules/vite": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", - "peer": true, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" + "function-bind": "^1.1.1" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">= 0.4.0" } }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "dev": true, - "license": "MIT" + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/w3c-xmlserializer": { + "node_modules/has-flag": { "version": "4.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dependencies": { - "xml-name-validator": "^4.0.0" + "get-intrinsic": "^1.1.1" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { - "node": ">=14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/walker": { - "version": "1.0.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "license": "MIT", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "chokidar": "^2.1.8" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, - "license": "ISC", - "optional": true, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", - "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "minimalistic-assert": "^1.0.1" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" - }, + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "engines": { - "node": ">=0.10.0" + "node": ">= 6.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "dev": true, - "license": "ISC", - "optional": true, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "binary-extensions": "^1.0.0" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", "dependencies": { - "is-buffer": "^1.1.5" + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" } }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/webidl-conversions": { - "version": "7.0.0", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, - "license": "BSD-2-Clause", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=12" + "node": ">= 6" } }, - "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=12.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@types/express": "^4.17.13" }, "peerDependenciesMeta": { - "webpack-cli": { + "@types/express": { "optional": true } } }, - "node_modules/webpack-4": { - "name": "webpack", - "version": "4.46.0", - "dev": true, - "license": "MIT", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=6.11.5" + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "dev": true, - "license": "MIT" + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true, - "license": "MIT" + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { - "@xtuc/long": "4.2.2" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "dev": true, - "license": "MIT", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/webpack-4/node_modules/acorn": { - "version": "6.4.2", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "engines": { - "node": ">=0.4.0" + "node": ">= 10" } }, - "node_modules/webpack-4/node_modules/braces": { - "version": "2.3.2", + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "license": "MIT", "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { - "is-extendable": "^0.1.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "dev": true, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "dev": true, - "license": "MIT", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/eslint-scope": { - "version": "4.0.3", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "has-bigints": "^1.0.1" }, - "engines": { - "node": ">=4.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/fill-range": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "is-extendable": "^0.1.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/is-number": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dependencies": { - "kind-of": "^3.0.2" + "has": "^1.0.3" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/loader-runner": { - "version": "2.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/webpack-4/node_modules/loader-utils": { - "version": "1.4.2", - "dev": true, - "license": "MIT", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/micromatch": { - "version": "3.1.10", + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/schema-utils": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">= 4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-4/node_modules/serialize-javascript": { - "version": "4.0.0", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "randombytes": "^2.1.0" + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/tapable": { - "version": "1.1.3", - "dev": true, - "license": "MIT", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/terser": { - "version": "4.8.1", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" + "call-bind": "^1.0.2" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/webpack-4/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "dev": true, - "license": "MIT", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 6.9.0" + "node": ">= 0.4" }, - "peerDependencies": { - "webpack": "^4.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/to-regex-range": { - "version": "2.1.1", - "dev": true, - "license": "MIT", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/watchpack": { - "version": "1.7.5", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/webpack": { - "version": "4.46.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "engines": { - "node": ">=6.11.5" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/webpack-sources": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" } }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=14.15.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "dev": true, - "license": "MIT", + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/webpack-node-externals": { + "node_modules/is-plain-obj": { "version": "3.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "license": "MIT", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/webpack-sources-webpack-4": { - "name": "webpack-sources", - "version": "1.4.3", + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", "dev": true, - "license": "MIT", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { - "iconv-lite": "0.6.3" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/which": { + "node_modules/is-set": { "version": "2.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "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" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "dev": true, - "license": "MIT", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "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", - "is-typed-array": "^1.1.10" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -11987,4333 +14135,31032 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "dev": true, - "license": "MIT" + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "node_modules/word-wrap": { - "version": "1.2.3", + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, "engines": { - "node": ">=12.17" + "node": ">=8" } }, - "node_modules/worker-farm": { - "version": "1.7.0", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", - "dependencies": { - "errno": "~0.1.7" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "license": "MIT", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "engines": { + "node": ">=10" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "license": "MIT", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "semver": "^7.5.3" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "license": "MIT", + "node_modules/iterator.prototype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", + "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", "dependencies": { - "ansi-regex": "^6.0.1" + "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" + } + }, + "node_modules/jackspeak": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", + "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "dev": true, - "license": "ISC", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.13.0", + "node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">=10.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { + "node-notifier": { "optional": true } } }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, "engines": { - "node": ">=0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "dev": true, - "license": "MIT", + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "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" - }, - "engines": { - "node": ">=12" + "@types/yargs-parser": "*" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, "engines": { - "node": ">=12" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" + "node_modules/jest-circus/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", + "node_modules/jest-circus/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "dev": true, - "license": "MIT", + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/zip-stream": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { - "node": ">= 10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/zip-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/jest-circus/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": ">= 6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "packages/browser": { - "name": "@backtrace/browser", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { - "@backtrace/sdk-core": "^0.0.1", - "ua-parser-js": "^1.0.35" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "packages/node": { - "name": "@backtrace/node", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/sdk-core": "^0.0.1", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - }, + "node_modules/jest-circus/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "packages/node/packages/sdk-core": {}, - "packages/react": { - "name": "@backtrace/react", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "@backtrace/browser": "^0.0.1" - }, - "devDependencies": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "packages/sdk-core": { - "name": "@backtrace/sdk-core", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "tools/cli": { - "name": "@backtrace/javascript-cli", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "bin": { - "backtrace-js": "lib/index.js" - }, - "devDependencies": { - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "tools/rollup-plugin": { - "name": "@backtrace/rollup-plugin", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "^3.26.3" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "tools/sourcemap-tools": { - "name": "@backtrace/sourcemap-tools", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "archiver": "^5.3.1", - "source-map": "^0.7.4" - }, - "devDependencies": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "tools/sourcemap-tools/node_modules/source-map": { - "version": "0.7.4", - "license": "BSD-3-Clause", + "node_modules/jest-circus/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">= 8" + "node": ">=8" } }, - "tools/vite-plugin": { - "name": "@backtrace/vite-plugin", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-cli": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "dev": true, "dependencies": { - "@backtrace/rollup-plugin": "^0.0.1" + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" }, - "devDependencies": { - "typescript": "^5.0.4" + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "vite": "^4.4.9" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "tools/webpack-plugin": { - "name": "@backtrace/webpack-plugin", - "version": "0.0.1", - "license": "MIT", + "node_modules/jest-cli/node_modules/@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "webpack": "^5.85.0 || ^4.46.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } - } - }, - "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", - "requires": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" - }, + }, + "node_modules/jest-cli/node_modules/@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, "dependencies": { - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@ampproject/remapping": { - "version": "2.2.1", + "node_modules/jest-cli/node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "dependencies": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/code-frame": { - "version": "7.21.4", + "node_modules/jest-cli/node_modules/@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/compat-data": { - "version": "7.22.0", - "dev": true + "node_modules/jest-cli/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "@babel/core": { - "version": "7.22.1", + "node_modules/jest-cli/node_modules/@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helpers": "^7.22.0", - "@babel/parser": "^7.22.0", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli/node_modules/@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "dev": true - }, - "json5": { - "version": "2.2.3", - "dev": true - }, - "semver": { - "version": "6.3.0", - "dev": true - } + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/generator": { - "version": "7.22.0", + "node_modules/jest-cli/node_modules/@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", "dev": true, - "requires": { - "@babel/types": "^7.22.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "dependencies": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.22.1", + "node_modules/jest-cli/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", "dev": true, - "requires": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, "dependencies": { - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true - } + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.1", + "node_modules/jest-cli/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "@babel/helper-function-name": { - "version": "7.21.0", + "node_modules/jest-cli/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "dependencies": { + "type-detect": "4.0.8" } }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", + "node_modules/jest-cli/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "@babel/helper-module-imports": { - "version": "7.21.4", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "requires": { - "@babel/types": "^7.21.4" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@babel/helper-module-transforms": { - "version": "7.22.1", + "node_modules/jest-cli/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.21.5", + "node_modules/jest-cli/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, - "requires": { - "@babel/types": "^7.21.5" + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", + "node_modules/jest-cli/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-string-parser": { - "version": "7.21.5", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true - }, - "@babel/helpers": { - "version": "7.22.0", + "node_modules/jest-cli/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "requires": { - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.0", - "@babel/types": "^7.22.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/highlight": { - "version": "7.18.6", + "node_modules/jest-cli/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "engines": { + "node": ">=10" } }, - "@babel/parser": { - "version": "7.22.0", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "node_modules/jest-cli/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", + "node_modules/jest-cli/node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", + "node_modules/jest-cli/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", + "node_modules/jest-cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/jest-cli/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.21.4", + "node_modules/jest-cli/node_modules/jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", + "node_modules/jest-cli/node_modules/jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", + "node_modules/jest-cli/node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", + "node_modules/jest-cli/node_modules/jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", + "node_modules/jest-cli/node_modules/jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", + "node_modules/jest-cli/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", + "node_modules/jest-cli/node_modules/jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", + "node_modules/jest-cli/node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.21.4", + "node_modules/jest-cli/node_modules/jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/runtime": { - "version": "7.22.6", + "node_modules/jest-cli/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/template": { - "version": "7.21.9", + "node_modules/jest-cli/node_modules/jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/traverse": { - "version": "7.22.1", + "node_modules/jest-cli/node_modules/jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.22.0", - "@babel/types": "^7.22.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, "dependencies": { - "globals": { - "version": "11.12.0", - "dev": true - } + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/types": { - "version": "7.22.0", + "node_modules/jest-cli/node_modules/jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@backtrace/browser": { - "version": "file:packages/browser", - "requires": { - "@backtrace/sdk-core": "^0.0.1", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace/javascript-cli": { - "version": "file:tools/cli", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/node": { - "version": "file:packages/node", - "requires": { - "@backtrace/sdk-core": "^0.0.1", - "@types/jest": "^29.5.1", - "form-data": "^4.0.0", - "jest": "^29.5.0", - "native-reg": "^1.1.1", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" + "node_modules/jest-cli/node_modules/jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/react": { - "version": "file:packages/react", - "requires": { - "@backtrace/browser": "^0.0.1", - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" + "node_modules/jest-cli/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/rollup-plugin": { - "version": "file:tools/rollup-plugin", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "node_modules/jest-cli/node_modules/jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/sdk-core": { - "version": "file:packages/sdk-core", - "requires": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "node_modules/jest-cli/node_modules/jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/sourcemap-tools": { - "version": "file:tools/sourcemap-tools", - "requires": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "archiver": "^5.3.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, + "node_modules/jest-cli/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, "dependencies": { - "source-map": { - "version": "0.7.4" - } + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/vite-plugin": { - "version": "file:tools/vite-plugin", - "requires": { - "@backtrace/rollup-plugin": "^0.0.1", - "typescript": "^5.0.4" + "node_modules/jest-cli/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@backtrace/webpack-plugin": { - "version": "file:tools/webpack-plugin", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + "node_modules/jest-cli/node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", + "node_modules/jest-cli/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "@esbuild/android-arm": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.19.tgz", - "integrity": "sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w==", - "optional": true, - "peer": true - }, - "@esbuild/android-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz", - "integrity": "sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA==", - "optional": true, - "peer": true + "node_modules/jest-cli/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "@esbuild/android-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.19.tgz", - "integrity": "sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg==", - "optional": true, - "peer": true + "node_modules/jest-cli/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "@esbuild/darwin-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz", - "integrity": "sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg==", - "optional": true, - "peer": true + "node_modules/jest-cli/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "@esbuild/darwin-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz", - "integrity": "sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ==", - "optional": true, - "peer": true + "node_modules/jest-cli/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } }, - "@esbuild/freebsd-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz", - "integrity": "sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ==", - "optional": true, - "peer": true + "node_modules/jest-cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } }, - "@esbuild/freebsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz", - "integrity": "sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz", - "integrity": "sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz", - "integrity": "sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz", - "integrity": "sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw==", - "optional": true, - "peer": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz", - "integrity": "sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz", - "integrity": "sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz", - "integrity": "sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A==", - "optional": true, - "peer": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz", - "integrity": "sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz", - "integrity": "sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.19.tgz", - "integrity": "sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A==", - "optional": true, - "peer": true - }, - "@esbuild/netbsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz", - "integrity": "sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw==", - "optional": true, - "peer": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz", - "integrity": "sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA==", - "optional": true, - "peer": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz", - "integrity": "sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ==", - "optional": true, - "peer": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz", - "integrity": "sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg==", - "optional": true, - "peer": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz", - "integrity": "sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg==", - "optional": true, - "peer": true - }, - "@esbuild/win32-x64": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz", - "integrity": "sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA==", - "optional": true, - "peer": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", + "node_modules/jest-cli/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" + "engines": { + "node": ">=8" } }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", + "node_modules/jest-cli/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "@eslint/js": { - "version": "8.41.0", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@isaacs/cliui": { - "version": "8.0.2", - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, + "node_modules/jest-cli/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "6.0.1" - }, - "strip-ansi": { - "version": "7.0.1", - "requires": { - "ansi-regex": "^6.0.1" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", + "node_modules/jest-cli/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, "dependencies": { - "argparse": { - "version": "1.0.10", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "dev": true - } + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "dev": true - }, - "@jest/console": { - "version": "29.5.0", + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "requires": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0" + "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" + }, + "engines": { + "node": ">=12" } }, - "@jest/core": { - "version": "29.5.0", + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "requires": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", - "exit": "^0.1.2", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } } }, - "@jest/environment": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "jest-mock": "^29.5.0" - } - }, - "@jest/expect": { - "version": "29.5.0", - "dev": true, - "requires": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@jest/expect-utils": { - "version": "29.5.0", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3" + "node_modules/jest-config/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" } }, - "@jest/fake-timers": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/types": "^29.5.0", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "@jest/globals": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "node_modules/jest-config/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" } }, - "@jest/reporters": { - "version": "29.5.0", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "node_modules/jest-config/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" }, - "dependencies": { - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - } + "engines": { + "node": ">=0.4.0" } }, - "@jest/schemas": { - "version": "29.4.3", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.25.16" + "node_modules/jest-config/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" } }, - "@jest/source-map": { - "version": "29.4.3", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "node_modules/jest-config/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "@jest/test-result": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@jest/test-sequencer": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/test-result": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "slash": "^3.0.0" - } + "node_modules/jest-config/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" }, - "@jest/transform": { - "version": "29.5.0", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "node_modules/jest-config/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" } }, - "@jest/types": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/schemas": "^29.4.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" + "node_modules/jest-config/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/jest-config/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0" - }, - "@jridgewell/set-array": { - "version": "1.1.2" - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/jest-config/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14" - } + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "node_modules/jest-config/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "node_modules/jest-config/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "optional": true + "node_modules/jest-config/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } }, - "@rollup/plugin-typescript": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" + "node_modules/jest-config/node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@sinclair/typebox": { - "version": "0.25.24", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "dev": true, - "requires": { - "type-detect": "4.0.8" + "node_modules/jest-config/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@sinonjs/fake-timers": { - "version": "10.2.0", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@testing-library/dom": { - "version": "9.3.1", - "dev": true, - "requires": { - "@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" - }, + "node_modules/jest-config/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "dev": true + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true } } }, - "@testing-library/react": { - "version": "14.0.0", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "dev": true + "node_modules/jest-config/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, - "@types/archiver": { - "version": "5.3.2", - "dev": true, - "requires": { - "@types/readdir-glob": "*" + "node_modules/jest-config/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@types/aria-query": { - "version": "5.0.1", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.1", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } + "node_modules/jest-config/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "@types/babel__generator": { - "version": "7.6.4", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "node_modules/jest-config/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" } }, - "@types/babel__template": { - "version": "7.4.1", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "@types/babel__traverse": { - "version": "7.20.0", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" + "node_modules/jest-config/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" } }, - "@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true - }, - "@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true - }, - "@types/decompress": { - "version": "4.2.4", - "dev": true, - "requires": { - "@types/node": "*" + "node_modules/jest-config/node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "@types/eslint": { - "version": "8.40.2", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "node_modules/jest-config/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" } }, - "@types/eslint-scope": { - "version": "3.7.4", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "node_modules/jest-config/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" } }, - "@types/estree": { - "version": "1.0.1" + "node_modules/jest-config/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, - "@types/graceful-fs": { - "version": "4.1.6", - "dev": true, - "requires": { - "@types/node": "*" + "node_modules/jest-config/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true + "node_modules/jest-config/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, - "@types/istanbul-lib-report": { + "node_modules/jest-config/node_modules/xml-name-validator": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/istanbul-reports": { - "version": "3.0.1", + "node_modules/jest-diff/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/jest": { - "version": "29.5.1", + "node_modules/jest-diff/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@types/jsdom": { - "version": "20.0.1", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/json-schema": { - "version": "7.0.12" + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@types/json5": { - "version": "0.0.29", - "dev": true - }, - "@types/node": { - "version": "14.18.51" - }, - "@types/prettier": { - "version": "2.7.2", - "dev": true + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@types/prop-types": { - "version": "15.7.5", - "dev": true + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@types/react": { - "version": "18.2.14", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "@types/react-dom": { - "version": "18.2.6", - "dev": true, - "requires": { - "@types/react": "*" + "node_modules/jest-each/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "@types/readdir-glob": { - "version": "1.1.1", - "dev": true, - "requires": { - "@types/node": "*" + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@types/scheduler": { - "version": "0.16.3", - "dev": true + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@types/semver": { - "version": "7.5.0", - "dev": true + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@types/source-list-map": { - "version": "0.1.2", - "dev": true + "node_modules/jest-each/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@types/stack-utils": { - "version": "2.0.1", - "dev": true + "node_modules/jest-each/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "@types/tough-cookie": { - "version": "4.0.2", - "dev": true + "node_modules/jest-environment-jsdom": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.2.tgz", + "integrity": "sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } }, - "@types/ua-parser-js": { - "version": "0.7.36", - "dev": true + "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "@types/webpack-sources": { - "version": "3.2.0", + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", "dev": true, - "requires": { + "dependencies": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, "dependencies": { - "source-map": { - "version": "0.7.4", - "dev": true - } + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/yargs": { - "version": "17.0.24", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, - "requires": { - "@types/yargs-parser": "*" + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@types/yargs-parser": { - "version": "21.0.0", + "node_modules/jest-environment-jsdom/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "dependencies": { + "type-detect": "4.0.8" } }, - "@typescript-eslint/parser": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "debug": "^4.3.4" + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "@typescript-eslint/scope-manager": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@typescript-eslint/type-utils": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@typescript-eslint/types": { - "version": "5.59.7", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@typescript-eslint/utils": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.7", + "node_modules/jest-environment-jsdom/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.7", - "eslint-visitor-keys": "^3.3.0" + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "node_modules/jest-environment-jsdom/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - } + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "requires": { - "@xtuc/ieee754": "^1.2.0" + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "requires": { - "@xtuc/long": "4.2.2" + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "@webassemblyjs/utf8": { - "version": "1.11.6" + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "node_modules/jest-haste-map/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "node_modules/jest-haste-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true - } + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "dev": true, - "requires": {} + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "@webpack-cli/info": { - "version": "2.0.2", - "dev": true, - "requires": {} + "node_modules/jest-jasmine2/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } }, - "@webpack-cli/serve": { - "version": "2.0.5", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0" - }, - "@xtuc/long": { - "version": "4.2.2" - }, - "abab": { - "version": "2.0.6", - "dev": true - }, - "acorn": { - "version": "8.8.2" - }, - "acorn-globals": { - "version": "7.0.1", - "dev": true, - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "acorn-import-assertions": { - "version": "1.9.0", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} + "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "acorn-walk": { - "version": "8.2.0", - "dev": true + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "agent-base": { - "version": "6.0.2", - "dev": true, - "requires": { - "debug": "4" + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "ajv": { - "version": "6.12.6", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "ajv-errors": { - "version": "1.0.1", - "dev": true, - "requires": {} + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "ajv-keywords": { - "version": "3.5.2", - "requires": {} + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "ansi-escapes": { - "version": "4.3.2", - "dev": true, - "requires": { - "type-fest": "^0.21.3" + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "type-fest": { - "version": "0.21.3", - "dev": true - } + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "ansi-regex": { - "version": "5.0.1" + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" + "node_modules/jest-jasmine2/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "anymatch": { - "version": "3.1.3", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "aproba": { - "version": "1.2.0", - "dev": true + "node_modules/jest-leak-detector/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } }, - "archiver": { - "version": "5.3.1", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "archiver-utils": { - "version": "2.1.0", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "glob": { - "version": "7.2.3", - "requires": { - "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" - } - } + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "argparse": { - "version": "2.0.1", - "dev": true + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "aria-query": { - "version": "5.1.3", + "node_modules/jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", "dev": true, - "requires": { - "deep-equal": "^2.0.5" + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "arr-diff": { - "version": "4.0.0", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "dev": true + "node_modules/jest-matcher-utils/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "arr-union": { - "version": "3.1.0", + "node_modules/jest-matcher-utils/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.0", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "array-includes": { - "version": "3.1.6", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "dev": true + "node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } }, - "array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "asn1.js": { - "version": "5.4.1", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true - } + "@types/yargs-parser": "*" } }, - "assert": { - "version": "1.5.0", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "dev": true - }, - "util": { - "version": "0.10.3", - "dev": true, - "requires": { - "inherits": "2.0.1" - } + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true } } }, - "assign-symbols": { - "version": "1.0.0", - "dev": true - }, - "async": { - "version": "3.2.4" - }, - "async-each": { - "version": "1.0.6", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0" - }, - "atob": { - "version": "2.1.2", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "dev": true + "node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } }, - "babel-jest": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/transform": "^29.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "babel-preset-jest": { - "version": "29.5.0", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "balanced-match": { - "version": "1.0.2" - }, - "base": { - "version": "0.11.2", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "define-property": { - "version": "1.0.0", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } + "@types/yargs-parser": "*" } }, - "base64-js": { - "version": "1.5.1" + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "big.js": { - "version": "5.2.2", - "dev": true + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } }, - "binary-extensions": { - "version": "2.2.0", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "bl": { - "version": "4.1.0", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, + "node_modules/jest-runner/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dependencies": { - "buffer": { - "version": "5.7.1", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "bluebird": { - "version": "3.7.2", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "dev": true + "node_modules/jest-runner/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "brace-expansion": { - "version": "1.1.11", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" + "node_modules/jest-runner/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" } }, - "brorand": { - "version": "1.1.0", - "dev": true + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "browserify-aes": { - "version": "1.2.0", - "dev": true, - "requires": { - "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" + "node_modules/jest-runner/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" } }, - "browserify-cipher": { - "version": "1.0.1", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "node_modules/jest-runner/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "browserify-des": { - "version": "1.0.2", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "node_modules/jest-runner/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" } }, - "browserify-rsa": { - "version": "4.1.0", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "node_modules/jest-runner/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "browserify-sign": { - "version": "4.2.1", - "dev": true, - "requires": { - "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" + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "browserify-zlib": { - "version": "0.2.0", - "dev": true, - "requires": { - "pako": "~1.0.5" + "node_modules/jest-runner/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/jest-runner/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" } }, - "browserslist": { - "version": "4.21.5", - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "node_modules/jest-runner/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "bs-logger": { - "version": "0.2.6", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" + "node_modules/jest-runner/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" } }, - "bser": { - "version": "2.1.1", - "dev": true, - "requires": { - "node-int64": "^0.4.0" + "node_modules/jest-runner/node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "buffer": { - "version": "4.9.2", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "node_modules/jest-runner/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "buffer-alloc": { - "version": "1.2.0", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "node_modules/jest-runner/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "dev": true + "node_modules/jest-runner/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, - "buffer-crc32": { - "version": "0.2.13" + "node_modules/jest-runner/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } }, - "buffer-fill": { - "version": "1.0.0", - "dev": true + "node_modules/jest-runner/node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "buffer-from": { - "version": "1.1.2" + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "buffer-xor": { - "version": "1.0.3", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dependencies": { - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - }, - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "y18n": { - "version": "4.0.3", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true } } }, - "cache-base": { - "version": "1.0.1", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } + "node_modules/jest-runner/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, - "call-bind": { - "version": "1.0.2", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node_modules/jest-runner/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "callsites": { - "version": "3.1.0", - "dev": true + "node_modules/jest-runner/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "camelcase": { - "version": "5.3.1", - "dev": true + "node_modules/jest-runner/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } }, - "caniuse-lite": { - "version": "1.0.30001489" + "node_modules/jest-runner/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "node_modules/jest-runner/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" } }, - "chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "requires": { - "chalk": "^4.1.2" + "node_modules/jest-runner/node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "char-regex": { - "version": "1.0.2", - "dev": true + "node_modules/jest-runner/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } }, - "chokidar": { - "version": "3.5.3", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, + "node_modules/jest-runner/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "iconv-lite": "0.4.24" } }, - "chownr": { - "version": "1.1.4", - "dev": true + "node_modules/jest-runner/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, - "chrome-trace-event": { - "version": "1.0.3" + "node_modules/jest-runner/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } }, - "ci-info": { - "version": "3.8.0", - "dev": true + "node_modules/jest-runner/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, - "cipher-base": { - "version": "1.0.4", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "node_modules/jest-runner/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "cjs-module-lexer": { - "version": "1.2.2", - "dev": true + "node_modules/jest-runtime/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "class-utils": { - "version": "0.3.6", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "node_modules/jest-runtime/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "define-property": { - "version": "0.2.5", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "cliui": { - "version": "8.0.1", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } + "@types/yargs-parser": "*" } }, - "clone-deep": { - "version": "4.0.1", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "node_modules/jest-runtime/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "co": { - "version": "4.6.0", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "color-name": { - "version": "1.1.4" - }, - "colorette": { - "version": "2.0.20", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "requires": { - "delayed-stream": "~1.0.0" + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "node_modules/jest-runtime/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "requires": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" - }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "commander": { - "version": "2.20.3" - }, - "commondir": { - "version": "1.0.1", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "dev": true - }, - "compress-commons": { - "version": "4.1.1", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, + "node_modules/jest-runtime/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "concat-map": { - "version": "0.0.1" + "node_modules/jest-runtime/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "concat-stream": { - "version": "1.6.2", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "console-browserify": { - "version": "1.2.0", - "dev": true + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } }, - "constants-browserify": { - "version": "1.0.0", - "dev": true + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "convert-source-map": { - "version": "2.0.0", - "dev": true + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "copy-concurrently": { - "version": "1.0.5", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "@types/yargs-parser": "*" } }, - "copy-descriptor": { - "version": "0.1.1", - "dev": true + "node_modules/jest-snapshot/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } }, - "core-util-is": { - "version": "1.0.3" + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "crc-32": { - "version": "1.2.2" + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "crc32-stream": { - "version": "4.0.2", - "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, + "node_modules/jest-snapshot/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "create-ecdh": { - "version": "4.0.4", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true - } + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "create-hash": { - "version": "1.2.0", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "create-hmac": { - "version": "1.1.7", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "cross-spawn": { - "version": "7.0.3", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "crypto-browserify": { - "version": "3.12.0", - "dev": true, - "requires": { - "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" + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "cssom": { - "version": "0.5.0", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "cssom": { - "version": "0.3.8", - "dev": true - } + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "csstype": { - "version": "3.1.2", - "dev": true - }, - "cyclist": { - "version": "1.0.2", - "dev": true + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "data-urls": { - "version": "3.0.2", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "node_modules/jest-snapshot/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" + "node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "decimal.js": { - "version": "10.4.3", - "dev": true + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "decode-uri-component": { - "version": "0.2.2", - "dev": true - }, - "decompress": { - "version": "4.2.1", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "make-dir": { - "version": "1.3.0", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "dev": true - } - } - }, - "pify": { - "version": "2.3.0", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "decompress-tar": { - "version": "4.1.1", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "dependencies": { - "bl": { - "version": "1.2.3", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "is-stream": { - "version": "1.1.0", - "dev": true - }, - "tar-stream": { - "version": "1.6.2", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } + "@types/yargs-parser": "*" } }, - "decompress-tarbz2": { - "version": "4.1.1", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "dev": true - } + "node_modules/jest-validate/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "decompress-targz": { - "version": "4.1.1", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "dev": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "decompress-unzip": { - "version": "4.0.1", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { - "file-type": { - "version": "3.9.0", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "dev": true - } + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "dedent": { - "version": "0.7.0", - "dev": true + "node_modules/jest-validate/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "deep-equal": { - "version": "2.2.1", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.0", - "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" + "node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dependencies": { - "isarray": { - "version": "2.0.5", - "dev": true - } + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "deep-is": { - "version": "0.1.4", - "dev": true + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } }, - "deepmerge": { - "version": "4.3.1", - "dev": true + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "define-properties": { - "version": "1.2.0", + "node_modules/jest/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "define-property": { - "version": "2.0.2", + "node_modules/jest/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "delayed-stream": { - "version": "1.0.0" + "node_modules/jest/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, - "des.js": { - "version": "1.1.0", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "node_modules/jiti": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "bin": { + "jiti": "bin/jiti.js" } }, - "detect-newline": { - "version": "3.1.0", - "dev": true + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "diff-sequences": { - "version": "29.4.3", - "dev": true + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "diffie-hellman": { - "version": "5.0.3", + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true } } }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" } }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "dom-accessibility-api": { - "version": "0.5.16", - "dev": true + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "domain-browser": { - "version": "1.2.0", + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "domexception": { - "version": "4.0.0", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "duplexify": { - "version": "3.7.1", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "node_modules/jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "dependencies": { + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" + }, + "engines": { + "node": ">=8" } }, - "eastasianwidth": { - "version": "0.2.0" + "node_modules/jsonc/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } }, - "electron-to-chromium": { - "version": "1.4.408" + "node_modules/jsonc/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } }, - "elliptic": { - "version": "6.5.4", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true - } + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "emittery": { - "version": "0.13.1", - "dev": true + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } }, - "emoji-regex": { - "version": "9.2.2" + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "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" + }, + "engines": { + "node": ">=4.0" + } }, - "emojis-list": { - "version": "3.0.0", - "dev": true + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } }, - "end-of-stream": { - "version": "1.4.4", - "requires": { - "once": "^1.4.0" + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" } }, - "enhanced-resolve": { - "version": "5.15.0", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" } }, - "entities": { - "version": "4.5.0", - "dev": true + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" }, - "envinfo": { - "version": "7.9.0", - "dev": true + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } }, - "errno": { - "version": "0.1.8", - "dev": true, - "requires": { - "prr": "~1.0.1" + "node_modules/launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" } }, - "error-ex": { - "version": "1.3.2", - "requires": { - "is-arrayish": "^0.2.1" + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" } }, - "es-abstract": { - "version": "1.21.2", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" } }, - "es-get-iterator": { - "version": "1.1.3", - "dev": true, - "requires": { - "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" + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "isarray": { - "version": "2.0.5", - "dev": true - } + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, - "es-module-lexer": { - "version": "1.3.0" + "node_modules/loader-utils/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } }, - "es-set-tostringtag": { - "version": "2.0.1", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lower-case/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "bin": { + "lz-string": "bin/bin.js" } }, - "es-shim-unscopables": { - "version": "1.0.0", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, - "requires": { - "has": "^1.0.3" + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "es-to-primitive": { - "version": "1.2.1", + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "engines": { + "node": ">=4" } }, - "esbuild": { - "version": "0.18.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.19.tgz", - "integrity": "sha512-ra3CaIKCzJp5bU5BDfrCc0FRqKj71fQi+gbld0aj6lN0ifuX2fWJYPgLVLGwPfA+ruKna+OWwOvf/yHj6n+i0g==", - "peer": true, - "requires": { - "@esbuild/android-arm": "0.18.19", - "@esbuild/android-arm64": "0.18.19", - "@esbuild/android-x64": "0.18.19", - "@esbuild/darwin-arm64": "0.18.19", - "@esbuild/darwin-x64": "0.18.19", - "@esbuild/freebsd-arm64": "0.18.19", - "@esbuild/freebsd-x64": "0.18.19", - "@esbuild/linux-arm": "0.18.19", - "@esbuild/linux-arm64": "0.18.19", - "@esbuild/linux-ia32": "0.18.19", - "@esbuild/linux-loong64": "0.18.19", - "@esbuild/linux-mips64el": "0.18.19", - "@esbuild/linux-ppc64": "0.18.19", - "@esbuild/linux-riscv64": "0.18.19", - "@esbuild/linux-s390x": "0.18.19", - "@esbuild/linux-x64": "0.18.19", - "@esbuild/netbsd-x64": "0.18.19", - "@esbuild/openbsd-x64": "0.18.19", - "@esbuild/sunos-x64": "0.18.19", - "@esbuild/win32-arm64": "0.18.19", - "@esbuild/win32-ia32": "0.18.19", - "@esbuild/win32-x64": "0.18.19" + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" } }, - "escalade": { - "version": "3.1.1" + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "escodegen": { - "version": "2.0.0", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/memory-fs/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "4" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/no-case/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/nock": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", + "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" + }, + "engines": { + "node": ">= 10.13" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", + "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "dependencies": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "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" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/param-case/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "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" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascal-case/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "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" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", + "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "dev": true, + "dependencies": { + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", + "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dev": true, + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-read-all": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", + "engines": { + "node": ">=10" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/svgo/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/table-layout": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", + "dependencies": { + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" + }, + "bin": { + "table-layout": "bin/cli.js" + }, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader-webpack-4": { + "name": "ts-loader", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "*" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "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" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "peer": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-4": { + "name": "webpack", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/webpack-4/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack-4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-4/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/webpack-4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack-4/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-4/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-4/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-4/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/webpack-4/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-4/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/webpack-4/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/webpack-4/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/webpack-4/node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources-webpack-4": { + "name": "webpack-sources", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources-webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/workbox-build/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-build/node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", + "dependencies": { + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "packages/browser": { + "name": "@backtrace/browser", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "ua-parser-js": "^1.0.35" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "packages/browser/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "packages/browser/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "packages/browser/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/browser/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/browser/node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "packages/browser/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "packages/browser/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/browser/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "packages/browser/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/browser/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "packages/browser/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/browser/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "packages/browser/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "packages/browser/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "packages/node": { + "name": "@backtrace/node", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sdk-core": "^0.0.1", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "packages/node/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "packages/node/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "packages/node/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/node/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/node/node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "packages/node/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "packages/node/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/node/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "packages/node/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/node/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "packages/node/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/node/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "packages/node/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "packages/node/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "packages/react": { + "name": "@backtrace/react", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "packages/react/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "packages/react/node_modules/@types/react": { + "version": "18.2.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "packages/react/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "packages/react/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/react/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/react/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "packages/react/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/react/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "packages/react/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/react/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "packages/react/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "packages/react/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "packages/sdk-core": { + "name": "@backtrace/sdk-core", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "packages/sdk-core/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "packages/sdk-core/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "packages/sdk-core/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/sdk-core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/sdk-core/node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "packages/sdk-core/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "packages/sdk-core/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/sdk-core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "packages/sdk-core/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "packages/sdk-core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "packages/sdk-core/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/sdk-core/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "packages/sdk-core/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "packages/sdk-core/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "tools/cli": { + "name": "@backtrace/javascript-cli", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + }, + "bin": { + "backtrace-js": "lib/index.js" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "tools/rollup-plugin": { + "name": "@backtrace/rollup-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "^3.26.3" + } + }, + "tools/rollup-plugin/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "tools/rollup-plugin/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "tools/rollup-plugin/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "tools/rollup-plugin/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "tools/rollup-plugin/node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "tools/rollup-plugin/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "tools/rollup-plugin/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/rollup-plugin/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "tools/rollup-plugin/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "tools/rollup-plugin/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "tools/rollup-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "tools/rollup-plugin/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "tools/rollup-plugin/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "tools/rollup-plugin/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "tools/sourcemap-tools": { + "name": "@backtrace/sourcemap-tools", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "archiver": "^5.3.1", + "source-map": "^0.7.4" + }, + "devDependencies": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + } + }, + "tools/sourcemap-tools/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "tools/sourcemap-tools/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "tools/sourcemap-tools/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "tools/sourcemap-tools/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "tools/sourcemap-tools/node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "tools/sourcemap-tools/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "tools/sourcemap-tools/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/sourcemap-tools/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "tools/sourcemap-tools/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "tools/sourcemap-tools/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "tools/sourcemap-tools/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "tools/sourcemap-tools/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "tools/sourcemap-tools/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "tools/sourcemap-tools/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "tools/vite-plugin": { + "name": "@backtrace/vite-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vite": "^4.4.9" + } + }, + "tools/webpack-plugin": { + "name": "@backtrace/webpack-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "webpack": "^5.85.0 || ^4.46.0" + } + }, + "tools/webpack-plugin/node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "tools/webpack-plugin/node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "tools/webpack-plugin/node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "tools/webpack-plugin/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "tools/webpack-plugin/node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "tools/webpack-plugin/node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "tools/webpack-plugin/node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "tools/webpack-plugin/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "tools/webpack-plugin/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "tools/webpack-plugin/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "tools/webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "tools/webpack-plugin/node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "tools/webpack-plugin/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "tools/webpack-plugin/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + } + }, + "dependencies": { + "@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "requires": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" + }, + "dependencies": { + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } + } + }, + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + }, + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "requires": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==" + }, + "@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", + "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "requires": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", + "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", + "requires": { + "@babel/types": "^7.22.10" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", + "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", + "requires": { + "@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.5", + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", + "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.10" + } + }, + "@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + } + }, + "@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.10.tgz", + "integrity": "sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@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": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "requires": { + "@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": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", + "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", + "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", + "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", + "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", + "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", + "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", + "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.10", + "@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.10", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.10", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.10", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@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.10", + "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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", + "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + } + }, + "@babel/preset-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "requires": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@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.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } + } + }, + "@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@backtrace/browser": { + "version": "file:packages/browser", + "requires": { + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace/browser-example": { + "version": "file:examples/sdk/browser", + "requires": { + "@backtrace/browser": "^0.0.1", + "@backtrace/webpack-plugin": "^0.0.1", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "@backtrace/javascript-cli": { + "version": "file:tools/cli", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + } + }, + "@backtrace/node": { + "version": "file:packages/node", + "requires": { + "@backtrace/sdk-core": "^0.0.1", + "@types/jest": "^29.5.1", + "form-data": "^4.0.0", + "jest": "29.5.0", + "native-reg": "^1.1.1", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace/node-example": { + "version": "file:examples/sdk/node", + "requires": { + "typescript": "^5.1.3" + } + }, + "@backtrace/react": { + "version": "file:packages/react", + "requires": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@types/react": { + "version": "18.2.20", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace/react-example": { + "version": "file:examples/sdk/react", + "requires": { + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "serve": "^14.2.0", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "requires": { + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "jest-regex-util": { + "version": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-watcher": { + "version": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "jest": { + "version": "27.5.1", + "requires": { + "@jest/core": "^29.6.2", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "requires": { + "@jest/core": "^29.6.2", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-scripts": { + "version": "5.0.1", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "typescript": { + "version": "4.9.5" + } + } + }, + "@backtrace/rollup-plugin": { + "version": "file:tools/rollup-plugin", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace/sdk-core": { + "version": "file:packages/sdk-core", + "requires": { + "@types/jest": "^29.5.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace/sourcemap-tools": { + "version": "file:tools/sourcemap-tools", + "requires": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "archiver": "^5.3.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "source-map": "^0.7.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace/vite-plugin": { + "version": "file:tools/vite-plugin", + "requires": { + "@backtrace/rollup-plugin": "^0.0.1", + "typescript": "^5.0.4" + } + }, + "@backtrace/webpack-plugin": { + "version": "file:tools/webpack-plugin", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "optional": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "requires": {} + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "optional": true, + "peer": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==" + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "requires": { + "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": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==" + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + } + }, + "@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + } + }, + "@jest/reporters": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "requires": {} + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + } + }, + "jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true + }, + "jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "dev": true, + "requires": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" + } + }, + "jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + } + }, + "jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", + "dev": true, + "requires": { + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true + }, + "jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + } + } + }, + "@jest/expect-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/reporters": { + "version": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "requires": { + "@jest/schemas": "^28.1.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": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + } + }, + "@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" + } + }, + "@rollup/pluginutils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@rushstack/eslint-patch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", + "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + } + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + } + } + }, + "@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", + "dev": true, + "requires": { + "@types/readdir-glob": "*" + } + }, + "@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "requires": { + "@types/node": "*" + } + }, + "@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", + "dev": true + }, + "@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, + "@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" + }, + "@types/http-proxy": { + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + } + } + }, + "@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "@types/node": { + "version": "14.18.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", + "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/react": { + "version": "16.14.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.45.tgz", + "integrity": "sha512-XFtKkY3yuPO5VJSE6Lru9yLkVQvYE+l6NbmLp6IWCg4jo5S8Ijbpke8wC9q4NmQ5pJErT8KKboG5eY7n5n718A==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "requires": { + "@types/react": "*" + } + }, + "@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + }, + "@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "requires": { + "@types/node": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "requires": { + "@typescript-eslint/utils": "5.62.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + } + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "requires": { + "deep-equal": "^2.0.5" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "optional": true + }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.15", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", + "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "requires": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" + }, + "axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "requires": { + "@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" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dev": true, + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true + }, + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "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": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001521", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", + "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "requires": { + "chalk": "^4.1.2" + } + }, + "char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" + }, + "check-types": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true + }, + "clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "requires": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + } + }, + "command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "requires": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "dependencies": { + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + }, + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + } + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", + "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==" + }, + "core-js-compat": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", + "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", + "requires": { + "browserslist": "^4.21.9" + } + }, + "core-js-pure": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", + "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@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" + } + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "requires": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "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": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssdb": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.7.0.tgz", + "integrity": "sha512-1hN+I3r4VqSNQ+OmMXxYexnumbOONkSil0TWMebVXHtzYW4tRRPovUNHPHj2d4nrgOuYJ8Vs3XwvywsuwwXNNA==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true + } + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "requires": { + "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": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + } + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.494", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.494.tgz", + "integrity": "sha512-KF7wtsFFDu4ws1ZsSOt4pdmO1yWVNWCFtijVYZPUeW4SV7/hy/AESjLn/+qIWgq7mHscNOKAwN5AIM1+YAy+Ww==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "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.10", + "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.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "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.10" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "requires": { + "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": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", + "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "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.0", + "safe-array-concat": "^1.0.0" + } + }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "peer": true, + "requires": { + "@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": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "requires": {} + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "requires": { + "@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.0.1", + "confusing-browser-globals": "^1.0.11", + "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": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "requires": { + "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.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "requires": { + "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" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "requires": { + "@typescript-eslint/utils": "^5.58.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "requires": { + "array-back": "^3.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "requires": { + "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "requires": { + "semver": "^7.5.3" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "iterator.prototype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", + "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "requires": { + "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" + } + }, + "jackspeak": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", + "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + } + }, + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + } + } + }, + "jest-changed-files": { + "version": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-cli": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "dev": true, + "requires": { + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "dependencies": { + "@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + } + }, + "@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + } + }, + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "requires": {} + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + } + }, + "jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + } + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true + }, + "jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + } + }, + "jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + } + } + }, + "jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + } + } + }, + "jest-environment-jsdom": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.2.tgz", + "integrity": "sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2", + "jsdom": "^20.0.0" + }, + "dependencies": { + "@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + } + }, + "@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "levn": { - "version": "0.3.0", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, - "optionator": { - "version": "0.8.3", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" }, - "prelude-ls": { - "version": "1.1.2", - "dev": true + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" }, - "type-check": { - "version": "0.3.2", - "dev": true, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "requires": { - "prelude-ls": "~1.1.2" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" } } }, - "eslint": { - "version": "8.41.0", + "jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" }, "dependencies": { - "eslint-scope": { - "version": "7.2.0", + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@sinclair/typebox": "^0.27.8" } }, - "estraverse": { - "version": "5.3.0", + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", "dev": true, "requires": { - "ms": "^2.1.1" + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } } } }, - "eslint-module-utils": { - "version": "2.8.0", - "dev": true, + "jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "requires": { - "debug": "^3.2.7" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" } } }, - "eslint-plugin-import": { - "version": "2.27.5", - "dev": true, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "requires": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "@jest/types": "^27.5.1", + "@types/node": "*" }, "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "requires": { - "ms": "^2.1.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" } }, - "doctrine": { - "version": "2.1.0", - "dev": true, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "requires": { - "esutils": "^2.0.2" + "@types/yargs-parser": "*" } - }, - "semver": { - "version": "6.3.0", - "dev": true } } }, - "eslint-plugin-local-rules": { - "version": "1.3.2", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "dev": true + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "requires": {} }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } - } + "jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" }, - "esrecurse": { - "version": "4.3.0", + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", "requires": { - "estraverse": "^5.2.0" + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, "dependencies": { - "estraverse": { - "version": "5.3.0" + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" } } }, - "estraverse": { - "version": "4.3.0" - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "events": { - "version": "3.3.0" - }, - "evp_bytestokey": { - "version": "1.0.3", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "dev": true, + "jest-resolve-dependencies": { + "version": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" }, "dependencies": { - "signal-exit": { - "version": "3.0.7", - "dev": true + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" } } }, - "exit": { - "version": "0.1.2", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "requires": { - "ms": "2.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" } }, - "define-property": { - "version": "0.2.5", - "dev": true, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "requires": { - "is-descriptor": "^0.1.0" + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "extend-shallow": { - "version": "2.0.1", - "dev": true, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "requires": { - "is-extendable": "^0.1.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "requires": { - "kind-of": "^3.0.2" + "@types/yargs-parser": "*" + } + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" } } }, - "is-data-descriptor": { - "version": "0.1.4", - "dev": true, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "requires": { - "kind-of": "^3.0.2" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" } } }, - "is-descriptor": { - "version": "0.1.6", - "dev": true, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "is-extendable": { - "version": "0.1.1", - "dev": true + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } }, - "kind-of": { - "version": "5.1.0", - "dev": true + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } }, - "ms": { - "version": "2.0.0", - "dev": true - } - } - }, - "expect": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" - } - }, - "extend-shallow": { - "version": "3.0.2", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "extglob": { - "version": "2.0.4", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "dev": true, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { - "is-descriptor": "^1.0.0" + "safer-buffer": ">= 2.1.2 < 3" } }, - "extend-shallow": { - "version": "2.0.1", - "dev": true, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "requires": { - "is-extendable": "^0.1.0" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" } }, - "is-extendable": { - "version": "0.1.1", - "dev": true - } - } - }, - "fast-deep-equal": { - "version": "3.1.3" - }, - "fast-glob": { - "version": "3.2.12", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { - "is-glob": "^4.0.1" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0" - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fastest-levenshtein": { - "version": "1.0.16", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "dev": true - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-type": { - "version": "5.2.0", - "dev": true - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "dev": true, + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "requires": { - "locate-path": "^3.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" } }, - "locate-path": { - "version": "3.0.0", - "dev": true, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "xmlchars": "^2.2.0" } }, - "make-dir": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "tr46": { "version": "2.1.0", - "dev": true, + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "punycode": "^2.1.1" } }, - "p-limit": { - "version": "2.3.0", - "dev": true, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "requires": { - "p-try": "^2.0.0" + "xml-name-validator": "^3.0.0" } }, - "p-locate": { - "version": "3.0.0", - "dev": true, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "requires": { - "p-limit": "^2.0.0" + "iconv-lite": "0.4.24" } }, - "path-exists": { - "version": "3.0.0", - "dev": true + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, - "pkg-dir": { - "version": "3.0.0", - "dev": true, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "requires": { - "find-up": "^3.0.0" + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" } }, - "semver": { - "version": "5.7.1", - "dev": true + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" } } }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, "glob": { "version": "7.2.3", - "dev": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -16323,2049 +45170,2773 @@ "path-is-absolute": "^1.0.0" } }, - "rimraf": { - "version": "3.0.2", - "dev": true, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { - "glob": "^7.1.3" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" } } }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "for-each": { - "version": "0.3.3", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "dev": true - }, - "foreground-child": { - "version": "3.1.1", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "form-data": { - "version": "4.0.0", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0" - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", - "dev": true, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "@types/node": "*", + "graceful-fs": "^4.2.9" } }, - "functions-have-names": { - "version": "1.2.3", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "dev": true, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } } }, - "get-package-type": { - "version": "0.1.0", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "dev": true, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" } }, - "get-value": { - "version": "2.0.6", - "dev": true - }, - "glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "requires": { - "balanced-match": "^1.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" } }, - "minimatch": { - "version": "9.0.1", + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "requires": { - "brace-expansion": "^2.0.1" + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" } } }, - "glob-parent": { - "version": "6.0.2", - "dev": true, + "jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "requires": { - "is-glob": "^4.0.3" + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + } } }, - "glob-to-regexp": { - "version": "0.4.1" - }, - "globals": { - "version": "13.20.0", - "dev": true, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "requires": { - "type-fest": "^0.20.2" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "globalthis": { - "version": "1.0.3", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } + "jiti": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==" }, - "globby": { - "version": "11.1.0", - "dev": true, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "requires": { - "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" + "argparse": "^2.0.1" } }, - "gopd": { - "version": "1.0.1", + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" } }, - "graceful-fs": { - "version": "4.2.11" + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "graphemer": { - "version": "1.4.0", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "has": { - "version": "1.0.3", - "dev": true, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { - "function-bind": "^1.1.1" + "minimist": "^1.2.0" } }, - "has-bigints": { - "version": "1.0.2", - "dev": true + "jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "requires": { + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + } + } }, - "has-flag": { - "version": "4.0.0" + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } }, - "has-property-descriptors": { - "version": "1.0.0", - "dev": true, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "requires": { - "get-intrinsic": "^1.1.1" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" } }, - "has-proto": { - "version": "1.0.1", - "dev": true + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, - "has-symbols": { - "version": "1.0.3", - "dev": true + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" }, - "has-tostringtag": { - "version": "1.0.0", - "dev": true, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "requires": { - "has-symbols": "^1.0.2" + "language-subtag-registry": "~0.3.2" } }, - "has-value": { - "version": "1.0.0", - "dev": true, + "launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" } }, - "has-values": { - "version": "1.0.0", - "dev": true, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "readable-stream": "^2.0.5" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "dev": true, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "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" } }, - "kind-of": { - "version": "4.0.0", - "dev": true, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "is-buffer": "^1.1.5" + "safe-buffer": "~5.1.0" } } } }, - "hash-base": { + "leven": { "version": "3.1.0", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" }, - "hash.js": { - "version": "1.1.7", - "dev": true, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "hmac-drbg": { - "version": "1.0.1", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" }, - "html-encoding-sniffer": { - "version": "3.0.0", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "html-escaper": { - "version": "2.0.2", - "dev": true + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, - "http-proxy-agent": { - "version": "5.0.0", - "dev": true, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } } }, - "https-browserify": { - "version": "1.0.0", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "dev": true, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "requires": { - "agent-base": "6", - "debug": "4" + "p-locate": "^5.0.0" } }, - "human-signals": { - "version": "2.1.0", - "dev": true - }, - "iconv-lite": { - "version": "0.6.3", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "ieee754": { - "version": "1.2.1" + "lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" }, - "iferr": { - "version": "0.1.5", - "dev": true + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, - "ignore": { - "version": "5.2.4", - "dev": true + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, - "import-local": { - "version": "3.1.0", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" }, - "imurmurhash": { - "version": "0.1.4", - "dev": true + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, - "infer-owner": { - "version": "1.0.4", - "dev": true + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, - "inflight": { - "version": "1.0.6", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" }, - "inherits": { - "version": "2.0.4" + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "internal-slot": { - "version": "1.0.5", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, - "interpret": { - "version": "3.1.1", - "dev": true + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" }, - "is-accessor-descriptor": { - "version": "1.0.0", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, - "is-arguments": { - "version": "1.1.1", - "dev": true, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "is-array-buffer": { - "version": "3.0.2", - "dev": true, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + } } }, - "is-arrayish": { - "version": "0.2.1" + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, - "is-bigint": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true }, - "is-binary-path": { - "version": "2.1.0", - "dev": true, - "optional": true, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "requires": { - "binary-extensions": "^2.0.0" + "sourcemap-codec": "^1.4.8" } }, - "is-boolean-object": { - "version": "1.1.2", + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } } }, - "is-buffer": { - "version": "1.1.6", - "dev": true - }, - "is-callable": { - "version": "1.2.7", + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "is-core-module": { - "version": "2.12.1", - "dev": true, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "requires": { - "has": "^1.0.3" + "tmpl": "1.0.5" } }, - "is-data-descriptor": { + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "object-visit": "^1.0.0" } }, - "is-date-object": { - "version": "1.0.5", + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "is-descriptor": { - "version": "1.0.2", - "dev": true, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "fs-monkey": "^1.0.4" } }, - "is-extendable": { - "version": "1.0.1", + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "is-extglob": { - "version": "2.1.1", - "dev": true + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, - "is-fullwidth-code-point": { - "version": "3.0.0" + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, - "is-generator-fn": { - "version": "2.1.0", - "dev": true + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, - "is-glob": { - "version": "4.0.3", - "dev": true, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "requires": { - "is-extglob": "^2.1.1" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "is-map": { - "version": "2.0.2", - "dev": true - }, - "is-natural-number": { + "miller-rabin": { "version": "4.0.1", - "dev": true + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } }, - "is-negative-zero": { - "version": "2.0.2", - "dev": true + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, - "is-number": { - "version": "7.0.0", - "dev": true + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, - "is-number-object": { - "version": "1.0.7", - "dev": true, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "has-tostringtag": "^1.0.0" + "mime-db": "1.52.0" } }, - "is-path-inside": { - "version": "3.0.3", - "dev": true + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, - "is-plain-object": { - "version": "2.0.4", - "dev": true, + "mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", "requires": { - "isobject": "^3.0.1" + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } } }, - "is-potential-custom-element-name": { + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, - "is-regex": { - "version": "1.1.4", - "dev": true, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "brace-expansion": "^1.1.7" } }, - "is-set": { - "version": "2.0.2", - "dev": true + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, - "is-shared-array-buffer": { - "version": "1.0.2", + "minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" } }, - "is-stream": { - "version": "2.0.1", - "dev": true + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } }, - "is-string": { - "version": "1.0.7", + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "is-symbol": { - "version": "1.0.4", - "dev": true, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "requires": { - "has-symbols": "^1.0.2" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" } }, - "is-typed-array": { - "version": "1.1.10", - "dev": true, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "requires": { - "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" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "is-weakmap": { - "version": "2.0.1", - "dev": true + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, - "is-weakref": { - "version": "1.0.2", + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, - "is-weakset": { - "version": "2.0.2", - "dev": true, + "native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "node-gyp-build": "4" } }, - "is-windows": { - "version": "1.0.2", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "dev": true - }, - "isarray": { - "version": "1.0.0" + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, - "isexe": { - "version": "2.0.0" + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" }, - "isobject": { - "version": "3.0.1", - "dev": true + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "dev": true, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" }, "dependencies": { - "semver": { - "version": "6.3.0", - "dev": true + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" } } }, - "istanbul-lib-report": { - "version": "3.0.0", + "nock": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", + "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" }, - "istanbul-reports": { - "version": "3.1.5", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } + "node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" }, - "jackspeak": { - "version": "2.2.1", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, - "jest": { - "version": "29.5.0", + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "jest-changed-files": { - "version": "29.5.0", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, - "jest-circus": { - "version": "29.5.0", - "dev": true, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "path-key": "^3.0.0" } }, - "jest-cli": { - "version": "29.5.0", - "dev": true, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "requires": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "prompts": "^2.0.1", - "yargs": "^17.3.1" + "boolbase": "^1.0.0" } }, - "jest-config": { - "version": "29.5.0", + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { - "glob": { - "version": "7.2.3", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { - "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" + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" } } } }, - "jest-diff": { - "version": "29.5.0", - "dev": true, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "jest-docblock": { - "version": "29.4.3", + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { - "detect-newline": "^3.0.0" + "isobject": "^3.0.0" } }, - "jest-each": { - "version": "29.5.0", - "dev": true, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "requires": { - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, - "jest-environment-jsdom": { - "version": "29.5.0", - "dev": true, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0", - "jsdom": "^20.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, - "jest-environment-node": { - "version": "29.5.0", - "dev": true, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, - "jest-get-type": { - "version": "29.4.3", - "dev": true - }, - "jest-haste-map": { - "version": "29.5.0", - "dev": true, + "object.getownpropertydescriptors": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", + "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", "requires": { - "@jest/types": "^29.5.0", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" } }, - "jest-leak-detector": { - "version": "29.5.0", - "dev": true, + "object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" } }, - "jest-matcher-utils": { - "version": "29.5.0", - "dev": true, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, - "jest-message-util": { - "version": "29.5.0", + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "isobject": "^3.0.1" } }, - "jest-mock": { - "version": "29.5.0", - "dev": true, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "requires": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-util": "^29.5.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, - "jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.4.3", - "dev": true + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, - "jest-resolve": { - "version": "29.5.0", - "dev": true, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "ee-first": "1.1.1" } }, - "jest-resolve-dependencies": { - "version": "29.5.0", - "dev": true, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" + "wrappy": "1" } }, - "jest-runner": { - "version": "29.5.0", - "dev": true, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "requires": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "mimic-fn": "^2.1.0" } }, - "jest-runtime": { - "version": "29.5.0", - "dev": true, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - }, - "strip-bom": { - "version": "4.0.0", - "dev": true - } + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" } }, - "jest-snapshot": { - "version": "29.5.0", - "dev": true, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" + "@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" } }, - "jest-util": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" } }, - "jest-validate": { - "version": "29.5.0", - "dev": true, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "requires": { - "@jest/types": "^29.5.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.5.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "dev": true - } + "p-limit": "^3.0.2" } }, - "jest-watcher": { - "version": "29.5.0", - "dev": true, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "requires": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.5.0", - "string-length": "^4.0.1" + "@types/retry": "0.12.0", + "retry": "^0.13.1" } }, - "jest-worker": { - "version": "29.5.0", + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { - "@types/node": "*", - "jest-util": "^29.5.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" }, "dependencies": { - "supports-color": { - "version": "8.1.1", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" } } } }, - "js-tokens": { - "version": "4.0.0" + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + } + } }, - "js-yaml": { - "version": "4.1.0", - "dev": true, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "requires": { - "argparse": "^2.0.1" + "callsites": "^3.0.0" } }, - "jsdom": { - "version": "20.0.3", + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, - "jsesc": { - "version": "2.5.2", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2" - }, - "json-parse-even-better-errors": { - "version": "2.3.1" - }, - "json-schema-traverse": { - "version": "0.4.1" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "dev": true + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } }, - "json5": { - "version": "1.0.2", + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "requires": { - "minimist": "^1.2.0" + "entities": "^4.4.0" } }, - "jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "requires": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" + "no-case": "^3.0.4", + "tslib": "^2.0.3" }, "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" } } }, - "kind-of": { - "version": "6.0.3", + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, - "kleur": { - "version": "3.0.3", + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "lazystream": { - "version": "1.0.1", - "requires": { - "readable-stream": "^2.0.5" - } + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true }, - "leven": { - "version": "3.1.0", - "dev": true + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, - "lines-and-columns": { - "version": "1.2.4", + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true }, - "loader-runner": { - "version": "4.3.0" + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, - "loader-utils": { - "version": "2.0.4", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "dev": true - } - } + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "locate-path": { - "version": "6.0.0", - "dev": true, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { - "p-locate": "^5.0.0" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "lodash": { - "version": "4.17.21", + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", "dev": true }, - "lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } }, - "lodash.defaults": { - "version": "4.2.0" + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, - "lodash.difference": { - "version": "4.5.0" + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, - "lodash.flatten": { - "version": "4.4.0" + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, - "lodash.isplainobject": { - "version": "4.0.6" + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "lodash.memoize": { - "version": "4.1.2", - "dev": true + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, - "lodash.merge": { - "version": "4.6.2", + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, - "lodash.union": { - "version": "4.6.0" - }, - "loose-envify": { - "version": "1.4.0", - "peer": true, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "pinkie": "^2.0.0" } }, - "lru-cache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", - "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==" + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" }, - "lz-string": { - "version": "1.5.0", - "dev": true + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } }, - "make-dir": { + "pkg-up": { "version": "3.1.0", - "dev": true, + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "requires": { - "semver": "^6.0.0" + "find-up": "^3.0.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "dev": true + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" } } }, - "make-error": { - "version": "1.3.6", + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, - "makeerror": { - "version": "1.0.12", - "dev": true, + "postcss": { + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "requires": { - "tmpl": "1.0.5" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" } }, - "map-cache": { - "version": "0.2.2", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "dev": true, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", "requires": { - "object-visit": "^1.0.0" + "postcss-selector-parser": "^6.0.10" } }, - "md5.js": { - "version": "1.3.5", - "dev": true, + "postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "requires": {} + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" } }, - "memory-fs": { - "version": "0.4.1", - "dev": true, + "postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "postcss-value-parser": "^4.2.0" } }, - "merge-stream": { - "version": "2.0.0" - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "postcss-value-parser": "^4.2.0" } }, - "miller-rabin": { - "version": "4.0.1", - "dev": true, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true - } + "postcss-value-parser": "^4.2.0" } }, - "mime-db": { - "version": "1.52.0" - }, - "mime-types": { - "version": "2.1.35", + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", "requires": { - "mime-db": "1.52.0" + "postcss-value-parser": "^4.2.0" } }, - "mimic-fn": { - "version": "2.1.0", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "dev": true - }, - "minimatch": { - "version": "3.1.2", + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "requires": { - "brace-expansion": "^1.1.7" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" } }, - "minimist": { - "version": "1.2.8" - }, - "minipass": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", - "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==" + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } }, - "mississippi": { - "version": "3.0.0", - "dev": true, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "postcss-value-parser": "^4.2.0" } }, - "mixin-deep": { - "version": "1.3.2", - "dev": true, + "postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "postcss-value-parser": "^4.2.0" } }, - "mkdirp": { - "version": "0.5.6", + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "requires": { - "minimist": "^1.2.6" + "postcss-selector-parser": "^6.0.4" } }, - "move-concurrently": { - "version": "1.0.1", - "dev": true, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "postcss-selector-parser": "^6.0.10" } }, - "ms": { - "version": "2.1.2", - "dev": true + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true, - "optional": true + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "peer": true + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} }, - "nanomatch": { - "version": "1.2.13", - "dev": true, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" } }, - "native-reg": { - "version": "1.1.1", + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", "requires": { - "node-gyp-build": "4" + "postcss-value-parser": "^4.2.0" } }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "dev": true + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "requires": {} }, - "neo-async": { - "version": "2.6.2" + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } }, - "nock": { - "version": "13.3.1", - "dev": true, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" + "postcss-selector-parser": "^6.0.9" } }, - "node-gyp-build": { - "version": "4.6.0" + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "requires": {} }, - "node-int64": { - "version": "0.4.0", - "dev": true + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "requires": {} }, - "node-libs-browser": { - "version": "2.2.1", - "dev": true, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "dev": true - } + "postcss-value-parser": "^4.2.0" } }, - "node-releases": { - "version": "2.0.12" + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } }, - "normalize-path": { - "version": "3.0.0" + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "requires": {} }, - "npm-run-path": { + "postcss-js": { "version": "4.0.1", - "dev": true, + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "requires": { - "path-key": "^3.0.0" + "camelcase-css": "^2.0.1" } }, - "nwsapi": { - "version": "2.2.5", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "dev": true + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } }, - "object-copy": { - "version": "0.1.0", - "dev": true, + "postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==" } } }, - "object-inspect": { - "version": "1.12.3", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "dev": true, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" } }, - "object-keys": { - "version": "1.1.1", - "dev": true + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "requires": {} }, - "object-visit": { - "version": "1.0.1", - "dev": true, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", "requires": { - "isobject": "^3.0.0" + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" } }, - "object.assign": { - "version": "4.1.4", - "dev": true, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" } }, - "object.pick": { - "version": "1.3.0", - "dev": true, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", "requires": { - "isobject": "^3.0.1" + "postcss-value-parser": "^4.2.0" } }, - "object.values": { - "version": "1.1.6", - "dev": true, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" } }, - "once": { - "version": "1.4.0", + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", "requires": { - "wrappy": "1" + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" } }, - "onetime": { - "version": "5.1.2", - "dev": true, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", "requires": { - "mimic-fn": "^2.1.0" + "postcss-selector-parser": "^6.0.5" } }, - "optionator": { - "version": "0.9.1", - "dev": true, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" } }, - "os-browserify": { - "version": "0.3.0", - "dev": true + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } }, - "p-limit": { - "version": "3.1.0", - "dev": true, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "requires": { - "yocto-queue": "^0.1.0" + "icss-utils": "^5.0.0" } }, - "p-locate": { - "version": "5.0.0", - "dev": true, + "postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "requires": { - "p-limit": "^3.0.2" + "postcss-selector-parser": "^6.0.11" } }, - "p-try": { - "version": "2.2.0", - "dev": true + "postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } }, - "pako": { - "version": "1.0.11", - "dev": true + "postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } }, - "parallel-transform": { - "version": "1.2.0", - "dev": true, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "postcss-value-parser": "^4.2.0" } }, - "parent-module": { - "version": "1.0.1", - "dev": true, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", "requires": { - "callsites": "^3.0.0" + "postcss-value-parser": "^4.2.0" } }, - "parse-asn1": { - "version": "5.1.6", - "dev": true, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "postcss-value-parser": "^4.2.0" } }, - "parse-json": { - "version": "5.2.0", - "dev": true, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "postcss-value-parser": "^4.2.0" } }, - "parse5": { - "version": "7.1.2", - "dev": true, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", "requires": { - "entities": "^4.4.0" + "postcss-value-parser": "^4.2.0" } }, - "pascalcase": { - "version": "0.1.1", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "dev": true, - "optional": true - }, - "path-exists": { - "version": "4.0.0", - "dev": true + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } }, - "path-is-absolute": { - "version": "1.0.1" + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } }, - "path-key": { - "version": "3.1.1" + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } }, - "path-parse": { - "version": "1.0.7", - "dev": true + "postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "requires": {} }, - "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" } }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "dev": true, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "postcss-value-parser": "^4.2.0" } }, - "pend": { - "version": "1.2.0", - "dev": true + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "requires": {} }, - "picocolors": { - "version": "1.0.0" + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } }, - "picomatch": { - "version": "2.3.1", - "dev": true + "postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } }, - "pify": { - "version": "4.0.1", - "dev": true + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } }, - "pinkie": { - "version": "2.0.4", - "dev": true + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "requires": {} }, - "pinkie-promise": { - "version": "2.0.1", - "dev": true, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", "requires": { - "pinkie": "^2.0.0" + "postcss-selector-parser": "^6.0.10" } }, - "pirates": { - "version": "4.0.5", - "dev": true + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } }, - "pkg-dir": { - "version": "4.2.0", - "dev": true, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", "requires": { - "find-up": "^4.0.0" + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, - "locate-path": { - "version": "5.0.0", - "dev": true, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "requires": { - "p-locate": "^4.1.0" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" } }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, - "p-locate": { - "version": "4.1.0", - "dev": true, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "requires": { - "p-limit": "^2.2.0" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" } } } }, - "posix-character-classes": { - "version": "0.1.1", - "dev": true - }, - "postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", - "peer": true, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "postcss-selector-parser": "^6.0.5" } }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, "prelude-ls": { "version": "1.2.1", - "dev": true + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, "pretty-format": { - "version": "29.5.0", - "dev": true, + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "requires": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, "ansi-styles": { "version": "5.2.0", - "dev": true + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" } } }, "process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } }, "promise-inflight": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "prompts": { "version": "2.4.2", - "dev": true, + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, "propagate": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + } + } + }, "prr": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "psl": { "version": "1.9.0", - "dev": true + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "public-encrypt": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -18378,12 +47949,16 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -18392,6 +47967,8 @@ }, "pumpify": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -18401,6 +47978,8 @@ "dependencies": { "pump": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -18410,14 +47989,25 @@ } }, "punycode": { - "version": "2.3.0" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, "pure-rand": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, "qs": { "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -18425,87 +48015,234 @@ }, "querystring-es3": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "querystringify": { "version": "2.2.0", - "dev": true + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, "queue-microtask": { "version": "1.2.3", - "dev": true + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + } + } + }, "react": { "version": "18.2.0", - "peer": true, + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { "loose-envify": "^1.1.0" } }, + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + } + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + } + } + }, "react-dom": { "version": "18.2.0", - "dev": true, - "peer": true, + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + }, + "react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "clsx": "^1.1.1" } }, - "react-is": { - "version": "18.2.0", - "dev": true + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } }, "readable-stream": { - "version": "2.3.8", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2" - }, - "string_decoder": { - "version": "1.1.1", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "readdir-glob": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "requires": { "minimatch": "^5.1.0" }, "dependencies": { "brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -18514,105 +48251,285 @@ }, "readdirp": { "version": "3.6.0", - "dev": true, - "optional": true, + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } }, "rechoir": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "requires": { "resolve": "^1.20.0" } }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "reflect.getprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", + "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "requires": { + "regenerate": "^1.4.2" + } + }, "regenerator-runtime": { - "version": "0.13.11", - "dev": true + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "requires": { + "@babel/runtime": "^7.8.4" + } }, "regex-not": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, "regexp.prototype.flags": { "version": "1.5.0", - "dev": true, + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "functions-have-names": "^1.2.3" } }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "requires": { + "@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": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, "remove-trailing-separator": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, "optional": true }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, "repeat-element": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { "version": "2.1.1", - "dev": true + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "requires-port": { "version": "1.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "resolve": { - "version": "1.22.2", - "dev": true, + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "requires": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { "version": "3.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "requires": { "resolve-from": "^5.0.0" }, "dependencies": { "resolve-from": { "version": "5.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" } } }, "resolve-from": { "version": "4.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve-url": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "resolve.exports": { - "version": "2.0.2", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" }, "ret": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, "reusify": { "version": "1.0.4", - "dev": true + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rimraf": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -18620,6 +48537,8 @@ }, "ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -18627,9 +48546,9 @@ } }, "rollup": { - "version": "3.27.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", - "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", + "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", "peer": true, "requires": { "fsevents": "~2.3.2" @@ -18637,23 +48556,41 @@ }, "run-parallel": { "version": "1.2.0", - "dev": true, + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { "queue-microtask": "^1.2.2" } }, "run-queue": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" } }, + "safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, "safe-buffer": { - "version": "5.2.1" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" @@ -18661,7 +48598,8 @@ }, "safe-regex-test": { "version": "1.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -18670,10 +48608,32 @@ }, "safer-buffer": { "version": "2.1.2", - "dev": true + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "saxes": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -18681,14 +48641,16 @@ }, "scheduler": { "version": "0.23.0", - "dev": true, - "peer": true, + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "requires": { "loose-envify": "^1.1.0" } }, "schema-utils": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -18697,35 +48659,260 @@ }, "seek-bzip": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { "commander": "^2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "requires": { + "node-forge": "^1" } }, "semver": { "version": "7.5.4", - "dev": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" }, "dependencies": { "lru-cache": { "version": "6.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { "yallist": "^4.0.0" } } } }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + } + } + }, "serialize-javascript": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "requires": { "randombytes": "^2.1.0" } }, + "serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dev": true, + "requires": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, "set-value": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -18736,6 +48923,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -18743,16 +48932,27 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "setimmediate": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, "sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -18761,6 +48961,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -18768,16 +48970,26 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" }, "side-channel": { "version": "1.0.4", - "dev": true, + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -18785,18 +48997,24 @@ } }, "signal-exit": { - "version": "4.0.2" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" }, "sisteransi": { "version": "1.0.5", - "dev": true + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "slash": { - "version": "3.0.0", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" }, "snapdragon": { "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -18811,6 +49029,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -18818,6 +49038,8 @@ }, "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -18825,6 +49047,8 @@ }, "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -18832,6 +49056,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -18839,6 +49065,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -18848,6 +49076,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -18855,6 +49085,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -18864,6 +49096,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -18873,24 +49107,34 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -18900,6 +49144,8 @@ "dependencies": { "define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -18909,6 +49155,8 @@ }, "snapdragon-util": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -18916,6 +49164,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -18923,21 +49173,45 @@ } } }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, "source-list-map": { "version": "2.0.1", - "dev": true + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "source-map": { - "version": "0.6.1" + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "peer": true + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } }, "source-map-resolve": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", @@ -18948,19 +49222,61 @@ } }, "source-map-support": { - "version": "0.5.13", - "dev": true, + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, "source-map-url": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, "split-string": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -18968,30 +49284,47 @@ }, "sprintf-js": { "version": "1.0.3", - "dev": true + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "ssri": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" } }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, "stack-utils": { "version": "2.0.6", - "dev": true, + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "requires": { "escape-string-regexp": "^2.0.0" }, "dependencies": { "escape-string-regexp": { "version": "2.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" } } }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, "static-extend": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -19000,6 +49333,8 @@ "dependencies": { "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -19007,6 +49342,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -19014,6 +49351,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -19023,6 +49362,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -19030,6 +49371,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -19039,6 +49382,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -19048,27 +49393,77 @@ }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, "stop-iteration-iterator": { "version": "1.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "requires": { "internal-slot": "^1.0.4" } }, "stream-browserify": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-each": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -19077,6 +49472,8 @@ }, "stream-http": { "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -19084,6 +49481,44 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-read-all": { @@ -19093,35 +49528,56 @@ }, "stream-shift": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" } }, "string-length": { - "version": "4.0.2", - "dev": true, + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } } }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" }, "dependencies": { - "ansi-regex": { - "version": "6.0.1" - }, "strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -19130,6 +49586,8 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -19137,80 +49595,348 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "style-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "requires": {} + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } } } }, - "string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "dev": true - }, - "strip-dirs": { - "version": "2.1.0", - "dev": true, - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true - }, "symbol-tree": { "version": "3.2.4", - "dev": true + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "table-layout": { "version": "3.0.2", @@ -19238,31 +49964,93 @@ } } }, + "tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + } + }, "tapable": { - "version": "2.2.1" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, "tar-stream": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" } } }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, "terser": { - "version": "5.18.1", + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -19270,44 +50058,29 @@ "source-map-support": "~0.5.20" }, "dependencies": { - "source-map-support": { - "version": "0.5.21", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" } } }, "terser-webpack-plugin": { "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", "terser": "^5.16.8" - }, - "dependencies": { - "jest-worker": { - "version": "27.5.1", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "test-exclude": { "version": "6.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "requires": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -19316,7 +50089,8 @@ "dependencies": { "glob": { "version": "7.2.3", - "dev": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19330,22 +50104,93 @@ }, "text-table": { "version": "0.2.0", - "dev": true + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" }, "through": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, "timers-browserify": { "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -19353,22 +50198,30 @@ }, "tmpl": { "version": "1.0.5", - "dev": true + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" }, "to-arraybuffer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-buffer": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "to-fast-properties": { "version": "2.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -19376,6 +50229,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -19385,6 +50240,8 @@ }, "to-regex": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -19395,47 +50252,53 @@ }, "to-regex-range": { "version": "5.0.1", - "dev": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" } }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, "tough-cookie": { - "version": "4.1.2", - "dev": true, + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } } }, "tr46": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" } }, - "ts-jest": { - "version": "29.1.1", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "dev": true - } - } + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, "ts-loader": { "version": "9.4.4", @@ -19451,6 +50314,8 @@ }, "ts-loader-webpack-4": { "version": "npm:ts-loader@8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -19462,6 +50327,8 @@ "dependencies": { "enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -19469,23 +50336,64 @@ "tapable": "^1.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true } } }, "tsconfig-paths": { "version": "3.14.2", - "dev": true, + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -19495,37 +50403,87 @@ }, "tslib": { "version": "1.14.1", - "dev": true + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "tsutils": { "version": "3.21.0", - "dev": true, + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "requires": { "tslib": "^1.8.1" } }, "tty-browserify": { "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { "version": "0.4.0", - "dev": true, + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "requires": { "prelude-ls": "^1.2.1" } }, "type-detect": { "version": "4.0.8", - "dev": true + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { - "version": "0.20.2", - "dev": true + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "requires": { + "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": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "requires": { + "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": { "version": "1.0.4", - "dev": true, + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "requires": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -19534,11 +50492,22 @@ }, "typedarray": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { - "version": "5.0.4", - "dev": true + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==" }, "typical": { "version": "4.0.0", @@ -19546,11 +50515,14 @@ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" }, "ua-parser-js": { - "version": "1.0.35" + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" }, "unbox-primitive": { "version": "1.0.2", - "dev": true, + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "requires": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -19560,24 +50532,42 @@ }, "unbzip2-stream": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, "union-value": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -19588,12 +50578,16 @@ "dependencies": { "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "unique-filename": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -19601,17 +50595,40 @@ }, "unique-slug": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" } }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, "universalify": { - "version": "0.2.0", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, "unset-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -19620,6 +50637,8 @@ "dependencies": { "has-value": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -19629,6 +50648,8 @@ "dependencies": { "isobject": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -19638,34 +50659,60 @@ }, "has-values": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true } } }, "upath": { "version": "1.2.0", - "dev": true, - "optional": true + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "update-browserslist-db": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" } }, + "update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "url": { "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -19674,13 +50721,16 @@ "dependencies": { "punycode": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true } } }, "url-parse": { "version": "1.5.10", - "dev": true, + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -19688,10 +50738,14 @@ }, "use": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "util": { "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -19699,28 +50753,58 @@ "dependencies": { "inherits": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-to-istanbul": { - "version": "9.1.0", - "dev": true, + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", "requires": { - "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "dev": true - } + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" } }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, "vite": { "version": "4.4.9", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", @@ -19735,10 +50819,22 @@ }, "vm-browserify": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, "w3c-xmlserializer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { "xml-name-validator": "^4.0.0" @@ -19746,13 +50842,16 @@ }, "walker": { "version": "1.0.8", - "dev": true, + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "requires": { "makeerror": "1.0.12" } }, "watchpack": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -19760,6 +50859,8 @@ }, "watchpack-chokidar2": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -19768,6 +50869,8 @@ "dependencies": { "anymatch": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { @@ -19777,6 +50880,8 @@ "dependencies": { "normalize-path": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "optional": true, "requires": { @@ -19787,11 +50892,15 @@ }, "binary-extensions": { "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { @@ -19809,6 +50918,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -19819,6 +50930,8 @@ }, "chokidar": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { @@ -19838,6 +50951,8 @@ }, "fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "optional": true, "requires": { @@ -19849,6 +50964,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -19857,19 +50974,10 @@ } } }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, "glob-parent": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "optional": true, "requires": { @@ -19879,6 +50987,8 @@ "dependencies": { "is-glob": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "optional": true, "requires": { @@ -19889,6 +50999,8 @@ }, "is-binary-path": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "optional": true, "requires": { @@ -19897,11 +51009,15 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "optional": true }, "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "optional": true, "requires": { @@ -19910,6 +51026,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "optional": true, "requires": { @@ -19918,8 +51036,17 @@ } } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, "micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { @@ -19938,8 +51065,26 @@ "to-regex": "^3.0.2" } }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "readdirp": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { @@ -19948,8 +51093,27 @@ "readable-stream": "^2.0.2" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "optional": true, "requires": { @@ -19959,8 +51123,23 @@ } } }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, "webidl-conversions": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { @@ -19996,6 +51175,8 @@ }, "webpack-4": { "version": "npm:webpack@4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20025,6 +51206,8 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -20034,18 +51217,26 @@ }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20056,6 +51247,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -20063,6 +51256,8 @@ }, "@webassemblyjs/leb128": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -20070,10 +51265,14 @@ }, "@webassemblyjs/utf8": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20088,6 +51287,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20099,6 +51300,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20109,6 +51312,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20121,6 +51326,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -20130,10 +51337,14 @@ }, "acorn": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -20150,6 +51361,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -20157,8 +51370,16 @@ } } }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -20168,6 +51389,8 @@ "dependencies": { "memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -20178,6 +51401,8 @@ }, "eslint-scope": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -20186,6 +51411,8 @@ }, "fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -20196,6 +51423,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -20203,12 +51432,36 @@ } } }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -20216,6 +51469,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -20223,12 +51478,28 @@ } } }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "loader-runner": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -20236,8 +51507,30 @@ "json5": "^1.0.1" } }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, "micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -20255,8 +51548,70 @@ "to-regex": "^3.0.2" } }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "schema-utils": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -20264,19 +51619,46 @@ "ajv-keywords": "^3.1.0" } }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, "serialize-javascript": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "terser": { "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -20286,6 +51668,8 @@ }, "terser-webpack-plugin": { "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", @@ -20301,6 +51685,8 @@ }, "to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -20309,6 +51695,8 @@ }, "watchpack": { "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", @@ -20319,6 +51707,8 @@ }, "webpack": { "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "peer": true, "requires": { @@ -20347,45 +51737,225 @@ "webpack-sources": "^1.4.1" } }, - "webpack-sources": { - "version": "1.4.3", - "dev": true, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" } } } }, - "webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, + "webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" }, "dependencies": { - "commander": { - "version": "10.0.1", - "dev": true + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } } } }, "webpack-merge": { "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -20394,32 +51964,72 @@ }, "webpack-node-externals": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { - "version": "3.2.3" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "webpack-sources-webpack-4": { "version": "npm:webpack-sources@1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" } }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, "whatwg-encoding": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { "iconv-lite": "0.6.3" } }, + "whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" + }, "whatwg-mimetype": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { "tr46": "^3.0.0", @@ -20428,13 +52038,16 @@ }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", - "dev": true, + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -20443,9 +52056,29 @@ "is-symbol": "^1.0.3" } }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "requires": { + "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": { "version": "1.0.1", - "dev": true, + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "requires": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -20454,23 +52087,30 @@ } }, "which-typed-array": { - "version": "1.1.9", - "dev": true, + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "requires": { "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", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" + } + }, + "widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "requires": { + "string-width": "^5.0.1" } }, "wildcard": { "version": "2.0.1", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, "wordwrapjs": { @@ -20478,8 +52118,381 @@ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" }, + "workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "requires": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "requires": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, "worker-farm": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -20487,20 +52500,23 @@ }, "wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" }, "dependencies": { - "ansi-regex": { - "version": "6.0.1" - }, "ansi-styles": { - "version": "6.2.1" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, "strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -20509,6 +52525,8 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -20516,10 +52534,14 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -20529,67 +52551,89 @@ } }, "wrappy": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { - "version": "4.0.2", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "requires": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" }, "dependencies": { "signal-exit": { "version": "3.0.7", - "dev": true + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" } } }, "ws": { "version": "8.13.0", - "dev": true, + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "requires": {} }, "xml-name-validator": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", - "dev": true + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.8", - "dev": true + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yallist": { "version": "4.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { - "version": "17.7.2", - "dev": true, + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "requires": { - "cliui": "^8.0.1", + "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^4.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^20.2.2" }, "dependencies": { "emoji-regex": { "version": "8.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "string-width": { "version": "4.2.3", - "dev": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -20599,11 +52643,14 @@ } }, "yargs-parser": { - "version": "21.1.1", - "dev": true + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, "yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -20612,24 +52659,17 @@ }, "yocto-queue": { "version": "0.1.0", - "dev": true + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, "zip-stream": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } } } diff --git a/package.json b/package.json index c9106806..edf79d29 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "workspaces": [ "packages/*", "tools/*", - "examples/*" + "examples/**/*" ], "repository": { "type": "git", diff --git a/packages/browser/package.json b/packages/browser/package.json index 9dae8b95..ff997d8e 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -42,13 +42,12 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "ts-jest": "^29.1.0", - "typescript": "^5.0.4", "ts-loader": "^9.4.3", + "typescript": "^5.0.4", "webpack": "^5.87.0", "webpack-cli": "^5.1.4" }, "dependencies": { - "ua-parser-js": "^1.0.35", - "@backtrace/sdk-core": "^0.0.1" + "ua-parser-js": "^1.0.35" } } diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 41a6c59d..967f0fd6 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -16,19 +16,18 @@ import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStack import { getEngine } from '../engineDetector'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - protected readonly breadcrumbsEventSubscribers = [ - new WebRequestEventSubscriber(), - new DocumentEventSubscriber(), - new HistoryEventSubscriber(), - ]; constructor(protected readonly options: BacktraceConfiguration) { - super(new BacktraceBrowserRequestHandler(options), [ - new UserAgentAttributeProvider(), - new WebsiteAttributeProvider(), - new WindowAttributeProvider(), - new UserIdentifierAttributeProvider(options), - new ApplicationInformationAttributeProvider(options), - ]); + super( + new BacktraceBrowserRequestHandler(options), + [ + new UserAgentAttributeProvider(), + new WebsiteAttributeProvider(), + new WindowAttributeProvider(), + new UserIdentifierAttributeProvider(options), + new ApplicationInformationAttributeProvider(options), + ], + [new WebRequestEventSubscriber(), new DocumentEventSubscriber(), new HistoryEventSubscriber()], + ); } public build(): BacktraceClient { @@ -37,7 +36,7 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder=16.8.0" - }, - "dependencies": { - "@backtrace/browser": "^0.0.1" } } diff --git a/packages/react/src/builder/BacktraceReactClientBuilder.ts b/packages/react/src/builder/BacktraceReactClientBuilder.ts index d9295a5b..f1d3dda2 100644 --- a/packages/react/src/builder/BacktraceReactClientBuilder.ts +++ b/packages/react/src/builder/BacktraceReactClientBuilder.ts @@ -9,7 +9,7 @@ export class BacktraceReactClientBuilder extends BacktraceClientBuilder { this.handler, this.attributeProviders, new ReactStackTraceConverter(this.generateStackTraceConverter()), - this.breadcrumbsEventSubscribers, + this.breadcrumbSubscribers, ); } } diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 1263636a..d2e8fc3b 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,3 +1,3 @@ export * from '@backtrace/browser'; -export * from './ErrorBoundary'; export { BacktraceClient } from './BacktraceClient'; +export * from './ErrorBoundary'; diff --git a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts index 5909f436..71a6e068 100644 --- a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts +++ b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts @@ -1,12 +1,19 @@ import { BacktraceCoreClient } from '../BacktraceCoreClient'; import { BacktraceRequestHandler } from '../model/http/BacktraceRequestHandler'; import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttributeProvider'; +import { BreadcrumbsEventSubscriber } from '../modules/breadcrumbs'; export abstract class BacktraceCoreClientBuilder { constructor( protected handler: BacktraceRequestHandler, protected readonly attributeProviders: BacktraceAttributeProvider[] = [], + protected readonly breadcrumbSubscribers: BreadcrumbsEventSubscriber[] = [], ) {} + + public useBreadcrumbSubscriber(breadcrumbSubscriber: BreadcrumbsEventSubscriber) { + this.breadcrumbSubscribers.push(breadcrumbSubscriber); + } + public useRequestHandler(handler: BacktraceRequestHandler): BacktraceCoreClientBuilder { this.handler = handler; return this; diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 7e167a99..6efe03be 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -6,7 +6,7 @@ export * from './common/jsonEscaper'; export * from './model/attachment'; export * from './model/configuration/BacktraceConfiguration'; export * from './model/configuration/BacktraceDatabaseConfiguration'; -export * from './model/data/BacktraceData'; +export * from './model/data/'; export * from './model/http'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; diff --git a/packages/sdk-core/src/model/data/index.ts b/packages/sdk-core/src/model/data/index.ts new file mode 100644 index 00000000..850c5703 --- /dev/null +++ b/packages/sdk-core/src/model/data/index.ts @@ -0,0 +1,3 @@ +export * from './BacktraceData'; +export * from './BacktraceStackTrace'; +export * from './JavaScriptEngine'; From 84010a7805b2787796b161f555fa8702cc9b3db2 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 18 Aug 2023 23:45:34 +0200 Subject: [PATCH 111/291] Breadcrumb interceptor (#82) Co-authored-by: kdysput --- packages/browser/src/index.ts | 1 + packages/node/src/index.ts | 1 + .../configuration/BacktraceConfiguration.ts | 7 +++++ .../modules/breadcrumbs/BreadcrumbsManager.ts | 25 +++++++++++++++--- .../sdk-core/src/modules/breadcrumbs/index.ts | 1 + .../breadcrumbs/model/RawBreadcrumb.ts | 10 +++++++ .../breadcrumbs/storage/BreadcrumbsStorage.ts | 16 +++--------- .../storage/InMemoryBreadcrumbsStorage.ts | 19 +++++--------- .../breadcrumbsCreationTests.spec.ts | 2 +- .../breadcrumbsInterceptorTests.spec.ts | 26 +++++++++++++++++++ 10 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 packages/sdk-core/src/modules/breadcrumbs/model/RawBreadcrumb.ts create mode 100644 packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 80c8cf70..d757a836 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -12,6 +12,7 @@ export { BreadcrumbsManager, BreadcrumbType, JavaScriptEngine, + RawBreadcrumb, } from '@backtrace/sdk-core'; export * from './agentDefinition'; export * from './BacktraceClient'; diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 238b08f1..edf5189c 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -9,6 +9,7 @@ export { BreadcrumbsEventSubscriber, BreadcrumbsManager, BreadcrumbType, + RawBreadcrumb, } from '@backtrace/sdk-core'; export * from './attachment'; export * from './BacktraceClient'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index 5f479b7c..a5adba89 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -1,4 +1,5 @@ import { BreadcrumbLogLevel, BreadcrumbType } from '../../modules/breadcrumbs'; +import { RawBreadcrumb } from '../../modules/breadcrumbs/model/RawBreadcrumb'; import { BacktraceAttachment } from '../attachment'; import { BacktraceData } from '../data/BacktraceData'; import { BacktraceReport } from '../report/BacktraceReport'; @@ -48,6 +49,12 @@ export interface BacktraceBreadcrumbsSettings { * wil be stored. */ maximumBreadcrumbs?: number; + + /** + * Inspects breadcrumb and allows to modify it. If the undefined value is being + * returned from the method, no breadcrumb will be added to the breadcrumb storage. + */ + intercept?: (breadcrumb: RawBreadcrumb) => RawBreadcrumb | undefined; } export interface BacktraceConfiguration { diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts index 8aee22a6..fd48f632 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts @@ -11,6 +11,7 @@ import { BacktraceReport } from '../../model/report/BacktraceReport'; import { BreadcrumbsSetup } from './BreadcrumbsSetup'; import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; import { ConsoleEventSubscriber } from './events/ConsoleEventSubscriber'; +import { RawBreadcrumb } from './model/RawBreadcrumb'; import { BreadcrumbsStorage } from './storage/BreadcrumbsStorage'; import { InMemoryBreadcrumbsStorage } from './storage/InMemoryBreadcrumbsStorage'; @@ -37,12 +38,16 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs { * Determines if the breadcrumb manager is enabled. */ private _enabled = true; + private readonly _eventSubscribers: BreadcrumbsEventSubscriber[] = [new ConsoleEventSubscriber()]; + private readonly _interceptor?: (breadcrumb: RawBreadcrumb) => RawBreadcrumb | undefined; + constructor(configuration?: BacktraceBreadcrumbsSettings, options?: BreadcrumbsSetup) { this.breadcrumbsType = configuration?.eventType ?? defaultBreadcurmbType; this.logLevel = configuration?.logLevel ?? defaultBreadcrumbsLogLevel; this.breadcrumbsStorage = options?.storage ?? new InMemoryBreadcrumbsStorage(configuration?.maximumBreadcrumbs); + this._interceptor = configuration?.intercept; if (options?.subscribers) { this._eventSubscribers.push(...options.subscribers); } @@ -104,15 +109,29 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs { if (!this._enabled) { return false; } - if ((this.logLevel & level) !== level) { + let rawBreadcrumb: RawBreadcrumb = { + message, + level, + type, + attributes, + }; + if (this._interceptor) { + const interceptorBreadcrumb = this._interceptor(rawBreadcrumb); + if (!interceptorBreadcrumb) { + return false; + } + rawBreadcrumb = interceptorBreadcrumb; + } + + if ((this.logLevel & rawBreadcrumb.level) !== level) { return false; } - if ((this.breadcrumbsType & type) !== type) { + if ((this.breadcrumbsType & rawBreadcrumb.type) !== type) { return false; } - this.breadcrumbsStorage.add(message, level, type, attributes); + this.breadcrumbsStorage.add(rawBreadcrumb); return true; } } diff --git a/packages/sdk-core/src/modules/breadcrumbs/index.ts b/packages/sdk-core/src/modules/breadcrumbs/index.ts index 376dee6c..21c86c6b 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/index.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/index.ts @@ -4,4 +4,5 @@ export * from './BreadcrumbsSetup'; export * from './events/BreadcrurmbsEventSubscriber'; export * from './model/BreadcrumbLogLevel'; export * from './model/BreadcrumbType'; +export * from './model/RawBreadcrumb'; export * from './storage/BreadcrumbsStorage'; diff --git a/packages/sdk-core/src/modules/breadcrumbs/model/RawBreadcrumb.ts b/packages/sdk-core/src/modules/breadcrumbs/model/RawBreadcrumb.ts new file mode 100644 index 00000000..5a88a044 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/model/RawBreadcrumb.ts @@ -0,0 +1,10 @@ +import { AttributeType } from '../../../model/data'; +import { BreadcrumbLogLevel } from './BreadcrumbLogLevel'; +import { BreadcrumbType } from './BreadcrumbType'; + +export interface RawBreadcrumb { + message: string; + level: BreadcrumbLogLevel; + type: BreadcrumbType; + attributes?: Record; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts index da48af8b..08af8b2d 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts @@ -1,7 +1,5 @@ import { BacktraceAttachment } from '../../../model/attachment'; -import { AttributeType } from '../../../model/data/BacktraceData'; -import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; -import { BreadcrumbType } from '../model/BreadcrumbType'; +import { RawBreadcrumb } from '../model/RawBreadcrumb'; export interface BreadcrumbsStorage extends BacktraceAttachment { /** @@ -11,15 +9,7 @@ export interface BreadcrumbsStorage extends BacktraceAttachment { /** * Adds breadcrumb to the storage - * @param message message - * @param level log level - * @param type type - * @param attributes attributes + * @param rawBreadcrumb breadcrumb data */ - add( - message: string, - level: BreadcrumbLogLevel, - type: BreadcrumbType, - attributes?: Record, - ): number; + add(rawBreadcrumb: RawBreadcrumb): number; } diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts index 79fcaf97..00ffc248 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts @@ -1,10 +1,10 @@ import { jsonEscaper } from '../../../common/jsonEscaper'; import { TimeHelper } from '../../../common/TimeHelper'; import { OverwritingArray } from '../../../dataStructures/OverwritingArray'; -import { AttributeType } from '../../../model/data/BacktraceData'; import { Breadcrumb } from '../model/Breadcrumb'; import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; import { BreadcrumbType } from '../model/BreadcrumbType'; +import { RawBreadcrumb } from '../model/RawBreadcrumb'; import { BreadcrumbsStorage } from './BreadcrumbsStorage'; export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { @@ -31,24 +31,19 @@ export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { return JSON.stringify([...this._breadcrumbs.values()], jsonEscaper()); } - public add( - message: string, - level: BreadcrumbLogLevel, - type: BreadcrumbType, - attributes?: Record | undefined, - ): number { + public add(rawBreadcrumb: RawBreadcrumb): number { this._lastBreadcrumbId++; const id = this._lastBreadcrumbId; const breadcrumb: Breadcrumb = { id, - message, + message: rawBreadcrumb.message, timestamp: TimeHelper.now(), - type: BreadcrumbType[type].toLowerCase(), - level: BreadcrumbLogLevel[level].toLowerCase(), + type: BreadcrumbType[rawBreadcrumb.type].toLowerCase(), + level: BreadcrumbLogLevel[rawBreadcrumb.level].toLowerCase(), }; - if (attributes) { - breadcrumb.attributes = attributes; + if (rawBreadcrumb.attributes) { + breadcrumb.attributes = rawBreadcrumb.attributes; } this._breadcrumbs.add(breadcrumb); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts index d64694b9..e4db82c6 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts @@ -2,7 +2,7 @@ import { BreadcrumbLogLevel, BreadcrumbType } from '../../lib/modules/breadcrumb import { BreadcrumbsManager } from '../../lib/modules/breadcrumbs/BreadcrumbsManager'; describe('Breadcrumbs creation tests', () => { - describe('Last breadcrumb id attribute should be equal to last bredcrumb id in the array', () => { + it('Last breadcrumb id attribute should be equal to last bredcrumb id in the array', () => { const breadcrumbsManager = new BreadcrumbsManager(); breadcrumbsManager.info('test'); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts new file mode 100644 index 00000000..0e3a25b1 --- /dev/null +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts @@ -0,0 +1,26 @@ +import { BreadcrumbsManager } from '../../src/modules/breadcrumbs/BreadcrumbsManager'; +import { Breadcrumb } from '../../src/modules/breadcrumbs/model/Breadcrumb'; +describe('Breadcrumbs interceptor tests', () => { + it('Should filter out the breadcrumb', () => { + const breadcrumbsManager = new BreadcrumbsManager({ + intercept: () => undefined, + }); + breadcrumbsManager.info('test'); + const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string) as Breadcrumb[]; + expect(breadcrumbs.length).toBe(0); + }); + + it('Should remove pii information from breadcrumb', () => { + const expectedBreadcrumbMessage = 'bar'; + const breadcrumbsManager = new BreadcrumbsManager({ + intercept: (breadcrumb) => { + breadcrumb.message = expectedBreadcrumbMessage; + return breadcrumb; + }, + }); + breadcrumbsManager.info('test'); + + const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string) as Breadcrumb[]; + expect(breadcrumb.message).toEqual(expectedBreadcrumbMessage); + }); +}); From 9a79a9556e4870e89de814688c83bf75f18b3f22 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri, 18 Aug 2023 17:56:36 -0400 Subject: [PATCH 112/291] Feature/react redux middleware (#74) * Adding a backtrace middleware for redux that saves a breadcrumb when an action is dispatched * Adding tests * Updating redux imports to just import the type * Removing test for breadcrumbs when disabled. The updates to allow for one client breaks it and I don't really need to test it here. * Disabling unused variable linting errors --------- Co-authored-by: Adam Cronin --- package-lock.json | 71738 +++++++--------- packages/browser/package.json | 1 + .../src/redux/BacktraceReduxMiddleware.ts | 33 + .../backtraceReduxMiddlewareTests.spec.ts | 192 + 4 files changed, 33391 insertions(+), 38573 deletions(-) create mode 100644 packages/browser/src/redux/BacktraceReduxMiddleware.ts create mode 100644 packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts diff --git a/package-lock.json b/package-lock.json index 074e0724..c742540f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,1535 +41,1604 @@ "webpack-cli": "^5.1.4" } }, - "examples/sdk/node": { - "name": "@backtrace/node-example", - "version": "1.0.0", + "examples/sdk/browser/node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true, "license": "MIT", - "devDependencies": { - "typescript": "^5.1.3" - }, "engines": { - "node": ">=14" + "node": ">=10.0.0" } }, - "examples/sdk/react": { - "name": "@backtrace/react-example", - "version": "0.1.0", + "examples/sdk/browser/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "license": "MIT", "dependencies": { - "@types/react": "^16.14.0", - "@types/react-dom": "^18.2.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "react-toastify": "^9.1.3", - "typescript": "^4.9.5", - "web-vitals": "^2.1.4" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, - "devDependencies": { - "serve": "^14.2.0" + "engines": { + "node": ">=6.0.0" } }, - "examples/sdk/react/node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, + "examples/sdk/browser/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.0.0" } }, - "examples/sdk/react/node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/browser/node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "examples/sdk/react/node_modules/@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "examples/sdk/browser/node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "examples/sdk/browser/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "examples/sdk/browser/node_modules/@types/eslint": { + "version": "8.44.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "examples/sdk/browser/node_modules/@types/eslint-scope": { + "version": "3.7.4", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@types/eslint": "*", + "@types/estree": "*" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" + "examples/sdk/browser/node_modules/@types/estree": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@types/json-schema": { + "version": "7.0.12", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@types/node": { + "version": "20.5.0", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "examples/sdk/browser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "dev": true, + "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "examples/sdk/browser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "examples/sdk/react/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "examples/sdk/browser/node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@xtuc/ieee754": "^1.2.0" } }, - "examples/sdk/react/node_modules/@jest/types": { - "version": "27.5.1", + "examples/sdk/browser/node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "examples/sdk/browser/node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "examples/sdk/react/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/browser/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "dev": true, + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "examples/sdk/react/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "examples/sdk/browser/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "examples/sdk/react/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "examples/sdk/browser/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "examples/sdk/browser/node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "examples/sdk/browser/node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.15.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "examples/sdk/react/node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "examples/sdk/browser/node_modules/@webpack-cli/info": { + "version": "2.0.2", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "examples/sdk/react/node_modules/jest": { - "version": "27.5.1", + "examples/sdk/browser/node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "dev": true, "license": "MIT", - "dependencies": { - "@jest/core": "^29.6.2", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" - }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=14.15.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" }, "peerDependenciesMeta": { - "node-notifier": { + "webpack-dev-server": { "optional": true } } }, - "examples/sdk/react/node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dependencies": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, + "examples/sdk/browser/node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "examples/sdk/browser/node_modules/@xtuc/long": { + "version": "4.2.2", + "dev": true, + "license": "Apache-2.0" + }, + "examples/sdk/browser/node_modules/acorn": { + "version": "8.10.0", + "dev": true, + "license": "MIT", "bin": { - "jest": "bin/jest.js" + "acorn": "bin/acorn" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, + "node": ">=0.4.0" + } + }, + "examples/sdk/browser/node_modules/acorn-import-assertions": { + "version": "1.9.0", + "dev": true, + "license": "MIT", "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "acorn": "^8" + } + }, + "examples/sdk/browser/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "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" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "examples/sdk/react/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "examples/sdk/browser/node_modules/ajv-keywords": { + "version": "3.5.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "examples/sdk/browser/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/browser/node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/browser/node_modules/browserslist": { + "version": "4.21.10", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead": { - "version": "1.1.0", + "examples/sdk/browser/node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/caniuse-lite": { + "version": "1.0.30001521", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "examples/sdk/browser/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, - "peerDependencies": { - "jest": "^27.0.0 || ^28.0.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "examples/sdk/react/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/browser/node_modules/chrome-trace-event": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "examples/sdk/browser/node_modules/clone-deep": { + "version": "4.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/pretty-format/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/browser/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "examples/sdk/react/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "examples/sdk/browser/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "examples/sdk/react/node_modules/react-scripts": { - "version": "5.0.1", + "examples/sdk/browser/node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - }, - "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 8" } }, - "examples/sdk/react/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "examples/sdk/browser/node_modules/electron-to-chromium": { + "version": "1.4.495", + "dev": true, + "license": "ISC" + }, + "examples/sdk/browser/node_modules/enhanced-resolve": { + "version": "5.15.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=10.13.0" } }, - "examples/sdk/react/node_modules/typescript": { - "version": "4.9.5", - "license": "Apache-2.0", + "examples/sdk/browser/node_modules/envinfo": { + "version": "7.10.0", + "dev": true, + "license": "MIT", "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=4.2.0" + "node": ">=4" } }, - "node_modules/@75lb/deep-merge": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "examples/sdk/browser/node_modules/es-module-lexer": { + "version": "1.3.0", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "examples/sdk/browser/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=12.17" + "node": ">=8.0.0" } }, - "node_modules/@75lb/deep-merge/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "examples/sdk/browser/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=12.17" + "node": ">=4.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "examples/sdk/browser/node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "examples/sdk/browser/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, + "examples/sdk/browser/node_modules/events": { + "version": "3.3.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=0.8.x" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "dependencies": { - "@babel/highlight": "^7.22.10", - "chalk": "^2.4.2" - }, + "examples/sdk/browser/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">= 4.9.1" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "examples/sdk/browser/node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "examples/sdk/browser/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" + "node": ">=8" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "examples/sdk/browser/node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT" }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } + "examples/sdk/browser/node_modules/glob-to-regexp": { + "version": "0.4.1", + "dev": true, + "license": "BSD-2-Clause" }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } + "examples/sdk/browser/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "examples/sdk/browser/node_modules/has": { + "version": "1.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=4" + "node": ">= 0.4.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "examples/sdk/browser/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "examples/sdk/browser/node_modules/import-local": { + "version": "3.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, + "examples/sdk/browser/node_modules/interpret": { + "version": "3.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node": ">=10.13.0" } }, - "node_modules/@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "examples/sdk/browser/node_modules/is-core-module": { + "version": "2.13.0", + "dev": true, + "license": "MIT", "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + "has": "^1.0.3" }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "examples/sdk/browser/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node": ">=0.12.0" } }, - "node_modules/@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "examples/sdk/browser/node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.10", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "isobject": "^3.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dependencies": { - "@babel/types": "^7.22.5" - }, + "examples/sdk/browser/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "examples/sdk/browser/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", - "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", + "examples/sdk/browser/node_modules/jest-worker": { + "version": "27.5.1", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.10" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.13.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "examples/sdk/browser/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } + "examples/sdk/browser/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "examples/sdk/browser/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "examples/sdk/browser/node_modules/loader-runner": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", + "examples/sdk/browser/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "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.5", - "@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" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node": ">=8" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "examples/sdk/browser/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=10" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "examples/sdk/browser/node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "examples/sdk/browser/node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", "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" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "engines": { - "node": ">=6.9.0" + "node": ">=8.6" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "examples/sdk/browser/node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">= 0.6" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "examples/sdk/browser/node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "mime-db": "1.52.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.6" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "examples/sdk/browser/node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/node-releases": { + "version": "2.0.13", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "p-try": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "examples/sdk/browser/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - }, + "examples/sdk/browser/node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=6" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, + "examples/sdk/browser/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "examples/sdk/browser/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" - }, + "examples/sdk/browser/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "examples/sdk/browser/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8.6" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "examples/sdk/browser/node_modules/pkg-dir": { + "version": "4.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" + "find-up": "^4.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=8" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dependencies": { - "@babel/types": "^7.22.5" - }, + "examples/sdk/browser/node_modules/punycode": { + "version": "2.3.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "examples/sdk/browser/node_modules/randombytes": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "examples/sdk/browser/node_modules/rechoir": { + "version": "0.8.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "resolve": "^1.20.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.13.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "engines": { - "node": ">=6.9.0" + "examples/sdk/browser/node_modules/resolve": { + "version": "1.22.4", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "examples/sdk/browser/node_modules/resolve-cwd": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "examples/sdk/browser/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", - "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", + "examples/sdk/browser/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "examples/sdk/browser/node_modules/schema-utils": { + "version": "3.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.10" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "examples/sdk/browser/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "examples/sdk/browser/node_modules/serialize-javascript": { + "version": "6.0.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" + "randombytes": "^2.1.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "examples/sdk/browser/node_modules/shallow-clone": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "kind-of": "^6.0.2" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "examples/sdk/browser/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" + "examples/sdk/browser/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "examples/sdk/browser/node_modules/source-map-support": { + "version": "0.5.21", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "examples/sdk/browser/node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "examples/sdk/browser/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" + "examples/sdk/browser/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "examples/sdk/browser/node_modules/tapable": { + "version": "2.2.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "examples/sdk/browser/node_modules/terser": { + "version": "5.19.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, "bin": { - "parser": "bin/babel-parser.js" + "terser": "bin/terser" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "examples/sdk/browser/node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "examples/sdk/browser/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "is-number": "^7.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" + "node": ">=8.0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "examples/sdk/browser/node_modules/ts-loader": { + "version": "9.4.4", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=12.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "typescript": "*", + "webpack": "^5.0.0" } }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.10.tgz", - "integrity": "sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@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" + "examples/sdk/browser/node_modules/typescript": { + "version": "5.1.6", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.17" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "examples/sdk/browser/node_modules/update-browserslist-db": { + "version": "1.0.11", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "update-browserslist-db": "cli.js" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "browserslist": ">= 4.21.0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "examples/sdk/browser/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "punycode": "^2.1.0" + } + }, + "examples/sdk/browser/node_modules/watchpack": { + "version": "2.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10.13.0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "examples/sdk/browser/node_modules/webpack": { + "version": "5.88.2", + "dev": true, + "license": "MIT", "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" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=10.13.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "examples/sdk/browser/node_modules/webpack-cli": { + "version": "5.1.4", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "examples/sdk/browser/node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "examples/sdk/browser/node_modules/webpack-merge": { + "version": "5.9.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "examples/sdk/browser/node_modules/webpack-sources": { + "version": "3.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "examples/sdk/browser/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "isexe": "^2.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "examples/sdk/browser/node_modules/wildcard": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "examples/sdk/browser/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "examples/sdk/node": { + "name": "@backtrace/node-example", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "typescript": "^5.1.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14" } }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", - "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "examples/sdk/node/node_modules/typescript": { + "version": "5.1.6", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.17" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "examples/sdk/react": { + "name": "@backtrace/react-example", + "version": "0.1.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "devDependencies": { + "serve": "^14.2.0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "examples/sdk/react/node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "examples/sdk/react/node_modules/@ampproject/remapping": { + "version": "2.2.1", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { + "examples/sdk/react/node_modules/@babel/code-frame": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { + "examples/sdk/react/node_modules/@babel/compat-data": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "examples/sdk/react/node_modules/@babel/core": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "examples/sdk/react/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "examples/sdk/react/node_modules/@babel/eslint-parser": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "examples/sdk/react/node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "license": "Apache-2.0", + "engines": { + "node": ">=10" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "examples/sdk/react/node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "examples/sdk/react/node_modules/@babel/generator": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "examples/sdk/react/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "examples/sdk/react/node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { + "examples/sdk/react/node_modules/@babel/helper-compilation-targets": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "examples/sdk/react/node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "examples/sdk/react/node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@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.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -1578,338 +1647,271 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { + "examples/sdk/react/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "examples/sdk/react/node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" + } + }, + "examples/sdk/react/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", - "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", + "examples/sdk/react/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0-0" + } + }, + "examples/sdk/react/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { + "examples/sdk/react/node_modules/@babel/helper-environment-visitor": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "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" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { + "examples/sdk/react/node_modules/@babel/helper-function-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", - "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", + "examples/sdk/react/node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-properties": { + "examples/sdk/react/node_modules/@babel/helper-member-expression-to-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-static-block": { + "examples/sdk/react/node_modules/@babel/helper-module-imports": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "examples/sdk/react/node_modules/@babel/helper-module-transforms": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", "@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.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "examples/sdk/react/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { + "examples/sdk/react/node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", - "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", + "examples/sdk/react/node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { + "examples/sdk/react/node_modules/@babel/helper-replace-supers": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { + "examples/sdk/react/node_modules/@babel/helper-simple-access": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { + "examples/sdk/react/node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { + "examples/sdk/react/node_modules/@babel/helper-split-export-declaration": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { + "examples/sdk/react/node_modules/@babel/helper-string-parser": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-flow-strip-types": { + "examples/sdk/react/node_modules/@babel/helper-validator-identifier": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { + "examples/sdk/react/node_modules/@babel/helper-validator-option": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { + "examples/sdk/react/node_modules/@babel/helper-wrap-function": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-json-strings": { + "examples/sdk/react/node_modules/@babel/helpers": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { + "examples/sdk/react/node_modules/@babel/highlight": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "examples/sdk/react/node_modules/@babel/parser": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { + "examples/sdk/react/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1917,32 +1919,30 @@ "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { + "examples/sdk/react/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "examples/sdk/react/node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1951,15 +1951,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { + "examples/sdk/react/node_modules/@babel/plugin-proposal-decorators": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1968,13 +1968,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "examples/sdk/react/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1983,27 +1982,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "examples/sdk/react/node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "examples/sdk/react/node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2012,13 +2011,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "examples/sdk/react/node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -2027,14 +2025,9 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, + "examples/sdk/react/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -2042,76 +2035,55 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "examples/sdk/react/node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", - "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -2120,12 +2092,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-methods": { + "examples/sdk/react/node_modules/@babel/plugin-syntax-decorators": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -2135,41 +2105,29 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-constant-elements": { + "examples/sdk/react/node_modules/@babel/plugin-syntax-flow": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -2180,10 +2138,9 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-display-name": { + "examples/sdk/react/node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -2194,16 +2151,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx": { + "examples/sdk/react/node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2212,42 +2164,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2256,53 +2197,71 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", - "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@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" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "examples/sdk/react/node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "examples/sdk/react/node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "examples/sdk/react/node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "examples/sdk/react/node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -2311,13 +2270,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -2326,10 +2283,9 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { + "examples/sdk/react/node_modules/@babel/plugin-syntax-typescript": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -2340,24 +2296,23 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "examples/sdk/react/node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { + "examples/sdk/react/node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -2368,15 +2323,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", - "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", + "examples/sdk/react/node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -2385,12 +2339,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "examples/sdk/react/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2399,12 +2354,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { + "examples/sdk/react/node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -2414,12 +2367,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { + "examples/sdk/react/node_modules/@babel/plugin-transform-block-scoping": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -2429,146 +2380,62 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "examples/sdk/react/node_modules/@babel/plugin-transform-class-properties": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", - "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", + "examples/sdk/react/node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.10", - "@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.10", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.10", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.10", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@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.10", - "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/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-classes": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-react": { + "examples/sdk/react/node_modules/@babel/plugin-transform-computed-properties": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + "@babel/template": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2577,16 +2444,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-typescript": { + "examples/sdk/react/node_modules/@babel/plugin-transform-destructuring": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2595,2203 +2457,1526 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "node_modules/@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "examples/sdk/react/node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.14.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { + "examples/sdk/react/node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "examples/sdk/react/node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@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.10", - "@babel/types": "^7.22.10", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "examples/sdk/react/node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@backtrace/browser": { - "resolved": "packages/browser", - "link": true - }, - "node_modules/@backtrace/browser-example": { - "resolved": "examples/sdk/browser", - "link": true - }, - "node_modules/@backtrace/javascript-cli": { - "resolved": "tools/cli", - "link": true - }, - "node_modules/@backtrace/node": { - "resolved": "packages/node", - "link": true - }, - "node_modules/@backtrace/node-example": { - "resolved": "examples/sdk/node", - "link": true - }, - "node_modules/@backtrace/react": { - "resolved": "packages/react", - "link": true - }, - "node_modules/@backtrace/react-example": { - "resolved": "examples/sdk/react", - "link": true - }, - "node_modules/@backtrace/rollup-plugin": { - "resolved": "tools/rollup-plugin", - "link": true - }, - "node_modules/@backtrace/sdk-core": { - "resolved": "packages/sdk-core", - "link": true - }, - "node_modules/@backtrace/sourcemap-tools": { - "resolved": "tools/sourcemap-tools", - "link": true - }, - "node_modules/@backtrace/vite-plugin": { - "resolved": "tools/vite-plugin", - "link": true - }, - "node_modules/@backtrace/webpack-plugin": { - "resolved": "tools/webpack-plugin", - "link": true - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "node_modules/@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "examples/sdk/react/node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "examples/sdk/react/node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "examples/sdk/react/node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "examples/sdk/react/node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "examples/sdk/react/node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "examples/sdk/react/node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.3" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "examples/sdk/react/node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "examples/sdk/react/node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "examples/sdk/react/node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0" } }, - "node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "engines": { - "node": "^12 || ^14 || >=16" + "examples/sdk/react/node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "engines": { - "node": "^14 || ^16 || >=18" + "examples/sdk/react/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "postcss-selector-parser": "^6.0.10" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, "engines": { - "node": ">=10.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "examples/sdk/react/node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "license": "MIT", "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" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "examples/sdk/react/node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "examples/sdk/react/node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "examples/sdk/react/node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "examples/sdk/react/node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "examples/sdk/react/node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "node": ">=6.9.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "examples/sdk/react/node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "examples/sdk/react/node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "examples/sdk/react/node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" + "node": ">=6.9.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" + "@babel/plugin-transform-react-jsx": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core/node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" + "node": ">=6.9.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "examples/sdk/react/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@jest/core/node_modules/@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/core/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@jest/core/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" + "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/core/node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/core/node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, + "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jest/core/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "examples/sdk/react/node_modules/@babel/preset-env": { + "version": "7.22.5", + "license": "MIT", "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" + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@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.5", + "@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.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" }, "engines": { - "node": "*" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "examples/sdk/react/node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@jest/core/node_modules/jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/preset-modules": { + "version": "0.1.5", + "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/preset-react": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, + "examples/sdk/react/node_modules/@babel/preset-typescript": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, + "examples/sdk/react/node_modules/@babel/regjsgen": { + "version": "0.8.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@babel/runtime": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" + "regenerator-runtime": "^0.13.11" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jest/core/node_modules/jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, + "examples/sdk/react/node_modules/@babel/template": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jest/core/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, + "examples/sdk/react/node_modules/@babel/traverse": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=6.9.0" } }, - "node_modules/@jest/core/node_modules/jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, + "examples/sdk/react/node_modules/@babel/types": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jest/core/node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "examples/sdk/react/node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "license": "CC0-1.0" + }, + "examples/sdk/react/node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "license": "CC0-1.0", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "license": "CC0-1.0", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "license": "CC0-1.0", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "license": "CC0-1.0", "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "license": "CC0-1.0", "dependencies": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "license": "CC0-1.0", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "license": "CC0-1.0", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "license": "CC0-1.0", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "license": "CC0-1.0", "dependencies": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/@jest/core/node_modules/jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "license": "CC0-1.0", "dependencies": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "license": "CC0-1.0", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "license": "CC0-1.0", "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "license": "CC0-1.0", "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/@jest/core/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/@jest/core/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, + "examples/sdk/react/node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "license": "CC0-1.0", "engines": { - "node": ">=8" + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" } }, - "node_modules/@jest/core/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "examples/sdk/react/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@jest/core/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "examples/sdk/react/node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@jest/core/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, + "examples/sdk/react/node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@jest/core/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } + "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, + "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/core/node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, + "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=10.12.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@jest/core/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, + "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, + "examples/sdk/react/node_modules/@eslint/js": { + "version": "8.43.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@jest/environment/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "license": "Apache-2.0", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" + "node": ">=10.10.0" } }, - "node_modules/@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", - "dev": true, - "dependencies": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" - }, + "examples/sdk/react/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "license": "Apache-2.0", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", - "dev": true, + "examples/sdk/react/node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "license": "BSD-3-Clause" + }, + "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "license": "ISC", "dependencies": { - "jest-get-type": "^29.4.3" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/expect/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, + "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/@jest/expect/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, + "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/expect/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@jest/expect/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/@jest/expect/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/expect/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, + "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "p-try": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/expect/node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "p-limit": "^2.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/expect/node_modules/jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" - }, + "examples/sdk/react/node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/expect/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "examples/sdk/react/node_modules/@jest/console": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/expect/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "examples/sdk/react/node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "color-convert": "^2.0.1" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/@jest/expect/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/expect/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, + "examples/sdk/react/node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/expect/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, + "examples/sdk/react/node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=7.0.0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "examples/sdk/react/node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/@jest/fake-timers/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, + "examples/sdk/react/node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/@jest/fake-timers/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/fake-timers/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/@jest/fake-timers/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/fake-timers/node_modules/jest-message-util": { + "examples/sdk/react/node_modules/@jest/core": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "rimraf": "^3.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "strip-ansi": "^6.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@jest/fake-timers/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "color-convert": "^2.0.1" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/@jest/fake-timers/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/globals/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/globals/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/globals/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/globals/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/globals/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "examples/sdk/react/node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/@jest/globals/node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, + "examples/sdk/react/node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/@jest/globals/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "examples/sdk/react/node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/@jest/globals/node_modules/jest-matcher-utils": { + "examples/sdk/react/node_modules/@jest/environment": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/globals/node_modules/jest-message-util": { + "examples/sdk/react/node_modules/@jest/fake-timers": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/globals/node_modules/pretty-format": { + "examples/sdk/react/node_modules/@jest/globals": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/globals/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/@jest/globals/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters": { + "examples/sdk/react/node_modules/@jest/reporters": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -4831,190 +4016,74 @@ } } }, - "node_modules/@jest/reporters/node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "examples/sdk/react/node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "examples/sdk/react/node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/@jest/reporters/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } + "examples/sdk/react/node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/@jest/reporters/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/@jest/reporters/node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "examples/sdk/react/node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jest/reporters/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/@jest/reporters/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/schemas": { + "examples/sdk/react/node_modules/@jest/schemas": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -5022,10 +4091,9 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@jest/source-map": { + "examples/sdk/react/node_modules/@jest/source-map": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -5035,32 +4103,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/source-map/node_modules/source-map": { + "examples/sdk/react/node_modules/@jest/source-map/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "examples/sdk/react/node_modules/@jest/test-result": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/test-sequencer": { + "examples/sdk/react/node_modules/@jest/test-sequencer": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -5071,168 +4136,98 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/test-sequencer/node_modules/@jest/console": { + "examples/sdk/react/node_modules/@jest/transform": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", "dependencies": { + "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", - "@types/node": "*", + "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/test-sequencer/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "color-convert": "^2.0.1" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/test-sequencer/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" - } - }, - "node_modules/@jest/test-sequencer/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "examples/sdk/react/node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "node": ">=10" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/test-sequencer/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/@jest/test-sequencer/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "examples/sdk/react/node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/@jest/test-sequencer/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "examples/sdk/react/node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "examples/sdk/react/node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/@jest/types": { + "examples/sdk/react/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -5244,74 +4239,67 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/transform/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/transform/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "color-convert": "^2.0.1" + }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "examples/sdk/react/node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "examples/sdk/react/node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@jest/schemas": "^28.1.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" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/gen-mapping": { + "examples/sdk/react/node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -5321,62 +4309,76 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "examples/sdk/react/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { + "examples/sdk/react/node_modules/@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "examples/sdk/react/node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@jridgewell/sourcemap-codec": { + "examples/sdk/react/node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "examples/sdk/react/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@leichtgewicht/ip-codec": { + "examples/sdk/react/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@leichtgewicht/ip-codec": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "license": "MIT" }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "examples/sdk/react/node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } }, - "node_modules/@nodelib/fs.scandir": { + "examples/sdk/react/node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "examples/sdk/react/node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "examples/sdk/react/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -5385,18 +4387,16 @@ "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { + "examples/sdk/react/node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } }, - "node_modules/@nodelib/fs.walk": { + "examples/sdk/react/node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -5405,19 +4405,9 @@ "node": ">= 8" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", - "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "examples/sdk/react/node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "license": "MIT", "dependencies": { "ansi-html-community": "^0.0.8", "common-path-prefix": "^3.0.0", @@ -5436,7 +4426,7 @@ "@types/webpack": "4.x || 5.x", "react-refresh": ">=0.10.0 <1.0.0", "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <5.0.0", + "type-fest": ">=0.17.0 <4.0.0", "webpack": ">=4.43.0 <6.0.0", "webpack-dev-server": "3.x || 4.x", "webpack-hot-middleware": "2.x", @@ -5463,84 +4453,100 @@ } } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", - "dev": true, + "examples/sdk/react/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" }, "peerDependencies": { - "rollup": "^2.14.0||^3.0.0", - "tslib": "*", - "typescript": ">=3.7.0" + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" }, "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { + "@types/babel__core": { "optional": true } } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", - "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", - "dev": true, + "examples/sdk/react/node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0" + } + }, + "examples/sdk/react/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" + "examples/sdk/react/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } }, - "node_modules/@sinclair/typebox": { + "examples/sdk/react/node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@rushstack/eslint-patch": { + "version": "1.3.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/@sinclair/typebox": { "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "license": "MIT" }, - "node_modules/@sinonjs/commons": { + "examples/sdk/react/node_modules/@sinonjs/commons": { "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/fake-timers": { + "examples/sdk/react/node_modules/@sinonjs/fake-timers": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@surma/rollup-plugin-off-main-thread": { + "examples/sdk/react/node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", "dependencies": { "ejs": "^3.1.6", "json5": "^2.2.0", @@ -5548,21 +4554,9 @@ "string.prototype.matchall": "^4.0.6" } }, - "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5571,10 +4565,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-remove-jsx-attribute": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5583,10 +4576,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5595,10 +4587,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5607,10 +4598,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-svg-dynamic-title": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5619,10 +4609,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-svg-em-dimensions": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5631,10 +4620,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-transform-react-native-svg": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5643,10 +4631,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { + "examples/sdk/react/node_modules/@svgr/babel-plugin-transform-svg-component": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5655,10 +4642,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/babel-preset": { + "examples/sdk/react/node_modules/@svgr/babel-preset": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", @@ -5677,10 +4663,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/core": { + "examples/sdk/react/node_modules/@svgr/core": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", "dependencies": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", @@ -5694,21 +4679,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { + "examples/sdk/react/node_modules/@svgr/hast-util-to-babel-ast": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.12.6" }, @@ -5720,10 +4693,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/plugin-jsx": { + "examples/sdk/react/node_modules/@svgr/plugin-jsx": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", @@ -5738,10 +4710,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/plugin-svgo": { + "examples/sdk/react/node_modules/@svgr/plugin-svgo": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", @@ -5755,10 +4726,9 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/webpack": { + "examples/sdk/react/node_modules/@svgr/webpack": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", @@ -5777,120 +4747,23 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, - "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" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/@testing-library/react": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, + "examples/sdk/react/node_modules/@tootallnate/once": { + "version": "1.1.2", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 6" } }, - "node_modules/@trysound/sax": { + "examples/sdk/react/node_modules/@trysound/sax": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } }, - "node_modules/@types/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", - "dev": true, - "dependencies": { - "@types/readdir-glob": "*" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true - }, - "node_modules/@types/babel__core": { + "examples/sdk/react/node_modules/@types/babel__core": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -5899,113 +4772,81 @@ "@types/babel__traverse": "*" } }, - "node_modules/@types/babel__generator": { + "examples/sdk/react/node_modules/@types/babel__generator": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, - "node_modules/@types/babel__template": { + "examples/sdk/react/node_modules/@types/babel__template": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, - "node_modules/@types/babel__traverse": { + "examples/sdk/react/node_modules/@types/babel__traverse": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, - "node_modules/@types/body-parser": { + "examples/sdk/react/node_modules/@types/body-parser": { "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, - "node_modules/@types/bonjour": { + "examples/sdk/react/node_modules/@types/bonjour": { "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true - }, - "node_modules/@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true - }, - "node_modules/@types/connect": { + "examples/sdk/react/node_modules/@types/connect": { "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/connect-history-api-fallback": { + "examples/sdk/react/node_modules/@types/connect-history-api-fallback": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, - "node_modules/@types/decompress": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "examples/sdk/react/node_modules/@types/eslint": { + "version": "8.40.2", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { + "examples/sdk/react/node_modules/@types/eslint-scope": { "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, - "node_modules/@types/estree": { + "examples/sdk/react/node_modules/@types/estree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "license": "MIT" }, - "node_modules/@types/express": { + "examples/sdk/react/node_modules/@types/express": { "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -6013,10 +4854,9 @@ "@types/serve-static": "*" } }, - "node_modules/@types/express-serve-static-core": { + "examples/sdk/react/node_modules/@types/express-serve-static-core": { "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -6024,324 +4864,188 @@ "@types/send": "*" } }, - "node_modules/@types/graceful-fs": { + "examples/sdk/react/node_modules/@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/html-minifier-terser": { + "examples/sdk/react/node_modules/@types/html-minifier-terser": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "license": "MIT" }, - "node_modules/@types/http-errors": { + "examples/sdk/react/node_modules/@types/http-errors": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" + "license": "MIT" }, - "node_modules/@types/http-proxy": { + "examples/sdk/react/node_modules/@types/http-proxy": { "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/istanbul-lib-coverage": { + "examples/sdk/react/node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "license": "MIT" }, - "node_modules/@types/istanbul-lib-report": { + "examples/sdk/react/node_modules/@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@types/istanbul-reports": { + "examples/sdk/react/node_modules/@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/jest": { - "version": "29.5.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", - "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/jest/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "node_modules/@types/json-schema": { + "examples/sdk/react/node_modules/@types/json-schema": { "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "license": "MIT" }, - "node_modules/@types/json5": { + "examples/sdk/react/node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "license": "MIT" }, - "node_modules/@types/mime": { + "examples/sdk/react/node_modules/@types/mime": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "license": "MIT" }, - "node_modules/@types/node": { - "version": "14.18.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", - "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==" + "examples/sdk/react/node_modules/@types/node": { + "version": "16.18.37", + "license": "MIT" }, - "node_modules/@types/parse-json": { + "examples/sdk/react/node_modules/@types/parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "license": "MIT" }, - "node_modules/@types/prettier": { + "examples/sdk/react/node_modules/@types/prettier": { "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + "license": "MIT" }, - "node_modules/@types/prop-types": { + "examples/sdk/react/node_modules/@types/prop-types": { "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "license": "MIT" }, - "node_modules/@types/q": { + "examples/sdk/react/node_modules/@types/q": { "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "license": "MIT" }, - "node_modules/@types/qs": { + "examples/sdk/react/node_modules/@types/qs": { "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "license": "MIT" }, - "node_modules/@types/range-parser": { + "examples/sdk/react/node_modules/@types/range-parser": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "license": "MIT" }, - "node_modules/@types/react": { - "version": "16.14.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.45.tgz", - "integrity": "sha512-XFtKkY3yuPO5VJSE6Lru9yLkVQvYE+l6NbmLp6IWCg4jo5S8Ijbpke8wC9q4NmQ5pJErT8KKboG5eY7n5n718A==", + "examples/sdk/react/node_modules/@types/react": { + "version": "16.14.43", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, - "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "examples/sdk/react/node_modules/@types/react-dom": { + "version": "18.2.6", + "license": "MIT", "dependencies": { "@types/react": "*" } }, - "node_modules/@types/readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/resolve": { + "examples/sdk/react/node_modules/@types/resolve": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/retry": { + "examples/sdk/react/node_modules/@types/retry": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "license": "MIT" }, - "node_modules/@types/scheduler": { + "examples/sdk/react/node_modules/@types/scheduler": { "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "license": "MIT" }, - "node_modules/@types/semver": { + "examples/sdk/react/node_modules/@types/semver": { "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + "license": "MIT" }, - "node_modules/@types/send": { + "examples/sdk/react/node_modules/@types/send": { "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, - "node_modules/@types/serve-index": { + "examples/sdk/react/node_modules/@types/serve-index": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "license": "MIT", "dependencies": { "@types/express": "*" } }, - "node_modules/@types/serve-static": { + "examples/sdk/react/node_modules/@types/serve-static": { "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } }, - "node_modules/@types/sockjs": { + "examples/sdk/react/node_modules/@types/sockjs": { "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "node_modules/@types/stack-utils": { + "examples/sdk/react/node_modules/@types/stack-utils": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "license": "MIT" }, - "node_modules/@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "node_modules/@types/trusted-types": { + "examples/sdk/react/node_modules/@types/trusted-types": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", - "dev": true - }, - "node_modules/@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } + "license": "MIT" }, - "node_modules/@types/ws": { + "examples/sdk/react/node_modules/@types/ws": { "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "examples/sdk/react/node_modules/@types/yargs": { + "version": "16.0.5", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, - "node_modules/@types/yargs-parser": { + "examples/sdk/react/node_modules/@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "license": "MIT" }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "examples/sdk/react/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.60.1", + "license": "MIT", "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", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/type-utils": "5.60.1", + "@typescript-eslint/utils": "5.60.1", "debug": "^4.3.4", - "graphemer": "^1.4.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -6364,12 +5068,11 @@ } } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "examples/sdk/react/node_modules/@typescript-eslint/experimental-utils": { + "version": "5.60.1", + "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "5.62.0" + "@typescript-eslint/utils": "5.60.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6382,14 +5085,13 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "examples/sdk/react/node_modules/@typescript-eslint/parser": { + "version": "5.60.1", + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", "debug": "^4.3.4" }, "engines": { @@ -6408,13 +5110,12 @@ } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "examples/sdk/react/node_modules/@typescript-eslint/scope-manager": { + "version": "5.60.1", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6424,13 +5125,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "examples/sdk/react/node_modules/@typescript-eslint/type-utils": { + "version": "5.60.1", + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@typescript-eslint/typescript-estree": "5.60.1", + "@typescript-eslint/utils": "5.60.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -6450,10 +5150,9 @@ } } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "examples/sdk/react/node_modules/@typescript-eslint/types": { + "version": "5.60.1", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -6462,13 +5161,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "examples/sdk/react/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.60.1", + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6488,17 +5186,16 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "examples/sdk/react/node_modules/@typescript-eslint/utils": { + "version": "5.60.1", + "license": "MIT", "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", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -6513,12 +5210,29 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "examples/sdk/react/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "examples/sdk/react/node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "examples/sdk/react/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.1", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/types": "5.60.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -6529,118 +5243,42 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@webassemblyjs/ast": { + "examples/sdk/react/node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { + "examples/sdk/react/node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-api-error": { + "examples/sdk/react/node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-buffer": { + "examples/sdk/react/node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { + "examples/sdk/react/node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "examples/sdk/react/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-wasm-section": { + "examples/sdk/react/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -6648,31 +5286,27 @@ "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/@webassemblyjs/ieee754": { + "examples/sdk/react/node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@webassemblyjs/leb128": { + "examples/sdk/react/node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/utf8": { + "examples/sdk/react/node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "license": "MIT" }, - "node_modules/@webassemblyjs/wasm-edit": { + "examples/sdk/react/node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -6684,10 +5318,9 @@ "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/@webassemblyjs/wasm-gen": { + "examples/sdk/react/node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -6696,10 +5329,9 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@webassemblyjs/wasm-opt": { + "examples/sdk/react/node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -6707,10 +5339,9 @@ "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/@webassemblyjs/wasm-parser": { + "examples/sdk/react/node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -6720,139 +5351,47 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/wast-printer": { + "examples/sdk/react/node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { + "examples/sdk/react/node_modules/@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "license": "BSD-3-Clause" }, - "node_modules/@xtuc/long": { + "examples/sdk/react/node_modules/@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/@zeit/schemas": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", - "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", - "dev": true + "license": "Apache-2.0" }, - "node_modules/abab": { + "examples/sdk/react/node_modules/abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + "license": "BSD-3-Clause" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "examples/sdk/react/node_modules/acorn": { + "version": "8.9.0", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 0.6" + "node": ">=0.4.0" } }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "examples/sdk/react/node_modules/acorn-globals": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "examples/sdk/react/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -6860,53 +5399,37 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-import-assertions": { + "examples/sdk/react/node_modules/acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "license": "MIT", "peerDependencies": { "acorn": "^8" } }, - "node_modules/acorn-jsx": { + "examples/sdk/react/node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, + "examples/sdk/react/node_modules/acorn-walk": { + "version": "7.2.0", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, - "node_modules/address": { + "examples/sdk/react/node_modules/address": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, - "node_modules/adjust-sourcemap-loader": { + "examples/sdk/react/node_modules/adjust-sourcemap-loader": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -6915,10 +5438,9 @@ "node": ">=8.9" } }, - "node_modules/agent-base": { + "examples/sdk/react/node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -6926,10 +5448,9 @@ "node": ">= 6.0.0" } }, - "node_modules/ajv": { + "examples/sdk/react/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -6941,19 +5462,9 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-formats": { + "examples/sdk/react/node_modules/ajv-formats": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -6966,10 +5477,9 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { + "examples/sdk/react/node_modules/ajv-formats/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -6981,52 +5491,20 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "examples/sdk/react/node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "license": "MIT" }, - "node_modules/ajv-keywords": { + "examples/sdk/react/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes": { + "examples/sdk/react/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -7037,51 +5515,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-html-community": { + "examples/sdk/react/node_modules/ansi-html-community": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "examples/sdk/react/node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "examples/sdk/react/node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, - "node_modules/any-promise": { + "examples/sdk/react/node_modules/any-promise": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "license": "MIT" }, - "node_modules/anymatch": { + "examples/sdk/react/node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -7090,247 +5557,62 @@ "node": ">= 8" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "examples/sdk/react/node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "examples/sdk/react/node_modules/aria-query": { + "version": "5.3.0", + "license": "Apache-2.0", "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" + "dequal": "^2.0.3" } }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "examples/sdk/react/node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "examples/sdk/react/node_modules/array-flatten": { + "version": "2.1.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/array-includes": { + "version": "3.1.6", + "license": "MIT", "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" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/archiver-utils/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "examples/sdk/react/node_modules/array-union": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "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" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { + "examples/sdk/react/node_modules/array.prototype.flat": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -7344,10 +5626,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flatmap": { + "examples/sdk/react/node_modules/array.prototype.flatmap": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -7361,10 +5642,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.reduce": { + "examples/sdk/react/node_modules/array.prototype.reduce": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -7379,10 +5659,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.tosorted": { + "examples/sdk/react/node_modules/array.prototype.tosorted": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -7391,142 +5670,31 @@ "get-intrinsic": "^1.1.3" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asap": { + "examples/sdk/react/node_modules/asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/ast-types-flow": { + "examples/sdk/react/node_modules/ast-types-flow": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "license": "ISC" }, - "node_modules/async": { + "examples/sdk/react/node_modules/async": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dependencies": { - "has-symbols": "^1.0.3" - } + "license": "MIT" }, - "node_modules/asynckit": { + "examples/sdk/react/node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, - "node_modules/at-least-node": { + "examples/sdk/react/node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.15", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", - "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "examples/sdk/react/node_modules/autoprefixer": { + "version": "10.4.14", "funding": [ { "type": "opencollective", @@ -7535,15 +5703,12 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001520", + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -7559,10 +5724,9 @@ "postcss": "^8.1.0" } }, - "node_modules/available-typed-arrays": { + "examples/sdk/react/node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7570,26 +5734,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axe-core": { + "examples/sdk/react/node_modules/axe-core": { "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "license": "MPL-2.0", "engines": { "node": ">=4" } }, - "node_modules/axobject-query": { + "examples/sdk/react/node_modules/axobject-query": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, - "node_modules/babel-jest": { + "examples/sdk/react/node_modules/babel-jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -7607,41 +5768,67 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-jest/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/babel-jest/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-jest/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "examples/sdk/react/node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/babel-loader": { + "examples/sdk/react/node_modules/babel-loader": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.0", @@ -7656,24 +5843,9 @@ "webpack": ">=2" } }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { + "examples/sdk/react/node_modules/babel-loader/node_modules/schema-utils": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -7687,18 +5859,9 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/babel-loader/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-istanbul": { + "examples/sdk/react/node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -7710,10 +5873,9 @@ "node": ">=8" } }, - "node_modules/babel-plugin-jest-hoist": { + "examples/sdk/react/node_modules/babel-plugin-jest-hoist": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -7724,10 +5886,9 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/babel-plugin-macros": { + "examples/sdk/react/node_modules/babel-plugin-macros": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -7738,67 +5899,60 @@ "npm": ">=6" } }, - "node_modules/babel-plugin-named-asset-import": { + "examples/sdk/react/node_modules/babel-plugin-named-asset-import": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", "peerDependencies": { "@babel/core": "^7.1.0" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "examples/sdk/react/node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.3", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "examples/sdk/react/node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "examples/sdk/react/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.1", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "examples/sdk/react/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.0", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "@babel/helper-define-polyfill-provider": "^0.4.0" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { + "examples/sdk/react/node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "license": "MIT" }, - "node_modules/babel-preset-current-node-syntax": { + "examples/sdk/react/node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -7817,10 +5971,9 @@ "@babel/core": "^7.0.0" } }, - "node_modules/babel-preset-jest": { + "examples/sdk/react/node_modules/babel-preset-jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -7832,10 +5985,9 @@ "@babel/core": "^7.0.0" } }, - "node_modules/babel-preset-react-app": { + "examples/sdk/react/node_modules/babel-preset-react-app": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -7855,69 +6007,17 @@ "babel-plugin-transform-react-remove-prop-types": "^0.4.24" } }, - "node_modules/balanced-match": { + "examples/sdk/react/node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "license": "MIT" }, - "node_modules/batch": { + "examples/sdk/react/node_modules/batch": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "license": "MIT" }, - "node_modules/bfj": { + "examples/sdk/react/node_modules/bfj": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "license": "MIT", "dependencies": { "bluebird": "^3.5.5", "check-types": "^11.1.1", @@ -7928,47 +6028,27 @@ "node": ">= 8.0.0" } }, - "node_modules/big.js": { + "examples/sdk/react/node_modules/big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", "engines": { "node": "*" } }, - "node_modules/binary-extensions": { + "examples/sdk/react/node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bluebird": { + "examples/sdk/react/node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "license": "MIT" }, - "node_modules/body-parser": { + "examples/sdk/react/node_modules/body-parser": { "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -7988,26 +6068,23 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { + "examples/sdk/react/node_modules/body-parser/node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/body-parser/node_modules/debug": { + "examples/sdk/react/node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/iconv-lite": { + "examples/sdk/react/node_modules/body-parser/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -8015,29 +6092,13 @@ "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/ms": { + "examples/sdk/react/node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/bonjour-service": { + "examples/sdk/react/node_modules/bonjour-service": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "license": "MIT", "dependencies": { "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", @@ -8045,82 +6106,21 @@ "multicast-dns": "^7.2.5" } }, - "node_modules/boolbase": { + "examples/sdk/react/node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/boxen": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", - "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", - "dev": true, - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "ISC" }, - "node_modules/brace-expansion": { + "examples/sdk/react/node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "examples/sdk/react/node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -8128,94 +6128,12 @@ "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browser-process-hrtime": { + "examples/sdk/react/node_modules/browser-process-hrtime": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "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" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "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" - } - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } + "license": "BSD-2-Clause" }, - "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "examples/sdk/react/node_modules/browserslist": { + "version": "4.21.9", "funding": [ { "type": "opencollective", @@ -8230,10 +6148,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", "update-browserslist-db": "^1.0.11" }, "bin": { @@ -8243,94 +6162,20 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { + "examples/sdk/react/node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "node_modules/buffer-from": { + "examples/sdk/react/node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true + "license": "MIT" }, - "node_modules/builtin-modules": { + "examples/sdk/react/node_modules/builtin-modules": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -8338,120 +6183,9 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/cacache/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { + "examples/sdk/react/node_modules/call-bind": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -8460,48 +6194,41 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { + "examples/sdk/react/node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/camel-case": { + "examples/sdk/react/node_modules/camel-case": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, - "node_modules/camel-case/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "examples/sdk/react/node_modules/camelcase": { + "version": "6.3.0", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-css": { + "examples/sdk/react/node_modules/camelcase-css": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", "engines": { "node": ">= 6" } }, - "node_modules/caniuse-api": { + "examples/sdk/react/node_modules/caniuse-api": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -8509,10 +6236,8 @@ "lodash.uniq": "^4.5.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001521", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", - "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", + "examples/sdk/react/node_modules/caniuse-lite": { + "version": "1.0.30001508", "funding": [ { "type": "opencollective", @@ -8526,68 +6251,48 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, - "node_modules/case-sensitive-paths-webpack-plugin": { + "examples/sdk/react/node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "examples/sdk/react/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", "dependencies": { - "chalk": "^4.1.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "node": ">=4" } }, - "node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "examples/sdk/react/node_modules/char-regex": { + "version": "1.0.2", + "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=10" } }, - "node_modules/check-types": { + "examples/sdk/react/node_modules/check-types": { "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + "license": "MIT" }, - "node_modules/chokidar": { + "examples/sdk/react/node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -8604,10 +6309,9 @@ "fsevents": "~2.3.2" } }, - "node_modules/chokidar/node_modules/glob-parent": { + "examples/sdk/react/node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -8615,919 +6319,296 @@ "node": ">= 6" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/chrome-trace-event": { + "examples/sdk/react/node_modules/chrome-trace-event": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "license": "MIT", "engines": { "node": ">=6.0" } }, - "node_modules/ci-info": { + "examples/sdk/react/node_modules/ci-info": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/cjs-module-lexer": { + "examples/sdk/react/node_modules/cjs-module-lexer": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + "license": "MIT" }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, + "examples/sdk/react/node_modules/clean-css": { + "version": "5.3.2", + "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "source-map": "~0.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.0" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "examples/sdk/react/node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, + "examples/sdk/react/node_modules/cliui": { + "version": "7.0.4", + "license": "ISC", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, + "examples/sdk/react/node_modules/clsx": { + "version": "1.2.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, + "examples/sdk/react/node_modules/co": { + "version": "4.6.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "examples/sdk/react/node_modules/coa": { + "version": "2.0.2", + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4.0" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "examples/sdk/react/node_modules/collect-v8-coverage": { + "version": "1.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "color-name": "1.1.3" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "examples/sdk/react/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" }, - "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "examples/sdk/react/node_modules/colord": { + "version": "2.9.3", + "license": "MIT" + }, + "examples/sdk/react/node_modules/colorette": { + "version": "2.0.20", + "license": "MIT" + }, + "examples/sdk/react/node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", "dependencies": { - "source-map": "~0.6.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 10.0" + "node": ">= 0.8" } }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "examples/sdk/react/node_modules/commander": { + "version": "8.3.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 12" } }, - "node_modules/cli-boxes": { + "examples/sdk/react/node_modules/common-path-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "ISC" }, - "node_modules/clipboardy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", - "dev": true, - "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" - }, + "examples/sdk/react/node_modules/common-tags": { + "version": "1.8.2", + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0.0" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "examples/sdk/react/node_modules/commondir": { + "version": "1.0.1", + "license": "MIT" }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "examples/sdk/react/node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "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" - }, + "examples/sdk/react/node_modules/confusing-browser-globals": { + "version": "1.0.11", + "license": "MIT" + }, + "examples/sdk/react/node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "examples/sdk/react/node_modules/content-disposition": { + "version": "0.5.4", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, + "examples/sdk/react/node_modules/content-type": { + "version": "1.0.5", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "examples/sdk/react/node_modules/convert-source-map": { + "version": "1.9.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/cookie": { + "version": "0.5.0", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "examples/sdk/react/node_modules/cookie-signature": { + "version": "1.0.6", + "license": "MIT" + }, + "examples/sdk/react/node_modules/core-js": { + "version": "3.31.0", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "examples/sdk/react/node_modules/core-js-compat": { + "version": "3.31.0", + "license": "MIT", "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "browserslist": "^4.21.5" }, - "engines": { - "node": ">= 4.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/coa/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "examples/sdk/react/node_modules/core-js-pure": { + "version": "3.31.0", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "examples/sdk/react/node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "examples/sdk/react/node_modules/cosmiconfig": { + "version": "7.1.0", + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@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" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/coa/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "examples/sdk/react/node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/coa/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=0.8.0" + "node": ">= 8" } }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "examples/sdk/react/node_modules/crypto-random-string": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "examples/sdk/react/node_modules/css-blank-pseudo": { + "version": "3.0.3", + "license": "CC0-1.0", "dependencies": { - "has-flag": "^3.0.0" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">=4" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, + "examples/sdk/react/node_modules/css-declaration-sorter": { + "version": "6.4.0", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "examples/sdk/react/node_modules/css-has-pseudo": { + "version": "3.0.4", + "license": "CC0-1.0", "dependencies": { - "color-name": "~1.1.4" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">=7.0.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", - "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", - "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", - "dependencies": { - "browserslist": "^4.21.9" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", - "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "examples/sdk/react/node_modules/css-loader": { + "version": "6.8.1", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.21", @@ -9549,10 +6630,9 @@ "webpack": "^5.0.0" } }, - "node_modules/css-minimizer-webpack-plugin": { + "examples/sdk/react/node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", "dependencies": { "cssnano": "^5.0.6", "jest-worker": "^27.0.2", @@ -9586,10 +6666,9 @@ } } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -9601,10 +6680,9 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -9612,15 +6690,13 @@ "ajv": "^8.8.2" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "license": "MIT" }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -9635,18 +6711,16 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/css-prefers-color-scheme": { + "examples/sdk/react/node_modules/css-prefers-color-scheme": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", "bin": { "css-prefers-color-scheme": "dist/cli.cjs" }, @@ -9657,10 +6731,9 @@ "postcss": "^8.4" } }, - "node_modules/css-select": { + "examples/sdk/react/node_modules/css-select": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -9672,15 +6745,13 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css-select-base-adapter": { + "examples/sdk/react/node_modules/css-select-base-adapter": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "license": "MIT" }, - "node_modules/css-tree": { + "examples/sdk/react/node_modules/css-tree": { "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -9689,18 +6760,16 @@ "node": ">=8.0.0" } }, - "node_modules/css-tree/node_modules/source-map": { + "examples/sdk/react/node_modules/css-tree/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/css-what": { + "examples/sdk/react/node_modules/css-what": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -9708,10 +6777,8 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cssdb": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.7.0.tgz", - "integrity": "sha512-1hN+I3r4VqSNQ+OmMXxYexnumbOONkSil0TWMebVXHtzYW4tRRPovUNHPHj2d4nrgOuYJ8Vs3XwvywsuwwXNNA==", + "examples/sdk/react/node_modules/cssdb": { + "version": "7.6.0", "funding": [ { "type": "opencollective", @@ -9721,12 +6788,12 @@ "type": "github", "url": "https://github.com/sponsors/csstools" } - ] + ], + "license": "CC0-1.0" }, - "node_modules/cssesc": { + "examples/sdk/react/node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -9734,10 +6801,9 @@ "node": ">=4" } }, - "node_modules/cssnano": { + "examples/sdk/react/node_modules/cssnano": { "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -9754,10 +6820,9 @@ "postcss": "^8.2.15" } }, - "node_modules/cssnano-preset-default": { + "examples/sdk/react/node_modules/cssnano-preset-default": { "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -9796,10 +6861,9 @@ "postcss": "^8.2.15" } }, - "node_modules/cssnano-utils": { + "examples/sdk/react/node_modules/cssnano-utils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -9807,10 +6871,9 @@ "postcss": "^8.2.15" } }, - "node_modules/csso": { + "examples/sdk/react/node_modules/csso": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -9818,10 +6881,9 @@ "node": ">=8.0.0" } }, - "node_modules/csso/node_modules/css-tree": { + "examples/sdk/react/node_modules/csso/node_modules/css-tree": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -9830,29 +6892,24 @@ "node": ">=8.0.0" } }, - "node_modules/csso/node_modules/mdn-data": { + "examples/sdk/react/node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "license": "CC0-1.0" }, - "node_modules/csso/node_modules/source-map": { + "examples/sdk/react/node_modules/csso/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true + "examples/sdk/react/node_modules/cssom": { + "version": "0.4.4", + "license": "MIT" }, - "node_modules/cssstyle": { + "examples/sdk/react/node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -9860,45 +6917,33 @@ "node": ">=8" } }, - "node_modules/cssstyle/node_modules/cssom": { + "examples/sdk/react/node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "license": "MIT" }, - "node_modules/csstype": { + "examples/sdk/react/node_modules/csstype": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true + "license": "MIT" }, - "node_modules/damerau-levenshtein": { + "examples/sdk/react/node_modules/damerau-levenshtein": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "license": "BSD-2-Clause" }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, + "examples/sdk/react/node_modules/data-urls": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/debug": { + "examples/sdk/react/node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -9911,342 +6956,99 @@ } } }, - "node_modules/decimal.js": { + "examples/sdk/react/node_modules/decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + "license": "MIT" }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, + "examples/sdk/react/node_modules/dedent": { + "version": "0.7.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/deepmerge": { + "version": "4.3.1", + "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, + "examples/sdk/react/node_modules/default-gateway": { + "version": "6.0.3", + "license": "BSD-2-Clause", "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" + "execa": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">= 10" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, + "examples/sdk/react/node_modules/define-lazy-prop": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, + "examples/sdk/react/node_modules/define-properties": { + "version": "1.2.0", + "license": "MIT", "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decompress-tar/node_modules/isarray": { + "examples/sdk/react/node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/decompress-tar/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "examples/sdk/react/node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "node_modules/decompress-tar/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/decompress-tar/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dev": true, - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "node_modules/deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { + "examples/sdk/react/node_modules/dequal": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { + "examples/sdk/react/node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/detect-newline": { + "examples/sdk/react/node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/detect-node": { + "examples/sdk/react/node_modules/detect-node": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "license": "MIT" }, - "node_modules/detect-port-alt": { + "examples/sdk/react/node_modules/detect-port-alt": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -10259,54 +7061,31 @@ "node": ">= 4.2.1" } }, - "node_modules/detect-port-alt/node_modules/debug": { + "examples/sdk/react/node_modules/detect-port-alt/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/detect-port-alt/node_modules/ms": { + "examples/sdk/react/node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, - "node_modules/didyoumean": { + "examples/sdk/react/node_modules/didyoumean": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "license": "Apache-2.0" }, - "node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true, + "examples/sdk/react/node_modules/diff-sequences": { + "version": "27.5.1", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/dir-glob": { + "examples/sdk/react/node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -10314,20 +7093,17 @@ "node": ">=8" } }, - "node_modules/dlv": { + "examples/sdk/react/node_modules/dlv": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "license": "MIT" }, - "node_modules/dns-equal": { + "examples/sdk/react/node_modules/dns-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + "license": "MIT" }, - "node_modules/dns-packet": { + "examples/sdk/react/node_modules/dns-packet": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -10335,10 +7111,9 @@ "node": ">=6" } }, - "node_modules/doctrine": { + "examples/sdk/react/node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -10346,24 +7121,16 @@ "node": ">=6.0.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/dom-converter": { + "examples/sdk/react/node_modules/dom-converter": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", "dependencies": { "utila": "~0.4" } }, - "node_modules/dom-serializer": { + "examples/sdk/react/node_modules/dom-serializer": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -10373,51 +7140,36 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { + "examples/sdk/react/node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, + "examples/sdk/react/node_modules/domexception": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "webidl-conversions": "^7.0.0" + "webidl-conversions": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" } }, - "node_modules/domhandler": { + "examples/sdk/react/node_modules/domhandler": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -10428,10 +7180,9 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/domutils": { + "examples/sdk/react/node_modules/domutils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -10441,100 +7192,36 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/dot-case": { + "examples/sdk/react/node_modules/dot-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, - "node_modules/dot-case/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/dotenv": { + "examples/sdk/react/node_modules/dotenv": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", "engines": { "node": ">=10" } }, - "node_modules/dotenv-expand": { + "examples/sdk/react/node_modules/dotenv-expand": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "license": "BSD-2-Clause" }, - "node_modules/duplexer": { + "examples/sdk/react/node_modules/duplexer": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } + "license": "MIT" }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/ee-first": { + "examples/sdk/react/node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "license": "MIT" }, - "node_modules/ejs": { + "examples/sdk/react/node_modules/ejs": { "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -10545,76 +7232,41 @@ "node": ">=0.10.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.494", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.494.tgz", - "integrity": "sha512-KF7wtsFFDu4ws1ZsSOt4pdmO1yWVNWCFtijVYZPUeW4SV7/hy/AESjLn/+qIWgq7mHscNOKAwN5AIM1+YAy+Ww==" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "examples/sdk/react/node_modules/electron-to-chromium": { + "version": "1.4.441", + "license": "ISC" }, - "node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "examples/sdk/react/node_modules/emittery": { + "version": "0.8.1", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/emoji-regex": { + "examples/sdk/react/node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "license": "MIT" }, - "node_modules/emojis-list": { + "examples/sdk/react/node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/encodeurl": { + "examples/sdk/react/node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { + "examples/sdk/react/node_modules/enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -10623,71 +7275,38 @@ "node": ">=10.13.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, + "examples/sdk/react/node_modules/entities": { + "version": "2.2.0", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { + "examples/sdk/react/node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, - "node_modules/error-stack-parser": { + "examples/sdk/react/node_modules/error-stack-parser": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "examples/sdk/react/node_modules/es-abstract": { + "version": "1.21.2", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", "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.5", - "get-intrinsic": "^1.2.1", + "get-intrinsic": "^1.2.0", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", @@ -10707,18 +7326,14 @@ "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.4.3", "safe-regex-test": "^1.0.0", "string.prototype.trim": "^1.2.7", "string.prototype.trimend": "^1.0.6", "string.prototype.trimstart": "^1.0.6", - "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.10" + "which-typed-array": "^1.1.9" }, "engines": { "node": ">= 0.4" @@ -10727,60 +7342,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-array-method-boxes-properly": { + "examples/sdk/react/node_modules/es-array-method-boxes-properly": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "license": "MIT" }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", - "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.0", - "safe-array-concat": "^1.0.0" - } - }, - "node_modules/es-module-lexer": { + "examples/sdk/react/node_modules/es-module-lexer": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + "license": "MIT" }, - "node_modules/es-set-tostringtag": { + "examples/sdk/react/node_modules/es-set-tostringtag": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3", "has": "^1.0.3", @@ -10790,18 +7362,16 @@ "node": ">= 0.4" } }, - "node_modules/es-shim-unscopables": { + "examples/sdk/react/node_modules/es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "license": "MIT", "dependencies": { "has": "^1.0.3" } }, - "node_modules/es-to-primitive": { + "examples/sdk/react/node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -10814,75 +7384,32 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "hasInstallScript": true, - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "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" - } - }, - "node_modules/escalade": { + "examples/sdk/react/node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/escape-html": { + "examples/sdk/react/node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "examples/sdk/react/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.0" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "examples/sdk/react/node_modules/escodegen": { + "version": "2.0.0", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", - "esutils": "^2.0.2" + "esutils": "^2.0.2", + "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -10895,44 +7422,76 @@ "source-map": "~0.6.1" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "examples/sdk/react/node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">=4.0" + "node": ">= 0.8.0" + } + }, + "examples/sdk/react/node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "examples/sdk/react/node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/escodegen/node_modules/source-map": { + "examples/sdk/react/node_modules/escodegen/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "examples/sdk/react/node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "examples/sdk/react/node_modules/eslint": { + "version": "8.43.0", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", + "ajv": "^6.10.0", "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", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -10942,6 +7501,7 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -10951,8 +7511,9 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", + "optionator": "^0.9.1", "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -10965,22 +7526,9 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-config-react-app": { + "examples/sdk/react/node_modules/eslint-config-react-app": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -11004,28 +7552,25 @@ "eslint": "^8.0.0" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "examples/sdk/react/node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "license": "MIT", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { + "examples/sdk/react/node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-module-utils": { + "examples/sdk/react/node_modules/eslint-module-utils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -11038,18 +7583,16 @@ } } }, - "node_modules/eslint-module-utils/node_modules/debug": { + "examples/sdk/react/node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-flowtype": { + "examples/sdk/react/node_modules/eslint-plugin-flowtype": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -11063,29 +7606,25 @@ "eslint": "^8.1.0" } }, - "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "examples/sdk/react/node_modules/eslint-plugin-import": { + "version": "2.27.5", + "license": "MIT", "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", + "eslint-module-utils": "^2.7.4", "has": "^1.0.3", - "is-core-module": "^2.12.1", + "is-core-module": "^2.11.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", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" }, "engines": { "node": ">=4" @@ -11094,18 +7633,16 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { + "examples/sdk/react/node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { + "examples/sdk/react/node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -11113,18 +7650,16 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "examples/sdk/react/node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-jest": { + "examples/sdk/react/node_modules/eslint-plugin-jest": { "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -11144,10 +7679,9 @@ } } }, - "node_modules/eslint-plugin-jsx-a11y": { + "examples/sdk/react/node_modules/eslint-plugin-jsx-a11y": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.7", "aria-query": "^5.1.3", @@ -11173,30 +7707,21 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "examples/sdk/react/node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "examples/sdk/react/node_modules/eslint-plugin-react": { + "version": "7.32.2", + "license": "MIT", "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", @@ -11206,7 +7731,7 @@ "object.values": "^1.1.6", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", + "semver": "^6.3.0", "string.prototype.matchall": "^4.0.8" }, "engines": { @@ -11216,10 +7741,9 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-react-hooks": { + "examples/sdk/react/node_modules/eslint-plugin-react-hooks": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11227,10 +7751,9 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { + "examples/sdk/react/node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -11238,18 +7761,9 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { + "examples/sdk/react/node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "license": "MIT", "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -11262,18 +7776,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "examples/sdk/react/node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-testing-library": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", - "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "examples/sdk/react/node_modules/eslint-plugin-testing-library": { + "version": "5.11.0", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -11285,22 +7797,23 @@ "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "examples/sdk/react/node_modules/eslint-scope": { + "version": "7.2.0", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "examples/sdk/react/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -11308,10 +7821,9 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-webpack-plugin": { + "examples/sdk/react/node_modules/eslint-webpack-plugin": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", "dependencies": { "@types/eslint": "^7.29.0 || ^8.4.1", "jest-worker": "^28.0.2", @@ -11331,10 +7843,9 @@ "webpack": "^5.0.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -11346,10 +7857,9 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -11357,10 +7867,16 @@ "ajv": "^8.8.2" } }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/jest-worker": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11370,15 +7886,13 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "license": "MIT" }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/schema-utils": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -11393,10 +7907,9 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11407,174 +7920,54 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "examples/sdk/react/node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } + "examples/sdk/react/node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "examples/sdk/react/node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "examples/sdk/react/node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "node": ">=7.0.0" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } + "examples/sdk/react/node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "examples/sdk/react/node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11582,10 +7975,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "examples/sdk/react/node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { "node": ">=8" }, @@ -11593,284 +7988,168 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "examples/sdk/react/node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, + "examples/sdk/react/node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, + "examples/sdk/react/node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, + "examples/sdk/react/node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" + "node": ">=10" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "examples/sdk/react/node_modules/espree": { + "version": "9.5.2", + "license": "BSD-2-Clause", "dependencies": { - "is-buffer": "^1.1.5" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" + "examples/sdk/react/node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "examples/sdk/react/node_modules/esquery": { + "version": "1.5.0", + "license": "BSD-3-Clause", "dependencies": { - "is-buffer": "^1.1.5" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "examples/sdk/react/node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, + "examples/sdk/react/node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, + "examples/sdk/react/node_modules/estree-walker": { + "version": "1.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" - }, + "examples/sdk/react/node_modules/etag": { + "version": "1.8.1", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/expect/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, + "examples/sdk/react/node_modules/eventemitter3": { + "version": "4.0.7", + "license": "MIT" + }, + "examples/sdk/react/node_modules/events": { + "version": "3.3.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.x" } }, - "node_modules/expect/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "examples/sdk/react/node_modules/execa": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/expect/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, + "examples/sdk/react/node_modules/exit": { + "version": "0.1.2", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/expect/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "examples/sdk/react/node_modules/expect": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/express": { + "examples/sdk/react/node_modules/express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -11908,136 +8187,28 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { + "examples/sdk/react/node_modules/express/node_modules/array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/express/node_modules/debug": { + "examples/sdk/react/node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/express/node_modules/ms": { + "examples/sdk/react/node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { + "examples/sdk/react/node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "examples/sdk/react/node_modules/fast-glob": { + "version": "3.2.12", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -12049,10 +8220,9 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { + "examples/sdk/react/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -12060,57 +8230,24 @@ "node": ">= 6" } }, - "node_modules/fast-json-stable-stringify": { + "examples/sdk/react/node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "license": "MIT" }, - "node_modules/fast-levenshtein": { + "examples/sdk/react/node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dev": true, - "dependencies": { - "punycode": "^1.3.2" - } + "license": "MIT" }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { + "examples/sdk/react/node_modules/fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, - "node_modules/faye-websocket": { + "examples/sdk/react/node_modules/faye-websocket": { "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -12118,33 +8255,16 @@ "node": ">=0.8.0" } }, - "node_modules/fb-watchman": { + "examples/sdk/react/node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "node_modules/file-entry-cache": { + "examples/sdk/react/node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -12152,10 +8272,9 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-loader": { + "examples/sdk/react/node_modules/file-loader": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -12171,35 +8290,23 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filelist": { + "examples/sdk/react/node_modules/filelist": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } }, - "node_modules/filelist/node_modules/brace-expansion": { + "examples/sdk/react/node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/filelist/node_modules/minimatch": { + "examples/sdk/react/node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -12207,18 +8314,16 @@ "node": ">=10" } }, - "node_modules/filesize": { + "examples/sdk/react/node_modules/filesize": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } }, - "node_modules/fill-range": { + "examples/sdk/react/node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -12226,10 +8331,9 @@ "node": ">=8" } }, - "node_modules/finalhandler": { + "examples/sdk/react/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -12243,23 +8347,20 @@ "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/debug": { + "examples/sdk/react/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/finalhandler/node_modules/ms": { + "examples/sdk/react/node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, - "node_modules/find-cache-dir": { + "examples/sdk/react/node_modules/find-cache-dir": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -12272,160 +8373,44 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "examples/sdk/react/node_modules/find-up": { + "version": "5.0.0", + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "examples/sdk/react/node_modules/flat-cache": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { + "examples/sdk/react/node_modules/flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/flush-write-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/flush-write-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "license": "ISC" }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/follow-redirects": { + "examples/sdk/react/node_modules/follow-redirects": { "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -12435,42 +8420,16 @@ } } }, - "node_modules/for-each": { + "examples/sdk/react/node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -12505,10 +8464,50 @@ } } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -12520,10 +8519,9 @@ "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -12534,29 +8532,16 @@ "node": ">=10" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "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" - }, + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -12570,18 +8555,26 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "examples/sdk/react/node_modules/form-data": { + "version": "3.0.1", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -12591,18 +8584,16 @@ "node": ">= 6" } }, - "node_modules/forwarded": { + "examples/sdk/react/node_modules/forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/fraction.js": { + "examples/sdk/react/node_modules/fraction.js": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "license": "MIT", "engines": { "node": "*" }, @@ -12611,81 +8602,16 @@ "url": "https://www.patreon.com/infusion" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { + "examples/sdk/react/node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { + "examples/sdk/react/node_modules/fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -12695,73 +8621,32 @@ "node": ">=12" } }, - "node_modules/fs-monkey": { + "examples/sdk/react/node_modules/fs-monkey": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } + "license": "Unlicense" }, - "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "examples/sdk/react/node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "license": "ISC" }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "examples/sdk/react/node_modules/fsevents": { + "version": "2.3.2", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/function-bind": { + "examples/sdk/react/node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "license": "MIT" }, - "node_modules/function.prototype.name": { + "examples/sdk/react/node_modules/function.prototype.name": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -12775,34 +8660,30 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functions-have-names": { + "examples/sdk/react/node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { + "examples/sdk/react/node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/get-caller-file": { + "examples/sdk/react/node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { + "examples/sdk/react/node_modules/get-intrinsic": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -12813,36 +8694,30 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-own-enumerable-property-symbols": { + "examples/sdk/react/node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "license": "ISC" }, - "node_modules/get-package-type": { + "examples/sdk/react/node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", "engines": { "node": ">=8.0.0" } }, - "node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, + "examples/sdk/react/node_modules/get-stream": { + "version": "6.0.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { + "examples/sdk/react/node_modules/get-symbol-description": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -12854,40 +8729,27 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "examples/sdk/react/node_modules/glob": { + "version": "7.2.3", + "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" + "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" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { + "examples/sdk/react/node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -12895,37 +8757,13 @@ "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { + "examples/sdk/react/node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "BSD-2-Clause" }, - "node_modules/global-modules": { + "examples/sdk/react/node_modules/global-modules": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -12933,10 +8771,9 @@ "node": ">=6" } }, - "node_modules/global-prefix": { + "examples/sdk/react/node_modules/global-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -12946,10 +8783,9 @@ "node": ">=6" } }, - "node_modules/global-prefix/node_modules/which": { + "examples/sdk/react/node_modules/global-prefix/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -12957,35 +8793,16 @@ "which": "bin/which" } }, - "node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "examples/sdk/react/node_modules/globals": { + "version": "11.12.0", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/globalthis": { + "examples/sdk/react/node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -12996,10 +8813,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { + "examples/sdk/react/node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -13015,18 +8831,9 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/gopd": { + "examples/sdk/react/node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -13034,20 +8841,21 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { + "examples/sdk/react/node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "license": "ISC" }, - "node_modules/graphemer": { + "examples/sdk/react/node_modules/grapheme-splitter": { + "version": "1.0.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "license": "MIT" }, - "node_modules/gzip-size": { + "examples/sdk/react/node_modules/gzip-size": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -13058,20 +8866,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/handle-thing": { + "examples/sdk/react/node_modules/handle-thing": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "license": "MIT" }, - "node_modules/harmony-reflect": { + "examples/sdk/react/node_modules/harmony-reflect": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "license": "(Apache-2.0 OR MPL-1.1)" }, - "node_modules/has": { + "examples/sdk/react/node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -13079,26 +8884,23 @@ "node": ">= 0.4.0" } }, - "node_modules/has-bigints": { + "examples/sdk/react/node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "examples/sdk/react/node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/has-property-descriptors": { + "examples/sdk/react/node_modules/has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -13106,10 +8908,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { + "examples/sdk/react/node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13117,10 +8918,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { + "examples/sdk/react/node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13128,10 +8928,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { + "examples/sdk/react/node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -13142,124 +8941,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/he": { + "examples/sdk/react/node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoopy": { + "examples/sdk/react/node_modules/hoopy": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", "engines": { "node": ">= 6.0.0" } }, - "node_modules/hpack.js": { + "examples/sdk/react/node_modules/hpack.js": { "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -13267,15 +8965,13 @@ "wbuf": "^1.1.0" } }, - "node_modules/hpack.js/node_modules/isarray": { + "examples/sdk/react/node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, - "node_modules/hpack.js/node_modules/readable-stream": { + "examples/sdk/react/node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13286,35 +8982,29 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/hpack.js/node_modules/safe-buffer": { + "examples/sdk/react/node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, - "node_modules/hpack.js/node_modules/string_decoder": { + "examples/sdk/react/node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, + "examples/sdk/react/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "whatwg-encoding": "^2.0.0" + "whatwg-encoding": "^1.0.5" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/html-entities": { + "examples/sdk/react/node_modules/html-entities": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", "funding": [ { "type": "github", @@ -13324,17 +9014,16 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } - ] + ], + "license": "MIT" }, - "node_modules/html-escaper": { + "examples/sdk/react/node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "license": "MIT" }, - "node_modules/html-minifier-terser": { + "examples/sdk/react/node_modules/html-minifier-terser": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -13351,10 +9040,9 @@ "node": ">=12" } }, - "node_modules/html-webpack-plugin": { + "examples/sdk/react/node_modules/html-webpack-plugin": { "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -13373,10 +9061,8 @@ "webpack": "^5.20.0" } }, - "node_modules/htmlparser2": { + "examples/sdk/react/node_modules/htmlparser2": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -13384,6 +9070,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -13391,23 +9078,13 @@ "entities": "^2.0.0" } }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/http-deceiver": { + "examples/sdk/react/node_modules/http-deceiver": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "license": "MIT" }, - "node_modules/http-errors": { + "examples/sdk/react/node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -13419,15 +9096,13 @@ "node": ">= 0.8" } }, - "node_modules/http-parser-js": { + "examples/sdk/react/node_modules/http-parser-js": { "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "license": "MIT" }, - "node_modules/http-proxy": { + "examples/sdk/react/node_modules/http-proxy": { "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -13437,13 +9112,11 @@ "node": ">=8.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, + "examples/sdk/react/node_modules/http-proxy-agent": { + "version": "4.0.1", + "license": "MIT", "dependencies": { - "@tootallnate/once": "2", + "@tootallnate/once": "1", "agent-base": "6", "debug": "4" }, @@ -13451,10 +9124,9 @@ "node": ">= 6" } }, - "node_modules/http-proxy-middleware": { + "examples/sdk/react/node_modules/http-proxy-middleware": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -13474,16 +9146,9 @@ } } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "node_modules/https-proxy-agent": { + "examples/sdk/react/node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -13492,18 +9157,16 @@ "node": ">= 6" } }, - "node_modules/human-signals": { + "examples/sdk/react/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { + "examples/sdk/react/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -13511,10 +9174,9 @@ "node": ">=0.10.0" } }, - "node_modules/icss-utils": { + "examples/sdk/react/node_modules/icss-utils": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -13522,15 +9184,13 @@ "postcss": "^8.1.0" } }, - "node_modules/idb": { + "examples/sdk/react/node_modules/idb": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "license": "ISC" }, - "node_modules/identity-obj-proxy": { + "examples/sdk/react/node_modules/identity-obj-proxy": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", "dependencies": { "harmony-reflect": "^1.4.6" }, @@ -13538,52 +9198,24 @@ "node": ">=4" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "node_modules/ignore": { + "examples/sdk/react/node_modules/ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/immer": { + "examples/sdk/react/node_modules/immer": { "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" } }, - "node_modules/import-fresh": { + "examples/sdk/react/node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -13595,10 +9227,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { + "examples/sdk/react/node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "examples/sdk/react/node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -13613,43 +9251,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imurmurhash": { + "examples/sdk/react/node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { + "examples/sdk/react/node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "examples/sdk/react/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { + "examples/sdk/react/node_modules/internal-slot": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -13659,54 +9282,16 @@ "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ipaddr.js": { + "examples/sdk/react/node_modules/ipaddr.js": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "license": "MIT", "engines": { "node": ">= 10" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { + "examples/sdk/react/node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -13716,29 +9301,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { + "examples/sdk/react/node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/is-bigint": { + "examples/sdk/react/node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -13746,10 +9315,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { + "examples/sdk/react/node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -13757,10 +9325,9 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { + "examples/sdk/react/node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -13772,16 +9339,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-callable": { + "examples/sdk/react/node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13789,10 +9349,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "examples/sdk/react/node_modules/is-core-module": { + "version": "2.12.1", + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -13800,22 +9359,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { + "examples/sdk/react/node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -13826,99 +9372,30 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { + "examples/sdk/react/node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { + "examples/sdk/react/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-generator-fn": { + "examples/sdk/react/node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { + "examples/sdk/react/node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -13926,29 +9403,13 @@ "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-module": { + "examples/sdk/react/node_modules/is-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true + "license": "MIT" }, - "node_modules/is-negative-zero": { + "examples/sdk/react/node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13956,18 +9417,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { + "examples/sdk/react/node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-number-object": { + "examples/sdk/react/node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -13978,26 +9437,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-obj": { + "examples/sdk/react/node_modules/is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-path-inside": { + "examples/sdk/react/node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-plain-obj": { + "examples/sdk/react/node_modules/is-plain-obj": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -14005,39 +9461,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-port-reachable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", - "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-potential-custom-element-name": { + "examples/sdk/react/node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "license": "MIT" }, - "node_modules/is-regex": { + "examples/sdk/react/node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -14049,34 +9479,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-regexp": { + "examples/sdk/react/node_modules/is-regexp": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-root": { + "examples/sdk/react/node_modules/is-root": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { + "examples/sdk/react/node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -14084,19 +9503,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, + "examples/sdk/react/node_modules/is-stream": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { + "examples/sdk/react/node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -14107,10 +9526,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-symbol": { + "examples/sdk/react/node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -14121,12 +9539,15 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "examples/sdk/react/node_modules/is-typed-array": { + "version": "1.1.10", + "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.11" + "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" }, "engines": { "node": ">= 0.4" @@ -14135,23 +9556,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { + "examples/sdk/react/node_modules/is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "license": "MIT" }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { + "examples/sdk/react/node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -14159,31 +9570,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { + "examples/sdk/react/node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -14191,37 +9580,24 @@ "node": ">=8" } }, - "node_modules/isarray": { + "examples/sdk/react/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "license": "MIT" }, - "node_modules/isexe": { + "examples/sdk/react/node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, - "node_modules/istanbul-lib-coverage": { + "examples/sdk/react/node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { + "examples/sdk/react/node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -14233,45 +9609,45 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "examples/sdk/react/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "examples/sdk/react/node_modules/istanbul-lib-report": { + "version": "3.0.0", + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", + "make-dir": "^3.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { + "examples/sdk/react/node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "semver": "^7.5.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { + "examples/sdk/react/node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -14281,18 +9657,16 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "examples/sdk/react/node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "examples/sdk/react/node_modules/istanbul-reports": { + "version": "3.1.5", + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -14301,68 +9675,93 @@ "node": ">=8" } }, - "node_modules/iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "examples/sdk/react/node_modules/jake": { + "version": "10.8.7", + "license": "Apache-2.0", "dependencies": { - "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/jackspeak": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "examples/sdk/react/node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "examples/sdk/react/node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "examples/sdk/react/node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" + "color-name": "~1.1.4" }, - "bin": { - "jake": "bin/cli.js" + "engines": { + "node": ">=7.0.0" + } + }, + "examples/sdk/react/node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, + "examples/sdk/react/node_modules/jest": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/core": "^27.5.1", "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "jest-cli": "^27.5.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -14373,10 +9772,9 @@ } } }, - "node_modules/jest-changed-files": { + "examples/sdk/react/node_modules/jest-changed-files": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -14386,33 +9784,9 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-changed-files/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-circus": { + "examples/sdk/react/node_modules/jest-circus": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -14438,1829 +9812,1314 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-circus/node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "examples/sdk/react/node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "examples/sdk/react/node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } + "examples/sdk/react/node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/jest-circus/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "examples/sdk/react/node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-diff": { + "examples/sdk/react/node_modules/jest-cli": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-circus/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "examples/sdk/react/node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "examples/sdk/react/node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, + "examples/sdk/react/node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-circus/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-config": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", "chalk": "^4.0.0", - "exit": "^0.1.2", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { - "node-notifier": { + "ts-node": { "optional": true } } }, - "node_modules/jest-cli/node_modules/@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, + "examples/sdk/react/node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli/node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" + "node": ">=8" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, + "examples/sdk/react/node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli/node_modules/@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" + "node": ">=10" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "examples/sdk/react/node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/jest-cli/node_modules/@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, + "examples/sdk/react/node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, + "examples/sdk/react/node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, + "examples/sdk/react/node_modules/jest-diff": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "examples/sdk/react/node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/jest-cli/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "examples/sdk/react/node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, + "examples/sdk/react/node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, + "examples/sdk/react/node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, + "examples/sdk/react/node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" + "examples/sdk/react/node_modules/jest-docblock": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-cli/node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-each": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=12" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/jest-cli/node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" + "examples/sdk/react/node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/jest-cli/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, + "examples/sdk/react/node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, + "examples/sdk/react/node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, + "examples/sdk/react/node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, + "examples/sdk/react/node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-environment-node": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, + "examples/sdk/react/node_modules/jest-get-type": { + "version": "27.5.1", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "examples/sdk/react/node_modules/jest-haste-map": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", "micromatch": "^4.0.4", - "walker": "^1.0.8" + "walker": "^1.0.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, - "node_modules/jest-cli/node_modules/jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-jasmine2": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "color-convert": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, + "examples/sdk/react/node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli/node_modules/jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, + "examples/sdk/react/node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, - "dependencies": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "examples/sdk/react/node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/jest-cli/node_modules/jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, + "examples/sdk/react/node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, + "examples/sdk/react/node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "examples/sdk/react/node_modules/jest-leak-detector": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, + "examples/sdk/react/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", - "dev": true, + "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/jest-cli/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-cli/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-cli/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/jest-cli/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "examples/sdk/react/node_modules/jest-message-util": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "examples/sdk/react/node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "examples/sdk/react/node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, + "examples/sdk/react/node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, + "examples/sdk/react/node_modules/jest-mock": { + "version": "27.5.1", + "license": "MIT", "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" + "@jest/types": "^27.5.1", + "@types/node": "*" }, "engines": { - "node": ">=12" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, + "examples/sdk/react/node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/jest-config": { + "examples/sdk/react/node_modules/jest-regex-util": { + "version": "27.5.1", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "examples/sdk/react/node_modules/jest-resolve": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", "jest-util": "^27.5.1", "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } } }, - "node_modules/jest-config/node_modules/@jest/types": { + "examples/sdk/react/node_modules/jest-resolve-dependencies": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "examples/sdk/react/node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-config/node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "examples/sdk/react/node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/jest-config/node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, + "examples/sdk/react/node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/acorn-walk": { + "examples/sdk/react/node_modules/jest-resolve/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/jest-runner": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/jest-config/node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "examples/sdk/react/node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-config/node_modules/domexception": { + "examples/sdk/react/node_modules/jest-runner/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "license": "MIT", "dependencies": { - "webidl-conversions": "^5.0.0" + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "examples/sdk/react/node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-config/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "examples/sdk/react/node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-config/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "examples/sdk/react/node_modules/jest-runtime": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "examples/sdk/react/node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "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" + "color-convert": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "examples/sdk/react/node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-config/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "examples/sdk/react/node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/jest-config/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "examples/sdk/react/node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "examples/sdk/react/node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/jest-get-type": { + "examples/sdk/react/node_modules/jest-serializer": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/jest-regex-util": { + "examples/sdk/react/node_modules/jest-snapshot": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", - "@types/node": "*", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "ci-info": "^3.2.0", + "expect": "^27.5.1", "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "examples/sdk/react/node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "node": ">=8" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-config/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-config/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "examples/sdk/react/node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/jest-config/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-config/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "examples/sdk/react/node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-config/node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "examples/sdk/react/node_modules/jest-util": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "xml-name-validator": "^3.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=10" - } - }, - "node_modules/jest-config/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/jest-config/node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/jest-config/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "examples/sdk/react/node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/jest-config/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "node": ">=8" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", - "dev": true, + "examples/sdk/react/node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-diff/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-diff/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "examples/sdk/react/node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, + "examples/sdk/react/node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "examples/sdk/react/node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-each": { + "examples/sdk/react/node_modules/jest-validate": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", + "leven": "^3.1.0", "pretty-format": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-each/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "color-convert": "^2.0.1" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-each/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-each/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "examples/sdk/react/node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, + "examples/sdk/react/node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-each/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-environment-jsdom": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.2.tgz", - "integrity": "sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2", - "jsdom": "^20.0.0" + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "jest": "^27.0.0 || ^28.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/types": "^28.1.3", "@types/node": "*", - "jest-mock": "^29.6.2" + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -16268,86 +11127,111 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.24", + "license": "MIT", "dependencies": { - "type-detect": "4.0.8" + "@types/yargs-parser": "*" } }, - "node_modules/jest-environment-jsdom/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", + "@jest/types": "^28.1.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", + "pretty-format": "^28.1.3", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" - }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^28.1.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -16355,9665 +11239,8800 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-environment-node/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.2.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "dev": true, + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.20" } }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "node": ">=12" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/jest-haste-map/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/jest-haste-map/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-jasmine2": { + "examples/sdk/react/node_modules/jest-watcher": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", + "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "string-length": "^4.0.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "examples/sdk/react/node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "examples/sdk/react/node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } + "examples/sdk/react/node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "examples/sdk/react/node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { + "examples/sdk/react/node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 10.13.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "examples/sdk/react/node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "examples/sdk/react/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "examples/sdk/react/node_modules/jiti": { + "version": "1.18.2", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "examples/sdk/react/node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/js-yaml": { + "version": "3.14.1", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/jsdom": { + "version": "16.7.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "examples/sdk/react/node_modules/jsesc": { + "version": "2.5.2", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "examples/sdk/react/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/json-schema": { + "version": "0.4.0", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "examples/sdk/react/node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/json5": { + "version": "2.2.3", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "examples/sdk/react/node_modules/jsonfile": { + "version": "6.1.0", + "license": "MIT", "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "universalify": "^2.0.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jest-leak-detector/node_modules/ansi-regex": { + "examples/sdk/react/node_modules/jsonpointer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" + "examples/sdk/react/node_modules/jsx-ast-utils": { + "version": "3.3.3", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=4.0" } }, - "node_modules/jest-leak-detector/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "examples/sdk/react/node_modules/kind-of": { + "version": "6.0.3", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, + "examples/sdk/react/node_modules/kleur": { + "version": "3.0.3", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - }, + "examples/sdk/react/node_modules/klona": { + "version": "2.0.6", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/jest-matcher-utils/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "examples/sdk/react/node_modules/language-subtag-registry": { + "version": "0.3.22", + "license": "CC0-1.0" + }, + "examples/sdk/react/node_modules/language-tags": { + "version": "1.0.5", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "language-subtag-registry": "~0.3.2" } }, - "node_modules/jest-matcher-utils/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "examples/sdk/react/node_modules/launch-editor": { + "version": "2.6.0", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "examples/sdk/react/node_modules/leven": { + "version": "3.1.0", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "examples/sdk/react/node_modules/levn": { + "version": "0.4.1", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, + "examples/sdk/react/node_modules/lilconfig": { + "version": "2.1.0", + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/loader-runner": { + "version": "4.3.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.11.5" } }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "examples/sdk/react/node_modules/loader-utils": { + "version": "2.0.4", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8.9.0" } }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/locate-path": { + "version": "6.0.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } + "examples/sdk/react/node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" + "examples/sdk/react/node_modules/lodash.debounce": { + "version": "4.0.8", + "license": "MIT" + }, + "examples/sdk/react/node_modules/lodash.memoize": { + "version": "4.1.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/lodash.sortby": { + "version": "4.7.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/lodash.uniq": { + "version": "4.5.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "examples/sdk/react/node_modules/lower-case": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" } }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "examples/sdk/react/node_modules/lru-cache": { + "version": "5.1.1", + "license": "ISC", "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "yallist": "^3.0.2" } }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "examples/sdk/react/node_modules/magic-string": { + "version": "0.25.9", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/make-dir": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "semver": "^6.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "examples/sdk/react/node_modules/makeerror": { + "version": "1.0.12", + "license": "BSD-3-Clause", "dependencies": { - "@types/yargs-parser": "*" + "tmpl": "1.0.5" } }, - "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "examples/sdk/react/node_modules/mdn-data": { + "version": "2.0.4", + "license": "CC0-1.0" + }, + "examples/sdk/react/node_modules/media-typer": { + "version": "0.3.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.6" } }, - "node_modules/jest-resolve/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/memfs": { + "version": "3.5.3", + "license": "Unlicense", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "fs-monkey": "^1.0.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 4.0.0" } }, - "node_modules/jest-resolve/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" + "examples/sdk/react/node_modules/merge-descriptors": { + "version": "1.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "node_modules/jest-resolve/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/methods": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "examples/sdk/react/node_modules/micromatch": { + "version": "4.0.5", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8.6" } }, - "node_modules/jest-resolve/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "examples/sdk/react/node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "examples/sdk/react/node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" + "mime-db": "1.52.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.6" } }, - "node_modules/jest-runner/node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "examples/sdk/react/node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "examples/sdk/react/node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" + "schema-utils": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/jest-runner/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/jest-runner/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/jest-runner/node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "examples/sdk/react/node_modules/minimalistic-assert": { + "version": "1.0.1", + "license": "ISC" + }, + "examples/sdk/react/node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">= 6" + "node": "*" } }, - "node_modules/jest-runner/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "examples/sdk/react/node_modules/mkdirp": { + "version": "0.5.6", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/jest-runner/node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "examples/sdk/react/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/multicast-dns": { + "version": "7.2.5", + "license": "MIT", "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/jest-runner/node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "examples/sdk/react/node_modules/mz": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "examples/sdk/react/node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { - "acorn": "bin/acorn" + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=0.4.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/jest-runner/node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "examples/sdk/react/node_modules/natural-compare": { + "version": "1.4.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/natural-compare-lite": { + "version": "1.4.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/neo-async": { + "version": "2.6.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/no-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "examples/sdk/react/node_modules/node-forge": { + "version": "1.3.1", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { - "node": ">=0.4.0" + "node": ">= 6.13.0" } }, - "node_modules/jest-runner/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/node-int64": { + "version": "0.4.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/node-releases": { + "version": "2.0.12", + "license": "MIT" + }, + "examples/sdk/react/node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/normalize-range": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "examples/sdk/react/node_modules/normalize-url": { + "version": "6.1.0", + "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runner/node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/jest-runner/node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "examples/sdk/react/node_modules/npm-run-path": { + "version": "4.0.1", + "license": "MIT", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "examples/sdk/react/node_modules/nth-check": { + "version": "2.1.1", + "license": "BSD-2-Clause", "dependencies": { - "webidl-conversions": "^5.0.0" + "boolbase": "^1.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/jest-runner/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "examples/sdk/react/node_modules/nwsapi": { + "version": "2.2.5", + "license": "MIT" + }, + "examples/sdk/react/node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-runner/node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "examples/sdk/react/node_modules/object-hash": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": ">=10" - }, + "node": ">= 6" + } + }, + "examples/sdk/react/node_modules/object-inspect": { + "version": "1.12.3", + "license": "MIT", "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "examples/sdk/react/node_modules/object-keys": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "examples/sdk/react/node_modules/object.assign": { + "version": "4.1.4", + "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "examples/sdk/react/node_modules/object.entries": { + "version": "1.1.6", + "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=10" + "node": ">= 0.4" } }, - "node_modules/jest-runner/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "examples/sdk/react/node_modules/object.fromentries": { + "version": "2.0.6", + "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "examples/sdk/react/node_modules/object.getownpropertydescriptors": { + "version": "2.1.6", + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "examples/sdk/react/node_modules/object.hasown": { + "version": "1.1.2", + "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "examples/sdk/react/node_modules/object.values": { + "version": "1.1.6", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/obuf": { + "version": "1.1.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/on-finished": { + "version": "2.4.1", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "ee-first": "1.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-runner/node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "examples/sdk/react/node_modules/once": { + "version": "1.4.0", + "license": "ISC", "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "wrappy": "1" + } + }, + "examples/sdk/react/node_modules/onetime": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "node": ">=6" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runner/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/jest-runner/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/open": { + "version": "8.4.2", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runner/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-runner/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "examples/sdk/react/node_modules/optionator": { + "version": "0.9.1", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/jest-runner/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/p-limit": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runner/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "examples/sdk/react/node_modules/p-locate": { + "version": "5.0.0", + "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runner/node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "examples/sdk/react/node_modules/p-retry": { + "version": "4.6.2", + "license": "MIT", "dependencies": { - "xml-name-validator": "^3.0.0" + "@types/retry": "0.12.0", + "retry": "^0.13.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "examples/sdk/react/node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", "engines": { - "node": ">=10.4" + "node": ">=6" } }, - "node_modules/jest-runner/node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "examples/sdk/react/node_modules/param-case": { + "version": "3.0.4", + "license": "MIT", "dependencies": { - "iconv-lite": "0.4.24" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/jest-runner/node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/jest-runner/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "examples/sdk/react/node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/jest-runner/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/jest-runner/node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "examples/sdk/react/node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runtime/node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, + "examples/sdk/react/node_modules/parse5": { + "version": "6.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-runtime/node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "examples/sdk/react/node_modules/pascal-case": { + "version": "3.1.2", + "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, + "examples/sdk/react/node_modules/path-exists": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" + "examples/sdk/react/node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jest-runtime/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "examples/sdk/react/node_modules/path-to-regexp": { + "version": "0.1.7", + "license": "MIT" + }, + "examples/sdk/react/node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "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" - }, + "examples/sdk/react/node_modules/performance-now": { + "version": "2.1.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/picocolors": { + "version": "1.0.0", + "license": "ISC" + }, + "examples/sdk/react/node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", "engines": { - "node": "*" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/jest-runtime/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, + "examples/sdk/react/node_modules/pify": { + "version": "2.3.0", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-runtime/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "examples/sdk/react/node_modules/pirates": { + "version": "4.0.6", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 6" } }, - "node_modules/jest-runtime/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/pkg-dir": { + "version": "4.2.0", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "find-up": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-runtime/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "examples/sdk/react/node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "examples/sdk/react/node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" + "p-try": "^2.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "examples/sdk/react/node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" + "p-limit": "^2.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/pkg-up": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "find-up": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/jest-snapshot/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "examples/sdk/react/node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "examples/sdk/react/node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-snapshot/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "examples/sdk/react/node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "examples/sdk/react/node_modules/postcss": { + "version": "8.4.24", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^10 || ^12 || >=14" } }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "examples/sdk/react/node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jest-snapshot/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "examples/sdk/react/node_modules/postcss-browser-comments": { + "version": "4.0.0", + "license": "CC0-1.0", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" } }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "examples/sdk/react/node_modules/postcss-calc": { + "version": "8.2.4", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/jest-snapshot/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "examples/sdk/react/node_modules/postcss-clamp": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" } }, - "node_modules/jest-snapshot/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "examples/sdk/react/node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "license": "CC0-1.0", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "examples/sdk/react/node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-snapshot/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "examples/sdk/react/node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "examples/sdk/react/node_modules/postcss-colormin": { + "version": "5.3.1", + "license": "MIT", "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "examples/sdk/react/node_modules/postcss-convert-values": { + "version": "5.1.3", + "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "examples/sdk/react/node_modules/postcss-custom-media": { + "version": "8.0.2", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "examples/sdk/react/node_modules/postcss-custom-properties": { + "version": "12.1.11", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-validate/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "examples/sdk/react/node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "examples/sdk/react/node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jest-validate/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "examples/sdk/react/node_modules/postcss-discard-comments": { + "version": "5.1.2", + "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "node": "^10 || ^12 || >=14.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, + "examples/sdk/react/node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-watcher/node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "examples/sdk/react/node_modules/postcss-discard-empty": { + "version": "5.1.1", + "license": "MIT", "engines": { - "node": ">=10" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-watcher/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, + "examples/sdk/react/node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "examples/sdk/react/node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "license": "CC0-1.0", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "examples/sdk/react/node_modules/postcss-env-function": { + "version": "4.0.6", + "license": "CC0-1.0", "dependencies": { - "has-flag": "^4.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jest/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "examples/sdk/react/node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "examples/sdk/react/node_modules/postcss-focus-visible": { + "version": "6.0.4", + "license": "CC0-1.0", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "postcss-selector-parser": "^6.0.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jest/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "examples/sdk/react/node_modules/postcss-focus-within": { + "version": "5.0.4", + "license": "CC0-1.0", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "postcss-selector-parser": "^6.0.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jest/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", - "bin": { - "jiti": "bin/jiti.js" + "examples/sdk/react/node_modules/postcss-font-variant": { + "version": "5.0.0", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" + "examples/sdk/react/node_modules/postcss-gap-properties": { + "version": "3.0.5", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, + "examples/sdk/react/node_modules/postcss-image-set-function": { + "version": "4.0.7", + "license": "CC0-1.0", "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=14" + "node": "^12 || ^14 || >=16" }, - "peerDependencies": { - "canvas": "^2.5.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" + "examples/sdk/react/node_modules/postcss-import": { + "version": "15.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "examples/sdk/react/node_modules/postcss-initial": { + "version": "4.0.1", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "examples/sdk/react/node_modules/postcss-js": { + "version": "4.0.1", + "license": "MIT", "dependencies": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" + "camelcase-css": "^2.0.1" }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" } }, - "node_modules/jsonc/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "examples/sdk/react/node_modules/postcss-lab-function": { + "version": "4.2.1", + "license": "CC0-1.0", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/jsonc/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "examples/sdk/react/node_modules/postcss-load-config": { + "version": "4.0.1", + "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "examples/sdk/react/node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.1", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "examples/sdk/react/node_modules/postcss-loader": { + "version": "6.2.1", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" }, "engines": { - "node": ">=4.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "examples/sdk/react/node_modules/postcss-logical": { + "version": "5.0.4", + "license": "CC0-1.0", "engines": { - "node": ">=0.10.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "examples/sdk/react/node_modules/postcss-media-minmax": { + "version": "5.0.0", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "examples/sdk/react/node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, "engines": { - "node": ">= 8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "examples/sdk/react/node_modules/postcss-merge-rules": { + "version": "5.1.4", + "license": "MIT", "dependencies": { - "language-subtag-registry": "~0.3.2" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "examples/sdk/react/node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "examples/sdk/react/node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "readable-stream": "^2.0.5" + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.6.3" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/lazystream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "examples/sdk/react/node_modules/postcss-minify-params": { + "version": "5.1.4", + "license": "MIT", "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" + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "examples/sdk/react/node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "examples/sdk/react/node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "license": "ISC", "engines": { - "node": ">=6" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "examples/sdk/react/node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "examples/sdk/react/node_modules/postcss-modules-scope": { + "version": "3.0.0", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "examples/sdk/react/node_modules/postcss-modules-values": { + "version": "4.0.0", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, "engines": { - "node": ">=6.11.5" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "examples/sdk/react/node_modules/postcss-nested": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "postcss-selector-parser": "^6.0.11" }, "engines": { - "node": ">=8.9.0" + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" } }, - "node_modules/loader-utils/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" + "examples/sdk/react/node_modules/postcss-nesting": { + "version": "10.2.0", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">=6" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "examples/sdk/react/node_modules/postcss-normalize": { + "version": "10.0.1", + "license": "CC0-1.0", "dependencies": { - "p-locate": "^5.0.0" + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" }, "engines": { - "node": ">=10" + "node": ">= 12" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "examples/sdk/react/node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" }, - "bin": { - "loose-envify": "cli.js" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "examples/sdk/react/node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dependencies": { - "sourcemap-codec": "^1.4.8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, + "examples/sdk/react/node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "pify": "^3.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "examples/sdk/react/node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, + "examples/sdk/react/node_modules/postcss-normalize-string": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "object-visit": "^1.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, + "examples/sdk/react/node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "examples/sdk/react/node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "fs-monkey": "^1.0.4" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/memory-fs/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "examples/sdk/react/node_modules/postcss-normalize-url": { + "version": "5.1.0", + "license": "MIT", "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" + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/memory-fs/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "examples/sdk/react/node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">= 8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "examples/sdk/react/node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "examples/sdk/react/node_modules/postcss-ordered-values": { + "version": "5.1.3", + "license": "MIT", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8.6" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "node": "^10 || ^12 || >=14.0" }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "examples/sdk/react/node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" + "examples/sdk/react/node_modules/postcss-page-break": { + "version": "3.0.4", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "examples/sdk/react/node_modules/postcss-place": { + "version": "7.0.5", + "license": "CC0-1.0", "dependencies": { - "mime-db": "1.52.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.6" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "examples/sdk/react/node_modules/postcss-preset-env": { + "version": "7.8.3", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=6" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "examples/sdk/react/node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "license": "CC0-1.0", "dependencies": { - "schema-utils": "^4.0.0" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">= 12.13.0" + "node": "^12 || ^14 || >=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "webpack": "^5.0.0" + "postcss": "^8.2" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "examples/sdk/react/node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "examples/sdk/react/node_modules/postcss-reduce-transforms": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { - "ajv": "^8.8.2" + "postcss": "^8.2.15" } }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "examples/sdk/react/node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "examples/sdk/react/node_modules/postcss-selector-not": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">= 12.13.0" + "node": "^12 || ^14 || >=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "examples/sdk/react/node_modules/postcss-selector-parser": { + "version": "6.0.13", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "examples/sdk/react/node_modules/postcss-svgo": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "examples/sdk/react/node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 10" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, + "examples/sdk/react/node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "license": "MIT", "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, + "examples/sdk/react/node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "license": "CC0-1.0" + }, + "examples/sdk/react/node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "examples/sdk/react/node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" }, "bin": { - "mkdirp": "bin/cmd.js" + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "dev": true, + "examples/sdk/react/node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/move-concurrently/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "examples/sdk/react/node_modules/postcss-value-parser": { + "version": "4.2.0", + "license": "MIT" }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "examples/sdk/react/node_modules/prelude-ls": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "examples/sdk/react/node_modules/pretty-bytes": { + "version": "5.6.0", + "license": "MIT", + "engines": { + "node": ">=6" }, - "bin": { - "multicast-dns": "cli.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "examples/sdk/react/node_modules/pretty-error": { + "version": "4.0.0", + "license": "MIT", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "lodash": "^4.17.20", + "renderkid": "^3.0.0" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, + "examples/sdk/react/node_modules/pretty-format": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/native-reg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "examples/sdk/react/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "examples/sdk/react/node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "examples/sdk/react/node_modules/promise": { + "version": "8.3.0", + "license": "MIT", "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "asap": "~2.0.6" } }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/nock": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", - "dev": true, + "examples/sdk/react/node_modules/prompts": { + "version": "2.4.2", + "license": "MIT", "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">= 10.13" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "node": ">= 6" } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, + "examples/sdk/react/node_modules/prop-types": { + "version": "15.8.1", + "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/node-libs-browser/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "examples/sdk/react/node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "examples/sdk/react/node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", "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" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/node-libs-browser/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "examples/sdk/react/node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "examples/sdk/react/node_modules/psl": { + "version": "1.9.0", + "license": "MIT" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "examples/sdk/react/node_modules/punycode": { + "version": "2.3.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "examples/sdk/react/node_modules/q": { + "version": "1.5.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "examples/sdk/react/node_modules/qs": { + "version": "6.11.0", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=10" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "examples/sdk/react/node_modules/querystringify": { + "version": "2.2.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "examples/sdk/react/node_modules/raf": { + "version": "3.4.1", + "license": "MIT", "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" + "performance-now": "^2.1.0" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "examples/sdk/react/node_modules/randombytes": { + "version": "2.1.0", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "safe-buffer": "^5.1.0" } }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "examples/sdk/react/node_modules/range-parser": { + "version": "1.2.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, + "examples/sdk/react/node_modules/raw-body": { + "version": "2.5.1", + "license": "MIT", "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "examples/sdk/react/node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, + "examples/sdk/react/node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, + "examples/sdk/react/node_modules/react": { + "version": "18.2.0", + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "examples/sdk/react/node_modules/react-app-polyfill": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "examples/sdk/react/node_modules/react-dev-utils": { + "version": "12.0.1", + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "examples/sdk/react/node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "examples/sdk/react/node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, + "examples/sdk/react/node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "isobject": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "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" - }, + "examples/sdk/react/node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, + "examples/sdk/react/node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, + "examples/sdk/react/node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 12.13.0" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "examples/sdk/react/node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" + "node": ">=8" } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "examples/sdk/react/node_modules/react-dom": { + "version": "18.2.0", + "license": "MIT", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "react": "^18.2.0" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, + "examples/sdk/react/node_modules/react-error-overlay": { + "version": "6.0.11", + "license": "MIT" + }, + "examples/sdk/react/node_modules/react-is": { + "version": "17.0.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/react-refresh": { + "version": "0.11.0", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "examples/sdk/react/node_modules/react-scripts": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" }, "engines": { - "node": ">= 0.4" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "examples/sdk/react/node_modules/react-toastify": { + "version": "9.1.3", + "license": "MIT", "dependencies": { - "ee-first": "1.1.1" + "clsx": "^1.1.1" }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "examples/sdk/react/node_modules/read-cache": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "wrappy": "1" + "pify": "^2.3.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "examples/sdk/react/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", "dependencies": { - "mimic-fn": "^2.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "examples/sdk/react/node_modules/readdirp": { + "version": "3.6.0", + "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.10.0" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "examples/sdk/react/node_modules/recursive-readdir": { + "version": "2.2.3", + "license": "MIT", "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" + "minimatch": "^3.0.5" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6.0.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true + "examples/sdk/react/node_modules/regenerate": { + "version": "1.4.2", + "license": "MIT" }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "examples/sdk/react/node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "examples/sdk/react/node_modules/regenerator-runtime": { + "version": "0.13.11", + "license": "MIT" + }, + "examples/sdk/react/node_modules/regenerator-transform": { + "version": "0.15.1", + "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "@babel/runtime": "^7.8.4" + } + }, + "examples/sdk/react/node_modules/regex-parser": { + "version": "2.2.11", + "license": "MIT" + }, + "examples/sdk/react/node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "examples/sdk/react/node_modules/regexpu-core": { + "version": "5.3.2", + "license": "MIT", "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "@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" }, "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, + "examples/sdk/react/node_modules/regjsparser": { + "version": "0.9.1", + "license": "BSD-2-Clause", "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/parallel-transform/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "examples/sdk/react/node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/parallel-transform/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "examples/sdk/react/node_modules/relateurl": { + "version": "0.2.7", + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "examples/sdk/react/node_modules/renderkid": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" } }, - "node_modules/param-case/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, + "examples/sdk/react/node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "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" - } + "examples/sdk/react/node_modules/requires-port": { + "version": "1.0.0", + "license": "MIT" }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "examples/sdk/react/node_modules/resolve": { + "version": "1.22.2", + "license": "MIT", "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" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, + "examples/sdk/react/node_modules/resolve-cwd": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "resolve-from": "^5.0.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascal-case/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "optional": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "examples/sdk/react/node_modules/resolve-from": { + "version": "5.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "examples/sdk/react/node_modules/resolve-url-loader": { + "version": "4.0.0", + "license": "MIT", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8.9" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } } }, - "node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } + "examples/sdk/react/node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "license": "ISC" }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, + "examples/sdk/react/node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "license": "MIT", "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": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=0.12" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "examples/sdk/react/node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, + "examples/sdk/react/node_modules/resolve.exports": { + "version": "1.1.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, + "examples/sdk/react/node_modules/retry": { + "version": "0.13.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "examples/sdk/react/node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", "engines": { - "node": ">= 6" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "examples/sdk/react/node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", "dependencies": { - "find-up": "^4.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "bin": { + "rimraf": "bin.js" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" + "examples/sdk/react/node_modules/rollup": { + "version": "2.79.1", + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "examples/sdk/react/node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "rollup": "^2.0.0" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, + "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "license": "MIT", "dependencies": { - "find-up": "^3.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" } }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "license": "BSD-3-Clause", "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" + "randombytes": "^2.1.0" } }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "examples/sdk/react/node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "examples/sdk/react/node_modules/safe-array-concat": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "p-limit": "^2.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "examples/sdk/react/node_modules/safe-buffer": { + "version": "5.2.1", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "consulting", + "url": "https://feross.org/support" } ], + "license": "MIT" + }, + "examples/sdk/react/node_modules/safe-regex-test": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, - "engines": { - "node": "^10 || ^12 || >=14" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "examples/sdk/react/node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/sanitize.css": { + "version": "13.0.0", + "license": "CC0-1.0" + }, + "examples/sdk/react/node_modules/sass-loader": { + "version": "12.6.0", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "klona": "^2.0.4", + "neo-async": "^2.6.2" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/csstools" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "engines": { - "node": ">=8" + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" }, - "peerDependencies": { - "browserslist": ">=4", - "postcss": ">=8" + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } } }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } + "examples/sdk/react/node_modules/sax": { + "version": "1.2.4", + "license": "ISC" }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "examples/sdk/react/node_modules/saxes": { + "version": "5.0.1", + "license": "ISC", "dependencies": { - "postcss-value-parser": "^4.2.0" + "xmlchars": "^2.2.0" }, "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" + "node": ">=10" } }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "examples/sdk/react/node_modules/scheduler": { + "version": "0.23.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "loose-envify": "^1.1.0" } }, - "node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "examples/sdk/react/node_modules/schema-utils": { + "version": "3.3.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" + "url": "https://opencollective.com/webpack" } }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "examples/sdk/react/node_modules/select-hose": { + "version": "2.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/selfsigned": { + "version": "2.1.1", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "node-forge": "^1" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=10" } }, - "node_modules/postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "examples/sdk/react/node_modules/semver": { + "version": "7.5.3", + "license": "ISC", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "lru-cache": "^6.0.0" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=10" } }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "examples/sdk/react/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "yallist": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10" } }, - "node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "examples/sdk/react/node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "examples/sdk/react/node_modules/send": { + "version": "0.18.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" + "node": ">= 0.8.0" } }, - "node_modules/postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "examples/sdk/react/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "ms": "2.0.0" } }, - "node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "examples/sdk/react/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/send/node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "examples/sdk/react/node_modules/serialize-javascript": { + "version": "6.0.1", + "license": "BSD-3-Clause", "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" + "randombytes": "^2.1.0" } }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "examples/sdk/react/node_modules/serve-index": { + "version": "1.9.1", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 0.8.0" } }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "examples/sdk/react/node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "examples/sdk/react/node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.6" } }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "engines": { - "node": "^10 || ^12 || >=14.0" + "examples/sdk/react/node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">= 0.6" } }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "examples/sdk/react/node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" + }, + "examples/sdk/react/node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "license": "ISC" + }, + "examples/sdk/react/node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.6" } }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "examples/sdk/react/node_modules/serve-static": { + "version": "1.15.0", + "license": "MIT", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 0.8.0" } }, - "node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "examples/sdk/react/node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "examples/sdk/react/node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=8" } }, - "node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "peerDependencies": { - "postcss": "^8.1.4" + "examples/sdk/react/node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "examples/sdk/react/node_modules/shell-quote": { + "version": "1.8.1", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "examples/sdk/react/node_modules/side-channel": { + "version": "1.0.4", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.9" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "examples/sdk/react/node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" + }, + "examples/sdk/react/node_modules/sisteransi": { + "version": "1.0.5", + "license": "MIT" + }, + "examples/sdk/react/node_modules/slash": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=8" } }, - "node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "examples/sdk/react/node_modules/sockjs": { + "version": "0.3.24", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "peerDependencies": { - "postcss": "^8.1.0" + "examples/sdk/react/node_modules/source-list-map": { + "version": "2.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/source-map": { + "version": "0.7.4", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" } }, - "node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "examples/sdk/react/node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=0.10.0" } }, - "node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "examples/sdk/react/node_modules/source-map-loader": { + "version": "3.0.2", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/csstools" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "postcss": "^8.2" + "webpack": "^5.0.0" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "examples/sdk/react/node_modules/source-map-support": { + "version": "0.5.21", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "peerDependencies": { - "postcss": "^8.0.0" + "examples/sdk/react/node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "examples/sdk/react/node_modules/sourcemap-codec": { + "version": "1.4.8", + "license": "MIT" + }, + "examples/sdk/react/node_modules/spdy": { + "version": "4.0.2", + "license": "MIT", "dependencies": { - "camelcase-css": "^2.0.1" + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" + "node": ">=6.0.0" } }, - "node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "examples/sdk/react/node_modules/spdy-transport": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" } }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "examples/sdk/react/node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "examples/sdk/react/node_modules/stable": { + "version": "0.1.8", + "license": "MIT" + }, + "examples/sdk/react/node_modules/stack-utils": { + "version": "2.0.6", + "license": "MIT", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=10" } }, - "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "examples/sdk/react/node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } + "examples/sdk/react/node_modules/stackframe": { + "version": "1.3.4", + "license": "MIT" }, - "node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "examples/sdk/react/node_modules/statuses": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.8" } }, - "node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "examples/sdk/react/node_modules/string_decoder": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "examples/sdk/react/node_modules/string-length": { + "version": "4.0.2", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10" } }, - "node_modules/postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "examples/sdk/react/node_modules/string-natural-compare": { + "version": "3.0.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/string.prototype.matchall": { + "version": "4.0.8", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "examples/sdk/react/node_modules/string.prototype.trim": { + "version": "1.2.7", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "examples/sdk/react/node_modules/string.prototype.trimend": { + "version": "1.0.6", + "license": "MIT", "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "examples/sdk/react/node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "examples/sdk/react/node_modules/stringify-object": { + "version": "3.3.0", + "license": "BSD-2-Clause", "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "examples/sdk/react/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.5" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "examples/sdk/react/node_modules/strip-bom": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, + "examples/sdk/react/node_modules/strip-comments": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=10" } }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, + "examples/sdk/react/node_modules/strip-final-newline": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=6" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dependencies": { - "icss-utils": "^5.0.0" - }, + "examples/sdk/react/node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, + "examples/sdk/react/node_modules/style-loader": { + "version": "3.3.3", + "license": "MIT", "engines": { - "node": ">=12.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "postcss": "^8.2.14" + "webpack": "^5.0.0" } }, - "node_modules/postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "examples/sdk/react/node_modules/stylehacks": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { - "postcss": "^8.2" + "postcss": "^8.2.15" } }, - "node_modules/postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "examples/sdk/react/node_modules/sucrase": { + "version": "3.32.0", + "license": "MIT", "dependencies": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" }, - "engines": { - "node": ">= 12" + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" }, - "peerDependencies": { - "browserslist": ">= 4", - "postcss": ">= 8" + "engines": { + "node": ">=8" } }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "examples/sdk/react/node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 6" } }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "examples/sdk/react/node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "license": "ISC", "dependencies": { - "postcss-value-parser": "^4.2.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "*" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "examples/sdk/react/node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "has-flag": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "examples/sdk/react/node_modules/supports-hyperlinks": { + "version": "2.3.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "examples/sdk/react/node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "examples/sdk/react/node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=8" + } + }, + "examples/sdk/react/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "examples/sdk/react/node_modules/svg-parser": { + "version": "2.0.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/svgo": { + "version": "1.3.2", + "license": "MIT", "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "svgo": "bin/svgo" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "examples/sdk/react/node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "license": "BSD-2-Clause", "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "examples/sdk/react/node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "license": "BSD-2-Clause", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 6" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "examples/sdk/react/node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "examples/sdk/react/node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "examples/sdk/react/node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "license": "BSD-2-Clause" + }, + "examples/sdk/react/node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "examples/sdk/react/node_modules/symbol-tree": { + "version": "3.2.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/tailwindcss": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], + "examples/sdk/react/node_modules/tapable": { + "version": "2.2.1", + "license": "MIT", "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=6" } }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, + "examples/sdk/react/node_modules/temp-dir": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "examples/sdk/react/node_modules/tempy": { + "version": "0.6.0", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "peerDependencies": { - "postcss": "^8" + "examples/sdk/react/node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "examples/sdk/react/node_modules/terminal-link": { + "version": "2.1.1", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "examples/sdk/react/node_modules/terser": { + "version": "5.18.2", + "license": "BSD-2-Clause", "dependencies": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "bin": { + "terser": "bin/terser" }, - "peerDependencies": { - "postcss": "^8.2" + "engines": { + "node": ">=10" } }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "examples/sdk/react/node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/csstools" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "postcss": "^8.2" + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "examples/sdk/react/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "examples/sdk/react/node_modules/test-exclude": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "examples/sdk/react/node_modules/text-table": { + "version": "0.2.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/thenify": { + "version": "3.3.1", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "any-promise": "^1.0.0" + } + }, + "examples/sdk/react/node_modules/thenify-all": { + "version": "1.6.0", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.8" } }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "peerDependencies": { - "postcss": "^8.0.3" + "examples/sdk/react/node_modules/throat": { + "version": "6.0.2", + "license": "MIT" + }, + "examples/sdk/react/node_modules/thunky": { + "version": "1.1.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/tmpl": { + "version": "1.0.5", + "license": "BSD-3-Clause" + }, + "examples/sdk/react/node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "examples/sdk/react/node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "is-number": "^7.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=8.0" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, + "examples/sdk/react/node_modules/toidentifier": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.6" } }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "examples/sdk/react/node_modules/tough-cookie": { + "version": "4.1.3", + "license": "BSD-3-Clause", "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=6" } }, - "node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "examples/sdk/react/node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 4.0.0" } }, - "node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "examples/sdk/react/node_modules/tr46": { + "version": "2.1.0", + "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "punycode": "^2.1.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "examples/sdk/react/node_modules/tryer": { + "version": "1.0.1", + "license": "MIT" }, - "node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" + "examples/sdk/react/node_modules/ts-interface-checker": { + "version": "0.1.13", + "license": "Apache-2.0" + }, + "examples/sdk/react/node_modules/tsconfig-paths": { + "version": "3.14.2", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "examples/sdk/react/node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "minimist": "^1.2.0" }, "bin": { - "svgo": "bin/svgo" - }, + "json5": "lib/cli.js" + } + }, + "examples/sdk/react/node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=4" } }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "examples/sdk/react/node_modules/tslib": { + "version": "2.6.0", + "license": "0BSD" + }, + "examples/sdk/react/node_modules/tsutils": { + "version": "3.21.0", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.5" + "tslib": "^1.8.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 6" }, "peerDependencies": { - "postcss": "^8.2.15" + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "examples/sdk/react/node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "examples/sdk/react/node_modules/type-check": { + "version": "0.4.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, + "examples/sdk/react/node_modules/type-detect": { + "version": "4.0.8", + "license": "MIT", "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=4" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "examples/sdk/react/node_modules/type-fest": { + "version": "0.21.3", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "examples/sdk/react/node_modules/type-is": { + "version": "1.6.18", + "license": "MIT", "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" + "examples/sdk/react/node_modules/typed-array-length": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "examples/sdk/react/node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "license": "MIT", "dependencies": { - "asap": "~2.0.6" + "is-typedarray": "^1.0.0" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "examples/sdk/react/node_modules/typescript": { + "version": "4.9.5", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 6" + "node": ">=4.2.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "examples/sdk/react/node_modules/unbox-primitive": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true, + "examples/sdk/react/node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "examples/sdk/react/node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=4" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "examples/sdk/react/node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "license": "MIT", "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "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" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "node": ">=4" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "examples/sdk/react/node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, + "examples/sdk/react/node_modules/unique-string": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "crypto-random-string": "^2.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "examples/sdk/react/node_modules/universalify": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">= 10.0.0" } }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, + "examples/sdk/react/node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true, + "examples/sdk/react/node_modules/unquote": { + "version": "1.1.1", + "license": "MIT" + }, + "examples/sdk/react/node_modules/upath": { + "version": "1.2.0", + "license": "MIT", "engines": { - "node": ">=0.4.x" + "node": ">=4", + "yarn": "*" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "examples/sdk/react/node_modules/update-browserslist-db": { + "version": "1.0.11", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + ], + "license": "MIT", "dependencies": { - "performance-now": "^2.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "examples/sdk/react/node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", "dependencies": { - "safe-buffer": "^5.1.0" + "punycode": "^2.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, + "examples/sdk/react/node_modules/url-parse": { + "version": "1.5.10", + "license": "MIT", "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "dev": true, - "engines": { - "node": ">= 0.6" - } + "examples/sdk/react/node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "examples/sdk/react/node_modules/util.promisify": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } + "examples/sdk/react/node_modules/utila": { + "version": "0.4.0", + "license": "MIT" }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "examples/sdk/react/node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4.0" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, + "examples/sdk/react/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "uuid": "dist/bin/uuid" } }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "examples/sdk/react/node_modules/v8-to-istanbul": { + "version": "8.1.1", + "license": "ISC", "dependencies": { - "loose-envify": "^1.1.0" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.12.0" } }, - "node_modules/react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "examples/sdk/react/node_modules/w3c-hr-time": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - }, - "engines": { - "node": ">=14" + "browser-process-hrtime": "^1.0.0" } }, - "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "examples/sdk/react/node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "xml-name-validator": "^3.0.0" }, "engines": { - "node": ">=14" + "node": ">=10" } }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "engines": { - "node": ">= 12.13.0" + "examples/sdk/react/node_modules/walker": { + "version": "1.0.8", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "examples/sdk/react/node_modules/watchpack": { + "version": "2.4.0", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, - "peerDependencies": { - "react": "^18.2.0" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "examples/sdk/react/node_modules/wbuf": { + "version": "1.7.3", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "examples/sdk/react/node_modules/web-vitals": { + "version": "2.1.4", + "license": "Apache-2.0" }, - "node_modules/react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "examples/sdk/react/node_modules/webidl-conversions": { + "version": "6.1.0", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=10.4" } }, - "node_modules/react-toastify": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", - "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "examples/sdk/react/node_modules/webpack": { + "version": "5.88.0", + "license": "MIT", "dependencies": { - "clsx": "^1.1.1" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "examples/sdk/react/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", "dependencies": { - "minimatch": "^5.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=10" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "examples/sdk/react/node_modules/webpack-dev-server": { + "version": "4.15.1", + "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">=8.10.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } } }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, + "examples/sdk/react/node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", "dependencies": { - "resolve": "^1.20.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 10.13.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "examples/sdk/react/node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", "dependencies": { - "minimatch": "^3.0.5" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "examples/sdk/react/node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dependencies": { - "regenerate": "^1.4.2" - }, + "examples/sdk/react/node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.13.0", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "examples/sdk/react/node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.4" + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, + "examples/sdk/react/node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "examples/sdk/react/node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.13.0" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "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" - }, + "examples/sdk/react/node_modules/webpack-sources": { + "version": "3.2.3", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10.13.0" } }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, + "examples/sdk/react/node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", - "dev": true, - "dependencies": { - "rc": "^1.0.1" - }, + "examples/sdk/react/node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "examples/sdk/react/node_modules/websocket-driver": { + "version": "0.7.4", + "license": "Apache-2.0", "dependencies": { - "jsesc": "~0.5.0" + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "examples/sdk/react/node_modules/websocket-extensions": { + "version": "0.1.4", + "license": "Apache-2.0", "engines": { - "node": ">= 0.10" + "node": ">=0.8.0" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "optional": true - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "examples/sdk/react/node_modules/whatwg-encoding": { + "version": "1.0.5", + "license": "MIT", "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" + "iconv-lite": "0.4.24" } }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, + "examples/sdk/react/node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "engines": { - "node": ">=0.10" - } + "examples/sdk/react/node_modules/whatwg-fetch": { + "version": "3.6.2", + "license": "MIT" }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "examples/sdk/react/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/whatwg-url": { + "version": "8.7.0", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/require-from-string": { + "examples/sdk/react/node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "examples/sdk/react/node_modules/which-boxed-primitive": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "examples/sdk/react/node_modules/which-typed-array": { + "version": "1.1.9", + "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "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", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "examples/sdk/react/node_modules/word-wrap": { + "version": "1.2.3", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" + "examples/sdk/react/node_modules/workbox-background-sync": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + "examples/sdk/react/node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } }, - "node_modules/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "examples/sdk/react/node_modules/workbox-build": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" }, "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" - }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } + "node": ">=10.0.0" } }, - "node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "examples/sdk/react/node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependencies": { + "ajv": ">=8" } }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" + "examples/sdk/react/node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "examples/sdk/react/node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { "node": ">=10" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, + "examples/sdk/react/node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, "engines": { - "node": ">=0.12" + "node": ">= 8" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" + "examples/sdk/react/node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "examples/sdk/react/node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "license": "BSD-2-Clause" + }, + "examples/sdk/react/node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "node_modules/rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", - "dev": true, + "examples/sdk/react/node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "glob": "^10.2.5" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "workbox-core": "6.6.0" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, + "examples/sdk/react/node_modules/workbox-core": { + "version": "6.6.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/workbox-expiration": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "idb": "^7.0.1", + "workbox-core": "6.6.0" } }, - "node_modules/rollup": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", - "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", - "peer": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "examples/sdk/react/node_modules/workbox-google-analytics": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "examples/sdk/react/node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "workbox-core": "6.6.0" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", - "dev": true, + "examples/sdk/react/node_modules/workbox-precaching": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "aproba": "^1.1.1" + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" } }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "examples/sdk/react/node_modules/workbox-range-requests": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "workbox-core": "6.6.0" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "examples/sdk/react/node_modules/workbox-recipes": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, + "examples/sdk/react/node_modules/workbox-routing": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "ret": "~0.1.10" + "workbox-core": "6.6.0" } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "examples/sdk/react/node_modules/workbox-strategies": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "workbox-core": "6.6.0" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "examples/sdk/react/node_modules/workbox-streams": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } }, - "node_modules/sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "examples/sdk/react/node_modules/workbox-sw": { + "version": "6.6.0", + "license": "MIT" }, - "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "examples/sdk/react/node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=10.0.0" }, "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } + "webpack": "^4.4.0 || ^5.9.0" } }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "examples/sdk/react/node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, + "examples/sdk/react/node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "examples/sdk/react/node_modules/workbox-window": { + "version": "6.6.0", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "examples/sdk/react/node_modules/wrap-ansi": { + "version": "7.0.0", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dev": true, + "examples/sdk/react/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "commander": "^2.8.1" + "color-convert": "^2.0.1" }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "examples/sdk/react/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "node-forge": "^1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "examples/sdk/react/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "examples/sdk/react/node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "examples/sdk/react/node_modules/write-file-atomic": { + "version": "3.0.3", + "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "examples/sdk/react/node_modules/ws": { + "version": "7.5.9", + "license": "MIT", + "engines": { + "node": ">=8.3.0" }, - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "examples/sdk/react/node_modules/xml-name-validator": { + "version": "3.0.0", + "license": "Apache-2.0" + }, + "examples/sdk/react/node_modules/xmlchars": { + "version": "2.2.0", + "license": "MIT" + }, + "examples/sdk/react/node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", "engines": { "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "examples/sdk/react/node_modules/yallist": { + "version": "3.1.1", + "license": "ISC" + }, + "examples/sdk/react/node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "examples/sdk/react/node_modules/yargs": { + "version": "16.2.0", + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "examples/sdk/react/node_modules/yargs-parser": { + "version": "20.2.9", + "license": "ISC", + "engines": { + "node": ">=10" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/send/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "examples/sdk/react/node_modules/yocto-queue": { + "version": "0.1.0", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "node_modules/@75lb/deep-merge": { + "version": "1.1.1", + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.17" } }, - "node_modules/serve": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", - "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "node_modules/@75lb/deep-merge/node_modules/typical": { + "version": "7.1.1", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@zeit/schemas": "2.29.0", - "ajv": "8.11.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.5", - "update-check": "1.5.4" - }, - "bin": { - "serve": "build/main.js" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">= 14" + "node": ">=6.0.0" } }, - "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "node_modules/@babel/code-frame": { + "version": "7.21.4", "dev": true, + "license": "MIT", "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "node_modules/@babel/compat-data": { + "version": "7.22.0", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "node_modules/@babel/core": { + "version": "7.22.1", "dev": true, + "license": "MIT", "dependencies": { - "mime-db": "~1.33.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/@babel/generator": { + "version": "7.22.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.1", + "dev": true, + "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "dev": true, + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6.9.0" } }, - "node_modules/serve/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@babel/types": "^7.18.6" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.4" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/serve/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", "dev": true, + "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "@babel/types": "^7.21.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", "dev": true, + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "@babel/types": "^7.18.6" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/@babel/helpers": { + "version": "7.22.0", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.0", + "@babel/types": "^7.22.0" }, - "bin": { - "sha.js": "bin.js" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/@babel/highlight": { + "version": "7.18.6", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "color-name": "1.1.3" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" }, - "node_modules/sisteransi": { + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", "dev": true, + "license": "MIT", "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/@babel/parser": { + "version": "7.22.0", "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", "dev": true, + "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@babel/helper-plugin-utils": "^7.12.13" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", "dev": true, + "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.21.4", "dev": true, + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", "dev": true, + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.21.4", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "^5.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/@babel/runtime": { + "version": "7.22.6", "dev": true, + "license": "MIT", "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/@babel/template": { + "version": "7.21.9", + "dev": true, + "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/@babel/traverse": { + "version": "7.22.1", + "dev": true, + "license": "MIT", "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.22.0", + "@babel/types": "^7.22.0", "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "globals": "^11.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" } }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/@babel/types": { + "version": "7.22.0", "dev": true, + "license": "MIT", "dependencies": { - "extend-shallow": "^3.0.0" + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "node_modules/@backtrace/browser": { + "resolved": "packages/browser", + "link": true }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } + "node_modules/@backtrace/browser-example": { + "resolved": "examples/sdk/browser", + "link": true }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + "node_modules/@backtrace/javascript-cli": { + "resolved": "tools/cli", + "link": true }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, + "node_modules/@backtrace/node": { + "resolved": "packages/node", + "link": true + }, + "node_modules/@backtrace/node-example": { + "resolved": "examples/sdk/node", + "link": true + }, + "node_modules/@backtrace/react": { + "resolved": "packages/react", + "link": true + }, + "node_modules/@backtrace/react-example": { + "resolved": "examples/sdk/react", + "link": true + }, + "node_modules/@backtrace/rollup-plugin": { + "resolved": "tools/rollup-plugin", + "link": true + }, + "node_modules/@backtrace/sdk-core": { + "resolved": "packages/sdk-core", + "link": true + }, + "node_modules/@backtrace/sourcemap-tools": { + "resolved": "tools/sourcemap-tools", + "link": true + }, + "node_modules/@backtrace/vite-plugin": { + "resolved": "tools/vite-plugin", + "link": true + }, + "node_modules/@backtrace/webpack-plugin": { + "resolved": "tools/webpack-plugin", + "link": true + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=10.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.19", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", "dev": true, + "license": "MIT", "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@eslint/js": { + "version": "8.41.0", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", "dev": true, + "license": "Apache-2.0", "dependencies": { - "kind-of": "^3.0.2" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.10.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "license": "ISC", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "license": "ISC", "dependencies": { - "internal-slot": "^1.0.4" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "sprintf-js": "~1.0.2" } }, - "node_modules/stream-browserify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", "dev": true, + "license": "MIT", "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" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/stream-browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", "dev": true, + "license": "MIT", "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stream-http/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", "dev": true, + "license": "MIT", "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" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/stream-http/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/@jest/console": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "node_modules/@jest/core": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12.20" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@jest/environment": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@jest/expect": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/@jest/expect-utils": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "jest-get-type": "^29.4.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@jest/fake-timers": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "node_modules/@jest/reporters": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "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" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/@jest/schemas": { + "version": "29.4.3", + "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@sinclair/typebox": "^0.25.16" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "node_modules/@jest/source-map": { + "version": "29.4.3", + "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "node_modules/@jest/test-result": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/@jest/test-sequencer": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/@jest/transform": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@jest/types": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.4.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" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6.0.0" } }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "license": "MIT", "dependencies": { - "is-natural-number": "^4.0.1" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8" } }, - "node_modules/style-loader": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "license": "MIT", + "optional": true, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=14" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.5", + "dev": true, + "license": "MIT", + "dependencies": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" }, "peerDependencies": { - "webpack": "^5.0.0" + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } } }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.2", + "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=14.0.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "rollup": "^2.14.0||^3.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } } }, - "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } + "node_modules/@sinclair/typebox": { + "version": "0.25.24", + "dev": true, + "license": "MIT" }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "type-detect": "4.0.8" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.2.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "@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" }, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=4.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/svgo/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "14.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 10" } }, - "node_modules/svgo/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@types/archiver": { + "version": "5.3.2", + "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "@types/readdir-glob": "*" } }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "node_modules/@types/aria-query": { + "version": "5.0.1", + "dev": true, + "license": "MIT" }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "node_modules/@types/babel__core": { + "version": "7.20.1", + "dev": true, + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/@types/babel__traverse": { + "version": "7.20.0", + "dev": true, + "license": "MIT", "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "@babel/types": "^7.20.7" } }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "node_modules/@types/command-line-args": { + "version": "5.2.0", + "dev": true, + "license": "MIT" }, - "node_modules/svgo/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/@types/command-line-usage": { + "version": "5.0.2", + "dev": true, + "license": "MIT" }, - "node_modules/svgo/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" + "node_modules/@types/decompress": { + "version": "4.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" + "node_modules/@types/eslint": { + "version": "8.40.2", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/svgo/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "node_modules/@types/estree": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "dev": true, + "license": "MIT", "dependencies": { - "boolbase": "~1.0.0" + "@types/node": "*" } }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "node_modules/table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", + "node_modules/@types/jest": { + "version": "29.5.1", + "dev": true, + "license": "MIT", "dependencies": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "bin": { - "table-layout": "bin/cli.js" - }, - "engines": { - "node": ">=12.17" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/table-layout/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "engines": { - "node": ">=12.17" + "node_modules/@types/jsdom": { + "version": "20.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/table-layout/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" + "node_modules/@types/json-schema": { + "version": "7.0.12", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "14.18.51", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "node_modules/@types/react-dom": { + "version": "18.2.6", + "dev": true, + "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" + "@types/react": "*" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" + "node_modules/@types/readdir-glob": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/@types/scheduler": { + "version": "0.16.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.36", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.4", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "node_modules/@types/yargs": { + "version": "17.0.24", + "dev": true, + "license": "MIT", "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/tempy/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/@typescript-eslint/parser": { + "version": "5.59.7", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.7", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "bin": { - "terser": "bin/terser" + "peerDependencies": { + "eslint": "*" }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.7", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { + "typescript": { "optional": true } } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/@typescript-eslint/utils": { + "version": "5.59.7", + "dev": true, + "license": "MIT", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "dev": true, + "license": "MIT", "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" + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "license": "MIT", "dependencies": { - "any-promise": "^1.0.0" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "license": "MIT" }, - "node_modules/throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "license": "MIT" }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "license": "MIT" }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", "dev": true, + "license": "MIT", "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" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "dev": true, + "license": "MIT" }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "dev": true, + "license": "ISC" }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", "dev": true, + "license": "MIT", "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "license": "MIT", "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "license": "MIT", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "dev": true, + "license": "MIT" }, - "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=14.15.0" }, "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/ts-loader-webpack-4": { - "name": "ts-loader", - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", + "node_modules/@webpack-cli/info": { + "version": "2.0.2", "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, + "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=14.15.0" }, "peerDependencies": { - "typescript": "*", - "webpack": "*" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/ts-loader-webpack-4/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "license": "BSD-3-Clause" }, - "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/@xtuc/long": { + "version": "4.2.2", + "license": "Apache-2.0" + }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "dev": true, + "license": "MIT" + }, + "node_modules/abab": { + "version": "2.0.6", "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "license": "MIT", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">= 0.6" } }, - "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/acorn": { + "version": "8.8.2", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", "dev": true, + "license": "MIT", "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" + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/ts-loader-webpack-4/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } }, - "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/acorn-jsx": { + "version": "5.3.2", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/ts-loader-webpack-4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/acorn-walk": { + "version": "8.2.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "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" + "node": ">=0.4.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^1.8.1" + "debug": "4" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">= 6.0.0" } }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/ajv": { + "version": "6.12.6", + "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" + "node_modules/ajv-errors": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": ">=5.0.0" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/ajv-keywords": { + "version": "3.5.2", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/ansi-align": { + "version": "3.0.1", + "dev": true, + "license": "ISC", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" + "string-width": "^4.1.0" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "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" - }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=14.17" + "node": ">= 8" } }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } + "node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "license": "ISC" }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "node_modules/arch": { + "version": "2.2.0", + "dev": true, "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "paypal", - "url": "https://paypal.me/faisalman" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], - "engines": { - "node": "*" - } + "license": "MIT" }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "node_modules/archiver": { + "version": "5.3.1", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "archiver-utils": "^2.1.0", + "async": "^3.2.3", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 10" } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, + "node_modules/archiver-utils": { + "version": "2.1.0", + "license": "MIT", "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/archiver-utils/node_modules/glob": { + "version": "7.2.3", + "license": "ISC", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "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" }, "engines": { - "node": ">=4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, + "node_modules/archiver/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/arg": { + "version": "5.0.2", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "Python-2.0" }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/aria-query": { + "version": "5.1.3", "dev": true, + "license": "Apache-2.0", "dependencies": { - "unique-slug": "^2.0.0" + "deep-equal": "^2.0.5" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/arr-diff": { + "version": "4.0.0", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/arr-union": { + "version": "3.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=0.10.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/array-back": { + "version": "3.1.0", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "node_modules/unset-value": { + "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "node_modules/array-includes": { + "version": "3.1.6", "dev": true, + "license": "MIT", "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "node_modules/array-unique": { + "version": "0.3.2", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "dev": true, + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", "dev": true, + "license": "MIT", "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/asn1.js": { + "version": "5.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^2.1.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "dev": true, + "license": "MIT" }, - "node_modules/url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "node_modules/assert": { + "version": "1.5.0", "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.0" + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "dev": true, + "license": "MIT", "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "inherits": "2.0.1" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "node_modules/assign-symbols": { + "version": "1.0.0", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/async": { + "version": "3.2.4", + "license": "MIT" }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true + "node_modules/async-each": { + "version": "1.0.6", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "optional": true }, - "node_modules/utila": { + "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "license": "MIT" }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/atob": { + "version": "2.1.2", + "dev": true, + "license": "(MIT OR Apache-2.0)", "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "atob": "bin/atob.js" }, "engines": { - "node": ">=10.12.0" + "node": ">= 4.5.0" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", - "peer": true, + "node_modules/babel-jest": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dependencies": { - "browser-process-hrtime": "^1.0.0" + "@babel/core": "^7.8.0" } }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "xml-name-validator": "^4.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { - "node": ">=14" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" + "node": ">=8" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "chokidar": "^2.1.8" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "node_modules/babel-preset-jest": { + "version": "29.5.0", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "remove-trailing-separator": "^1.0.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", "dev": true, - "optional": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/binary-extensions": { + "version": "2.2.0", "dev": true, + "license": "MIT", "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "node_modules/bindings": { + "version": "1.5.0", "dev": true, + "license": "MIT", "optional": true, "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "file-uri-to-path": "1.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "optional": true, + "node_modules/bl": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "node_modules/bluebird": { + "version": "3.7.2", "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } + "license": "MIT" }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "node_modules/bn.js": { + "version": "5.2.1", "dev": true, - "optional": true, + "license": "MIT" + }, + "node_modules/boxen": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^2.1.0" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", "dev": true, - "optional": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", "dev": true, - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/brace-expansion": { + "version": "1.1.11", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/brorand": { + "version": "1.1.0", "dev": true, - "optional": true + "license": "MIT" }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/browserify-aes": { + "version": "1.2.0", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "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" } }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/browserify-cipher": { + "version": "1.0.1", "dev": true, - "optional": true, + "license": "MIT", "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" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/browserify-des": { + "version": "1.0.2", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/watchpack-chokidar2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/browserify-rsa": { + "version": "4.1.0", "dev": true, - "optional": true + "license": "MIT", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/browserify-sign": { + "version": "4.2.1", "dev": true, - "optional": true, + "license": "ISC", "dependencies": { - "safe-buffer": "~5.1.0" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" + "node": ">= 6" } }, - "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "node_modules/browserify-zlib": { + "version": "0.2.0", "dev": true, - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "pako": "~1.0.5" } }, - "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "node_modules/browserslist": { + "version": "4.21.5", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { - "webpack": "bin/webpack.js" + "browserslist": "cli.js" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/webpack-4": { - "name": "webpack", - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "node_modules/bs-logger": { + "version": "0.2.6", "dev": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/bser": { + "version": "2.1.1", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "node-int64": "^0.4.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/buffer": { + "version": "4.9.2", "dev": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "node_modules/buffer-alloc": { + "version": "1.2.0", "dev": true, + "license": "MIT", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" + "license": "MIT" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true + "node_modules/buffer-fill": { + "version": "1.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "node_modules/buffer-from": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } + "license": "MIT" }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/builtin-status-codes": { + "version": "3.0.0", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/cacache": { + "version": "12.0.4", "dev": true, + "license": "ISC", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/cacache/node_modules/glob": { + "version": "7.2.3", "dev": true, + "license": "ISC", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", "dev": true, + "license": "ISC", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "yallist": "^3.0.2" } }, - "node_modules/webpack-4/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", "dev": true, - "bin": { - "acorn": "bin/acorn" + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" }, - "engines": { - "node": ">=0.4.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/webpack-4/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", "dev": true, + "license": "ISC" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/call-bind": { + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/camelcase": { + "version": "5.3.1", "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001489", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, + "node_modules/chalk-template": { + "version": "0.4.0", + "license": "MIT", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "chalk": "^4.1.2" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/webpack-4/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/char-regex": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "optional": true, "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/webpack-4/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, + "license": "ISC", + "optional": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "license": "ISC" + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", "dev": true, + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/class-utils": { + "version": "0.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", "dev": true, + "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -26021,11 +20040,10 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -26033,579 +20051,357 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/webpack-4/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "node_modules/cli-boxes": { + "version": "3.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-4/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "node_modules/clipboardy": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=4.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-4/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/clipboardy/node_modules/is-wsl": { + "version": "2.2.0", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/webpack-4/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/cliui": { + "version": "8.0.1", "dev": true, + "license": "ISC", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/webpack-4/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", "dev": true, + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/webpack-4/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/webpack-4/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/clone-deep": { + "version": "4.0.1", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.0.0" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { "node": ">=6" } }, - "node_modules/webpack-4/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/co": { + "version": "4.6.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/webpack-4/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/webpack-4/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/collection-visit": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "find-up": "^3.0.0" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "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" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/webpack-4/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/webpack-4/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/colorette": { + "version": "2.0.20", "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 4" + "node": ">= 0.8" } }, - "node_modules/webpack-4/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node_modules/command-line-args": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/webpack-4/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, + "node_modules/command-line-usage": { + "version": "7.0.1", + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.20.0" } }, - "node_modules/webpack-4/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12.17" } }, - "node_modules/webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.1.1", + "license": "MIT", + "engines": { + "node": ">=12.17" } }, - "node_modules/webpack-4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "node_modules/commondir": { + "version": "1.0.1", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/webpack-4/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "node_modules/component-emitter": { + "version": "1.3.0", "dev": true, + "license": "MIT" + }, + "node_modules/compress-commons": { + "version": "4.1.1", + "license": "MIT", "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 10" } }, - "node_modules/webpack-4/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" + "node": ">= 6" } }, - "node_modules/webpack-4/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, + "node_modules/compressible": { + "version": "2.0.18", + "license": "MIT", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "node": ">= 0.6" } }, - "node_modules/webpack-4/node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "peer": true, + "node_modules/compression": { + "version": "1.7.4", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "node": ">= 0.8.0" } }, - "node_modules/webpack-4/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "ms": "2.0.0" } }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/concat-stream": { + "version": "1.6.2", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } + "node_modules/console-browserify": { + "version": "1.2.0", + "dev": true }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "node_modules/constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "dev": true, + "license": "MIT" }, - "node_modules/webpack-dev-middleware/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/content-disposition": { + "version": "0.5.2", + "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } + "node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/copy-concurrently": { + "version": "1.0.5", + "dev": true, + "license": "ISC", "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "node_modules/webpack-dev-server/node_modules/glob": { + "node_modules/copy-concurrently/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -26621,7791 +20417,14383 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=0.10.0" } }, - "node_modules/webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "dependencies": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "webpack": "^4.44.2 || ^5.47.0" - } + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" }, - "node_modules/webpack-manifest-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/crc-32": { + "version": "1.2.2", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "node_modules/crc32-stream": { + "version": "4.0.2", + "license": "MIT", "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 10" } }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">= 6" } }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "node_modules/create-ecdh": { + "version": "4.0.4", "dev": true, - "engines": { - "node": ">=6" + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "dev": true, + "license": "MIT" }, - "node_modules/webpack-sources-webpack-4": { - "name": "webpack-sources", - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/create-hash": { + "version": "1.2.0", "dev": true, + "license": "MIT", "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/webpack-sources-webpack-4/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/create-hmac": { + "version": "1.1.7", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=0.8.0" + "node": ">= 8" } }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "dev": true, + "license": "MIT", + "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" + }, "engines": { - "node": ">=0.8.0" + "node": "*" } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "node_modules/cssom": { + "version": "0.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", "dev": true, + "license": "MIT", "dependencies": { - "iconv-lite": "0.6.3" + "cssom": "~0.3.6" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/whatwg-fetch": { - "version": "3.6.17", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", - "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "dev": true, + "license": "MIT" }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "node_modules/csstype": { + "version": "3.1.2", "dev": true, - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "node_modules/cyclist": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { "node": ">=12" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "ms": "2.1.2" }, "engines": { - "node": ">= 8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/decimal.js": { + "version": "10.4.3", + "dev": true, + "license": "MIT" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" } }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "node_modules/decompress": { + "version": "4.2.1", + "dev": true, + "license": "MIT", "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" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "node_modules/decompress-tar": { + "version": "4.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "dev": true, + "license": "MIT", "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" - }, + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/decompress-tar/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^5.0.1" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "node_modules/decompress-tarbz2/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12.17" + "node": ">=0.10.0" } }, - "node_modules/workbox-background-sync": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", - "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "node_modules/decompress-targz": { + "version": "4.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/workbox-broadcast-update": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", - "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", - "dependencies": { - "workbox-core": "6.6.0" + "node_modules/decompress-targz/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/workbox-build": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", - "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "node_modules/decompress-unzip": { + "version": "4.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "dependencies": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" + "node": ">=0.10.0" } }, - "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=0.10.0" } }, - "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" + "pify": "^3.0.0" }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/workbox-build/node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=4" } }, - "node_modules/workbox-build/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/dedent": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-equal": { + "version": "2.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "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" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workbox-build/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" }, - "node_modules/workbox-build/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, + "node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4.0.0" } }, - "node_modules/workbox-build/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "dev": true, + "license": "MIT", "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" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workbox-build/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/define-property": { + "version": "2.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=0.10.0" } }, - "node_modules/workbox-build/node_modules/json-schema-traverse": { + "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/workbox-build/node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "bin": { - "rollup": "dist/bin/rollup" - }, + "license": "MIT", "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=0.4.0" } }, - "node_modules/workbox-build/node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "node_modules/des.js": { + "version": "1.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/workbox-build/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" + "node_modules/detect-newline": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dependencies": { - "whatwg-url": "^7.0.0" - }, + "node_modules/diff-sequences": { + "version": "29.4.3", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/workbox-build/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^2.1.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/workbox-build/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "dev": true, + "license": "MIT" }, - "node_modules/workbox-build/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/workbox-cacheable-response": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", - "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", - "deprecated": "workbox-background-sync@6.6.0", + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "workbox-core": "6.6.0" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/workbox-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "dev": true, + "license": "MIT" }, - "node_modules/workbox-expiration": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" + "node_modules/domain-browser": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/workbox-google-analytics": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", - "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "node_modules/domexception": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/workbox-navigation-preload": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", - "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "node_modules/duplexify": { + "version": "3.7.1", + "dev": true, + "license": "MIT", "dependencies": { - "workbox-core": "6.6.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/workbox-precaching": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", - "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", - "dependencies": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } + "node_modules/eastasianwidth": { + "version": "0.2.0", + "license": "MIT" }, - "node_modules/workbox-range-requests": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", - "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", - "dependencies": { - "workbox-core": "6.6.0" - } + "node_modules/electron-to-chromium": { + "version": "1.4.408", + "license": "ISC" }, - "node_modules/workbox-recipes": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", - "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "node_modules/elliptic": { + "version": "6.5.4", + "dev": true, + "license": "MIT", "dependencies": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/workbox-routing": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", - "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", - "dependencies": { - "workbox-core": "6.6.0" - } + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "dev": true, + "license": "MIT" }, - "node_modules/workbox-strategies": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", - "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", - "dependencies": { - "workbox-core": "6.6.0" + "node_modules/emittery": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/workbox-streams": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", - "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", - "dependencies": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" + "node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, - "node_modules/workbox-sw": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + "node_modules/end-of-stream": { + "version": "1.4.4", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } }, - "node_modules/workbox-webpack-plugin": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", - "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "license": "MIT", "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" + "node": ">=10.13.0" } }, - "node_modules/workbox-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/entities": { + "version": "4.5.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "node_modules/envinfo": { + "version": "7.9.0", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/workbox-window": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", - "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "node_modules/errno": { + "version": "0.1.8", + "dev": true, + "license": "MIT", "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", "dependencies": { - "errno": "~0.1.7" + "is-arrayish": "^0.2.1" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/es-abstract": { + "version": "1.21.2", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "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" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/es-module-lexer": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "node_modules/esbuild": { + "version": "0.18.19", + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.19", + "@esbuild/android-arm64": "0.18.19", + "@esbuild/android-x64": "0.18.19", + "@esbuild/darwin-arm64": "0.18.19", + "@esbuild/darwin-x64": "0.18.19", + "@esbuild/freebsd-arm64": "0.18.19", + "@esbuild/freebsd-x64": "0.18.19", + "@esbuild/linux-arm": "0.18.19", + "@esbuild/linux-arm64": "0.18.19", + "@esbuild/linux-ia32": "0.18.19", + "@esbuild/linux-loong64": "0.18.19", + "@esbuild/linux-mips64el": "0.18.19", + "@esbuild/linux-ppc64": "0.18.19", + "@esbuild/linux-riscv64": "0.18.19", + "@esbuild/linux-s390x": "0.18.19", + "@esbuild/linux-x64": "0.18.19", + "@esbuild/netbsd-x64": "0.18.19", + "@esbuild/openbsd-x64": "0.18.19", + "@esbuild/sunos-x64": "0.18.19", + "@esbuild/win32-arm64": "0.18.19", + "@esbuild/win32-ia32": "0.18.19", + "@esbuild/win32-x64": "0.18.19" } }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "node_modules/escalade": { + "version": "3.1.1", + "license": "MIT", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=6" } }, - "node_modules/xml-name-validator": { + "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "node_modules/escodegen": { + "version": "2.0.0", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { - "node": ">=0.4" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=10" + "node": ">=4.0" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">= 6" + "node": ">= 0.8.0" } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "dev": true, + "license": "MIT", "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" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "node_modules/eslint": { + "version": "8.41.0", "dev": true, + "license": "MIT", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/zip-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "engines": { - "node": ">= 10" + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "packages/browser": { - "name": "@backtrace/browser", - "version": "0.0.1", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, "license": "MIT", "dependencies": { - "ua-parser-js": "^1.0.35" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, - "packages/browser/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "ms": "^2.1.1" } }, - "packages/browser/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/eslint-module-utils": { + "version": "2.8.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "debug": "^3.2.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "packages/browser/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "ms": "^2.1.1" } }, - "packages/browser/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "packages/browser/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "node_modules/eslint-plugin-import": { + "version": "2.27.5", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "packages/browser/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "ms": "^2.1.1" } }, - "packages/browser/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", "dev": true, - "optional": true, - "peer": true, + "license": "Apache-2.0", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=0.10.0" } }, - "packages/browser/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", "dev": true, - "optional": true, - "peer": true - }, - "packages/browser/node_modules/jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", "dev": true, + "license": "MIT" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/browser/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/browser/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0" } }, - "packages/browser/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/espree": { + "version": "9.5.2", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/browser/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/esprima": { + "version": "4.0.1", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10" } }, - "packages/browser/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "bin": { - "json5": "lib/cli.js" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": ">=4.0" } }, - "packages/browser/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, - "packages/browser/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/esutils": { + "version": "2.0.3", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/browser/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/events": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "packages/browser/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "node_modules/exit": { + "version": "0.1.2", "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "node": ">= 0.8.0" } }, - "packages/browser/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/expand-brackets": { + "version": "2.1.4", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "packages/browser/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", "dev": true, - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" } }, - "packages/node": { - "name": "@backtrace/node", - "version": "0.0.1", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, "license": "MIT", "dependencies": { - "@backtrace/sdk-core": "^0.0.1", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "packages/node/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "kind-of": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "packages/node/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "packages/node/node_modules/convert-source-map": { + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, - "packages/node/node_modules/jest": { + "node_modules/expect": { "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } } }, - "packages/node/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/extend-shallow": { + "version": "3.0.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=0.10.0" } }, - "packages/node/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/extglob": { + "version": "2.0.4", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "is-descriptor": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/node/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "packages/node/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" }, - "packages/node/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/fast-glob": { + "version": "3.2.12", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, - "packages/node/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "optional": true, - "peer": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">= 6" } }, - "packages/node/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "dev": true, + "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "punycode": "^1.3.2" } }, - "packages/node/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "license": "MIT" }, - "packages/node/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", "dev": true, - "engines": { - "node": ">=12" - } - }, - "packages/react": { - "name": "@backtrace/react", - "version": "0.0.1", "license": "MIT", - "devDependencies": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "packages/react/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4.9.1" } }, - "packages/react/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/fastq": { + "version": "1.15.0", "dev": true, - "optional": true, - "peer": true, + "license": "ISC", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "reusify": "^1.0.4" } }, - "packages/react/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/fb-watchman": { + "version": "2.0.2", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bser": "2.1.1" } }, - "packages/react/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "packages/react/node_modules/@types/react": { - "version": "18.2.20", + "node_modules/fd-slicer": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "pend": "~1.2.0" } }, - "packages/react/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "node_modules/figgy-pudding": { + "version": "3.5.2", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } + "license": "ISC" }, - "packages/react/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/file-entry-cache": { + "version": "6.0.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "flat-cache": "^3.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.12.0 || >=12.0.0" } }, - "packages/react/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/file-type": { + "version": "5.2.0", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "packages/react/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/file-uri-to-path": { + "version": "1.0.0", "dev": true, - "optional": true, - "peer": true + "license": "MIT", + "optional": true }, - "packages/react/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/fill-range": { + "version": "7.0.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "to-regex-range": "^5.0.1" }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "packages/react/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "packages/react/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/find-cache-dir": { + "version": "2.1.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "packages/react/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "packages/react/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" + "locate-path": "^3.0.0" }, "engines": { "node": ">=6" } }, - "packages/react/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true - }, - "packages/react/node_modules/slash": { + "node_modules/find-cache-dir/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "packages/react/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=6" } }, - "packages/react/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", "dev": true, + "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" + "p-try": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": ">=6" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "p-limit": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6" } }, - "packages/react/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", "dev": true, - "engines": { - "node": ">=12" - } - }, - "packages/sdk-core": { - "name": "@backtrace/sdk-core", - "version": "0.0.1", "license": "MIT", - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "engines": { + "node": ">=4" } }, - "packages/sdk-core/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "find-up": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "packages/sdk-core/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.1", "dev": true, - "optional": true, - "peer": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "array-back": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0.0" } }, - "packages/sdk-core/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/find-up": { + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/sdk-core/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "packages/sdk-core/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "node_modules/flat-cache": { + "version": "3.0.4", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": "^10.12.0 || >=12.0.0" } }, - "packages/sdk-core/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", "dev": true, - "optional": true, - "peer": true, + "license": "ISC", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/sdk-core/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", "dev": true, - "optional": true, - "peer": true, + "license": "ISC", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "rimraf": "bin.js" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/sdk-core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/flatted": { + "version": "3.2.7", "dev": true, - "optional": true, - "peer": true + "license": "ISC" }, - "packages/sdk-core/node_modules/jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "node_modules/flush-write-stream": { + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "packages/sdk-core/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/for-each": { + "version": "0.3.3", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "is-callable": "^1.1.3" } }, - "packages/sdk-core/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/for-in": { + "version": "1.0.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/sdk-core/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "node_modules/foreground-child": { + "version": "3.1.1", + "license": "ISC", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/sdk-core/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/form-data": { + "version": "4.0.0", + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "packages/sdk-core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/fragment-cache": { + "version": "0.2.1", "dev": true, - "bin": { - "json5": "lib/cli.js" + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "packages/sdk-core/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/from2": { + "version": "2.3.0", "dev": true, - "optional": true, - "peer": true + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } }, - "packages/sdk-core/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/fs-constants": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "packages/sdk-core/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/function-bind": { + "version": "1.1.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/sdk-core/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/functions-have-names": { + "version": "1.2.3", "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/sdk-core/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "packages/sdk-core/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/get-caller-file": { + "version": "2.0.5", "dev": true, + "license": "ISC", "engines": { - "node": ">=12" + "node": "6.* || 8.* || >= 10.*" } }, - "tools/cli": { - "name": "@backtrace/javascript-cli", - "version": "0.0.1", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "bin": { - "backtrace-js": "lib/index.js" - }, - "devDependencies": { - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14" + "node": ">=8.0.0" } }, - "tools/rollup-plugin": { - "name": "@backtrace/rollup-plugin", - "version": "0.0.1", + "node_modules/get-stream": { + "version": "6.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, "engines": { - "node": ">=14" + "node": ">=10" }, - "peerDependencies": { - "rollup": "^3.26.3" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/rollup-plugin/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/get-symbol-description": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/get-value": { + "version": "2.0.6", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "10.3.3", + "license": "ISC", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "tools/rollup-plugin/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, + "license": "ISC", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10.13.0" } }, - "tools/rollup-plugin/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "license": "BSD-2-Clause" }, - "tools/rollup-plugin/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.1", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "tools/rollup-plugin/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/globals": { + "version": "13.20.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "type-fest": "^0.20.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/rollup-plugin/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/globalthis": { + "version": "1.0.3", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "define-properties": "^1.1.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true - }, - "tools/rollup-plugin/node_modules/jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "node_modules/globby": { + "version": "11.1.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/rollup-plugin/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/gopd": { + "version": "1.0.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "get-intrinsic": "^1.1.3" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" }, - "tools/rollup-plugin/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/graphemer": { + "version": "1.4.0", "dev": true, - "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" }, - "tools/rollup-plugin/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/has": { + "version": "1.0.3", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4.0" } }, - "tools/rollup-plugin/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/has-bigints": { + "version": "1.0.2", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true - }, - "tools/rollup-plugin/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "tools/rollup-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "get-intrinsic": "^1.1.1" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/has-symbols": { + "version": "1.0.3", "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/has-tostringtag": { + "version": "1.0.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/rollup-plugin/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/has-value": { + "version": "1.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "tools/sourcemap-tools": { - "name": "@backtrace/sourcemap-tools", - "version": "0.0.1", + "node_modules/has-values": { + "version": "1.0.0", + "dev": true, "license": "MIT", "dependencies": { - "archiver": "^5.3.1", - "source-map": "^0.7.4" - }, - "devDependencies": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "tools/sourcemap-tools/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "kind-of": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "tools/sourcemap-tools/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "tools/sourcemap-tools/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "tools/sourcemap-tools/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "tools/sourcemap-tools/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "node_modules/hash-base": { + "version": "3.1.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=4" } }, - "tools/sourcemap-tools/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "tools/sourcemap-tools/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/hash.js": { + "version": "1.1.7", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "tools/sourcemap-tools/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/hmac-drbg": { + "version": "1.0.1", "dev": true, - "optional": true, - "peer": true + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } }, - "tools/sourcemap-tools/node_modules/jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=12" } }, - "tools/sourcemap-tools/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT" + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">= 6" } }, - "tools/sourcemap-tools/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/https-browserify": { + "version": "1.0.0", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" }, - "tools/sourcemap-tools/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "tools/sourcemap-tools/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/human-signals": { + "version": "2.1.0", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10.17.0" } }, - "tools/sourcemap-tools/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, - "bin": { - "json5": "lib/cli.js" + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "tools/sourcemap-tools/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/iferr": { + "version": "0.1.5", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, - "tools/sourcemap-tools/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/ignore": { + "version": "5.2.4", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 4" } }, - "tools/sourcemap-tools/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/immer": { + "version": "9.0.21", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/sourcemap-tools/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/import-local": { + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" }, "bin": { - "ts-jest": "cli.js" + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": ">=8" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/sourcemap-tools/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.8.19" } }, - "tools/sourcemap-tools/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/infer-owner": { + "version": "1.0.4", "dev": true, - "engines": { - "node": ">=12" + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "tools/vite-plugin": { - "name": "@backtrace/vite-plugin", - "version": "0.0.1", + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, "license": "MIT", "dependencies": { - "@backtrace/rollup-plugin": "^0.0.1" - }, - "devDependencies": { - "typescript": "^5.0.4" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "vite": "^4.4.9" + "node": ">= 0.4" } }, - "tools/webpack-plugin": { - "name": "@backtrace/webpack-plugin", - "version": "0.0.1", + "node_modules/interpret": { + "version": "3.1.1", + "dev": true, "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "webpack": "^5.85.0 || ^4.46.0" + "node": ">=10.13.0" } }, - "tools/webpack-plugin/node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "kind-of": "^6.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "tools/webpack-plugin/node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "node_modules/is-arguments": { + "version": "1.1.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "node_modules/is-array-buffer": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" }, - "tools/webpack-plugin/node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "node_modules/is-bigint": { + "version": "1.0.4", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "has-bigints": "^1.0.1" }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "node_modules/is-binary-path": { + "version": "2.1.0", "dev": true, + "license": "MIT", "optional": true, - "peer": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "binary-extensions": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "tools/webpack-plugin/node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "node_modules/is-boolean-object": { + "version": "1.1.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/is-buffer": { + "version": "1.1.6", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, - "tools/webpack-plugin/node_modules/jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "node_modules/is-callable": { + "version": "1.2.7", "dev": true, - "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "bin": { - "jest": "bin/jest.js" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "node_modules/is-core-module": { + "version": "2.12.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "has": "^1.0.3" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "node_modules/is-data-descriptor": { + "version": "1.0.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "tools/webpack-plugin/node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "node_modules/is-date-object": { + "version": "1.0.5", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "node_modules/is-descriptor": { + "version": "1.0.2", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "tools/webpack-plugin/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, + "node_modules/is-docker": { + "version": "2.2.1", + "license": "MIT", "bin": { - "json5": "lib/cli.js" + "is-docker": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/webpack-plugin/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/is-extendable": { + "version": "1.0.1", "dev": true, - "optional": true, - "peer": true + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } }, - "tools/webpack-plugin/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "tools/webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/is-generator-fn": { + "version": "2.1.0", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", "dev": true, + "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tools/webpack-plugin/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "isobject": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "tools/webpack-plugin/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/is-port-reachable": { + "version": "4.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - } - } - }, - "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", - "requires": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "dependencies": { - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "dev": true, + "license": "MIT" }, - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/is-set": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "requires": { - "@babel/highlight": "^7.22.10", - "chalk": "^2.4.2" - }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==" - }, - "@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" + "node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", - "requires": { - "@babel/types": "^7.22.10", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "requires": { - "@babel/types": "^7.22.5" + "node_modules/is-typed-array": { + "version": "1.1.10", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", - "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", - "requires": { - "@babel/types": "^7.22.10" + "node_modules/is-weakmap": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", - "requires": { - "@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.5", - "@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" + "call-bind": "^1.0.2" }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, + "node_modules/is-weakset": { + "version": "2.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", - "requires": { - "@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" + "node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/is-wsl": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "requires": { - "@babel/types": "^7.22.5" - } + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "requires": { - "@babel/types": "^7.22.5" - } + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "requires": { - "@babel/types": "^7.22.5" + "node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "requires": { - "@babel/types": "^7.22.5" + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "requires": { - "@babel/types": "^7.22.5" + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "requires": { - "@babel/types": "^7.22.5" + "node_modules/istanbul-reports": { + "version": "3.1.5", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "requires": { - "@babel/types": "^7.22.5" + "node_modules/jackspeak": { + "version": "2.2.1", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" - }, - "@babel/helper-wrap-function": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", - "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.10" + "node_modules/jest": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" + "node_modules/jest-changed-files": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "node_modules/jest-circus": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true } } }, - "@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jest-config": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "node_modules/jest-diff": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-proposal-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.10.tgz", - "integrity": "sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@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" + "node_modules/jest-docblock": { + "version": "29.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "node_modules/jest-each": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "node_modules/jest-environment-jsdom": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "node_modules/jest-environment-node": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "node_modules/jest-get-type": { + "version": "29.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "requires": {} - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-haste-map": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-leak-detector": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "node_modules/jest-matcher-utils": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "node_modules/jest-message-util": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", - "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jest-mock": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/jest-regex-util": { + "version": "29.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jest-resolve": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jest-resolve-dependencies": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jest-runner": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/jest-runtime": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/jest-snapshot": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-util": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/jest-validate": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-watcher": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/jest-worker": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "node_modules/jsdom": { + "version": "20.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", - "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", - "requires": { - "@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" - } + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "license": "MIT" }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - } + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", - "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC" }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, + "node_modules/jsonc": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - } + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" + }, + "engines": { + "node": ">=8" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "node_modules/jsonc/node_modules/parse-json": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", - "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/jsonc/node_modules/strip-bom": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/kleur": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "node_modules/lazystream": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/leven": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/loader-runner": { + "version": "4.3.0", + "license": "MIT", + "engines": { + "node": ">=6.11.5" } }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/loader-utils": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "node_modules/loader-utils/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/lodash.assignwith": { + "version": "4.2.0", + "license": "MIT" }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "license": "MIT" }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } + "node_modules/lodash.defaults": { + "version": "4.2.0", + "license": "MIT" }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - } + "node_modules/lodash.difference": { + "version": "4.5.0", + "license": "MIT" }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/lodash.flatten": { + "version": "4.4.0", + "license": "MIT" }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "license": "MIT" }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "node_modules/lodash.union": { + "version": "4.6.0", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "node_modules/lru-cache": { + "version": "10.0.0", + "license": "ISC", + "engines": { + "node": "14 || >=16.14" } }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "node_modules/lz-string": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" } }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", - "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/make-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" } }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/map-cache": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "node_modules/map-visit": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/md5.js": { + "version": "1.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/memory-fs": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "node_modules/miller-rabin": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "dev": true, + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "@babel/plugin-transform-runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", - "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@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" - }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "node_modules/minipass": { + "version": "7.0.2", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/mississippi": { + "version": "3.0.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/mixin-deep": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/mkdirp": { + "version": "0.5.6", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "@babel/plugin-transform-typescript": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", - "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "node_modules/move-concurrently": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/move-concurrently/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } + "node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "node_modules/nan": { + "version": "2.17.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "@babel/preset-env": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", - "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.10", - "@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.10", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.10", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.10", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@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.10", - "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" + "node_modules/nanomatch": { + "version": "1.2.13", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/native-reg": { + "version": "1.1.1", + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "node-gyp-build": "4" } }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + "node_modules/neo-async": { + "version": "2.6.2", + "license": "MIT" + }, + "node_modules/nock": { + "version": "13.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" + }, + "engines": { + "node": ">= 10.13" } }, - "@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "node_modules/node-gyp-build": { + "version": "4.6.0", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "node_modules/node-int64": { + "version": "0.4.0", + "dev": true, + "license": "MIT" }, - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "requires": { - "regenerator-runtime": "^0.14.0" + "node_modules/node-libs-browser": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.12", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", - "requires": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@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.10", - "@babel/types": "^7.22.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - } + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } + "node_modules/nwsapi": { + "version": "2.2.5", + "dev": true, + "license": "MIT" }, - "@backtrace/browser": { - "version": "file:packages/browser", - "requires": { - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" + "node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true - }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, - "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - } - }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true - }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - } - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@backtrace/browser-example": { - "version": "file:examples/sdk/browser", - "requires": { - "@backtrace/browser": "^0.0.1", - "@backtrace/webpack-plugin": "^0.0.1", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@backtrace/javascript-cli": { - "version": "file:tools/cli", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@backtrace/node": { - "version": "file:packages/node", - "requires": { - "@backtrace/sdk-core": "^0.0.1", - "@types/jest": "^29.5.1", - "form-data": "^4.0.0", - "jest": "29.5.0", - "native-reg": "^1.1.1", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true - }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, - "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - } - }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true - }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - } - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "@backtrace/node-example": { - "version": "file:examples/sdk/node", - "requires": { - "typescript": "^5.1.3" + "node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@backtrace/react": { - "version": "file:packages/react", - "requires": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" + "node_modules/object-is": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@types/react": { - "version": "18.2.20", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "dev": true, + "license": "(MIT AND Zlib)" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "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" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "2.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.27", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/prompts": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/propagate": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.11.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "node_modules/regex-not": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/reselect": { + "version": "4.1.8", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "3.27.2", + "license": "MIT", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/set-value": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "dev": true, + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.0.2", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "dev": true, + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/split-string": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-read-all": { + "version": "3.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/table-layout": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" + }, + "bin": { + "table-layout": "bin/cli.js" + }, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "6.2.2", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "7.1.1", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/terser": { + "version": "5.18.1", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "dev": true, + "license": "MIT", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/ts-jest": { + "version": "29.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-loader": { + "version": "9.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader-webpack-4": { + "name": "ts-loader", + "version": "8.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "*" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/tapable": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.0.4", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/typical": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/url": { + "version": "0.11.1", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/use": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.4.9", + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.88.2", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-4": { + "name": "webpack", + "version": "4.46.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/webpack-4/node_modules/acorn": { + "version": "6.4.2", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-4/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack-4/node_modules/eslint-scope": { + "version": "4.0.3", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-4/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/loader-runner": { + "version": "2.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack-4/node_modules/loader-utils": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-4/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-4/node_modules/serialize-javascript": { + "version": "4.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/webpack-4/node_modules/tapable": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-4/node_modules/terser": { + "version": "4.8.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/webpack-4/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-4/node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-4/node_modules/watchpack": { + "version": "1.7.5", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/webpack-4/node_modules/webpack": { + "version": "4.46.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-4/node_modules/webpack-sources": { + "version": "1.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources-webpack-4": { + "name": "webpack-sources", + "version": "1.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "dev": true, + "license": "MIT", + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrapjs": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.13.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "packages/browser": { + "name": "@backtrace/browser", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "ua-parser-js": "^1.0.35" + }, + "devDependencies": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "packages/node": { + "name": "@backtrace/node", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sdk-core": "^0.0.1", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "packages/react": { + "name": "@backtrace/react", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "packages/sdk-core": { + "name": "@backtrace/sdk-core", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "tools/cli": { + "name": "@backtrace/javascript-cli", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + }, + "bin": { + "backtrace-js": "lib/index.js" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "tools/rollup-plugin": { + "name": "@backtrace/rollup-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "^3.26.3" + } + }, + "tools/sourcemap-tools": { + "name": "@backtrace/sourcemap-tools", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "archiver": "^5.3.1", + "source-map": "^0.7.4" + }, + "devDependencies": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + } + }, + "tools/sourcemap-tools/node_modules/source-map": { + "version": "0.7.4", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "tools/vite-plugin": { + "name": "@backtrace/vite-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vite": "^4.4.9" + } + }, + "tools/webpack-plugin": { + "name": "@backtrace/webpack-plugin", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "webpack": "^5.85.0 || ^4.46.0" + } + } + }, + "dependencies": { + "@75lb/deep-merge": { + "version": "1.1.1", + "requires": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" + }, + "dependencies": { + "typical": { + "version": "7.1.1" + } + } + }, + "@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.22.0", + "dev": true + }, + "@babel/core": { + "version": "7.22.1", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "dev": true + }, + "json5": { + "version": "2.2.3", + "dev": true + }, + "semver": { + "version": "6.3.0", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.22.0", + "dev": true, + "requires": { + "@babel/types": "^7.22.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.1", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.1", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "dev": true, + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.1", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.21.5", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.21.5", + "dev": true, + "requires": { + "@babel/types": "^7.21.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.21.5", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "dev": true + }, + "@babel/helpers": { + "version": "7.22.0", + "dev": true, + "requires": { + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.0", + "@babel/types": "^7.22.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.22.0", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/runtime": { + "version": "7.22.6", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.21.9", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + } + }, + "@babel/traverse": { + "version": "7.22.1", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.22.0", + "@babel/types": "^7.22.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.22.0", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@backtrace/browser": { + "version": "file:packages/browser", + "requires": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "@backtrace/browser-example": { + "version": "file:examples/sdk/browser", + "requires": { + "@backtrace/browser": "^0.0.1", + "@backtrace/webpack-plugin": "^0.0.1", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@types/eslint": { + "version": "8.44.2", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.12", + "dev": true + }, + "@types/node": { + "version": "20.5.0", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "dev": true + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "dev": true, + "requires": {} + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.10", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "buffer-from": { + "version": "1.1.2", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001521", + "dev": true + }, + "chalk": { + "version": "4.1.2", "dev": true, - "optional": true, - "peer": true, "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "dev": true + }, + "commander": { + "version": "2.20.3", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "electron-to-chromium": { + "version": "1.4.495", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.10.0", + "dev": true + }, + "es-module-lexer": { + "version": "1.3.0", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "events": { + "version": "3.3.0", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "function-bind": { + "version": "1.1.1", + "dev": true + }, + "glob-to-regexp": { + "version": "0.4.1", + "dev": true + }, + "graceful-fs": { + "version": "4.2.11", + "dev": true + }, + "has": { + "version": "1.0.3", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "3.1.1", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "neo-async": { + "version": "2.6.2", + "dev": true + }, + "node-releases": { + "version": "2.0.13", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.8.0", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "resolve": { + "version": "1.22.4", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "dev": true + } + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "dev": true + }, + "terser": { + "version": "5.19.2", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-loader": { + "version": "9.4.4", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "typescript": { + "version": "5.1.6", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "watchpack": { + "version": "2.4.0", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.88.2", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.1.4", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.9.0", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "dev": true + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@backtrace/javascript-cli": { + "version": "file:tools/cli", + "requires": { + "@backtrace/sourcemap-tools": "^0.0.1", + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + } + }, + "@backtrace/node": { + "version": "file:packages/node", + "requires": { + "@backtrace/sdk-core": "^0.0.1", + "@types/jest": "^29.5.1", + "form-data": "^4.0.0", + "jest": "^29.5.0", + "native-reg": "^1.1.1", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + } + }, + "@backtrace/node-example": { + "version": "file:examples/sdk/node", + "requires": { + "typescript": "^5.1.3" + }, + "dependencies": { + "typescript": { + "version": "5.1.6", + "dev": true + } + } + }, + "@backtrace/react": { + "version": "file:packages/react", + "requires": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + } + }, + "@backtrace/react-example": { + "version": "file:examples/sdk/react", + "requires": { + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "serve": "^14.2.0", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" + }, + "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.5", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/compat-data": { + "version": "7.22.5" + }, + "@babel/core": { + "version": "7.22.5", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/eslint-parser": { + "version": "7.22.5", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0" + }, + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/generator": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "requires": { + "@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.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5" + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.5", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.5", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5" + }, + "@babel/helper-validator-option": { + "version": "7.22.5" + }, + "@babel/helper-wrap-function": { + "version": "7.22.5", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helpers": { + "version": "7.22.5", + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/highlight": { + "version": "7.22.5", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.22.5" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "requires": { + "@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": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "requires": {} + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "requires": { + "@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": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "requires": { + "@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": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "requires": { + "@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": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@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.5", + "@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.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + } + }, + "@babel/preset-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + } + }, + "@babel/regjsgen": { + "version": "0.8.0" + }, + "@babel/runtime": { + "version": "7.22.5", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.22.5", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.5", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.5", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3" + }, + "@csstools/normalize.css": { + "version": "12.0.0" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "requires": {} + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1" + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "dependencies": { + "argparse": { + "version": "2.0.1" + }, + "globals": { + "version": "13.20.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "@eslint/js": { + "version": "8.43.0" + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1" + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1" + }, + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3" + }, + "@jest/console": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0" + }, + "@jridgewell/set-array": { + "version": "1.1.2" + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14" + } + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + } + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39" + } + } + }, + "@rushstack/eslint-patch": { + "version": "1.3.2" + }, + "@sinclair/typebox": { + "version": "0.24.51" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2" + }, + "@trysound/sax": { + "version": "0.2.0" + }, + "@types/babel__core": { + "version": "7.20.1", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.0", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.40.2", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1" + }, + "@types/express": { + "version": "4.17.17", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.35", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.6", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0" + }, + "@types/http-errors": { + "version": "2.0.1" + }, + "@types/http-proxy": { + "version": "1.17.11", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.12" + }, + "@types/json5": { + "version": "0.0.29" + }, + "@types/mime": { + "version": "1.3.2" + }, + "@types/node": { + "version": "16.18.37" + }, + "@types/parse-json": { + "version": "4.0.0" + }, + "@types/prettier": { + "version": "2.7.3" + }, + "@types/prop-types": { + "version": "15.7.5" + }, + "@types/q": { + "version": "1.5.5" + }, + "@types/qs": { + "version": "6.9.7" + }, + "@types/range-parser": { + "version": "1.2.4" + }, + "@types/react": { + "version": "16.14.43", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.6", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0" + }, + "@types/scheduler": { + "version": "0.16.3" + }, + "@types/semver": { + "version": "7.5.0" + }, + "@types/send": { + "version": "0.17.1", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.1", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.2", + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1" + }, + "@types/trusted-types": { + "version": "2.0.3" + }, + "@types/ws": { + "version": "8.5.5", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.5", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.60.1", + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/type-utils": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/utils": "5.60.1" + } + }, + "@typescript-eslint/parser": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/typescript-estree": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.60.1" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.60.1", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/types": "5.60.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0" + }, + "@xtuc/long": { + "version": "4.2.2" + }, + "abab": { + "version": "2.0.6" + }, + "acorn": { + "version": "8.9.0" + }, + "acorn-globals": { + "version": "6.0.0", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1" + } + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0" + }, + "address": { + "version": "1.2.2" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" } }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, + "agent-base": { + "version": "6.0.2", "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "debug": "4" } }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, + "ajv-formats": { + "version": "2.1.1", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + } } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true + "ajv-keywords": { + "version": "3.5.2", + "requires": {} }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "ansi-escapes": { + "version": "4.3.2", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "type-fest": "^0.21.3" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, + "ansi-html-community": { + "version": "0.0.8" + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "3.2.1", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "color-convert": "^1.9.0" } }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "any-promise": { + "version": "1.3.0" }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true + "anymatch": { + "version": "3.1.3", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true + "argparse": { + "version": "1.0.10", + "requires": { + "sprintf-js": "~1.0.2" + } }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, + "aria-query": { + "version": "5.3.0", "requires": { - "has-flag": "^4.0.0" + "dequal": "^2.0.3" } }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, + "array-buffer-byte-length": { + "version": "1.0.0", "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, + "array-flatten": { + "version": "2.1.2" + }, + "array-includes": { + "version": "3.1.6", "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" } }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@backtrace/react-example": { - "version": "file:examples/sdk/react", - "requires": { - "@types/react": "^16.14.0", - "@types/react-dom": "^18.2.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "react-toastify": "^9.1.3", - "serve": "^14.2.0", - "typescript": "^4.9.5", - "web-vitals": "^2.1.4" - }, - "dependencies": { - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "array-union": { + "version": "2.1.0" + }, + "array.prototype.flat": { + "version": "1.3.1", "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" } }, - "@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "requires": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", + "array.prototype.flatmap": { + "version": "1.3.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "asap": { + "version": "2.0.6" + }, + "ast-types-flow": { + "version": "0.0.7" + }, + "async": { + "version": "3.2.4" + }, + "asynckit": { + "version": "0.4.0" + }, + "at-least-node": { + "version": "1.0.0" + }, + "autoprefixer": { + "version": "10.4.14", + "requires": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5" + }, + "axe-core": { + "version": "4.7.2" + }, + "axobject-query": { + "version": "3.2.1", + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-jest": { + "version": "27.5.1", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "slash": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } }, - "jest-regex-util": { - "version": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "jest-watcher": { - "version": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "color-convert": { + "version": "2.0.1", "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" + "color-name": "~1.1.4" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "color-name": { + "version": "1.1.4" }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "has-flag": "^4.0.0" } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + } + } + }, + "babel-loader": { + "version": "8.3.0", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", "requires": { - "ansi-regex": "^5.0.1" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" } } } }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "babel-plugin-istanbul": { + "version": "6.1.1", "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" } }, - "@jest/types": { + "babel-plugin-jest-hoist": { "version": "27.5.1", "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "babel-plugin-macros": { + "version": "3.1.0", "requires": { - "@types/yargs-parser": "*" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" } }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "requires": {} }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "babel-plugin-polyfill-corejs2": { + "version": "0.4.3", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + "babel-plugin-polyfill-corejs3": { + "version": "0.8.1", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" + } }, - "jest": { - "version": "27.5.1", + "babel-plugin-polyfill-regenerator": { + "version": "0.5.0", "requires": { - "@jest/core": "^29.6.2", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "@babel/helper-define-polyfill-provider": "^0.4.0" } }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", "requires": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" } }, - "jest-message-util": { + "babel-preset-jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "requires": { + "@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" + } + }, + "balanced-match": { + "version": "1.0.2" + }, + "batch": { + "version": "0.6.1" + }, + "bfj": { + "version": "7.0.2", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2" + }, + "binary-extensions": { + "version": "2.2.0" + }, + "bluebird": { + "version": "3.7.2" + }, + "body-parser": { + "version": "1.20.1", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "bytes": { + "version": "3.1.2" + }, + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0" } } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "bonjour-service": { + "version": "1.1.1", "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, - "jest-watch-typeahead": { - "version": "1.1.0", + "boolbase": { + "version": "1.0.0" + }, + "brace-expansion": { + "version": "1.1.11", "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "braces": { + "version": "3.0.2", "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } + "fill-range": "^7.0.1" } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "browser-process-hrtime": { + "version": "1.0.0" }, - "react-scripts": { - "version": "5.0.1", + "browserslist": { + "version": "4.21.9", "requires": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "fsevents": "^2.3.2", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" } }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "bser": { + "version": "2.1.1", "requires": { - "ansi-regex": "^6.0.1" + "node-int64": "^0.4.0" } }, - "typescript": { - "version": "4.9.5" - } - } - }, - "@backtrace/rollup-plugin": { - "version": "file:tools/rollup-plugin", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "buffer-from": { + "version": "1.1.2" + }, + "builtin-modules": { + "version": "3.3.0" + }, + "call-bind": { + "version": "1.0.2", "requires": { - "@sinclair/typebox": "^0.27.8" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, + "callsites": { + "version": "3.1.0" + }, + "camel-case": { + "version": "4.1.2", "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "camelcase": { + "version": "6.3.0" + }, + "camelcase-css": { + "version": "2.0.1" + }, + "caniuse-api": { + "version": "3.0.0", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "caniuse-lite": { + "version": "1.0.30001508" }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0" + }, + "chalk": { + "version": "2.4.2", "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "optional": true, - "peer": true, + "char-regex": { + "version": "1.0.2" + }, + "check-types": { + "version": "11.2.2" + }, + "chokidar": { + "version": "3.5.3", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3" + }, + "ci-info": { + "version": "3.8.0" + }, + "cjs-module-lexer": { + "version": "1.2.3" + }, + "clean-css": { + "version": "5.3.2", "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } } }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, + "cliui": { + "version": "7.0.4", "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true + "clsx": { + "version": "1.2.1" }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, + "co": { + "version": "4.6.0" + }, + "coa": { + "version": "2.0.2", "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" } }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, + "collect-v8-coverage": { + "version": "1.0.1" + }, + "color-convert": { + "version": "1.9.3", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3" + }, + "colord": { + "version": "2.9.3" + }, + "colorette": { + "version": "2.0.20" + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true + "commander": { + "version": "8.3.0" + }, + "common-path-prefix": { + "version": "3.0.0" + }, + "common-tags": { + "version": "1.8.2" + }, + "commondir": { + "version": "1.0.1" + }, + "concat-map": { + "version": "0.0.1" + }, + "confusing-browser-globals": { + "version": "1.0.11" + }, + "connect-history-api-fallback": { + "version": "2.0.0" }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "content-disposition": { + "version": "0.5.4", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "safe-buffer": "5.2.1" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, + "content-type": { + "version": "1.0.5" + }, + "convert-source-map": { + "version": "1.9.0" + }, + "cookie": { + "version": "0.5.0" + }, + "cookie-signature": { + "version": "1.0.6" + }, + "core-js": { + "version": "3.31.0" + }, + "core-js-compat": { + "version": "3.31.0", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "browserslist": "^4.21.5" } }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "core-js-pure": { + "version": "3.31.0" }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true + "core-util-is": { + "version": "1.0.3" }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true + "cosmiconfig": { + "version": "7.1.0", + "requires": { + "@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" + } }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, + "cross-spawn": { + "version": "7.0.3", "requires": { - "has-flag": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, + "crypto-random-string": { + "version": "2.0.0" + }, + "css-blank-pseudo": { + "version": "3.0.3", "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "postcss-selector-parser": "^6.0.9" } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, + "css-declaration-sorter": { + "version": "6.4.0", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "postcss-selector-parser": "^6.0.9" } }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@backtrace/sdk-core": { - "version": "file:packages/sdk-core", - "requires": { - "@types/jest": "^29.5.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "css-loader": { + "version": "6.8.1", "requires": { - "@sinclair/typebox": "^0.27.8" + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" } }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "source-map": { + "version": "0.6.1" + } } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "css-prefers-color-scheme": { + "version": "6.0.3", + "requires": {} + }, + "css-select": { + "version": "4.3.0", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "css-select-base-adapter": { + "version": "0.1.1" }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, + "css-tree": { + "version": "1.0.0-alpha.37", "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } } }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "optional": true, - "peer": true, + "css-what": { + "version": "6.1.0" + }, + "cssdb": { + "version": "7.6.0" + }, + "cssesc": { + "version": "3.0.0" + }, + "cssnano": { + "version": "5.1.15", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "requires": {} + }, + "csso": { + "version": "4.2.0", "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14" + }, + "source-map": { + "version": "0.6.1" + } } }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, + "cssom": { + "version": "0.4.4" + }, + "cssstyle": { + "version": "2.3.0", "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8" + } } }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true + "csstype": { + "version": "3.1.2" }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, + "damerau-levenshtein": { + "version": "1.0.8" + }, + "data-urls": { + "version": "2.0.0", "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" } }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, + "debug": { + "version": "4.3.4", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "ms": "2.1.2" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true + "decimal.js": { + "version": "10.4.3" }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "dedent": { + "version": "0.7.0" + }, + "deep-is": { + "version": "0.1.4" + }, + "deepmerge": { + "version": "4.3.1" + }, + "default-gateway": { + "version": "6.0.3", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "execa": "^5.0.0" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, + "define-lazy-prop": { + "version": "2.0.0" + }, + "define-properties": { + "version": "1.2.0", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "delayed-stream": { + "version": "1.0.0" }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true + "depd": { + "version": "2.0.0" }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true + "dequal": { + "version": "2.0.3" }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, + "destroy": { + "version": "1.2.0" + }, + "detect-newline": { + "version": "3.1.0" + }, + "detect-node": { + "version": "2.1.0" + }, + "detect-port-alt": { + "version": "1.1.6", "requires": { - "has-flag": "^4.0.0" + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } } }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, + "didyoumean": { + "version": "1.2.2" + }, + "diff-sequences": { + "version": "27.5.1" + }, + "dir-glob": { + "version": "3.0.1", "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "path-type": "^4.0.0" } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, + "dlv": { + "version": "1.1.3" + }, + "dns-equal": { + "version": "1.0.0" + }, + "dns-packet": { + "version": "5.6.0", "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "@leichtgewicht/ip-codec": "^2.0.1" } }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@backtrace/sourcemap-tools": { - "version": "file:tools/sourcemap-tools", - "requires": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "archiver": "^5.3.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "doctrine": { + "version": "3.0.0", "requires": { - "@sinclair/typebox": "^0.27.8" + "esutils": "^2.0.2" } }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, + "dom-converter": { + "version": "0.2.0", "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "utila": "~0.4" } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "dom-serializer": { + "version": "1.4.1", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "domelementtype": { + "version": "2.3.0" }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, + "domexception": { + "version": "2.0.1", "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0" + } } }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "optional": true, - "peer": true, + "domhandler": { + "version": "4.3.1", "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "domelementtype": "^2.2.0" } }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, + "domutils": { + "version": "2.8.0", "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true - }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, + "dot-case": { + "version": "3.0.4", "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, + "dotenv": { + "version": "10.0.0" + }, + "dotenv-expand": { + "version": "5.1.0" + }, + "duplexer": { + "version": "0.1.2" + }, + "ee-first": { + "version": "1.1.1" + }, + "ejs": { + "version": "3.1.9", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "jake": "^10.8.5" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true + "electron-to-chromium": { + "version": "1.4.441" }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "emittery": { + "version": "0.8.1" + }, + "emoji-regex": { + "version": "9.2.2" + }, + "emojis-list": { + "version": "3.0.0" + }, + "encodeurl": { + "version": "1.0.2" + }, + "enhanced-resolve": { + "version": "5.15.0", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, + "entities": { + "version": "2.2.0" + }, + "error-ex": { + "version": "1.3.2", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.21.2", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0" + }, + "es-module-lexer": { + "version": "1.3.0" + }, + "es-set-tostringtag": { + "version": "2.0.1", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" } }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, + "es-shim-unscopables": { + "version": "1.0.0", "requires": { - "has-flag": "^4.0.0" + "has": "^1.0.3" } }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, + "es-to-primitive": { + "version": "1.2.1", "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, + "escalade": { + "version": "3.1.1" + }, + "escape-html": { + "version": "1.0.3" + }, + "escape-string-regexp": { + "version": "1.0.5" + }, + "escodegen": { + "version": "2.0.0", "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2" + }, + "source-map": { + "version": "0.6.1", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.43.0", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "globals": { + "version": "13.20.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2" + } } }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@backtrace/vite-plugin": { - "version": "file:tools/vite-plugin", - "requires": { - "@backtrace/rollup-plugin": "^0.0.1", - "typescript": "^5.0.4" - } - }, - "@backtrace/webpack-plugin": { - "version": "file:tools/webpack-plugin", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "eslint-config-react-app": { + "version": "7.0.1", "requires": { - "@sinclair/typebox": "^0.27.8" + "@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.0.1", + "confusing-browser-globals": "^1.0.11", + "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": { + "version": "0.3.7", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } } }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "optional": true, - "peer": true, + "eslint-module-utils": { + "version": "2.8.0", "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "eslint-plugin-flowtype": { + "version": "8.0.3", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "optional": true, - "peer": true, + "eslint-plugin-import": { + "version": "2.27.5", "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0" + } } }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "optional": true, - "peer": true, + "eslint-plugin-jest": { + "version": "25.7.0", "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "@typescript-eslint/experimental-utils": "^5.0.0" } }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "optional": true, - "peer": true, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } } }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "optional": true, - "peer": true + "eslint-plugin-react": { + "version": "7.32.2", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "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.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0" + } + } }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", - "dev": true, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.11.0", "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "@typescript-eslint/utils": "^5.58.0" } }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "optional": true, - "peer": true, + "eslint-scope": { + "version": "7.2.0", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true, - "optional": true, - "peer": true + "eslint-visitor-keys": { + "version": "3.4.1" }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "eslint-webpack-plugin": { + "version": "3.2.0", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-worker": { + "version": "28.1.3", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, - "optional": true, - "peer": true, + "espree": { + "version": "9.5.2", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" } }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "optional": true, - "peer": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "optional": true, - "peer": true + "esprima": { + "version": "4.0.1" }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "optional": true, - "peer": true, + "esquery": { + "version": "1.5.0", "requires": { - "has-flag": "^4.0.0" + "estraverse": "^5.1.0" } }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, + "esrecurse": { + "version": "4.3.0", "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "estraverse": "^5.2.0" } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } + "estraverse": { + "version": "5.3.0" }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "requires": {} - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "optional": true, - "peer": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==" - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "requires": { - "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": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==" - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "estree-walker": { + "version": "1.0.1" + }, + "esutils": { + "version": "2.0.3" + }, + "etag": { + "version": "1.8.1" + }, + "eventemitter3": { + "version": "4.0.7" + }, + "events": { + "version": "3.3.0" + }, + "execa": { + "version": "5.1.1", "requires": { - "ansi-regex": "^6.0.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + }, + "exit": { + "version": "0.1.2" + }, + "expect": { + "version": "27.5.1", "requires": { - "sprintf-js": "~1.0.2" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "express": { + "version": "4.18.2", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1" + }, + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } } }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "fast-deep-equal": { + "version": "3.1.3" + }, + "fast-glob": { + "version": "3.2.12", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6" + }, + "fastq": { + "version": "1.15.0", "requires": { - "p-locate": "^4.1.0" + "reusify": "^1.0.4" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "faye-websocket": { + "version": "0.11.4", "requires": { - "p-try": "^2.0.0" + "websocket-driver": ">=0.5.1" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "fb-watchman": { + "version": "2.0.2", "requires": { - "p-limit": "^2.2.0" + "bser": "2.1.1" } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, + "file-entry-cache": { + "version": "6.0.1", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" + "flat-cache": "^3.0.4" } }, - "@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, + "file-loader": { + "version": "6.2.0", "requires": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" } }, - "@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, + "filelist": { + "version": "1.0.4", "requires": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, - "@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, + "filesize": { + "version": "8.0.7" + }, + "fill-range": { + "version": "7.0.1", "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" + "to-regex-range": "^5.0.1" } }, - "@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", - "dev": true, + "finalhandler": { + "version": "1.2.0", "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } } }, - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "find-cache-dir": { + "version": "3.3.2", "requires": { - "@sinclair/typebox": "^0.27.8" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" } }, - "@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, + "find-up": { + "version": "5.0.0", "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, - "@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", - "dev": true, + "flat-cache": { + "version": "3.0.4", "requires": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" } }, - "@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, + "flatted": { + "version": "3.2.7" + }, + "follow-redirects": { + "version": "1.15.2" + }, + "for-each": { + "version": "0.3.3", "requires": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" + "is-callable": "^1.1.3" } }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" }, "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "cosmiconfig": { + "version": "6.0.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "schema-utils": { + "version": "2.7.0", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3" } } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "form-data": { + "version": "3.0.1", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "forwarded": { + "version": "0.2.0" }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } + "fraction.js": { + "version": "4.2.0" }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "fresh": { + "version": "0.5.2" + }, + "fs-extra": { + "version": "10.1.0", "requires": { - "@sinonjs/commons": "^3.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true + "fs-monkey": { + "version": "1.0.4" }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } + "fs.realpath": { + "version": "1.0.0" }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, + "fsevents": { + "version": "2.3.2", + "optional": true + }, + "function-bind": { + "version": "1.1.1" + }, + "function.prototype.name": { + "version": "1.1.5", "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" } }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, + "functions-have-names": { + "version": "1.2.3" + }, + "gensync": { + "version": "1.0.0-beta.2" + }, + "get-caller-file": { + "version": "2.0.5" + }, + "get-intrinsic": { + "version": "1.2.1", "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" } }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true + "get-own-enumerable-property-symbols": { + "version": "3.0.2" }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true + "get-package-type": { + "version": "0.1.0" }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "requires": {} + "get-stream": { + "version": "6.0.1" }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true + "get-symbol-description": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } }, "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -34415,1016 +34803,995 @@ "path-is-absolute": "^1.0.0" } }, - "jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", - "dev": true, + "glob-parent": { + "version": "6.0.2", "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "is-glob": "^4.0.3" } }, - "jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, + "glob-to-regexp": { + "version": "0.4.1" + }, + "global-modules": { + "version": "2.0.0", "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "global-prefix": "^3.0.0" } }, - "jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, + "global-prefix": { + "version": "3.0.0", "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } } }, - "jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, + "globals": { + "version": "11.12.0" + }, + "globalthis": { + "version": "1.0.3", "requires": { - "detect-newline": "^3.0.0" + "define-properties": "^1.1.3" } }, - "jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, + "globby": { + "version": "11.1.0", "requires": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" + "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" } }, - "jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, + "gopd": { + "version": "1.0.1", "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "get-intrinsic": "^1.1.3" } }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, + "graceful-fs": { + "version": "4.2.11" + }, + "grapheme-splitter": { + "version": "1.0.4" + }, + "graphemer": { + "version": "1.4.0" + }, + "gzip-size": { + "version": "6.0.0", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "duplexer": "^0.1.2" } }, - "jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, + "handle-thing": { + "version": "2.0.1" + }, + "harmony-reflect": { + "version": "1.6.2" + }, + "has": { + "version": "1.0.3", "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "function-bind": "^1.1.1" } }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "has-bigints": { + "version": "1.0.2" + }, + "has-flag": { + "version": "3.0.0" + }, + "has-property-descriptors": { + "version": "1.0.0", "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "get-intrinsic": "^1.1.1" } }, - "jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", - "dev": true, + "has-proto": { + "version": "1.0.1" + }, + "has-symbols": { + "version": "1.0.3" + }, + "has-tostringtag": { + "version": "1.0.0", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" + "has-symbols": "^1.0.2" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true + "he": { + "version": "1.2.0" }, - "jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, + "hoopy": { + "version": "0.1.4" + }, + "hpack.js": { + "version": "2.1.6", "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0" + }, + "readable-stream": { + "version": "2.3.8", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", - "dev": true, + "html-encoding-sniffer": { + "version": "2.0.1", "requires": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" + "whatwg-encoding": "^1.0.5" } }, - "jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, + "html-entities": { + "version": "2.4.0" + }, + "html-escaper": { + "version": "2.0.2" + }, + "html-minifier-terser": { + "version": "6.1.0", "requires": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" } }, - "jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, + "html-webpack-plugin": { + "version": "5.5.3", "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" } }, - "jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, + "htmlparser2": { + "version": "6.1.0", "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "http-deceiver": { + "version": "1.2.7" + }, + "http-errors": { + "version": "2.0.0", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" } }, - "jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, + "http-parser-js": { + "version": "0.5.8" + }, + "http-proxy": { + "version": "1.18.1", "requires": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, - "jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", - "dev": true, + "http-proxy-agent": { + "version": "4.0.1", "requires": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, + "http-proxy-middleware": { + "version": "2.0.6", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" } }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "https-proxy-agent": { + "version": "5.0.1", "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "agent-base": "6", + "debug": "4" } }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true + "human-signals": { + "version": "2.1.0" }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "iconv-lite": { + "version": "0.6.3", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } }, - "slash": { + "icss-utils": { + "version": "5.1.0", + "requires": {} + }, + "idb": { + "version": "7.1.1" + }, + "identity-obj-proxy": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "requires": { + "harmony-reflect": "^1.4.6" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "ignore": { + "version": "5.2.4" }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, + "immer": { + "version": "9.0.21" + }, + "import-fresh": { + "version": "3.3.0", "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0" + } } }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, + "import-local": { + "version": "3.1.0", "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true + "imurmurhash": { + "version": "0.1.4" }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, + "inflight": { + "version": "1.0.6", "requires": { - "has-flag": "^4.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, + "inherits": { + "version": "2.0.4" + }, + "internal-slot": { + "version": "1.0.5", "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, + "ipaddr.js": { + "version": "2.1.0" + }, + "is-array-buffer": { + "version": "3.0.2", "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + }, + "is-arrayish": { + "version": "0.2.1" + }, + "is-bigint": { + "version": "1.0.4", "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "has-bigints": "^1.0.1" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "is-binary-path": { + "version": "2.1.0", "requires": { - "@types/yargs-parser": "*" + "binary-extensions": "^2.0.0" } - } - } - }, - "@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", - "dev": true, - "requires": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + }, + "is-boolean-object": { + "version": "1.1.2", "requires": { - "@sinclair/typebox": "^0.27.8" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, + "is-callable": { + "version": "1.2.7" + }, + "is-core-module": { + "version": "2.12.1", "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "has": "^1.0.3" } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "is-date-object": { + "version": "1.0.5", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "has-tostringtag": "^1.0.0" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "is-extglob": { + "version": "2.1.1" }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true + "is-fullwidth-code-point": { + "version": "3.0.0" }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "is-generator-fn": { + "version": "2.1.0" }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, + "is-glob": { + "version": "4.0.3", "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "is-extglob": "^2.1.1" } }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "is-module": { + "version": "1.0.0" + }, + "is-negative-zero": { + "version": "2.0.2" + }, + "is-number": { + "version": "7.0.0" + }, + "is-number-object": { + "version": "1.0.7", "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "has-tostringtag": "^1.0.0" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", - "dev": true + "is-obj": { + "version": "1.0.1" }, - "jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, + "is-path-inside": { + "version": "3.0.3" + }, + "is-plain-obj": { + "version": "3.0.0" + }, + "is-potential-custom-element-name": { + "version": "1.0.1" + }, + "is-regex": { + "version": "1.1.4", "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "is-regexp": { + "version": "1.0.0" + }, + "is-root": { + "version": "2.1.0" + }, + "is-shared-array-buffer": { + "version": "1.0.2", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "call-bind": "^1.0.2" } }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", - "dev": true, + "is-stream": { + "version": "2.0.1" + }, + "is-string": { + "version": "1.0.7", "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "has-tostringtag": "^1.0.0" } }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "is-symbol": { + "version": "1.0.4", "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "has-symbols": "^1.0.2" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "is-typed-array": { + "version": "1.1.10", + "requires": { + "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" + } }, - "slash": { + "is-typedarray": { + "version": "1.0.0" + }, + "is-weakref": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5" + }, + "isexe": { + "version": "2.0.0" + }, + "istanbul-lib-coverage": { + "version": "3.2.0" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, + "istanbul-lib-source-maps": { + "version": "4.0.1", "requires": { - "has-flag": "^4.0.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } } }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, + "istanbul-reports": { + "version": "3.1.5", "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } - } - } - }, - "@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { + }, + "jake": { + "version": "10.8.7", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "jest-changed-files": { + "version": "27.5.1", "requires": { - "@types/yargs-parser": "*" + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "jest-message-util": { + "jest-circus": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { - "@babel/code-frame": "^7.12.13", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", + "@types/node": "*", "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", "pretty-format": "^27.5.1", "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "jest-util": { + "jest-cli": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", - "@types/node": "*", "chalk": "^4.0.0", - "ci-info": "^3.2.0", + "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "expect": { + "jest-config": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-diff": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "requires": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "jest-get-type": { + "jest-docblock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + "requires": { + "detect-newline": "^3.0.0" + } }, - "jest-matcher-utils": { + "jest-each": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "requires": { + "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "jest-diff": "^27.5.1", "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "jest-message-util": { + "jest-environment-jsdom": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { - "@babel/code-frame": "^7.12.13", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" } }, - "pretty-format": { + "jest-environment-node": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "jest-get-type": { + "version": "27.5.1" }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/reporters": { - "version": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "@jest/console": { + "jest-haste-map": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "requires": { "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", - "slash": "^3.0.0" + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" } }, - "@jest/test-result": { + "jest-jasmine2": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "requires": { - "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "jest-leak-detector": { + "version": "27.5.1", "requires": { - "@types/yargs-parser": "*" + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "jest-matcher-utils": { + "version": "27.5.1", "requires": { - "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" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -35435,178 +35802,299 @@ "pretty-format": "^27.5.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "jest-util": { + "jest-mock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "requires": { "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "@types/node": "*" } }, - "pretty-format": { + "jest-pnp-resolver": { + "version": "1.2.3", + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1" + }, + "jest-resolve": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "jest-resolve-dependencies": { + "version": "27.5.1", "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "dependencies": { - "@jest/console": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", "jest-util": "^27.5.1", - "slash": "^3.0.0" + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "@jest/test-result": { + "jest-runtime": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "requires": { - "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "@jest/types": { + "jest-serializer": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" + "graceful-fs": "^4.2.9" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "jest-message-util": { + "jest-snapshot": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "requires": { - "@babel/code-frame": "^7.12.13", + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", + "expect": "^27.5.1", "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "requires": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -35614,8106 +36102,4587 @@ "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-util": { + "jest-validate": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "requires": { "@jest/types": "^27.5.1", - "@types/node": "*", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "requires": { - "@jest/schemas": "^28.1.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": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "requires": { - "eslint-scope": "5.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", - "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", - "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - } - }, - "@rollup/plugin-typescript": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" - } - }, - "@rollup/pluginutils": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", - "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - } - }, - "@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - } - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - } - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "jest-watch-typeahead": { + "version": "1.1.0", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0" + } + } + }, + "@jest/test-result": { + "version": "28.1.3", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "requires": { + "@jest/schemas": "^28.1.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" + } + }, + "@types/yargs": { + "version": "17.0.24", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "emittery": { + "version": "0.10.2" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-message-util": { + "version": "28.1.3", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0" + } + } + }, + "jest-regex-util": { + "version": "28.0.2" + }, + "jest-util": { + "version": "28.1.3", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watcher": { + "version": "28.1.3", + "requires": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "slash": { + "version": "4.0.0" + }, + "string-length": { + "version": "5.0.1", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.1" + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1" + } + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true + "jest-watcher": { + "version": "27.5.1", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } }, - "pretty-format": { + "jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - } - } - }, - "@testing-library/react": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", - "dev": true, - "requires": { - "@types/readdir-glob": "*" - } - }, - "@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true - }, - "@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/decompress": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" - }, - "@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", - "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, + "jiti": { + "version": "1.18.2" + }, + "js-tokens": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "3.14.1", "requires": { - "@sinclair/typebox": "^0.27.8" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "jsdom": { + "version": "16.7.0", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true + "jsesc": { + "version": "2.5.2" }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "json-parse-even-better-errors": { + "version": "2.3.1" + }, + "json-schema": { + "version": "0.4.0" + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1" + }, + "json5": { + "version": "2.2.3" + }, + "jsonfile": { + "version": "6.1.0", "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } - } - } - }, - "@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - }, - "@types/node": { - "version": "14.18.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", - "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "16.14.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.45.tgz", - "integrity": "sha512-XFtKkY3yuPO5VJSE6Lru9yLkVQvYE+l6NbmLp6IWCg4jo5S8Ijbpke8wC9q4NmQ5pJErT8KKboG5eY7n5n718A==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "requires": { - "@types/react": "*" - } - }, - "@types/readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" - }, - "@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "@types/ua-parser-js": { - "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", - "dev": true - }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", - "requires": { - "@typescript-eslint/utils": "5.62.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, + }, + "jsonpointer": { + "version": "5.0.1" + }, + "jsx-ast-utils": { + "version": "3.3.3", + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "kind-of": { + "version": "6.0.3" + }, + "kleur": { + "version": "3.0.3" + }, + "klona": { + "version": "2.0.6" + }, + "language-subtag-registry": { + "version": "0.3.22" + }, + "language-tags": { + "version": "1.0.5", "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "language-subtag-registry": "~0.3.2" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "launch-editor": { + "version": "2.6.0", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, + "leven": { + "version": "3.1.0" + }, + "levn": { + "version": "0.4.1", "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } - } - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, + }, + "lilconfig": { + "version": "2.1.0" + }, + "lines-and-columns": { + "version": "1.2.4" + }, + "loader-runner": { + "version": "4.3.0" + }, + "loader-utils": { + "version": "2.0.4", "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - } - } - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, + "locate-path": { + "version": "6.0.0", "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "p-locate": "^5.0.0" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "lodash": { + "version": "4.17.21" }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "lodash.debounce": { + "version": "4.0.8" }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - } - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "@zeit/schemas": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", - "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "lodash.memoize": { + "version": "4.1.2" + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lodash.sortby": { + "version": "4.7.0" + }, + "lodash.uniq": { + "version": "4.5.0" + }, + "loose-envify": { + "version": "1.4.0", "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "lower-case": { + "version": "2.0.2", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "5.1.1", + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.9", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "makeerror": { + "version": "1.0.12", + "requires": { + "tmpl": "1.0.5" + } + }, + "mdn-data": { + "version": "2.0.4" + }, + "media-typer": { + "version": "0.3.0" + }, + "memfs": { + "version": "3.5.3", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "merge-descriptors": { + "version": "1.0.1" + }, + "merge-stream": { + "version": "2.0.0" + }, + "merge2": { + "version": "1.4.1" + }, + "methods": { + "version": "1.1.2" + }, + "micromatch": { + "version": "4.0.5", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0" + }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0" + }, + "mini-css-extract-plugin": { + "version": "2.7.6", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1" + }, + "minimatch": { + "version": "3.1.2", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8" + }, + "mkdirp": { + "version": "0.5.6", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2" + }, + "multicast-dns": { + "version": "7.2.5", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mz": { + "version": "2.7.0", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.6" + }, + "natural-compare": { + "version": "1.4.0" + }, + "natural-compare-lite": { + "version": "1.4.0" + }, + "neo-async": { + "version": "2.6.2" + }, + "no-case": { + "version": "3.0.4", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1" + }, + "node-int64": { + "version": "0.4.0" + }, + "node-releases": { + "version": "2.0.12" + }, + "normalize-path": { + "version": "3.0.0" + }, + "normalize-range": { + "version": "0.1.2" + }, + "normalize-url": { + "version": "6.1.0" + }, + "npm-run-path": { + "version": "4.0.1", + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.5" + }, + "object-assign": { + "version": "4.1.1" + }, + "object-hash": { + "version": "3.0.0" + }, + "object-inspect": { + "version": "1.12.3" + }, + "object-keys": { + "version": "1.1.1" + }, + "object.assign": { + "version": "4.1.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.6", + "requires": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + } + }, + "object.hasown": { + "version": "1.1.2", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "obuf": { + "version": "1.1.2" + }, + "on-finished": { + "version": "2.4.1", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-retry": { + "version": "4.6.2", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0" + }, + "param-case": { + "version": "3.0.4", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1" + }, + "parseurl": { + "version": "1.3.3" + }, + "pascal-case": { + "version": "3.1.2", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0" + }, + "path-is-absolute": { + "version": "1.0.1" + }, + "path-key": { + "version": "3.1.1" + }, + "path-parse": { + "version": "1.0.7" + }, + "path-to-regexp": { + "version": "0.1.7" + }, + "path-type": { + "version": "4.0.0" + }, + "performance-now": { + "version": "2.1.0" + }, + "picocolors": { + "version": "1.0.0" + }, + "picomatch": { + "version": "2.3.1" + }, + "pify": { + "version": "2.3.0" + }, + "pirates": { + "version": "4.0.6" + }, + "pkg-dir": { + "version": "4.2.0", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-up": { + "version": "3.1.0", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + } + } }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "postcss": { + "version": "8.4.24", "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" } - } - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", "requires": { - "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" + "postcss-selector-parser": "^6.0.10" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "postcss-browser-comments": { + "version": "4.0.0", + "requires": {} }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "postcss-calc": { + "version": "8.2.4", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "postcss-clamp": { + "version": "4.1.0", "requires": { - "safe-buffer": "~5.1.0" + "postcss-value-parser": "^4.2.0" } - } - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, + "postcss-color-functional-notation": { + "version": "4.2.4", "requires": { - "inherits": "2.0.1" + "postcss-value-parser": "^4.2.0" } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "optional": true - }, - "asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "requires": { - "has-symbols": "^1.0.3" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.15", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", - "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", - "requires": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001520", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "requires": { - "dequal": "^2.0.3" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "postcss-value-parser": "^4.2.0" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "postcss-color-rebeccapurple": { + "version": "7.1.1", "requires": { - "@types/yargs-parser": "*" + "postcss-value-parser": "^4.2.0" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "postcss-colormin": { + "version": "5.3.1", "requires": { - "semver": "^6.0.0" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" } }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "postcss-convert-values": { + "version": "5.1.3", "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@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" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, + "postcss-custom-media": { + "version": "8.0.2", "requires": { - "is-descriptor": "^1.0.0" + "postcss-value-parser": "^4.2.0" } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { + }, + "postcss-custom-properties": { + "version": "12.1.11", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "requires": {} + }, + "postcss-double-position-gradients": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "postcss-env-function": { + "version": "4.0.6", "requires": { - "ms": "2.0.0" + "postcss-value-parser": "^4.2.0" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "requires": {} + }, + "postcss-focus-visible": { + "version": "6.0.4", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "postcss-selector-parser": "^6.0.9" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "postcss-focus-within": { + "version": "5.0.4", + "requires": { + "postcss-selector-parser": "^6.0.9" + } }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "postcss-font-variant": { + "version": "5.0.0", + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", "requires": { - "side-channel": "^1.0.4" + "postcss-value-parser": "^4.2.0" } - } - } - }, - "bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "boxen": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", - "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", - "dev": true, - "requires": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "dependencies": { - "camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true }, - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true + "postcss-import": { + "version": "15.1.0", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "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": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "postcss-initial": { + "version": "4.0.1", + "requires": {} + }, + "postcss-js": { + "version": "4.0.1", "requires": { - "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" + "camelcase-css": "^2.0.1" } }, - "lru-cache": { + "postcss-lab-function": { + "version": "4.2.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "4.0.1", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "dependencies": { + "yaml": { + "version": "2.3.1" + } + } + }, + "postcss-loader": { + "version": "6.2.1", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { - "yallist": "^3.0.2" + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" } }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, + "postcss-minify-params": { + "version": "5.1.4", "requires": { - "glob": "^7.1.3" + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" } }, - "y18n": { + "postcss-minify-selectors": { + "version": "5.2.1", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "requires": {} + }, + "postcss-modules-local-by-default": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001521", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", - "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "requires": { - "chalk": "^4.1.2" - } - }, - "char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - }, - "check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { + "postcss-modules-scope": { + "version": "3.0.0", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.1", + "requires": { + "postcss-selector-parser": "^6.0.11" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.3", + "requires": {} + }, + "postcss-ordered-values": { + "version": "5.1.3", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.3", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { - "is-glob": "^4.0.1" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0" + }, + "css-tree": { + "version": "1.1.3", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14" + }, + "source-map": { + "version": "0.6.1" + }, + "svgo": { + "version": "2.8.0", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0" + }, + "prelude-ls": { + "version": "1.2.1" + }, + "pretty-bytes": { + "version": "5.6.0" + }, + "pretty-error": { + "version": "4.0.0", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "process-nextick-args": { + "version": "2.0.1" + }, + "promise": { + "version": "8.3.0", + "requires": { + "asap": "~2.0.6" } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, + }, + "prompts": { + "version": "2.4.2", "requires": { - "is-descriptor": "^0.1.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, + "prop-types": { + "version": "15.8.1", "requires": { - "kind-of": "^3.0.2" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "react-is": { + "version": "16.13.1" + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1" + } + } + }, + "psl": { + "version": "1.9.0" + }, + "punycode": { + "version": "2.3.0" + }, + "q": { + "version": "1.5.1" + }, + "qs": { + "version": "6.11.0", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0" + }, + "queue-microtask": { + "version": "1.2.3" + }, + "raf": { + "version": "3.4.1", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1" + }, + "raw-body": { + "version": "2.5.1", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2" + }, + "iconv-lite": { + "version": "0.4.24", "requires": { - "is-buffer": "^1.1.5" + "safer-buffer": ">= 2.1.2 < 3" } } } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, + "react": { + "version": "18.2.0", "requires": { - "kind-of": "^3.0.2" + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "ansi-styles": { + "version": "4.3.0", "requires": { - "is-buffer": "^1.1.5" + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "has-flag": { + "version": "4.0.0" + }, + "loader-utils": { + "version": "3.2.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" } } } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "react-dom": { + "version": "18.2.0", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" } }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true - }, - "clipboardy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", - "dev": true, - "requires": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "react-error-overlay": { + "version": "6.0.11" }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "react-is": { + "version": "17.0.2" + }, + "react-refresh": { + "version": "0.11.0" + }, + "react-scripts": { + "version": "5.0.1", "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" } }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "react-toastify": { + "version": "9.1.3", "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "clsx": "^1.1.1" } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + }, + "read-cache": { + "version": "1.0.0", "requires": { - "color-convert": "^1.9.0" + "pify": "^2.3.0" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "readable-stream": { + "version": "3.6.2", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "readdirp": { + "version": "3.6.0", "requires": { - "color-name": "1.1.3" + "picomatch": "^2.2.1" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "recursive-readdir": { + "version": "2.2.3", + "requires": { + "minimatch": "^3.0.5" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "regenerate": { + "version": "1.4.2" }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "regenerate-unicode-properties": { + "version": "10.1.0", + "requires": { + "regenerate": "^1.4.2" + } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "regenerator-runtime": { + "version": "0.13.11" + }, + "regenerator-transform": { + "version": "0.15.1", "requires": { - "has-flag": "^3.0.0" + "@babel/runtime": "^7.8.4" } - } - } - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "requires": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - } - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "regex-parser": { + "version": "2.2.11" + }, + "regexp.prototype.flags": { + "version": "1.5.0", "requires": { - "ms": "2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "regexpu-core": { + "version": "5.3.2", + "requires": { + "@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" + } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "regjsparser": { + "version": "0.9.1", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0" + } + } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "relateurl": { + "version": "0.2.7" + }, + "renderkid": { + "version": "3.0.0", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "require-directory": { + "version": "2.1.1" }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "requires-port": { + "version": "1.0.0" + }, + "resolve": { + "version": "1.22.2", "requires": { - "safe-buffer": "~5.1.0" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } - } - } - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "dev": true - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + }, + "resolve-cwd": { + "version": "3.0.0", "requires": { - "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" + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0" + }, + "resolve-url-loader": { + "version": "4.0.0", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1" + }, + "postcss": { + "version": "7.0.39", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1" + } } }, + "resolve.exports": { + "version": "1.1.1" + }, + "retry": { + "version": "0.13.1" + }, + "reusify": { + "version": "1.0.4" + }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, + "version": "3.0.2", "requires": { "glob": "^7.1.3" } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "core-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", - "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==" - }, - "core-js-compat": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", - "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", - "requires": { - "browserslist": "^4.21.9" - } - }, - "core-js-pure": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", - "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@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" - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", - "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "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": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "requires": {} - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + }, + "rollup": { + "version": "2.79.1", "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "fsevents": "~2.3.2" } }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "rollup-plugin-terser": { + "version": "7.0.2", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "jest-worker": { + "version": "26.6.2", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "requires": { + "randombytes": "^2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", "requires": { - "fast-deep-equal": "^3.1.3" + "queue-microtask": "^1.2.2" } }, - "json-schema-traverse": { + "safe-array-concat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "safe-buffer": { + "version": "5.2.1" + }, + "safe-regex-test": { + "version": "1.0.0", "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "requires": {} - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "cssdb": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.7.0.tgz", - "integrity": "sha512-1hN+I3r4VqSNQ+OmMXxYexnumbOONkSil0TWMebVXHtzYW4tRRPovUNHPHj2d4nrgOuYJ8Vs3XwvywsuwwXNNA==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "safer-buffer": { + "version": "2.1.2" + }, + "sanitize.css": { + "version": "13.0.0" + }, + "sass-loader": { + "version": "12.6.0", "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "klona": "^2.0.4", + "neo-async": "^2.6.2" } }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "sax": { + "version": "1.2.4" }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, + "saxes": { + "version": "5.0.1", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "xmlchars": "^2.2.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "scheduler": { + "version": "0.23.0", + "requires": { + "loose-envify": "^1.1.0" + } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "schema-utils": { + "version": "3.3.0", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "select-hose": { + "version": "2.0.0" }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "selfsigned": { + "version": "2.1.1", "requires": { - "safe-buffer": "~5.1.0" + "node-forge": "^1" } }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, + "semver": { + "version": "7.5.3", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0" + } } - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "dev": true - } - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "requires": { - "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": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + }, + "send": { + "version": "0.18.0", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0" + } + } + }, + "ms": { + "version": "2.1.3" + } + } + }, + "serialize-javascript": { + "version": "6.0.1", "requires": { - "ms": "2.0.0" + "randombytes": "^2.1.0" } }, - "ms": { + "serve-index": { + "version": "1.9.1", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2" + }, + "http-errors": { + "version": "1.6.3", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3" + }, + "ms": { + "version": "2.0.0" + }, + "setprototypeof": { + "version": "1.1.0" + }, + "statuses": { + "version": "1.5.0" + } + } + }, + "serve-static": { + "version": "1.15.0", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0" + }, + "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "requires": { + "shebang-regex": "^3.0.0" + } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "shebang-regex": { + "version": "3.0.0" + }, + "shell-quote": { + "version": "1.8.1" + }, + "side-channel": { + "version": "1.0.4", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "signal-exit": { + "version": "3.0.7" }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "sisteransi": { + "version": "1.0.5" + }, + "slash": { + "version": "3.0.0" + }, + "sockjs": { + "version": "0.3.24", "requires": { - "safe-buffer": "~5.1.0" + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } - } - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.494", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.494.tgz", - "integrity": "sha512-KF7wtsFFDu4ws1ZsSOt4pdmO1yWVNWCFtijVYZPUeW4SV7/hy/AESjLn/+qIWgq7mHscNOKAwN5AIM1+YAy+Ww==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "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.5", - "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.10", - "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.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "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.10" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "requires": { - "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": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", - "requires": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", - "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.0", - "safe-array-concat": "^1.0.0" - } - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "peer": true, - "requires": { - "@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": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "source-list-map": { + "version": "2.0.1" }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@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" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "0.7.4" + }, + "source-map-js": { + "version": "1.0.2" + }, + "source-map-loader": { + "version": "3.0.2", "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "dev": true, - "requires": {} - }, - "eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "requires": { - "@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.0.1", - "confusing-browser-globals": "^1.0.11", - "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": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "source-map-support": { + "version": "0.5.21", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8" + }, + "spdy": { + "version": "4.0.2", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.0.3" + }, + "stable": { + "version": "0.1.8" + }, + "stack-utils": { + "version": "2.0.6", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0" + } + } + }, + "stackframe": { + "version": "1.3.4" + }, + "statuses": { + "version": "2.0.1" + }, + "string_decoder": { + "version": "1.3.0", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1" + }, + "string-width": { + "version": "4.2.3", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", "requires": { - "ms": "^2.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + }, + "string.prototype.trimstart": { + "version": "1.0.6", "requires": { - "ms": "^2.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "requires": { - "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.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + }, + "stringify-object": { + "version": "3.3.0", "requires": { - "ms": "^2.1.1" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" } }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "strip-ansi": { + "version": "6.0.1", "requires": { - "esutils": "^2.0.2" + "ansi-regex": "^5.0.1" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "requires": { - "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" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "strip-bom": { + "version": "4.0.0" + }, + "strip-comments": { + "version": "2.0.1" + }, + "strip-final-newline": { + "version": "2.0.0" + }, + "strip-json-comments": { + "version": "3.1.1" + }, + "style-loader": { + "version": "3.3.3", + "requires": {} + }, + "stylehacks": { + "version": "5.1.1", "requires": { - "esutils": "^2.0.2" + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "sucrase": { + "version": "3.32.0", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1" + }, + "glob": { + "version": "7.1.6", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "supports-color": { + "version": "5.5.0", "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "has-flag": "^3.0.0" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", - "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", - "requires": { - "@typescript-eslint/utils": "^5.58.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "supports-hyperlinks": { + "version": "2.3.0", "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "supports-preserve-symlinks-flag": { + "version": "1.0.0" + }, + "svg-parser": { + "version": "2.0.4" + }, + "svgo": { + "version": "1.3.2", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2" + }, + "dom-serializer": { + "version": "0.2.2", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1" + } + } + }, + "nth-check": { + "version": "1.0.2", + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4" + }, + "tailwindcss": { + "version": "3.3.2", "requires": { - "fast-deep-equal": "^3.1.3" + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" } }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "tapable": { + "version": "2.2.1" + }, + "temp-dir": { + "version": "2.0.0" + }, + "tempy": { + "version": "0.6.0", "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0" + } } }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "terminal-link": { + "version": "2.1.1", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "terser": { + "version": "5.18.2", "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + } } }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "terser-webpack-plugin": { + "version": "5.3.9", "requires": { - "has-flag": "^4.0.0" + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" } - } - } - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "test-exclude": { + "version": "6.0.0", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "text-table": { + "version": "0.2.0" + }, + "thenify": { + "version": "3.3.1", "requires": { - "ms": "2.0.0" + "any-promise": "^1.0.0" } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, + "thenify-all": { + "version": "1.6.0", "requires": { - "is-descriptor": "^0.1.0" + "thenify": ">= 3.1.0 < 4" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, + "throat": { + "version": "6.0.2" + }, + "thunky": { + "version": "1.1.0" + }, + "tmpl": { + "version": "1.0.5" + }, + "to-fast-properties": { + "version": "2.0.0" + }, + "to-regex-range": { + "version": "5.0.1", "requires": { - "is-extendable": "^0.1.0" + "is-number": "^7.0.0" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, + "toidentifier": { + "version": "1.0.1" + }, + "tough-cookie": { + "version": "4.1.3", "requires": { - "kind-of": "^3.0.2" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "universalify": { + "version": "0.2.0" } } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, + "tr46": { + "version": "2.1.0", "requires": { - "kind-of": "^3.0.2" + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1" + }, + "ts-interface-checker": { + "version": "0.1.13" + }, + "tsconfig-paths": { + "version": "3.14.2", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "json5": { + "version": "1.0.2", "requires": { - "is-buffer": "^1.1.5" + "minimist": "^1.2.0" } + }, + "strip-bom": { + "version": "3.0.0" } } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "tslib": { + "version": "2.6.0" + }, + "tsutils": { + "version": "3.21.0", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true + "type-check": { + "version": "0.4.0", + "requires": { + "prelude-ls": "^1.2.1" + } }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "type-detect": { + "version": "4.0.8" }, - "ms": { + "type-fest": { + "version": "0.21.3" + }, + "type-is": { + "version": "1.6.18", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-length": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.5" + }, + "unbox-primitive": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0" + }, + "unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, "requires": { - "@sinclair/typebox": "^0.27.8" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0" + }, + "unique-string": { + "version": "2.0.0", "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "crypto-random-string": "^2.0.0" } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "universalify": { + "version": "2.0.0" }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true + "unpipe": { + "version": "1.0.0" }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, + "unquote": { + "version": "1.1.1" + }, + "upath": { + "version": "1.2.0" + }, + "update-browserslist-db": { + "version": "1.0.11", "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, + "uri-js": { + "version": "4.4.1", "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "punycode": "^2.1.0" } }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "url-parse": { + "version": "1.5.10", "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "util-deprecate": { + "version": "1.0.2" + }, + "util.promisify": { + "version": "1.0.1", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0" }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "utils-merge": { + "version": "1.0.1" + }, + "uuid": { + "version": "8.3.2" + }, + "v8-to-istanbul": { + "version": "8.1.1", "requires": { - "safe-buffer": "5.2.1" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "w3c-hr-time": { + "version": "1.0.2", "requires": { - "ms": "2.0.0" + "browser-process-hrtime": "^1.0.0" } }, - "ms": { + "w3c-xmlserializer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "requires": { + "xml-name-validator": "^3.0.0" + } }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "walker": { + "version": "1.0.8", + "requires": { + "makeerror": "1.0.12" + } }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "watchpack": { + "version": "2.4.0", "requires": { - "side-channel": "^1.0.4" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, + "wbuf": { + "version": "1.7.3", "requires": { - "is-descriptor": "^1.0.0" + "minimalistic-assert": "^1.0.0" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, + "web-vitals": { + "version": "2.1.4" + }, + "webidl-conversions": { + "version": "6.1.0" + }, + "webpack": { + "version": "5.88.0", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", "requires": { - "is-extendable": "^0.1.0" + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "webpack-dev-server": { + "version": "4.15.1", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.13.0", + "requires": {} + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", "requires": { - "is-glob": "^4.0.1" + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + }, + "webpack-sources": { + "version": "2.3.1", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dev": true, - "requires": { - "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - } - } - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + }, + "webpack-sources": { + "version": "3.2.3" + }, + "websocket-driver": { + "version": "0.7.4", "requires": { - "balanced-match": "^1.0.0" + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" } }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "websocket-extensions": { + "version": "0.1.4" + }, + "whatwg-encoding": { + "version": "1.0.5", "requires": { - "brace-expansion": "^2.0.1" + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + }, + "whatwg-fetch": { + "version": "3.6.2" + }, + "whatwg-mimetype": { + "version": "2.3.0" + }, + "whatwg-url": { + "version": "8.7.0", "requires": { - "ms": "2.0.0" + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "which": { + "version": "2.0.2", "requires": { - "semver": "^6.0.0" + "isexe": "^2.0.0" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "which-boxed-primitive": { + "version": "1.0.2", "requires": { - "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" + "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" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "which-typed-array": { + "version": "1.1.9", "requires": { - "glob": "^7.1.3" + "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", + "is-typed-array": "^1.1.10" } - } - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "word-wrap": { + "version": "1.2.3" + }, + "workbox-background-sync": { + "version": "6.6.0", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "idb": "^7.0.1", + "workbox-core": "6.6.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "workbox-broadcast-update": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "workbox-build": { + "version": "6.6.0", "requires": { - "safe-buffer": "~5.1.0" + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "source-map": { + "version": "0.8.0-beta.0", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2" + }, + "whatwg-url": { + "version": "7.1.0", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } } - } - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + }, + "workbox-cacheable-response": { + "version": "6.6.0", "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "workbox-core": "6.6.0" } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "workbox-core": { + "version": "6.6.0" + }, + "workbox-expiration": { + "version": "6.6.0", "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "idb": "^7.0.1", + "workbox-core": "6.6.0" } }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "workbox-google-analytics": { + "version": "6.6.0", "requires": { - "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" + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" } }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "workbox-navigation-preload": { + "version": "6.6.0", "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "workbox-core": "6.6.0" } }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "workbox-precaching": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "workbox-range-requests": { + "version": "6.6.0", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "workbox-core": "6.6.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "workbox-recipes": { + "version": "6.6.0", + "requires": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "workbox-routing": { + "version": "6.6.0", "requires": { - "safe-buffer": "~5.1.0" + "workbox-core": "6.6.0" + } + }, + "workbox-strategies": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" } - } - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "workbox-streams": { + "version": "6.6.0", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "workbox-sw": { + "version": "6.6.0" }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "workbox-webpack-plugin": { + "version": "6.6.0", "requires": { - "safe-buffer": "~5.1.0" + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + }, + "webpack-sources": { + "version": "1.4.3", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + }, + "workbox-window": { + "version": "6.6.0", "requires": { - "balanced-match": "^1.0.0" + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" } }, - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "wrap-ansi": { + "version": "7.0.0", "requires": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "wrappy": { + "version": "1.0.2" + }, + "write-file-atomic": { + "version": "3.0.3", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0" + }, + "xmlchars": { + "version": "2.2.0" + }, + "y18n": { + "version": "5.0.8" + }, + "yallist": { + "version": "3.1.1" + }, + "yaml": { + "version": "1.10.2" + }, + "yargs": { + "version": "16.2.0", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } + }, + "yargs-parser": { + "version": "20.2.9" + }, + "yocto-queue": { + "version": "0.1.0" } } }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "@backtrace/rollup-plugin": { + "version": "file:tools/rollup-plugin", "requires": { - "global-prefix": "^3.0.0" + "@backtrace/sourcemap-tools": "^0.0.1", + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "@backtrace/sdk-core": { + "version": "file:packages/sdk-core", "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "@backtrace/sourcemap-tools": { + "version": "file:tools/sourcemap-tools", "requires": { - "type-fest": "^0.20.2" + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "archiver": "^5.3.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "source-map": "^0.7.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "source-map": { + "version": "0.7.4" } } }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "@backtrace/vite-plugin": { + "version": "file:tools/vite-plugin", "requires": { - "define-properties": "^1.1.3" + "@backtrace/rollup-plugin": "^0.0.1", + "typescript": "^5.0.4" } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "@backtrace/webpack-plugin": { + "version": "file:tools/webpack-plugin", "requires": { - "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" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } + "@backtrace/sourcemap-tools": "^0.0.1", + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } + "@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "@esbuild/darwin-arm64": { + "version": "0.18.19", + "optional": true, + "peer": true }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, "requires": { - "duplexer": "^0.1.2" + "eslint-visitor-keys": "^3.3.0" } }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "@eslint-community/regexpp": { + "version": "4.5.1", + "dev": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "@eslint/eslintrc": { + "version": "2.0.3", + "dev": true, "requires": { - "function-bind": "^1.1.1" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "@eslint/js": { + "version": "8.41.0", + "dev": true }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "@humanwhocodes/config-array": { + "version": "0.11.8", + "dev": true, "requires": { - "get-intrinsic": "^1.1.1" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" } }, - "has-proto": { + "@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "dev": true }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, + "@isaacs/cliui": { + "version": "8.0.2", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1" + }, + "strip-ansi": { + "version": "7.0.1", + "requires": { + "ansi-regex": "^6.0.1" + } + } } }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "argparse": { + "version": "1.0.10", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "sprintf-js": "~1.0.2" } }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "find-up": { + "version": "4.1.0", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" } + }, + "resolve-from": { + "version": "5.0.0", + "dev": true } } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "@istanbuljs/schema": { + "version": "0.1.3", + "dev": true + }, + "@jest/console": { + "version": "29.5.0", "dev": true, "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "@jest/core": { + "version": "29.5.0", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "@jest/environment": { + "version": "29.5.0", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" } }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "@jest/expect": { + "version": "29.5.0", + "dev": true, "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" } }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "@jest/expect-utils": { + "version": "29.5.0", "dev": true, "requires": { - "whatwg-encoding": "^2.0.0" + "jest-get-type": "^29.4.3" } }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "@jest/fake-timers": { + "version": "29.5.0", + "dev": true, "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" } }, - "html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "@jest/globals": { + "version": "29.5.0", + "dev": true, "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" } }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "@jest/reporters": { + "version": "29.5.0", + "dev": true, "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "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" + } } } }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "@jest/schemas": { + "version": "29.4.3", + "dev": true, "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "@sinclair/typebox": "^0.25.16" } }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "@jest/source-map": { + "version": "29.4.3", + "dev": true, "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" } }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "@jest/test-result": { + "version": "29.5.0", "dev": true, "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "@jest/test-sequencer": { + "version": "29.5.0", + "dev": true, "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "@jest/transform": { + "version": "29.5.0", + "dev": true, "requires": { - "agent-base": "6", - "debug": "4" + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" } }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "@jest/types": { + "version": "29.5.0", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@jest/schemas": "^29.4.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" } }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "@jridgewell/gen-mapping": { + "version": "0.3.3", "requires": { - "harmony-reflect": "^1.4.6" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + "@jridgewell/resolve-uri": { + "version": "3.1.0" }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + "@jridgewell/set-array": { + "version": "1.1.2" }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "@jridgewell/source-map": { + "version": "0.3.3", "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "@jridgewell/sourcemap-codec": { + "version": "1.4.15" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14" + } } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" + "@pkgjs/parseargs": { + "version": "0.11.0", + "optional": true }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "@reduxjs/toolkit": { + "version": "1.9.5", "dev": true, "requires": { - "kind-of": "^6.0.0" + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" } }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "@rollup/plugin-typescript": { + "version": "11.1.2", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" } }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "@rollup/pluginutils": { + "version": "5.0.2", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "@sinclair/typebox": { + "version": "0.25.24", + "dev": true }, - "is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "@sinonjs/commons": { + "version": "3.0.0", + "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "type-detect": "4.0.8" } }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "@sinonjs/fake-timers": { + "version": "10.2.0", + "dev": true, "requires": { - "has-bigints": "^1.0.1" + "@sinonjs/commons": "^3.0.0" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "@testing-library/dom": { + "version": "9.3.1", + "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "dev": true + } } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "@testing-library/react": { + "version": "14.0.0", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "@tootallnate/once": { + "version": "2.0.0", "dev": true }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "@types/archiver": { + "version": "5.3.2", "dev": true, "requires": { - "kind-of": "^6.0.0" + "@types/readdir-glob": "*" } }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "@types/aria-query": { + "version": "5.0.1", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.1", + "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "@types/babel__generator": { + "version": "7.6.4", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "@babel/types": "^7.0.0" } }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "@types/babel__template": { + "version": "7.4.1", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "@types/babel__traverse": { + "version": "7.20.0", + "dev": true, "requires": { - "call-bind": "^1.0.2" + "@babel/types": "^7.20.7" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "@types/command-line-args": { + "version": "5.2.0", + "dev": true }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "@types/command-line-usage": { + "version": "5.0.2", + "dev": true }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "@types/decompress": { + "version": "4.2.4", + "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "@types/node": "*" } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "@types/eslint": { + "version": "8.40.2", "requires": { - "is-extglob": "^2.1.1" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "@types/eslint-scope": { + "version": "3.7.4", "requires": { - "has-tostringtag": "^1.0.0" + "@types/eslint": "*", + "@types/estree": "*" } }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + "@types/estree": { + "version": "1.0.1" }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "@types/graceful-fs": { + "version": "4.1.6", "dev": true, "requires": { - "isobject": "^3.0.1" + "@types/node": "*" } }, - "is-port-reachable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", - "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "@types/istanbul-lib-coverage": { + "version": "2.0.4", "dev": true }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@types/istanbul-lib-coverage": "*" } }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "@types/istanbul-reports": { + "version": "3.0.1", + "dev": true, "requires": { - "call-bind": "^1.0.2" + "@types/istanbul-lib-report": "*" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "@types/jest": { + "version": "29.5.1", + "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "@types/jsdom": { + "version": "20.0.1", + "dev": true, "requires": { - "has-symbols": "^1.0.2" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } + "@types/json-schema": { + "version": "7.0.12" }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "@types/json5": { + "version": "0.0.29", + "dev": true }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + "@types/node": { + "version": "14.18.51" }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "@types/prettier": { + "version": "2.7.2", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "dev": true + }, + "@types/react": { + "version": "18.2.14", + "dev": true, "requires": { - "call-bind": "^1.0.2" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "@types/react-dom": { + "version": "18.2.6", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "@types/react": "*" } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "@types/readdir-glob": { + "version": "1.1.1", + "dev": true, "requires": { - "is-docker": "^2.0.0" + "@types/node": "*" } }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "@types/scheduler": { + "version": "0.16.3", + "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "@types/semver": { + "version": "7.5.0", "dev": true }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + "@types/source-list-map": { + "version": "0.1.2", + "dev": true }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } + "@types/stack-utils": { + "version": "2.0.1", + "dev": true }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "requires": { - "semver": "^7.5.3" - } - } - } + "@types/tough-cookie": { + "version": "4.0.2", + "dev": true }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "@types/ua-parser-js": { + "version": "0.7.36", + "dev": true + }, + "@types/webpack-sources": { + "version": "3.2.0", + "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" }, "dependencies": { "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "version": "0.7.4", + "dev": true } } }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "@types/yargs": { + "version": "17.0.24", + "dev": true, "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@types/yargs-parser": "*" } }, - "iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", - "requires": { - "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" - } + "@types/yargs-parser": { + "version": "21.0.0", + "dev": true }, - "jackspeak": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "@typescript-eslint/eslint-plugin": { + "version": "5.59.7", + "dev": true, "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/type-utils": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" } }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "@typescript-eslint/parser": { + "version": "5.59.7", + "dev": true, "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "debug": "^4.3.4" } }, - "jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", - "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "@typescript-eslint/scope-manager": { + "version": "5.59.7", "dev": true, "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - } + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7" } }, - "jest-changed-files": { - "version": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "@typescript-eslint/type-utils": { + "version": "5.59.7", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - } + "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/utils": "5.59.7", + "debug": "^4.3.4", + "tsutils": "^3.21.0" } }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "@typescript-eslint/types": { + "version": "5.59.7", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.7", + "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/visitor-keys": "5.59.7", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" } }, - "jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "@typescript-eslint/utils": { + "version": "5.59.7", "dev": true, - "requires": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "dependencies": { - "@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0" - } - }, - "@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" - } - }, - "@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - } - }, - "@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" - } - }, - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } - }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", - "dev": true, - "requires": { - "@jest/transform": "^29.6.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "requires": {} - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - } - }, - "jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" - } - }, - "jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" - } - }, - "jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", - "dev": true, - "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" - } - }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.7", + "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/typescript-estree": "5.59.7", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.7", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.7", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", "dev": true, "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", "dev": true }, - "jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", - "dev": true, - "requires": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - } - }, - "jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", - "semver": "^7.5.3" - } - }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.2" - } - }, - "jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "@webassemblyjs/wast-printer": { + "version": "1.9.0", "dev": true, "requires": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.2", - "string-length": "^4.0.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } - }, - "jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + } + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", "dev": true, "requires": { - "@types/node": "*", - "jest-util": "^29.6.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "dev": true + } + } + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", "dev": true }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + } + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0" + }, + "@xtuc/long": { + "version": "4.2.2" + }, + "@zeit/schemas": { + "version": "2.29.0", + "dev": true + }, + "abab": { + "version": "2.0.6", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.2" + }, + "acorn-globals": { + "version": "7.0.1", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.2", + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "dev": true, + "requires": { + "string-width": "^4.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", "dev": true }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } - } - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + } + } + } + }, + "ansi-escapes": { + "version": "4.3.2", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "dev": true + }, + "arch": { + "version": "2.2.0", + "dev": true + }, + "archiver": { + "version": "5.3.1", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.3", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } - }, + } + } + }, + "archiver-utils": { + "version": "2.1.0", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -43722,4221 +40691,4203 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } - }, - "html-encoding-sniffer": { + } + } + }, + "arg": { + "version": "5.0.2" + }, + "argparse": { + "version": "2.0.1", + "dev": true + }, + "aria-query": { + "version": "5.1.3", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, + "arr-diff": { + "version": "4.0.0", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "dev": true + }, + "array-back": { + "version": "3.1.0" + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "dev": true }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "util": { + "version": "0.10.3", + "dev": true, "requires": { - "punycode": "^2.1.1" + "inherits": "2.0.1" } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "dev": true + }, + "async": { + "version": "3.2.4" + }, + "async-each": { + "version": "1.0.6", + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0" + }, + "atob": { + "version": "2.1.2", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "dev": true + }, + "babel-jest": { + "version": "29.5.0", + "dev": true, + "requires": { + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2" + }, + "base": { + "version": "0.11.2", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "dev": true, "requires": { - "xml-name-validator": "^3.0.0" + "is-descriptor": "^1.0.0" } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + } + } + }, + "base64-js": { + "version": "1.5.1" + }, + "big.js": { + "version": "5.2.2", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "dev": true, + "optional": true + }, + "bindings": { + "version": "1.5.0", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.1.0", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", "requires": { - "iconv-lite": "0.4.24" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "readable-stream": { + "version": "3.6.2", "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } + } + } + }, + "bluebird": { + "version": "3.7.2", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "dev": true + }, + "boxen": { + "version": "7.0.0", + "dev": true, + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "camelcase": { + "version": "7.0.1", + "dev": true }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} + "chalk": { + "version": "5.3.0", + "dev": true }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "type-fest": { + "version": "2.19.0", + "dev": true } } }, - "jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "brace-expansion": { + "version": "1.1.11", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", "dev": true, "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "dev": true, + "requires": { + "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" }, "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "readable-stream": { + "version": "3.6.2", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "browserify-zlib": { + "version": "0.2.0", + "dev": true, "requires": { - "detect-newline": "^3.0.0" + "pako": "~1.0.5" } }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "browserslist": { + "version": "4.21.5", "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "bs-logger": { + "version": "0.2.6", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.2", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13" + }, + "buffer-fill": { + "version": "1.0.0", + "dev": true + }, + "buffer-from": { + "version": "1.1.2" + }, + "buffer-xor": { + "version": "1.0.3", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "dev": true + }, + "bytes": { + "version": "3.0.0" + }, + "cacache": { + "version": "12.0.4", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "glob": { + "version": "7.2.3", + "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "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" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "lru-cache": { + "version": "5.1.1", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "yallist": "^3.0.2" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "rimraf": { + "version": "2.7.1", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "glob": "^7.1.3" } }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } + "y18n": { + "version": "4.0.3", + "dev": true }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "yallist": { + "version": "3.1.1", + "dev": true } } }, - "jest-environment-jsdom": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.2.tgz", - "integrity": "sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==", + "cache-base": { + "version": "1.0.1", "dev": true, "requires": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2", - "jsdom": "^20.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001489" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chalk-template": { + "version": "0.4.0", + "requires": { + "chalk": "^4.1.2" + } + }, + "char-regex": { + "version": "1.0.2", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "dependencies": { - "@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-mock": "^29.6.2" - } - }, - "@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "glob-parent": { + "version": "5.1.2", "dev": true, + "optional": true, "requires": { - "@jest/types": "^29.6.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "is-glob": "^4.0.1" } - }, - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + } + } + }, + "chownr": { + "version": "1.1.4", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3" + }, + "ci-info": { + "version": "3.8.0", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "1.2.2", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", "dev": true, "requires": { - "@sinclair/typebox": "^0.27.8" + "is-descriptor": "^0.1.0" } }, - "@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "is-accessor-descriptor": { + "version": "0.1.6", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "is-data-descriptor": { + "version": "0.1.4", "dev": true, "requires": { - "type-detect": "4.0.8" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "is-descriptor": { + "version": "0.1.6", "dev": true, "requires": { - "@sinonjs/commons": "^3.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "kind-of": { + "version": "5.1.0", "dev": true - }, - "jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + } + } + }, + "cli-boxes": { + "version": "3.0.0", + "dev": true + }, + "clipboardy": { + "version": "3.0.0", + "dev": true, + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "is-docker": "^2.0.0" } + } + } + }, + "cliui": { + "version": "8.0.1", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "dev": true }, - "jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "string-width": { + "version": "4.2.3", "dev": true, "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "jest-util": "^29.6.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "wrap-ansi": { + "version": "7.0.0", "dev": true, "requires": { - "@jest/types": "^29.6.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "co": { + "version": "4.6.0", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "colorette": { + "version": "2.0.20", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-line-args": { + "version": "5.2.1", + "requires": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + } + }, + "command-line-usage": { + "version": "7.0.1", + "requires": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "dependencies": { + "array-back": { + "version": "6.2.2" }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", - "dev": true, + "typical": { + "version": "7.1.1" + } + } + }, + "commander": { + "version": "2.20.3" + }, + "commondir": { + "version": "1.0.1", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "dev": true + }, + "compress-commons": { + "version": "4.1.1", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true } } }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "compressible": { + "version": "2.0.18", "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "debug": { + "version": "2.6.9", "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ms": "2.0.0" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } + "ms": { + "version": "2.0.0" }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } + "safe-buffer": { + "version": "5.1.2" } } }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "concat-map": { + "version": "0.0.1" + }, + "concat-stream": { + "version": "1.6.2", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", "dev": true }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "constants-browserify": { + "version": "1.0.0", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "glob": { + "version": "7.2.3", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "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" } }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "rimraf": { + "version": "2.7.1", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "glob": "^7.1.3" } } } }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "copy-descriptor": { + "version": "0.1.1", + "dev": true + }, + "core-util-is": { + "version": "1.0.3" + }, + "crc-32": { + "version": "1.2.2" + }, + "crc32-stream": { + "version": "4.0.2", "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "dependencies": { - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "readable-stream": { + "version": "3.6.2", "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + } + } + }, + "create-ecdh": { + "version": "4.0.4", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "7.0.3", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "dev": true, + "requires": { + "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" + } + }, + "cssom": { + "version": "0.5.0", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.2", + "dev": true + }, + "cyclist": { + "version": "1.0.2", + "dev": true + }, + "data-urls": { + "version": "3.0.2", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + } + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2", + "dev": true + }, + "decompress": { + "version": "4.2.1", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "dev": true, "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "dev": true + } } }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "pify": { + "version": "2.3.0", + "dev": true + } + } + }, + "decompress-tar": { + "version": "4.1.1", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } + "is-stream": { + "version": "1.1.0", + "dev": true }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "tar-stream": { + "version": "1.6.2", + "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" } } }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "decompress-tarbz2": { + "version": "4.1.1", + "dev": true, "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } + "file-type": { + "version": "6.2.0", + "dev": true }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "is-stream": { + "version": "1.1.0", + "dev": true } } }, - "jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "decompress-targz": { + "version": "4.1.1", "dev": true, "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" }, "dependencies": { - "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "is-stream": { + "version": "1.1.0", "dev": true - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", "dev": true }, - "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "get-stream": { + "version": "2.3.1", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" } + }, + "pify": { + "version": "2.3.0", + "dev": true } } }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dedent": { + "version": "0.7.0", + "dev": true + }, + "deep-equal": { + "version": "2.2.1", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "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" }, "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "isarray": { + "version": "2.0.5", + "dev": true } } }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "deep-extend": { + "version": "0.6.0", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "dev": true + }, + "define-properties": { + "version": "1.2.0", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0" + }, + "des.js": { + "version": "1.1.0", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-newline": { + "version": "3.1.0", + "dev": true + }, + "diff-sequences": { + "version": "29.4.3", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } + "bn.js": { + "version": "4.12.0", + "dev": true } } }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + "doctrine": { + "version": "3.0.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dom-accessibility-api": { + "version": "0.5.16", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "dev": true + }, + "domexception": { + "version": "4.0.0", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "webidl-conversions": "^7.0.0" + } + }, + "duplexify": { + "version": "3.7.1", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "eastasianwidth": { + "version": "0.2.0" + }, + "electron-to-chromium": { + "version": "1.4.408" + }, + "elliptic": { + "version": "6.5.4", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "bn.js": { + "version": "4.12.0", + "dev": true } } }, - "jest-resolve-dependencies": { - "version": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "emittery": { + "version": "0.13.1", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2" + }, + "emojis-list": { + "version": "3.0.0", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.15.0", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "dev": true + }, + "envinfo": { + "version": "7.9.0", + "dev": true + }, + "errno": { + "version": "0.1.8", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.21.2", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-get-iterator": { + "version": "1.1.3", + "dev": true, + "requires": { + "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" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + "isarray": { + "version": "2.0.5", + "dev": true } } }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "es-module-lexer": { + "version": "1.3.0" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.18.19", + "peer": true, + "requires": { + "@esbuild/android-arm": "0.18.19", + "@esbuild/android-arm64": "0.18.19", + "@esbuild/android-x64": "0.18.19", + "@esbuild/darwin-arm64": "0.18.19", + "@esbuild/darwin-x64": "0.18.19", + "@esbuild/freebsd-arm64": "0.18.19", + "@esbuild/freebsd-x64": "0.18.19", + "@esbuild/linux-arm": "0.18.19", + "@esbuild/linux-arm64": "0.18.19", + "@esbuild/linux-ia32": "0.18.19", + "@esbuild/linux-loong64": "0.18.19", + "@esbuild/linux-mips64el": "0.18.19", + "@esbuild/linux-ppc64": "0.18.19", + "@esbuild/linux-riscv64": "0.18.19", + "@esbuild/linux-s390x": "0.18.19", + "@esbuild/linux-x64": "0.18.19", + "@esbuild/netbsd-x64": "0.18.19", + "@esbuild/openbsd-x64": "0.18.19", + "@esbuild/sunos-x64": "0.18.19", + "@esbuild/win32-arm64": "0.18.19", + "@esbuild/win32-ia32": "0.18.19", + "@esbuild/win32-x64": "0.18.19" + } + }, + "escalade": { + "version": "3.1.1" + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "dev": true }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "levn": { + "version": "0.3.0", + "dev": true, "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "optionator": { + "version": "0.8.3", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" } }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } + "prelude-ls": { + "version": "1.1.2", + "dev": true }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "type-check": { + "version": "0.3.2", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "prelude-ls": "~1.1.2" } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + } + } + }, + "eslint": { + "version": "8.41.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "ms": "^2.1.1" } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "ms": "^2.1.1" } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, "requires": { - "xmlchars": "^2.2.0" + "ms": "^2.1.1" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "tr46": { + "doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "esutils": "^2.0.2" } }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "semver": { + "version": "6.3.0", + "dev": true } } }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "eslint-plugin-local-rules": { + "version": "1.3.2", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "dev": true + }, + "espree": { + "version": "9.5.2", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "requires": { + "estraverse": "^5.1.0" }, "dependencies": { - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "estraverse": { + "version": "5.3.0", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0" + } + } + }, + "estraverse": { + "version": "4.3.0" + }, + "estree-walker": { + "version": "2.0.2", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "events": { + "version": "3.3.0" + }, + "evp_bytestokey": { + "version": "1.0.3", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" + "ms": "2.0.0" } }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "define-property": { + "version": "0.2.5", + "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "is-descriptor": "^0.1.0" } }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "extend-shallow": { + "version": "2.0.1", + "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "is-extendable": "^0.1.0" } }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, "requires": { - "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" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "is-descriptor": { + "version": "0.1.6", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + "is-extendable": { + "version": "0.1.1", + "dev": true }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "kind-of": { + "version": "5.1.0", + "dev": true + }, + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "expect": { + "version": "29.5.0", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" + } + }, + "extend-shallow": { + "version": "3.0.2", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "is-descriptor": "^1.0.0" } }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "extend-shallow": { + "version": "2.0.1", + "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "is-extendable": "^0.1.0" } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "is-extendable": { + "version": "0.1.1", + "dev": true } } }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } + "fast-deep-equal": { + "version": "3.1.3" }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "fast-glob": { + "version": "3.2.12", + "dev": true, "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" + "@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" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "glob-parent": { + "version": "5.1.2", + "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "is-glob": "^4.0.1" } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.1.1" + }, + "fast-url-parser": { + "version": "1.1.3", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "dev": true + } + } + }, + "fastest-levenshtein": { + "version": "1.0.16", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-type": { + "version": "5.2.0", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "locate-path": "^3.0.0" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "locate-path": { + "version": "3.0.0", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "make-dir": { + "version": "2.1.0", + "dev": true, "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "pify": "^4.0.1", + "semver": "^5.6.0" } }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "p-limit": { + "version": "2.3.0", + "dev": true, "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "p-try": "^2.0.0" } }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "p-locate": { + "version": "3.0.0", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "p-limit": "^2.0.0" } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } + "path-exists": { + "version": "3.0.0", + "dev": true }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "pkg-dir": { + "version": "3.0.0", + "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "find-up": "^3.0.0" } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "semver": { + "version": "5.7.1", + "dev": true } } }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "find-replace": { + "version": "3.0.0", "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "array-back": "^3.0.1" } }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "find-up": { + "version": "5.0.0", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "glob": { + "version": "7.2.3", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "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" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "rimraf": { + "version": "3.0.2", + "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "glob": "^7.1.3" } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" } } }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "flatted": { + "version": "3.2.7", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "dev": true, "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - } + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "for-each": { + "version": "0.3.3", + "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } + "is-callable": "^1.1.3" } }, - "jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==" + "for-in": { + "version": "1.0.2", + "dev": true }, - "js-tokens": { + "foreground-child": { + "version": "3.1.1", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "fragment-cache": { + "version": "0.2.1", + "dev": true, "requires": { - "argparse": "^2.0.1" + "map-cache": "^0.2.2" } }, - "jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "from2": { + "version": "2.3.0", "dev": true, "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "fs-constants": { + "version": "1.0.0" }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "fs-write-stream-atomic": { + "version": "1.0.10", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "fs.realpath": { + "version": "1.0.0" }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "fsevents": { + "version": "2.3.2", + "optional": true }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "function-bind": { + "version": "1.1.1", + "dev": true }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "function.prototype.name": { + "version": "1.1.5", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "functions-have-names": { + "version": "1.2.3", "dev": true }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "gensync": { + "version": "1.0.0-beta.2", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "dev": true, "requires": { - "minimist": "^1.2.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" } }, - "jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "get-package-type": { + "version": "0.1.0", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "dev": true + }, + "glob": { + "version": "10.3.3", "requires": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "brace-expansion": { + "version": "2.0.1", "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "balanced-match": "^1.0.0" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "minimatch": { + "version": "9.0.1", + "requires": { + "brace-expansion": "^2.0.1" + } } } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "glob-parent": { + "version": "6.0.2", + "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "is-glob": "^4.0.3" } }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + "glob-to-regexp": { + "version": "0.4.1" }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "globals": { + "version": "13.20.0", + "dev": true, "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "type-fest": "^0.20.2" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "globalthis": { + "version": "1.0.3", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "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" + } }, - "klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" + "gopd": { + "version": "1.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "graceful-fs": { + "version": "4.2.11" }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "grapheme-splitter": { + "version": "1.0.4", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has": { + "version": "1.0.3", + "dev": true, "requires": { - "language-subtag-registry": "~0.3.2" + "function-bind": "^1.1.1" } }, - "launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "has-bigints": { + "version": "1.0.2", + "dev": true + }, + "has-flag": { + "version": "4.0.0" + }, + "has-property-descriptors": { + "version": "1.0.0", + "dev": true, "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" + "get-intrinsic": "^1.1.1" } }, - "lazystream": { + "has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "dev": true, "requires": { - "readable-stream": "^2.0.5" + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "is-number": { + "version": "3.0.0", + "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "kind-of": { + "version": "4.0.0", + "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "is-buffer": "^1.1.5" } } } }, - "leven": { + "hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + "readable-stream": { + "version": "3.6.2", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } } } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "hash.js": { + "version": "1.1.7", + "dev": true, "requires": { - "p-locate": "^5.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + "hmac-drbg": { + "version": "1.0.1", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "html-encoding-sniffer": { + "version": "3.0.0", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "html-escaper": { + "version": "2.0.2", + "dev": true }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + "http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + "https-browserify": { + "version": "1.0.0", + "dev": true }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "human-signals": { + "version": "2.1.0", + "dev": true }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "iconv-lite": { + "version": "0.6.3", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "ieee754": { + "version": "1.2.1" }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "iferr": { + "version": "0.1.5", + "dev": true }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + "ignore": { + "version": "5.2.4", + "dev": true }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "immer": { + "version": "9.0.21", + "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "import-fresh": { + "version": "3.3.0", + "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "import-local": { + "version": "3.1.0", + "dev": true, "requires": { - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" + "imurmurhash": { + "version": "0.1.4", + "dev": true }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "infer-owner": { + "version": "1.0.4", "dev": true }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "inflight": { + "version": "1.0.6", "requires": { - "sourcemap-codec": "^1.4.8" + "once": "^1.3.0", + "wrappy": "1" } }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } + "inherits": { + "version": "2.0.4" }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "ini": { + "version": "1.3.8" }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "internal-slot": { + "version": "1.0.5", + "dev": true, "requires": { - "tmpl": "1.0.5" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "interpret": { + "version": "3.1.1", "dev": true }, - "map-visit": { + "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { - "object-visit": "^1.0.0" + "kind-of": "^6.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "is-arguments": { + "version": "1.1.1", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "is-array-buffer": { + "version": "3.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + "is-arrayish": { + "version": "0.2.1" }, - "memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "is-bigint": { + "version": "1.0.4", + "dev": true, "requires": { - "fs-monkey": "^1.0.4" + "has-bigints": "^1.0.1" } }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "is-binary-path": { + "version": "2.1.0", "dev": true, + "optional": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "binary-extensions": "^2.0.0" } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "is-boolean-object": { + "version": "1.1.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "is-buffer": { + "version": "1.1.6", + "dev": true }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + "is-callable": { + "version": "1.2.7", + "dev": true }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "is-core-module": { + "version": "2.12.1", + "dev": true, "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "has": "^1.0.3" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "is-data-descriptor": { + "version": "1.0.0", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } + "kind-of": "^6.0.0" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "is-date-object": { + "version": "1.0.5", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "is-descriptor": { + "version": "1.0.2", + "dev": true, "requires": { - "mime-db": "1.52.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "is-docker": { + "version": "2.2.1" }, - "mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "is-extendable": { + "version": "1.0.1", + "dev": true, "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } + "is-plain-object": "^2.0.4" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "is-extglob": { + "version": "2.1.1", + "dev": true }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "is-fullwidth-code-point": { + "version": "3.0.0" + }, + "is-generator-fn": { + "version": "2.1.0", "dev": true }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "is-glob": { + "version": "4.0.3", + "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "is-extglob": "^2.1.1" } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + "is-map": { + "version": "2.0.2", + "dev": true + }, + "is-natural-number": { + "version": "4.0.1", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "dev": true }, - "minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + "is-number": { + "version": "7.0.0", + "dev": true }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "is-number-object": { + "version": "1.0.7", "dev": true, "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "has-tostringtag": "^1.0.0" } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "isobject": "^3.0.1" } }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } + "is-port-reachable": { + "version": "4.0.0", + "dev": true }, - "move-concurrently": { + "is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", "dev": true, "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "is-set": { + "version": "2.0.2", + "dev": true }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "call-bind": "^1.0.2" } }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "is-stream": { + "version": "2.0.1", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "dev": true, "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "has-tostringtag": "^1.0.0" } }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "is-symbol": { + "version": "1.0.4", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "has-symbols": "^1.0.2" } }, - "native-reg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "is-typed-array": { + "version": "1.1.10", + "dev": true, "requires": { - "node-gyp-build": "4" + "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" } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "is-weakmap": { + "version": "2.0.1", + "dev": true }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "is-weakref": { + "version": "1.0.2", + "dev": true, "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } + "call-bind": "^1.0.2" } }, - "nock": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", + "is-weakset": { + "version": "2.0.2", "dev": true, "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + "is-windows": { + "version": "1.0.2", + "dev": true }, - "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + "is-wsl": { + "version": "1.1.0", + "dev": true }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "isarray": { + "version": "1.0.0" }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "isexe": { + "version": "2.0.0" + }, + "isobject": { + "version": "3.0.1", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", "dev": true, "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "semver": { + "version": "6.3.0", "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "normalize-path": { + "istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "requires": { - "path-key": "^3.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" } }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "istanbul-lib-source-maps": { + "version": "4.0.1", + "dev": true, "requires": { - "boolbase": "^1.0.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" } }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "istanbul-reports": { + "version": "3.1.5", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "jackspeak": { + "version": "2.2.1", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "jest": { + "version": "29.5.0", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + } }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "jest-changed-files": { + "version": "29.5.0", "dev": true, "requires": { - "isobject": "^3.0.0" + "execa": "^5.0.0", + "p-limit": "^3.1.0" } }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "jest-circus": { + "version": "29.5.0", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" } }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "jest-cli": { + "version": "29.5.0", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" } }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "jest-config": { + "version": "29.5.0", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "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" + } + } } }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "jest-diff": { + "version": "29.5.0", + "dev": true, "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "jest-docblock": { + "version": "29.4.3", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" + "detect-newline": "^3.0.0" } }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "jest-each": { + "version": "29.5.0", + "dev": true, "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "jest-environment-jsdom": { + "version": "29.5.0", "dev": true, "requires": { - "isobject": "^3.0.1" + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0", + "jsdom": "^20.0.0" } }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "jest-environment-node": { + "version": "29.5.0", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "jest-get-type": { + "version": "29.4.3", + "dev": true }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "jest-haste-map": { + "version": "29.5.0", + "dev": true, "requires": { - "ee-first": "1.1.1" + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" } }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "jest-leak-detector": { + "version": "29.5.0", + "dev": true, "requires": { - "wrappy": "1" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "jest-matcher-utils": { + "version": "29.5.0", + "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "jest-message-util": { + "version": "29.5.0", + "dev": true, "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "jest-mock": { + "version": "29.5.0", + "dev": true, "requires": { - "@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" + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "jest-pnp-resolver": { + "version": "1.2.3", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.4.3", "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "jest-resolve": { + "version": "29.5.0", + "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "jest-resolve-dependencies": { + "version": "29.5.0", + "dev": true, "requires": { - "p-limit": "^3.0.2" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" } }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "jest-runner": { + "version": "29.5.0", + "dev": true, "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "jest-runtime": { + "version": "29.5.0", "dev": true, "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "glob": { + "version": "7.2.3", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "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" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "strip-bom": { + "version": "4.0.0", "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" } } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "jest-snapshot": { + "version": "29.5.0", + "dev": true, "requires": { - "callsites": "^3.0.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "jest-util": { + "version": "29.5.0", "dev": true, "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" } }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "jest-validate": { + "version": "29.5.0", + "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "dev": true + } } }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "jest-watcher": { + "version": "29.5.0", "dev": true, "requires": { - "entities": "^4.4.0" + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "jest-worker": { + "version": "29.5.0", + "dev": true, "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true + "js-tokens": { + "version": "4.0.0" }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "js-yaml": { + "version": "4.1.0", "dev": true, - "optional": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "argparse": "^2.0.1" } }, - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "jsdom": { + "version": "20.0.3", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "jsesc": { + "version": "2.5.2", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "json-parse-better-errors": { + "version": "1.0.2" }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "json-parse-even-better-errors": { + "version": "2.3.1" }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "json-schema-traverse": { + "version": "0.4.1" }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "json-stringify-safe": { + "version": "5.0.1", "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "json5": { + "version": "1.0.2", "dev": true, "requires": { - "pinkie": "^2.0.0" + "minimist": "^1.2.0" } }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "jsonc": { + "version": "2.0.0", "requires": { - "find-up": "^4.0.0" + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "parse-json": { + "version": "4.0.0", "requires": { - "p-try": "^2.0.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } + "strip-bom": { + "version": "4.0.0" } } }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } + "kind-of": { + "version": "6.0.3", + "dev": true }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "kleur": { + "version": "3.0.3", "dev": true }, - "postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "lazystream": { + "version": "1.0.1", "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "readable-stream": "^2.0.5" } }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "leven": { + "version": "3.1.0", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "requires": {} + "lines-and-columns": { + "version": "1.2.4", + "dev": true }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } + "loader-runner": { + "version": "4.3.0" }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "loader-utils": { + "version": "2.0.4", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "dev": true + } } }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "locate-path": { + "version": "6.0.0", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "p-locate": "^5.0.0" } }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "lodash": { + "version": "4.17.21", + "dev": true }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "lodash.assignwith": { + "version": "4.2.0" }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "lodash.camelcase": { + "version": "4.3.0" + }, + "lodash.defaults": { + "version": "4.2.0" + }, + "lodash.difference": { + "version": "4.5.0" + }, + "lodash.flatten": { + "version": "4.4.0" + }, + "lodash.isplainobject": { + "version": "4.0.6" + }, + "lodash.memoize": { + "version": "4.1.2", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true + }, + "lodash.union": { + "version": "4.6.0" + }, + "loose-envify": { + "version": "1.4.0", + "peer": true, "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "lru-cache": { + "version": "10.0.0" + }, + "lz-string": { + "version": "1.5.0", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "dev": true + } } }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "make-error": { + "version": "1.3.6", + "dev": true + }, + "makeerror": { + "version": "1.0.12", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "tmpl": "1.0.5" } }, - "postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "map-cache": { + "version": "0.2.2", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "object-visit": "^1.0.0" } }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "md5.js": { + "version": "1.3.5", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.4" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "memory-fs": { + "version": "0.4.1", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} + "merge-stream": { + "version": "2.0.0" }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} + "merge2": { + "version": "1.4.1", + "dev": true }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "micromatch": { + "version": "4.0.5", + "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "miller-rabin": { + "version": "4.0.1", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "dev": true + } } }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} + "mime-db": { + "version": "1.52.0" }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "mime-types": { + "version": "2.1.35", "requires": { - "postcss-selector-parser": "^6.0.9" + "mime-db": "1.52.0" } }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } + "mimic-fn": { + "version": "2.1.0", + "dev": true }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "requires": {} + "minimalistic-assert": { + "version": "1.0.1", + "dev": true }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "requires": {} + "minimalistic-crypto-utils": { + "version": "1.0.1", + "dev": true }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "minimatch": { + "version": "3.1.2", "requires": { - "postcss-value-parser": "^4.2.0" + "brace-expansion": "^1.1.7" } }, - "postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "minimist": { + "version": "1.2.8" + }, + "minipass": { + "version": "7.0.2" + }, + "mississippi": { + "version": "3.0.0", + "dev": true, "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" } }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "requires": {} - }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "mixin-deep": { + "version": "1.3.2", + "dev": true, "requires": { - "camelcase-css": "^2.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" } }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "mkdirp": { + "version": "0.5.6", "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "minimist": "^1.2.6" } }, - "postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "move-concurrently": { + "version": "1.0.1", + "dev": true, "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" }, "dependencies": { - "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==" + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } + "ms": { + "version": "2.1.2", + "dev": true }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "requires": {} + "nan": { + "version": "2.17.0", + "dev": true, + "optional": true }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "requires": {} + "nanoid": { + "version": "3.3.6", + "peer": true }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "nanomatch": { + "version": "1.2.13", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, - "postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "native-reg": { + "version": "1.1.1", "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "node-gyp-build": "4" } }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "natural-compare": { + "version": "1.4.0", + "dev": true }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } + "natural-compare-lite": { + "version": "1.4.0", + "dev": true }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } + "negotiator": { + "version": "0.6.3" }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "neo-async": { + "version": "2.6.2" + }, + "nock": { + "version": "13.3.1", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.5" + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" } }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} + "node-gyp-build": { + "version": "4.6.0" }, - "postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } + "node-int64": { + "version": "0.4.0", + "dev": true }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "node-libs-browser": { + "version": "2.2.1", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.4" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "dev": true + } } }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } + "node-releases": { + "version": "2.0.12" }, - "postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "requires": { - "postcss-selector-parser": "^6.0.11" - } + "normalize-path": { + "version": "3.0.0" }, - "postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "npm-run-path": { + "version": "4.0.1", + "dev": true, "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "path-key": "^3.0.0" } }, - "postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - } + "nwsapi": { + "version": "2.2.5", + "dev": true }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} + "object-assign": { + "version": "4.1.1", + "dev": true }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "object-copy": { + "version": "0.1.0", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "object-inspect": { + "version": "1.12.3", + "dev": true }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "object-is": { + "version": "1.1.5", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "object-keys": { + "version": "1.1.1", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "isobject": "^3.0.0" } }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "object.assign": { + "version": "4.1.4", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "object.pick": { + "version": "1.3.0", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "isobject": "^3.0.1" } }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "object.values": { + "version": "1.1.6", + "dev": true, "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" } }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "on-headers": { + "version": "1.0.2" + }, + "once": { + "version": "1.4.0", "requires": { - "postcss-value-parser": "^4.2.0" + "wrappy": "1" } }, - "postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "requires": {} - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "onetime": { + "version": "5.1.2", + "dev": true, "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "mimic-fn": "^2.1.0" } }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "optionator": { + "version": "0.9.1", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" } }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "requires": {} + "os-browserify": { + "version": "0.3.0", + "dev": true }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "p-limit": { + "version": "3.1.0", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "yocto-queue": "^0.1.0" } }, - "postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "p-locate": { + "version": "5.0.0", + "dev": true, "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "dev": true + }, + "pako": { + "version": "1.0.11", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "parent-module": { + "version": "1.0.1", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "callsites": "^3.0.0" } }, - "postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "parse-asn1": { + "version": "5.1.6", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "parse-json": { + "version": "5.2.0", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "@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": { + "version": "7.1.2", + "dev": true, + "requires": { + "entities": "^4.4.0" } }, - "postcss-replace-overflow-wrap": { + "pascalcase": { + "version": "0.1.1", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "dev": true, + "optional": true + }, + "path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "requires": {} + "dev": true }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "path-is-absolute": { + "version": "1.0.1" + }, + "path-is-inside": { + "version": "1.0.2", + "dev": true + }, + "path-key": { + "version": "3.1.1" + }, + "path-parse": { + "version": "1.0.7", + "dev": true + }, + "path-scurry": { + "version": "1.10.1", "requires": { - "postcss-selector-parser": "^6.0.10" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "path-to-regexp": { + "version": "2.2.1", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "dev": true, "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "pend": { + "version": "1.2.0", + "dev": true + }, + "picocolors": { + "version": "1.0.0" + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "pify": { + "version": "4.0.1", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.5", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "dev": true, + "requires": { + "find-up": "^4.0.0" }, "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "find-up": { + "version": "4.1.0", + "dev": true, "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "p-locate": { + "version": "4.1.0", + "dev": true, "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "p-limit": "^2.2.0" } } } }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "posix-character-classes": { + "version": "0.1.1", + "dev": true + }, + "postcss": { + "version": "8.4.27", + "peer": true, "requires": { - "postcss-selector-parser": "^6.0.5" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" } }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, "prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "dev": true }, "prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.5.0", + "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.4.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + "dev": true } } }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } + "version": "2.0.1" }, "promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, "propagate": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, "prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "dev": true }, "public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -47949,16 +44900,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -47967,8 +44914,6 @@ }, "pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -47978,8 +44923,6 @@ "dependencies": { "pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -47989,25 +44932,14 @@ } }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + "version": "2.3.0" }, "pure-rand": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, "qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -48015,40 +44947,24 @@ }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "dev": true }, "queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } + "dev": true }, "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -48057,40 +44973,10 @@ }, "range-parser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", "dev": true }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, "rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { "deep-extend": "^0.6.0", @@ -48101,148 +44987,67 @@ "dependencies": { "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true } } }, "react": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, "requires": { "loose-envify": "^1.1.0" } }, - "react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - } - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - } - } - }, "react-dom": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "peer": true, "requires": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" } }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - }, - "react-toastify": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", - "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", - "requires": { - "clsx": "^1.1.1" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "requires": { - "pify": "^2.3.0" - } + "dev": true }, "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "version": "2.3.8", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2" + }, + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "readdir-glob": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "requires": { "minimatch": "^5.1.0" }, "dependencies": { "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -48251,110 +45056,54 @@ }, "readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, "requires": { "picomatch": "^2.2.1" } }, "rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "requires": { "resolve": "^1.20.0" } }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - } - }, - "reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "redux": { + "version": "4.2.1", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "@babel/runtime": "^7.9.2" } }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } + "redux-thunk": { + "version": "2.4.2", + "dev": true, + "requires": {} }, "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "requires": { - "@babel/runtime": "^7.8.4" - } + "version": "0.13.11", + "dev": true }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, "regexp.prototype.flags": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "functions-have-names": "^1.2.3" } }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "requires": { - "@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": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { "rc": "^1.1.6", @@ -48363,173 +45112,83 @@ }, "registry-url": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", "dev": true, "requires": { "rc": "^1.0.1" } }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, "optional": true }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, "repeat-element": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "dev": true }, "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "version": "2.0.2" }, "requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "dev": true + }, + "reselect": { + "version": "4.1.8", + "dev": true }, "resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.2", + "dev": true, "requires": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, "requires": { "resolve-from": "^5.0.0" }, "dependencies": { "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "dev": true } } }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, "resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" + "version": "2.0.2", + "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, "reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "dev": true }, "rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -48537,8 +45196,6 @@ }, "ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -48546,9 +45203,7 @@ } }, "rollup": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", - "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", + "version": "3.27.2", "peer": true, "requires": { "fsevents": "~2.3.2" @@ -48556,41 +45211,23 @@ }, "run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, "run-queue": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" } }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.2.1" }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" @@ -48598,8 +45235,7 @@ }, "safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -48608,32 +45244,10 @@ }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "dev": true }, "saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -48641,16 +45255,14 @@ }, "scheduler": { "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "peer": true, "requires": { "loose-envify": "^1.1.0" } }, "schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -48659,111 +45271,35 @@ }, "seek-bzip": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { "commander": "^2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" } }, "semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, "requires": { "lru-cache": "^6.0.0" }, "dependencies": { "lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { "yallist": "^4.0.0" } } } }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - } - } - }, "serialize-javascript": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "requires": { "randombytes": "^2.1.0" } }, "serve": { "version": "14.2.0", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", - "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", "dev": true, "requires": { "@zeit/schemas": "2.29.0", @@ -48781,8 +45317,6 @@ "dependencies": { "ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -48793,22 +45327,16 @@ }, "chalk": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", "dev": true }, "json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "serve-handler": { "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", "dev": true, "requires": { "bytes": "3.0.0", @@ -48823,14 +45351,10 @@ "dependencies": { "mime-db": { "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true }, "mime-types": { "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { "mime-db": "~1.33.0" @@ -48838,81 +45362,8 @@ } } }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, "set-value": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -48923,8 +45374,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -48932,27 +45381,16 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -48961,8 +45399,6 @@ }, "shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -48970,26 +45406,16 @@ }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + "version": "3.0.0" }, "side-channel": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -48997,24 +45423,18 @@ } }, "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + "version": "4.0.2" }, "sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "dev": true }, "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + "version": "3.0.0", + "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -49029,8 +45449,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -49038,8 +45456,6 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -49047,8 +45463,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -49056,8 +45470,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -49065,8 +45477,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -49076,8 +45486,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -49085,8 +45493,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -49096,8 +45502,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -49107,34 +45511,24 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -49144,8 +45538,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -49155,8 +45547,6 @@ }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -49164,8 +45554,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -49173,45 +45561,19 @@ } } }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, "source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "dev": true }, "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + "version": "0.6.1" }, "source-map-js": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - } + "peer": true }, "source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", @@ -49222,61 +45584,19 @@ } }, "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -49284,47 +45604,30 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "dev": true }, "ssri": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, "stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, "requires": { "escape-string-regexp": "^2.0.0" }, "dependencies": { "escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "dev": true } } }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -49333,8 +45636,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -49342,8 +45643,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -49351,8 +45650,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -49362,8 +45659,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -49371,8 +45666,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -49382,8 +45675,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -49393,77 +45684,27 @@ }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, "stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, "requires": { "internal-slot": "^1.0.4" } }, "stream-browserify": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-each": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -49472,8 +45713,6 @@ }, "stream-http": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -49481,103 +45720,42 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==" + "version": "3.0.1" }, "stream-shift": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" } }, "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "version": "4.0.2", + "dev": true, "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" } }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, "string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" }, "dependencies": { + "ansi-regex": { + "version": "6.0.1" + }, "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.0.1", "requires": { "ansi-regex": "^6.0.1" } @@ -49586,8 +45764,6 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -49595,31 +45771,13 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "version": "8.0.0" } } }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, "string.prototype.trim": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -49628,8 +45786,7 @@ }, "string.prototype.trimend": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -49638,68 +45795,31 @@ }, "string.prototype.trimstart": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", "es-abstract": "^1.20.4" } }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, "strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } } }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } } }, "strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + "dev": true }, "strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "requires": { "is-natural-number": "^4.0.1" @@ -49707,241 +45827,27 @@ }, "strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "dev": true }, "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-loader": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", - "requires": {} - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } + "version": "3.1.1" }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" } }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } + "dev": true }, "symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "dev": true }, "table-layout": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "requires": { "@75lb/deep-merge": "^1.1.1", "array-back": "^6.2.2", @@ -49953,104 +45859,38 @@ }, "dependencies": { "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + "version": "6.2.2" }, "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + "version": "7.1.1" } } }, - "tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", - "requires": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - } - }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "version": "2.2.1" }, "tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" - } - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" }, "dependencies": { - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + "readable-stream": { + "version": "3.6.2", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } } } }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, "terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.18.1", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -50058,29 +45898,44 @@ "source-map-support": "~0.5.20" }, "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "source-map-support": { + "version": "0.5.21", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } } } }, "terser-webpack-plugin": { "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", "terser": "^5.16.8" + }, + "dependencies": { + "jest-worker": { + "version": "27.5.1", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -50089,8 +45944,7 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -50104,93 +45958,22 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "dev": true }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, "timers-browserify": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -50198,30 +45981,22 @@ }, "tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "dev": true }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-buffer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "dev": true }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -50229,8 +46004,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -50240,8 +46013,6 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -50252,58 +46023,50 @@ }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.2", + "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - } } }, "tr46": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" } }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "ts-jest": { + "version": "29.1.1", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "dev": true + } + } }, "ts-loader": { "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -50314,8 +46077,6 @@ }, "ts-loader-webpack-4": { "version": "npm:ts-loader@8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -50327,8 +46088,6 @@ "dependencies": { "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -50336,64 +46095,23 @@ "tapable": "^1.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, "memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true } } }, "tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -50403,87 +46121,37 @@ }, "tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "dev": true }, "tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, "requires": { "tslib": "^1.8.1" } }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "requires": { "prelude-ls": "^1.2.1" } }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "dev": true }, "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "requires": { - "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" - } + "version": "0.20.2", + "dev": true }, "typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, "requires": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -50492,37 +46160,21 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==" + "version": "5.0.4", + "dev": true }, "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" + "version": "4.0.0" }, "ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + "version": "1.0.35" }, "unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, "requires": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -50532,42 +46184,24 @@ }, "unbzip2-stream": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, "union-value": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -50578,16 +46212,12 @@ "dependencies": { "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -50595,40 +46225,17 @@ }, "unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" } }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "version": "0.2.0", + "dev": true }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -50637,8 +46244,6 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -50648,8 +46253,6 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -50659,27 +46262,17 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true } } }, "upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + "dev": true, + "optional": true }, "update-browserslist-db": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -50687,8 +46280,6 @@ }, "update-check": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", "dev": true, "requires": { "registry-auth-token": "3.3.2", @@ -50697,22 +46288,16 @@ }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "url": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -50721,16 +46306,13 @@ "dependencies": { "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true } } }, "url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -50738,14 +46320,10 @@ }, "use": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "util": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -50753,62 +46331,33 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "version": "1.0.2" }, "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.1.0", + "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "dev": true + } } }, "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + "version": "1.1.2" }, "vite": { "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "peer": true, "requires": { "esbuild": "^0.18.10", @@ -50819,22 +46368,10 @@ }, "vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, "w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { "xml-name-validator": "^4.0.0" @@ -50842,16 +46379,13 @@ }, "walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, "requires": { "makeerror": "1.0.12" } }, "watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -50859,8 +46393,6 @@ }, "watchpack-chokidar2": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -50869,8 +46401,6 @@ "dependencies": { "anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { @@ -50880,8 +46410,6 @@ "dependencies": { "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "optional": true, "requires": { @@ -50892,15 +46420,11 @@ }, "binary-extensions": { "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { @@ -50918,8 +46442,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -50930,8 +46452,6 @@ }, "chokidar": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { @@ -50951,8 +46471,6 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "optional": true, "requires": { @@ -50964,8 +46482,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -50974,10 +46490,17 @@ } } }, + "fsevents": { + "version": "1.2.13", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "optional": true, "requires": { @@ -50987,8 +46510,6 @@ "dependencies": { "is-glob": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "optional": true, "requires": { @@ -50999,8 +46520,6 @@ }, "is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "optional": true, "requires": { @@ -51009,15 +46528,11 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "optional": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "optional": true, "requires": { @@ -51026,8 +46541,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "optional": true, "requires": { @@ -51036,17 +46549,8 @@ } } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "optional": true - }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { @@ -51065,26 +46569,8 @@ "to-regex": "^3.0.2" } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "readdirp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { @@ -51093,27 +46579,8 @@ "readable-stream": "^2.0.2" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "optional": true, "requires": { @@ -51123,29 +46590,12 @@ } } }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, "webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -51175,8 +46625,6 @@ }, "webpack-4": { "version": "npm:webpack@4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51206,8 +46654,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -51217,26 +46663,18 @@ }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51247,8 +46685,6 @@ }, "@webassemblyjs/ieee754": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -51256,8 +46692,6 @@ }, "@webassemblyjs/leb128": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -51265,14 +46699,10 @@ }, "@webassemblyjs/utf8": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51287,8 +46717,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51300,8 +46728,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51312,8 +46738,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51326,8 +46750,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -51337,14 +46759,10 @@ }, "acorn": { "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -51361,8 +46779,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -51370,16 +46786,8 @@ } } }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -51389,8 +46797,6 @@ "dependencies": { "memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -51401,8 +46807,6 @@ }, "eslint-scope": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -51411,8 +46815,6 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -51423,8 +46825,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -51432,36 +46832,12 @@ } } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -51469,8 +46845,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -51478,140 +46852,40 @@ } } }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, "loader-runner": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + }, + "loader-utils": { + "version": "1.4.2", "dev": true, "requires": { - "find-up": "^3.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "micromatch": { + "version": "3.1.10", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -51619,46 +46893,19 @@ "ajv-keywords": "^3.1.0" } }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, "serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "terser": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -51668,8 +46915,6 @@ }, "terser-webpack-plugin": { "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", @@ -51685,8 +46930,6 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -51695,8 +46938,6 @@ }, "watchpack": { "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", @@ -51707,8 +46948,6 @@ }, "webpack": { "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "peer": true, "requires": { @@ -51739,8 +46978,6 @@ }, "webpack-sources": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -51751,8 +46988,6 @@ }, "webpack-cli": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -51772,190 +47007,12 @@ "dependencies": { "commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true } } }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, "webpack-merge": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -51964,72 +47021,32 @@ }, "webpack-node-externals": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + "version": "3.2.3" }, "webpack-sources-webpack-4": { "version": "npm:webpack-sources@1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" } }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, "whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { "iconv-lite": "0.6.3" } }, - "whatwg-fetch": { - "version": "3.6.17", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", - "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" - }, "whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { "tr46": "^3.0.0", @@ -52038,16 +47055,13 @@ }, "which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -52056,29 +47070,9 @@ "is-symbol": "^1.0.3" } }, - "which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "requires": { - "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": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, "requires": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -52087,21 +47081,19 @@ } }, "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.9", + "dev": true, "requires": { "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" + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" } }, "widest-line": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, "requires": { "string-width": "^5.0.1" @@ -52109,390 +47101,17 @@ }, "wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" - }, - "workbox-background-sync": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", - "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-broadcast-update": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", - "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-build": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", - "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", - "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" - }, - "workbox-expiration": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-google-analytics": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", - "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", - "requires": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-navigation-preload": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", - "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-precaching": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", - "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-range-requests": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", - "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-recipes": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", - "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", - "requires": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-routing": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", - "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-strategies": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", - "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-streams": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", - "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" - } - }, - "workbox-sw": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" - }, - "workbox-webpack-plugin": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", - "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } + "word-wrap": { + "version": "1.2.3", + "dev": true }, - "workbox-window": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", - "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" - } + "wordwrapjs": { + "version": "5.1.0" }, "worker-farm": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -52500,23 +47119,20 @@ }, "wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" }, "dependencies": { + "ansi-regex": { + "version": "6.0.1" + }, "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + "version": "6.2.1" }, "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.0.1", "requires": { "ansi-regex": "^6.0.1" } @@ -52525,8 +47141,6 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -52534,14 +47148,10 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "version": "8.0.0" }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -52551,89 +47161,67 @@ } }, "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "version": "1.0.2" }, "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "version": "4.0.2", + "dev": true, "requires": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" }, "dependencies": { "signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "dev": true } } }, "ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, "requires": {} }, "xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "dev": true }, "xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "dev": true }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "dev": true }, "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "dev": true, "requires": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "dependencies": { "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "dev": true }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -52643,14 +47231,11 @@ } }, "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "version": "21.1.1", + "dev": true }, "yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -52659,17 +47244,24 @@ }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "dev": true }, "zip-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } } } diff --git a/packages/browser/package.json b/packages/browser/package.json index ff997d8e..31433fa7 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -37,6 +37,7 @@ "/lib" ], "devDependencies": { + "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", "jest": "^29.5.0", diff --git a/packages/browser/src/redux/BacktraceReduxMiddleware.ts b/packages/browser/src/redux/BacktraceReduxMiddleware.ts new file mode 100644 index 00000000..565938c1 --- /dev/null +++ b/packages/browser/src/redux/BacktraceReduxMiddleware.ts @@ -0,0 +1,33 @@ +import type { Middleware, Action } from 'redux'; +import { BacktraceClient } from '../BacktraceClient'; + +/** + * + * @param client BacktraceClient used to send breadcrumbs + * @param interceptAction A function that can be used to skip an action or filter out information from a dispatched action, such as PII, that shouldn't be sent to Backtrace. Return undefined to skip an action, otherwise whatever (potentially modified) action returned will be sent to Backtrace. + */ +export const createBacktraceReduxMiddleware = ( + client: BacktraceClient, + interceptAction: (action: Action) => Action | undefined = (action) => action, +) => { + if (!client) { + throw new Error('Must pass a BacktraceClient to the BacktraceReduxMiddleware.'); + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const middleware: Middleware = (store) => (next) => (action: Action) => { + try { + const response = next(action); + const interceptedAction = interceptAction(action); + // If the user returns undefined for an action, we skip the breadcrumb + if (interceptedAction) { + client.breadcrumbs?.info(`REDUX Action: ${JSON.stringify(interceptedAction)}`); + } + return response; + } catch (err) { + const message = err instanceof Error ? err.message : err?.toString() ?? 'unknown'; + client.breadcrumbs?.warn(`A problem occurred during action ${action.type}. Reason: ${message}`); + throw err; + } + }; + return middleware; +}; diff --git a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts new file mode 100644 index 00000000..50bd3e84 --- /dev/null +++ b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts @@ -0,0 +1,192 @@ +import { BacktraceBreadcrumbs } from '@backtrace/sdk-core/src'; +import { BacktraceClient } from '../../src/BacktraceClient'; +import { createBacktraceReduxMiddleware } from '../../src/redux/BacktraceReduxMiddleware'; +import { configureStore, createSlice, PayloadAction, Action, Middleware } from '@reduxjs/toolkit'; + +const clientBreadcrumbsEnabled = BacktraceClient.initialize({ + name: 'test-cleint', + version: '1.2.3', + url: 'https://test-bt-client-url.sp.backtrace.io', + breadcrumbs: { + enable: true, + }, +}); + +interface TestState { + testArr: string[]; + testBool: boolean; +} + +const initialState: TestState = { + testArr: [], + testBool: false, +}; + +const internalError = new Error('Test internal error'); + +const testSlice = createSlice({ + name: 'test', + initialState, + reducers: { + addToTestArray(state, action: PayloadAction) { + state.testArr.push(action.payload); + }, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + toggleTestBool(state, action: PayloadAction) { + state.testBool = !state.testBool; + }, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + throwErrorForTest(state, action: PayloadAction) { + throw internalError; + }, + }, +}); + +const createLoggingMiddleware = (whatToLog: string) => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const middleware: Middleware = (store) => (next) => (action) => { + console.log(`${whatToLog} before`); + const response = next(action); + console.log(`${whatToLog} after`); + return response; + }; + return middleware; +}; + +const hiLoggingMiddleware = createLoggingMiddleware('hi'); +const holaLoggingMiddleware = createLoggingMiddleware('hola'); + +const getExpectedBreadcrumb = (action: Action) => `REDUX Action: ${JSON.stringify(action)}`; + +const { addToTestArray, toggleTestBool, throwErrorForTest } = testSlice.actions; + +const getBreadcrumbsSpy = (method: 'info' | 'warn') => { + return jest.spyOn(clientBreadcrumbsEnabled.breadcrumbs as BacktraceBreadcrumbs, method); +}; + +const getStore = (interceptAction?: (action: Action) => Action | undefined) => + configureStore({ + reducer: { + test: testSlice.reducer, + }, + middleware: (getDefaultMiddleware) => { + const backtraceMiddleware = createBacktraceReduxMiddleware(clientBreadcrumbsEnabled, interceptAction); + return getDefaultMiddleware().concat(backtraceMiddleware); + }, + }); + +describe('createBacktraceReduxMiddleware', () => { + it('Should throw an error if no client is passed in', () => { + expect(() => createBacktraceReduxMiddleware(undefined as unknown as BacktraceClient)).toThrow(); + }); + + describe('Redux store with Backtrace middleware and breadcrumbs enabled', () => { + const store = getStore(); + + afterEach(() => jest.restoreAllMocks()); + + it('Should have defined breadcrumbs when enabled', () => { + expect(clientBreadcrumbsEnabled.breadcrumbs).toBeDefined(); + }); + + it('Should call client.breadcrumbs.info on action dispatch', () => { + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + store.dispatch(addToTestArray('test string')); + store.dispatch(toggleTestBool()); + expect(breadcrumbsSpy).toHaveBeenCalledTimes(2); + }); + + it('Should call client.breadcrumbs.warn on an error during dispatch and rethrow the error', () => { + const breadcrumbsSpy = getBreadcrumbsSpy('warn'); + try { + store.dispatch(throwErrorForTest()); + } catch (e) { + if (!(e instanceof Error)) { + throw new Error('e should be an error'); + } + // the middleware should rethrow the caught error after saving a breadcrumb + expect(e.message).toEqual(internalError.message); + } + expect(breadcrumbsSpy).toHaveBeenCalledTimes(1); + }); + }); + + describe('interceptAction', () => { + afterEach(() => { + jest.restoreAllMocks(); + }); + + it('Should not save a breadcrumb if undefined is returned by interceptAction', () => { + const store = getStore(() => undefined); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + store.dispatch(addToTestArray('test')); + store.dispatch(toggleTestBool()); + expect(breadcrumbsSpy).not.toHaveBeenCalled(); + }); + + it('Should pass exact same action if no interceptAction method is provided', () => { + const store = getStore(); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const toggleAction = toggleTestBool(); + const expected = getExpectedBreadcrumb(toggleAction); + store.dispatch(toggleAction); + expect(breadcrumbsSpy).toBeCalledWith(expected); + }); + + it('Should only save a breadcrumb for what is returned from interceptAction', () => { + const interceptedAction = { type: 'expected-type' }; + const store = getStore(() => interceptedAction); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const expected = getExpectedBreadcrumb(interceptedAction); + store.dispatch(addToTestArray('Message to add')); + expect(breadcrumbsSpy).toHaveBeenCalledWith(expected); + }); + + it('Should have access to update the action via interceptAction', () => { + const expectedType = 'redacted'; + const payload = 'expected-payload'; + const expectedAction = { + type: expectedType, + payload, + }; + const store = getStore((action: Action) => { + if (action.type === 'test/addToTestArray') { + return { + ...action, + type: expectedType, + }; + } else { + throw new Error("action.type 'test/addToTestArray' never called"); + } + }); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const expected = getExpectedBreadcrumb(expectedAction); + store.dispatch(addToTestArray(payload)); + expect(breadcrumbsSpy).toHaveBeenCalledWith(expected); + }); + }); +}); + +describe('Multiple middleware interaction', () => { + const backtraceMiddleware = createBacktraceReduxMiddleware(clientBreadcrumbsEnabled); + const store = configureStore({ + reducer: { + test: testSlice.reducer, + }, + middleware: [hiLoggingMiddleware, backtraceMiddleware, holaLoggingMiddleware], + }); + + it('Should not interfere with other redux middlewares, both before and after', () => { + const toggleAction = toggleTestBool(); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const consoleSpy = jest.spyOn(console, 'log').mockImplementation(); + const expectedBreadcrumb = getExpectedBreadcrumb(toggleAction); + const expectedConsoleLogs = ['hi before', 'hi after', 'hola before', 'hola after']; + store.dispatch(toggleAction); + expect(breadcrumbsSpy).toHaveBeenCalledWith(expectedBreadcrumb); + for (const expectedStr of expectedConsoleLogs) { + expect(consoleSpy).toHaveBeenCalledWith(expectedStr); + } + jest.restoreAllMocks(); + }); +}); From 83d284c845aab73daaf12f54db204db7cb0e56e9 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Wed, 23 Aug 2023 10:45:00 -0400 Subject: [PATCH 113/291] Feature/browser readme (#84) * Changing client init to use initialize() instead of builder().build() * Fixing typos * Adding info for Breadcrumbs * Adding Metrics details * Updating BacktraceClientOptions (and removing database stuff as it shouldn't be relevant for browser * Updating Table of Contents, and adding Sending an Error details * Adding link to Sauce source maps docs and updating ToC * Fit 'n finish --------- Co-authored-by: Adam Cronin Co-authored-by: Rick Foster Co-authored-by: Rick Foster <115846221+rick-bt@users.noreply.github.com> --- packages/browser/README.md | 146 ++++++++++++++---- .../configuration/BacktraceConfiguration.ts | 4 +- 2 files changed, 115 insertions(+), 35 deletions(-) diff --git a/packages/browser/README.md b/packages/browser/README.md index e9b79add..03477c7f 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -1,30 +1,36 @@ -# **Backtrace Browser** +# **Backtrace Browser SDK** [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and easy, after which you can explore the rich set of Backtrace features. ## Table of Contents 1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Integrate the SDK](#integrate-the-sdk) + - [Upload source maps](#upload-source-maps) 1. [Error Reporting Features](#error-reporting-features) - [Attributes](#attributes) - [File Attachments](#file-attachments) - [Breadcrumbs](#breadcrumbs) - [Application Stability Metrics](#application-stability-metrics) + - [Metrics Configuration](#metrics-configuration) + - [Metrics Usage](#metrics-usage) 1. [Advanced SDK Features](#advanced-sdk-features) + - [Manually send an error](#manually-send-an-error) - [BacktraceClient](#backtraceclient) - - [BacktraceDatabase](#backtracedatabase) - - [BacktraceMetrics](#backtracemetrics) - - [Callbacks](#callbacks) - - [BeforeSend](#beforesend) - - [FilterReport](#filterreport) + - [BacktraceClientOptions](#backtraceclientoptions) + - [BacktraceClient Methods](#backtraceclient-methods) + - [BacktraceReports](#backtracereport) + ## Basic Integration -All code examples are given in TypeScript. +### Integrate the SDK +Add the following code to your application before all other scripts to report client-side errors to Backtrace. + ```ts // Import the BacktraceClient from @backtrace/browser with your favoriate package manager. import { BacktraceClient, BacktraceConfiguration } from "@backtrace/browser"; -// BacktraceClientOptions +// Configure client options const options: BacktraceConfiguration = { // Name of the website/application name: "MyWebPage", @@ -36,13 +42,21 @@ const options: BacktraceConfiguration = { url: "https://submit.backtrace.io///json", } -// Initialize the client -const client = BacktraceClient.builder(options).build(); +// Initialize the client with the options +const client = BacktraceClient.initialize(options); + +// By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections -// Send an error +// Manually send an error client.send(new Error("Something broke!")); ``` +### Upload source maps +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to your original source identifiers. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + + ## Error Reporting Features ### Attributes @@ -69,13 +83,13 @@ const options: BacktraceConfiguration = { } // Initialize the client -const client = BacktraceClient.builder(options).build(); +const client = BacktraceClient.initialize(options); ``` #### Add attributes during application runtime Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). ```ts -const client = BacktraceClient.builder(options).build(); +const client = BacktraceClient.initialize(options); ... client.addAttribute({ @@ -118,6 +132,8 @@ const options = { attachments, } +const client = BacktraceClient.initialize(options); + // Later decide to add an attachment to all reports client.attachments.push(attachment2) @@ -135,19 +151,91 @@ try { Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, and manual breadcrumbs can also be added. [(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) + +#### Breadcrumbs Configuration +| Option Name | Type | Description | Default | Required? | +|-|-|-|-|-| +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| + +```ts +import { BacktraceClient, BacktraceConfiguration } from "@backtrace/browser"; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // ignoring all but breadcrumbs config for simplicity + breadcrumbs: { + // breadcrumbs configuration + } +} + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Default Breadcrumbs +| Type | Description| +| - | - | +| HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | +| History | Adds breadcrumb on pushstate and popstate. | +| Document/Window | Adds a breadcrumb for document.click, document.dblclick, document.drag, document.drop, window.load, window.unload, window.pagehide, window.pageshow, window.online, and window.offline. | + +#### Intercepting Breadcrumbs +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no breadcrumb will be added. + +#### Manual Breadcrumbs +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of your own. + +```ts +client.breadcrumbs?.info('This is a manual breadcrumb.', { + customAttr: 'wow!' + }); +``` *** ### Application Stability Metrics -The Backtrace Browser SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. See [BacktraceMetrics](#backtracemetrics) below to configure a metrics object during initialization to track additional metrics data. +The Backtrace Browser SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. [(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) -*** -### Soure Map Support +#### Metrics Configuration +| Option Name | Type | Description | Default | Required? | +|-|-|-|-|-| +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| + +#### Metrics Usage +```ts +// metrics will be undefined if not enabled +client.metrics?.send(); +``` +*** ## Advanced SDK Features +### Manually send an error +There are several ways to send an error to Backtrace. For more details on the definition of ```client.send()``` see [Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` + ### BacktraceClient BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. @@ -163,32 +251,24 @@ The following options are available for the BacktraceClientOptions passed when i | `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon)| |
  • - [ ]
| | `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| | `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| -| `beforeSend` | Callback | Allows for modification of the report before sending it. See [BeforeSend](#beforesend) | |
  • - [ ]
| -| `filterReport` | Callback | Allows for filtering of reports. See [FilterReport](#filterreport) |
  • - [ ]
| +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| | `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| | `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| | `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| | `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| | `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| -| `metrics` | BacktraceMetricsOptions | See [Backtrace Metrics](#backtrace-metrics) | |
  • - [ ]
| -| `database` | BacktraceDatabaseOptions | See [Backtrace Database](#backtrace-database) | |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| -#### Methods +#### BacktraceClient Methods | Name | Return Type | Description | | - | - | - | | `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | Sets up a new BacktraceClient for reporting| - -### BacktraceDatabase - -### BacktraceMetrics +| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | +| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | ### BacktraceReport - -### Callbacks - -#### BeforeSend -Use BeforeSend to modify an error report. BeforeSend will be called at the last possible point in which the BacktraceReport can be modified (attributes added or deleted, additonal attachments added). The BacktraceReport returned from this function will be the error report sent. If a null is returned the report will be skipped. - -#### FilterReport \ No newline at end of file +A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in ```BacktraceReport.ts```. diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index a5adba89..f2f994df 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -45,8 +45,8 @@ export interface BacktraceBreadcrumbsSettings { eventType?: BreadcrumbType; /** - * Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breacrumbs - * wil be stored. + * Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs + * will be stored. */ maximumBreadcrumbs?: number; From 56cac44164ed3c9b926b4652da1e26272798d2ca Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Wed, 23 Aug 2023 10:45:53 -0400 Subject: [PATCH 114/291] Feature/redux example (#83) * Adding a redux example * Updating package-lock.json --------- Co-authored-by: Adam Cronin --- examples/sdk/browser/index.css | 4 + examples/sdk/browser/index.html | 71 +- examples/sdk/browser/package-lock.json | 4155 ++++++++++++++++++++++++ examples/sdk/browser/package.json | 5 +- examples/sdk/browser/src/index.ts | 82 +- package-lock.json | 28 +- packages/browser/src/index.ts | 1 + 7 files changed, 4300 insertions(+), 46 deletions(-) create mode 100644 examples/sdk/browser/package-lock.json diff --git a/examples/sdk/browser/index.css b/examples/sdk/browser/index.css index e9f19055..03a461c9 100644 --- a/examples/sdk/browser/index.css +++ b/examples/sdk/browser/index.css @@ -4,6 +4,10 @@ width: 30%; } +#redux-demo-container { + display: none; +} + .center { display: block; margin: 0 auto; diff --git a/examples/sdk/browser/index.html b/examples/sdk/browser/index.html index 4edfcc5f..ceecf2e0 100644 --- a/examples/sdk/browser/index.html +++ b/examples/sdk/browser/index.html @@ -19,29 +19,56 @@ class="center" /> - -
-

Welcome to the Backtrace demo

-

Please pick one of the available options:

-
-
- - - - -
- Generate metric +
+
+

Welcome to the Backtrace demo

+

Please pick one of the available options:

+
+ - +
+
+

Welcome to the Redux demo

+

+ Please increment, decrement, and clear the counter. Once ready, send an error and view the + breadcrumbs in Backtrace! +

+
+
Count: 0
+ + + +
diff --git a/examples/sdk/browser/package-lock.json b/examples/sdk/browser/package-lock.json new file mode 100644 index 00000000..768f4d57 --- /dev/null +++ b/examples/sdk/browser/package-lock.json @@ -0,0 +1,4155 @@ +{ + "name": "@backtrace/browser-example", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace/browser-example", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@reduxjs/toolkit": "^1.9.5" + }, + "devDependencies": { + "serve": "^14.2.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", + "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", + "dependencies": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", + "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001521", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", + "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.495", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", + "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dev": true, + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + }, + "dependencies": { + "@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@reduxjs/toolkit": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", + "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", + "requires": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + } + }, + "@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/node": { + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", + "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dev": true, + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001521", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", + "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dev": true, + "requires": { + "chalk": "^4.1.2" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true + }, + "clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.495", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", + "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true + }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "requires": {} + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + }, + "resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dev": true, + "requires": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + } + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true + }, + "typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "requires": { + "string-width": "^5.0.1" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index 9eb4d35e..988a4bb3 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -6,6 +6,7 @@ "types": "lib/index.d.ts", "browser": "lib/index.js", "scripts": { + "start": "serve .", "build": "webpack", "clean": "rimraf \"lib\"", "format": "prettier --write '**/*.ts'", @@ -32,13 +33,13 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { + "serve": "^14.2.0", "ts-loader": "^9.4.3", "typescript": "^5.0.4", "webpack": "^5.87.0", "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/browser": "^0.0.1", - "@backtrace/webpack-plugin": "^0.0.1" + "@reduxjs/toolkit": "^1.9.5" } } diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts index 7220a346..e550cc9a 100644 --- a/examples/sdk/browser/src/index.ts +++ b/examples/sdk/browser/src/index.ts @@ -1,5 +1,6 @@ -import { BacktraceClient, BacktraceStringAttachment } from '@backtrace/browser'; +import { BacktraceClient, BacktraceStringAttachment, createBacktraceReduxMiddleware } from '@backtrace/browser'; import { SUBMISSION_URL } from './consts'; +import { createSlice, configureStore } from '@reduxjs/toolkit'; const client = BacktraceClient.initialize({ url: SUBMISSION_URL, @@ -14,6 +15,40 @@ const client = BacktraceClient.initialize({ }, }); +interface DemoState { + count: number; +} + +const initialState: DemoState = { + count: 0, +}; + +const counterSlice = createSlice({ + name: 'Redux-Demo', + initialState, + reducers: { + setCount(state, action) { + state.count = action.payload; + }, + }, +}); + +const { setCount } = counterSlice.actions; + +const store = configureStore({ + reducer: { + counter: counterSlice.reducer, + }, + middleware: (getDefaultMiddleware) => { + const backtraceMiddleware = createBacktraceReduxMiddleware(client); + return getDefaultMiddleware().concat(backtraceMiddleware); + }, +}); + +function getCount() { + return store.getState().counter.count; +} + function parseNotExistingDomElement(): string { const element = document.getElementById('not-existing-id') as HTMLElement; return element.outerText.split('\n')[1].toString(); @@ -25,6 +60,11 @@ const sendUnhandledExceptionButton = document.getElementById('send-unhandled-exc const sendPromiseRejectionButton = document.getElementById('send-promise-rejection') as HTMLElement; const generateMetricButton = document.getElementById('generate-metric') as HTMLElement; const sendMetricsButton = document.getElementById('send-metrics') as HTMLElement; +const reduxDemoButton = document.getElementById('redux-demo') as HTMLElement; +const incrementCounterButton = document.getElementById('increment') as HTMLElement; +const decrementCounterButton = document.getElementById('decrement') as HTMLElement; +const clearCounterButton = document.getElementById('clear') as HTMLElement; +const sendReduxErrorButton = document.getElementById('send-redux-error') as HTMLElement; async function sendHandledException() { try { @@ -73,9 +113,49 @@ function unhandledException() { console.log('unhandled exception'); throw new Error('unhandled exception'); } + +function handleReduxButtonClick() { + const reduxDemoContainer = document.getElementById('redux-demo-container') as HTMLElement; + const mainButtonsContainer = document.getElementById('main-buttons-container') as HTMLElement; + + reduxDemoContainer.style.display = 'block'; + mainButtonsContainer.style.display = 'none'; +} + +function repaintCount() { + const countEl = document.getElementById('count') as HTMLElement; + const count = store.getState().counter.count; + countEl.innerText = String(count); +} + +function handleIncrementClick() { + console.log('increment counter click'); + const count = getCount(); + store.dispatch(setCount(count + 1)); + repaintCount(); +} + +function handleDecrementClick() { + console.log('decrement counter click'); + const count = getCount(); + store.dispatch(setCount(count - 1)); + repaintCount(); +} + +function handleClearClick() { + console.log('clear counter click'); + store.dispatch(setCount(0)); + repaintCount(); +} + sendErrorButton.onclick = sendHandledException; sendMessageButton.onclick = sendMessage; generateMetricButton.onclick = generateMetric; sendMetricsButton.onclick = sendMetrics; sendUnhandledExceptionButton.onclick = unhandledException; sendPromiseRejectionButton.onclick = unhandledPromiseRejection; +reduxDemoButton.onclick = handleReduxButtonClick; +incrementCounterButton.onclick = handleIncrementClick; +decrementCounterButton.onclick = handleDecrementClick; +clearCounterButton.onclick = handleClearClick; +sendReduxErrorButton.onclick = sendHandledException; diff --git a/package-lock.json b/package-lock.json index c742540f..4242a827 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,10 +31,10 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@backtrace/browser": "^0.0.1", - "@backtrace/webpack-plugin": "^0.0.1" + "@reduxjs/toolkit": "^1.9.5" }, "devDependencies": { + "serve": "^14.2.0", "ts-loader": "^9.4.3", "typescript": "^5.0.4", "webpack": "^5.87.0", @@ -17184,7 +17184,6 @@ }, "node_modules/@babel/runtime": { "version": "7.22.6", - "dev": true, "license": "MIT", "dependencies": { "regenerator-runtime": "^0.13.11" @@ -17917,7 +17916,6 @@ }, "node_modules/@reduxjs/toolkit": { "version": "1.9.5", - "dev": true, "license": "MIT", "dependencies": { "immer": "^9.0.21", @@ -22799,7 +22797,6 @@ }, "node_modules/immer": { "version": "9.0.21", - "dev": true, "license": "MIT", "funding": { "type": "opencollective", @@ -25661,7 +25658,6 @@ }, "node_modules/redux": { "version": "4.2.1", - "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" @@ -25669,7 +25665,6 @@ }, "node_modules/redux-thunk": { "version": "2.4.2", - "dev": true, "license": "MIT", "peerDependencies": { "redux": "^4" @@ -25677,7 +25672,6 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.11", - "dev": true, "license": "MIT" }, "node_modules/regex-not": { @@ -25772,7 +25766,6 @@ }, "node_modules/reselect": { "version": "4.1.8", - "dev": true, "license": "MIT" }, "node_modules/resolve": { @@ -29556,7 +29549,6 @@ }, "@babel/runtime": { "version": "7.22.6", - "dev": true, "requires": { "regenerator-runtime": "^0.13.11" } @@ -29620,8 +29612,8 @@ "@backtrace/browser-example": { "version": "file:examples/sdk/browser", "requires": { - "@backtrace/browser": "^0.0.1", - "@backtrace/webpack-plugin": "^0.0.1", + "@reduxjs/toolkit": "^1.9.5", + "serve": "^14.2.0", "ts-loader": "^9.4.3", "typescript": "^5.0.4", "webpack": "^5.87.0", @@ -39925,7 +39917,6 @@ }, "@reduxjs/toolkit": { "version": "1.9.5", - "dev": true, "requires": { "immer": "^9.0.21", "redux": "^4.2.1", @@ -43229,8 +43220,7 @@ "dev": true }, "immer": { - "version": "9.0.21", - "dev": true + "version": "9.0.21" }, "import-fresh": { "version": "3.3.0", @@ -45071,19 +45061,16 @@ }, "redux": { "version": "4.2.1", - "dev": true, "requires": { "@babel/runtime": "^7.9.2" } }, "redux-thunk": { "version": "2.4.2", - "dev": true, "requires": {} }, "regenerator-runtime": { - "version": "0.13.11", - "dev": true + "version": "0.13.11" }, "regex-not": { "version": "1.0.2", @@ -45142,8 +45129,7 @@ "dev": true }, "reselect": { - "version": "4.1.8", - "dev": true + "version": "4.1.8" }, "resolve": { "version": "1.22.2", diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index d757a836..05ee3e49 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -18,3 +18,4 @@ export * from './agentDefinition'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; export * from './builder/BacktraceClientBuilder'; +export * from './redux/BacktraceReduxMiddleware'; From ac31d5f4fee28a113114a893856c0d174ba1c805 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Wed, 23 Aug 2023 11:09:07 -0400 Subject: [PATCH 115/291] Adding react README.md (#86) * Adding react README.md * Moving Error Boundary section above source maps section --------- Co-authored-by: Adam Cronin --- packages/react/README.md | 300 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 packages/react/README.md diff --git a/packages/react/README.md b/packages/react/README.md new file mode 100644 index 00000000..8c2fcf4c --- /dev/null +++ b/packages/react/README.md @@ -0,0 +1,300 @@ +# **Backtrace React SDK** +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. + +The [@backtrace/react](#) SDK connects your React application to Backtrace. The basic integration is quick and easy, after which you can explore the rich set of Backtrace features. + +## Table of Contents +1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Integrate the SDK](#integrate-the-sdk) + - [Add a Backtrace Error Boundary](#add-a-backtrace-error-boundary) + - [Upload source maps](#upload-source-maps) +1. [Error Reporting Features](#error-reporting-features) + - [Attributes](#attributes) + - [File Attachments](#file-attachments) + - [Breadcrumbs](#breadcrumbs) + - [Application Stability Metrics](#application-stability-metrics) + - [Metrics Configuration](#metrics-configuration) + - [Metrics Usage](#metrics-usage) +1. [Advanced SDK Features](#advanced-sdk-features) + - [Manually send an error](#manually-send-an-error) + - [BacktraceClient](#backtraceclient) + - [BacktraceClientOptions](#backtraceclientoptions) + - [BacktraceClient Methods](#backtraceclient-methods) + - [BacktraceReports](#backtracereport) + + +## Basic Integration +### Integrate the SDK +Add the following code to your application before all other scripts to report client-side errors to Backtrace. + +```ts +// Import the BacktraceClient from @backtrace/react with your favoriate package manager. +import { BacktraceClient, BacktraceConfiguration } from "@backtrace/react"; + +// Configure client options +const options: BacktraceConfiguration = { + // Name of the website/application + name: "MyWebPage", + // Version of the website + version: "1.2.3", + // Submission url + // is the subdomain of your Backtrace instance (.backtrace.io) + // can be found in Project Settings/Submission tokens + url: "https://submit.backtrace.io///json", +} + +// Initialize the client with the options +const client = BacktraceClient.initialize(options); + +// By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections + +// Manually send an error +client.send(new Error("Something broke!")); +``` + +### Add a Backtrace Error Boundary +The ```@backtrace/react``` SDK offers an Error Boundary that will handle errors during rendering, send the error and component stack to Backtrace, and allow you to provide a fallback component. + +Props: +```ts +type RenderFallback = () => ReactElement; + +export interface Props { + children: ReactNode; + fallback?: ReactElement | RenderFallback; + name?: string; // to identify the ErrorBoundary when multiple are used +} +``` + + +Usage: +```ts +import { ErrorBoundary } from '@backtrace/react'; +import Fallback from './components/Fallback'; + + + + +``` + +### Upload source maps +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to your original source identifiers. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + + +## Error Reporting Features +### Attributes + +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of the advanced Backtrace features detailed in [Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). + +There are several places where attributes can be added, modified or deleted. + +#### Attach attributes object to BacktraceClient +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of attributes will be included with every error report, referred to as global attributes. +```ts +// Create an attributes object that can be modified throughout runtime +const attributes: Record = { + "release": "PROD", +} + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + name: "MyWebPage", + version: "1.2.3", + url: "https://submit.backtrace.io///json", + + // Attach the attributes object + userAttributes: attributes, +} + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Add attributes during application runtime +Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute({ + "clientID": "de6faf4d-d5b5-486c-9789-318f58a14476" +}) +``` + +#### Add attributes to an error report +The attributes list of a BacktraceReport object can be directly modified. + +```ts +const report: BacktraceReport = new BacktraceReport("My error message", { "myReportKey": "myValue" }); +report.attributes["myReportKey"] = "New value"; +``` +*** +### File Attachments + +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be uploaded with each report. + +```ts +// Import attachment types from @backtrace/react +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/react"; + +// BacktraceStringAttachment should be used for text object like a log file, for example +const attachment1 = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") + +// BacktraceUint8ArrayAttachment should be used for binary files +const attachment2 = new BacktraceUint8ArrayAttachment("connection_buffer", new Uint8Array(2)); + +// Setup array of files to attach +const attachments = [attachment1]; + +// BacktraceClientOptions +const options = { + name: "MyWebPage", + version: "1.2.3", + url: "https://submit.backtrace.io///json", + + // Attach the files to all reports + attachments, +} + +const client = BacktraceClient.initialize(options); + +// Later decide to add an attachment to all reports +client.attachments.push(attachment2) + +// After catching an exception and generating a report +try { + throw new Error("Caught exception!") +} catch (error) { + const report = const report = new BacktraceReport(error, {}, [new BacktraceStringAttachment("CaughtErrorLog", "some error logging data here")]) + client.send(report); +} +``` +*** + +### Breadcrumbs +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, and manual breadcrumbs can also be added. + +[(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) + +#### Breadcrumbs Configuration +| Option Name | Type | Description | Default | Required? | +|-|-|-|-|-| +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| + +```ts +import { BacktraceClient, BacktraceConfiguration } from "@backtrace/react"; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // ignoring all but breadcrumbs config for simplicity + breadcrumbs: { + // breadcrumbs configuration + } +} + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Default Breadcrumbs +| Type | Description| +| - | - | +| HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | +| History | Adds breadcrumb on pushstate and popstate. | +| Document/Window | Adds a breadcrumb for document.click, document.dblclick, document.drag, document.drop, window.load, window.unload, window.pagehide, window.pageshow, window.online, and window.offline. | + +#### Intercepting Breadcrumbs +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no breadcrumb will be added. + +#### Manual Breadcrumbs +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of your own. + +```ts +client.breadcrumbs?.info('This is a manual breadcrumb.', { + customAttr: 'wow!' + }); +``` +*** + +### Application Stability Metrics +The Backtrace React SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. + +[(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) + +#### Metrics Configuration +| Option Name | Type | Description | Default | Required? | +|-|-|-|-|-| +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| + +#### Metrics Usage +```ts +// metrics will be undefined if not enabled +client.metrics?.send(); +``` + +*** + +## Advanced SDK Features + +### Manually send an error +There are several ways to send an error to Backtrace. For more details on the definition of ```client.send()``` see [Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` + +### BacktraceClient +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +|-|-|-|-|-| +| `url` | String | Submission URL to send errors to | |
  • - [x]
| +| `name` | String | Your application name | |
  • - [x]
| +| `version` | String | Your application version | |
  • - [x]
| +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon)| |
  • - [ ]
| +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| + +#### BacktraceClient Methods + +| Name | Return Type | Description | +| - | - | - | +| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | +| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | + +### BacktraceReport +A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in ```BacktraceReport.ts```. From fd1e5d6f171bd44a4a98ec07d6afd920c889910c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 23 Aug 2023 18:43:01 +0200 Subject: [PATCH 116/291] Default true promise rejection --- .../sdk-core/src/model/configuration/BacktraceConfiguration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index f2f994df..d889a8ac 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -78,7 +78,7 @@ export interface BacktraceConfiguration { /** * Determines if unhandled promise rejections should be captured by the library. - * By default false. + * By default true. */ captureUnhandledPromiseRejections?: boolean; From ec1d4aca7c2c7f99bf5d3a7743fc86f8db72d144 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 23 Aug 2023 19:23:34 +0200 Subject: [PATCH 117/291] Browser (#87) * Added note to install package * Add direction to install packgage in react --------- Co-authored-by: Rick Foster --- packages/browser/README.md | 6 ++++++ packages/react/README.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/packages/browser/README.md b/packages/browser/README.md index 03477c7f..41c32fcb 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -5,6 +5,7 @@ The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrac ## Table of Contents 1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Install the package](#install-the-package) - [Integrate the SDK](#integrate-the-sdk) - [Upload source maps](#upload-source-maps) 1. [Error Reporting Features](#error-reporting-features) @@ -23,6 +24,11 @@ The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrac ## Basic Integration +### Install the package +``` +$ npm install @backtrace/browser +``` + ### Integrate the SDK Add the following code to your application before all other scripts to report client-side errors to Backtrace. diff --git a/packages/react/README.md b/packages/react/README.md index 8c2fcf4c..e0888e18 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -5,6 +5,7 @@ The [@backtrace/react](#) SDK connects your React application to Backtrace. The ## Table of Contents 1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Install the package](#install-the-package) - [Integrate the SDK](#integrate-the-sdk) - [Add a Backtrace Error Boundary](#add-a-backtrace-error-boundary) - [Upload source maps](#upload-source-maps) @@ -24,6 +25,11 @@ The [@backtrace/react](#) SDK connects your React application to Backtrace. The ## Basic Integration +### Install the package +``` +$ npm install @backtrace/react +``` + ### Integrate the SDK Add the following code to your application before all other scripts to report client-side errors to Backtrace. From 4218be3d1dd743058bef0ef251e83e2e4dd4f1ab Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 24 Aug 2023 21:06:25 +0200 Subject: [PATCH 118/291] Fallback to default log function if the util function is not available (#89) --- packages/sdk-core/src/common/textFormatter.ts | 19 +++++++++++++++++++ .../events/ConsoleEventSubscriber.ts | 8 +++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 packages/sdk-core/src/common/textFormatter.ts diff --git a/packages/sdk-core/src/common/textFormatter.ts b/packages/sdk-core/src/common/textFormatter.ts new file mode 100644 index 00000000..3b5177ea --- /dev/null +++ b/packages/sdk-core/src/common/textFormatter.ts @@ -0,0 +1,19 @@ +import { jsonEscaper } from './jsonEscaper'; + +export function textFormatter(): (...params: unknown[]) => string { + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const util = require('util'); + return util.format; + } catch { + return fallbackFormatter; + } +} + +function fallbackFormatter(...params: unknown[]): string { + let result = ''; + for (const param of params) { + result += typeof param === 'object' ? JSON.stringify(param, jsonEscaper()) : param?.toString(); + } + return result; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts index b523445e..46fa384e 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts @@ -1,4 +1,4 @@ -import { format } from 'util'; +import { textFormatter } from '../../../common/textFormatter'; import { BreadcrumbsManager } from '../BreadcrumbsManager'; import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; import { BreadcrumbType } from '../model/BreadcrumbType'; @@ -10,12 +10,14 @@ export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { * All overriden console events */ private readonly _events: Record = {}; - + private _formatter!: (...params: unknown[]) => string; public start(breadcrumbsManager: BreadcrumbsManager): void { if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Log) !== BreadcrumbType.Log) { return; } + this._formatter = textFormatter(); + this.bindToConsoleMethod('log', BreadcrumbLogLevel.Info, breadcrumbsManager); this.bindToConsoleMethod('warn', BreadcrumbLogLevel.Warning, breadcrumbsManager); this.bindToConsoleMethod('error', BreadcrumbLogLevel.Error, breadcrumbsManager); @@ -40,7 +42,7 @@ export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { (console[name] as ConsoleMethod) = (...args: unknown[]) => { defaultImplementation.apply(console, args); - const message = format(...args); + const message = this._formatter(...args); breadcrumbsManager.addBreadcrumb(message, level, BreadcrumbType.Log); }; this._events[name] = originalMethod; From a268cf0d01e90dffd493b15c42ad8801095b5d4b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 24 Aug 2023 21:06:39 +0200 Subject: [PATCH 119/291] Detect missing information about the agent and fallback to the default (#88) --- packages/browser/src/engineDetector.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/browser/src/engineDetector.ts b/packages/browser/src/engineDetector.ts index c94453d5..096a624b 100644 --- a/packages/browser/src/engineDetector.ts +++ b/packages/browser/src/engineDetector.ts @@ -1,6 +1,9 @@ import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export function getEngine(): JavaScriptEngine { + if (!navigator.userAgent) { + return 'v8'; + } const normalizedUserAgent = navigator.userAgent.toLowerCase(); if (normalizedUserAgent.includes('firefox')) { From bfbfd4c7b565b02bc51c02677659802bcd1cae64 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 24 Aug 2023 22:49:29 +0200 Subject: [PATCH 120/291] Scope rename (#90) * Scope rename * Removed npmrc --- .npmrc | 1 - examples/sdk/browser/package-lock.json | 4 +- examples/sdk/browser/package.json | 2 +- examples/sdk/browser/src/index.ts | 6 +- examples/sdk/browser/webpack.config.js | 2 +- examples/sdk/node/package.json | 4 +- examples/sdk/node/src/index.ts | 4 +- examples/sdk/react/package.json | 2 +- examples/sdk/react/src/App.tsx | 2 +- examples/sdk/react/src/index.tsx | 4 +- package-lock.json | 69562 ++++++++-------- package.json | 5 +- packages/browser/README.md | 210 +- packages/browser/package.json | 2 +- .../src/BacktraceBrowserRequestHandler.ts | 2 +- .../src/BacktraceBrowserSessionProvider.ts | 4 +- packages/browser/src/BacktraceClient.ts | 2 +- .../browser/src/BacktraceConfiguration.ts | 2 +- packages/browser/src/agentDefinition.ts | 2 +- ...ApplicationInformationAttributeProvider.ts | 2 +- .../attributes/UserAgentAttributeProvider.ts | 2 +- .../UserIdentifierAttributeProvider.ts | 2 +- .../attributes/WebsiteAttributeProvider.ts | 4 +- .../src/attributes/WindowAttributeProvider.ts | 2 +- .../breadcrumbs/DocumentEventSubscriber.ts | 2 +- .../src/breadcrumbs/HistoryEventSubscriber.ts | 2 +- .../breadcrumbs/WebRequestEventSubscriber.ts | 4 +- .../src/builder/BacktraceClientBuilder.ts | 4 +- .../JavaScriptCoreStackTraceConverter.ts | 6 +- .../SpiderMonkeyStackTraceConverter.ts | 6 +- packages/browser/src/engineDetector.ts | 2 +- packages/browser/src/index.ts | 2 +- .../userIdAttributeProviderTests.spec.ts | 2 +- .../browser/tests/client/clientTests.spec.ts | 2 +- .../javaScriptCoreStackTraceTestCases.ts | 2 +- .../spiderMonkeyStackTraceTestCases.ts | 2 +- .../persistentSessionProviderTests.spec.ts | 2 +- .../backtraceReduxMiddlewareTests.spec.ts | 4 +- packages/node/package.json | 4 +- packages/node/src/BacktraceClient.ts | 2 +- packages/node/src/BacktraceConfiguration.ts | 2 +- .../node/src/BacktraceNodeRequestHandler.ts | 2 +- packages/node/src/agentDefinition.ts | 2 +- .../attachment/BacktraceBufferAttachment.ts | 2 +- .../src/attachment/BacktraceFileAttachment.ts | 2 +- packages/node/src/attachment/index.ts | 6 +- ...ApplicationInformationAttributeProvider.ts | 2 +- .../LinuxProcessStatusAttributeProvider.ts | 2 +- .../attributes/MachineAttributeProvider.ts | 2 +- .../MachineIdentitfierAttributeProvider.ts | 2 +- .../ProcessInformationAttributeProvider.ts | 2 +- .../ProcessStatusAttributeProvider.ts | 4 +- .../src/builder/BacktraceClientBuilder.ts | 2 +- .../NodeDiagnosticReportConverter.ts | 4 +- .../database/BacktraceDatabaseFileRecord.ts | 2 +- .../BacktraceDatabaseFileStorageProvider.ts | 2 +- packages/node/src/index.ts | 2 +- .../node/tests/client/clientTests.spec.ts | 2 +- packages/react/README.md | 221 +- packages/react/package.json | 2 +- packages/react/src/BacktraceClient.ts | 2 +- .../builder/BacktraceReactClientBuilder.ts | 2 +- .../converters/ReactStackTraceConverter.ts | 2 +- packages/react/src/index.ts | 2 +- .../tests/reactStackTraceConverter.spec.ts | 2 +- packages/sdk-core/package.json | 2 +- tools/cli/package.json | 4 +- tools/cli/src/commands/Command.ts | 4 +- tools/cli/src/helpers/find.ts | 2 +- tools/cli/src/helpers/jsonc.ts | 2 +- tools/cli/src/helpers/logs.ts | 2 +- tools/cli/src/helpers/version.ts | 2 +- tools/cli/src/index.ts | 4 +- tools/cli/src/logger.ts | 2 +- tools/cli/src/options/loadOptions.ts | 2 +- tools/cli/src/sourcemaps/add-sources.ts | 6 +- tools/cli/src/sourcemaps/process.ts | 10 +- tools/cli/src/sourcemaps/upload.ts | 20 +- tools/rollup-plugin/package.json | 4 +- tools/rollup-plugin/rollup.config.js | 2 +- tools/rollup-plugin/src/index.ts | 2 +- tools/sourcemap-tools/package.json | 2 +- tools/vite-plugin/package.json | 4 +- tools/vite-plugin/src/index.ts | 2 +- tools/webpack-plugin/package.json | 4 +- tools/webpack-plugin/src/BacktracePlugin.ts | 2 +- .../tests/__mocks__/TestDebugIdGenerator.ts | 2 +- .../webpack-plugin/tests/e2e/createE2ETest.ts | 2 +- .../e2e/no-sourcemaps/no-sourcemaps.spec.ts | 2 +- 89 files changed, 35189 insertions(+), 35060 deletions(-) delete mode 100644 .npmrc diff --git a/.npmrc b/.npmrc deleted file mode 100644 index aa5e6bdf..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -@backtrace:registry=https://packagecloud.io/backtrace/internal/npm \ No newline at end of file diff --git a/examples/sdk/browser/package-lock.json b/examples/sdk/browser/package-lock.json index 768f4d57..a1d1f6d0 100644 --- a/examples/sdk/browser/package-lock.json +++ b/examples/sdk/browser/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@backtrace/browser-example", + "name": "@backtrace-labs/browser-example", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace/browser-example", + "name": "@backtrace-labs/browser-example", "version": "1.0.0", "license": "MIT", "dependencies": { diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index 988a4bb3..38734f39 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/browser-example", + "name": "@backtrace-labs/browser-example", "version": "1.0.0", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts index e550cc9a..b9ae91e7 100644 --- a/examples/sdk/browser/src/index.ts +++ b/examples/sdk/browser/src/index.ts @@ -1,10 +1,10 @@ -import { BacktraceClient, BacktraceStringAttachment, createBacktraceReduxMiddleware } from '@backtrace/browser'; +import { BacktraceClient, BacktraceStringAttachment, createBacktraceReduxMiddleware } from '@backtrace-labs/browser'; +import { configureStore, createSlice } from '@reduxjs/toolkit'; import { SUBMISSION_URL } from './consts'; -import { createSlice, configureStore } from '@reduxjs/toolkit'; const client = BacktraceClient.initialize({ url: SUBMISSION_URL, - name: '@backtrace/browser-example', + name: '@backtrace-labs/browser-example', version: '0.0.1', userAttributes: { 'custom-attribute': 'test', diff --git a/examples/sdk/browser/webpack.config.js b/examples/sdk/browser/webpack.config.js index 1ffebc94..2617937f 100644 --- a/examples/sdk/browser/webpack.config.js +++ b/examples/sdk/browser/webpack.config.js @@ -1,5 +1,5 @@ const path = require('path'); -const { BacktracePlugin } = require('@backtrace/webpack-plugin'); +const { BacktracePlugin } = require('@backtrace-labs/webpack-plugin'); const { webpackTypescriptConfig } = require('../../../build/common'); /** @type {import('webpack').Configuration} */ diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json index a304e43d..6ae35f82 100644 --- a/examples/sdk/node/package.json +++ b/examples/sdk/node/package.json @@ -1,7 +1,7 @@ { - "name": "@backtrace/node-example", + "name": "@backtrace-labs/node-example", "version": "1.0.0", - "description": "@backtrace/node example", + "description": "@backtrace-labs/node example", "main": "lib/index.js", "types": "lib/index.d.ts", "engines": { diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index f9f1689e..e0c15d46 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace/node'; +import { BacktraceClient } from '@backtrace-labs/node'; import fs from 'fs'; import path from 'path'; import { exit } from 'process'; @@ -28,7 +28,7 @@ const client = BacktraceClient.initialize({ }, }); -console.log('Welcome to the @Backtrace/node demo'); +console.log('Welcome to the @backtrace-labs/node demo'); async function sendHandledException(attributes: Record) { console.log('Sending an error to Backtrace'); diff --git a/examples/sdk/react/package.json b/examples/sdk/react/package.json index 0e38a96d..a05471b6 100644 --- a/examples/sdk/react/package.json +++ b/examples/sdk/react/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/react-example", + "name": "@backtrace-labs/react-example", "version": "0.1.0", "private": true, "dependencies": { diff --git a/examples/sdk/react/src/App.tsx b/examples/sdk/react/src/App.tsx index 99e4611d..8a046a1e 100644 --- a/examples/sdk/react/src/App.tsx +++ b/examples/sdk/react/src/App.tsx @@ -1,4 +1,4 @@ -import { BacktraceClient, ErrorBoundary } from '@backtrace/react'; +import { BacktraceClient, ErrorBoundary } from '@backtrace-labs/react'; import { useState } from 'react'; import { toast, ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; diff --git a/examples/sdk/react/src/index.tsx b/examples/sdk/react/src/index.tsx index f3724af1..dfad6809 100644 --- a/examples/sdk/react/src/index.tsx +++ b/examples/sdk/react/src/index.tsx @@ -1,13 +1,13 @@ +import { BacktraceClient, ErrorBoundary } from '@backtrace-labs/react'; import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; -import { ErrorBoundary, BacktraceClient } from '@backtrace/react'; import Fallback from './components/Fallback'; import { SUBMISSION_URL } from './consts'; BacktraceClient.initialize({ url: SUBMISSION_URL, - name: '@backtrace/react-example', + name: '@backtrace-labs/react-example', version: '0.0.1', userAttributes: { 'custom-attribute': 'test', diff --git a/package-lock.json b/package-lock.json index 4242a827..8d942eb6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,16 @@ { - "name": "@backtrace/javascript", + "name": "@backtrace-labs/javascript", "version": "0.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace/javascript", + "name": "@backtrace-labs/javascript", "version": "0.0.1", "license": "MIT", "workspaces": [ "packages/*", - "tools/*", - "examples/**/*" + "tools/*" ], "devDependencies": { "@types/node": "^14.18.51", @@ -26,1892 +25,1867 @@ "typescript": "^5.0.4" } }, - "examples/sdk/browser": { - "name": "@backtrace/browser-example", - "version": "1.0.0", - "license": "MIT", + "node_modules/@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", "dependencies": { - "@reduxjs/toolkit": "^1.9.5" + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" }, - "devDependencies": { - "serve": "^14.2.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" + "engines": { + "node": ">=12.17" } }, - "examples/sdk/browser/node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", + "node_modules/@75lb/deep-merge/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/browser/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, - "examples/sdk/browser/node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", + "node_modules/@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/@jridgewell/set-array": { - "version": "1.1.2", + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "examples/sdk/browser/node_modules/@jridgewell/source-map": { - "version": "0.3.5", + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "examples/sdk/browser/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "color-name": "1.1.3" } }, - "examples/sdk/browser/node_modules/@types/eslint": { - "version": "8.44.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "examples/sdk/browser/node_modules/@types/eslint-scope": { - "version": "3.7.4", + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "engines": { + "node": ">=0.8.0" } }, - "examples/sdk/browser/node_modules/@types/estree": { - "version": "1.0.1", + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=4" + } }, - "examples/sdk/browser/node_modules/@types/json-schema": { - "version": "7.0.12", + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } }, - "examples/sdk/browser/node_modules/@types/node": { - "version": "20.5.0", + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=6.9.0" + } }, - "examples/sdk/browser/node_modules/@webassemblyjs/ast": { - "version": "1.11.6", + "node_modules/@babel/core": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", + "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.11", + "@babel/parser": "^7.22.11", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT" + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } }, - "examples/sdk/browser/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT" + "bin": { + "semver": "bin/semver.js" + } }, - "examples/sdk/browser/node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", + "node_modules/@babel/eslint-parser": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.11.tgz", + "integrity": "sha512-YjOYZ3j7TjV8OhLW6NCtyg8G04uStATEUe5eiLuCZaXz2VSDQ3dsAtm2D+TuQyAqNMUK2WacGo0/uma9Pein1w==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "engines": { + "node": ">=10" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "bin": { + "semver": "bin/semver.js" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", + "node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@xtuc/long": "4.2.2" + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", + "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "yallist": "^3.0.2" } }, - "examples/sdk/browser/node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "bin": { + "semver": "bin/semver.js" } }, - "examples/sdk/browser/node_modules/@webpack-cli/configtest": { - "version": "2.1.1", + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.11.tgz", + "integrity": "sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==", "dev": true, - "license": "MIT", + "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.5", + "@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" + }, "engines": { - "node": ">=14.15.0" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/@webpack-cli/info": { - "version": "2.0.2", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "bin": { + "semver": "bin/semver.js" } }, - "examples/sdk/browser/node_modules/@webpack-cli/serve": { - "version": "2.0.5", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, "engines": { - "node": ">=14.15.0" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "examples/sdk/browser/node_modules/@xtuc/long": { - "version": "4.2.2", + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "Apache-2.0" + "bin": { + "semver": "bin/semver.js" + } }, - "examples/sdk/browser/node_modules/acorn": { - "version": "8.10.0", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "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" }, - "engines": { - "node": ">=0.4.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "examples/sdk/browser/node_modules/acorn-import-assertions": { - "version": "1.9.0", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^8" + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/ajv": { - "version": "6.12.6", + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, - "license": "MIT", "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" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/ajv-keywords": { - "version": "3.5.2", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/braces": { - "version": "3.0.2", + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/browserslist": { - "version": "4.21.10", + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/caniuse-lite": { - "version": "1.0.30001521", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "examples/sdk/browser/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/chrome-trace-event": { - "version": "1.0.3", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6.0" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/clone-deep": { - "version": "4.0.1", + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/colorette": { - "version": "2.0.20", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/electron-to-chromium": { - "version": "1.4.495", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, - "license": "ISC" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "examples/sdk/browser/node_modules/enhanced-resolve": { - "version": "5.15.0", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/envinfo": { - "version": "7.10.0", + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/es-module-lexer": { - "version": "1.3.0", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=6.9.0" + } }, - "examples/sdk/browser/node_modules/escalade": { - "version": "3.1.1", + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/eslint-scope": { - "version": "5.1.1", + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", + "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.10" }, "engines": { - "node": ">=8.0.0" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/esrecurse": { - "version": "4.3.0", + "node_modules/@babel/helpers": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", + "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "estraverse": "^5.2.0" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11" }, "engines": { - "node": ">=4.0" + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "examples/sdk/browser/node_modules/estraverse": { - "version": "4.3.0", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "BSD-2-Clause", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "examples/sdk/browser/node_modules/events": { - "version": "3.3.0", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=0.8.x" + "node": ">=4" } }, - "examples/sdk/browser/node_modules/fast-deep-equal": { - "version": "3.1.3", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT" + "dependencies": { + "color-name": "1.1.3" + } }, - "examples/sdk/browser/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "examples/sdk/browser/node_modules/fastest-levenshtein": { - "version": "1.0.16", + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 4.9.1" + "node": ">=0.8.0" } }, - "examples/sdk/browser/node_modules/fill-range": { - "version": "7.0.1", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "examples/sdk/browser/node_modules/find-up": { - "version": "4.1.0", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "examples/sdk/browser/node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/glob-to-regexp": { - "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "examples/sdk/browser/node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "examples/sdk/browser/node_modules/has": { - "version": "1.0.3", + "node_modules/@babel/parser": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", + "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">= 0.4.0" + "node": ">=6.0.0" } }, - "examples/sdk/browser/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/import-local": { - "version": "3.1.0", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", "dev": true, - "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "examples/sdk/browser/node_modules/interpret": { - "version": "3.1.1", + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, "engines": { - "node": ">=10.13.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/is-core-module": { - "version": "2.13.0", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, - "license": "MIT", "dependencies": { - "has": "^1.0.3" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/is-number": { - "version": "7.0.0", + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", + "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + }, "engines": { - "node": ">=0.12.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/is-plain-object": { - "version": "2.0.4", + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dev": true, - "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "examples/sdk/browser/node_modules/isobject": { - "version": "3.0.1", + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/jest-worker": { - "version": "27.5.1", + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/kind-of": { - "version": "6.0.3", + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "dev": true, - "license": "MIT", + "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" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/loader-runner": { - "version": "4.3.0", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6.11.5" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/micromatch": { - "version": "4.0.5", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@babel/helper-plugin-utils": "^7.12.13" }, - "engines": { - "node": ">=8.6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/mime-db": { - "version": "1.52.0", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/mime-types": { - "version": "2.1.35", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 0.6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/neo-async": { - "version": "2.6.2", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/node-releases": { - "version": "2.0.13", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", + "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.3" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/p-try": { - "version": "2.2.0", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/path-exists": { - "version": "4.0.0", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/path-key": { - "version": "3.1.1", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "examples/sdk/browser/node_modules/picomatch": { - "version": "2.3.1", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/punycode": { - "version": "2.3.0", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/randombytes": { - "version": "2.1.0", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/rechoir": { - "version": "0.8.0", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT", "dependencies": { - "resolve": "^1.20.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 10.13.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/resolve": { - "version": "1.22.4", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/resolve-cwd": { - "version": "3.0.0", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "examples/sdk/browser/node_modules/schema-utils": { - "version": "3.3.0", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/semver": { - "version": "7.5.4", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/serialize-javascript": { - "version": "6.0.1", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "randombytes": "^2.1.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/shallow-clone": { - "version": "3.0.1", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "examples/sdk/browser/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dev": true, - "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.11.tgz", + "integrity": "sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "examples/sdk/browser/node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", + "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/tapable": { - "version": "2.2.1", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/terser": { - "version": "5.19.2", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" + "@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" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "examples/sdk/browser/node_modules/terser-webpack-plugin": { - "version": "5.3.9", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, "engines": { - "node": ">=8.0" + "node": ">=4" } }, - "examples/sdk/browser/node_modules/ts-loader": { - "version": "9.4.4", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" }, "engines": { - "node": ">=12.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/typescript": { - "version": "5.1.6", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", + "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=14.17" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/update-browserslist-db": { - "version": "1.0.11", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "browserslist": ">= 4.21.0" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/uri-js": { - "version": "4.4.1", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "punycode": "^2.1.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/watchpack": { - "version": "2.4.0", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", "dev": true, - "license": "MIT", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/webpack": { - "version": "5.88.2", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/webpack-cli": { - "version": "5.1.4", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", "dev": true, - "license": "MIT", "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, "engines": { - "node": ">=14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/webpack-merge": { - "version": "5.9.0", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "dev": true, - "license": "MIT", "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=10.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/webpack-sources": { - "version": "3.2.3", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=10.13.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/which": { - "version": "2.0.2", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/browser/node_modules/wildcard": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "examples/sdk/browser/node_modules/yallist": { - "version": "4.0.0", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "dev": true, - "license": "ISC" - }, - "examples/sdk/node": { - "name": "@backtrace/node-example", - "version": "1.0.0", - "license": "MIT", - "devDependencies": { - "typescript": "^5.1.3" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/node/node_modules/typescript": { - "version": "5.1.6", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { - "node": ">=14.17" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react": { - "name": "@backtrace/react-example", - "version": "0.1.0", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, "dependencies": { - "@types/react": "^16.14.0", - "@types/react-dom": "^18.2.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "react-toastify": "^9.1.3", - "typescript": "^4.9.5", - "web-vitals": "^2.1.4" + "@babel/helper-plugin-utils": "^7.22.5" }, - "devDependencies": { - "serve": "^14.2.0" - } - }, - "examples/sdk/react/node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@ampproject/remapping": { - "version": "2.2.1", - "license": "Apache-2.0", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/code-frame": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.11.tgz", + "integrity": "sha512-o2+bg7GDS60cJMgz9jWqRUsWkMzLCxp+jFDeDUT5sjRlAxcJWZ2ylNdI7QQ2+CH5hWu7OnN+Cv3htt7AkSf96g==", + "dev": true, "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/compat-data": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz", + "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==", + "dev": true, + "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" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/core": { + "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "examples/sdk/react/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/eslint-parser": { + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "examples/sdk/react/node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "examples/sdk/react/node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.0.0" } }, - "examples/sdk/react/node_modules/@babel/generator": { + "node_modules/@babel/plugin-transform-new-target": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.11.tgz", + "integrity": "sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-create-class-features-plugin": { + "node_modules/@babel/plugin-transform-object-super": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, "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.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "examples/sdk/react/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "examples/sdk/react/node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.11.tgz", + "integrity": "sha512-7X2vGqH2ZKu7Imx0C+o5OysRwtF/wzdCAqmcD1N1v2Ww8CtOSC+p+VoV76skm47DLvBZ8kBFic+egqxM9S/p4g==", + "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-member-expression-to-functions": { + "node_modules/@babel/plugin-transform-parameters": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-module-transforms": { + "node_modules/@babel/plugin-transform-private-methods": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^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" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-replace-supers": { + "node_modules/@babel/plugin-transform-property-literals": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/helper-wrap-function": { + "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/helpers": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/highlight": { + "node_modules/@babel/plugin-transform-react-jsx-development": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/plugin-transform-react-jsx": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "examples/sdk/react/node_modules/@babel/parser": { - "version": "7.22.5", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1919,30 +1893,32 @@ "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1951,15 +1927,14 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-decorators": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/plugin-syntax-decorators": "^7.22.5" + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1968,12 +1943,13 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1982,12 +1958,18 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", + "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-module-imports": "^7.22.5", + "@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" }, "engines": { "node": ">=6.9.0" @@ -1996,13 +1978,22 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "license": "MIT", + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, "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/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2011,12 +2002,14 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2025,9 +2018,14 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "license": "MIT", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { "node": ">=6.9.0" }, @@ -2035,55 +2033,61 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "license": "MIT", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "license": "MIT", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "license": "MIT", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.11.tgz", + "integrity": "sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@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-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "license": "MIT", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2092,10 +2096,13 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-decorators": { + "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -2105,44 +2112,124 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-flow": { + "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/preset-env": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", + "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.10", + "@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.10", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.10", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.10", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@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.10", + "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" }, "engines": { "node": ">=6.9.0" @@ -2151,11 +2238,24 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-import-attributes": { + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-flow": { "version": "7.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", + "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2164,31 +2264,51 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@babel/preset-react": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", + "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/preset-typescript": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.11.tgz", + "integrity": "sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.11", + "@babel/plugin-transform-typescript": "^7.22.11" }, "engines": { "node": ">=6.9.0" @@ -2197,3088 +2317,2887 @@ "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@babel/register": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", + "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@babel/register/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@babel/register/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@babel/register/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@babel/register/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "license": "MIT", + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "license": "MIT", + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/traverse": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", + "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@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.11", + "@babel/types": "^7.22.11", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@babel/types": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", + "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, + "node_modules/@backtrace-labs/browser": { + "resolved": "packages/browser", + "link": true + }, + "node_modules/@backtrace-labs/javascript-cli": { + "resolved": "tools/cli", + "link": true + }, + "node_modules/@backtrace-labs/node": { + "resolved": "packages/node", + "link": true + }, + "node_modules/@backtrace-labs/react": { + "resolved": "packages/react", + "link": true + }, + "node_modules/@backtrace-labs/react-native": { + "resolved": "packages/react-native", + "link": true + }, + "node_modules/@backtrace-labs/rollup-plugin": { + "resolved": "tools/rollup-plugin", + "link": true + }, + "node_modules/@backtrace-labs/sdk-core": { + "resolved": "packages/sdk-core", + "link": true + }, + "node_modules/@backtrace-labs/sourcemap-tools": { + "resolved": "tools/sourcemap-tools", + "link": true + }, + "node_modules/@backtrace-labs/vite-plugin": { + "resolved": "tools/vite-plugin", + "link": true + }, + "node_modules/@backtrace-labs/webpack-plugin": { + "resolved": "tools/webpack-plugin", + "link": true + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-classes": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@eslint-community/regexpp": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", + "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "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" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@hapi/hoek": "^9.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10.10.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "dev": true, + "peer": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "p-try": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", + "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/core": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", + "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/console": "^29.6.4", + "@jest/reporters": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.6.3", + "jest-config": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-resolve-dependencies": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "jest-watcher": "^29.6.4", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.3.tgz", + "integrity": "sha512-kzSK9XAxtD1kRPJKxsmD0YKw2fyXveP+5ikeQkCYCHeacWW1EGYMTgjDIM/Di4Uhttx7lnHwrNpz2xn+0rTp8g==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/types": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/environment": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", + "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "expect": "^29.6.4", + "jest-snapshot": "^29.6.4" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/expect-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", + "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "semver": "^6.3.0" + "jest-get-type": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@jest/fake-timers": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", + "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/globals": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", + "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/types": "^29.6.3", + "jest-mock": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/reporters": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", + "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "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" }, "engines": { - "node": ">=6.9.0" + "node": "*" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/test-result": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", + "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@jest/console": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/test-sequencer": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", + "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/test-result": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/transform": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", + "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@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" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=6.0.0" } }, - "examples/sdk/react/node_modules/@babel/preset-env": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.5", - "@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.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@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.5", - "@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.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "examples/sdk/react/node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "examples/sdk/react/node_modules/@babel/preset-modules": { - "version": "0.1.5", - "license": "MIT", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "eslint-scope": "5.1.1" } }, - "examples/sdk/react/node_modules/@babel/preset-react": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 8" } }, - "examples/sdk/react/node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 8" } }, - "examples/sdk/react/node_modules/@babel/regjsgen": { - "version": "0.8.0", - "license": "MIT" + "node_modules/@octokit/auth-token": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 14" + } }, - "examples/sdk/react/node_modules/@babel/runtime": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@octokit/core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", + "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", + "dev": true, + "peer": true, "dependencies": { - "regenerator-runtime": "^0.13.11" + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/@babel/template": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "dev": true, + "peer": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/@babel/traverse": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, + "node_modules/@octokit/endpoint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "peer": true, "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/@babel/types": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dev": true, + "peer": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@csstools/normalize.css": { - "version": "12.0.0", - "license": "CC0-1.0" + "node_modules/@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "license": "CC0-1.0", + "node_modules/@octokit/plugin-paginate-rest": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", + "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", + "dev": true, + "peer": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">= 14" }, "peerDependencies": { - "postcss": "^8.2" + "@octokit/core": ">=4" } }, - "examples/sdk/react/node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "license": "CC0-1.0", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "peer": true, "peerDependencies": { - "postcss": "^8.2" + "@octokit/core": ">=3" } }, - "examples/sdk/react/node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "license": "CC0-1.0", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", + "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", + "dev": true, + "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@octokit/types": "^10.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">= 14" }, "peerDependencies": { - "postcss": "^8.2" + "@octokit/core": ">=3" } }, - "examples/sdk/react/node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "license": "CC0-1.0", + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", + "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", + "dev": true, + "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "@octokit/openapi-types": "^18.0.0" } }, - "examples/sdk/react/node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "license": "CC0-1.0", + "node_modules/@octokit/request": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", + "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", + "dev": true, + "peer": true, "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "license": "CC0-1.0", + "node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dev": true, + "peer": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/@csstools/postcss-nested-calc": { - "version": "1.0.0", - "license": "CC0-1.0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/@octokit/request/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "peer": true, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "license": "CC0-1.0", + "node_modules/@octokit/rest": { + "version": "19.0.11", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", + "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", + "dev": true, + "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.2", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.1.2" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "license": "CC0-1.0", + "node_modules/@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", + "dev": true, + "peer": true + }, + "node_modules/@octokit/types": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "dev": true, + "peer": true, "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=14" } }, - "examples/sdk/react/node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "license": "CC0-1.0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "dev": true, + "peer": true, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" + "node": ">=12.22.0" } }, - "examples/sdk/react/node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "license": "CC0-1.0", + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dev": true, + "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "graceful-fs": "4.2.10" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12.22.0" } }, - "examples/sdk/react/node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "license": "CC0-1.0", + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true, + "peer": true + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", + "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "dev": true, + "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "examples/sdk/react/node_modules/@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "license": "CC0-1.0", + "node_modules/@react-native-community/cli": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || >=16" + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "bin": { + "react-native": "build/bin.js" }, - "peerDependencies": { - "postcss": "^8.2" + "engines": { + "node": ">=16" } }, - "examples/sdk/react/node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "license": "CC0-1.0", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node_modules/@react-native-community/cli-clean": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "dev": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" } }, - "examples/sdk/react/node_modules/@csstools/selector-specificity": { - "version": "2.2.0", - "license": "CC0-1.0", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss-selector-parser": "^6.0.10" + "node_modules/@react-native-community/cli-config": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "dev": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" } }, - "examples/sdk/react/node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "license": "MIT", + "node_modules/@react-native-community/cli-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "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" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "*" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "dev": true, + "dependencies": { + "serve-static": "^1.13.1" } }, - "examples/sdk/react/node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "license": "MIT", + "node_modules/@react-native-community/cli-doctor": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", + "dev": true, "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" - }, + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=6" } }, - "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "license": "MIT", + "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "license": "MIT", + "node_modules/@react-native-community/cli-hermes": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" } }, - "examples/sdk/react/node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "license": "(MIT OR CC0-1.0)", + "node_modules/@react-native-community/cli-platform-android": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "dev": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/@eslint/js": { - "version": "8.43.0", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "dev": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" } }, - "examples/sdk/react/node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "license": "Apache-2.0", + "node_modules/@react-native-community/cli-platform-ios/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "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" }, "engines": { - "node": ">=10.10.0" - } - }, - "examples/sdk/react/node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" + "node": "*" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "license": "BSD-3-Clause" + "node_modules/@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", + "dev": true, + "dependencies": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + } }, - "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "license": "ISC", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/@react-native-community/cli-server-api": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "dev": true, + "dependencies": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" } }, - "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "license": "MIT", + "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "license": "MIT", + "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "@types/yargs-parser": "*" } }, - "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "license": "MIT", + "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, - "examples/sdk/react/node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/@react-native-community/cli-tools": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "dev": true, + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" } }, - "examples/sdk/react/node_modules/@jest/console": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@react-native-community/cli-types": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/@react-native-community/cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/@react-native-community/eslint-config": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", + "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.14.0", + "@babel/eslint-parser": "^7.18.2", + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" } }, - "examples/sdk/react/node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/@react-native-community/eslint-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", + "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", + "dev": true + }, + "node_modules/@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==", + "dev": true + }, + "node_modules/@react-native/codegen": { + "version": "0.72.6", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", + "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "examples/sdk/react/node_modules/@jest/core": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@react-native/gradle-plugin": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==", + "dev": true + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.72.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", + "dev": true + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==", + "dev": true + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", + "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", + "dev": true, + "dependencies": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" }, "peerDependenciesMeta": { - "node-notifier": { + "react": { + "optional": true + }, + "react-redux": { "optional": true } } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@release-it/conventional-changelog": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-5.1.1.tgz", + "integrity": "sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "concat-stream": "^2.0.0", + "conventional-changelog": "^3.1.25", + "conventional-recommended-bump": "^6.1.0", + "semver": "7.3.8" }, "engines": { - "node": ">=8" + "node": ">=14" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "release-it": "^15.4.1" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/@release-it/conventional-changelog/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "examples/sdk/react/node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@release-it/conventional-changelog/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">=7.0.0" - } - }, - "examples/sdk/react/node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "examples/sdk/react/node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/@jest/environment": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", + "dev": true, "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "examples/sdk/react/node_modules/@jest/fake-timers": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "node": ">=14.0.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "examples/sdk/react/node_modules/@jest/globals": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0", + "tslib": "*", + "typescript": ">=3.7.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@jest/reporters": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@rollup/pluginutils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", + "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0" }, "peerDependenciesMeta": { - "node-notifier": { + "rollup": { "optional": true } } }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@hapi/hoek": "^9.0.0" } }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "type-detect": "4.0.8" } }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "examples/sdk/react/node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=14.16" } }, - "examples/sdk/react/node_modules/@jest/schemas": { - "version": "28.1.3", - "license": "MIT", + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dev": true, "dependencies": { - "@sinclair/typebox": "^0.24.1" + "@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" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=14" } }, - "examples/sdk/react/node_modules/@jest/source-map": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "dev": true, "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "examples/sdk/react/node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "examples/sdk/react/node_modules/@jest/test-result": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", + "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@types/readdir-glob": "*" } }, - "examples/sdk/react/node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true }, - "examples/sdk/react/node_modules/@jest/transform": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@babel/types": "^7.0.0" } }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@babel/types": "^7.20.7" } }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", + "dev": true }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "node_modules/@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true }, - "examples/sdk/react/node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "examples/sdk/react/node_modules/@jest/types": { - "version": "27.5.1", - "license": "MIT", + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "examples/sdk/react/node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@types/eslint": "*", + "@types/estree": "*" } }, - "examples/sdk/react/node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, - "examples/sdk/react/node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@types/node": "*" } }, - "examples/sdk/react/node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true }, - "examples/sdk/react/node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/istanbul-lib-coverage": "*" } }, - "examples/sdk/react/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@types/istanbul-lib-report": "*" } }, - "examples/sdk/react/node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=6.0.0" + "node_modules/@types/jest": { + "version": "29.5.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", + "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "examples/sdk/react/node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "license": "MIT", + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "examples/sdk/react/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "license": "MIT", + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "examples/sdk/react/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "license": "MIT" + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" }, - "examples/sdk/react/node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "license": "MIT" + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, - "examples/sdk/react/node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "license": "MIT", - "dependencies": { - "eslint-scope": "5.1.1" - } + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true }, - "examples/sdk/react/node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } + "node_modules/@types/node": { + "version": "14.18.56", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", + "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" }, - "examples/sdk/react/node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true }, - "examples/sdk/react/node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true }, - "examples/sdk/react/node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "license": "MIT", - "engines": { - "node": ">= 8" - } + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true }, - "examples/sdk/react/node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true }, - "examples/sdk/react/node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "license": "MIT", + "node_modules/@types/react": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "dev": true, "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <4.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "examples/sdk/react/node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "license": "MIT", + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } + "@types/react": "*" } }, - "examples/sdk/react/node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "license": "MIT", + "node_modules/@types/react-native": { + "version": "0.70.0", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.0.tgz", + "integrity": "sha512-yBN7qJDfs0Vwr34NyfW1SWzalHQoYtpUWf0t4UJY9C5ft58BRr46+r92I0v+l3QX4VNsSRMHVAAWqLLCbIkM+g==", + "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "@types/react": "*" } }, - "examples/sdk/react/node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "license": "MIT", + "node_modules/@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "@types/node": "*" } }, - "examples/sdk/react/node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true }, - "examples/sdk/react/node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "license": "MIT" + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true }, - "examples/sdk/react/node_modules/@rushstack/eslint-patch": { - "version": "1.3.2", - "license": "MIT" + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true }, - "examples/sdk/react/node_modules/@sinclair/typebox": { - "version": "0.24.51", - "license": "MIT" + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true }, - "examples/sdk/react/node_modules/@sinonjs/commons": { - "version": "1.8.6", - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true }, - "examples/sdk/react/node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "license": "BSD-3-Clause", + "node_modules/@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "examples/sdk/react/node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "license": "Apache-2.0", + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" + "@types/yargs-parser": "*" } }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "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" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=10" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "license": "MIT", - "engines": { - "node": ">=10" + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "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" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "examples/sdk/react/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "license": "MIT", - "engines": { - "node": ">=10" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "license": "MIT", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "examples/sdk/react/node_modules/@svgr/core": { - "version": "5.5.0", - "license": "MIT", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.12.6" - }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "examples/sdk/react/node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "license": "MIT", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" + "@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" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "examples/sdk/react/node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "license": "MIT", + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" + "@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" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "examples/sdk/react/node_modules/@svgr/webpack": { - "version": "5.5.0", - "license": "MIT", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "examples/sdk/react/node_modules/@tootallnate/once": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">= 6" + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "examples/sdk/react/node_modules/@trysound/sax": { - "version": "0.2.0", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, - "examples/sdk/react/node_modules/@types/babel__core": { - "version": "7.20.1", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, - "examples/sdk/react/node_modules/@types/babel__generator": { - "version": "7.6.4", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" }, - "examples/sdk/react/node_modules/@types/babel__template": { - "version": "7.4.1", - "license": "MIT", + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "examples/sdk/react/node_modules/@types/babel__traverse": { - "version": "7.20.1", - "license": "MIT", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "dependencies": { - "@babel/types": "^7.20.7" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "examples/sdk/react/node_modules/@types/body-parser": { - "version": "1.19.2", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "examples/sdk/react/node_modules/@types/bonjour": { - "version": "3.5.10", - "license": "MIT", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, "dependencies": { - "@types/node": "*" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "examples/sdk/react/node_modules/@types/connect": { - "version": "3.4.35", - "license": "MIT", + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, "dependencies": { - "@types/node": "*" + "@webassemblyjs/ast": "1.9.0" } }, - "examples/sdk/react/node_modules/@types/connect-history-api-fallback": { - "version": "1.5.0", - "license": "MIT", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "examples/sdk/react/node_modules/@types/eslint": { - "version": "8.40.2", - "license": "MIT", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "examples/sdk/react/node_modules/@types/eslint-scope": { - "version": "3.7.4", - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "examples/sdk/react/node_modules/@types/estree": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/express": { - "version": "4.17.17", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "examples/sdk/react/node_modules/@types/express-serve-static-core": { - "version": "4.17.35", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "examples/sdk/react/node_modules/@types/graceful-fs": { - "version": "4.1.6", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/http-errors": { - "version": "2.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/http-proxy": { - "version": "1.17.11", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "examples/sdk/react/node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "examples/sdk/react/node_modules/@types/json-schema": { - "version": "7.0.12", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/json5": { - "version": "0.0.29", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/mime": { - "version": "1.3.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/node": { - "version": "16.18.37", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/parse-json": { - "version": "4.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/prettier": { - "version": "2.7.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/prop-types": { - "version": "15.7.5", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/q": { - "version": "1.5.5", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/qs": { - "version": "6.9.7", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/range-parser": { - "version": "1.2.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/react": { - "version": "16.14.43", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "examples/sdk/react/node_modules/@types/react-dom": { - "version": "18.2.6", - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "examples/sdk/react/node_modules/@types/resolve": { - "version": "1.17.1", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/retry": { - "version": "0.12.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/scheduler": { - "version": "0.16.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/semver": { - "version": "7.5.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/send": { - "version": "0.17.1", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/serve-index": { - "version": "1.9.1", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "examples/sdk/react/node_modules/@types/serve-static": { - "version": "1.15.2", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/sockjs": { - "version": "0.3.33", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/stack-utils": { - "version": "2.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/trusted-types": { - "version": "2.0.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@types/ws": { - "version": "8.5.5", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "examples/sdk/react/node_modules/@types/yargs": { - "version": "16.0.5", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "examples/sdk/react/node_modules/@types/yargs-parser": { - "version": "21.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.60.1", - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/type-utils": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/experimental-utils": { - "version": "5.60.1", - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "5.60.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/parser": { - "version": "5.60.1", - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/scope-manager": { - "version": "5.60.1", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/type-utils": { - "version": "5.60.1", - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/types": { - "version": "5.60.1", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.60.1", - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/utils": { - "version": "5.60.1", - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "examples/sdk/react/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.1", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.60.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "examples/sdk/react/node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "examples/sdk/react/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "license": "MIT" - }, - "examples/sdk/react/node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "examples/sdk/react/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, - "examples/sdk/react/node_modules/@webassemblyjs/helper-wasm-section": { + "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -5286,27 +5205,31 @@ "@webassemblyjs/wasm-gen": "1.11.6" } }, - "examples/sdk/react/node_modules/@webassemblyjs/ieee754": { + "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, - "examples/sdk/react/node_modules/@webassemblyjs/leb128": { + "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dependencies": { "@xtuc/long": "4.2.2" } }, - "examples/sdk/react/node_modules/@webassemblyjs/utf8": { + "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, - "examples/sdk/react/node_modules/@webassemblyjs/wasm-edit": { + "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -5318,9 +5241,10 @@ "@webassemblyjs/wast-printer": "1.11.6" } }, - "examples/sdk/react/node_modules/@webassemblyjs/wasm-gen": { + "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -5329,9 +5253,10 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "examples/sdk/react/node_modules/@webassemblyjs/wasm-opt": { + "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -5339,9 +5264,10 @@ "@webassemblyjs/wasm-parser": "1.11.6" } }, - "examples/sdk/react/node_modules/@webassemblyjs/wasm-parser": { + "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -5351,47 +5277,147 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "examples/sdk/react/node_modules/@webassemblyjs/wast-printer": { + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, - "examples/sdk/react/node_modules/@xtuc/ieee754": { + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, - "examples/sdk/react/node_modules/@xtuc/long": { + "node_modules/@xtuc/long": { "version": "4.2.2", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, - "examples/sdk/react/node_modules/abab": { + "node_modules/abab": { "version": "2.0.6", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true }, - "examples/sdk/react/node_modules/acorn": { - "version": "8.9.0", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=6.5" } }, - "examples/sdk/react/node_modules/acorn-globals": { - "version": "6.0.0", - "license": "MIT", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "license": "MIT", + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "bin": { "acorn": "bin/acorn" }, @@ -5399,58 +5425,80 @@ "node": ">=0.4.0" } }, - "examples/sdk/react/node_modules/acorn-import-assertions": { + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-import-assertions": { "version": "1.9.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "peerDependencies": { "acorn": "^8" } }, - "examples/sdk/react/node_modules/acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "examples/sdk/react/node_modules/acorn-walk": { - "version": "7.2.0", - "license": "MIT", + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, "engines": { "node": ">=0.4.0" } }, - "examples/sdk/react/node_modules/address": { - "version": "1.2.2", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true }, - "examples/sdk/react/node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "license": "MIT", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "debug": "4" }, "engines": { - "node": ">=8.9" + "node": ">= 6.0.0" } }, - "examples/sdk/react/node_modules/agent-base": { - "version": "6.0.2", - "license": "MIT", + "node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, "dependencies": { - "debug": "4" + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/ajv": { + "node_modules/ajv": { "version": "6.12.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5462,93 +5510,147 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "examples/sdk/react/node_modules/ajv-formats": { - "version": "2.1.1", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "ajv": ">=5.0.0" } }, - "examples/sdk/react/node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/ajv-keywords": { + "node_modules/ajv-keywords": { "version": "3.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" } }, - "examples/sdk/react/node_modules/ansi-escapes": { - "version": "4.3.2", - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "dev": true }, - "examples/sdk/react/node_modules/ansi-html-community": { - "version": "0.0.8", - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^4.1.0" } }, - "examples/sdk/react/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "peer": true + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/ansi-styles": { - "version": "3.2.1", - "license": "MIT", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/any-promise": { - "version": "1.3.0", - "license": "MIT" + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "dev": true, + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "examples/sdk/react/node_modules/anymatch": { + "node_modules/anymatch": { "version": "3.1.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5557,23 +5659,156 @@ "node": ">= 8" } }, - "examples/sdk/react/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "dev": true + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", "dependencies": { - "sprintf-js": "~1.0.2" + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" } }, - "examples/sdk/react/node_modules/aria-query": { - "version": "5.3.0", - "license": "Apache-2.0", + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" + } + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/array-buffer-byte-length": { + "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -5582,13 +5817,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/array-flatten": { - "version": "2.1.2", - "license": "MIT" + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true }, - "examples/sdk/react/node_modules/array-includes": { + "node_modules/array-includes": { "version": "3.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5603,16 +5842,48 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/array-union": { + "node_modules/array-union": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/array.prototype.flat": { + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { "version": "1.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5626,9 +5897,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/array.prototype.flatmap": { + "node_modules/array.prototype.flatmap": { "version": "1.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5642,9 +5915,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/array.prototype.reduce": { + "node_modules/array.prototype.map": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.5.tgz", + "integrity": "sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==", + "dev": true, + "peer": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5659,9 +5935,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/array.prototype.tosorted": { + "node_modules/array.prototype.tosorted": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5670,63 +5948,19 @@ "get-intrinsic": "^1.1.3" } }, - "examples/sdk/react/node_modules/asap": { - "version": "2.0.6", - "license": "MIT" - }, - "examples/sdk/react/node_modules/ast-types-flow": { - "version": "0.0.7", - "license": "ISC" - }, - "examples/sdk/react/node_modules/async": { - "version": "3.2.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/at-least-node": { - "version": "1.0.0", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "examples/sdk/react/node_modules/autoprefixer": { - "version": "10.4.14", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "license": "MIT", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "examples/sdk/react/node_modules/available-typed-arrays": { - "version": "1.0.5", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5734,134 +5968,207 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/axe-core": { - "version": "4.7.2", - "license": "MPL-2.0", + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/axobject-query": { - "version": "3.2.1", - "license": "Apache-2.0", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, "dependencies": { - "dequal": "^2.0.3" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "examples/sdk/react/node_modules/babel-jest": { - "version": "27.5.1", - "license": "MIT", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "examples/sdk/react/node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "inherits": "2.0.1" } }, - "examples/sdk/react/node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "tslib": "^2.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/ast-types/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true }, - "examples/sdk/react/node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "examples/sdk/react/node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "retry": "0.13.1" } }, - "examples/sdk/react/node_modules/babel-loader": { - "version": "8.3.0", - "license": "MIT", + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": ">= 8.9" + "node": ">= 4.5.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "@babel/core": "^7.0.0-0" } }, - "examples/sdk/react/node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "license": "MIT", + "node_modules/babel-jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", + "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "@jest/transform": "^29.6.4", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">= 8.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "examples/sdk/react/node_modules/babel-plugin-istanbul": { + "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -5873,86 +6180,114 @@ "node": ">=8" } }, - "examples/sdk/react/node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "license": "MIT", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/babel-plugin-macros": { - "version": "3.1.0", - "license": "MIT", + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "examples/sdk/react/node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "license": "MIT", - "peerDependencies": { - "@babel/core": "^7.1.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "license": "MIT", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "examples/sdk/react/node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, "bin": { "semver": "bin/semver.js" } }, - "examples/sdk/react/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "license": "MIT", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "examples/sdk/react/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "license": "MIT", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0" + "@babel/helper-define-polyfill-provider": "^0.4.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "examples/sdk/react/node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "license": "MIT" + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", + "dev": true + }, + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } }, - "examples/sdk/react/node_modules/babel-preset-current-node-syntax": { + "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -5971,156 +6306,281 @@ "@babel/core": "^7.0.0" } }, - "examples/sdk/react/node_modules/babel-preset-jest": { - "version": "27.5.1", - "license": "MIT", + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "dev": true, + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", + "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, - "examples/sdk/react/node_modules/babel-preset-react-app": { - "version": "10.0.1", - "license": "MIT", - "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" - } - }, - "examples/sdk/react/node_modules/balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "examples/sdk/react/node_modules/batch": { - "version": "0.6.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/bfj": { - "version": "7.0.2", - "license": "MIT", + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/basic-ftp": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", + "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true, + "peer": true + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.6" } }, - "examples/sdk/react/node_modules/big.js": { + "node_modules/big.js": { "version": "5.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, "engines": { "node": "*" } }, - "examples/sdk/react/node_modules/binary-extensions": { + "node_modules/binary-extensions": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/bluebird": { + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { "version": "3.7.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, - "examples/sdk/react/node_modules/body-parser": { - "version": "1.20.1", - "license": "MIT", + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dev": true, + "peer": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "license": "MIT", + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "examples/sdk/react/node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/bonjour-service": { - "version": "1.1.1", - "license": "MIT", + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "peer": true, "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" } }, - "examples/sdk/react/node_modules/boolbase": { - "version": "1.0.0", - "license": "ISC" - }, - "examples/sdk/react/node_modules/brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "examples/sdk/react/node_modules/braces": { + "node_modules/braces": { "version": "3.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -6128,12 +6588,109 @@ "node": ">=8" } }, - "examples/sdk/react/node_modules/browser-process-hrtime": { - "version": "1.0.0", - "license": "BSD-2-Clause" + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "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" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "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" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } }, - "examples/sdk/react/node_modules/browserslist": { - "version": "4.21.9", + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "funding": [ { "type": "opencollective", @@ -6148,11 +6705,10 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", "update-browserslist-db": "^1.0.11" }, "bin": { @@ -6162,1862 +6718,2068 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "examples/sdk/react/node_modules/bser": { + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { "version": "2.1.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, "dependencies": { "node-int64": "^0.4.0" } }, - "examples/sdk/react/node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } }, - "examples/sdk/react/node_modules/builtin-modules": { - "version": "3.3.0", - "license": "MIT", + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "examples/sdk/react/node_modules/call-bind": { - "version": "1.0.2", - "license": "MIT", + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "peer": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/callsites": { - "version": "3.1.0", - "license": "MIT", + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/camel-case": { - "version": "4.1.2", - "license": "MIT", + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "examples/sdk/react/node_modules/camelcase": { - "version": "6.3.0", - "license": "MIT", + "node_modules/cacache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/camelcase-css": { - "version": "2.0.1", - "license": "MIT", - "engines": { - "node": ">= 6" + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" } }, - "examples/sdk/react/node_modules/caniuse-api": { - "version": "3.0.0", - "license": "MIT", + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "examples/sdk/react/node_modules/caniuse-lite": { - "version": "1.0.30001508", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, - "examples/sdk/react/node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, - "examples/sdk/react/node_modules/chalk": { - "version": "2.4.2", - "license": "MIT", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/char-regex": { - "version": "1.0.2", - "license": "MIT", + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": ">=14.16" } }, - "examples/sdk/react/node_modules/check-types": { - "version": "11.2.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/chokidar": { - "version": "3.5.3", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", + "node_modules/cacheable-request": { + "version": "10.2.13", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.13.tgz", + "integrity": "sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==", + "dev": true, + "peer": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@types/http-cache-semantics": "^4.0.1", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">= 8.10.0" + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/chrome-trace-event": { - "version": "1.0.3", - "license": "MIT", + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, "engines": { - "node": ">=6.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/ci-info": { - "version": "3.8.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "examples/sdk/react/node_modules/cjs-module-lexer": { - "version": "1.2.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/clean-css": { - "version": "5.3.2", - "license": "MIT", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dev": true, "dependencies": { - "source-map": "~0.6.0" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">= 10.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/cliui": { - "version": "7.0.4", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "examples/sdk/react/node_modules/clsx": { - "version": "1.2.1", - "license": "MIT", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, "engines": { "node": ">=6" } }, - "examples/sdk/react/node_modules/co": { - "version": "4.6.0", - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "examples/sdk/react/node_modules/coa": { - "version": "2.0.2", - "license": "MIT", + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">= 4.0" - } - }, - "examples/sdk/react/node_modules/collect-v8-coverage": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/colord": { - "version": "2.9.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/colorette": { - "version": "2.0.20", - "license": "MIT" + "node_modules/caniuse-lite": { + "version": "1.0.30001522", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", + "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "examples/sdk/react/node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "delayed-stream": "~1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "examples/sdk/react/node_modules/commander": { - "version": "8.3.0", - "license": "MIT", + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dependencies": { + "chalk": "^4.1.2" + }, "engines": { - "node": ">= 12" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "examples/sdk/react/node_modules/common-path-prefix": { - "version": "3.0.0", - "license": "ISC" - }, - "examples/sdk/react/node_modules/common-tags": { - "version": "1.8.2", - "license": "MIT", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, "engines": { - "node": ">=4.0.0" + "node": ">=10" } }, - "examples/sdk/react/node_modules/commondir": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/confusing-browser-globals": { - "version": "1.0.11", - "license": "MIT" - }, - "examples/sdk/react/node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=0.8" - } + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/content-disposition": { - "version": "0.5.4", - "license": "MIT", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true, "dependencies": { - "safe-buffer": "5.2.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "examples/sdk/react/node_modules/content-type": { - "version": "1.0.5", - "license": "MIT", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/convert-source-map": { - "version": "1.9.0", - "license": "MIT" + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, - "examples/sdk/react/node_modules/cookie": { - "version": "0.5.0", - "license": "MIT", + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "engines": { - "node": ">= 0.6" + "node": ">=6.0" } }, - "examples/sdk/react/node_modules/cookie-signature": { - "version": "1.0.6", - "license": "MIT" - }, - "examples/sdk/react/node_modules/core-js": { - "version": "3.31.0", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/core-js-compat": { - "version": "3.31.0", - "license": "MIT", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "examples/sdk/react/node_modules/core-js-pure": { - "version": "3.31.0", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "examples/sdk/react/node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true }, - "examples/sdk/react/node_modules/cosmiconfig": { - "version": "7.1.0", - "license": "MIT", + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "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" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 8" - } - }, - "examples/sdk/react/node_modules/crypto-random-string": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-blank-pseudo": { - "version": "3.0.3", - "license": "CC0-1.0", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" + "kind-of": "^3.0.2" }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "examples/sdk/react/node_modules/css-declaration-sorter": { - "version": "6.4.0", - "license": "ISC", "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-has-pseudo": { - "version": "3.0.4", - "license": "CC0-1.0", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-loader": { - "version": "6.8.1", - "license": "MIT", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "license": "MIT", + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "node_modules/clean-stack": { "version": "4.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "examples/sdk/react/node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "license": "CC0-1.0", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" - }, + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=12" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/css-select": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/css-select-base-adapter": { - "version": "0.1.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "license": "MIT", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/css-what": { - "version": "6.1.0", - "license": "BSD-2-Clause", + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "peer": true, "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">= 12" } }, - "examples/sdk/react/node_modules/cssdb": { - "version": "7.6.0", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - } - ], - "license": "CC0-1.0" + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } }, - "examples/sdk/react/node_modules/cssesc": { - "version": "3.0.0", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "examples/sdk/react/node_modules/cssnano": { - "version": "5.1.15", - "license": "MIT", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "examples/sdk/react/node_modules/cssnano-preset-default": { - "version": "5.2.14", - "license": "MIT", - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "examples/sdk/react/node_modules/cssnano-utils": { - "version": "3.1.0", - "license": "MIT", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.8" } }, - "examples/sdk/react/node_modules/csso": { - "version": "4.2.0", - "license": "MIT", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, "dependencies": { - "css-tree": "^1.1.2" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, "engines": { - "node": ">=8.0.0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "examples/sdk/react/node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "license": "CC0-1.0" + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true }, - "examples/sdk/react/node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/cssom": { - "version": "0.4.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/cssstyle": { - "version": "2.3.0", - "license": "MIT", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "cssom": "~0.3.6" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "examples/sdk/react/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "license": "MIT" + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "examples/sdk/react/node_modules/csstype": { - "version": "3.1.2", - "license": "MIT" + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true }, - "examples/sdk/react/node_modules/damerau-levenshtein": { + "node_modules/combined-stream": { "version": "1.0.8", - "license": "BSD-2-Clause" - }, - "examples/sdk/react/node_modules/data-urls": { - "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/debug": { - "version": "4.3.4", - "license": "MIT", + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/decimal.js": { - "version": "10.4.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/dedent": { - "version": "0.7.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/deepmerge": { - "version": "4.3.1", - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4.0.0" } }, - "examples/sdk/react/node_modules/default-gateway": { - "version": "6.0.3", - "license": "BSD-2-Clause", + "node_modules/command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "dependencies": { - "execa": "^5.0.0" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" }, "engines": { - "node": ">= 10" + "node": ">=12.20.0" } }, - "examples/sdk/react/node_modules/define-lazy-prop": { - "version": "2.0.0", - "license": "MIT", + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", "engines": { - "node": ">=8" + "node": ">=12.17" } }, - "examples/sdk/react/node_modules/define-properties": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12.17" } }, - "examples/sdk/react/node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, "engines": { - "node": ">=0.4.0" + "node": "^12.20.0 || >=14" } }, - "examples/sdk/react/node_modules/depd": { + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compare-func": { "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.8" + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "examples/sdk/react/node_modules/dequal": { - "version": "2.0.3", - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, - "examples/sdk/react/node_modules/destroy": { - "version": "1.2.0", - "license": "MIT", + "node_modules/compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 10" } }, - "examples/sdk/react/node_modules/detect-newline": { - "version": "3.1.0", - "license": "MIT", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/detect-node": { - "version": "2.1.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/detect-port-alt": { - "version": "1.1.6", - "license": "MIT", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">= 4.2.1" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/detect-port-alt/node_modules/debug": { + "node_modules/compression/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } }, - "examples/sdk/react/node_modules/detect-port-alt/node_modules/ms": { + "node_modules/compression/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "examples/sdk/react/node_modules/didyoumean": { - "version": "1.2.2", - "license": "Apache-2.0" + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "examples/sdk/react/node_modules/diff-sequences": { - "version": "27.5.1", - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "examples/sdk/react/node_modules/dir-glob": { - "version": "3.0.1", - "license": "MIT", + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "peer": true, "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "examples/sdk/react/node_modules/dlv": { - "version": "1.1.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/dns-equal": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/dns-packet": { - "version": "5.6.0", - "license": "MIT", + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dev": true, + "peer": true, "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" } }, - "examples/sdk/react/node_modules/doctrine": { - "version": "3.0.0", - "license": "Apache-2.0", + "node_modules/configstore/node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dev": true, + "peer": true, "dependencies": { - "esutils": "^2.0.2" + "is-obj": "^2.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/dom-converter": { - "version": "0.2.0", - "license": "MIT", + "node_modules/configstore/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "peer": true + }, + "node_modules/configstore/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "peer": true, "dependencies": { - "utila": "~0.4" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "examples/sdk/react/node_modules/dom-serializer": { - "version": "1.4.1", - "license": "MIT", + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">= 0.10.0" } }, - "examples/sdk/react/node_modules/domelementtype": { - "version": "2.3.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } }, - "examples/sdk/react/node_modules/domexception": { - "version": "2.0.1", - "license": "MIT", + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, "dependencies": { - "webidl-conversions": "^5.0.0" + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "license": "BSD-2-Clause", + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/domhandler": { - "version": "4.3.1", - "license": "BSD-2-Clause", + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, "dependencies": { - "domelementtype": "^2.2.0" + "q": "^1.5.1" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=10" } }, - "examples/sdk/react/node_modules/domutils": { - "version": "2.8.0", - "license": "BSD-2-Clause", + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "q": "^1.5.1" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">=10" } }, - "examples/sdk/react/node_modules/dot-case": { - "version": "3.0.4", - "license": "MIT", + "node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" } }, - "examples/sdk/react/node_modules/dotenv": { - "version": "10.0.0", - "license": "BSD-2-Clause", + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, "engines": { "node": ">=10" } }, - "examples/sdk/react/node_modules/dotenv-expand": { - "version": "5.1.0", - "license": "BSD-2-Clause" - }, - "examples/sdk/react/node_modules/duplexer": { - "version": "0.1.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/ee-first": { - "version": "1.1.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/ejs": { - "version": "3.1.9", - "license": "Apache-2.0", + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "q": "^1.5.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "examples/sdk/react/node_modules/electron-to-chromium": { - "version": "1.4.441", - "license": "ISC" - }, - "examples/sdk/react/node_modules/emittery": { - "version": "0.8.1", - "license": "MIT", + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "examples/sdk/react/node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/emojis-list": { - "version": "3.0.0", - "license": "MIT", + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, "engines": { - "node": ">= 4" + "node": ">=10" } }, - "examples/sdk/react/node_modules/encodeurl": { - "version": "1.0.2", - "license": "MIT", + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/enhanced-resolve": { - "version": "5.15.0", - "license": "MIT", + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "compare-func": "^2.0.0", + "q": "^1.5.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" } }, - "examples/sdk/react/node_modules/entities": { - "version": "2.2.0", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" } }, - "examples/sdk/react/node_modules/error-ex": { - "version": "1.3.2", - "license": "MIT", + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" } }, - "examples/sdk/react/node_modules/error-stack-parser": { - "version": "2.1.4", - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "examples/sdk/react/node_modules/es-abstract": { - "version": "1.21.2", - "license": "MIT", + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "examples/sdk/react/node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/es-module-lexer": { - "version": "1.3.0", - "license": "MIT" + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } }, - "examples/sdk/react/node_modules/es-set-tostringtag": { - "version": "2.0.1", - "license": "MIT", + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=10" } }, - "examples/sdk/react/node_modules/es-shim-unscopables": { - "version": "1.0.0", - "license": "MIT", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "dependencies": { - "has": "^1.0.3" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "examples/sdk/react/node_modules/es-to-primitive": { - "version": "1.2.1", - "license": "MIT", + "node_modules/copy-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "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" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/escalade": { - "version": "3.1.1", - "license": "MIT", + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz", + "integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "examples/sdk/react/node_modules/escape-html": { + "node_modules/core-util-is": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "examples/sdk/react/node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "examples/sdk/react/node_modules/escodegen": { + "node_modules/cosmiconfig/node_modules/import-fresh": { "version": "2.0.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">=4" } }, - "examples/sdk/react/node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "license": "MIT", + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "examples/sdk/react/node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "license": "MIT", + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "optional": true, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "examples/sdk/react/node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "license": "MIT", + "node_modules/crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "dependencies": { - "prelude-ls": "~1.1.2" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 10" } }, - "examples/sdk/react/node_modules/eslint": { - "version": "8.43.0", - "license": "MIT", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.43.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "examples/sdk/react/node_modules/eslint-config-react-app": { - "version": "7.0.1", - "license": "MIT", - "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.0.1", - "confusing-browser-globals": "^1.0.11", - "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" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.0" - } + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "examples/sdk/react/node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "license": "MIT", + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "examples/sdk/react/node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, "dependencies": { - "ms": "^2.1.1" + "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" } }, - "examples/sdk/react/node_modules/eslint-module-utils": { - "version": "2.8.0", - "license": "MIT", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { - "debug": "^3.2.7" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">= 8" } }, - "examples/sdk/react/node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, "dependencies": { - "ms": "^2.1.1" + "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" + }, + "engines": { + "node": "*" } }, - "examples/sdk/react/node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "license": "BSD-3-Clause", + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "peer": true, "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" + "type-fest": "^1.0.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/plugin-syntax-flow": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "eslint": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint-plugin-import": { - "version": "2.27.5", - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "peer": true, "engines": { - "node": ">=4" + "node": ">=10" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true }, - "examples/sdk/react/node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, "dependencies": { - "esutils": "^2.0.2" + "cssom": "~0.3.6" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "license": "MIT", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, + "node_modules/data-uri-to-buffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", + "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", + "dev": true, + "peer": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "node": ">= 14" } }, - "examples/sdk/react/node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "license": "MIT", + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, "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" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=12" } }, - "examples/sdk/react/node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" } }, - "examples/sdk/react/node_modules/eslint-plugin-react": { - "version": "7.32.2", - "license": "MIT", + "node_modules/dayjs": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "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.0", - "string.prototype.matchall": "^4.0.8" + "ms": "2.1.2" }, "engines": { - "node": ">=4" + "node": ">=6.0" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "examples/sdk/react/node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "license": "MIT", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, "dependencies": { - "esutils": "^2.0.2" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { "node": ">=0.10.0" - } - }, - "examples/sdk/react/node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/eslint-plugin-testing-library": { - "version": "5.11.0", - "license": "MIT", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, "dependencies": { - "@typescript-eslint/utils": "^5.58.0" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/eslint-scope": { - "version": "7.2.0", - "license": "BSD-2-Clause", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "peer": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "license": "Apache-2.0", + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "peer": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "license": "MIT", + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "license": "MIT", + "node_modules/decompress-tar/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/decompress-tar/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" + "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" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/decompress-tar/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "license": "MIT", + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "license": "MIT", + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=4" } }, - "examples/sdk/react/node_modules/eslint-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=4" } }, - "examples/sdk/react/node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, - "examples/sdk/react/node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "examples/sdk/react/node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, "engines": { - "node": ">=10" + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "examples/sdk/react/node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "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" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "peer": true, "engines": { - "node": ">=7.0.0" + "node": ">=4.0.0" } }, - "examples/sdk/react/node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "examples/sdk/react/node_modules/eslint/node_modules/escape-string-regexp": { + "node_modules/default-browser": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "peer": true, + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "license": "MIT", + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "peer": true, "dependencies": { - "type-fest": "^0.20.2" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "examples/sdk/react/node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "examples/sdk/react/node_modules/eslint/node_modules/supports-color": { + "node_modules/default-browser/node_modules/execa": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "examples/sdk/react/node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "license": "(MIT OR CC0-1.0)", + "node_modules/default-browser/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true, "engines": { "node": ">=10" }, @@ -8025,361 +8787,411 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/espree": { - "version": "9.5.2", - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "peer": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14.18.0" + } + }, + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/default-browser/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "peer": true, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/esquery": { - "version": "1.5.0", - "license": "BSD-3-Clause", + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "peer": true, "dependencies": { - "estraverse": "^5.1.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=0.10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/esrecurse": { - "version": "4.3.0", - "license": "BSD-2-Clause", + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "peer": true, "dependencies": { - "estraverse": "^5.2.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/estraverse": { - "version": "5.3.0", - "license": "BSD-2-Clause", + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "peer": true, "engines": { - "node": ">=4.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/estree-walker": { - "version": "1.0.1", - "license": "MIT" + "node_modules/default-browser/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", + "node_modules/default-browser/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/etag": { - "version": "1.8.1", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/eventemitter3": { - "version": "4.0.7", - "license": "MIT" + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } }, - "examples/sdk/react/node_modules/events": { - "version": "3.3.0", - "license": "MIT", + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "peer": true, "engines": { - "node": ">=0.8.x" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/execa": { - "version": "5.1.1", - "license": "MIT", + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/exit": { - "version": "0.1.2", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/expect": { - "version": "27.5.1", - "license": "MIT", + "node_modules/degenerator": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-4.0.4.tgz", + "integrity": "sha512-MTZdZsuNxSBL92rsjx3VFWe57OpRlikyLbcx2B5Dmdv6oScqpMrvpY7zHLMymrUxo3U5+suPUMsNgW/+SZB1lg==", + "dev": true, + "peer": true, "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "ast-types": "^0.13.4", + "escodegen": "^1.14.3", + "esprima": "^4.0.1", + "vm2": "^3.9.19" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/express": { - "version": "4.18.2", - "license": "MIT", + "node_modules/degenerator/node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "peer": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "tslib": "^2.0.1" }, "engines": { - "node": ">= 0.10.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/express/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", + "node_modules/degenerator/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "peer": true, "dependencies": { - "ms": "2.0.0" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "examples/sdk/react/node_modules/express/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/fast-glob": { - "version": "3.2.12", - "license": "MIT", + "node_modules/degenerator/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "peer": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", + "node_modules/degenerator/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "peer": true, "dependencies": { - "is-glob": "^4.0.1" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">= 6" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/fast-levenshtein": { - "version": "2.0.6", - "license": "MIT" - }, - "examples/sdk/react/node_modules/fastq": { - "version": "1.15.0", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" + "node_modules/degenerator/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/faye-websocket": { - "version": "0.11.4", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, + "node_modules/degenerator/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/fb-watchman": { - "version": "2.0.2", - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } + "node_modules/degenerator/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/file-entry-cache": { - "version": "6.0.1", - "license": "MIT", + "node_modules/degenerator/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "peer": true, "dependencies": { - "flat-cache": "^3.0.4" + "prelude-ls": "~1.1.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/file-loader": { - "version": "6.2.0", - "license": "MIT", + "node_modules/del": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", + "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", + "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", + "rimraf": "^3.0.2", + "slash": "^4.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "examples/sdk/react/node_modules/filelist": { - "version": "1.0.4", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "examples/sdk/react/node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "license": "ISC", + "node_modules/del-cli": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-5.0.0.tgz", + "integrity": "sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==", + "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "del": "^7.0.0", + "meow": "^10.1.3" + }, + "bin": { + "del": "cli.js", + "del-cli": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/filesize": { - "version": "8.0.7", - "license": "BSD-3-Clause", + "node_modules/del-cli/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, "engines": { - "node": ">= 0.4.0" - } - }, - "examples/sdk/react/node_modules/fill-range": { - "version": "7.0.1", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" + "node": ">=10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/finalhandler": { - "version": "1.2.0", - "license": "MIT", + "node_modules/del-cli/node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" }, "engines": { - "node": ">= 0.8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node_modules/del-cli/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/find-cache-dir": { - "version": "3.3.2", - "license": "MIT", + "node_modules/del-cli/node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, + "node_modules/del-cli/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, "engines": { "node": ">=10" }, @@ -8387,424 +9199,579 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/flat-cache": { - "version": "3.0.4", - "license": "MIT", + "node_modules/del-cli/node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "examples/sdk/react/node_modules/flatted": { - "version": "3.2.7", - "license": "ISC" - }, - "examples/sdk/react/node_modules/follow-redirects": { - "version": "1.15.2", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" + "node": ">=12" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/for-each": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "license": "MIT", + "node_modules/del-cli/node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" }, "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" + "node": ">=12" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/del-cli/node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/del-cli/node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "min-indent": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/del-cli/node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/del-cli/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "license": "MIT", + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "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" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "license": "MIT", + "node_modules/del/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "node_modules/del/node_modules/is-path-inside": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "license": "MIT", + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 8.9.0" + "bin": { + "rimraf": "bin.js" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/del/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" } }, - "examples/sdk/react/node_modules/form-data": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/forwarded": { - "version": "0.2.0", - "license": "MIT", + "node_modules/deprecated-react-native-prop-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", + "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "dev": true, + "dependencies": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true, + "peer": true + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "examples/sdk/react/node_modules/fraction.js": { - "version": "4.2.0", - "license": "MIT", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" + "node": ">=8" } }, - "examples/sdk/react/node_modules/fresh": { - "version": "0.5.2", - "license": "MIT", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/fs-extra": { - "version": "10.1.0", - "license": "MIT", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "examples/sdk/react/node_modules/fs-monkey": { - "version": "1.0.4", - "license": "Unlicense" + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } }, - "examples/sdk/react/node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true }, - "examples/sdk/react/node_modules/fsevents": { - "version": "2.3.2", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=0.4", + "npm": ">=1.2" } }, - "examples/sdk/react/node_modules/function-bind": { - "version": "1.1.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/function.prototype.name": { - "version": "1.1.5", - "license": "MIT", + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/functions-have-names": { - "version": "1.2.3", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "examples/sdk/react/node_modules/gensync": { - "version": "1.0.0-beta.2", - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "examples/sdk/react/node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/get-intrinsic": { - "version": "1.2.1", - "license": "MIT", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.500", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", + "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "examples/sdk/react/node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "license": "ISC" + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "examples/sdk/react/node_modules/get-package-type": { - "version": "0.1.0", - "license": "MIT", + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">= 4" } }, - "examples/sdk/react/node_modules/get-stream": { - "version": "6.0.1", - "license": "MIT", + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/get-symbol-description": { - "version": "1.0.0", - "license": "MIT", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "once": "^1.4.0" } }, - "examples/sdk/react/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "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" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": "*" + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "examples/sdk/react/node_modules/glob-parent": { - "version": "6.0.2", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/glob-to-regexp": { - "version": "0.4.1", - "license": "BSD-2-Clause" - }, - "examples/sdk/react/node_modules/global-modules": { - "version": "2.0.0", - "license": "MIT", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, "dependencies": { - "global-prefix": "^3.0.0" + "prr": "~1.0.1" }, - "engines": { - "node": ">=6" + "bin": { + "errno": "cli.js" } }, - "examples/sdk/react/node_modules/global-prefix": { - "version": "3.0.0", - "license": "MIT", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" + "is-arrayish": "^0.2.1" } }, - "examples/sdk/react/node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "license": "ISC", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "stackframe": "^1.3.4" } }, - "examples/sdk/react/node_modules/globals": { - "version": "11.12.0", - "license": "MIT", + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/globalthis": { - "version": "1.0.3", - "license": "MIT", + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "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.10", + "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.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "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.10" }, "engines": { "node": ">= 0.4" @@ -8813,4857 +9780,5977 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/globby": { - "version": "11.1.0", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/gopd": { - "version": "1.0.1", - "license": "MIT", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "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" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" - }, - "examples/sdk/react/node_modules/grapheme-splitter": { - "version": "1.0.4", - "license": "MIT" + "node_modules/es-iterator-helpers": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", + "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "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.0", + "safe-array-concat": "^1.0.0" + } }, - "examples/sdk/react/node_modules/graphemer": { - "version": "1.4.0", - "license": "MIT" + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" }, - "examples/sdk/react/node_modules/gzip-size": { - "version": "6.0.0", - "license": "MIT", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, "dependencies": { - "duplexer": "^0.1.2" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "examples/sdk/react/node_modules/handle-thing": { - "version": "2.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/harmony-reflect": { - "version": "1.6.2", - "license": "(Apache-2.0 OR MPL-1.1)" + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } }, - "examples/sdk/react/node_modules/has": { - "version": "1.0.3", - "license": "MIT", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">= 0.4.0" - } - }, - "examples/sdk/react/node_modules/has-bigints": { - "version": "1.0.2", - "license": "MIT", + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "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" } }, - "examples/sdk/react/node_modules/has-property-descriptors": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/has-proto": { - "version": "1.0.1", - "license": "MIT", + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "dev": true, + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/has-symbols": { + "node_modules/escape-html": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/has-tostringtag": { - "version": "1.0.0", - "license": "MIT", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "examples/sdk/react/node_modules/he": { - "version": "1.2.0", - "license": "MIT", - "bin": { - "he": "bin/he" + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "examples/sdk/react/node_modules/hoopy": { - "version": "0.1.4", - "license": "MIT", + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, "engines": { - "node": ">= 6.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/hpack.js": { - "version": "2.1.6", - "license": "MIT", + "node_modules/eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "dev": true, "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "examples/sdk/react/node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } }, - "examples/sdk/react/node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "license": "MIT", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "examples/sdk/react/node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "ms": "^2.1.1" } }, - "examples/sdk/react/node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "license": "MIT", + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, "dependencies": { - "whatwg-encoding": "^1.0.5" + "debug": "^3.2.7" }, "engines": { - "node": ">=10" - } - }, - "examples/sdk/react/node_modules/html-entities": { - "version": "2.4.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true } - ], - "license": "MIT" - }, - "examples/sdk/react/node_modules/html-escaper": { - "version": "2.0.2", - "license": "MIT" + } }, - "examples/sdk/react/node_modules/html-minifier-terser": { - "version": "6.1.0", - "license": "MIT", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" + "ms": "^2.1.1" } }, - "examples/sdk/react/node_modules/html-webpack-plugin": { - "version": "5.5.3", - "license": "MIT", + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.5.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" + "url": "https://github.com/sponsors/mysticatea" }, "peerDependencies": { - "webpack": "^5.20.0" + "eslint": ">=4.19.1" } }, - "examples/sdk/react/node_modules/htmlparser2": { - "version": "6.1.0", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" } }, - "examples/sdk/react/node_modules/http-deceiver": { - "version": "1.2.7", - "license": "MIT" + "node_modules/eslint-plugin-ft-flow": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", + "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "@babel/eslint-parser": "^7.12.0", + "eslint": "^8.1.0" + } }, - "examples/sdk/react/node_modules/http-errors": { - "version": "2.0.0", - "license": "MIT", + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "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" }, "engines": { - "node": ">= 0.8" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "examples/sdk/react/node_modules/http-parser-js": { - "version": "0.5.8", - "license": "MIT" + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } }, - "examples/sdk/react/node_modules/http-proxy": { - "version": "1.18.1", - "license": "MIT", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=8.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/http-proxy-agent": { - "version": "4.0.1", - "license": "MIT", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", + "dev": true, "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "@typescript-eslint/utils": "^5.10.0" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "examples/sdk/react/node_modules/http-proxy-middleware": { - "version": "2.0.6", - "license": "MIT", + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "prettier-linter-helpers": "^1.0.0" }, "engines": { "node": ">=12.0.0" }, "peerDependencies": { - "@types/express": "^4.17.13" + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" }, "peerDependenciesMeta": { - "@types/express": { + "eslint-config-prettier": { "optional": true } } }, - "examples/sdk/react/node_modules/https-proxy-agent": { - "version": "5.0.1", - "license": "MIT", + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "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" }, "engines": { - "node": ">= 6" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "examples/sdk/react/node_modules/human-signals": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "examples/sdk/react/node_modules/iconv-lite": { - "version": "0.6.3", - "license": "MIT", + "node_modules/eslint-plugin-react-native": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.0.0.tgz", + "integrity": "sha512-kMmdxrSY7A1WgdqaGC+rY/28rh7kBGNBRsk48ovqkQmdg5j4K+DaFmegENDzMrdLkoufKGRNkKX6bgSwQTCAxQ==", + "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@babel/traverse": "^7.7.4", + "eslint-plugin-react-native-globals": "^0.1.1" + }, + "peerDependencies": { + "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/icss-utils": { - "version": "5.1.0", - "license": "ISC", + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=4.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "peerDependencies": { - "postcss": "^8.1.0" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/idb": { - "version": "7.1.1", - "license": "ISC" + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "examples/sdk/react/node_modules/identity-obj-proxy": { - "version": "3.0.0", - "license": "MIT", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "harmony-reflect": "^1.4.6" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "examples/sdk/react/node_modules/ignore": { - "version": "5.2.4", - "license": "MIT", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, "engines": { - "node": ">= 4" - } - }, - "examples/sdk/react/node_modules/immer": { - "version": "9.0.21", - "license": "MIT", + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "url": "https://opencollective.com/eslint" } }, - "examples/sdk/react/node_modules/import-fresh": { - "version": "3.3.0", - "license": "MIT", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "examples/sdk/react/node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "license": "MIT", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=4.0" } }, - "examples/sdk/react/node_modules/import-local": { - "version": "3.1.0", - "license": "MIT", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "examples/sdk/react/node_modules/imurmurhash": { - "version": "0.1.4", - "license": "MIT", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { - "node": ">=0.8.19" + "node": ">=4" } }, - "examples/sdk/react/node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "examples/sdk/react/node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "examples/sdk/react/node_modules/internal-slot": { - "version": "1.0.5", - "license": "MIT", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 0.4" + "node": ">=4.0" } }, - "examples/sdk/react/node_modules/ipaddr.js": { - "version": "2.1.0", - "license": "MIT", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">= 10" + "node": ">=4.0" } }, - "examples/sdk/react/node_modules/is-array-buffer": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" } }, - "examples/sdk/react/node_modules/is-arrayish": { - "version": "0.2.1", - "license": "MIT" + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, - "examples/sdk/react/node_modules/is-bigint": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-binary-path": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/is-boolean-object": { - "version": "1.1.2", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "examples/sdk/react/node_modules/is-callable": { - "version": "1.2.7", - "license": "MIT", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.8.x" } }, - "examples/sdk/react/node_modules/is-core-module": { - "version": "2.12.1", - "license": "MIT", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "examples/sdk/react/node_modules/is-date-object": { - "version": "1.0.5", - "license": "MIT", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "examples/sdk/react/node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/is-generator-fn": { - "version": "2.1.0", - "license": "MIT", + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/is-glob": { - "version": "4.0.3", - "license": "MIT", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-module": { - "version": "1.0.0", - "license": "MIT" + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } }, - "examples/sdk/react/node_modules/is-negative-zero": { - "version": "2.0.2", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-number": { - "version": "7.0.0", - "license": "MIT", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-number-object": { - "version": "1.0.7", - "license": "MIT", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-obj": { - "version": "1.0.1", - "license": "MIT", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-path-inside": { - "version": "3.0.3", - "license": "MIT", + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-plain-obj": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/is-regex": { - "version": "1.1.4", - "license": "MIT", + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-regexp": { - "version": "1.0.0", - "license": "MIT", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-root": { - "version": "2.1.0", - "license": "MIT", + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "license": "MIT", + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "@jest/expect-utils": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "examples/sdk/react/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/is-string": { - "version": "1.0.7", - "license": "MIT", + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-symbol": { - "version": "1.0.4", - "license": "MIT", + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "peer": true, "dependencies": { - "has-symbols": "^1.0.2" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "examples/sdk/react/node_modules/is-typed-array": { - "version": "1.1.10", - "license": "MIT", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "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" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-typedarray": { + "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/is-weakref": { - "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "is-descriptor": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/is-wsl": { - "version": "2.2.0", - "license": "MIT", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, "dependencies": { - "is-docker": "^2.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/isarray": { - "version": "2.0.5", - "license": "MIT" + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "examples/sdk/react/node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "examples/sdk/react/node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "license": "BSD-3-Clause", + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, - "examples/sdk/react/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "license": "BSD-3-Clause", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "examples/sdk/react/node_modules/istanbul-lib-report": { - "version": "3.0.0", - "license": "BSD-3-Clause", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fast-xml-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", + "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "dev": true, + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "strnum": "^1.0.5" }, - "engines": { - "node": ">=8" + "bin": { + "fxparser": "src/cli/cli.js" } }, - "examples/sdk/react/node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 4.9.1" } }, - "examples/sdk/react/node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "reusify": "^1.0.4" } }, - "examples/sdk/react/node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "license": "BSD-3-Clause", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" + "bser": "2.1.1" } }, - "examples/sdk/react/node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" } }, - "examples/sdk/react/node_modules/istanbul-reports": { - "version": "3.1.5", - "license": "BSD-3-Clause", + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "peer": true, "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" }, "engines": { - "node": ">=8" + "node": "^12.20 || >= 14.13" } }, - "examples/sdk/react/node_modules/jake": { - "version": "10.8.7", - "license": "Apache-2.0", + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "peer": true, "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/figures/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=7.0.0" + "node": "^10.12.0 || >=12.0.0" } }, - "examples/sdk/react/node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jake/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "examples/sdk/react/node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/jest": { - "version": "27.5.1", - "license": "MIT", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/jest-changed-files": { - "version": "27.5.1", - "license": "MIT", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-circus": { - "version": "27.5.1", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "locate-path": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "examples/sdk/react/node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "find-up": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-cli": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, "bin": { - "jest": "bin/jest.js" + "semver": "bin/semver" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dependencies": { + "array-back": "^3.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=4.0.0" } }, - "examples/sdk/react/node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=10" + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "glob": "^7.1.3" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true }, - "examples/sdk/react/node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/flow-enums-runtime": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==", + "dev": true + }, + "node_modules/flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "examples/sdk/react/node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "examples/sdk/react/node_modules/jest-config": { - "version": "27.5.1", - "license": "MIT", + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } + "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" } }, - "examples/sdk/react/node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, + "safe-buffer": "~5.1.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "color-name": "~1.1.4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "dev": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">= 14.17" } }, - "examples/sdk/react/node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "fetch-blob": "^3.1.2" }, "engines": { - "node": ">=8" + "node": ">=12.20.0" } }, - "examples/sdk/react/node_modules/jest-diff": { - "version": "27.5.1", - "license": "MIT", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "map-cache": "^0.2.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "examples/sdk/react/node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "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" } }, - "examples/sdk/react/node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=6 <7 || >=8" } }, - "examples/sdk/react/node_modules/jest-docblock": { - "version": "27.5.1", - "license": "MIT", + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "examples/sdk/react/node_modules/jest-each": { - "version": "27.5.1", - "license": "MIT", + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "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" } }, - "examples/sdk/react/node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "examples/sdk/react/node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "examples/sdk/react/node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "engines": { - "node": ">=8" + "node": "6.* || 8.* || >= 10.*" } }, - "examples/sdk/react/node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "license": "MIT", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8.0.0" } }, - "examples/sdk/react/node_modules/jest-environment-node": { - "version": "27.5.1", - "license": "MIT", + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.9.0" } }, - "examples/sdk/react/node_modules/jest-get-type": { - "version": "27.5.1", - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node_modules/get-pkg-repo/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "examples/sdk/react/node_modules/jest-haste-map": { - "version": "27.5.1", - "license": "MIT", + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/jest-jasmine2": { - "version": "27.5.1", - "license": "MIT", + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "examples/sdk/react/node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/get-uri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", + "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", + "dev": true, + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^5.0.1", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/jest-leak-detector": { - "version": "27.5.1", - "license": "MIT", + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "license": "MIT", + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" } }, - "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "dev": true, + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" } }, - "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/git-url-parse": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "dev": true, + "peer": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "git-up": "^7.0.0" } }, - "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.2" } }, - "examples/sdk/react/node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", "dependencies": { - "has-flag": "^4.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/jest-message-util": { - "version": "27.5.1", - "license": "MIT", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "is-glob": "^4.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10.13.0" } }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "balanced-match": "^1.0.0" } }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "ini": "2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-mock": { - "version": "27.5.1", - "license": "MIT", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "define-properties": "^1.1.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "examples/sdk/react/node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/jest-regex-util": { - "version": "27.5.1", - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-resolve": { - "version": "27.5.1", - "license": "MIT", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", + "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" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "license": "MIT", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dev": true, + "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "examples/sdk/react/node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/got/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "examples/sdk/react/node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "examples/sdk/react/node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "examples/sdk/react/node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "function-bind": "^1.1.1" }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-runner": { - "version": "27.5.1", - "license": "MIT", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-runtime": { - "version": "27.5.1", - "license": "MIT", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "examples/sdk/react/node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "examples/sdk/react/node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", + "dev": true + }, + "node_modules/hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "hermes-estree": "0.12.0" } }, - "examples/sdk/react/node_modules/jest-serializer": { - "version": "27.5.1", - "license": "MIT", + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "dev": true, "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" + "source-map": "^0.7.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-snapshot": { - "version": "27.5.1", - "license": "MIT", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "examples/sdk/react/node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "examples/sdk/react/node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "examples/sdk/react/node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, - "examples/sdk/react/node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/jest-util": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "dev": true, + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/http2-wrapper/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "peer": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10.17.0" } }, - "examples/sdk/react/node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-validate": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 4" } }, - "examples/sdk/react/node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "queue": "6.0.2" }, - "engines": { - "node": ">=8" + "bin": { + "image-size": "bin/image-size.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=14.0.0" } }, - "examples/sdk/react/node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "dev": true, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "examples/sdk/react/node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-validate/node_modules/has-flag": { + "node_modules/import-lazy": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "peer": true, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" }, - "engines": { - "node": ">=8" - } - }, - "examples/sdk/react/node_modules/jest-watch-typeahead": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, - "peerDependencies": { - "jest": "^27.0.0 || ^28.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "28.1.3", - "license": "MIT", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=0.8.19" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "license": "MIT", + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, "engines": { - "node": ">=8" - } - }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "28.1.3", - "license": "MIT", - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "node": ">=12" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "28.1.3", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^28.1.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" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.24", - "license": "MIT", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { - "@types/yargs-parser": "*" + "once": "^1.3.0", + "wrappy": "1" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.6.tgz", + "integrity": "sha512-y71l237eJJKS4rl7sQcEUiMhrR0pB/ZnRMMTxLpjJhWL4hdWCT03a6jJnC1w6qIPSRZWEozuieGt3v7XaEJYFw==", + "dev": true, + "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-escapes": "^4.3.2", + "chalk": "^5.2.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.0.0", + "external-editor": "^3.0.3", + "figures": "^5.0.0", + "lodash": "^4.17.21", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=14.18.0" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/inquirer/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "peer": true, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "peer": true + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/emittery": { - "version": "0.10.2", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/inquirer/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "28.1.3", - "license": "MIT", + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "28.0.2", - "license": "MIT", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "peer": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 0.10" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-util": { - "version": "28.1.3", - "license": "MIT", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "loose-envify": "^1.0.0" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "28.1.3", - "license": "MIT", - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { - "version": "4.0.2", - "license": "MIT", + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "kind-of": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/pretty-format": { - "version": "28.1.3", - "license": "MIT", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/react-is": { - "version": "18.2.0", - "license": "MIT" + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/slash": { - "version": "4.0.0", - "license": "MIT", + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "5.0.1", - "license": "MIT", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "dependencies": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12.20" + "has-bigints": "^1.0.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "license": "MIT", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { - "node": ">=12.20" + "node": ">=8" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watch-typeahead/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "ci-info": "^3.2.0" }, - "engines": { - "node": ">=8" + "bin": { + "is-ci": "bin.js" } }, - "examples/sdk/react/node_modules/jest-watcher": { - "version": "27.5.1", - "license": "MIT", + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" + "has": "^1.0.3" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "kind-of": "^6.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "peer": true, + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/jest-worker": { - "version": "27.5.1", - "license": "MIT", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">= 10.13.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "license": "MIT", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/jiti": { - "version": "1.18.2", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/js-yaml": { - "version": "3.14.1", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/jsdom": { - "version": "16.7.0", - "license": "MIT", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "examples/sdk/react/node_modules/jsesc": { - "version": "2.5.2", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "node": ">= 0.4" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/json-schema": { - "version": "0.4.0", - "license": "(AFL-2.1 OR BSD-3-Clause)" - }, - "examples/sdk/react/node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/json5": { - "version": "2.2.3", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "node_modules/is-git-dirty": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-git-dirty/-/is-git-dirty-2.0.2.tgz", + "integrity": "sha512-U3YCo+GKR/rDsY7r0v/LBICbQwsx859tDQnAT+v0E/zCDeWbQ1TUt1FtyExeyik7VIJlYOLHCIifLdz71HDalg==", + "dev": true, + "dependencies": { + "execa": "^4.0.3", + "is-git-repository": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "examples/sdk/react/node_modules/jsonfile": { - "version": "6.1.0", - "license": "MIT", + "node_modules/is-git-dirty/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, "dependencies": { - "universalify": "^2.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "examples/sdk/react/node_modules/jsonpointer": { - "version": "5.0.1", - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "examples/sdk/react/node_modules/jsx-ast-utils": { - "version": "3.3.3", - "license": "MIT", + "node_modules/is-git-dirty/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "pump": "^3.0.0" }, "engines": { - "node": ">=4.0" - } - }, - "examples/sdk/react/node_modules/kind-of": { - "version": "6.0.3", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/kleur": { - "version": "3.0.3", - "license": "MIT", + "node_modules/is-git-dirty/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=8.12.0" } }, - "examples/sdk/react/node_modules/klona": { - "version": "2.0.6", - "license": "MIT", + "node_modules/is-git-dirty/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/language-subtag-registry": { - "version": "0.3.22", - "license": "CC0-1.0" + "node_modules/is-git-dirty/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "examples/sdk/react/node_modules/language-tags": { - "version": "1.0.5", - "license": "MIT", + "node_modules/is-git-repository": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-2.0.0.tgz", + "integrity": "sha512-HDO50CG5suIAcmqG4F1buqVXEZRPn+RaXIn9pFKq/947FBo2bCRwK7ZluEVZOy99a4IQyqsjbKEpAiOXCccOHQ==", + "dev": true, "dependencies": { - "language-subtag-registry": "~0.3.2" + "execa": "^4.0.3", + "is-absolute": "^1.0.0" } }, - "examples/sdk/react/node_modules/launch-editor": { - "version": "2.6.0", - "license": "MIT", + "node_modules/is-git-repository/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "examples/sdk/react/node_modules/leven": { - "version": "3.1.0", - "license": "MIT", + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "examples/sdk/react/node_modules/levn": { - "version": "0.4.1", - "license": "MIT", + "node_modules/is-git-repository/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "pump": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/lilconfig": { - "version": "2.1.0", - "license": "MIT", + "node_modules/is-git-repository/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8.12.0" } }, - "examples/sdk/react/node_modules/lines-and-columns": { - "version": "1.2.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/loader-runner": { - "version": "4.3.0", - "license": "MIT", + "node_modules/is-git-repository/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "engines": { - "node": ">=6.11.5" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/loader-utils": { - "version": "2.0.4", - "license": "MIT", + "node_modules/is-git-repository/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8.9.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" - }, - "examples/sdk/react/node_modules/lodash.debounce": { - "version": "4.0.8", - "license": "MIT" - }, - "examples/sdk/react/node_modules/lodash.memoize": { - "version": "4.1.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/lodash.merge": { - "version": "4.6.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/lodash.sortby": { - "version": "4.7.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/lodash.uniq": { - "version": "4.5.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "peer": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/lower-case": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/magic-string": { - "version": "0.25.9", - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true }, - "examples/sdk/react/node_modules/make-dir": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "examples/sdk/react/node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/makeerror": { - "version": "1.0.12", - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/mdn-data": { - "version": "2.0.4", - "license": "CC0-1.0" - }, - "examples/sdk/react/node_modules/media-typer": { - "version": "0.3.0", - "license": "MIT", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=0.12.0" } }, - "examples/sdk/react/node_modules/memfs": { - "version": "3.5.3", - "license": "Unlicense", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, "dependencies": { - "fs-monkey": "^1.0.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/merge-descriptors": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/merge-stream": { + "node_modules/is-obj": { "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/merge2": { - "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "examples/sdk/react/node_modules/methods": { - "version": "1.1.2", - "license": "MIT", + "node_modules/is-path-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "dev": true, "engines": { - "node": ">= 0.6" - } - }, - "examples/sdk/react/node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "engines": { - "node": ">=8.6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/mime": { - "version": "1.6.0", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "examples/sdk/react/node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "dependencies": { - "mime-db": "1.52.0" + "isobject": "^3.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, - "examples/sdk/react/node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "license": "MIT", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "dependencies": { - "schema-utils": "^4.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "is-unc-path": "^1.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "license": "MIT", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "call-bind": "^1.0.2" }, - "peerDependencies": { - "ajv": "^8.8.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" + "node_modules/is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "dev": true, + "peer": true, + "dependencies": { + "protocols": "^2.0.1" + } }, - "examples/sdk/react/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "license": "MIT", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/minimalistic-assert": { - "version": "1.0.1", - "license": "ISC" - }, - "examples/sdk/react/node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "has-symbols": "^1.0.2" }, "engines": { - "node": "*" - } - }, - "examples/sdk/react/node_modules/minimist": { - "version": "1.2.8", - "license": "MIT", + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/mkdirp": { - "version": "0.5.6", - "license": "MIT", + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, "dependencies": { - "minimist": "^1.2.6" + "text-extensions": "^1.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/multicast-dns": { - "version": "7.2.5", - "license": "MIT", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "which-typed-array": "^1.1.11" }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "examples/sdk/react/node_modules/mz": { - "version": "2.7.0", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/nanoid": { - "version": "3.3.6", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "peer": true + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/natural-compare": { - "version": "1.4.0", - "license": "MIT" + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "examples/sdk/react/node_modules/natural-compare-lite": { - "version": "1.4.0", - "license": "MIT" + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "examples/sdk/react/node_modules/neo-async": { - "version": "2.6.2", - "license": "MIT" + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "examples/sdk/react/node_modules/no-case": { - "version": "3.0.4", - "license": "MIT", + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/node-forge": { - "version": "1.3.1", - "license": "(BSD-3-Clause OR GPL-2.0)", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, "engines": { - "node": ">= 6.13.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/node-int64": { - "version": "0.4.0", - "license": "MIT" + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "examples/sdk/react/node_modules/node-releases": { - "version": "2.0.12", - "license": "MIT" + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=12" + } }, - "examples/sdk/react/node_modules/normalize-path": { - "version": "3.0.0", - "license": "MIT", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/normalize-range": { - "version": "0.1.2", - "license": "MIT", + "node_modules/issue-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", + "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "dev": true, + "peer": true, + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13" } }, - "examples/sdk/react/node_modules/normalize-url": { - "version": "6.1.0", - "license": "MIT", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", + "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "examples/sdk/react/node_modules/npm-run-path": { - "version": "4.0.1", - "license": "MIT", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, "dependencies": { - "path-key": "^3.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "examples/sdk/react/node_modules/nth-check": { - "version": "2.1.1", - "license": "BSD-2-Clause", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, "dependencies": { - "boolbase": "^1.0.0" + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/nwsapi": { - "version": "2.2.5", - "license": "MIT" + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } }, - "examples/sdk/react/node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/object-hash": { - "version": "3.0.0", - "license": "MIT", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "examples/sdk/react/node_modules/object-inspect": { - "version": "1.12.3", - "license": "MIT", + "node_modules/iterate-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", + "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", + "dev": true, + "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/object-keys": { - "version": "1.1.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "node_modules/iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "dev": true, + "peer": true, + "dependencies": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/object.assign": { - "version": "4.1.4", - "license": "MIT", + "node_modules/iterator.prototype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", + "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" + } + }, + "node_modules/jackspeak": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", + "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "examples/sdk/react/node_modules/object.entries": { - "version": "1.1.6", - "license": "MIT", + "node_modules/jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", + "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/core": "^29.6.4", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.6.4" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "examples/sdk/react/node_modules/object.fromentries": { - "version": "2.0.6", - "license": "MIT", + "node_modules/jest-changed-files": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", + "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "execa": "^5.0.0", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/object.getownpropertydescriptors": { - "version": "2.1.6", - "license": "MIT", + "node_modules/jest-circus": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", + "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", + "dev": true, "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.3", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/object.hasown": { - "version": "1.1.2", - "license": "MIT", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/object.values": { - "version": "1.1.6", - "license": "MIT", + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-cli": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", + "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/core": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "examples/sdk/react/node_modules/obuf": { - "version": "1.1.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/on-finished": { - "version": "2.4.1", - "license": "MIT", + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "dependencies": { - "ee-first": "1.1.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "examples/sdk/react/node_modules/once": { - "version": "1.4.0", - "license": "ISC", + "node_modules/jest-cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/jest-cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "wrappy": "1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "examples/sdk/react/node_modules/open": { - "version": "8.4.2", - "license": "MIT", + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "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" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/optionator": { - "version": "0.9.1", - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=12" } }, - "examples/sdk/react/node_modules/p-limit": { - "version": "3.1.0", - "license": "MIT", + "node_modules/jest-config": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", + "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", + "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-jest": "^29.6.4", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.4", + "jest-environment-node": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "examples/sdk/react/node_modules/p-locate": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/p-retry": { - "version": "4.6.2", - "license": "MIT", + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "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" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/p-try": { - "version": "2.2.0", - "license": "MIT", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/param-case": { - "version": "3.0.4", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } + "node_modules/jest-config/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "examples/sdk/react/node_modules/parent-module": { - "version": "1.0.1", - "license": "MIT", + "node_modules/jest-diff": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", + "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", + "dev": true, "dependencies": { - "callsites": "^3.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/parse-json": { + "node_modules/jest-diff/node_modules/ansi-styles": { "version": "5.2.0", - "license": "MIT", - "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" - }, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/parse5": { - "version": "6.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/parseurl": { - "version": "1.3.3", - "license": "MIT", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">= 0.8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pascal-case": { - "version": "3.1.2", - "license": "MIT", + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-docblock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", + "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", + "dev": true, "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/path-exists": { - "version": "4.0.0", - "license": "MIT", + "node_modules/jest-each": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", + "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.6.3", + "pretty-format": "^29.6.3" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/path-parse": { - "version": "1.0.7", - "license": "MIT" - }, - "examples/sdk/react/node_modules/path-to-regexp": { - "version": "0.1.7", - "license": "MIT" + "node_modules/jest-each/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "examples/sdk/react/node_modules/path-type": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "examples/sdk/react/node_modules/performance-now": { - "version": "2.1.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" - }, - "examples/sdk/react/node_modules/picomatch": { - "version": "2.3.1", - "license": "MIT", + "node_modules/jest-environment-jsdom": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", + "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3", + "jsdom": "^20.0.0" + }, "engines": { - "node": ">=8.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "examples/sdk/react/node_modules/pify": { - "version": "2.3.0", - "license": "MIT", + "node_modules/jest-environment-node": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", + "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pirates": { - "version": "4.0.6", - "license": "MIT", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pkg-dir": { - "version": "4.2.0", - "license": "MIT", + "node_modules/jest-haste-map": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", + "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", + "dev": true, "dependencies": { - "find-up": "^4.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=8" - } - }, - "examples/sdk/react/node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "examples/sdk/react/node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "license": "MIT", + "node_modules/jest-leak-detector": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", + "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "license": "MIT", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pkg-up": { - "version": "3.1.0", - "license": "MIT", + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-matcher-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", + "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", + "dev": true, "dependencies": { - "find-up": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "license": "MIT", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "license": "MIT", + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-message-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", + "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", + "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@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.6.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "license": "MIT", + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "examples/sdk/react/node_modules/postcss": { - "version": "8.4.24", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "node_modules/jest-mock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", + "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", + "dev": true, "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.6.3" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": ">=6" }, "peerDependencies": { - "postcss": "^8.2" + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "examples/sdk/react/node_modules/postcss-browser-comments": { - "version": "4.0.0", - "license": "CC0-1.0", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, "engines": { - "node": ">=8" - }, - "peerDependencies": { - "browserslist": ">=4", - "postcss": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-calc": { - "version": "8.2.4", - "license": "MIT", + "node_modules/jest-resolve": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", + "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.2.2" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-clamp": { - "version": "4.1.0", - "license": "MIT", + "node_modules/jest-resolve-dependencies": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", + "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.6.4" }, "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "license": "CC0-1.0", + "node_modules/jest-runner": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", + "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/console": "^29.6.4", + "@jest/environment": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.6.3", + "jest-environment-node": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-leak-detector": "^29.6.3", + "jest-message-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-util": "^29.6.3", + "jest-watcher": "^29.6.4", + "jest-worker": "^29.6.4", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" + "node_modules/jest-runtime": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", + "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/globals": "^29.6.4", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "license": "CC0-1.0", + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "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" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/postcss-colormin": { - "version": "5.3.1", - "license": "MIT", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-convert-values": { - "version": "5.1.3", - "license": "MIT", + "node_modules/jest-snapshot": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", + "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.3", + "semver": "^7.5.3" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-custom-media": { - "version": "8.0.2", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/postcss-custom-properties": { - "version": "12.1.11", - "license": "MIT", + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "license": "MIT", + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", + "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.4" + "@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" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "license": "CC0-1.0", + "node_modules/jest-validate": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", + "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-discard-comments": { - "version": "5.1.2", - "license": "MIT", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "license": "MIT", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-discard-empty": { - "version": "5.1.1", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-watcher": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", + "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.3", + "string-length": "^4.0.1" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "license": "CC0-1.0", + "node_modules/jest-worker": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", + "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", + "dev": true, "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@types/node": "*", + "jest-util": "^29.6.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/postcss-env-function": { - "version": "4.0.6", - "license": "CC0-1.0", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "examples/sdk/react/node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "license": "MIT", - "peerDependencies": { - "postcss": "^8.1.4" + "node_modules/jetifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-2.0.0.tgz", + "integrity": "sha512-J4Au9KuT74te+PCCCHKgAjyLlEa+2VyIAEPNCdE5aNkAJ6FAJcAqcdzEkSnzNksIa9NkGmC4tPiClk2e7tCJuQ==", + "dev": true, + "optional": true, + "bin": { + "jetifier": "bin/jetify", + "jetifier-standalone": "bin/jetifier-standalone", + "jetify": "bin/jetify" } }, - "examples/sdk/react/node_modules/postcss-focus-visible": { - "version": "6.0.4", - "license": "CC0-1.0", + "node_modules/joi": { + "version": "17.9.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", + "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, - "examples/sdk/react/node_modules/postcss-focus-within": { - "version": "5.0.4", - "license": "CC0-1.0", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" + "argparse": "^2.0.1" }, - "peerDependencies": { - "postcss": "^8.4" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "examples/sdk/react/node_modules/postcss-font-variant": { - "version": "5.0.0", - "license": "MIT", - "peerDependencies": { - "postcss": "^8.1.0" - } + "node_modules/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", + "dev": true }, - "examples/sdk/react/node_modules/postcss-gap-properties": { - "version": "3.0.5", - "license": "CC0-1.0", - "engines": { - "node": "^12 || ^14 || >=16" + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "dev": true + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "bin": { + "jscodeshift": "bin/jscodeshift.js" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/preset-env": "^7.1.6" } }, - "examples/sdk/react/node_modules/postcss-image-set-function": { - "version": "4.0.7", - "license": "CC0-1.0", + "node_modules/jscodeshift/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "examples/sdk/react/node_modules/postcss-import": { - "version": "15.1.0", - "license": "MIT", + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=14" }, "peerDependencies": { - "postcss": "^8.0.0" + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "examples/sdk/react/node_modules/postcss-initial": { - "version": "4.0.1", - "license": "MIT", - "peerDependencies": { - "postcss": "^8.0.0" + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-js": { - "version": "4.0.1", - "license": "MIT", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "peer": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "minimist": "^1.2.0" }, - "peerDependencies": { - "postcss": "^8.4.21" + "bin": { + "json5": "lib/cli.js" } }, - "examples/sdk/react/node_modules/postcss-lab-function": { - "version": "4.2.1", - "license": "CC0-1.0", + "node_modules/jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-load-config": { - "version": "4.0.1", - "license": "MIT", + "node_modules/jsonc/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.3.1", - "license": "ISC", + "node_modules/jsonc/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "engines": { - "node": ">= 14" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-loader": { - "version": "6.2.1", - "license": "MIT", + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" }, - "engines": { - "node": ">= 12.13.0" + "bin": { + "JSONStream": "bin.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": "*" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "engines": { + "node": ">=4.0" } }, - "examples/sdk/react/node_modules/postcss-logical": { - "version": "5.0.4", - "license": "CC0-1.0", + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "peer": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/postcss-media-minmax": { - "version": "5.0.0", - "license": "MIT", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "license": "MIT", + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dev": true, + "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "package-json": "^8.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=14.16" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-merge-rules": { - "version": "5.1.4", - "license": "MIT", + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "readable-stream": "^2.0.5" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.6.3" } }, - "examples/sdk/react/node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "license": "MIT", + "node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=6" } }, - "examples/sdk/react/node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "license": "MIT", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/postcss-minify-params": { - "version": "5.1.4", - "license": "MIT", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "license": "MIT", + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-modules-extract-imports": { + "node_modules/load-json-file/node_modules/pify": { "version": "3.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=6.11.5" } }, - "examples/sdk/react/node_modules/postcss-modules-scope": { - "version": "3.0.0", - "license": "ISC", + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.4" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8.9.0" } }, - "examples/sdk/react/node_modules/postcss-modules-values": { - "version": "4.0.0", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" + "node_modules/loader-utils/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/postcss-nested": { - "version": "6.0.1", - "license": "MIT", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.11" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=12.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-nesting": { - "version": "10.2.0", - "license": "CC0-1.0", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", + "dev": true, + "peer": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "dev": true, + "peer": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true, + "peer": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "dev": true, + "peer": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-normalize": { - "version": "10.0.1", - "license": "CC0-1.0", + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "dev": true, "dependencies": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - }, - "engines": { - "node": ">= 12" + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" }, - "peerDependencies": { - "browserslist": ">= 4", - "postcss": ">= 8" + "bin": { + "logkitty": "bin/logkitty.js" } }, - "examples/sdk/react/node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "examples/sdk/react/node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "license": "MIT", + "node_modules/logkitty/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "license": "MIT", + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "p-locate": "^4.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "license": "MIT", + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "p-try": "^2.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=6" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-normalize-string": { - "version": "5.1.0", - "license": "MIT", + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "p-limit": "^2.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "license": "MIT", + "node_modules/logkitty/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "license": "MIT", + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-normalize-url": { - "version": "5.1.0", - "license": "MIT", + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "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" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "license": "MIT", + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "examples/sdk/react/node_modules/postcss-opacity-percentage": { - "version": "1.1.3", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "license": "MIT", "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=6" } }, - "examples/sdk/react/node_modules/postcss-ordered-values": { - "version": "5.1.3", - "license": "MIT", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "bin": { + "loose-envify": "cli.js" } }, - "examples/sdk/react/node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "license": "CC0-1.0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true, + "peer": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "examples/sdk/react/node_modules/postcss-page-break": { - "version": "3.0.4", - "license": "MIT", - "peerDependencies": { - "postcss": "^8" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-place": { - "version": "7.0.5", - "license": "CC0-1.0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "14 || >=16.14" } }, - "examples/sdk/react/node_modules/postcss-preset-env": { - "version": "7.8.3", - "license": "CC0-1.0", - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" } }, - "examples/sdk/react/node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "license": "CC0-1.0", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, + "node_modules/macos-release": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.2.0.tgz", + "integrity": "sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==", + "dev": true, + "peer": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-reduce-initial": { - "version": "5.1.2", - "license": "MIT", + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" + "pify": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "examples/sdk/react/node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "license": "MIT", - "peerDependencies": { - "postcss": "^8.0.3" - } + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, - "examples/sdk/react/node_modules/postcss-selector-not": { - "version": "6.0.1", - "license": "MIT", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-selector-parser": { - "version": "6.0.13", - "license": "MIT", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "object-visit": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/postcss-svgo": { - "version": "5.1.0", - "license": "MIT", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "examples/sdk/react/node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "license": "MIT", - "engines": { - "node": ">= 10" - } + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "dev": true }, - "examples/sdk/react/node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "license": "MIT", + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "examples/sdk/react/node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "license": "CC0-1.0" + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "examples/sdk/react/node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "examples/sdk/react/node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "license": "MIT", + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "safe-buffer": "~5.1.0" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "license": "MIT", + "node_modules/meow/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/postcss-value-parser": { - "version": "4.2.0", - "license": "MIT" + "node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, - "examples/sdk/react/node_modules/prelude-ls": { - "version": "1.2.1", - "license": "MIT", + "node_modules/meow/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/pretty-bytes": { - "version": "5.6.0", - "license": "MIT", + "node_modules/meow/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { "node": ">=6" }, @@ -13671,1914 +15758,2273 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/pretty-error": { - "version": "4.0.0", - "license": "MIT", + "node_modules/meow/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/pretty-format": { - "version": "27.5.1", - "license": "MIT", + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "license": "MIT", + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/process-nextick-args": { - "version": "2.0.1", - "license": "MIT" + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "examples/sdk/react/node_modules/promise": { - "version": "8.3.0", - "license": "MIT", + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "dependencies": { - "asap": "~2.0.6" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "examples/sdk/react/node_modules/prompts": { - "version": "2.4.2", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "examples/sdk/react/node_modules/prop-types": { - "version": "15.8.1", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "node_modules/meow/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" } }, - "examples/sdk/react/node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "examples/sdk/react/node_modules/proxy-addr": { - "version": "2.0.7", - "license": "MIT", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/metro": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", + "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", + "dev": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" }, "engines": { - "node": ">= 0.10" + "node": ">=16" } }, - "examples/sdk/react/node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "license": "MIT", + "node_modules/metro-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", + "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">= 0.10" + "node": ">=16" } }, - "examples/sdk/react/node_modules/psl": { - "version": "1.9.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/punycode": { - "version": "2.3.0", - "license": "MIT", + "node_modules/metro-cache": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", + "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "dev": true, + "dependencies": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=6" + "node": ">=16" } }, - "examples/sdk/react/node_modules/q": { - "version": "1.5.1", - "license": "MIT", + "node_modules/metro-cache-key": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", + "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", + "dev": true, "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=16" } }, - "examples/sdk/react/node_modules/qs": { - "version": "6.11.0", - "license": "BSD-3-Clause", + "node_modules/metro-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "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" }, "engines": { - "node": ">=0.6" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/querystringify": { - "version": "2.2.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/queue-microtask": { - "version": "1.2.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "examples/sdk/react/node_modules/raf": { - "version": "3.4.1", - "license": "MIT", + "node_modules/metro-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "dependencies": { - "performance-now": "^2.1.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/randombytes": { - "version": "2.1.0", - "license": "MIT", + "node_modules/metro-config": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", + "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "examples/sdk/react/node_modules/range-parser": { - "version": "1.2.1", - "license": "MIT", + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" + }, "engines": { - "node": ">= 0.6" + "node": ">=16" } }, - "examples/sdk/react/node_modules/raw-body": { - "version": "2.5.1", - "license": "MIT", + "node_modules/metro-config/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">= 0.8" - } - }, - "examples/sdk/react/node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "license": "MIT", - "engines": { - "node": ">= 0.8" + "node": ">=16" } }, - "examples/sdk/react/node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "license": "MIT", + "node_modules/metro-core": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", + "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "examples/sdk/react/node_modules/react": { - "version": "18.2.0", - "license": "MIT", + "node_modules/metro-file-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", + "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0" + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "examples/sdk/react/node_modules/react-app-polyfill": { - "version": "3.0.0", - "license": "MIT", + "node_modules/metro-file-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, "dependencies": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "examples/sdk/react/node_modules/react-dev-utils": { - "version": "12.0.1", - "license": "MIT", + "node_modules/metro-file-map/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" + "@types/yargs-parser": "*" } }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, + "ms": "2.0.0" + } + }, + "node_modules/metro-file-map/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/metro-file-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/metro-file-map/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 10.13.0" } }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", + "node_modules/metro-file-map/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "license": "MIT", + "node_modules/metro-inspector-proxy": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", + "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", + "dev": true, + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + }, "engines": { - "node": ">= 12.13.0" + "node": ">=16" } }, - "examples/sdk/react/node_modules/react-dev-utils/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/metro-inspector-proxy/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "examples/sdk/react/node_modules/react-dom": { - "version": "18.2.0", - "license": "MIT", + "node_modules/metro-inspector-proxy/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" + "ms": "2.0.0" } }, - "examples/sdk/react/node_modules/react-error-overlay": { - "version": "6.0.11", - "license": "MIT" + "node_modules/metro-inspector-proxy/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "examples/sdk/react/node_modules/react-is": { - "version": "17.0.2", - "license": "MIT" + "node_modules/metro-inspector-proxy/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "examples/sdk/react/node_modules/react-refresh": { - "version": "0.11.0", - "license": "MIT", + "node_modules/metro-inspector-proxy/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/react-scripts": { - "version": "5.0.1", - "license": "MIT", + "node_modules/metro-inspector-proxy/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" }, "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "typescript": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "examples/sdk/react/node_modules/react-toastify": { - "version": "9.1.3", - "license": "MIT", + "node_modules/metro-inspector-proxy/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, "dependencies": { - "clsx": "^1.1.1" + "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" }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" + "engines": { + "node": ">=12" } }, - "examples/sdk/react/node_modules/read-cache": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" + "node_modules/metro-inspector-proxy/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" } }, - "examples/sdk/react/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/metro-minify-terser": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", + "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "terser": "^5.15.0" }, "engines": { - "node": ">= 6" + "node": ">=16" } }, - "examples/sdk/react/node_modules/readdirp": { - "version": "3.6.0", - "license": "MIT", + "node_modules/metro-minify-uglify": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", + "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", + "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "uglify-es": "^3.1.9" }, "engines": { - "node": ">=8.10.0" + "node": ">=16" } }, - "examples/sdk/react/node_modules/recursive-readdir": { - "version": "2.2.3", - "license": "MIT", + "node_modules/metro-react-native-babel-preset": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", + "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "dev": true, "dependencies": { - "minimatch": "^3.0.5" + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" } }, - "examples/sdk/react/node_modules/regenerate": { - "version": "1.4.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "license": "MIT", + "node_modules/metro-react-native-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", + "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "dev": true, "dependencies": { - "regenerate": "^1.4.2" + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=4" + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" } }, - "examples/sdk/react/node_modules/regenerator-runtime": { - "version": "0.13.11", - "license": "MIT" - }, - "examples/sdk/react/node_modules/regenerator-transform": { - "version": "0.15.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" + "node_modules/metro-resolver": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", + "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", + "dev": true, + "engines": { + "node": ">=16" } }, - "examples/sdk/react/node_modules/regex-parser": { - "version": "2.2.11", - "license": "MIT" - }, - "examples/sdk/react/node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "license": "MIT", + "node_modules/metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16" } }, - "examples/sdk/react/node_modules/regexpu-core": { - "version": "5.3.2", - "license": "MIT", + "node_modules/metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "dev": true, "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" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=16" } }, - "examples/sdk/react/node_modules/regjsparser": { - "version": "0.9.1", - "license": "BSD-2-Clause", + "node_modules/metro-source-map/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/metro-source-map/node_modules/metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "dev": true, "dependencies": { - "jsesc": "~0.5.0" + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" }, "bin": { - "regjsparser": "bin/parser" + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" } }, - "examples/sdk/react/node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "bin": { - "jsesc": "bin/jsesc" + "node_modules/metro-source-map/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "examples/sdk/react/node_modules/relateurl": { - "version": "0.2.7", - "license": "MIT", + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/renderkid": { - "version": "3.0.0", - "license": "MIT", + "node_modules/metro-source-map/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/require-directory": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/metro-source-map/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "examples/sdk/react/node_modules/requires-port": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/resolve": { - "version": "1.22.2", - "license": "MIT", + "node_modules/metro-symbolicate": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", + "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", + "dev": true, "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" }, "bin": { - "resolve": "bin/resolve" + "metro-symbolicate": "src/index.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16" } }, - "examples/sdk/react/node_modules/resolve-cwd": { - "version": "3.0.0", - "license": "MIT", + "node_modules/metro-symbolicate/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/metro-symbolicate/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dev": true, "dependencies": { - "resolve-from": "^5.0.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "examples/sdk/react/node_modules/resolve-from": { - "version": "5.0.0", - "license": "MIT", + "node_modules/metro-symbolicate/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=16" } }, - "examples/sdk/react/node_modules/resolve-url-loader": { - "version": "4.0.0", - "license": "MIT", + "node_modules/metro-symbolicate/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" - }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "license": "ISC" + "node_modules/metro-symbolicate/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "examples/sdk/react/node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "license": "MIT", + "node_modules/metro-symbolicate/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", + "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=16" } }, - "examples/sdk/react/node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/metro-transform-worker": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", + "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "examples/sdk/react/node_modules/resolve.exports": { - "version": "1.1.1", - "license": "MIT", + "node_modules/metro-transform-worker/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "examples/sdk/react/node_modules/retry": { - "version": "0.13.1", - "license": "MIT", + "node_modules/metro-transform-worker/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "dev": true, "engines": { - "node": ">= 4" + "node": ">=16" } }, - "examples/sdk/react/node_modules/reusify": { - "version": "1.0.4", - "license": "MIT", + "node_modules/metro-transform-worker/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, "engines": { - "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true }, - "examples/sdk/react/node_modules/rollup": { - "version": "2.79.1", - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" + "node_modules/metro/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=12" } }, - "examples/sdk/react/node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "license": "MIT", + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" + "ms": "2.0.0" } }, - "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/metro/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/metro/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" + }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "license": "MIT", + "node_modules/metro/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "supports-color": "^8.0.0" }, "engines": { "node": ">= 10.13.0" } }, - "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { - "version": "4.0.0", - "license": "BSD-3-Clause", + "node_modules/metro/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" } }, - "examples/sdk/react/node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/metro/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "examples/sdk/react/node_modules/run-parallel": { - "version": "1.2.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "dev": true, + "engines": { + "node": ">=16" } }, - "examples/sdk/react/node_modules/safe-array-concat": { - "version": "1.0.0", - "license": "MIT", + "node_modules/metro/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "glob": "^7.1.3" }, - "engines": { - "node": ">=0.4" + "bin": { + "rimraf": "bin.js" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "examples/sdk/react/node_modules/safe-regex-test": { - "version": "1.0.0", - "license": "MIT", + "node_modules/metro/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/sanitize.css": { - "version": "13.0.0", - "license": "CC0-1.0" + "node_modules/metro/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "examples/sdk/react/node_modules/sass-loader": { - "version": "12.6.0", - "license": "MIT", + "node_modules/metro/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/metro/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" }, "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { + "bufferutil": { "optional": true }, - "sass-embedded": { + "utf-8-validate": { "optional": true } } }, - "examples/sdk/react/node_modules/sax": { - "version": "1.2.4", - "license": "ISC" - }, - "examples/sdk/react/node_modules/saxes": { - "version": "5.0.1", - "license": "ISC", + "node_modules/metro/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, "dependencies": { - "xmlchars": "^2.2.0" + "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" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "examples/sdk/react/node_modules/scheduler": { - "version": "0.23.0", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" + "node_modules/metro/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" } }, - "examples/sdk/react/node_modules/schema-utils": { - "version": "3.3.0", - "license": "MIT", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=8.6" } }, - "examples/sdk/react/node_modules/select-hose": { - "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/selfsigned": { - "version": "2.1.1", - "license": "MIT", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "dependencies": { - "node-forge": "^1" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "engines": { - "node": ">=10" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "examples/sdk/react/node_modules/semver": { - "version": "7.5.3", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, "bin": { - "semver": "bin/semver.js" + "mime": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=4.0.0" } }, - "examples/sdk/react/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "examples/sdk/react/node_modules/send": { - "version": "0.18.0", - "license": "MIT", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "mime-db": "1.52.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/send/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/send/node_modules/ms": { - "version": "2.1.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/serialize-javascript": { - "version": "6.0.1", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/serve-index": { - "version": "1.9.1", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "examples/sdk/react/node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, - "examples/sdk/react/node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true }, - "examples/sdk/react/node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "license": "MIT", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "examples/sdk/react/node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "license": "ISC" + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "examples/sdk/react/node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "license": "ISC" - }, - "examples/sdk/react/node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "examples/sdk/react/node_modules/serve-static": { - "version": "1.15.0", - "license": "MIT", + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/setprototypeof": { - "version": "1.2.0", - "license": "ISC" - }, - "examples/sdk/react/node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, + "node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "examples/sdk/react/node_modules/shebang-regex": { + "node_modules/mississippi": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "examples/sdk/react/node_modules/shell-quote": { - "version": "1.8.1", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/mississippi/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "examples/sdk/react/node_modules/side-channel": { - "version": "1.0.4", - "license": "MIT", + "node_modules/mississippi/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/mississippi/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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" } }, - "examples/sdk/react/node_modules/signal-exit": { - "version": "3.0.7", - "license": "ISC" + "node_modules/mississippi/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "examples/sdk/react/node_modules/sisteransi": { - "version": "1.0.5", - "license": "MIT" + "node_modules/mississippi/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } }, - "examples/sdk/react/node_modules/slash": { - "version": "3.0.0", - "license": "MIT", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/sockjs": { - "version": "0.3.24", - "license": "MIT", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "examples/sdk/react/node_modules/source-list-map": { - "version": "2.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/source-map": { - "version": "0.7.4", - "license": "BSD-3-Clause", + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/source-map-js": { - "version": "1.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "examples/sdk/react/node_modules/source-map-loader": { - "version": "3.0.2", - "license": "MIT", + "node_modules/move-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" + "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" }, "engines": { - "node": ">= 12.13.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "examples/sdk/react/node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "examples/sdk/react/node_modules/sourcemap-codec": { - "version": "1.4.8", - "license": "MIT" + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true }, - "examples/sdk/react/node_modules/spdy": { - "version": "4.0.2", - "license": "MIT", + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/spdy-transport": { - "version": "3.0.0", - "license": "MIT", + "node_modules/native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "hasInstallScript": true, "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "node-gyp-build": "4" } }, - "examples/sdk/react/node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause" + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, - "examples/sdk/react/node_modules/stable": { - "version": "0.1.8", - "license": "MIT" + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true }, - "examples/sdk/react/node_modules/stack-utils": { - "version": "2.0.6", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "license": "MIT", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "examples/sdk/react/node_modules/stackframe": { - "version": "1.3.4", - "license": "MIT" + "node_modules/new-github-release-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", + "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-fest": "^2.5.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "examples/sdk/react/node_modules/statuses": { - "version": "2.0.1", - "license": "MIT", + "node_modules/new-github-release-url/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/string_decoder": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "dev": true, + "engines": { + "node": ">=12.0.0" } }, - "examples/sdk/react/node_modules/string-length": { - "version": "4.0.2", - "license": "MIT", + "node_modules/nock": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", + "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", + "dev": true, "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.13" } }, - "examples/sdk/react/node_modules/string-natural-compare": { - "version": "3.0.1", - "license": "MIT" + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true }, - "examples/sdk/react/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "minimatch": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.10.5" } }, - "examples/sdk/react/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/string.prototype.matchall": { - "version": "4.0.8", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "peer": true, + "engines": { + "node": ">=10.5.0" } }, - "examples/sdk/react/node_modules/string.prototype.trim": { - "version": "1.2.7", - "license": "MIT", + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": "4.x || >=6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "examples/sdk/react/node_modules/string.prototype.trimend": { - "version": "1.0.6", - "license": "MIT", + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "examples/sdk/react/node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "license": "MIT", + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "examples/sdk/react/node_modules/stringify-object": { - "version": "3.3.0", - "license": "BSD-2-Clause", + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "examples/sdk/react/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "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" } }, - "examples/sdk/react/node_modules/strip-bom": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/strip-comments": { - "version": "2.0.1", - "license": "MIT", + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" } }, - "examples/sdk/react/node_modules/strip-final-newline": { - "version": "2.0.0", - "license": "MIT", + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "examples/sdk/react/node_modules/strip-json-comments": { - "version": "3.1.1", - "license": "MIT", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/style-loader": { - "version": "3.3.3", - "license": "MIT", + "node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "dev": true, + "peer": true, "engines": { - "node": ">= 12.13.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/stylehacks": { - "version": "5.1.1", - "license": "MIT", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" + "path-key": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "examples/sdk/react/node_modules/sucrase": { - "version": "3.32.0", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=16" } }, - "examples/sdk/react/node_modules/sucrase/node_modules/commander": { + "node_modules/object-assign": { "version": "4.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "license": "ISC", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/supports-color": { - "version": "5.5.0", - "license": "MIT", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/supports-hyperlinks": { - "version": "2.3.0", - "license": "MIT", + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "license": "MIT", + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/svg-parser": { - "version": "2.0.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/svgo": { - "version": "1.3.2", - "license": "MIT", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4.0.0" - } - }, - "examples/sdk/react/node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "examples/sdk/react/node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "examples/sdk/react/node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "examples/sdk/react/node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "license": "BSD-2-Clause" - }, - "examples/sdk/react/node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "~1.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/symbol-tree": { - "version": "3.2.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/tailwindcss": { - "version": "3.3.2", - "license": "MIT", + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/tapable": { - "version": "2.2.1", - "license": "MIT", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "examples/sdk/react/node_modules/temp-dir": { - "version": "2.0.0", - "license": "MIT", + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/tempy": { - "version": "0.6.0", - "license": "MIT", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.4" } }, - "examples/sdk/react/node_modules/terminal-link": { - "version": "2.1.1", - "license": "MIT", + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/terser": { - "version": "5.18.2", - "license": "BSD-2-Clause", + "node_modules/object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" } }, - "examples/sdk/react/node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "license": "MIT", + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "examples/sdk/react/node_modules/test-exclude": { - "version": "6.0.0", - "license": "ISC", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "isobject": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/text-table": { - "version": "0.2.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/thenify": { - "version": "3.3.1", - "license": "MIT", + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, "dependencies": { - "any-promise": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/thenify-all": { - "version": "1.6.0", - "license": "MIT", + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, "dependencies": { - "thenify": ">= 3.1.0 < 4" + "ee-first": "1.1.1" }, "engines": { - "node": ">=0.8" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/throat": { - "version": "6.0.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/thunky": { - "version": "1.1.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/tmpl": { - "version": "1.0.5", - "license": "BSD-3-Clause" - }, - "examples/sdk/react/node_modules/to-fast-properties": { - "version": "2.0.0", - "license": "MIT", + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/to-regex-range": { - "version": "5.0.1", - "license": "MIT", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "examples/sdk/react/node_modules/toidentifier": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.6" + "wrappy": "1" } }, - "examples/sdk/react/node_modules/tough-cookie": { - "version": "4.1.3", - "license": "BSD-3-Clause", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "mimic-fn": "^2.1.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "examples/sdk/react/node_modules/tr46": { - "version": "2.1.0", - "license": "MIT", + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, "dependencies": { - "punycode": "^2.1.1" + "is-wsl": "^1.1.0" }, "engines": { "node": ">=8" } }, - "examples/sdk/react/node_modules/tryer": { - "version": "1.0.1", - "license": "MIT" - }, - "examples/sdk/react/node_modules/ts-interface-checker": { - "version": "0.1.13", - "license": "Apache-2.0" - }, - "examples/sdk/react/node_modules/tsconfig-paths": { - "version": "3.14.2", - "license": "MIT", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "@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" + }, + "engines": { + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "license": "MIT", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, "dependencies": { - "minimist": "^1.2.0" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, - "bin": { - "json5": "lib/cli.js" - } - }, - "examples/sdk/react/node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/tslib": { - "version": "2.6.0", - "license": "0BSD" + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true }, - "examples/sdk/react/node_modules/tsutils": { - "version": "3.21.0", - "license": "MIT", + "node_modules/os-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-5.1.0.tgz", + "integrity": "sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==", + "dev": true, + "peer": true, "dependencies": { - "tslib": "^1.8.1" + "macos-release": "^3.1.0", + "windows-release": "^5.0.1" }, "engines": { - "node": ">= 6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "examples/sdk/react/node_modules/type-check": { - "version": "0.4.0", - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "peer": true, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/type-detect": { - "version": "4.0.8", - "license": "MIT", + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "peer": true, "engines": { - "node": ">=4" + "node": ">=12.20" } }, - "examples/sdk/react/node_modules/type-fest": { - "version": "0.21.3", - "license": "(MIT OR CC0-1.0)", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { "node": ">=10" }, @@ -15586,653 +18032,639 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/type-is": { - "version": "1.6.18", - "license": "MIT", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 0.6" - } - }, - "examples/sdk/react/node_modules/typed-array-length": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "license": "MIT", + "node_modules/p-map": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", + "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "dev": true, "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "examples/sdk/react/node_modules/typescript": { - "version": "4.9.5", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "aggregate-error": "^4.0.0" }, "engines": { - "node": ">=4.2.0" - } - }, - "examples/sdk/react/node_modules/unbox-primitive": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "license": "MIT", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "examples/sdk/react/node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "license": "MIT", + "node_modules/pac-proxy-agent": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.4.tgz", + "integrity": "sha512-FbJYeusBOZNe6bmrC2/+r/HljwExryon16lNKEU82gWiwIPMCEktUPSEAcTkO9K3jd/YPGuX/azZel1ltmo6nQ==", + "dev": true, + "peer": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "pac-resolver": "^6.0.1", + "socks-proxy-agent": "^8.0.1" }, "engines": { - "node": ">=4" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "license": "MIT", + "node_modules/pac-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^4.3.4" + }, "engines": { - "node": ">=4" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "license": "MIT", + "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "peer": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">=4" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/unique-string": { - "version": "2.0.0", - "license": "MIT", + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "dev": true, + "peer": true, "dependencies": { - "crypto-random-string": "^2.0.0" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/universalify": { - "version": "2.0.0", - "license": "MIT", + "node_modules/pac-resolver": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-6.0.2.tgz", + "integrity": "sha512-EQpuJ2ifOjpZY5sg1Q1ZeAxvtLwR7Mj3RgY8cysPGbsRu3RBXyJFWxnMus9PScjxya/0LzvVDxNh/gl0eXBU4w==", + "dev": true, + "peer": true, + "dependencies": { + "degenerator": "^4.0.4", + "ip": "^1.1.8", + "netmask": "^2.0.2" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/unpipe": { - "version": "1.0.0", - "license": "MIT", + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "dev": true, + "peer": true, + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, "engines": { - "node": ">= 0.8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/unquote": { - "version": "1.1.1", - "license": "MIT" + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, - "examples/sdk/react/node_modules/upath": { + "node_modules/parallel-transform": { "version": "1.2.0", - "license": "MIT", - "engines": { - "node": ">=4", - "yarn": "*" + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "examples/sdk/react/node_modules/update-browserslist-db": { - "version": "1.0.11", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "examples/sdk/react/node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "punycode": "^2.1.0" + "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" } }, - "examples/sdk/react/node_modules/url-parse": { - "version": "1.5.10", - "license": "MIT", + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "safe-buffer": "~5.1.0" } }, - "examples/sdk/react/node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/util.promisify": { + "node_modules/parent-module": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "callsites": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "examples/sdk/react/node_modules/utila": { - "version": "0.4.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/utils-merge": { - "version": "1.0.1", - "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">=6" } }, - "examples/sdk/react/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "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" } }, - "examples/sdk/react/node_modules/v8-to-istanbul": { - "version": "8.1.1", - "license": "ISC", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=10.12.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/w3c-hr-time": { - "version": "1.0.2", - "license": "MIT", + "node_modules/parse-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "dev": true, + "peer": true, "dependencies": { - "browser-process-hrtime": "^1.0.0" + "protocols": "^2.0.0" } }, - "examples/sdk/react/node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "license": "MIT", + "node_modules/parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "dev": true, + "peer": true, "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" + "parse-path": "^7.0.0" } }, - "examples/sdk/react/node_modules/walker": { - "version": "1.0.8", - "license": "Apache-2.0", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, "dependencies": { - "makeerror": "1.0.12" + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "examples/sdk/react/node_modules/watchpack": { - "version": "2.4.0", - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, "engines": { - "node": ">=10.13.0" + "node": ">= 0.8" } }, - "examples/sdk/react/node_modules/wbuf": { - "version": "1.7.3", - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/web-vitals": { - "version": "2.1.4", - "license": "Apache-2.0" + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true }, - "examples/sdk/react/node_modules/webidl-conversions": { - "version": "6.1.0", - "license": "BSD-2-Clause", + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, "engines": { - "node": ">=10.4" + "node": ">=8" } }, - "examples/sdk/react/node_modules/webpack": { - "version": "5.88.0", - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "license": "MIT", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "license": "MIT", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=0.12" } }, - "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picocolors": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, - "examples/sdk/react/node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { - "node": ">= 12.13.0" + "node": ">=8.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "examples/sdk/react/node_modules/webpack-dev-server": { - "version": "4.15.1", - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "license": "MIT", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "pinkie": "^2.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } }, - "examples/sdk/react/node_modules/webpack-dev-server/node_modules/schema-utils": { + "node_modules/pkg-dir": { "version": "4.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "find-up": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=8" } }, - "examples/sdk/react/node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.13.0", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "examples/sdk/react/node_modules/webpack-manifest-plugin": { - "version": "4.1.1", - "license": "MIT", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "webpack": "^4.44.2 || ^5.47.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/webpack-manifest-plugin/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { - "version": "2.3.1", - "license": "MIT", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/webpack-sources": { - "version": "3.2.3", - "license": "MIT", + "node_modules/pod-install": { + "version": "0.1.38", + "resolved": "https://registry.npmjs.org/pod-install/-/pod-install-0.1.38.tgz", + "integrity": "sha512-NeDWGigjJRriOIKBOvpW2/tK2tYLfyUT7ia6C6L+oarCAhBNP+IGODWdU+GEAqvfsseqOApcFclpXAJTL0UPzA==", + "dev": true, + "bin": { + "pod-install": "build/index.js" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", + "node_modules/postcss": { + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12 || >=14" } }, - "examples/sdk/react/node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, "engines": { - "node": ">=4.0" + "node": ">= 0.8.0" } }, - "examples/sdk/react/node_modules/websocket-driver": { - "version": "0.7.4", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=0.8.0" - } - }, - "examples/sdk/react/node_modules/websocket-extensions": { - "version": "0.1.4", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "examples/sdk/react/node_modules/whatwg-encoding": { - "version": "1.0.5", - "license": "MIT", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, "dependencies": { - "iconv-lite": "0.4.24" + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "examples/sdk/react/node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.4.24", - "license": "MIT", + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "examples/sdk/react/node_modules/whatwg-fetch": { - "version": "3.6.2", - "license": "MIT" - }, - "examples/sdk/react/node_modules/whatwg-mimetype": { - "version": "2.3.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/whatwg-url": { - "version": "8.7.0", - "license": "MIT", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "examples/sdk/react/node_modules/which": { - "version": "2.0.2", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">= 0.6.0" } }, - "examples/sdk/react/node_modules/which-boxed-primitive": { - "version": "1.0.2", - "license": "MIT", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dev": true, "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "asap": "~2.0.6" } }, - "examples/sdk/react/node_modules/which-typed-array": { - "version": "1.1.9", - "license": "MIT", + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise.allsettled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.6.tgz", + "integrity": "sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==", + "dev": true, + "peer": true, "dependencies": { - "available-typed-arrays": "^1.0.5", + "array.prototype.map": "^1.0.5", "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "iterate-value": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16241,339 +18673,397 @@ "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/word-wrap": { - "version": "1.2.3", - "license": "MIT", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "examples/sdk/react/node_modules/workbox-background-sync": { - "version": "6.6.0", - "license": "MIT", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "examples/sdk/react/node_modules/workbox-broadcast-update": { - "version": "6.6.0", - "license": "MIT", - "dependencies": { - "workbox-core": "6.6.0" - } + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true }, - "examples/sdk/react/node_modules/workbox-build": { - "version": "6.6.0", - "license": "MIT", - "dependencies": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" - }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">= 8" } }, - "examples/sdk/react/node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "license": "MIT", + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "peer": true + }, + "node_modules/protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true, + "peer": true + }, + "node_modules/proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.2.1.tgz", + "integrity": "sha512-OIbBKlRAT+ycCm6wAYIzMwPejzRtjy8F3QiDX0eKOA3e4pe3U9F/IvzcHP42bmgQxVv97juG+J8/gx+JIeCX/Q==", + "dev": true, + "peer": true, "dependencies": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^6.0.3", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.1" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", + "node_modules/proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "peer": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "debug": "^4.3.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 14" } }, - "examples/sdk/react/node_modules/workbox-build/node_modules/fs-extra": { - "version": "9.1.0", - "license": "MIT", + "node_modules/proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "peer": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=10" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/workbox-build/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "examples/sdk/react/node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "license": "BSD-3-Clause", + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "dev": true, + "peer": true, "dependencies": { - "whatwg-url": "^7.0.0" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">= 8" + "node": ">= 14" } }, - "examples/sdk/react/node_modules/workbox-build/node_modules/tr46": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "punycode": "^2.1.0" + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=12" } }, - "examples/sdk/react/node_modules/workbox-build/node_modules/webidl-conversions": { - "version": "4.0.2", - "license": "BSD-2-Clause" + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "peer": true }, - "examples/sdk/react/node_modules/workbox-build/node_modules/whatwg-url": { - "version": "7.1.0", - "license": "MIT", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true }, - "examples/sdk/react/node_modules/workbox-cacheable-response": { - "version": "6.6.0", - "license": "MIT", + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, "dependencies": { - "workbox-core": "6.6.0" + "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" } }, - "examples/sdk/react/node_modules/workbox-core": { - "version": "6.6.0", - "license": "MIT" + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "examples/sdk/react/node_modules/workbox-expiration": { - "version": "6.6.0", - "license": "MIT", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "examples/sdk/react/node_modules/workbox-google-analytics": { - "version": "6.6.0", - "license": "MIT", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, "dependencies": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "examples/sdk/react/node_modules/workbox-navigation-preload": { - "version": "6.6.0", - "license": "MIT", + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, "dependencies": { - "workbox-core": "6.6.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "examples/sdk/react/node_modules/workbox-precaching": { - "version": "6.6.0", - "license": "MIT", - "dependencies": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" } }, - "examples/sdk/react/node_modules/workbox-range-requests": { - "version": "6.6.0", - "license": "MIT", + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "dev": true, + "peer": true, "dependencies": { - "workbox-core": "6.6.0" + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "examples/sdk/react/node_modules/workbox-recipes": { - "version": "6.6.0", - "license": "MIT", - "dependencies": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] }, - "examples/sdk/react/node_modules/workbox-routing": { - "version": "6.6.0", - "license": "MIT", - "dependencies": { - "workbox-core": "6.6.0" + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "examples/sdk/react/node_modules/workbox-strategies": { - "version": "6.6.0", - "license": "MIT", + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, "dependencies": { - "workbox-core": "6.6.0" + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "examples/sdk/react/node_modules/workbox-streams": { - "version": "6.6.0", - "license": "MIT", - "dependencies": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" } }, - "examples/sdk/react/node_modules/workbox-sw": { - "version": "6.6.0", - "license": "MIT" + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, - "examples/sdk/react/node_modules/workbox-webpack-plugin": { - "version": "6.6.0", - "license": "MIT", + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dev": true, "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" + "inherits": "~2.0.3" } }, - "examples/sdk/react/node_modules/workbox-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "examples/sdk/react/node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "license": "MIT", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "safe-buffer": "^5.1.0" } }, - "examples/sdk/react/node_modules/workbox-window": { - "version": "6.6.0", - "license": "MIT", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "examples/sdk/react/node_modules/wrap-ansi": { - "version": "7.0.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 0.6" } }, - "examples/sdk/react/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "peer": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "bin": { + "rc": "cli.js" } }, - "examples/sdk/react/node_modules/wrap-ansi/node_modules/color-convert": { + "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "color-name": "~1.1.4" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "examples/sdk/react/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "examples/sdk/react/node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "examples/sdk/react/node_modules/write-file-atomic": { - "version": "3.0.3", - "license": "ISC", + "node_modules/react-devtools-core": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", + "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "shell-quote": "^1.6.1", + "ws": "^7" } }, - "examples/sdk/react/node_modules/ws": { + "node_modules/react-devtools-core/node_modules/ws": { "version": "7.5.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, "engines": { "node": ">=8.3.0" }, @@ -16590,152 +19080,266 @@ } } }, - "examples/sdk/react/node_modules/xml-name-validator": { - "version": "3.0.0", - "license": "Apache-2.0" + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } }, - "examples/sdk/react/node_modules/xmlchars": { - "version": "2.2.0", - "license": "MIT" + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, - "examples/sdk/react/node_modules/y18n": { - "version": "5.0.8", - "license": "ISC", + "node_modules/react-native": { + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", + "dev": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, "engines": { - "node": ">=10" + "node": ">=16" + }, + "peerDependencies": { + "react": "18.2.0" } }, - "examples/sdk/react/node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" - }, - "examples/sdk/react/node_modules/yaml": { - "version": "1.10.2", - "license": "ISC", + "node_modules/react-native-builder-bob": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/react-native-builder-bob/-/react-native-builder-bob-0.21.3.tgz", + "integrity": "sha512-ZlEXWzgIRfRvQEDEYnoTeJ2og5zDbORB0BMGzpE34TxO22+DZeXH4yFYUtZLrUxvUi5WVo/1V2sVjjnUNZL85Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.18.5", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/preset-env": "^7.18.2", + "@babel/preset-flow": "^7.17.12", + "@babel/preset-react": "^7.17.12", + "@babel/preset-typescript": "^7.17.12", + "browserslist": "^4.20.4", + "cosmiconfig": "^7.0.1", + "cross-spawn": "^7.0.3", + "dedent": "^0.7.0", + "del": "^6.1.1", + "fs-extra": "^10.1.0", + "glob": "^8.0.3", + "is-git-dirty": "^2.0.1", + "json5": "^2.2.1", + "kleur": "^4.1.4", + "prompts": "^2.4.2", + "which": "^2.0.2", + "yargs": "^17.5.1" + }, + "bin": { + "bob": "bin/bob" + }, "engines": { - "node": ">= 6" + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "jetifier": "^2.0.0" } }, - "examples/sdk/react/node_modules/yargs": { - "version": "16.2.0", - "license": "MIT", + "node_modules/react-native-builder-bob/node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, "dependencies": { - "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" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "examples/sdk/react/node_modules/yargs-parser": { - "version": "20.2.9", - "license": "ISC", - "engines": { - "node": ">=10" + "node_modules/react-native-builder-bob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, - "examples/sdk/react/node_modules/yocto-queue": { - "version": "0.1.0", - "license": "MIT", + "node_modules/react-native-builder-bob/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/@75lb/deep-merge": { - "version": "1.1.1", - "license": "MIT", + "node_modules/react-native-builder-bob/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "dependencies": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=12.17" - } - }, - "node_modules/@75lb/deep-merge/node_modules/typical": { - "version": "7.1.1", - "license": "MIT", - "engines": { - "node": ">=12.17" + "node": ">=12" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", + "node_modules/react-native-builder-bob/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@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" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" } }, - "node_modules/@babel/code-frame": { - "version": "7.21.4", + "node_modules/react-native-builder-bob/node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/react-native-builder-bob/node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.0", + "node_modules/react-native-builder-bob/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/react-native-builder-bob/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, - "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.22.1", + "node_modules/react-native-builder-bob/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helpers": "^7.22.0", - "@babel/parser": "^7.22.0", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/react-native-builder-bob/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native-builder-bob/node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=6" + } }, - "node_modules/@babel/core/node_modules/json5": { + "node_modules/react-native-builder-bob/node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -16743,3020 +19347,3204 @@ "node": ">=6" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", + "node_modules/react-native-builder-bob/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@babel/generator": { - "version": "7.22.0", + "node_modules/react-native-builder-bob/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.1", + "node_modules/react-native-builder-bob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=10" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", + "node_modules/react-native-builder-bob/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^3.0.2" + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", + "node_modules/react-native-builder-bob/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, "bin": { - "semver": "bin/semver.js" + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", + "node_modules/react-native-builder-bob/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "ISC" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.1", + "node_modules/react-native-builder-bob/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", + "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" + }, "engines": { - "node": ">=6.9.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", + "node_modules/react-native-builder-bob/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6.9.0" + "node": "*" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", + "node_modules/react-native-builder-bob/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", + "node_modules/react-native-builder-bob/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.4" - }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.1", + "node_modules/react-native-builder-bob/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", + "node_modules/react-native-builder-bob/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">= 6" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", + "node_modules/react-native-builder-bob/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.21.5" + "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" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", + "node_modules/react-native-builder-bob/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.14.2" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", + "node_modules/react-native/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.22.0", + "node_modules/react-native/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.0", - "@babel/types": "^7.22.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10" } }, - "node_modules/@babel/highlight": { - "version": "7.18.6", + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" + "loose-envify": "^1.1.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/react-native/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", + "node_modules/react-native/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/react-native/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "async-limiter": "~1.0.0" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", + "node_modules/react-native/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT" + "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" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/react-native/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", + "node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.22.0", + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "locate-path": "^2.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "p-try": "^1.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "p-limit": "^1.1.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "pify": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 6" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "minimatch": "^5.1.0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "license": "MIT", + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "balanced-match": "^1.0.0" } }, - "node_modules/@babel/runtime": { - "version": "7.22.6", - "license": "MIT", + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/@babel/template": { - "version": "7.21.9", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8.10.0" } }, - "node_modules/@babel/traverse": { - "version": "7.22.1", + "node_modules/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "dev": true + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.22.0", - "@babel/types": "^7.22.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 4" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/@babel/types": { - "version": "7.22.0", + "node_modules/recast/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "resolve": "^1.1.6" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.10" } }, - "node_modules/@backtrace/browser": { - "resolved": "packages/browser", - "link": true - }, - "node_modules/@backtrace/browser-example": { - "resolved": "examples/sdk/browser", - "link": true - }, - "node_modules/@backtrace/javascript-cli": { - "resolved": "tools/cli", - "link": true - }, - "node_modules/@backtrace/node": { - "resolved": "packages/node", - "link": true - }, - "node_modules/@backtrace/node-example": { - "resolved": "examples/sdk/node", - "link": true - }, - "node_modules/@backtrace/react": { - "resolved": "packages/react", - "link": true - }, - "node_modules/@backtrace/react-example": { - "resolved": "examples/sdk/react", - "link": true - }, - "node_modules/@backtrace/rollup-plugin": { - "resolved": "tools/rollup-plugin", - "link": true - }, - "node_modules/@backtrace/sdk-core": { - "resolved": "packages/sdk-core", - "link": true - }, - "node_modules/@backtrace/sourcemap-tools": { - "resolved": "tools/sourcemap-tools", - "link": true - }, - "node_modules/@backtrace/vite-plugin": { - "resolved": "tools/vite-plugin", - "link": true - }, - "node_modules/@backtrace/webpack-plugin": { - "resolved": "tools/webpack-plugin", - "link": true - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.19", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "node_modules/redent/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, - "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@babel/runtime": "^7.9.2" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "peerDependencies": { + "redux": "^4" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", + "node_modules/reflect.getprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", + "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", "dev": true, - "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@eslint/js": { - "version": "8.41.0", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, - "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=10.10.0" + "node": ">=0.10.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, - "license": "Apache-2.0", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, "engines": { - "node": ">=12.22" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "license": "ISC", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@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" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dev": true, + "peer": true, + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=14" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.0.1", - "license": "MIT", + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dev": true, + "peer": true, "dependencies": { - "ansi-regex": "^6.0.1" + "rc": "1.2.8" }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "license": "ISC", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=8" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", + "node_modules/release-it": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/release-it/-/release-it-15.11.0.tgz", + "integrity": "sha512-lZwoGEnKYKwGnfxxlA7vtR7vvozPrOSsIgQaHO4bgQ5ARbG3IA6Dmo0IVusv6nR1KmnjH70QIeNAgsWs6Ji/tw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@iarna/toml": "2.2.5", + "@octokit/rest": "19.0.11", + "async-retry": "1.3.3", + "chalk": "5.2.0", + "cosmiconfig": "8.1.3", + "execa": "7.1.1", + "git-url-parse": "13.1.0", + "globby": "13.1.4", + "got": "12.6.1", + "inquirer": "9.2.6", + "is-ci": "3.0.1", + "issue-parser": "6.0.0", + "lodash": "4.17.21", + "mime-types": "2.1.35", + "new-github-release-url": "2.0.0", + "node-fetch": "3.3.1", + "open": "9.1.0", + "ora": "6.3.1", + "os-name": "5.1.0", + "promise.allsettled": "1.0.6", + "proxy-agent": "6.2.1", + "semver": "7.5.1", + "shelljs": "0.8.5", + "update-notifier": "6.0.2", + "url-join": "5.0.0", + "wildcard-match": "5.1.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "release-it": "bin/release-it.js" }, "engines": { - "node": ">=8" + "node": ">=14.9" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/release-it/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "peer": true, + "engines": { + "node": ">=12" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/release-it/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, + "peer": true, "engines": { - "node": ">=8" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/release-it/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "p-try": "^2.0.0" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/release-it/node_modules/cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "p-limit": "^2.2.0" + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/release-it/node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "dev": true, - "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">= 12" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/release-it/node_modules/execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", "dev": true, - "license": "MIT", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@jest/console": { - "version": "29.5.0", + "node_modules/release-it/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0" - }, + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/core": { - "version": "29.5.0", + "node_modules/release-it/node_modules/globby": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/environment": { - "version": "29.5.0", + "node_modules/release-it/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0" - }, + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.18.0" } }, - "node_modules/@jest/expect": { - "version": "29.5.0", + "node_modules/release-it/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "license": "MIT", - "dependencies": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "peer": true, + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/expect-utils": { - "version": "29.5.0", + "node_modules/release-it/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.4.3" - }, + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/fake-timers": { - "version": "29.5.0", + "node_modules/release-it/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/release-it/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/globals": { - "version": "29.5.0", + "node_modules/release-it/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "is-docker": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/reporters": { - "version": "29.5.0", + "node_modules/release-it/node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=12" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", + "node_modules/release-it/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", + "peer": true, "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" + "yallist": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=10" + } + }, + "node_modules/release-it/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/schemas": { - "version": "29.4.3", + "node_modules/release-it/node_modules/node-fetch": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", + "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@sinclair/typebox": "^0.25.16" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, - "node_modules/@jest/source-map": { - "version": "29.4.3", + "node_modules/release-it/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "path-key": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/test-result": { - "version": "29.5.0", + "node_modules/release-it/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.5.0", + "node_modules/release-it/node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@jest/test-result": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "slash": "^3.0.0" + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/transform": { - "version": "29.5.0", + "node_modules/release-it/node_modules/ora": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", + "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/types": { - "version": "29.5.0", + "node_modules/release-it/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.4.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" - }, + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", + "node_modules/release-it/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "peer": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=6.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "license": "MIT", + "node_modules/release-it/node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "peer": true, "engines": { - "node": ">=6.0.0" + "node": ">=6" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", + "node_modules/release-it/node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "peer": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "license": "MIT", + "node_modules/release-it/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "peer": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" + "node_modules/release-it/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "peer": true }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "node_modules/release-it/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/release-it/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/release-it/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", + "peer": true, "engines": { - "node": ">= 8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/release-it/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "peer": true, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "license": "MIT", - "optional": true, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/@reduxjs/toolkit": { - "version": "1.9.5", - "license": "MIT", - "dependencies": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" - }, - "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", - "react-redux": "^7.2.1 || ^8.0.2" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-redux": { - "optional": true - } + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.2", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" - }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0||^3.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.2", + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "bin": { + "resolve": "bin/resolve" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true, - "license": "MIT" + "peer": true }, - "node_modules/@sinonjs/commons": { + "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "type-detect": "4.0.8" + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.2.0", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.1", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", - "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" - }, "engines": { - "node": ">=14" + "node": ">=4" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "lowercase-keys": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/react": { - "version": "14.0.0", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=8" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=0.12" } }, - "node_modules/@types/archiver": { - "version": "5.3.2", + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/readdir-glob": "*" + "peer": true, + "engines": { + "node": ">= 4" } }, - "node_modules/@types/aria-query": { - "version": "5.0.1", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT" + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "node_modules/@types/babel__core": { - "version": "7.20.1", + "node_modules/rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "node_modules/rollup": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", + "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.0", + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@babel/types": "^7.20.7" + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/command-line-args": { - "version": "5.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/command-line-usage": { - "version": "5.0.2", + "node_modules/run-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", "dev": true, - "license": "MIT" + "peer": true, + "engines": { + "node": ">=0.12.0" + } }, - "node_modules/@types/decompress": { - "version": "4.2.4", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "@types/node": "*" + "queue-microtask": "^1.2.2" } }, - "node_modules/@types/eslint": { - "version": "8.40.2", - "license": "MIT", + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "aproba": "^1.1.1" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "license": "MIT", + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "peer": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "tslib": "^2.1.0" } }, - "node_modules/@types/estree": { - "version": "1.0.1", - "license": "MIT" + "node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "peer": true }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/node": "*" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "ret": "~0.1.10" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/jest": { - "version": "29.5.1", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "MIT", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" } }, - "node_modules/@types/jsdom": { - "version": "20.0.1", + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "loose-envify": "^1.1.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "license": "MIT" + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } }, - "node_modules/@types/json5": { - "version": "0.0.29", + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, - "license": "MIT" + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } }, - "node_modules/@types/node": { - "version": "14.18.51", - "license": "MIT" + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, - "node_modules/@types/prettier": { - "version": "2.7.2", + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "MIT" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@types/prop-types": { - "version": "15.7.5", + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", "dev": true, - "license": "MIT" + "peer": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@types/react": { - "version": "18.2.14", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@types/react-dom": { - "version": "18.2.6", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/react": "*" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@types/readdir-glob": { - "version": "1.1.1", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/node": "*" + "ms": "2.0.0" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "dev": true, - "license": "MIT" + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/@types/semver": { - "version": "7.5.0", + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "license": "MIT" + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "dev": true, - "license": "MIT" + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "license": "MIT" + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } }, - "node_modules/@types/tough-cookie": { - "version": "4.0.2", + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.8" + } }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.36", + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@types/webpack-sources": { - "version": "3.2.0", - "dev": true, - "license": "MIT", + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" + "randombytes": "^2.1.0" } }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.4", + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, "engines": { - "node": ">= 8" + "node": ">= 0.8.0" } }, - "node_modules/@types/yargs": { - "version": "17.0.24", + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.7", + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.59.7", + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "debug": "^4.3.4" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.7", + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "sha.js": "bin.js" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.7", + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "kind-of": "^6.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.7", - "dev": true, - "license": "MIT", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.7", + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, - "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "shjs": "bin/shjs" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.7", + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "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" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.7", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.7", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "license": "MIT" + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT" + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "color-name": "1.1.3" } }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "dev": true, - "license": "ISC" + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "engines": { + "node": ">=4" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "peer": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "license": "MIT", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "license": "MIT", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "license": "Apache-2.0", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "license": "MIT", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "license": "MIT", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "ms": "2.0.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "license": "MIT", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "license": "MIT", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT" + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "node": ">=0.10.0" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "license": "Apache-2.0" + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/@zeit/schemas": { - "version": "2.29.0", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/abab": { - "version": "2.0.6", + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/accepts": { - "version": "1.3.8", - "license": "MIT", + "peer": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/acorn": { - "version": "8.8.2", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "node_modules/socks-proxy-agent": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz", + "integrity": "sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==", + "dev": true, + "peer": true, + "dependencies": { + "agent-base": "^7.0.1", + "debug": "^4.3.4", + "socks": "^2.7.1" }, "engines": { - "node": ">=0.4.0" + "node": ">= 14" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", + "node_modules/socks/node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "peer": true + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "dev": true, - "license": "MIT", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "peer": true, "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "license": "MIT", "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "license": "MIT", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": ">=5.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/ansi-align": { + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.1.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "through": "2" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "extend-shallow": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "readable-stream": "^3.0.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "escape-string-regexp": "^2.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dev": true, - "license": "ISC", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "type-fest": "^0.7.1" }, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/aproba": { - "version": "1.2.0", + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=8" + } }, - "node_modules/arch": { - "version": "2.2.0", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/archiver": { - "version": "5.3.1", - "license": "MIT", "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "license": "MIT", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "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" + "kind-of": "^3.0.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/archiver/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/arg": { - "version": "5.0.2", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.1.3", + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/arr-union": { - "version": "3.1.0", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/array-back": { - "version": "3.1.0", - "license": "MIT", + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.6" } }, - "node_modules/array-includes": { - "version": "3.1.6", + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "bl": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array-union": { - "version": "2.1.0", + "node_modules/stdin-discarder/node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "peer": true, + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/array-unique": { - "version": "0.3.2", + "node_modules/stdin-discarder/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "internal-slot": "^1.0.4" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/asn1.js": { - "version": "5.4.1", + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT" + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "node_modules/assert": { - "version": "1.5.0", + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, - "license": "MIT", "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, - "license": "ISC" + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "2.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-read-all": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/async": { - "version": "3.2.4", - "license": "MIT" + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true }, - "node_modules/async-each": { - "version": "1.0.6", - "dev": true, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ], - "license": "MIT", - "optional": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" + ] }, - "node_modules/atob": { - "version": "2.1.2", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 4.5.0" + "node": ">=10" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-jest": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "@jest/transform": "^29.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=8" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "dev": true, - "license": "MIT", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, - "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/base": { - "version": "0.11.2", + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, - "license": "MIT", "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/bindings": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "dev": true, - "license": "MIT" - }, - "node_modules/bn.js": { - "version": "5.2.1", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=4" + } }, - "node_modules/boxen": { - "version": "7.0.0", + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "is-natural-number": "^4.0.1" } }, - "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "dependencies": { + "min-indent": "^1.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { - "node": ">=12.20" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "dev": true }, - "node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "fill-range": "^7.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "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" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "dev": true, - "license": "ISC", - "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" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", - "dependencies": { - "pako": "~1.0.5" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/browserslist": { - "version": "4.21.5", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table-layout": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" }, "bin": { - "browserslist": "cli.js" + "table-layout": "bin/cli.js" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=12.17" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, + "node_modules/table-layout/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "dev": true, - "license": "MIT", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "node": ">=12.17" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "node_modules/table-layout/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "license": "MIT", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.0.0", - "license": "MIT", + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/cacache": { - "version": "12.0.4", + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dev": true, - "license": "ISC", "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/cacache/node_modules/glob": { + "node_modules/temp/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19772,18 +22560,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -19791,246 +22572,261 @@ "rimraf": "bin.js" } }, - "node_modules/cacache/node_modules/y18n": { - "version": "4.0.3", + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, - "license": "ISC" - }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "dev": true, - "license": "MIT", "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001489", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + "esbuild": { + "optional": true }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" + "uglify-js": { + "optional": true } - ], - "license": "CC-BY-4.0" + } }, - "node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 10.13.0" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "license": "MIT", + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { - "chalk": "^4.1.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "optional": true, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", - "optional": true, "dependencies": { - "is-glob": "^4.0.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/chownr": { - "version": "1.1.4", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC" - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "license": "MIT", + "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" + }, "engines": { - "node": ">=6.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ci-info": { - "version": "3.8.0", + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/cipher-base": { - "version": "1.0.4", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "readable-stream": "3" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/class-utils": { - "version": "0.3.6", + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, - "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "setimmediate": "^1.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.6.0" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "kind-of": "^3.0.2" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.6.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -20038,10 +22834,11 @@ "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -20049,2323 +22846,2620 @@ "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0" } }, - "node_modules/cli-boxes": { - "version": "3.0.0", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.6" } }, - "node_modules/clipboardy": { - "version": "3.0.0", + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, - "license": "MIT", "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/clipboardy/node_modules/is-wsl": { - "version": "2.2.0", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/cliui": { - "version": "8.0.1", + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "punycode": "^2.1.1" }, "engines": { "node": ">=12" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/clone-deep": { - "version": "4.0.1", + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, - "node_modules/co": { - "version": "4.6.0", + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=12" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/collection-visit": { - "version": "1.0.0", + "node_modules/ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, - "license": "MIT", "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/ts-loader-webpack-4": { + "name": "ts-loader", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=7.0.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "*" } }, - "node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", + "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" } }, - "node_modules/command-line-args": { - "version": "5.2.1", - "license": "MIT", + "node_modules/ts-loader-webpack-4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/command-line-usage": { - "version": "7.0.1", - "license": "MIT", + "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "license": "MIT", - "engines": { - "node": ">=12.17" + "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.1.1", - "license": "MIT", + "node_modules/ts-loader-webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, "engines": { - "node": ">=12.17" + "node": ">=6" } }, - "node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/commondir": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/component-emitter": { - "version": "1.3.0", + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, - "license": "MIT" - }, - "node_modules/compress-commons": { - "version": "4.1.1", - "license": "MIT", "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "tslib": "^1.8.1" }, "engines": { "node": ">= 6" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" }, - "engines": { - "node": ">= 0.6" + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/compression": { - "version": "1.7.4", - "license": "MIT", + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "1.6.2", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/console-browserify": { - "version": "1.2.0", - "dev": true - }, - "node_modules/constants-browserify": { + "node_modules/typed-array-buffer": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "dev": true, - "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, - "license": "ISC", "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/copy-concurrently/node_modules/glob": { - "version": "7.2.3", + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, - "license": "ISC", "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" + "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" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, - "bin": { - "rimraf": "bin.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "peer": true, + "dependencies": { + "is-typedarray": "^1.0.0" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/crc-32": { - "version": "1.2.2", - "license": "Apache-2.0", + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, "bin": { - "crc32": "bin/crc32.njs" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=0.8" + "node": ">=14.17" } }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/crc32-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], "engines": { - "node": ">= 6" + "node": "*" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", "dev": true, - "license": "MIT", "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true }, - "node_modules/create-hash": { - "version": "1.2.0", + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-hmac": { - "version": "1.1.7", + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">= 8" + "node": ">=0.8.0" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "license": "MIT", "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" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cssom": { - "version": "0.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cssstyle": { - "version": "2.3.0", + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, - "license": "MIT", "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" + "buffer": "^5.2.1", + "through": "^2.3.8" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cyclist": { - "version": "1.0.2", + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/data-urls": { - "version": "3.0.2", + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/debug": { - "version": "4.3.4", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.1.2" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=4" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "dev": true, - "license": "MIT" - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/decompress": { - "version": "4.2.1", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, "engines": { "node": ">=4" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, - "license": "MIT", "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/decompress-tar/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "unique-slug": "^2.0.0" } }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, - "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" + "imurmurhash": "^0.1.4" } }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" + "crypto-random-string": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "peer": true + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 4.0.0" } }, - "node_modules/decompress-tarbz2/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/decompress-targz": { - "version": "4.1.1", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, - "license": "MIT", "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/decompress-targz/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, - "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/decompress-unzip": { - "version": "4.0.1", + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "license": "MIT", "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" + "isarray": "1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, - "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4", + "yarn": "*" } }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "dev": true, - "license": "MIT", + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "pify": "^3.0.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "engines": { - "node": ">=4" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", "dev": true, - "license": "MIT", + "peer": true, + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, "engines": { - "node": ">=4" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-equal": { - "version": "2.2.1", - "dev": true, - "license": "MIT", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.0", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "punycode": "^2.1.0" } }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, - "license": "MIT" + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + } }, - "node_modules/deep-extend": { - "version": "0.6.0", + "node_modules/url-join": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", "dev": true, - "license": "MIT", + "peer": true, "engines": { - "node": ">=4.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "license": "MIT" + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } }, - "node_modules/deepmerge": { - "version": "4.3.1", + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/define-properties": { + "node_modules/use-sync-external-store": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/define-property": { - "version": "2.0.2", + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "inherits": "2.0.3" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4.0" } }, - "node_modules/des.js": { - "version": "1.1.0", + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/diff-sequences": { - "version": "29.4.3", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "dev": true, - "license": "MIT", + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "peer": true, "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "dev": true }, - "node_modules/dir-glob": { - "version": "3.0.1", + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/vm2": { + "version": "3.9.19", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz", + "integrity": "sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==", + "deprecated": "The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm.", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "path-type": "^4.0.0" + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" }, "engines": { - "node": ">=8" + "node": ">=6.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "esutils": "^2.0.2" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=14" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "dev": true, - "license": "MIT" - }, - "node_modules/domain-browser": { - "version": "1.2.0", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "dependencies": { + "makeerror": "1.0.12" } }, - "node_modules/domexception": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dependencies": { - "webidl-conversions": "^7.0.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">=12" + "node": ">=10.13.0" } }, - "node_modules/duplexify": { - "version": "3.7.1", + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "chokidar": "^2.1.8" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.408", - "license": "ISC" - }, - "node_modules/elliptic": { - "version": "6.5.4", + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, - "license": "MIT", + "optional": true, "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" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "license": "MIT" + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/emittery": { - "version": "0.13.1", + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, - "license": "MIT", + "optional": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/emojis-list": { - "version": "3.0.0", + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "license": "MIT", + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, "dependencies": { - "once": "^1.4.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "license": "MIT", + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/entities": { - "version": "4.5.0", + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/envinfo": { - "version": "7.9.0", + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" }, "engines": { - "node": ">=4" + "node": ">= 4.0" } }, - "node_modules/errno": { - "version": "0.1.8", + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "prr": "~1.0.1" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" }, - "bin": { - "errno": "cli.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "license": "MIT", + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, "dependencies": { - "is-arrayish": "^0.2.1" + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/es-abstract": { - "version": "1.21.2", + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", + "optional": true, "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" + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, - "license": "MIT" - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "license": "MIT" + "optional": true }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "has": "^1.0.3" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.18.19", - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.19", - "@esbuild/android-arm64": "0.18.19", - "@esbuild/android-x64": "0.18.19", - "@esbuild/darwin-arm64": "0.18.19", - "@esbuild/darwin-x64": "0.18.19", - "@esbuild/freebsd-arm64": "0.18.19", - "@esbuild/freebsd-x64": "0.18.19", - "@esbuild/linux-arm": "0.18.19", - "@esbuild/linux-arm64": "0.18.19", - "@esbuild/linux-ia32": "0.18.19", - "@esbuild/linux-loong64": "0.18.19", - "@esbuild/linux-mips64el": "0.18.19", - "@esbuild/linux-ppc64": "0.18.19", - "@esbuild/linux-riscv64": "0.18.19", - "@esbuild/linux-s390x": "0.18.19", - "@esbuild/linux-x64": "0.18.19", - "@esbuild/netbsd-x64": "0.18.19", - "@esbuild/openbsd-x64": "0.18.19", - "@esbuild/sunos-x64": "0.18.19", - "@esbuild/win32-arm64": "0.18.19", - "@esbuild/win32-ia32": "0.18.19", - "@esbuild/win32-x64": "0.18.19" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "BSD-2-Clause", + "optional": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, - "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" + "defaults": "^1.0.3" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, + "peer": true, "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=12" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dependencies": { - "prelude-ls": "~1.1.2" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/eslint": { - "version": "8.41.0", + "node_modules/webpack-4": { + "name": "webpack", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" }, "bin": { - "eslint": "bin/eslint.js" + "webpack": "bin/webpack.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.11.5" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, - "peerDependencies": { - "eslint": ">=7.0.0" + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", + "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", + "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", + "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "@xtuc/long": "4.2.2" } }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", + "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, - "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "1.3.2", + "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", + "node_modules/webpack-4/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", + "node_modules/webpack-4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "BSD-2-Clause", + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/espree": { - "version": "9.5.2", + "node_modules/webpack-4/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=6.9.0" } }, - "node_modules/esprima": { - "version": "4.0.1", + "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/esquery": { - "version": "1.5.0", + "node_modules/webpack-4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "estraverse": "^5.1.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=0.10" + "node": ">=4.0.0" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/webpack-4/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "license": "BSD-2-Clause", "dependencies": { - "estraverse": "^5.2.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", + "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "BSD-2-Clause", + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/events": { - "version": "3.3.0", - "license": "MIT", + "node_modules/webpack-4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, "engines": { - "node": ">=0.8.x" + "node": ">=0.10.0" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", + "node_modules/webpack-4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/execa": { - "version": "5.1.1", + "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/webpack-4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/webpack-4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } }, - "node_modules/exit": { - "version": "0.1.2", + "node_modules/webpack-4/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=4.0.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", + "node_modules/webpack-4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", + "node_modules/webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/webpack-4/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, - "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "randombytes": "^2.1.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, + "safe-buffer": "~5.1.0" + } + }, + "node_modules/webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", + "node_modules/webpack-4/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/webpack-4/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", + "node_modules/webpack-4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/webpack-4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/webpack-4/node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, - "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", + "node_modules/webpack-4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "license": "MIT" + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } }, - "node_modules/expect": { - "version": "29.5.0", + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/expect-utils": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/extend-shallow": { - "version": "3.0.2", + "node_modules/webpack-cli/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "node_modules/extglob": { - "version": "2.0.4", + "node_modules/webpack-cli/node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", + "node_modules/webpack-cli/node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "resolve": "^1.20.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, - "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } }, - "node_modules/fast-glob": { - "version": "3.2.12", + "node_modules/webpack-sources-webpack-4": { + "name": "webpack-sources", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "license": "MIT", "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" - }, + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources-webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">=8.6.0" + "node": ">=0.10.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, - "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "license": "MIT" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "license": "MIT", "dependencies": { - "punycode": "^1.3.2" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" + "node_modules/whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==", + "dev": true }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 4.9.1" + "node": ">=12" } }, - "node_modules/fastq": { - "version": "1.15.0", + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, - "license": "ISC", "dependencies": { - "reusify": "^1.0.4" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/fb-watchman": { + "node_modules/which": { "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "bser": "2.1.1" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { - "pend": "~1.2.0" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "dev": true, - "license": "ISC" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", "dev": true, - "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "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" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-type": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" + "node": ">= 0.4" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-cache-dir": { - "version": "2.1.0", + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, - "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, - "license": "MIT", "dependencies": { - "locate-path": "^3.0.0" + "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" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "string-width": "^5.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wildcard-match": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz", + "integrity": "sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==", "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } + "peer": true }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/windows-release": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-5.1.1.tgz", + "integrity": "sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "p-try": "^2.0.0" + "execa": "^5.1.1" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, + "peer": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, + "node_modules/wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", "engines": { - "node": ">=6" + "node": ">=12.17" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.1", + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "dependencies": { + "errno": "~0.1.7" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "license": "MIT", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dependencies": { - "array-back": "^3.0.1" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" } }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "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" + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { - "node": "*" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "glob": "^7.1.3" + "ansi-regex": "^6.0.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, - "node_modules/flush-write-stream": { - "version": "1.1.1", + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/for-in": { - "version": "1.0.2", + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "dev": true, + "peer": true, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/form-data": { + "node_modules/xml-name-validator": { "version": "4.0.0", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", - "dependencies": { - "map-cache": "^0.2.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4" } }, - "node_modules/from2": { - "version": "2.3.0", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "engines": { + "node": ">=10" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "license": "MIT" + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", + "node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, - "license": "ISC", - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 14" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=10" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "node_modules/get-intrinsic": { - "version": "1.2.1", + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/get-package-type": { - "version": "0.1.0", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -22373,18950 +25467,10418 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/zip-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10" } }, - "node_modules/get-value": { - "version": "2.0.6", - "dev": true, + "packages/browser": { + "name": "@backtrace-labs/browser", + "version": "0.0.1", "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob": { - "version": "10.3.3", - "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "ua-parser-js": "^1.0.35" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "devDependencies": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", + "packages/node": { + "name": "@backtrace-labs/node", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "@backtrace-labs/sdk-core": "^0.0.1", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "license": "BSD-2-Clause" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", + "packages/react": { + "name": "@backtrace-labs/react", + "version": "0.0.1", "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.1", - "license": "ISC", + "packages/react-native": { + "name": "@backtrace-labs/react-native", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@backtrace-labs/react": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.1" + }, + "devDependencies": { + "@react-native-community/eslint-config": "^3.0.2", + "@release-it/conventional-changelog": "^5.0.0", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "del-cli": "^5.0.0", + "eslint": "^8.4.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^28.1.1", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "node_modules/globals": { - "version": "13.20.0", + "packages/react-native/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/globalthis": { - "version": "1.0.3", + "packages/react-native/node_modules/@jest/core": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", "dev": true, - "license": "MIT", "dependencies": { - "define-properties": "^1.1.3" + "@jest/console": "^28.1.3", + "@jest/reporters": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^28.1.3", + "jest-config": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-resolve-dependencies": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "jest-watcher": "^28.1.3", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/globby": { - "version": "11.1.0", + "packages/react-native/node_modules/@jest/environment": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", "dev": true, - "license": "MIT", "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" + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/gopd": { - "version": "1.0.1", + "packages/react-native/node_modules/@jest/expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3" + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/has": { - "version": "1.0.3", + "packages/react-native/node_modules/@jest/expect-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", + "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1" + "jest-get-type": "^28.0.2" }, "engines": { - "node": ">= 0.4.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", + "packages/react-native/node_modules/@jest/fake-timers": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", + "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", + "packages/react-native/node_modules/@jest/globals": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", + "packages/react-native/node_modules/@jest/reporters": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", + "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", "dev": true, - "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" + }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", + "packages/react-native/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dev": true, - "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-value": { - "version": "1.0.0", + "packages/react-native/node_modules/@jest/source-map": { + "version": "28.1.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", "dev": true, - "license": "MIT", "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "@jridgewell/trace-mapping": "^0.3.13", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-values": { - "version": "1.0.0", + "packages/react-native/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", "dev": true, - "license": "MIT", "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", + "packages/react-native/node_modules/@jest/test-sequencer": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", + "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "@jest/test-result": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", + "packages/react-native/node_modules/@jest/transform": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", + "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@babel/core": "^7.11.6", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", + "packages/react-native/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "@jest/schemas": "^28.1.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" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/hash-base": { - "version": "3.1.0", + "packages/react-native/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "packages/react-native/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" + "type-detect": "4.0.8" } }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", + "packages/react-native/node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/hash.js": { - "version": "1.1.7", + "packages/react-native/node_modules/@types/react": { + "version": "17.0.65", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", + "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", + "packages/react-native/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", + "packages/react-native/node_modules/babel-jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", + "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", "dev": true, - "license": "MIT", "dependencies": { - "whatwg-encoding": "^2.0.0" + "@jest/transform": "^28.1.3", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^28.1.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=12" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", + "packages/react-native/node_modules/babel-plugin-jest-hoist": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", + "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", "dev": true, - "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">= 6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", + "packages/react-native/node_modules/babel-preset-jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", + "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", "dev": true, - "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "babel-plugin-jest-hoist": "^28.1.3", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/human-signals": { - "version": "2.1.0", + "packages/react-native/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=10.17.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", + "packages/react-native/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/iferr": { - "version": "0.1.5", - "dev": true, - "license": "MIT" + "packages/react-native/node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true }, - "node_modules/ignore": { - "version": "5.2.4", + "packages/react-native/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/immer": { - "version": "9.0.21", - "license": "MIT", + "packages/react-native/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true, + "engines": { + "node": ">=12" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "packages/react-native/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "packages/react-native/node_modules/expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", "dev": true, - "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/import-local": { - "version": "3.1.0", + "packages/react-native/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "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" }, "engines": { - "node": ">=8" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "packages/react-native/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, "engines": { - "node": ">=0.8.19" + "node": ">=8" } }, - "node_modules/infer-owner": { - "version": "1.0.4", + "packages/react-native/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC" + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", + "packages/react-native/node_modules/jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", + "import-local": "^3.0.2", + "jest-cli": "^28.1.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.5", + "packages/react-native/node_modules/jest-changed-files": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", + "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "execa": "^5.0.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/interpret": { - "version": "3.1.1", + "packages/react-native/node_modules/jest-circus": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", + "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "p-limit": "^3.1.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">=10.13.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "packages/react-native/node_modules/jest-cli": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", + "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "@jest/core": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/is-arguments": { - "version": "1.1.1", + "packages/react-native/node_modules/jest-config": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", + "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^28.1.3", + "@jest/types": "^28.1.3", + "babel-jest": "^28.1.3", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^28.1.3", + "jest-environment-node": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", + "packages/react-native/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", + "packages/react-native/node_modules/jest-docblock": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", "dev": true, - "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "detect-newline": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "packages/react-native/node_modules/jest-each": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", + "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "binary-extensions": "^2.0.0" + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.3", + "pretty-format": "^28.1.3" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", + "packages/react-native/node_modules/jest-environment-node": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", + "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-buffer": { - "version": "1.1.6", + "packages/react-native/node_modules/jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", "dev": true, - "license": "MIT" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } }, - "node_modules/is-callable": { - "version": "1.2.7", + "packages/react-native/node_modules/jest-haste-map": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", + "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/is-core-module": { - "version": "2.12.1", + "packages/react-native/node_modules/jest-leak-detector": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", + "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", "dev": true, - "license": "MIT", "dependencies": { - "has": "^1.0.3" + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", + "packages/react-native/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", + "packages/react-native/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "dev": true, - "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", + "packages/react-native/node_modules/jest-mock": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", + "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "@jest/types": "^28.1.3", + "@types/node": "*" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, + "packages/react-native/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-extendable": { - "version": "1.0.1", + "packages/react-native/node_modules/jest-resolve": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", + "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "packages/react-native/node_modules/jest-resolve-dependencies": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", + "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", + "dependencies": { + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", + "packages/react-native/node_modules/jest-runner": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", + "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/environment": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-leak-detector": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-resolve": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-util": "^28.1.3", + "jest-watcher": "^28.1.3", + "jest-worker": "^28.1.3", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "packages/react-native/node_modules/jest-runtime": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", + "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", "dev": true, - "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/globals": "^28.1.3", + "@jest/source-map": "^28.1.2", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-map": { - "version": "2.0.2", + "packages/react-native/node_modules/jest-snapshot": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "natural-compare": "^1.4.0", + "pretty-format": "^28.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", + "packages/react-native/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-number": { - "version": "7.0.0", + "packages/react-native/node_modules/jest-validate": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "leven": "^3.1.0", + "pretty-format": "^28.1.3" + }, "engines": { - "node": ">=0.12.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", + "packages/react-native/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "dev": true, - "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", + "packages/react-native/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dev": true, - "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", + "packages/react-native/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dev": true, - "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-port-reachable": { - "version": "4.0.0", + "packages/react-native/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "packages/react-native/node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", "dev": true, - "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.1.4", + "packages/react-native/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.4" + "bin": { + "rimraf": "bin.js" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", + "packages/react-native/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-stream": { - "version": "2.0.1", + "packages/react-native/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", + "packages/react-native/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/is-symbol": { - "version": "1.0.4", + "packages/react-native/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", + "packages/react-native/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "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" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-weakset": { - "version": "2.0.2", + "packages/react-native/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=12" } }, - "node_modules/is-windows": { - "version": "1.0.2", + "packages/react-native/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "dev": true, + "packages/sdk-core": { + "name": "@backtrace-labs/sdk-core", + "version": "0.0.1", "license": "MIT", - "engines": { - "node": ">=4" + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "dev": true, + "tools/cli": { + "name": "@backtrace-labs/javascript-cli", + "version": "0.0.1", "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "backtrace-js": "lib/index.js" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2" }, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "license": "BSD-3-Clause", + "tools/rollup-plugin": { + "name": "@backtrace-labs/rollup-plugin", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@backtrace-labs/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "peerDependencies": { + "rollup": "^3.26.3" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "dev": true, - "license": "BSD-3-Clause", + "tools/sourcemap-tools": { + "name": "@backtrace-labs/sourcemap-tools", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "archiver": "^5.3.1", + "source-map": "^0.7.4" + }, + "devDependencies": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/jackspeak": { - "version": "2.2.1", - "license": "BlueOak-1.0.0", + "tools/vite-plugin": { + "name": "@backtrace-labs/vite-plugin", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@backtrace-labs/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" }, "engines": { "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "peerDependencies": { + "vite": "^4.4.9" } }, - "node_modules/jest": { - "version": "29.5.0", - "dev": true, + "tools/webpack-plugin": { + "name": "@backtrace-labs/webpack-plugin", + "version": "0.0.1", "license": "MIT", "dependencies": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" + "@backtrace-labs/sourcemap-tools": "^0.0.1" }, - "bin": { - "jest": "bin/jest.js" + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "webpack": "^5.85.0 || ^4.46.0" + } + } + }, + "dependencies": { + "@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "requires": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true + "dependencies": { + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" } } }, - "node_modules/jest-changed-files": { - "version": "29.5.0", + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/jest-circus": { - "version": "29.5.0", + "@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "requires": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/jest-cli": { - "version": "29.5.0", + "@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true + }, + "@babel/core": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", + "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.11", + "@babel/parser": "^7.22.11", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true } } }, - "node_modules/jest-config": { - "version": "29.5.0", + "@babel/eslint-parser": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.11.tgz", + "integrity": "sha512-YjOYZ3j7TjV8OhLW6NCtyg8G04uStATEUe5eiLuCZaXz2VSDQ3dsAtm2D+TuQyAqNMUK2WacGo0/uma9Pein1w==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true }, - "ts-node": { - "optional": true + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true } } }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", + "@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", "dev": true, - "license": "ISC", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, - "node_modules/jest-diff": { - "version": "29.5.0", + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-docblock": { - "version": "29.4.3", + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", + "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.10" } }, - "node_modules/jest-each": { - "version": "29.5.0", + "@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, - "node_modules/jest-environment-jsdom": { - "version": "29.5.0", + "@babel/helper-create-class-features-plugin": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.11.tgz", + "integrity": "sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "requires": { + "@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.5", + "@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" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true } } }, - "node_modules/jest-environment-node": { - "version": "29.5.0", + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/jest-get-type": { - "version": "29.4.3", + "@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@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" } }, - "node_modules/jest-haste-map": { - "version": "29.5.0", + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "node_modules/jest-leak-detector": { - "version": "29.5.0", + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-matcher-utils": { - "version": "29.5.0", + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-message-util": { - "version": "29.5.0", + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-mock": { - "version": "29.5.0", + "@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-util": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-regex-util": { - "version": "29.4.3", + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" } }, - "node_modules/jest-resolve": { - "version": "29.5.0", + "@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.5.0", + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-runner": { - "version": "29.5.0", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-runtime": { - "version": "29.5.0", + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", + "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", "dev": true, - "license": "ISC", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.10" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", + "@babel/helpers": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", + "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11" } }, - "node_modules/jest-snapshot": { - "version": "29.5.0", + "@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/jest-util": { - "version": "29.5.0", + "@babel/parser": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", + "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/jest-validate": { - "version": "29.5.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.5.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.5.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "node_modules/jest-watcher": { - "version": "29.5.0", + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.5.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/jest-worker": { - "version": "29.5.0", + "@babel/plugin-proposal-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", + "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.5.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, - "node_modules/jsdom": { - "version": "20.0.3", + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "license": "ISC" + "requires": {} }, - "node_modules/json5": { - "version": "1.0.2", + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/jsonc": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" - }, - "engines": { - "node": ">=8" + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/jsonc/node_modules/parse-json": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/jsonc/node_modules/strip-bom": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/kind-of": { - "version": "6.0.3", + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/kleur": { - "version": "3.0.3", + "@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", + "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" } }, - "node_modules/leven": { - "version": "3.1.0", + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/levn": { - "version": "0.4.1", + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "license": "MIT", - "engines": { - "node": ">=6.11.5" + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/loader-utils": { - "version": "2.0.4", + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/loader-utils/node_modules/json5": { - "version": "2.2.3", + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/lodash": { - "version": "4.17.21", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/lodash.assignwith": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "license": "MIT" + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "license": "MIT" + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/lodash.merge": { - "version": "4.6.2", + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "node_modules/lodash.union": { - "version": "4.6.0", - "license": "MIT" + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "peer": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/lru-cache": { - "version": "10.0.0", - "license": "ISC", - "engines": { - "node": "14 || >=16.14" + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/lz-string": { - "version": "1.5.0", + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/make-dir": { - "version": "3.1.0", + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.11.tgz", + "integrity": "sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==", "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@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" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" } }, - "node_modules/make-error": { - "version": "1.3.6", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", "dev": true, - "license": "ISC" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "node_modules/makeerror": { - "version": "1.0.12", + "@babel/plugin-transform-block-scoping": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", + "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/map-cache": { - "version": "0.2.2", + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/map-visit": { - "version": "1.0.0", + "@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", "dev": true, - "license": "MIT", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@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" } }, - "node_modules/md5.js": { - "version": "1.3.5", + "@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", "dev": true, - "license": "MIT", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, - "node_modules/memory-fs": { - "version": "0.4.1", + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dev": true, - "license": "MIT", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "license": "MIT" + "@babel/plugin-transform-destructuring": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", + "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "node_modules/merge2": { - "version": "1.4.1", + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/micromatch": { - "version": "4.0.5", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", "dev": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dev": true, - "license": "ISC" + "requires": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", + "@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/minimist": { - "version": "1.2.8", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, - "node_modules/minipass": { - "version": "7.0.2", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/mississippi": { - "version": "3.0.0", + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.11.tgz", + "integrity": "sha512-o2+bg7GDS60cJMgz9jWqRUsWkMzLCxp+jFDeDUT5sjRlAxcJWZ2ylNdI7QQ2+CH5hWu7OnN+Cv3htt7AkSf96g==", "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz", + "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==", + "dev": true, + "requires": { + "@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" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/move-concurrently/node_modules/glob": { - "version": "7.2.3", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, - "license": "ISC", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/ms": { - "version": "2.1.2", + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } }, - "node_modules/nan": { - "version": "2.17.0", + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", "dev": true, - "license": "MIT", - "optional": true + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } }, - "node_modules/nanoid": { - "version": "3.3.6", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.11.tgz", + "integrity": "sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" } }, - "node_modules/nanomatch": { - "version": "1.2.13", + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" } }, - "node_modules/native-reg": { - "version": "1.1.1", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "node-gyp-build": "4" + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, - "node_modules/natural-compare": { - "version": "1.4.0", + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.11.tgz", + "integrity": "sha512-7X2vGqH2ZKu7Imx0C+o5OysRwtF/wzdCAqmcD1N1v2Ww8CtOSC+p+VoV76skm47DLvBZ8kBFic+egqxM9S/p4g==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } }, - "node_modules/negotiator": { - "version": "0.6.3", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "license": "MIT" + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, + "requires": { + "@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" + } }, - "node_modules/nock": { - "version": "13.3.1", + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" - }, - "engines": { - "node": ">= 10.13" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/node-gyp-build": { - "version": "4.6.0", - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/node-int64": { - "version": "0.4.0", + "@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + } }, - "node_modules/node-libs-browser": { - "version": "2.2.1", + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", "dev": true, - "license": "MIT", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" } }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", + "@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.12", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/nwsapi": { - "version": "2.2.5", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-copy": { - "version": "0.1.0", + "@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", "dev": true, - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "@babel/plugin-transform-runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", + "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@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" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-inspect": { - "version": "1.12.3", + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-is": { - "version": "1.1.5", + "@babel/plugin-transform-typescript": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.11.tgz", + "integrity": "sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@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-typescript": "^7.22.5" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object-visit": { - "version": "1.0.1", + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object.assign": { - "version": "4.1.4", + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object.pick": { - "version": "1.3.0", + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/object.values": { - "version": "1.1.6", + "@babel/preset-env": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", + "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.10", + "@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.10", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.10", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.10", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@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.10", + "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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", "dependencies": { - "wrappy": "1" + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/onetime": { - "version": "5.1.2", + "@babel/preset-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", + "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" } }, - "node_modules/optionator": { - "version": "0.9.1", + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" } }, - "node_modules/os-browserify": { - "version": "0.3.0", + "@babel/preset-react": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", + "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + } }, - "node_modules/p-limit": { - "version": "3.1.0", + "@babel/preset-typescript": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.11.tgz", + "integrity": "sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==", "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.11", + "@babel/plugin-transform-typescript": "^7.22.11" } }, - "node_modules/p-locate": { - "version": "5.0.0", + "@babel/register": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", + "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } } }, - "node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true }, - "node_modules/pako": { - "version": "1.0.11", + "@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", "dev": true, - "license": "(MIT AND Zlib)" + "requires": { + "regenerator-runtime": "^0.14.0" + } }, - "node_modules/parallel-transform": { - "version": "1.2.0", + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, - "license": "MIT", - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "node_modules/parent-module": { - "version": "1.0.1", + "@babel/traverse": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", + "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" + "requires": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@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.11", + "@babel/types": "^7.22.11", + "debug": "^4.1.0", + "globals": "^11.1.0" }, - "engines": { - "node": ">=6" + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, - "node_modules/parse-asn1": { - "version": "5.1.6", + "@babel/types": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", + "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", "dev": true, - "license": "ISC", - "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" + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@backtrace-labs/browser": { + "version": "file:packages/browser", + "requires": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, - "node_modules/parse5": { - "version": "7.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "@backtrace-labs/javascript-cli": { + "version": "file:tools/cli", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "dev": true, - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-to-regexp": { - "version": "2.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.4.27", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "license": "MIT" - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/prompts": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/propagate": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/psl": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "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" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "dev": true, - "license": "MIT" - }, - "node_modules/pump": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pure-rand": { - "version": "6.0.2", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/qs": { - "version": "6.11.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "dev": true, - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/redux": { - "version": "4.2.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.9.2" - } - }, - "node_modules/redux-thunk": { - "version": "2.4.2", - "license": "MIT", - "peerDependencies": { - "redux": "^4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "license": "MIT" - }, - "node_modules/regex-not": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/registry-url": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/reselect": { - "version": "4.1.8", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^10.2.5" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rollup": { - "version": "3.27.2", - "license": "MIT", - "peer": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve": { - "version": "14.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@zeit/schemas": "2.29.0", - "ajv": "8.11.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.5", - "update-check": "1.5.4" - }, - "bin": { - "serve": "build/main.js" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/serve-handler": { - "version": "6.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve/node_modules/ajv": { - "version": "8.11.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/serve/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/set-value": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "dev": true, - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.0.2", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "dev": true, - "license": "MIT", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "license": "BSD-3-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/split-string": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-read-all": { - "version": "3.0.1", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/table-layout": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "bin": { - "table-layout": "bin/cli.js" - }, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "6.2.2", - "license": "MIT", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "7.1.1", - "license": "MIT", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/terser": { - "version": "5.18.1", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "dev": true, - "license": "MIT", - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/ts-jest": { - "version": "29.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-loader": { - "version": "9.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader-webpack-4": { - "name": "ts-loader", - "version": "8.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "*" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { - "version": "0.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/tapable": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.0.4", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unbzip2-stream/node_modules/buffer": { - "version": "5.7.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-check": { - "version": "1.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/url": { - "version": "0.11.1", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/use": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "4.4.9", - "license": "MIT", - "peer": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/webpack": { - "version": "5.88.2", - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-4": { - "name": "webpack", - "version": "4.46.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack-4/node_modules/acorn": { - "version": "6.4.2", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-4/node_modules/braces": { - "version": "2.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/webpack-4/node_modules/eslint-scope": { - "version": "4.0.3", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-4/node_modules/fill-range": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/is-number": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/loader-runner": { - "version": "2.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/webpack-4/node_modules/loader-utils": { - "version": "1.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-4/node_modules/micromatch": { - "version": "3.1.10", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/schema-utils": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-4/node_modules/serialize-javascript": { - "version": "4.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/webpack-4/node_modules/tapable": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-4/node_modules/terser": { - "version": "4.8.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/webpack-4/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "dev": true, - "license": "MIT", - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/webpack-4/node_modules/to-regex-range": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/watchpack": { - "version": "1.7.5", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/webpack-4/node_modules/webpack": { - "version": "4.46.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-4/node_modules/webpack-sources": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-sources-webpack-4": { - "name": "webpack-sources", - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "dev": true, - "license": "MIT", - "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", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrapjs": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.13.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zip-stream": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "packages/browser": { - "name": "@backtrace/browser", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "ua-parser-js": "^1.0.35" - }, - "devDependencies": { - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "packages/node": { - "name": "@backtrace/node", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/sdk-core": "^0.0.1", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "packages/react": { - "name": "@backtrace/react", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "packages/sdk-core": { - "name": "@backtrace/sdk-core", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "tools/cli": { - "name": "@backtrace/javascript-cli", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "bin": { - "backtrace-js": "lib/index.js" - }, - "devDependencies": { - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "tools/rollup-plugin": { - "name": "@backtrace/rollup-plugin", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "^3.26.3" - } - }, - "tools/sourcemap-tools": { - "name": "@backtrace/sourcemap-tools", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "archiver": "^5.3.1", - "source-map": "^0.7.4" - }, - "devDependencies": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - } - }, - "tools/sourcemap-tools/node_modules/source-map": { - "version": "0.7.4", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "tools/vite-plugin": { - "name": "@backtrace/vite-plugin", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/rollup-plugin": "^0.0.1" - }, - "devDependencies": { - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "vite": "^4.4.9" - } - }, - "tools/webpack-plugin": { - "name": "@backtrace/webpack-plugin", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "webpack": "^5.85.0 || ^4.46.0" - } - } - }, - "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.1", - "requires": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" - }, - "dependencies": { - "typical": { - "version": "7.1.1" - } - } - }, - "@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.22.0", - "dev": true - }, - "@babel/core": { - "version": "7.22.1", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helpers": "^7.22.0", - "@babel/parser": "^7.22.0", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "dev": true - }, - "json5": { - "version": "2.2.3", - "dev": true - }, - "semver": { - "version": "6.3.0", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.22.0", - "dev": true, - "requires": { - "@babel/types": "^7.22.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.1", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.1", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/types": "^7.21.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.1", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.21.5", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true - }, - "@babel/helpers": { - "version": "7.22.0", - "dev": true, - "requires": { - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.0", - "@babel/types": "^7.22.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.22.0", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/runtime": { - "version": "7.22.6", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.21.9", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" - } - }, - "@babel/traverse": { - "version": "7.22.1", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.22.0", - "@babel/types": "^7.22.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.22.0", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@backtrace/browser": { - "version": "file:packages/browser", - "requires": { - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace/browser-example": { - "version": "file:examples/sdk/browser", - "requires": { - "@reduxjs/toolkit": "^1.9.5", - "serve": "^14.2.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@discoveryjs/json-ext": { - "version": "0.5.7", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@types/eslint": { - "version": "8.44.2", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.12", - "dev": true - }, - "@types/node": { - "version": "20.5.0", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.9.0", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "dev": true, - "requires": {} - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.10", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "buffer-from": { - "version": "1.1.2", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001521", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "colorette": { - "version": "2.0.20", - "dev": true - }, - "commander": { - "version": "2.20.3", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "electron-to-chromium": { - "version": "1.4.495", - "dev": true - }, - "enhanced-resolve": { - "version": "5.15.0", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "envinfo": { - "version": "7.10.0", - "dev": true - }, - "es-module-lexer": { - "version": "1.3.0", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - }, - "events": { - "version": "3.3.0", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "glob-to-regexp": { - "version": "0.4.1", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "dev": true - }, - "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "interpret": { - "version": "3.1.1", - "dev": true - }, - "is-core-module": { - "version": "2.13.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "dev": true - }, - "jest-worker": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "dev": true - }, - "loader-runner": { - "version": "4.3.0", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "neo-async": { - "version": "2.6.2", - "dev": true - }, - "node-releases": { - "version": "2.0.13", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rechoir": { - "version": "0.8.0", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "resolve": { - "version": "1.22.4", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "dev": true - }, - "schema-utils": { - "version": "3.3.0", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-javascript": { - "version": "6.0.1", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "shallow-clone": { - "version": "3.0.1", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "dev": true - }, - "terser": { - "version": "5.19.2", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - } - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ts-loader": { - "version": "9.4.4", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - } - }, - "typescript": { - "version": "5.1.6", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "watchpack": { - "version": "2.4.0", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webpack": { - "version": "5.88.2", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } - }, - "webpack-cli": { - "version": "5.1.4", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "10.0.1", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.9.0", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "dev": true - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.1", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@backtrace/javascript-cli": { - "version": "file:tools/cli", - "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - } - }, - "@backtrace/node": { - "version": "file:packages/node", - "requires": { - "@backtrace/sdk-core": "^0.0.1", - "@types/jest": "^29.5.1", - "form-data": "^4.0.0", - "jest": "^29.5.0", - "native-reg": "^1.1.1", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - } - }, - "@backtrace/node-example": { - "version": "file:examples/sdk/node", - "requires": { - "typescript": "^5.1.3" - }, - "dependencies": { - "typescript": { - "version": "5.1.6", - "dev": true - } - } - }, - "@backtrace/react": { - "version": "file:packages/react", - "requires": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace/react-example": { - "version": "file:examples/sdk/react", - "requires": { - "@types/react": "^16.14.0", - "@types/react-dom": "^18.2.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "react-toastify": "^9.1.3", - "serve": "^14.2.0", - "typescript": "^4.9.5", - "web-vitals": "^2.1.4" - }, - "dependencies": { - "@alloc/quick-lru": { - "version": "5.2.0" - }, - "@ampproject/remapping": { - "version": "2.2.1", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.5", - "requires": { - "@babel/highlight": "^7.22.5" - } - }, - "@babel/compat-data": { - "version": "7.22.5" - }, - "@babel/core": { - "version": "7.22.5", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/eslint-parser": { - "version": "7.22.5", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0" - }, - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/generator": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.5", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "requires": { - "@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.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5" - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.5", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.5", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5" - }, - "@babel/helper-validator-option": { - "version": "7.22.5" - }, - "@babel/helper-wrap-function": { - "version": "7.22.5", - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helpers": { - "version": "7.22.5", - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.5", - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.22.5" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/plugin-syntax-decorators": "^7.22.5" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "requires": { - "@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": { - "version": "7.18.6", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "requires": {} - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "requires": { - "@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": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "requires": { - "@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": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "requires": { - "@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": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.5", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.22.5", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.5", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.5", - "@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.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@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.5", - "@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.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - } - }, - "@babel/preset-typescript": { - "version": "7.22.5", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" - } - }, - "@babel/regjsgen": { - "version": "0.8.0" - }, - "@babel/runtime": { - "version": "7.22.5", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.22.5", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.5", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.22.5", - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3" - }, - "@csstools/normalize.css": { - "version": "12.0.0" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.2.0", - "requires": {} - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1" - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" - }, - "dependencies": { - "argparse": { - "version": "2.0.1" - }, - "globals": { - "version": "13.20.0", - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2" - } - } - }, - "@eslint/js": { - "version": "8.43.0" - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1" - }, - "find-up": { - "version": "4.1.0", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3" - }, - "@jest/console": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "source-map": { - "version": "0.6.1" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - } - } - }, - "@jest/test-result": { - "version": "27.5.1", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "source-map": { - "version": "0.6.1" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0" - }, - "@jridgewell/set-array": { - "version": "1.1.2" - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14" - } - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4" - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "requires": { - "eslint-scope": "5.1.1" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - } - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.3.2" - }, - "@sinclair/typebox": { - "version": "0.24.51" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2" - }, - "@trysound/sax": { - "version": "0.2.0" - }, - "@types/babel__core": { - "version": "7.20.1", - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.0", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.40.2", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1" - }, - "@types/express": { - "version": "4.17.17", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.35", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0" - }, - "@types/http-errors": { - "version": "2.0.1" - }, - "@types/http-proxy": { - "version": "1.17.11", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.12" - }, - "@types/json5": { - "version": "0.0.29" - }, - "@types/mime": { - "version": "1.3.2" - }, - "@types/node": { - "version": "16.18.37" - }, - "@types/parse-json": { - "version": "4.0.0" - }, - "@types/prettier": { - "version": "2.7.3" - }, - "@types/prop-types": { - "version": "15.7.5" - }, - "@types/q": { - "version": "1.5.5" - }, - "@types/qs": { - "version": "6.9.7" - }, - "@types/range-parser": { - "version": "1.2.4" - }, - "@types/react": { - "version": "16.14.43", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.6", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0" - }, - "@types/scheduler": { - "version": "0.16.3" - }, - "@types/semver": { - "version": "7.5.0" - }, - "@types/send": { - "version": "0.17.1", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.1", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.2", - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1" - }, - "@types/trusted-types": { - "version": "2.0.3" - }, - "@types/ws": { - "version": "8.5.5", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0" - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.60.1", - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/type-utils": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.60.1", - "requires": { - "@typescript-eslint/utils": "5.60.1" - } - }, - "@typescript-eslint/parser": { - "version": "5.60.1", - "requires": { - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.60.1", - "requires": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.60.1", - "requires": { - "@typescript-eslint/typescript-estree": "5.60.1", - "@typescript-eslint/utils": "5.60.1", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.60.1" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.60.1", - "requires": { - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/visitor-keys": "5.60.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.60.1", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.60.1", - "@typescript-eslint/types": "5.60.1", - "@typescript-eslint/typescript-estree": "5.60.1", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.60.1", - "requires": { - "@typescript-eslint/types": "5.60.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0" - }, - "@xtuc/long": { - "version": "4.2.2" - }, - "abab": { - "version": "2.0.6" - }, - "acorn": { - "version": "8.9.0" - }, - "acorn-globals": { - "version": "6.0.0", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1" - } - } - }, - "acorn-import-assertions": { - "version": "1.9.0", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0" - }, - "address": { - "version": "1.2.2" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.2", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "requires": {} - }, - "ansi-escapes": { - "version": "4.3.2", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8" - }, - "ansi-regex": { - "version": "5.0.1" - }, - "ansi-styles": { - "version": "3.2.1", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0" - }, - "anymatch": { - "version": "3.1.3", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "5.3.0", - "requires": { - "dequal": "^2.0.3" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "2.1.2" - }, - "array-includes": { - "version": "3.1.6", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0" - }, - "array.prototype.flat": { - "version": "1.3.1", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "asap": { - "version": "2.0.6" - }, - "ast-types-flow": { - "version": "0.0.7" - }, - "async": { - "version": "3.2.4" - }, - "asynckit": { - "version": "0.4.0" - }, - "at-least-node": { - "version": "1.0.0" - }, - "autoprefixer": { - "version": "10.4.14", - "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5" - }, - "axe-core": { - "version": "4.7.2" - }, - "axobject-query": { - "version": "3.2.1", - "requires": { - "dequal": "^2.0.3" - } - }, - "babel-jest": { - "version": "27.5.1", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.3.0", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "requires": { - "@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" - } - }, - "balanced-match": { - "version": "1.0.2" - }, - "batch": { - "version": "0.6.1" - }, - "bfj": { - "version": "7.0.2", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2" - }, - "binary-extensions": { - "version": "2.2.0" - }, - "bluebird": { - "version": "3.7.2" - }, - "body-parser": { - "version": "1.20.1", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2" - }, - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0" - } - } - }, - "bonjour-service": { - "version": "1.1.1", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0" - }, - "brace-expansion": { - "version": "1.1.11", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0" - }, - "browserslist": { - "version": "4.21.9", - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "bser": { - "version": "2.1.1", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2" - }, - "builtin-modules": { - "version": "3.3.0" - }, - "call-bind": { - "version": "1.0.2", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0" - }, - "camel-case": { - "version": "4.1.2", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0" - }, - "camelcase-css": { - "version": "2.0.1" - }, - "caniuse-api": { - "version": "3.0.0", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001508" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0" - }, - "chalk": { - "version": "2.4.2", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2" - }, - "check-types": { - "version": "11.2.2" - }, - "chokidar": { - "version": "3.5.3", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.3" - }, - "ci-info": { - "version": "3.8.0" - }, - "cjs-module-lexer": { - "version": "1.2.3" - }, - "clean-css": { - "version": "5.3.2", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - } - } - }, - "cliui": { - "version": "7.0.4", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clsx": { - "version": "1.2.1" - }, - "co": { - "version": "4.6.0" - }, - "coa": { - "version": "2.0.2", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.1" - }, - "color-convert": { - "version": "1.9.3", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3" - }, - "colord": { - "version": "2.9.3" - }, - "colorette": { - "version": "2.0.20" - }, - "combined-stream": { - "version": "1.0.8", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0" - }, - "common-path-prefix": { - "version": "3.0.0" - }, - "common-tags": { - "version": "1.8.2" - }, - "commondir": { - "version": "1.0.1" - }, - "concat-map": { - "version": "0.0.1" - }, - "confusing-browser-globals": { - "version": "1.0.11" - }, - "connect-history-api-fallback": { - "version": "2.0.0" - }, - "content-disposition": { - "version": "0.5.4", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5" - }, - "convert-source-map": { - "version": "1.9.0" - }, - "cookie": { - "version": "0.5.0" - }, - "cookie-signature": { - "version": "1.0.6" - }, - "core-js": { - "version": "3.31.0" - }, - "core-js-compat": { - "version": "3.31.0", - "requires": { - "browserslist": "^4.21.5" - } - }, - "core-js-pure": { - "version": "3.31.0" - }, - "core-util-is": { - "version": "1.0.3" - }, - "cosmiconfig": { - "version": "7.1.0", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0" - }, - "css-blank-pseudo": { - "version": "3.0.3", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-declaration-sorter": { - "version": "6.4.0", - "requires": {} - }, - "css-has-pseudo": { - "version": "3.0.4", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.8.1", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - }, - "schema-utils": { - "version": "4.2.0", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "source-map": { - "version": "0.6.1" - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "requires": {} - }, - "css-select": { - "version": "4.3.0", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - } - } - }, - "css-what": { - "version": "6.1.0" - }, - "cssdb": { - "version": "7.6.0" - }, - "cssesc": { - "version": "3.0.0" - }, - "cssnano": { - "version": "5.1.15", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14" - }, - "source-map": { - "version": "0.6.1" - } - } - }, - "cssom": { - "version": "0.4.4" - }, - "cssstyle": { - "version": "2.3.0", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8" - } - } - }, - "csstype": { - "version": "3.1.2" - }, - "damerau-levenshtein": { - "version": "1.0.8" - }, - "data-urls": { - "version": "2.0.0", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3" - }, - "dedent": { - "version": "0.7.0" - }, - "deep-is": { - "version": "0.1.4" - }, - "deepmerge": { - "version": "4.3.1" - }, - "default-gateway": { - "version": "6.0.3", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0" - }, - "define-properties": { - "version": "1.2.0", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0" - }, - "depd": { - "version": "2.0.0" - }, - "dequal": { - "version": "2.0.3" - }, - "destroy": { - "version": "1.2.0" - }, - "detect-newline": { - "version": "3.1.0" - }, - "detect-node": { - "version": "2.1.0" - }, - "detect-port-alt": { - "version": "1.1.6", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0" - } - } - }, - "didyoumean": { - "version": "1.2.2" - }, - "diff-sequences": { - "version": "27.5.1" - }, - "dir-glob": { - "version": "3.0.1", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3" - }, - "dns-equal": { - "version": "1.0.0" - }, - "dns-packet": { - "version": "5.6.0", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "1.4.1", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0" - }, - "domexception": { - "version": "2.0.1", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0" - } - } - }, - "domhandler": { - "version": "4.3.1", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv": { - "version": "10.0.0" - }, - "dotenv-expand": { - "version": "5.1.0" - }, - "duplexer": { - "version": "0.1.2" - }, - "ee-first": { - "version": "1.1.1" - }, - "ejs": { - "version": "3.1.9", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.441" - }, - "emittery": { - "version": "0.8.1" - }, - "emoji-regex": { - "version": "9.2.2" - }, - "emojis-list": { - "version": "3.0.0" - }, - "encodeurl": { - "version": "1.0.2" - }, - "enhanced-resolve": { - "version": "5.15.0", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0" - }, - "error-ex": { - "version": "1.3.2", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.21.2", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0" - }, - "es-module-lexer": { - "version": "1.3.0" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1" - }, - "escape-html": { - "version": "1.0.3" - }, - "escape-string-regexp": { - "version": "1.0.5" - }, - "escodegen": { - "version": "2.0.0", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2" - }, - "source-map": { - "version": "0.6.1", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.43.0", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.43.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1" - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "escape-string-regexp": { - "version": "4.0.0" - }, - "globals": { - "version": "13.20.0", - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0" - }, - "js-yaml": { - "version": "4.1.0", - "requires": { - "argparse": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2" - } - } - }, - "eslint-config-react-app": { - "version": "7.0.1", - "requires": { - "@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.0.1", - "confusing-browser-globals": "^1.0.11", - "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": { - "version": "0.3.7", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "requires": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.0" - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "eslint-plugin-react": { - "version": "7.32.2", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "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.0", - "string.prototype.matchall": "^4.0.8" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "5.11.0", - "requires": { - "@typescript-eslint/utils": "^5.58.0" - } - }, - "eslint-scope": { - "version": "7.2.0", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1" - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "has-flag": { - "version": "4.0.0" - }, - "jest-worker": { - "version": "28.1.3", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - }, - "schema-utils": { - "version": "4.2.0", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "supports-color": { - "version": "8.1.1", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "9.5.2", - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1" - }, - "esquery": { - "version": "1.5.0", - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0" - }, - "estree-walker": { - "version": "1.0.1" - }, - "esutils": { - "version": "2.0.3" - }, - "etag": { - "version": "1.8.1" - }, - "eventemitter3": { - "version": "4.0.7" - }, - "events": { - "version": "3.3.0" - }, - "execa": { - "version": "5.1.1", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2" - }, - "expect": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "express": { - "version": "4.18.2", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1" - }, - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0" - } - } - }, - "fast-deep-equal": { - "version": "3.1.3" - }, - "fast-glob": { - "version": "3.2.12", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0" - }, - "fast-levenshtein": { - "version": "2.0.6" - }, - "fastq": { - "version": "1.15.0", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "filelist": { - "version": "1.0.4", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "filesize": { - "version": "8.0.7" - }, - "fill-range": { - "version": "7.0.1", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7" - }, - "follow-redirects": { - "version": "1.15.2" - }, - "for-each": { - "version": "0.3.3", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "cosmiconfig": { - "version": "6.0.0", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0" - }, - "schema-utils": { - "version": "2.7.0", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3" - } - } - }, - "form-data": { - "version": "3.0.1", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0" - }, - "fraction.js": { - "version": "4.2.0" - }, - "fresh": { - "version": "0.5.2" - }, - "fs-extra": { - "version": "10.1.0", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.4" - }, - "fs.realpath": { - "version": "1.0.0" - }, - "fsevents": { - "version": "2.3.2", - "optional": true - }, - "function-bind": { - "version": "1.1.1" - }, - "function.prototype.name": { - "version": "1.1.5", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3" - }, - "gensync": { - "version": "1.0.0-beta.2" - }, - "get-caller-file": { - "version": "2.0.5" - }, - "get-intrinsic": { - "version": "1.2.1", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2" - }, - "get-package-type": { - "version": "0.1.0" - }, - "get-stream": { - "version": "6.0.1" - }, - "get-symbol-description": { - "version": "1.0.0", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "requires": { - "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" - } - }, - "glob-parent": { - "version": "6.0.2", - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1" - }, - "global-modules": { - "version": "2.0.0", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0" - }, - "globalthis": { - "version": "1.0.3", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "requires": { - "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": { - "version": "1.0.1", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11" - }, - "grapheme-splitter": { - "version": "1.0.4" - }, - "graphemer": { - "version": "1.4.0" - }, - "gzip-size": { - "version": "6.0.0", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1" - }, - "harmony-reflect": { - "version": "1.6.2" - }, - "has": { - "version": "1.0.3", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2" - }, - "has-flag": { - "version": "3.0.0" - }, - "has-property-descriptors": { - "version": "1.0.0", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1" - }, - "has-symbols": { - "version": "1.0.3" - }, - "has-tostringtag": { - "version": "1.0.0", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0" - }, - "hoopy": { - "version": "0.1.4" - }, - "hpack.js": { - "version": "2.1.6", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0" - }, - "readable-stream": { - "version": "2.3.8", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2" - }, - "string_decoder": { - "version": "1.1.1", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.4.0" - }, - "html-escaper": { - "version": "2.0.2" - }, - "html-minifier-terser": { - "version": "6.1.0", - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, - "html-webpack-plugin": { - "version": "5.5.3", - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7" - }, - "http-errors": { - "version": "2.0.0", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8" - }, - "http-proxy": { - "version": "1.18.1", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0" - }, - "iconv-lite": { - "version": "0.6.3", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "icss-utils": { - "version": "5.1.0", - "requires": {} - }, - "idb": { - "version": "7.1.1" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ignore": { - "version": "5.2.4" - }, - "immer": { - "version": "9.0.21" - }, - "import-fresh": { - "version": "3.3.0", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0" - } - } - }, - "import-local": { - "version": "3.1.0", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4" - }, - "inflight": { - "version": "1.0.6", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4" - }, - "internal-slot": { - "version": "1.0.5", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "ipaddr.js": { - "version": "2.1.0" - }, - "is-array-buffer": { - "version": "3.0.2", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1" - }, - "is-bigint": { - "version": "1.0.4", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7" - }, - "is-core-module": { - "version": "2.12.1", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1" - }, - "is-fullwidth-code-point": { - "version": "3.0.0" - }, - "is-generator-fn": { - "version": "2.1.0" - }, - "is-glob": { - "version": "4.0.3", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-module": { - "version": "1.0.0" - }, - "is-negative-zero": { - "version": "2.0.2" - }, - "is-number": { - "version": "7.0.0" - }, - "is-number-object": { - "version": "1.0.7", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1" - }, - "is-path-inside": { - "version": "3.0.3" - }, - "is-plain-obj": { - "version": "3.0.0" - }, - "is-potential-custom-element-name": { - "version": "1.0.1" - }, - "is-regex": { - "version": "1.1.4", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0" - }, - "is-root": { - "version": "2.1.0" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1" - }, - "is-string": { - "version": "1.0.7", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "requires": { - "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" - } - }, - "is-typedarray": { - "version": "1.0.0" - }, - "is-weakref": { - "version": "1.0.2", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-wsl": { - "version": "2.2.0", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5" - }, - "isexe": { - "version": "2.0.0" - }, - "istanbul-lib-coverage": { - "version": "3.2.0" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.7", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest": { - "version": "27.5.1", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1" - }, - "jest-haste-map": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1" - }, - "jest-resolve": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watch-typeahead": { - "version": "1.1.0", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "28.1.3", - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@types/yargs": { - "version": "17.0.24", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "emittery": { - "version": "0.10.2" - }, - "has-flag": { - "version": "4.0.0" - }, - "jest-message-util": { - "version": "28.1.3", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0" - } - } - }, - "jest-regex-util": { - "version": "28.0.2" - }, - "jest-util": { - "version": "28.1.3", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "string-length": { - "version": "4.0.2", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-format": { - "version": "28.1.3", - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0" - } - } - }, - "react-is": { - "version": "18.2.0" - }, - "slash": { - "version": "4.0.0" - }, - "string-length": { - "version": "5.0.1", - "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "char-regex": { - "version": "2.0.1" - } - } - }, - "strip-ansi": { - "version": "7.1.0", - "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1" - } - } - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.5.1", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "8.1.1", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "1.18.2" - }, - "js-tokens": { - "version": "4.0.0" - }, - "js-yaml": { - "version": "3.14.1", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2" - }, - "json-parse-even-better-errors": { - "version": "2.3.1" - }, - "json-schema": { - "version": "0.4.0" - }, - "json-schema-traverse": { - "version": "0.4.1" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1" - }, - "json5": { - "version": "2.2.3" - }, - "jsonfile": { - "version": "6.1.0", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonpointer": { - "version": "5.0.1" - }, - "jsx-ast-utils": { - "version": "3.3.3", - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "kind-of": { - "version": "6.0.3" - }, - "kleur": { - "version": "3.0.3" - }, - "klona": { - "version": "2.0.6" - }, - "language-subtag-registry": { - "version": "0.3.22" - }, - "language-tags": { - "version": "1.0.5", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "launch-editor": { - "version": "2.6.0", - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "leven": { - "version": "3.1.0" - }, - "levn": { - "version": "0.4.1", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.1.0" - }, - "lines-and-columns": { - "version": "1.2.4" - }, - "loader-runner": { - "version": "4.3.0" - }, - "loader-utils": { - "version": "2.0.4", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "6.0.0", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21" - }, - "lodash.debounce": { - "version": "4.0.8" - }, - "lodash.memoize": { - "version": "4.1.2" - }, - "lodash.merge": { - "version": "4.6.2" - }, - "lodash.sortby": { - "version": "4.7.0" - }, - "lodash.uniq": { - "version": "4.5.0" - }, - "loose-envify": { - "version": "1.4.0", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "5.1.1", - "requires": { - "yallist": "^3.0.2" - } - }, - "magic-string": { - "version": "0.25.9", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "make-dir": { - "version": "3.1.0", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0" - } - } - }, - "makeerror": { - "version": "1.0.12", - "requires": { - "tmpl": "1.0.5" - } - }, - "mdn-data": { - "version": "2.0.4" - }, - "media-typer": { - "version": "0.3.0" - }, - "memfs": { - "version": "3.5.3", - "requires": { - "fs-monkey": "^1.0.4" - } - }, - "merge-descriptors": { - "version": "1.0.1" - }, - "merge-stream": { - "version": "2.0.0" - }, - "merge2": { - "version": "1.4.1" - }, - "methods": { - "version": "1.1.2" - }, - "micromatch": { - "version": "4.0.5", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0" - }, - "mime-db": { - "version": "1.52.0" - }, - "mime-types": { - "version": "2.1.35", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0" - }, - "mini-css-extract-plugin": { - "version": "2.7.6", - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - }, - "schema-utils": { - "version": "4.2.0", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1" - }, - "minimatch": { - "version": "3.1.2", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8" - }, - "mkdirp": { - "version": "0.5.6", - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.1.2" - }, - "multicast-dns": { - "version": "7.2.5", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "mz": { - "version": "2.7.0", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanoid": { - "version": "3.3.6" - }, - "natural-compare": { - "version": "1.4.0" - }, - "natural-compare-lite": { - "version": "1.4.0" - }, - "neo-async": { - "version": "2.6.2" - }, - "no-case": { - "version": "3.0.4", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-forge": { - "version": "1.3.1" - }, - "node-int64": { - "version": "0.4.0" - }, - "node-releases": { - "version": "2.0.12" - }, - "normalize-path": { - "version": "3.0.0" - }, - "normalize-range": { - "version": "0.1.2" - }, - "normalize-url": { - "version": "6.1.0" - }, - "npm-run-path": { - "version": "4.0.1", - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.1.1", - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.5" - }, - "object-assign": { - "version": "4.1.1" - }, - "object-hash": { - "version": "3.0.0" - }, - "object-inspect": { - "version": "1.12.3" - }, - "object-keys": { - "version": "1.1.1" - }, - "object.assign": { - "version": "4.1.4", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - } - }, - "object.hasown": { - "version": "1.1.2", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "obuf": { - "version": "1.1.2" - }, - "on-finished": { - "version": "2.4.1", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.2", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-retry": { - "version": "4.6.2", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0" - }, - "param-case": { - "version": "3.0.4", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "6.0.1" - }, - "parseurl": { - "version": "1.3.3" - }, - "pascal-case": { - "version": "3.1.2", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0" - }, - "path-is-absolute": { - "version": "1.0.1" - }, - "path-key": { - "version": "3.1.1" - }, - "path-parse": { - "version": "1.0.7" - }, - "path-to-regexp": { - "version": "0.1.7" - }, - "path-type": { - "version": "4.0.0" - }, - "performance-now": { - "version": "2.1.0" - }, - "picocolors": { - "version": "1.0.0" - }, - "picomatch": { - "version": "2.3.1" - }, - "pify": { - "version": "2.3.0" - }, - "pirates": { - "version": "4.0.6" - }, - "pkg-dir": { - "version": "4.2.0", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pkg-up": { - "version": "3.1.0", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0" - } - } - }, - "postcss": { - "version": "8.4.24", - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-browser-comments": { - "version": "4.0.0", - "requires": {} - }, - "postcss-calc": { - "version": "8.2.4", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-clamp": { - "version": "4.1.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.1", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.11", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "requires": {} - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "requires": {} - }, - "postcss-focus-visible": { - "version": "6.0.4", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.5", - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "15.1.0", - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "requires": {} - }, - "postcss-js": { - "version": "4.0.1", - "requires": { - "camelcase-css": "^2.0.1" - } - }, - "postcss-lab-function": { - "version": "4.2.1", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-load-config": { - "version": "4.0.1", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "dependencies": { - "yaml": { - "version": "2.3.1" - } - } - }, - "postcss-loader": { - "version": "6.2.1", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "postcss-logical": { - "version": "5.0.4", - "requires": {} - }, - "postcss-media-minmax": { - "version": "5.0.0", - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.4", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.3", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nested": { - "version": "6.0.1", - "requires": { - "postcss-selector-parser": "^6.0.11" - } - }, - "postcss-nesting": { - "version": "10.2.0", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-normalize": { - "version": "10.0.1", - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-opacity-percentage": { - "version": "1.1.3", - "requires": {} - }, - "postcss-ordered-values": { - "version": "5.1.3", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-page-break": { - "version": "3.0.4", - "requires": {} - }, - "postcss-place": { - "version": "7.0.5", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.8.3", - "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-reduce-initial": { - "version": "5.1.2", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "requires": {} - }, - "postcss-selector-not": { - "version": "6.0.1", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "commander": { - "version": "7.2.0" - }, - "css-tree": { - "version": "1.1.3", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14" - }, - "source-map": { - "version": "0.6.1" - }, - "svgo": { - "version": "2.8.0", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0" - }, - "prelude-ls": { - "version": "1.2.1" - }, - "pretty-bytes": { - "version": "5.6.0" - }, - "pretty-error": { - "version": "4.0.0", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-format": { - "version": "27.5.1", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0" - } - } - }, - "process-nextick-args": { - "version": "2.0.1" - }, - "promise": { - "version": "8.3.0", - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1" - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1" - } - } - }, - "psl": { - "version": "1.9.0" - }, - "punycode": { - "version": "2.3.0" - }, - "q": { - "version": "1.5.1" - }, - "qs": { - "version": "6.11.0", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystringify": { - "version": "2.2.0" - }, - "queue-microtask": { - "version": "1.2.3" - }, - "raf": { - "version": "3.4.1", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1" - }, - "raw-body": { - "version": "2.5.1", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2" - }, - "iconv-lite": { - "version": "0.4.24", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "react": { - "version": "18.2.0", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-app-polyfill": { - "version": "3.0.0", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - } - }, - "react-dev-utils": { - "version": "12.0.1", + "@backtrace-labs/node": { + "version": "file:packages/node", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.1", + "@types/jest": "^29.5.1", + "form-data": "^4.0.0", + "jest": "^29.5.0", + "native-reg": "^1.1.1", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + } + }, + "@backtrace-labs/react": { + "version": "file:packages/react", + "requires": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + } + }, + "@backtrace-labs/react-native": { + "version": "file:packages/react-native", + "requires": { + "@backtrace-labs/react": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.1", + "@react-native-community/eslint-config": "^3.0.2", + "@release-it/conventional-changelog": "^5.0.0", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "del-cli": "^5.0.0", + "eslint": "^8.4.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^28.1.1", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - }, - "escape-string-regexp": { - "version": "4.0.0" - }, - "has-flag": { - "version": "4.0.0" - }, - "loader-utils": { - "version": "3.2.1" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" } }, - "react-dom": { - "version": "18.2.0", + "@jest/core": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "dev": true, "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "@jest/console": "^28.1.3", + "@jest/reporters": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^28.1.3", + "jest-config": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-resolve-dependencies": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "jest-watcher": "^28.1.3", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "react-error-overlay": { - "version": "6.0.11" - }, - "react-is": { - "version": "17.0.2" - }, - "react-refresh": { - "version": "0.11.0" - }, - "react-scripts": { - "version": "5.0.1", + "@jest/environment": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "dev": true, "requires": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "fsevents": "^2.3.2", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3" } }, - "react-toastify": { - "version": "9.1.3", + "@jest/expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "dev": true, "requires": { - "clsx": "^1.1.1" + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" } }, - "read-cache": { - "version": "1.0.0", + "@jest/expect-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", + "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "dev": true, "requires": { - "pify": "^2.3.0" + "jest-get-type": "^28.0.2" } }, - "readable-stream": { - "version": "3.6.2", + "@jest/fake-timers": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", + "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@jest/types": "^28.1.3", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" } }, - "readdirp": { - "version": "3.6.0", + "@jest/globals": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "dev": true, "requires": { - "picomatch": "^2.2.1" + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" } }, - "recursive-readdir": { - "version": "2.2.3", + "@jest/reporters": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", + "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "dev": true, "requires": { - "minimatch": "^3.0.5" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" } }, - "regenerate": { - "version": "1.4.2" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dev": true, "requires": { - "regenerate": "^1.4.2" + "@sinclair/typebox": "^0.24.1" } }, - "regenerator-runtime": { - "version": "0.13.11" - }, - "regenerator-transform": { - "version": "0.15.1", + "@jest/source-map": { + "version": "28.1.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "dev": true, "requires": { - "@babel/runtime": "^7.8.4" + "@jridgewell/trace-mapping": "^0.3.13", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" } }, - "regex-parser": { - "version": "2.2.11" - }, - "regexp.prototype.flags": { - "version": "1.5.0", + "@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "regexpu-core": { - "version": "5.3.2", + "@jest/test-sequencer": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", + "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "dev": true, "requires": { - "@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" + "@jest/test-result": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "slash": "^3.0.0" } }, - "regjsparser": { - "version": "0.9.1", + "@jest/transform": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", + "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "dev": true, "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0" - } + "@babel/core": "^7.11.6", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" } }, - "relateurl": { - "version": "0.2.7" - }, - "renderkid": { - "version": "3.0.0", + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" + "@jest/schemas": "^28.1.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" } }, - "require-directory": { - "version": "2.1.1" - }, - "requires-port": { - "version": "1.0.0" + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true }, - "resolve": { - "version": "1.22.2", + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "type-detect": "4.0.8" } }, - "resolve-cwd": { - "version": "3.0.0", + "@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, "requires": { - "resolve-from": "^5.0.0" + "@sinonjs/commons": "^1.7.0" } }, - "resolve-from": { - "version": "5.0.0" - }, - "resolve-url-loader": { - "version": "4.0.0", + "@types/react": { + "version": "17.0.65", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", + "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", + "dev": true, "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1" - }, - "postcss": { - "version": "7.0.39", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1" - } + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "resolve.exports": { - "version": "1.1.1" - }, - "retry": { - "version": "0.13.1" - }, - "reusify": { - "version": "1.0.4" + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true }, - "rimraf": { - "version": "3.0.2", + "babel-jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", + "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "dev": true, "requires": { - "glob": "^7.1.3" + "@jest/transform": "^28.1.3", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^28.1.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" } }, - "rollup": { - "version": "2.79.1", + "babel-plugin-jest-hoist": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", + "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "dev": true, "requires": { - "fsevents": "~2.3.2" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" } }, - "rollup-plugin-terser": { - "version": "7.0.2", + "babel-preset-jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", + "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0" - }, - "jest-worker": { - "version": "26.6.2", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } + "babel-plugin-jest-hoist": "^28.1.3", + "babel-preset-current-node-syntax": "^1.0.0" } }, - "run-parallel": { - "version": "1.2.0", - "requires": { - "queue-microtask": "^1.2.2" - } + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true }, - "safe-array-concat": { - "version": "1.0.0", + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, - "safe-buffer": { - "version": "5.2.1" + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true }, - "safe-regex-test": { - "version": "1.0.0", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } + "diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true }, - "safer-buffer": { - "version": "2.1.2" + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true }, - "sanitize.css": { - "version": "13.0.0" + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "sass-loader": { - "version": "12.6.0", + "expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "dev": true, "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" } }, - "sax": { - "version": "1.2.4" - }, - "saxes": { - "version": "5.0.1", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "xmlchars": "^2.2.0" + "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" } }, - "scheduler": { - "version": "0.23.0", + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, "requires": { - "loose-envify": "^1.1.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "schema-utils": { - "version": "3.3.0", + "jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", + "import-local": "^3.0.2", + "jest-cli": "^28.1.3" } }, - "select-hose": { - "version": "2.0.0" - }, - "selfsigned": { - "version": "2.1.1", + "jest-changed-files": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", + "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "dev": true, "requires": { - "node-forge": "^1" + "execa": "^5.0.0", + "p-limit": "^3.1.0" } }, - "semver": { - "version": "7.5.3", + "jest-circus": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", + "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "dev": true, "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0" - } + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "p-limit": "^3.1.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" } }, - "send": { - "version": "0.18.0", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0" - } - } - }, - "ms": { - "version": "2.1.3" - } + "jest-cli": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", + "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "dev": true, + "requires": { + "@jest/core": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" } }, - "serialize-javascript": { - "version": "6.0.1", + "jest-config": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", + "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "dev": true, "requires": { - "randombytes": "^2.1.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^28.1.3", + "@jest/types": "^28.1.3", + "babel-jest": "^28.1.3", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^28.1.3", + "jest-environment-node": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" } }, - "serve-index": { - "version": "1.9.1", + "jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2" - }, - "http-errors": { - "version": "1.6.3", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3" - }, - "ms": { - "version": "2.0.0" - }, - "setprototypeof": { - "version": "1.1.0" - }, - "statuses": { - "version": "1.5.0" - } + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" } }, - "serve-static": { - "version": "1.15.0", + "jest-docblock": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "detect-newline": "^3.0.0" } }, - "setprototypeof": { - "version": "1.2.0" - }, - "shebang-command": { - "version": "2.0.0", + "jest-each": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", + "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.3", + "pretty-format": "^28.1.3" } }, - "shebang-regex": { - "version": "3.0.0" - }, - "shell-quote": { - "version": "1.8.1" - }, - "side-channel": { - "version": "1.0.4", + "jest-environment-node": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", + "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "dev": true, "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" } }, - "signal-exit": { - "version": "3.0.7" - }, - "sisteransi": { - "version": "1.0.5" - }, - "slash": { - "version": "3.0.0" + "jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true }, - "sockjs": { - "version": "0.3.24", + "jest-haste-map": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", + "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "dev": true, "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "@jest/types": "^28.1.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "micromatch": "^4.0.4", + "walker": "^1.0.8" } }, - "source-list-map": { - "version": "2.0.1" - }, - "source-map": { - "version": "0.7.4" - }, - "source-map-js": { - "version": "1.0.2" - }, - "source-map-loader": { - "version": "3.0.2", + "jest-leak-detector": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", + "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "dev": true, "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" } }, - "source-map-support": { - "version": "0.5.21", + "jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - } + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" } }, - "sourcemap-codec": { - "version": "1.4.8" - }, - "spdy": { - "version": "4.0.2", + "jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dev": true, "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" } }, - "spdy-transport": { - "version": "3.0.0", + "jest-mock": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", + "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "dev": true, "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "@jest/types": "^28.1.3", + "@types/node": "*" } }, - "sprintf-js": { - "version": "1.0.3" - }, - "stable": { - "version": "0.1.8" + "jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "dev": true }, - "stack-utils": { - "version": "2.0.6", + "jest-resolve": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", + "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "dev": true, "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0" - } + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" } }, - "stackframe": { - "version": "1.3.4" - }, - "statuses": { - "version": "2.0.1" - }, - "string_decoder": { - "version": "1.3.0", + "jest-resolve-dependencies": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", + "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" } }, - "string-length": { - "version": "4.0.2", + "jest-runner": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", + "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "dev": true, "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "@jest/console": "^28.1.3", + "@jest/environment": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-leak-detector": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-resolve": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-util": "^28.1.3", + "jest-watcher": "^28.1.3", + "jest-worker": "^28.1.3", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" } }, - "string-natural-compare": { - "version": "3.0.1" - }, - "string-width": { - "version": "4.2.3", + "jest-runtime": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", + "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0" - } + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/globals": "^28.1.3", + "@jest/source-map": "^28.1.2", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" } }, - "string.prototype.matchall": { - "version": "4.0.8", + "jest-snapshot": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "natural-compare": "^1.4.0", + "pretty-format": "^28.1.3", + "semver": "^7.3.5" } }, - "string.prototype.trim": { - "version": "1.2.7", + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" } }, - "string.prototype.trimend": { - "version": "1.0.6", + "jest-validate": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/types": "^28.1.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "leven": "^3.1.0", + "pretty-format": "^28.1.3" } }, - "string.prototype.trimstart": { - "version": "1.0.6", + "jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" } }, - "stringify-object": { - "version": "3.3.0", + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" } }, - "strip-ansi": { - "version": "6.0.1", + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "strip-bom": { - "version": "4.0.0" + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "strip-comments": { - "version": "2.0.1" + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true }, - "strip-final-newline": { - "version": "2.0.0" + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } }, - "strip-json-comments": { - "version": "3.1.1" + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } }, - "style-loader": { - "version": "3.3.3", - "requires": {} + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true }, - "stylehacks": { - "version": "5.1.1", + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" + "has-flag": "^4.0.0" } }, - "sucrase": { - "version": "3.32.0", + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "commander": { - "version": "4.1.1" - }, - "glob": { - "version": "7.1.6", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "color-convert": "^2.0.1" } } } }, - "supports-color": { - "version": "5.5.0", + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, "requires": { - "has-flag": "^3.0.0" + "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" } }, - "supports-hyperlinks": { - "version": "2.3.0", + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "@backtrace-labs/rollup-plugin": { + "version": "file:tools/rollup-plugin", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "@backtrace-labs/sdk-core": { + "version": "file:packages/sdk-core", + "requires": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "@backtrace-labs/sourcemap-tools": { + "version": "file:tools/sourcemap-tools", + "requires": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "archiver": "^5.3.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "source-map": "^0.7.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "@backtrace-labs/vite-plugin": { + "version": "file:tools/vite-plugin", + "requires": { + "@backtrace-labs/rollup-plugin": "^0.0.1", + "typescript": "^5.0.4" + } + }, + "@backtrace-labs/webpack-plugin": { + "version": "file:tools/webpack-plugin", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "optional": true, + "peer": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "optional": true, + "peer": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "optional": true, + "peer": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "optional": true, + "peer": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "optional": true, + "peer": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "optional": true, + "peer": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "optional": true, + "peer": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "optional": true, + "peer": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "optional": true, + "peer": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "optional": true, + "peer": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "optional": true, + "peer": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "optional": true, + "peer": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "optional": true, + "peer": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "optional": true, + "peer": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "optional": true, + "peer": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "optional": true, + "peer": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", + "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "requires": { + "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": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, + "@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "dev": true, + "peer": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0" - }, - "supports-color": { - "version": "7.2.0", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0" - }, - "svg-parser": { - "version": "2.0.4" - }, - "svgo": { - "version": "1.3.2", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2" - }, - "dom-serializer": { - "version": "0.2.2", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1" - } - } - }, - "nth-check": { - "version": "1.0.2", - "requires": { - "boolbase": "~1.0.0" - } - } + "ansi-regex": "^6.0.1" } - }, - "symbol-tree": { - "version": "3.2.4" - }, - "tailwindcss": { - "version": "3.3.2", + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "sprintf-js": "~1.0.2" } }, - "tapable": { - "version": "2.2.1" - }, - "temp-dir": { - "version": "2.0.0" - }, - "tempy": { - "version": "0.6.0", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0" - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "terminal-link": { - "version": "2.1.1", + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "terser": { - "version": "5.18.2", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3" - } + "p-locate": "^4.1.0" } }, - "terser-webpack-plugin": { - "version": "5.3.9", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "p-try": "^2.0.0" } }, - "test-exclude": { - "version": "6.0.0", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "p-limit": "^2.2.0" } }, - "text-table": { - "version": "0.2.0" - }, - "thenify": { - "version": "3.3.1", - "requires": { - "any-promise": "^1.0.0" - } + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", + "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", + "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", + "dev": true, + "requires": { + "@jest/console": "^29.6.4", + "@jest/reporters": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.6.3", + "jest-config": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-resolve-dependencies": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "jest-watcher": "^29.6.4", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true }, - "thenify-all": { - "version": "1.6.0", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "requires": { - "thenify": ">= 3.1.0 < 4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "throat": { - "version": "6.0.2" - }, - "thunky": { - "version": "1.1.0" - }, - "tmpl": { - "version": "1.0.5" - }, - "to-fast-properties": { - "version": "2.0.0" - }, - "to-regex-range": { - "version": "5.0.1", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@jest/create-cache-key-function": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.3.tgz", + "integrity": "sha512-kzSK9XAxtD1kRPJKxsmD0YKw2fyXveP+5ikeQkCYCHeacWW1EGYMTgjDIM/Di4Uhttx7lnHwrNpz2xn+0rTp8g==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3" + } + }, + "@jest/environment": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", + "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3" + } + }, + "@jest/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", + "dev": true, + "requires": { + "expect": "^29.6.4", + "jest-snapshot": "^29.6.4" + } + }, + "@jest/expect-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", + "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", + "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + } + }, + "@jest/globals": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", + "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/types": "^29.6.3", + "jest-mock": "^29.6.3" + } + }, + "@jest/reporters": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", + "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "is-number": "^7.0.0" + "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" } - }, - "toidentifier": { - "version": "1.0.1" - }, - "tough-cookie": { - "version": "4.1.3", + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", + "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", + "dev": true, + "requires": { + "@jest/console": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", + "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", + "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "requires": { + "@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": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/auth-token": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "dev": true, + "peer": true + }, + "@octokit/core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", + "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", + "dev": true, + "peer": true, + "requires": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "dev": true, + "peer": true, + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "peer": true + } + } + }, + "@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dev": true, + "peer": true, + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", + "dev": true, + "peer": true + }, + "@octokit/plugin-paginate-rest": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", + "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", + "dev": true, + "peer": true, + "requires": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "peer": true, + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", + "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", + "dev": true, + "peer": true, + "requires": { + "@octokit/types": "^10.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", + "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", + "dev": true, + "peer": true, "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0" - } + "@octokit/openapi-types": "^18.0.0" } - }, - "tr46": { - "version": "2.1.0", + } + } + }, + "@octokit/request": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", + "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", + "dev": true, + "peer": true, + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "peer": true + } + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dev": true, + "peer": true, + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/rest": { + "version": "19.0.11", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", + "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", + "dev": true, + "peer": true, + "requires": { + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.2", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.1.2" + } + }, + "@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", + "dev": true, + "peer": true + }, + "@octokit/types": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "dev": true, + "peer": true, + "requires": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, + "@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "dev": true, + "peer": true + }, + "@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "4.2.10" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true, + "peer": true + } + } + }, + "@pnpm/npm-conf": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", + "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "dev": true, + "peer": true, + "requires": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + } + }, + "@react-native-community/cli": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "dev": true, + "requires": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "requires": { - "punycode": "^2.1.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "tryer": { - "version": "1.0.1" - }, - "ts-interface-checker": { - "version": "0.1.13" - }, - "tsconfig-paths": { - "version": "3.14.2", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0" - } + "p-locate": "^4.1.0" } }, - "tslib": { - "version": "2.6.0" - }, - "tsutils": { - "version": "3.21.0", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1" - } + "p-try": "^2.0.0" } }, - "type-check": { - "version": "0.4.0", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8" - }, - "type-fest": { - "version": "0.21.3" - }, - "type-is": { - "version": "1.6.18", + "p-limit": "^2.2.0" + } + } + } + }, + "@react-native-community/cli-clean": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + } + }, + "@react-native-community/cli-config": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "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" } + } + } + }, + "@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "dev": true, + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-doctor": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", + "dev": true, + "requires": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true }, - "typed-array-length": { - "version": "1.0.4", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "ansi-regex": "^4.1.0" } - }, - "typedarray-to-buffer": { - "version": "3.1.5", + } + } + }, + "@react-native-community/cli-hermes": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "dev": true, + "requires": { + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } + }, + "@react-native-community/cli-platform-android": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "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" } - }, - "typescript": { - "version": "4.9.5" - }, - "unbox-primitive": { - "version": "1.0.2", + } + } + }, + "@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "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" } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", + } + } + }, + "@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", + "dev": true, + "requires": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + }, + "dependencies": { + "metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0" - }, - "unique-string": { - "version": "2.0.0", + } + } + }, + "@react-native-community/cli-server-api": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "dev": true, + "requires": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, "requires": { - "crypto-random-string": "^2.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" } }, - "universalify": { - "version": "2.0.0" - }, - "unpipe": { - "version": "1.0.0" - }, - "unquote": { - "version": "1.1.1" - }, - "upath": { - "version": "1.2.0" - }, - "update-browserslist-db": { - "version": "1.0.11", + "@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "@types/yargs-parser": "*" } }, - "uri-js": { - "version": "4.4.1", + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, "requires": { - "punycode": "^2.1.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } }, - "url-parse": { - "version": "1.5.10", + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + } + } + }, + "@react-native-community/cli-tools": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "dev": true, + "requires": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + } + }, + "@react-native-community/cli-types": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "dev": true, + "requires": { + "joi": "^17.2.1" + } + }, + "@react-native-community/eslint-config": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", + "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", + "dev": true, + "requires": { + "@babel/core": "^7.14.0", + "@babel/eslint-parser": "^7.18.2", + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + } + }, + "@react-native-community/eslint-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", + "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", + "dev": true + }, + "@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==", + "dev": true + }, + "@react-native/codegen": { + "version": "0.72.6", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", + "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + } + }, + "@react-native/gradle-plugin": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==", + "dev": true + }, + "@react-native/js-polyfills": { + "version": "0.72.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", + "dev": true + }, + "@react-native/normalize-colors": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==", + "dev": true + }, + "@react-native/virtualized-lists": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "dev": true, + "requires": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + } + }, + "@reduxjs/toolkit": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", + "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", + "dev": true, + "requires": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + } + }, + "@release-it/conventional-changelog": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-5.1.1.tgz", + "integrity": "sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog": "^3.1.25", + "conventional-recommended-bump": "^6.1.0", + "semver": "7.3.8" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "yallist": "^4.0.0" } }, - "util-deprecate": { - "version": "1.0.2" - }, - "util.promisify": { - "version": "1.0.1", + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "lru-cache": "^6.0.0" } + } + } + }, + "@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" + } + }, + "@rollup/pluginutils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "dev": true, + "peer": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "peer": true, + "requires": { + "defer-to-connect": "^2.0.1" + } + }, + "@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dev": true, + "requires": { + "@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/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", + "dev": true, + "requires": { + "@types/readdir-glob": "*" + } + }, + "@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", + "dev": true + }, + "@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true + }, + "@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true, + "peer": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", + "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true }, - "utila": { - "version": "0.4.0" - }, - "utils-merge": { - "version": "1.0.1" - }, - "uuid": { - "version": "8.3.2" - }, - "v8-to-istanbul": { - "version": "8.1.1", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "w3c-hr-time": { - "version": "1.0.2", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "14.18.56", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", + "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-native": { + "version": "0.70.0", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.0.tgz", + "integrity": "sha512-yBN7qJDfs0Vwr34NyfW1SWzalHQoYtpUWf0t4UJY9C5ft58BRr46+r92I0v+l3QX4VNsSRMHVAAWqLLCbIkM+g==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@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/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "requires": { - "browser-process-hrtime": "^1.0.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "w3c-xmlserializer": { - "version": "2.0.0", - "requires": { - "xml-name-validator": "^3.0.0" - } + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "walker": { - "version": "1.0.8", + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, "requires": { - "makeerror": "1.0.12" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } - }, - "watchpack": { - "version": "2.4.0", + } + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "wbuf": { - "version": "1.7.3", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "requires": { - "minimalistic-assert": "^1.0.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "web-vitals": { - "version": "2.1.4" + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true }, - "webidl-conversions": { - "version": "6.1.0" + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true }, - "webpack": { - "version": "5.88.0", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0" - } - } + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "requires": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "dev": true + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "peer": true, + "requires": { + "string-width": "^4.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "peer": true }, - "webpack-dev-middleware": { - "version": "5.3.3", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "peer": true, "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - }, - "schema-utils": { - "version": "4.2.0", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.15.1", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - }, - "schema-utils": { - "version": "4.2.0", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "ws": { - "version": "8.13.0", - "requires": {} - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } - }, - "webpack-manifest-plugin": { + } + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "dev": true, + "requires": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { "version": "4.1.1", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - }, - "webpack-sources": { - "version": "2.3.1", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-sources": { - "version": "3.2.3" - }, - "websocket-driver": { - "version": "0.7.4", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4" - }, - "whatwg-encoding": { - "version": "1.0.5", - "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "whatwg-fetch": { - "version": "3.6.2" - }, - "whatwg-mimetype": { - "version": "2.3.0" - }, - "whatwg-url": { - "version": "8.7.0", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.9", - "requires": { - "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", - "is-typed-array": "^1.1.10" - } - }, - "word-wrap": { - "version": "1.2.3" - }, - "workbox-background-sync": { - "version": "6.6.0", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-broadcast-update": { - "version": "6.6.0", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-build": { - "version": "6.6.0", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "ajv": { - "version": "8.12.0", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0" - }, - "source-map": { - "version": "0.8.0-beta.0", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2" - }, - "whatwg-url": { - "version": "7.1.0", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.6.0", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-core": { - "version": "6.6.0" - }, - "workbox-expiration": { - "version": "6.6.0", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true }, - "workbox-google-analytics": { - "version": "6.6.0", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "ansi-regex": "^4.1.0" } - }, - "workbox-navigation-preload": { - "version": "6.6.0", + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { - "workbox-core": "6.6.0" + "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" } }, - "workbox-precaching": { - "version": "6.6.0", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "workbox-range-requests": { - "version": "6.6.0", + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { - "workbox-core": "6.6.0" + "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" } }, - "workbox-recipes": { - "version": "6.6.0", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "safe-buffer": "~5.1.0" } + } + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.map": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.5.tgz", + "integrity": "sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true }, - "workbox-routing": { - "version": "6.6.0", + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, "requires": { - "workbox-core": "6.6.0" + "inherits": "2.0.1" } - }, - "workbox-strategies": { - "version": "6.6.0", + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "optional": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "dev": true, + "peer": true, + "requires": { + "retry": "0.13.1" + } + }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "requires": {} + }, + "babel-jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", + "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", + "dev": true, + "requires": { + "@jest/transform": "^29.6.4", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, "requires": { - "workbox-core": "6.6.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" } }, - "workbox-streams": { - "version": "6.6.0", + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + } + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", + "dev": true + }, + "babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "dev": true, + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" + "is-descriptor": "^1.0.0" } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "basic-ftp": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", + "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "dev": true, + "peer": true + }, + "before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true, + "peer": true + }, + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "peer": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dev": true, + "peer": true, + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "dependencies": { + "camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "peer": true }, - "workbox-sw": { - "version": "6.6.0" - }, - "workbox-webpack-plugin": { - "version": "6.6.0", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - }, - "webpack-sources": { - "version": "1.4.3", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "peer": true }, - "workbox-window": { - "version": "6.6.0", + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "peer": true + } + } + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "peer": true, + "requires": { + "big-integer": "^1.6.44" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "peer": true, + "requires": { + "run-applescript": "^5.0.0" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" + "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" } }, - "wrap-ansi": { - "version": "7.0.0", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4" - } + "yallist": "^3.0.2" } }, - "wrappy": { - "version": "1.0.2" - }, - "write-file-atomic": { - "version": "3.0.3", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "glob": "^7.1.3" } }, - "ws": { - "version": "7.5.9", - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0" - }, - "xmlchars": { - "version": "2.2.0" - }, "y18n": { - "version": "5.0.8" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "yallist": { - "version": "3.1.1" - }, - "yaml": { - "version": "1.10.2" - }, - "yargs": { - "version": "16.2.0", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9" - }, - "yocto-queue": { - "version": "0.1.0" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, - "@backtrace/rollup-plugin": { - "version": "file:tools/rollup-plugin", + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, - "@backtrace/sdk-core": { - "version": "file:packages/sdk-core", - "requires": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } + "cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "dev": true, + "peer": true }, - "@backtrace/sourcemap-tools": { - "version": "file:tools/sourcemap-tools", + "cacheable-request": { + "version": "10.2.13", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.13.tgz", + "integrity": "sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==", + "dev": true, + "peer": true, "requires": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "archiver": "^5.3.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "@types/http-cache-semantics": "^4.0.1", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" }, "dependencies": { - "source-map": { - "version": "0.7.4" + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true } } }, - "@backtrace/vite-plugin": { - "version": "file:tools/vite-plugin", + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "requires": { - "@backtrace/rollup-plugin": "^0.0.1", - "typescript": "^5.0.4" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, - "@backtrace/webpack-plugin": { - "version": "file:tools/webpack-plugin", + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, "requires": { - "@backtrace/sourcemap-tools": "^0.0.1", - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true + } } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } }, - "@discoveryjs/json-ext": { - "version": "0.5.7", + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "@esbuild/darwin-arm64": { - "version": "0.18.19", - "optional": true, - "peer": true + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, "requires": { - "eslint-visitor-keys": "^3.3.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" } }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true + "caniuse-lite": { + "version": "1.0.30001522", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", + "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==" }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "@eslint/js": { - "version": "8.41.0", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "chalk": "^4.1.2" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "peer": true }, - "@isaacs/cliui": { - "version": "8.0.2", + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "optional": true, "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "dependencies": { - "ansi-regex": { - "version": "6.0.1" - }, - "strip-ansi": { - "version": "7.0.1", + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, "requires": { - "ansi-regex": "^6.0.1" + "is-glob": "^4.0.1" } } } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { - "argparse": { - "version": "1.0.10", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "is-descriptor": "^0.1.0" } }, - "find-up": { - "version": "4.1.0", + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "js-yaml": { - "version": "3.14.1", + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "locate-path": { - "version": "5.0.0", + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, - "p-limit": { - "version": "2.3.0", + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "requires": { + "escape-string-regexp": "5.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + } + } + }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "peer": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "dev": true + }, + "cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "peer": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "p-try": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "p-locate": { - "version": "4.1.0", + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } - }, - "resolve-from": { - "version": "5.0.0", - "dev": true } } }, - "@istanbuljs/schema": { - "version": "0.1.3", + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, - "@jest/console": { - "version": "29.5.0", + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "@jest/core": { - "version": "29.5.0", - "dev": true, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "color-name": "~1.1.4" } }, - "@jest/environment": { - "version": "29.5.0", - "dev": true, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0" + "delayed-stream": "~1.0.0" } }, - "@jest/expect": { - "version": "29.5.0", - "dev": true, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "requires": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" } }, - "@jest/expect-utils": { - "version": "29.5.0", - "dev": true, + "command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "requires": { - "jest-get-type": "^29.4.3" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "dependencies": { + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + }, + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } } }, - "@jest/fake-timers": { - "version": "29.5.0", + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, "requires": { - "@jest/types": "^29.5.0", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "@jest/globals": { - "version": "29.5.0", + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + } + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "mime-db": ">= 1.43.0 < 2" } }, - "@jest/reporters": { - "version": "29.5.0", + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "dependencies": { - "glob": { - "version": "7.2.3", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "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" + "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, - "@jest/schemas": { - "version": "29.4.3", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.25.16" - } + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "@jest/source-map": { - "version": "29.4.3", + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "@jest/test-result": { - "version": "29.5.0", + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, + "peer": true, "requires": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "@jest/test-sequencer": { - "version": "29.5.0", + "configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", "dev": true, + "peer": true, "requires": { - "@jest/test-result": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "slash": "^3.0.0" + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "dependencies": { + "dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dev": true, + "peer": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "peer": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } } }, - "@jest/transform": { - "version": "29.5.0", + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } } }, - "@jest/types": { - "version": "29.5.0", + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", "dev": true, "requires": { - "@jest/schemas": "^29.4.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" + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "compare-func": "^2.0.0", + "q": "^1.5.1" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0" - }, - "@jridgewell/set-array": { - "version": "1.1.2" - }, - "@jridgewell/source-map": { - "version": "0.3.3", + "conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "q": "^1.5.1" } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", + "conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14" - } + "q": "^1.5.1" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", + "conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" } }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "optional": true - }, - "@reduxjs/toolkit": { - "version": "1.9.5", + "conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, "requires": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" + "q": "^1.5.1" } }, - "@rollup/plugin-typescript": { - "version": "11.1.2", + "conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", "dev": true, "requires": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" + "q": "^1.5.1" } }, - "@rollup/pluginutils": { - "version": "5.0.2", + "conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", "dev": true, "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "q": "^1.5.1" } }, - "@sinclair/typebox": { - "version": "0.25.24", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", + "conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", "dev": true, "requires": { - "type-detect": "4.0.8" + "q": "^1.5.1" } }, - "@sinonjs/fake-timers": { - "version": "10.2.0", + "conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", "dev": true, "requires": { - "@sinonjs/commons": "^3.0.0" + "compare-func": "^2.0.0", + "q": "^1.5.1" } }, - "@testing-library/dom": { - "version": "9.3.1", + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, "requires": { - "@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" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, - "@testing-library/react": { - "version": "14.0.0", + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" } }, - "@tootallnate/once": { - "version": "2.0.0", - "dev": true - }, - "@types/archiver": { - "version": "5.3.2", + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, "requires": { - "@types/readdir-glob": "*" + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" } }, - "@types/aria-query": { - "version": "5.0.1", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.1", + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" } }, - "@types/babel__generator": { - "version": "7.6.4", + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "@types/babel__template": { - "version": "7.4.1", + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js-compat": { + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz", + "integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "browserslist": "^4.21.10" } }, - "@types/babel__traverse": { - "version": "7.20.0", + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "requires": { - "@babel/types": "^7.20.7" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + } } }, - "@types/command-line-args": { - "version": "5.2.0", - "dev": true - }, - "@types/command-line-usage": { - "version": "5.0.2", - "dev": true + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" }, - "@types/decompress": { - "version": "4.2.4", - "dev": true, + "crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "requires": { - "@types/node": "*" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" } }, - "@types/eslint": { - "version": "8.40.2", + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, - "@types/eslint-scope": { - "version": "3.7.4", + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "@types/estree": { - "version": "1.0.1" - }, - "@types/graceful-fs": { - "version": "4.1.6", + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "@types/node": "*" + "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" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { - "@types/istanbul-lib-coverage": "*" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "@types/istanbul-reports": { - "version": "3.0.1", + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "@types/istanbul-lib-report": "*" + "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" } }, - "@types/jest": { - "version": "29.5.1", + "crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, + "peer": true, "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "type-fest": "^1.0.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "peer": true + } } }, - "@types/jsdom": { - "version": "20.0.1", + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } } }, - "@types/json-schema": { - "version": "7.0.12" - }, - "@types/json5": { - "version": "0.0.29", + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, - "@types/node": { - "version": "14.18.51" - }, - "@types/prettier": { - "version": "2.7.2", + "cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", "dev": true }, - "@types/prop-types": { - "version": "15.7.5", + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, - "@types/react": { - "version": "18.2.14", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.6", + "data-uri-to-buffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", + "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", "dev": true, - "requires": { - "@types/react": "*" - } + "peer": true }, - "@types/readdir-glob": { - "version": "1.1.1", + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { - "@types/node": "*" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" } }, - "@types/scheduler": { - "version": "0.16.3", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true }, - "@types/stack-utils": { - "version": "2.0.1", + "dayjs": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", "dev": true }, - "@types/tough-cookie": { - "version": "4.0.2", - "dev": true + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } }, - "@types/ua-parser-js": { - "version": "0.7.36", + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, - "@types/webpack-sources": { - "version": "3.2.0", + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "dependencies": { - "source-map": { - "version": "0.7.4", + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true } } }, - "@types/yargs": { - "version": "17.0.24", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true }, - "@types/yargs-parser": { - "version": "21.0.0", + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.7", + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" } }, - "@typescript-eslint/parser": { - "version": "5.59.7", + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, + "peer": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "debug": "^4.3.4" + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "peer": true + } } }, - "@typescript-eslint/scope-manager": { - "version": "5.59.7", + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } } }, - "@typescript-eslint/type-utils": { - "version": "5.59.7", + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } } }, - "@typescript-eslint/types": { - "version": "5.59.7", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.7", + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" } }, - "@typescript-eslint/utils": { - "version": "5.59.7", + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true + } } }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.7", + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.7", - "eslint-visitor-keys": "^3.3.0" - } + "requires": {} }, - "@webassemblyjs/ast": { - "version": "1.11.6", + "deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "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" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6" + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "peer": true }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6" + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6" + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", + "default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/wast-printer": "1.9.0" + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" }, "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "peer": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "peer": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "peer": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "path-key": "^4.0.0" } - } - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "peer": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "mimic-fn": "^4.0.0" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "dev": true + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "peer": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "peer": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "peer": true } } }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", + "default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" } }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, "requires": { - "@xtuc/ieee754": "^1.2.0" + "clone": "^1.0.2" } }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "requires": { - "@xtuc/long": "4.2.2" - } + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "peer": true }, - "@webassemblyjs/utf8": { - "version": "1.11.6" + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "peer": true }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", + "degenerator": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-4.0.4.tgz", + "integrity": "sha512-MTZdZsuNxSBL92rsjx3VFWe57OpRlikyLbcx2B5Dmdv6oScqpMrvpY7zHLMymrUxo3U5+suPUMsNgW/+SZB1lg==", + "dev": true, + "peer": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "ast-types": "^0.13.4", + "escodegen": "^1.14.3", + "esprima": "^4.0.1", + "vm2": "^3.9.19" + }, + "dependencies": { + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^2.0.1" + } + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "peer": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "peer": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "peer": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "peer": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "peer": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } } }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", + "del": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", + "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", + "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", + "rimraf": "^3.0.2", + "slash": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + } } }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", + "del-cli": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-5.0.0.tgz", + "integrity": "sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "del": "^7.0.0", + "meow": "^10.1.3" }, "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", + "decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", + "meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + } + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", + "read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + } + }, + "read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + } + }, + "redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + } + }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, + "trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true } } }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0" - }, - "@xtuc/long": { - "version": "4.2.2" + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "@zeit/schemas": { - "version": "2.29.0", + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", "dev": true }, - "abab": { - "version": "2.0.6", + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, - "accepts": { - "version": "1.3.8", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.2" - }, - "acorn-globals": { - "version": "7.0.1", + "deprecated-react-native-prop-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", + "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", "dev": true, "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" } }, - "acorn-import-assertions": { - "version": "1.9.0", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "dev": true + "peer": true }, - "agent-base": { - "version": "6.0.2", + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "requires": { - "debug": "4" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "ajv": { - "version": "6.12.6", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true }, - "ajv-errors": { - "version": "1.0.1", - "dev": true, - "requires": {} + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true }, - "ajv-keywords": { - "version": "3.5.2", - "requires": {} + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true }, - "ansi-align": { - "version": "3.0.1", + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "string-width": "^4.1.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true - }, - "string-width": { - "version": "4.2.3", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } } } }, - "ansi-escapes": { - "version": "4.3.2", + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.1" - }, - "ansi-styles": { - "version": "4.3.0", - "requires": { - "color-convert": "^2.0.1" + "path-type": "^4.0.0" } }, - "anymatch": { - "version": "3.1.3", + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "esutils": "^2.0.2" } }, - "aproba": { - "version": "1.2.0", + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, - "arch": { - "version": "2.2.0", + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, - "archiver": { - "version": "5.3.1", + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "webidl-conversions": "^7.0.0" } }, - "archiver-utils": { - "version": "2.1.0", + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "is-obj": "^2.0.0" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" }, "dependencies": { - "glob": { - "version": "7.2.3", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "requires": { - "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" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" } } } }, - "arg": { - "version": "5.0.2" + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "argparse": { - "version": "2.0.1", + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, - "aria-query": { - "version": "5.1.3", + "electron-to-chromium": { + "version": "1.4.500", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", + "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "deep-equal": "^2.0.5" + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, - "arr-diff": { - "version": "4.0.0", + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, - "arr-flatten": { - "version": "1.1.0", - "dev": true + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "arr-union": { - "version": "3.1.0", + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, - "array-back": { - "version": "3.1.0" + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true }, - "array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "once": "^1.4.0" } }, - "array-includes": { - "version": "3.1.6", - "dev": true, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, - "array-union": { - "version": "2.1.0", + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, - "array-unique": { - "version": "0.3.2", + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true }, - "array.prototype.flat": { - "version": "1.3.1", + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "prr": "~1.0.1" } }, - "array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "is-arrayish": "^0.2.1" } }, - "asn1.js": { - "version": "5.4.1", + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true - } + "stackframe": "^1.3.4" } }, - "assert": { - "version": "1.5.0", + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "dev": true - }, - "util": { - "version": "0.10.3", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "accepts": "~1.3.7", + "escape-html": "~1.0.3" } }, - "assign-symbols": { - "version": "1.0.0", - "dev": true - }, - "async": { - "version": "3.2.4" - }, - "async-each": { - "version": "1.0.6", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0" - }, - "atob": { - "version": "2.1.2", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "dev": true - }, - "babel-jest": { - "version": "29.5.0", + "es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "requires": { - "@jest/transform": "^29.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "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.10", + "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.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "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.10" } }, - "babel-plugin-istanbul": { - "version": "6.1.1", + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } + "peer": true }, - "babel-plugin-jest-hoist": { - "version": "29.5.0", + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "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" } }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", + "es-iterator-helpers": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", + "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", "dev": true, "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "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.0", + "safe-array-concat": "^1.0.0" } }, - "babel-preset-jest": { - "version": "29.5.0", + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" } }, - "balanced-match": { - "version": "1.0.2" - }, - "base": { - "version": "0.11.2", + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } + "has": "^1.0.3" } }, - "base64-js": { - "version": "1.5.1" - }, - "big.js": { - "version": "5.2.2", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "optional": true, "requires": { - "file-uri-to-path": "1.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "bl": { - "version": "4.1.0", + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "peer": true, "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "@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" } }, - "bluebird": { - "version": "3.7.2", + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "dev": true, + "peer": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, - "bn.js": { - "version": "5.2.1", + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "boxen": { - "version": "7.0.0", + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "requires": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" }, "dependencies": { - "camelcase": { - "version": "7.0.1", - "dev": true - }, - "chalk": { + "estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, - "type-fest": { - "version": "2.19.0", - "dev": true + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true } } }, - "brace-expansion": { - "version": "1.1.11", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", + "eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, - "browserify-des": { - "version": "1.0.2", + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } + "requires": {} }, - "browserify-rsa": { - "version": "4.1.0", + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, - "browserify-sign": { - "version": "4.2.1", + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { - "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" + "debug": "^3.2.7" }, "dependencies": { - "readable-stream": { - "version": "3.6.2", + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ms": "^2.1.1" } } } }, - "browserify-zlib": { - "version": "0.2.0", + "eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.21.5", - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } } }, - "bs-logger": { - "version": "0.2.6", + "eslint-plugin-ft-flow": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", + "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", "dev": true, "requires": { - "fast-json-stable-stringify": "2.x" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" } }, - "bser": { - "version": "2.1.1", + "eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, "requires": { - "node-int64": "^0.4.0" + "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" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "buffer": { - "version": "4.9.2", + "eslint-plugin-jest": { + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "@typescript-eslint/utils": "^5.10.0" } }, - "buffer-alloc": { - "version": "1.2.0", + "eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "prettier-linter-helpers": "^1.0.0" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13" - }, - "buffer-fill": { - "version": "1.0.0", - "dev": true - }, - "buffer-from": { - "version": "1.1.2" - }, - "buffer-xor": { - "version": "1.0.3", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "dev": true - }, - "bytes": { - "version": "3.0.0" - }, - "cacache": { - "version": "12.0.4", + "eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dev": true, "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "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" }, "dependencies": { - "glob": { - "version": "7.2.3", + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "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" + "esutils": "^2.0.2" } }, - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true }, - "rimraf": { - "version": "2.7.1", + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "requires": { - "glob": "^7.1.3" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, - "y18n": { - "version": "4.0.3", - "dev": true - }, - "yallist": { - "version": "3.1.1", + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, - "cache-base": { - "version": "1.0.1", + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } + "requires": {} }, - "call-bind": { - "version": "1.0.2", + "eslint-plugin-react-native": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.0.0.tgz", + "integrity": "sha512-kMmdxrSY7A1WgdqaGC+rY/28rh7kBGNBRsk48ovqkQmdg5j4K+DaFmegENDzMrdLkoufKGRNkKX6bgSwQTCAxQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@babel/traverse": "^7.7.4", + "eslint-plugin-react-native-globals": "^0.1.1" } }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "camelcase": { - "version": "5.3.1", + "eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", "dev": true }, - "caniuse-lite": { - "version": "1.0.30001489" - }, - "chalk": { - "version": "4.1.2", + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" } }, - "chalk-template": { - "version": "0.4.0", + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, "requires": { - "chalk": "^4.1.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" } }, - "char-regex": { - "version": "1.0.2", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "chokidar": { - "version": "3.5.3", + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "optional": true, "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "estraverse": "^5.1.0" }, "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true } } }, - "chownr": { - "version": "1.1.4", + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "chrome-trace-event": { - "version": "1.0.3" + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, - "ci-info": { - "version": "3.8.0", + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, - "cipher-base": { - "version": "1.0.4", + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } } }, - "cjs-module-lexer": { - "version": "1.2.2", + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, - "class-utils": { - "version": "0.3.6", + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { - "arr-union": "^3.1.0", + "debug": "^2.3.3", "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -41324,6 +35886,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -41333,6 +35897,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -41340,6 +35906,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -41349,6 +35917,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -41356,242 +35926,422 @@ "kind-of": "^5.0.0" } }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, - "cli-boxes": { - "version": "3.0.0", - "dev": true + "expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3" + } }, - "clipboardy": { - "version": "3.0.0", + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" - }, - "dependencies": { - "is-wsl": { - "version": "2.2.0", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - } + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, - "cliui": { - "version": "8.0.1", + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, + "peer": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "string-width": { - "version": "4.2.3", + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "is-descriptor": "^1.0.0" } }, - "wrap-ansi": { - "version": "7.0.0", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true } } }, - "clone-deep": { - "version": "4.0.1", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "@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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "co": { - "version": "4.6.0", - "dev": true + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "collect-v8-coverage": { - "version": "1.0.1", + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "collection-visit": { - "version": "1.0.0", + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "fast-xml-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", + "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "strnum": "^1.0.5" } }, - "color-convert": { - "version": "2.0.1", + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "reusify": "^1.0.4" } }, - "color-name": { - "version": "1.1.4" - }, - "colorette": { - "version": "2.0.20", - "dev": true + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } }, - "combined-stream": { - "version": "1.0.8", + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "pend": "~1.2.0" } }, - "command-line-args": { - "version": "5.2.1", + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "peer": true, "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" } }, - "command-line-usage": { - "version": "7.0.1", + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "peer": true, "requires": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" }, "dependencies": { - "array-back": { - "version": "6.2.2" + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "peer": true }, - "typical": { - "version": "7.1.1" + "is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "peer": true } } }, - "commander": { - "version": "2.20.3" - }, - "commondir": { - "version": "1.0.1", - "dev": true + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } }, - "component-emitter": { - "version": "1.3.0", + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true }, - "compress-commons": { - "version": "4.1.1", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true }, - "compressible": { - "version": "2.0.18", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { - "mime-db": ">= 1.43.0 < 2" + "to-regex-range": "^5.0.1" } }, - "compression": { - "version": "1.7.4", + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" - }, - "safe-buffer": { - "version": "5.1.2" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, - "concat-map": { - "version": "0.0.1" - }, - "concat-stream": { - "version": "1.6.2", + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } } }, - "console-browserify": { - "version": "1.2.0", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "dev": true + "find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "requires": { + "array-back": "^3.0.1" + } }, - "convert-source-map": { - "version": "2.0.0", - "dev": true + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } }, - "copy-concurrently": { - "version": "1.0.5", + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -41603,7 +36353,9 @@ } }, "rimraf": { - "version": "2.7.1", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -41611,2275 +36363,3614 @@ } } }, - "copy-descriptor": { - "version": "0.1.1", + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "core-util-is": { - "version": "1.0.3" + "flow-enums-runtime": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==", + "dev": true }, - "crc-32": { - "version": "1.2.2" + "flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "dev": true }, - "crc32-stream": { - "version": "4.0.2", + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "readable-stream": { - "version": "3.6.2", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" } } } }, - "create-ecdh": { - "version": "4.0.4", + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true - } + "is-callable": "^1.1.3" } }, - "create-hash": { - "version": "1.2.0", + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "dev": true, + "peer": true + }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, + "peer": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "fetch-blob": "^3.1.2" } }, - "create-hmac": { - "version": "1.1.7", + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "cross-spawn": { - "version": "7.0.3", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "crypto-browserify": { - "version": "3.12.0", + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { - "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" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "cssom": { - "version": "0.5.0", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "requires": { - "cssom": "~0.3.6" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" }, "dependencies": { - "cssom": { - "version": "0.3.8", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, - "csstype": { - "version": "3.1.2", - "dev": true + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "cyclist": { - "version": "1.0.2", + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "data-urls": { - "version": "3.0.2", + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" } }, - "debug": { - "version": "4.3.4", + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "requires": { - "ms": "2.1.2" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" } }, - "decimal.js": { - "version": "10.4.3", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, - "decompress": { + "get-pkg-repo": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" }, "dependencies": { - "make-dir": { - "version": "1.3.0", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "dev": true - } + "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" } }, - "pify": { - "version": "2.3.0", - "dev": true - } - } - }, - "decompress-tar": { - "version": "4.1.1", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "safe-buffer": "~5.1.0" } }, - "is-stream": { - "version": "1.1.0", - "dev": true - }, - "tar-stream": { - "version": "1.6.2", + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } } } }, - "decompress-tarbz2": { - "version": "4.1.1", + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "dev": true - } + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" } }, - "decompress-targz": { - "version": "4.1.1", + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "dev": true - } + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "decompress-unzip": { - "version": "4.0.1", + "get-uri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", + "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", "dev": true, + "peer": true, "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "dev": true - } + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^5.0.1", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" } }, - "dedent": { - "version": "0.7.0", + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, - "deep-equal": { - "version": "2.2.1", + "git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.0", - "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" + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" }, "dependencies": { - "isarray": { - "version": "2.0.5", + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, - "deep-extend": { - "version": "0.6.0", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "dev": true + "git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "dev": true, + "peer": true, + "requires": { + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" + } }, - "define-properties": { - "version": "1.2.0", + "git-url-parse": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", "dev": true, + "peer": true, "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "git-up": "^7.0.0" } }, - "define-property": { - "version": "2.0.2", + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "ini": "^1.3.2" } }, - "delayed-stream": { - "version": "1.0.0" + "glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } }, - "des.js": { - "version": "1.1.0", + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "is-glob": "^4.0.3" } }, - "detect-newline": { - "version": "3.1.0", - "dev": true - }, - "diff-sequences": { - "version": "29.4.3", - "dev": true + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "diffie-hellman": { - "version": "5.0.3", + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, + "peer": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "ini": "2.0.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "dev": true + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "peer": true } } }, - "dir-glob": { - "version": "3.0.1", + "globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "requires": { - "path-type": "^4.0.0" + "type-fest": "^0.20.2" } }, - "doctrine": { - "version": "3.0.0", + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "requires": { - "esutils": "^2.0.2" + "define-properties": "^1.1.3" } }, - "dom-accessibility-api": { - "version": "0.5.16", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "dev": true + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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" + } }, - "domexception": { - "version": "4.0.0", + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "requires": { - "webidl-conversions": "^7.0.0" + "get-intrinsic": "^1.1.3" } }, - "duplexify": { - "version": "3.7.1", + "got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, + "peer": true, "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true + } } }, - "eastasianwidth": { - "version": "0.2.0" + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "electron-to-chromium": { - "version": "1.4.408" + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, - "elliptic": { - "version": "6.5.4", + "handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, - "emittery": { - "version": "0.13.1", + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true }, - "emoji-regex": { - "version": "9.2.2" + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } }, - "emojis-list": { - "version": "3.0.0", + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, - "end-of-stream": { - "version": "1.4.4", - "requires": { - "once": "^1.4.0" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "enhanced-resolve": { - "version": "5.15.0", + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "get-intrinsic": "^1.1.1" } }, - "entities": { - "version": "4.5.0", + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true }, - "envinfo": { - "version": "7.9.0", + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, - "errno": { - "version": "0.1.8", + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { - "prr": "~1.0.1" + "has-symbols": "^1.0.2" } }, - "error-ex": { - "version": "1.3.2", + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "es-abstract": { - "version": "1.21.2", + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { - "array-buffer-byte-length": "^1.0.0", - "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.5", - "get-intrinsic": "^1.2.0", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "es-get-iterator": { - "version": "1.1.3", + "has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "dev": true, + "peer": true + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { - "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" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "dependencies": { - "isarray": { - "version": "2.0.5", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, - "es-module-lexer": { - "version": "1.3.0" - }, - "es-set-tostringtag": { - "version": "2.0.1", + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "es-shim-unscopables": { - "version": "1.0.0", + "hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", + "dev": true + }, + "hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", "dev": true, "requires": { - "has": "^1.0.3" + "hermes-estree": "0.12.0" } }, - "es-to-primitive": { - "version": "1.2.1", + "hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "source-map": "^0.7.3" } }, - "esbuild": { - "version": "0.18.19", - "peer": true, - "requires": { - "@esbuild/android-arm": "0.18.19", - "@esbuild/android-arm64": "0.18.19", - "@esbuild/android-x64": "0.18.19", - "@esbuild/darwin-arm64": "0.18.19", - "@esbuild/darwin-x64": "0.18.19", - "@esbuild/freebsd-arm64": "0.18.19", - "@esbuild/freebsd-x64": "0.18.19", - "@esbuild/linux-arm": "0.18.19", - "@esbuild/linux-arm64": "0.18.19", - "@esbuild/linux-ia32": "0.18.19", - "@esbuild/linux-loong64": "0.18.19", - "@esbuild/linux-mips64el": "0.18.19", - "@esbuild/linux-ppc64": "0.18.19", - "@esbuild/linux-riscv64": "0.18.19", - "@esbuild/linux-s390x": "0.18.19", - "@esbuild/linux-x64": "0.18.19", - "@esbuild/netbsd-x64": "0.18.19", - "@esbuild/openbsd-x64": "0.18.19", - "@esbuild/sunos-x64": "0.18.19", - "@esbuild/win32-arm64": "0.18.19", - "@esbuild/win32-ia32": "0.18.19", - "@esbuild/win32-x64": "0.18.19" + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "escalade": { - "version": "3.1.1" - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "escodegen": { - "version": "2.0.0", + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "lru-cache": "^6.0.0" }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "levn": { - "version": "0.3.0", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "dev": true - }, - "type-check": { - "version": "0.3.2", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "yallist": "^4.0.0" } } } }, - "eslint": { - "version": "8.41.0", + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "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.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "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", - "import-fresh": "^3.0.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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.0", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "dev": true - } + "whatwg-encoding": "^2.0.0" } }, - "eslint-config-prettier": { - "version": "8.8.0", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true, - "requires": {} + "peer": true }, - "eslint-import-resolver-node": { - "version": "0.3.7", + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, - "eslint-module-utils": { - "version": "2.8.0", + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" } }, - "eslint-plugin-import": { - "version": "2.27.5", + "http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", "dev": true, + "peer": true, "requires": { - "array-includes": "^3.1.6", - "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.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" }, "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.0", - "dev": true + "peer": true } } }, - "eslint-plugin-local-rules": { - "version": "1.3.2", + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, - "eslint-scope": { - "version": "5.1.1", + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "agent-base": "6", + "debug": "4" } }, - "eslint-visitor-keys": { - "version": "3.4.1", + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, - "espree": { - "version": "9.5.2", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "peer": true, "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "safer-buffer": ">= 2.1.2 < 3" } }, - "esprima": { - "version": "4.0.1", + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, - "esquery": { - "version": "1.5.0", + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", "dev": true, "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } + "queue": "6.0.2" } }, - "esrecurse": { - "version": "4.3.0", + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0" - } + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "estraverse": { - "version": "4.3.0" + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "peer": true }, - "estree-walker": { - "version": "2.0.2", + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, - "esutils": { - "version": "2.0.3", + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true }, - "events": { - "version": "3.3.0" + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, - "evp_bytestokey": { - "version": "1.0.3", - "dev": true, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "once": "^1.3.0", + "wrappy": "1" } }, - "execa": { - "version": "5.1.1", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "dev": true - } - } + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "exit": { - "version": "0.1.2", + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "expand-brackets": { - "version": "2.1.4", + "inquirer": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.6.tgz", + "integrity": "sha512-y71l237eJJKS4rl7sQcEUiMhrR0pB/ZnRMMTxLpjJhWL4hdWCT03a6jJnC1w6qIPSRZWEozuieGt3v7XaEJYFw==", "dev": true, + "peer": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "ansi-escapes": "^4.3.2", + "chalk": "^5.2.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.0.0", + "external-editor": "^3.0.3", + "figures": "^5.0.0", + "lodash": "^4.17.21", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "peer": true }, - "is-accessor-descriptor": { - "version": "0.1.6", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "peer": true }, - "is-data-descriptor": { - "version": "0.1.4", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "peer": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "is-descriptor": { - "version": "0.1.6", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "peer": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } - }, - "is-extendable": { - "version": "0.1.1", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "dev": true - }, - "ms": { - "version": "2.0.0", - "dev": true } } }, - "expect": { - "version": "29.5.0", + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "peer": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "@jest/expect-utils": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" + "loose-envify": "^1.0.0" } }, - "extend-shallow": { - "version": "3.0.2", + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" } }, - "extglob": { - "version": "2.0.4", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "dev": true - } + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" } }, - "fast-deep-equal": { - "version": "3.1.3" + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, - "fast-glob": { - "version": "3.2.12", + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "has-tostringtag": "^1.0.0" } }, - "fast-json-stable-stringify": { - "version": "2.1.0" + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } }, - "fast-levenshtein": { - "version": "2.0.6", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "fast-safe-stringify": { - "version": "2.1.1" + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true }, - "fast-url-parser": { - "version": "1.1.3", + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, + "peer": true, "requires": { - "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "dev": true - } + "ci-info": "^3.2.0" } }, - "fastest-levenshtein": { - "version": "1.0.16", - "dev": true + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } }, - "fastq": { - "version": "1.15.0", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "reusify": "^1.0.4" + "kind-of": "^6.0.0" } }, - "fb-watchman": { - "version": "2.0.2", + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { - "bser": "2.1.1" + "has-tostringtag": "^1.0.0" } }, - "fd-slicer": { - "version": "1.1.0", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "pend": "~1.2.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "figgy-pudding": { - "version": "3.5.2", + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true }, - "file-entry-cache": { - "version": "6.0.1", + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "peer": true + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "flat-cache": "^3.0.4" + "is-plain-object": "^2.0.4" } }, - "file-type": { - "version": "5.2.0", + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, - "file-uri-to-path": { - "version": "1.0.0", + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, - "optional": true + "requires": { + "call-bind": "^1.0.2" + } }, - "fill-range": { - "version": "7.0.1", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "has-tostringtag": "^1.0.0" } }, - "find-cache-dir": { - "version": "2.1.0", + "is-git-dirty": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-git-dirty/-/is-git-dirty-2.0.2.tgz", + "integrity": "sha512-U3YCo+GKR/rDsY7r0v/LBICbQwsx859tDQnAT+v0E/zCDeWbQ1TUt1FtyExeyik7VIJlYOLHCIifLdz71HDalg==", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "execa": "^4.0.3", + "is-git-repository": "^2.0.0" }, "dependencies": { - "find-up": { - "version": "3.0.0", + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" } }, - "locate-path": { - "version": "3.0.0", + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "pump": "^3.0.0" } }, - "make-dir": { - "version": "2.1.0", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true }, - "p-limit": { - "version": "2.3.0", + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "is-git-repository": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-2.0.0.tgz", + "integrity": "sha512-HDO50CG5suIAcmqG4F1buqVXEZRPn+RaXIn9pFKq/947FBo2bCRwK7ZluEVZOy99a4IQyqsjbKEpAiOXCccOHQ==", + "dev": true, + "requires": { + "execa": "^4.0.3", + "is-absolute": "^1.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "requires": { - "p-try": "^2.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" } }, - "p-locate": { - "version": "3.0.0", + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "pump": "^3.0.0" } }, - "path-exists": { - "version": "3.0.0", + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, - "pkg-dir": { - "version": "3.0.0", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true }, - "semver": { - "version": "5.7.1", + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, - "find-replace": { - "version": "3.0.0", + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { - "array-back": "^3.0.1" + "is-extglob": "^2.1.1" } }, - "find-up": { - "version": "5.0.0", + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, + "peer": true, "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "is-docker": "^3.0.0" } }, - "flat-cache": { - "version": "3.0.4", + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, + "peer": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" } }, - "flatted": { - "version": "3.2.7", + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "dev": true, + "peer": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "has-tostringtag": "^1.0.0" } }, - "for-each": { - "version": "0.3.3", + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "is-callable": "^1.1.3" + "isobject": "^3.0.1" } }, - "for-in": { - "version": "1.0.2", + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, - "foreground-child": { - "version": "3.1.1", + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "form-data": { - "version": "4.0.0", + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "is-unc-path": "^1.0.0" } }, - "fragment-cache": { - "version": "0.2.1", + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { - "map-cache": "^0.2.2" + "call-bind": "^1.0.2" } }, - "from2": { - "version": "2.3.0", + "is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", "dev": true, + "peer": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "protocols": "^2.0.1" } }, - "fs-constants": { - "version": "1.0.0" + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true }, - "fs-write-stream-atomic": { - "version": "1.0.10", + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "has-tostringtag": "^1.0.0" } }, - "fs.realpath": { - "version": "1.0.0" - }, - "fsevents": { - "version": "2.3.2", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "has-symbols": "^1.0.2" } }, - "functions-have-names": { - "version": "1.2.3", - "dev": true + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } }, - "gensync": { - "version": "1.0.0-beta.2", - "dev": true + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" + } }, - "get-caller-file": { - "version": "2.0.5", - "dev": true + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "peer": true }, - "get-intrinsic": { - "version": "1.2.1", + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "unc-path-regex": "^0.1.2" } }, - "get-package-type": { + "is-unicode-supported": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "get-stream": { - "version": "6.0.1", + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true }, - "get-symbol-description": { - "version": "1.0.0", + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" } }, - "get-value": { - "version": "2.0.6", + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "glob": { - "version": "10.3.3", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.1", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true }, - "glob-parent": { - "version": "6.0.2", + "is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", "dev": true, - "requires": { - "is-glob": "^4.0.3" - } + "peer": true }, - "glob-to-regexp": { - "version": "0.4.1" + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "globals": { - "version": "13.20.0", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "issue-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", + "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", "dev": true, + "peer": true, "requires": { - "type-fest": "^0.20.2" + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" } }, - "globalthis": { - "version": "1.0.3", + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", + "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", "dev": true, "requires": { - "define-properties": "^1.1.3" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" } }, - "globby": { - "version": "11.1.0", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "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" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + } } }, - "gopd": { - "version": "1.0.1", + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11" - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "dev": true + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "has": { - "version": "1.0.3", + "istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "has-bigints": { + "iterate-iterator": { "version": "1.0.2", - "dev": true + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", + "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", + "dev": true, + "peer": true }, - "has-flag": { - "version": "4.0.0" + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "dev": true, + "peer": true, + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } }, - "has-property-descriptors": { - "version": "1.0.0", + "iterator.prototype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", + "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", "dev": true, "requires": { - "get-intrinsic": "^1.1.1" + "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" } }, - "has-proto": { - "version": "1.0.1", - "dev": true + "jackspeak": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", + "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } }, - "has-symbols": { - "version": "1.0.3", - "dev": true + "jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", + "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", + "dev": true, + "requires": { + "@jest/core": "^29.6.4", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.6.4" + } }, - "has-tostringtag": { - "version": "1.0.0", + "jest-changed-files": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", + "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "execa": "^5.0.0", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0" } }, - "has-value": { - "version": "1.0.0", + "jest-circus": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", + "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.3", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "has-values": { - "version": "1.0.0", + "jest-cli": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", + "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "@jest/core": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" }, "dependencies": { - "is-number": { - "version": "3.0.0", + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, - "kind-of": { - "version": "4.0.0", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true } } }, - "hash-base": { - "version": "3.1.0", + "jest-config": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", + "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", "dev": true, "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-jest": "^29.6.4", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.4", + "jest-environment-node": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "dependencies": { - "readable-stream": { - "version": "3.6.2", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" + } + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true } } }, - "hash.js": { - "version": "1.1.7", + "jest-diff": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", + "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "hmac-drbg": { - "version": "1.0.1", + "jest-docblock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", + "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "detect-newline": "^3.0.0" } }, - "html-encoding-sniffer": { - "version": "3.0.0", + "jest-each": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", + "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", "dev": true, "requires": { - "whatwg-encoding": "^2.0.0" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "html-escaper": { - "version": "2.0.2", - "dev": true - }, - "http-proxy-agent": { - "version": "5.0.0", + "jest-environment-jsdom": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", + "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", "dev": true, "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3", + "jsdom": "^20.0.0" } }, - "https-browserify": { - "version": "1.0.0", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", + "jest-environment-node": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", + "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", "dev": true, "requires": { - "agent-base": "6", - "debug": "4" + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" } }, - "human-signals": { - "version": "2.1.0", + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true }, - "iconv-lite": { - "version": "0.6.3", + "jest-haste-map": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", + "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "micromatch": "^4.0.4", + "walker": "^1.0.8" } }, - "ieee754": { - "version": "1.2.1" - }, - "iferr": { - "version": "0.1.5", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "immer": { - "version": "9.0.21" - }, - "import-fresh": { - "version": "3.3.0", + "jest-leak-detector": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", + "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "import-local": { - "version": "3.1.0", + "jest-matcher-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", + "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", "dev": true, "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", + "jest-message-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", + "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", + "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@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.6.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "inherits": { - "version": "2.0.4" - }, - "ini": { - "version": "1.3.8" - }, - "internal-slot": { - "version": "1.0.5", + "jest-mock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", + "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", "dev": true, "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.6.3" } }, - "interpret": { - "version": "3.1.1", + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true }, - "is-accessor-descriptor": { - "version": "1.0.0", + "jest-resolve": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", + "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" } }, - "is-arguments": { - "version": "1.1.1", + "jest-resolve-dependencies": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", + "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.6.4" } }, - "is-array-buffer": { - "version": "3.0.2", + "jest-runner": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", + "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "@jest/console": "^29.6.4", + "@jest/environment": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.6.3", + "jest-environment-node": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-leak-detector": "^29.6.3", + "jest-message-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-util": "^29.6.3", + "jest-watcher": "^29.6.4", + "jest-worker": "^29.6.4", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" } }, - "is-arrayish": { - "version": "0.2.1" - }, - "is-bigint": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" + "jest-runtime": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", + "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/globals": "^29.6.4", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } } }, - "is-binary-path": { - "version": "2.1.0", + "jest-snapshot": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", + "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", "dev": true, - "optional": true, "requires": { - "binary-extensions": "^2.0.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.3", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "is-boolean-object": { - "version": "1.1.2", + "jest-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", + "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@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" } }, - "is-buffer": { - "version": "1.1.6", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "dev": true - }, - "is-core-module": { - "version": "2.12.1", + "jest-validate": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", + "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", "dev": true, "requires": { - "has": "^1.0.3" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "is-data-descriptor": { - "version": "1.0.0", + "jest-watcher": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", + "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.3", + "string-length": "^4.0.1" } }, - "is-date-object": { - "version": "1.0.5", + "jest-worker": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", + "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "@types/node": "*", + "jest-util": "^29.6.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "is-descriptor": { - "version": "1.0.2", + "jetifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-2.0.0.tgz", + "integrity": "sha512-J4Au9KuT74te+PCCCHKgAjyLlEa+2VyIAEPNCdE5aNkAJ6FAJcAqcdzEkSnzNksIa9NkGmC4tPiClk2e7tCJuQ==", "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-docker": { - "version": "2.2.1" + "optional": true }, - "is-extendable": { - "version": "1.0.1", + "joi": { + "version": "17.9.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", + "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0" - }, - "is-generator-fn": { - "version": "2.1.0", - "dev": true + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "is-glob": { - "version": "4.0.3", + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "argparse": "^2.0.1" } }, - "is-map": { - "version": "2.0.2", - "dev": true - }, - "is-natural-number": { - "version": "4.0.1", + "jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", "dev": true }, - "is-negative-zero": { - "version": "2.0.2", + "jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", "dev": true }, - "is-number": { - "version": "7.0.0", - "dev": true + "jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "dev": true, + "requires": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } }, - "is-number-object": { - "version": "1.0.7", + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" } }, - "is-path-inside": { - "version": "3.0.3", + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "is-plain-object": { - "version": "2.0.4", + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, - "requires": { - "isobject": "^3.0.1" - } + "peer": true }, - "is-port-reachable": { - "version": "4.0.0", - "dev": true + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "is-potential-custom-element-name": { + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "is-regex": { - "version": "1.1.4", + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "minimist": "^1.2.0" } }, - "is-set": { - "version": "2.0.2", - "dev": true + "jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "requires": { + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + } + } }, - "is-shared-array-buffer": { - "version": "1.0.2", + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "graceful-fs": "^4.1.6" } }, - "is-stream": { - "version": "2.0.1", + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, - "is-string": { - "version": "1.0.7", + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, - "is-symbol": { - "version": "1.0.4", + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" } }, - "is-typed-array": { - "version": "1.1.10", + "keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dev": true, + "peer": true, "requires": { - "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" + "json-buffer": "3.0.1" } }, - "is-weakmap": { - "version": "2.0.1", + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "is-weakref": { - "version": "1.0.2", + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", "dev": true, + "peer": true, "requires": { - "call-bind": "^1.0.2" + "package-json": "^8.1.0" } }, - "is-weakset": { - "version": "2.0.2", - "dev": true, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "readable-stream": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "is-windows": { - "version": "1.0.2", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, - "isarray": { - "version": "1.0.0" - }, - "isexe": { - "version": "2.0.0" - }, - "isobject": { - "version": "3.0.1", - "dev": true + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } }, - "istanbul-lib-coverage": { - "version": "3.2.0", + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "istanbul-lib-instrument": { - "version": "5.2.1", + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { - "semver": { - "version": "6.3.0", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, - "istanbul-lib-report": { - "version": "3.0.0", + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + } } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "p-locate": "^5.0.0" } }, - "istanbul-reports": { - "version": "3.1.5", + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } + "peer": true }, - "jackspeak": { - "version": "2.2.1", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, - "jest": { - "version": "29.5.0", + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true, - "requires": { - "@jest/core": "^29.5.0", - "@jest/types": "^29.5.0", - "import-local": "^3.0.2", - "jest-cli": "^29.5.0" - } + "peer": true }, - "jest-changed-files": { - "version": "29.5.0", + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } + "peer": true }, - "jest-circus": { - "version": "29.5.0", + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", "dev": true, - "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } + "peer": true }, - "jest-cli": { - "version": "29.5.0", + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "prompts": "^2.0.1", - "yargs": "^17.3.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, - "jest-config": { - "version": "29.5.0", + "logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", "dev": true, "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" }, "dependencies": { - "glob": { - "version": "7.2.3", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "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" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } - } - } - }, - "jest-diff": { - "version": "29.5.0", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" - } - }, - "jest-docblock": { - "version": "29.4.3", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/types": "^29.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "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-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } }, - "jest-environment-jsdom": { - "version": "29.5.0", - "dev": true, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0", - "jsdom": "^20.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "jest-environment-node": { - "version": "29.5.0", + "lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, - "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" - } + "peer": true }, - "jest-get-type": { - "version": "29.4.3", + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" + }, + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true }, - "jest-haste-map": { - "version": "29.5.0", + "macos-release": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.2.0.tgz", + "integrity": "sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==", "dev": true, - "requires": { - "@jest/types": "^29.5.0", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } + "peer": true }, - "jest-leak-detector": { - "version": "29.5.0", + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } } }, - "jest-matcher-utils": { - "version": "29.5.0", + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "tmpl": "1.0.5" } }, - "jest-message-util": { - "version": "29.5.0", + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "object-visit": "^1.0.0" } }, - "jest-mock": { - "version": "29.5.0", + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "jest-util": "^29.5.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.4.3", + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", "dev": true }, - "jest-resolve": { - "version": "29.5.0", + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "jest-resolve-dependencies": { - "version": "29.5.0", + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, "requires": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } } }, - "jest-runner": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, - "jest-runtime": { - "version": "29.5.0", + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "metro": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", + "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", "dev": true, "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" }, "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -43890,360 +39981,740 @@ "path-is-absolute": "^1.0.0" } }, - "strip-bom": { - "version": "4.0.0", + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } }, - "jest-snapshot": { - "version": "29.5.0", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" - } - }, - "jest-util": { - "version": "29.5.0", + "metro-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", + "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", "dev": true, "requires": { - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" } }, - "jest-validate": { - "version": "29.5.0", + "metro-cache": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", + "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", "dev": true, "requires": { - "@jest/types": "^29.5.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "leven": "^3.1.0", - "pretty-format": "^29.5.0" + "metro-core": "0.76.7", + "rimraf": "^3.0.2" }, "dependencies": { - "camelcase": { - "version": "6.3.0", - "dev": true + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, - "jest-watcher": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.5.0", - "string-length": "^4.0.1" - } + "metro-cache-key": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", + "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", + "dev": true }, - "jest-worker": { - "version": "29.5.0", + "metro-config": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", + "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", "dev": true, "requires": { - "@types/node": "*", - "jest-util": "^29.5.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" }, "dependencies": { - "supports-color": { - "version": "8.1.1", + "metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" } } } }, - "js-tokens": { - "version": "4.0.0" - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsdom": { - "version": "20.0.3", + "metro-core": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", + "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", "dev": true, "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" } }, - "jsesc": { - "version": "2.5.2", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2" - }, - "json-parse-even-better-errors": { - "version": "2.3.1" - }, - "json-schema-traverse": { - "version": "0.4.1" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "dev": true - }, - "json5": { - "version": "1.0.2", + "metro-file-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", + "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", "dev": true, "requires": { - "minimist": "^1.2.0" - } - }, - "jsonc": { - "version": "2.0.0", - "requires": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" }, "dependencies": { - "parse-json": { - "version": "4.0.0", + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "has-flag": "^4.0.0" } - }, - "strip-bom": { - "version": "4.0.0" } } }, - "kind-of": { - "version": "6.0.3", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "dev": true - }, - "lazystream": { - "version": "1.0.1", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "leven": { - "version": "3.1.0", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "dev": true - }, - "loader-runner": { - "version": "4.3.0" - }, - "loader-utils": { - "version": "2.0.4", + "metro-inspector-proxy": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", + "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" }, "dependencies": { - "json5": { - "version": "2.2.3", + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "dev": true - }, - "lodash.assignwith": { - "version": "4.2.0" - }, - "lodash.camelcase": { - "version": "4.3.0" - }, - "lodash.defaults": { - "version": "4.2.0" - }, - "lodash.difference": { - "version": "4.5.0" - }, - "lodash.flatten": { - "version": "4.4.0" - }, - "lodash.isplainobject": { - "version": "4.0.6" - }, - "lodash.memoize": { - "version": "4.1.2", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", + "metro-minify-terser": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", + "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "dev": true, + "requires": { + "terser": "^5.15.0" + } + }, + "metro-minify-uglify": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", + "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", + "dev": true, + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", + "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", + "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" + } + }, + "metro-resolver": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", + "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", "dev": true }, - "lodash.union": { - "version": "4.6.0" - }, - "loose-envify": { - "version": "1.4.0", - "peer": true, + "metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" } }, - "lru-cache": { - "version": "10.0.0" - }, - "lz-string": { - "version": "1.5.0", - "dev": true - }, - "make-dir": { - "version": "3.1.0", + "metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", "dev": true, "requires": { - "semver": "^6.0.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "dependencies": { - "semver": { - "version": "6.3.0", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "dev": true, + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } } } }, - "make-error": { - "version": "1.3.6", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-cache": { - "version": "0.2.2", - "dev": true - }, - "map-visit": { - "version": "1.0.0", + "metro-symbolicate": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", + "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", "dev": true, "requires": { - "object-visit": "^1.0.0" + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, - "md5.js": { - "version": "1.3.5", + "metro-transform-plugins": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", + "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" } }, - "memory-fs": { - "version": "0.4.1", + "metro-transform-worker": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", + "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, + "dependencies": { + "metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } } }, - "merge-stream": { - "version": "2.0.0" - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, "micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -44252,6 +40723,8 @@ }, "miller-rabin": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -44260,45 +40733,95 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, "mime-db": { - "version": "1.52.0" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { "mime-db": "1.52.0" } }, "mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "dev": true, + "peer": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, "minimalistic-assert": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, "minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.8" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } }, "minipass": { - "version": "7.0.2" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" }, "mississippi": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -44311,10 +40834,66 @@ "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, "mixin-deep": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -44323,12 +40902,22 @@ }, "mkdirp": { "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { "minimist": "^1.2.6" } }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, "move-concurrently": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -44341,6 +40930,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -44353,6 +40944,8 @@ }, "rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -44362,19 +40955,34 @@ }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "peer": true + }, "nan": { "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, "nanoid": { "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "peer": true }, "nanomatch": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -44392,26 +41000,71 @@ }, "native-reg": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "requires": { "node-gyp-build": "4" } }, "natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "natural-compare-lite": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, "negotiator": { - "version": "0.6.3" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true }, "neo-async": { - "version": "2.6.2" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "peer": true + }, + "new-github-release-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", + "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", + "dev": true, + "peer": true, + "requires": { + "type-fest": "^2.5.1" + }, + "dependencies": { + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "peer": true + } + } + }, + "nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "dev": true }, "nock": { - "version": "13.3.1", + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", + "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -44420,15 +41073,76 @@ "propagate": "^2.0.0" } }, + "node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "peer": true + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "node-gyp-build": { - "version": "4.6.0" + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" }, "node-int64": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-libs-browser": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -44456,35 +41170,127 @@ "vm-browserify": "^1.0.1" }, "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "punycode": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, "node-releases": { - "version": "2.0.12" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "dev": true + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } }, "normalize-path": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "dev": true, + "peer": true }, "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" } }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true + }, "nwsapi": { - "version": "2.2.5", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", "dev": true }, "object-assign": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -44494,6 +41300,8 @@ "dependencies": { "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -44501,6 +41309,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -44508,6 +41318,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -44515,6 +41327,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -44524,12 +41338,16 @@ "dependencies": { "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -44539,10 +41357,14 @@ }, "object-inspect": { "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-is": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -44551,10 +41373,14 @@ }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object-visit": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" @@ -44562,6 +41388,8 @@ }, "object.assign": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -44570,8 +41398,54 @@ "object-keys": "^1.1.1" } }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, "object.pick": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -44579,6 +41453,8 @@ }, "object.values": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -44586,71 +41462,270 @@ "es-abstract": "^1.20.4" } }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "on-headers": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" } }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, "optionator": { - "version": "0.9.1", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@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", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "os-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-5.1.0.tgz", + "integrity": "sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==", + "dev": true, + "peer": true, + "requires": { + "macos-release": "^3.1.0", + "windows-release": "^5.0.1" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "peer": true + }, + "p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "peer": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", + "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "dev": true, + "requires": { + "aggregate-error": "^4.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pac-proxy-agent": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.4.tgz", + "integrity": "sha512-FbJYeusBOZNe6bmrC2/+r/HljwExryon16lNKEU82gWiwIPMCEktUPSEAcTkO9K3jd/YPGuX/azZel1ltmo6nQ==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "pac-resolver": "^6.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "peer": true, + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + } } }, - "os-browserify": { - "version": "0.3.0", - "dev": true - }, - "p-limit": { - "version": "3.1.0", + "pac-resolver": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-6.0.2.tgz", + "integrity": "sha512-EQpuJ2ifOjpZY5sg1Q1ZeAxvtLwR7Mj3RgY8cysPGbsRu3RBXyJFWxnMus9PScjxya/0LzvVDxNh/gl0eXBU4w==", "dev": true, + "peer": true, "requires": { - "yocto-queue": "^0.1.0" + "degenerator": "^4.0.4", + "ip": "^1.1.8", + "netmask": "^2.0.2" } }, - "p-locate": { - "version": "5.0.0", + "package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", "dev": true, + "peer": true, "requires": { - "p-limit": "^3.0.2" + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" } }, - "p-try": { - "version": "2.2.0", - "dev": true - }, "pako": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -44658,6 +41733,8 @@ }, "parse-asn1": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", @@ -44669,6 +41746,8 @@ }, "parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -44677,61 +41756,101 @@ "lines-and-columns": "^1.1.6" } }, + "parse-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "dev": true, + "peer": true, + "requires": { + "protocols": "^2.0.0" + } + }, + "parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "dev": true, + "peer": true, + "requires": { + "parse-path": "^7.0.0" + } + }, "parse5": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "requires": { "entities": "^4.4.0" } }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, "pascalcase": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-browserify": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, "optional": true }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { - "version": "1.0.1" - }, - "path-is-inside": { - "version": "1.0.2", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-scurry": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "path-to-regexp": { - "version": "2.2.1", - "dev": true - }, "path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -44743,36 +41862,52 @@ }, "pend": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "picocolors": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { - "version": "4.0.1", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "pinkie": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, "pinkie-promise": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "requires": { "pinkie": "^2.0.0" } }, "pirates": { - "version": "4.0.5", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -44780,6 +41915,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -44788,6 +41925,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -44795,6 +41934,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -44802,6 +41943,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -44809,12 +41952,22 @@ } } }, + "pod-install": { + "version": "0.1.38", + "resolved": "https://registry.npmjs.org/pod-install/-/pod-install-0.1.38.tgz", + "integrity": "sha512-NeDWGigjJRriOIKBOvpW2/tK2tYLfyUT7ia6C6L+oarCAhBNP+IGODWdU+GEAqvfsseqOApcFclpXAJTL0UPzA==", + "dev": true + }, "posix-character-classes": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "postcss": { - "version": "8.4.27", + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "peer": true, "requires": { "nanoid": "^3.3.6", @@ -44824,60 +41977,215 @@ }, "prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, "pretty-format": { - "version": "29.5.0", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "requires": { - "@jest/schemas": "^29.4.3", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "react-is": "^17.0.1" }, "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } }, "process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dev": true, + "requires": { + "asap": "~2.0.6" + } }, "promise-inflight": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, + "promise.allsettled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.6.tgz", + "integrity": "sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==", + "dev": true, + "peer": true, + "requires": { + "array.prototype.map": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "iterate-value": "^1.0.2" + } + }, "prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, "propagate": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "peer": true + }, + "protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true, + "peer": true + }, + "proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.2.1.tgz", + "integrity": "sha512-OIbBKlRAT+ycCm6wAYIzMwPejzRtjy8F3QiDX0eKOA3e4pe3U9F/IvzcHP42bmgQxVv97juG+J8/gx+JIeCX/Q==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^6.0.3", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.1" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "peer": true, + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "peer": true + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "peer": true + }, "prr": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "psl": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "public-encrypt": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -44890,12 +42198,16 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -44904,6 +42216,8 @@ }, "pumpify": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -44913,6 +42227,8 @@ "dependencies": { "pump": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -44922,14 +42238,36 @@ } }, "punycode": { - "version": "2.3.0" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + }, + "pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "dev": true, + "peer": true, + "requires": { + "escape-goat": "^4.0.0" + } }, "pure-rand": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, "qs": { "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -44937,24 +42275,49 @@ }, "querystring-es3": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "querystringify": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dev": true, + "requires": { + "inherits": "~2.0.3" + } + }, "queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -44962,12 +42325,17 @@ } }, "range-parser": { - "version": "1.2.0", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "rc": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "peer": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -44977,19 +42345,44 @@ "dependencies": { "strip-json-comments": { "version": "2.0.1", - "dev": true + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "peer": true } } }, "react": { "version": "18.2.0", - "peer": true, + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { "loose-envify": "^1.1.0" } }, + "react-devtools-core": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", + "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "dev": true, + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + }, + "dependencies": { + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + } + } + }, "react-dom": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, "peer": true, "requires": { @@ -44998,46 +42391,616 @@ } }, "react-is": { - "version": "18.2.0", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "readable-stream": { - "version": "2.3.8", + "react-native": { + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", + "dev": true, + "requires": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "react-native-builder-bob": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/react-native-builder-bob/-/react-native-builder-bob-0.21.3.tgz", + "integrity": "sha512-ZlEXWzgIRfRvQEDEYnoTeJ2og5zDbORB0BMGzpE34TxO22+DZeXH4yFYUtZLrUxvUi5WVo/1V2sVjjnUNZL85Q==", + "dev": true, + "requires": { + "@babel/core": "^7.18.5", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/preset-env": "^7.18.2", + "@babel/preset-flow": "^7.17.12", + "@babel/preset-react": "^7.17.12", + "@babel/preset-typescript": "^7.17.12", + "browserslist": "^4.20.4", + "cosmiconfig": "^7.0.1", + "cross-spawn": "^7.0.3", + "dedent": "^0.7.0", + "del": "^6.1.1", + "fs-extra": "^10.1.0", + "glob": "^8.0.3", + "is-git-dirty": "^2.0.1", + "jetifier": "^2.0.0", + "json5": "^2.2.1", + "kleur": "^4.1.4", + "prompts": "^2.4.2", + "which": "^2.0.2", + "yargs": "^17.5.1" + }, + "dependencies": { + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@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" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "dev": true + }, + "react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" }, "dependencies": { - "safe-buffer": { - "version": "5.1.2" + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } }, - "string_decoder": { - "version": "1.1.1", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true } } }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, "readdir-glob": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "requires": { "minimatch": "^5.1.0" }, "dependencies": { "brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -45046,34 +43009,138 @@ }, "readdirp": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "optional": true, "requires": { "picomatch": "^2.2.1" } }, + "readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "dev": true + }, + "recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "dev": true, + "requires": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "rechoir": { - "version": "0.8.0", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, + "peer": true, "requires": { - "resolve": "^1.20.0" + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } } }, "redux": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, "requires": { "@babel/runtime": "^7.9.2" } }, "redux-thunk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "dev": true, "requires": {} }, + "reflect.getprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", + "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, "regenerator-runtime": { - "version": "0.13.11" + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } }, "regex-not": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -45082,6 +43149,8 @@ }, "regexp.prototype.flags": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -45089,59 +43158,464 @@ "functions-have-names": "^1.2.3" } }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@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": { - "version": "3.3.2", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", "dev": true, + "peer": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "@pnpm/npm-conf": "^2.1.0" } }, "registry-url": { - "version": "3.1.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dev": true, + "peer": true, + "requires": { + "rc": "1.2.8" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "release-it": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/release-it/-/release-it-15.11.0.tgz", + "integrity": "sha512-lZwoGEnKYKwGnfxxlA7vtR7vvozPrOSsIgQaHO4bgQ5ARbG3IA6Dmo0IVusv6nR1KmnjH70QIeNAgsWs6Ji/tw==", "dev": true, + "peer": true, "requires": { - "rc": "^1.0.1" + "@iarna/toml": "2.2.5", + "@octokit/rest": "19.0.11", + "async-retry": "1.3.3", + "chalk": "5.2.0", + "cosmiconfig": "8.1.3", + "execa": "7.1.1", + "git-url-parse": "13.1.0", + "globby": "13.1.4", + "got": "12.6.1", + "inquirer": "9.2.6", + "is-ci": "3.0.1", + "issue-parser": "6.0.0", + "lodash": "4.17.21", + "mime-types": "2.1.35", + "new-github-release-url": "2.0.0", + "node-fetch": "3.3.1", + "open": "9.1.0", + "ora": "6.3.1", + "os-name": "5.1.0", + "promise.allsettled": "1.0.6", + "proxy-agent": "6.2.1", + "semver": "7.5.1", + "shelljs": "0.8.5", + "update-notifier": "6.0.2", + "url-join": "5.0.0", + "wildcard-match": "5.1.2", + "yargs-parser": "21.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "peer": true + }, + "chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true, + "peer": true + }, + "cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "peer": true, + "requires": { + "restore-cursor": "^4.0.0" + } + }, + "cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "dev": true, + "peer": true, + "requires": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + } + }, + "data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "dev": true, + "peer": true + }, + "execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dev": true, + "peer": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "peer": true + }, + "globby": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "dev": true, + "peer": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "peer": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "peer": true + }, + "is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "peer": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "peer": true + }, + "is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "peer": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "peer": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, + "peer": true, + "requires": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "peer": true + }, + "node-fetch": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", + "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", + "dev": true, + "peer": true, + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "peer": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "peer": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "peer": true, + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + }, + "ora": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", + "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", + "dev": true, + "peer": true, + "requires": { + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "peer": true + }, + "restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "peer": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "peer": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "peer": true, + "requires": { + "mimic-fn": "^2.1.0" + } + } + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "peer": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "peer": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "peer": true + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "peer": true + } } }, "remove-trailing-separator": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, "optional": true }, "repeat-element": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, - "require-from-string": { - "version": "2.0.2" + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "requires-port": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "reselect": { - "version": "4.1.8" + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true }, "resolve": { - "version": "1.22.2", + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, "requires": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "peer": true + }, "resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -45149,32 +43623,81 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-url": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "resolve.exports": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, + "responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dev": true, + "peer": true, + "requires": { + "lowercase-keys": "^3.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, "ret": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "peer": true + }, "reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -45182,6 +43705,8 @@ }, "ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -45189,14 +43714,35 @@ } }, "rollup": { - "version": "3.27.2", + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", + "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", "peer": true, "requires": { "fsevents": "~2.3.2" } }, + "run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "peer": true, + "requires": { + "execa": "^5.0.0" + } + }, + "run-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "dev": true, + "peer": true + }, "run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" @@ -45204,16 +43750,53 @@ }, "run-queue": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" } }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "peer": true + } + } + }, + "safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, "safe-buffer": { - "version": "5.2.1" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" @@ -45221,6 +43804,8 @@ }, "safe-regex-test": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -45230,10 +43815,14 @@ }, "safer-buffer": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "saxes": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -45241,6 +43830,8 @@ }, "scheduler": { "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, "peer": true, "requires": { @@ -45249,6 +43840,8 @@ }, "schema-utils": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -45257,13 +43850,25 @@ }, "seek-bzip": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { "commander": "^2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } } }, "semver": { "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -45271,6 +43876,8 @@ "dependencies": { "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -45278,78 +43885,119 @@ } } }, - "serialize-javascript": { - "version": "6.0.1", + "semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dev": true, + "peer": true, "requires": { - "randombytes": "^2.1.0" + "semver": "^7.3.5" } }, - "serve": { - "version": "14.2.0", + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { - "@zeit/schemas": "2.29.0", - "ajv": "8.11.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.5", - "update-check": "1.5.4" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "dependencies": { - "ajv": { - "version": "8.11.0", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } } }, - "chalk": { - "version": "5.0.1", + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, - "json-schema-traverse": { - "version": "1.0.0", - "dev": true - } - } - }, - "serve-handler": { - "version": "6.1.5", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - }, - "dependencies": { - "mime-db": { - "version": "1.33.0", + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "mime-types": { - "version": "2.1.18", + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { - "mime-db": "~1.33.0" + "ee-first": "1.1.1" } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "dev": true + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, "set-value": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -45360,6 +44008,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -45367,16 +44017,28 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "setimmediate": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -45385,6 +44047,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -45392,15 +44056,56 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "peer": true, + "requires": { + "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" + } + } + } }, "side-channel": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -45409,18 +44114,76 @@ } }, "signal-exit": { - "version": "4.0.2" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" }, "sisteransi": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + } + } + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "peer": true + }, "snapdragon": { "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -45435,6 +44198,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -45442,6 +44207,8 @@ }, "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -45449,6 +44216,8 @@ }, "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -45456,6 +44225,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -45463,6 +44234,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -45472,6 +44245,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -45479,6 +44254,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -45488,6 +44265,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -45497,24 +44276,34 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -45524,6 +44313,8 @@ "dependencies": { "define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -45533,6 +44324,8 @@ }, "snapdragon-util": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -45540,6 +44333,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -45547,19 +44342,71 @@ } } }, + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "peer": true, + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "dependencies": { + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true, + "peer": true + } + } + }, + "socks-proxy-agent": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz", + "integrity": "sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "^7.0.1", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "peer": true, + "requires": { + "debug": "^4.3.4" + } + } + } + }, "source-list-map": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { - "version": "0.6.1" + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" }, "source-map-js": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "peer": true }, "source-map-resolve": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", @@ -45571,29 +44418,97 @@ }, "source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" } }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, "sprintf-js": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "ssri": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -45601,6 +44516,8 @@ }, "stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -45608,12 +44525,39 @@ "dependencies": { "escape-string-regexp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dev": true, + "requires": { + "type-fest": "^0.7.1" + }, + "dependencies": { + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "dev": true } } }, "static-extend": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -45622,6 +44566,8 @@ "dependencies": { "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -45629,6 +44575,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -45636,6 +44584,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -45645,6 +44595,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -45652,6 +44604,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -45661,6 +44615,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -45670,12 +44626,57 @@ }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dev": true, + "peer": true, + "requires": { + "bl": "^5.0.0" + }, + "dependencies": { + "bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dev": true, + "peer": true, + "requires": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } + } + }, "stop-iteration-iterator": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, "requires": { "internal-slot": "^1.0.4" @@ -45683,14 +44684,50 @@ }, "stream-browserify": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-each": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -45699,6 +44736,8 @@ }, "stream-http": { "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -45706,31 +44745,86 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-read-all": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==" }, "stream-shift": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" } }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -45738,10 +44832,14 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -45750,6 +44848,8 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -45757,12 +44857,32 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" } } }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, "string.prototype.trim": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -45772,6 +44892,8 @@ }, "string.prototype.trimend": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -45781,6 +44903,8 @@ }, "string.prototype.trimstart": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -45790,22 +44914,30 @@ }, "strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "strip-dirs": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "requires": { "is-natural-number": "^4.0.1" @@ -45813,27 +44945,70 @@ }, "strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, "strip-json-comments": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "dev": true + }, + "sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, "supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "symbol-tree": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table-layout": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "requires": { "@75lb/deep-merge": "^1.1.1", "array-back": "^6.2.2", @@ -45845,38 +45020,82 @@ }, "dependencies": { "array-back": { - "version": "6.2.2" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" }, "typical": { - "version": "7.1.1" + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" } } }, "tapable": { - "version": "2.2.1" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, "tar-stream": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" + } + }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "requires": { + "rimraf": "~2.6.2" }, "dependencies": { - "readable-stream": { - "version": "3.6.2", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" } } } }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, "terser": { - "version": "5.18.1", + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -45884,8 +45103,20 @@ "source-map-support": "~0.5.20" }, "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, "source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -45895,6 +45126,8 @@ }, "terser-webpack-plugin": { "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -45905,6 +45138,8 @@ "dependencies": { "jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -45913,6 +45148,8 @@ }, "supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } @@ -45921,6 +45158,8 @@ }, "test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -45930,6 +45169,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -45942,47 +45183,93 @@ } } }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, "text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true }, "through": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { - "version": "2.0.5", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "readable-stream": "3" } }, "timers-browserify": { "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" } }, + "titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "peer": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "peer": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, "tmpl": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-arraybuffer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-buffer": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -45990,6 +45277,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -45999,6 +45288,8 @@ }, "to-regex": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -46009,30 +45300,58 @@ }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" } }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, "tough-cookie": { - "version": "4.1.2", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + } } }, "tr46": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" } }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, "ts-jest": { "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, "requires": { "bs-logger": "0.x", @@ -46047,12 +45366,22 @@ "dependencies": { "json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } }, "ts-loader": { "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -46063,6 +45392,8 @@ }, "ts-loader-webpack-4": { "version": "npm:ts-loader@8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -46074,6 +45405,8 @@ "dependencies": { "enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -46081,22 +45414,58 @@ "tapable": "^1.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true } } }, "tsconfig-paths": { "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -46107,10 +45476,14 @@ }, "tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -46118,10 +45491,14 @@ }, "tty-browserify": { "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -46129,14 +45506,56 @@ }, "type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "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": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "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": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -46146,20 +45565,71 @@ }, "typedarray": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "peer": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { - "version": "5.0.4", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true }, "typical": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" }, "ua-parser-js": { - "version": "1.0.35" + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true }, "unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -46170,24 +45640,52 @@ }, "unbzip2-stream": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } } }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, "union-value": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -46198,12 +45696,16 @@ "dependencies": { "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "unique-filename": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -46211,17 +45713,46 @@ }, "unique-slug": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" } }, + "unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "peer": true, + "requires": { + "crypto-random-string": "^4.0.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "peer": true + }, "universalify": { - "version": "0.2.0", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "unset-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -46230,6 +45761,8 @@ "dependencies": { "has-value": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -46239,6 +45772,8 @@ "dependencies": { "isobject": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -46248,42 +45783,91 @@ }, "has-values": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true } } }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "peer": true + }, "upath": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "optional": true }, "update-browserslist-db": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" } }, - "update-check": { - "version": "1.5.4", + "update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", "dev": true, + "peer": true, "requires": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "peer": true + } } }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "url": { "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -46292,12 +45876,23 @@ "dependencies": { "punycode": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true } } }, + "url-join": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", + "dev": true, + "peer": true + }, "url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -46306,10 +45901,21 @@ }, "use": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "dev": true, + "requires": {} + }, "util": { "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -46317,33 +45923,54 @@ "dependencies": { "inherits": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true }, "v8-to-istanbul": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "dev": true - } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "vary": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true }, "vite": { "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "peer": true, "requires": { "esbuild": "^0.18.10", @@ -46352,12 +45979,33 @@ "rollup": "^3.27.1" } }, + "vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "dev": true + }, "vm-browserify": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "vm2": { + "version": "3.9.19", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz", + "integrity": "sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==", + "dev": true, + "peer": true, + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + } + }, "w3c-xmlserializer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { "xml-name-validator": "^4.0.0" @@ -46365,6 +46013,8 @@ }, "walker": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { "makeerror": "1.0.12" @@ -46372,6 +46022,8 @@ }, "watchpack": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -46379,6 +46031,8 @@ }, "watchpack-chokidar2": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -46387,6 +46041,8 @@ "dependencies": { "anymatch": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { @@ -46396,6 +46052,8 @@ "dependencies": { "normalize-path": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "optional": true, "requires": { @@ -46406,11 +46064,15 @@ }, "binary-extensions": { "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { @@ -46428,6 +46090,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -46438,6 +46102,8 @@ }, "chokidar": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { @@ -46457,6 +46123,8 @@ }, "fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "optional": true, "requires": { @@ -46468,6 +46136,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -46478,6 +46148,8 @@ }, "fsevents": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { @@ -46487,6 +46159,8 @@ }, "glob-parent": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "optional": true, "requires": { @@ -46496,6 +46170,8 @@ "dependencies": { "is-glob": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "optional": true, "requires": { @@ -46506,6 +46182,8 @@ }, "is-binary-path": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "optional": true, "requires": { @@ -46514,11 +46192,15 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "optional": true }, "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "optional": true, "requires": { @@ -46527,6 +46209,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "optional": true, "requires": { @@ -46535,8 +46219,17 @@ } } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, "micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { @@ -46555,8 +46248,26 @@ "to-regex": "^3.0.2" } }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "readdirp": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { @@ -46565,8 +46276,20 @@ "readable-stream": "^2.0.2" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "optional": true, "requires": { @@ -46576,12 +46299,32 @@ } } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "dev": true, + "peer": true + }, "webidl-conversions": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -46611,6 +46354,8 @@ }, "webpack-4": { "version": "npm:webpack@4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46640,6 +46385,8 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -46649,18 +46396,26 @@ }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46671,6 +46426,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -46678,6 +46435,8 @@ }, "@webassemblyjs/leb128": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -46685,10 +46444,14 @@ }, "@webassemblyjs/utf8": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46703,6 +46466,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46714,6 +46479,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46724,6 +46491,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46736,6 +46505,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -46745,10 +46516,14 @@ }, "acorn": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -46765,6 +46540,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -46772,8 +46549,16 @@ } } }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -46783,6 +46568,8 @@ "dependencies": { "memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -46793,6 +46580,8 @@ }, "eslint-scope": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -46801,6 +46590,8 @@ }, "fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -46811,6 +46602,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -46820,10 +46613,14 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -46831,6 +46628,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -46838,12 +46637,22 @@ } } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "loader-runner": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -46853,6 +46662,8 @@ }, "micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -46870,8 +46681,25 @@ "to-regex": "^3.0.2" } }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "schema-utils": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -46881,17 +46709,38 @@ }, "serialize-javascript": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "terser": { "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -46901,6 +46750,8 @@ }, "terser-webpack-plugin": { "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", @@ -46916,6 +46767,8 @@ }, "to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -46924,6 +46777,8 @@ }, "watchpack": { "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", @@ -46934,6 +46789,8 @@ }, "webpack": { "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "peer": true, "requires": { @@ -46964,6 +46821,8 @@ }, "webpack-sources": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -46974,6 +46833,8 @@ }, "webpack-cli": { "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -46991,14 +46852,39 @@ "webpack-merge": "^5.7.3" }, "dependencies": { + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, "commander": { "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } } } }, "webpack-merge": { "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -47007,32 +46893,69 @@ }, "webpack-node-externals": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { - "version": "3.2.3" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "webpack-sources-webpack-4": { "version": "npm:webpack-sources@1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "whatwg-encoding": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, + "whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==", + "dev": true + }, "whatwg-mimetype": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { "tr46": "^3.0.0", @@ -47041,12 +46964,16 @@ }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -47056,8 +46983,30 @@ "is-symbol": "^1.0.3" } }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "requires": { + "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": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, "requires": { "is-map": "^2.0.1", @@ -47066,38 +47015,80 @@ "is-weakset": "^2.0.1" } }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, "which-typed-array": { - "version": "1.1.9", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, "requires": { "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", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" } }, "widest-line": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, + "peer": true, "requires": { "string-width": "^5.0.1" } }, "wildcard": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, + "wildcard-match": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz", + "integrity": "sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==", + "dev": true, + "peer": true + }, + "windows-release": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-5.1.1.tgz", + "integrity": "sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==", + "dev": true, + "peer": true, + "requires": { + "execa": "^5.1.1" + } + }, "word-wrap": { - "version": "1.2.3", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "peer": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, "wordwrapjs": { - "version": "5.1.0" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" }, "worker-farm": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -47105,6 +47096,8 @@ }, "wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -47112,13 +47105,19 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "ansi-styles": { - "version": "6.2.1" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, "strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -47127,6 +47126,8 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -47134,10 +47135,14 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -47147,10 +47152,14 @@ } }, "wrappy": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -47159,54 +47168,87 @@ "dependencies": { "signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "ws": { "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, "requires": {} }, + "xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "dev": true, + "peer": true + }, "xml-name-validator": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true }, "yargs": { - "version": "17.7.2", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^8.0.1", + "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^4.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^20.2.2" }, "dependencies": { "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -47217,11 +47259,15 @@ } }, "yargs-parser": { - "version": "21.1.1", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -47230,24 +47276,18 @@ }, "yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true }, "zip-stream": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } } } diff --git a/package.json b/package.json index edf79d29..23b65161 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/javascript", + "name": "@backtrace-labs/javascript", "version": "0.0.1", "description": "Backtrace.io error reporting tool for JavaScript", "author": "Backtrace ", @@ -16,8 +16,7 @@ }, "workspaces": [ "packages/*", - "tools/*", - "examples/**/*" + "tools/*" ], "repository": { "type": "git", diff --git a/packages/browser/README.md b/packages/browser/README.md index 41c32fcb..7eb2acd9 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -1,9 +1,13 @@ # **Backtrace Browser SDK** -[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and easy, after which you can explore the rich set of Backtrace features. +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/browser](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick +and easy, after which you can explore the rich set of Backtrace features. ## Table of Contents + 1. [Basic Integration - Reporting your first errors](#basic-integration) - [Install the package](#install-the-package) - [Integrate the SDK](#integrate-the-sdk) @@ -22,31 +26,31 @@ The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrac - [BacktraceClient Methods](#backtraceclient-methods) - [BacktraceReports](#backtracereport) - ## Basic Integration ### Install the package ``` -$ npm install @backtrace/browser +$ npm install @backtrace-labs/browser ``` ### Integrate the SDK + Add the following code to your application before all other scripts to report client-side errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace/browser with your favoriate package manager. -import { BacktraceClient, BacktraceConfiguration } from "@backtrace/browser"; +// Import the BacktraceClient from @backtrace-labs/browser with your favoriate package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/browser'; // Configure client options const options: BacktraceConfiguration = { // Name of the website/application - name: "MyWebPage", + name: 'MyWebPage', // Version of the website - version: "1.2.3", + version: '1.2.3', // Submission url // is the subdomain of your Backtrace instance (.backtrace.io) // can be found in Project Settings/Submission tokens - url: "https://submit.backtrace.io///json", -} + url: 'https://submit.backtrace.io///json', +}; // Initialize the client with the options const client = BacktraceClient.initialize(options); @@ -54,46 +58,58 @@ const client = BacktraceClient.initialize(options); // By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections // Manually send an error -client.send(new Error("Something broke!")); +client.send(new Error('Something broke!')); ``` ### Upload source maps -Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to your original source identifiers. + +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to +your original source identifiers. [(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + ## Error Reporting Features + ### Attributes -Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of the advanced Backtrace features detailed in [Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, +sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of +the advanced Backtrace features detailed in +[Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). There are several places where attributes can be added, modified or deleted. #### Attach attributes object to BacktraceClient -It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of attributes will be included with every error report, referred to as global attributes. + +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of +attributes will be included with every error report, referred to as global attributes. + ```ts // Create an attributes object that can be modified throughout runtime const attributes: Record = { - "release": "PROD", -} + release: 'PROD', +}; // BacktraceClientOptions const options: BacktraceConfiguration = { - name: "MyWebPage", - version: "1.2.3", - url: "https://submit.backtrace.io///json", + name: 'MyWebPage', + version: '1.2.3', + url: 'https://submit.backtrace.io///json', // Attach the attributes object userAttributes: attributes, -} +}; // Initialize the client const client = BacktraceClient.initialize(options); ``` #### Add attributes during application runtime + Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). + ```ts const client = BacktraceClient.initialize(options); ... @@ -104,20 +120,25 @@ client.addAttribute({ ``` #### Add attributes to an error report + The attributes list of a BacktraceReport object can be directly modified. ```ts -const report: BacktraceReport = new BacktraceReport("My error message", { "myReportKey": "myValue" }); -report.attributes["myReportKey"] = "New value"; +const report: BacktraceReport = new BacktraceReport('My error message', { myReportKey: 'myValue' }); +report.attributes['myReportKey'] = 'New value'; ``` -*** + +--- + ### File Attachments -Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be uploaded with each report. +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the +BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be +uploaded with each report. ```ts -// Import attachment types from @backtrace/browser -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/browser"; +// Import attachment types from @backtrace-labs/browser +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/browser"; // BacktraceStringAttachment should be used for text object like a log file, for example const attachment1 = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -131,9 +152,9 @@ const attachments = [attachment1]; // BacktraceClientOptions const options = { name: "MyWebPage", - version: "1.2.3", + version: "1.2.3", url: "https://submit.backtrace.io///json", - + // Attach the files to all reports attachments, } @@ -151,82 +172,98 @@ try { client.send(report); } ``` -*** + +--- ### Breadcrumbs -Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, and manual breadcrumbs can also be added. + +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, +and manual breadcrumbs can also be added. [(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) #### Breadcrumbs Configuration -| Option Name | Type | Description | Default | Required? | -|-|-|-|-|-| -| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| -| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| -| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| -| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| -| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| + +| Option Name | Type | Description | Default | Required? | +| -------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| ```ts -import { BacktraceClient, BacktraceConfiguration } from "@backtrace/browser"; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/browser'; // BacktraceClientOptions const options: BacktraceConfiguration = { // ignoring all but breadcrumbs config for simplicity breadcrumbs: { // breadcrumbs configuration - } -} + }, +}; // Initialize the client const client = BacktraceClient.initialize(options); ``` #### Default Breadcrumbs -| Type | Description| -| - | - | -| HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | -| History | Adds breadcrumb on pushstate and popstate. | + +| Type | Description | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | +| History | Adds breadcrumb on pushstate and popstate. | | Document/Window | Adds a breadcrumb for document.click, document.dblclick, document.drag, document.drop, window.load, window.unload, window.pagehide, window.pageshow, window.online, and window.offline. | #### Intercepting Breadcrumbs -If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no breadcrumb will be added. + +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter +out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no +breadcrumb will be added. #### Manual Breadcrumbs -In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of your own. + +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of +your own. ```ts client.breadcrumbs?.info('This is a manual breadcrumb.', { - customAttr: 'wow!' - }); + customAttr: 'wow!', +}); ``` -*** + +--- ### Application Stability Metrics + The Backtrace Browser SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. [(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) #### Metrics Configuration -| Option Name | Type | Description | Default | Required? | -|-|-|-|-|-| -| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| -| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| -| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| -| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| + +| Option Name | Type | Description | Default | Required? | +| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------ | +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| #### Metrics Usage + ```ts // metrics will be undefined if not enabled client.metrics?.send(); ``` -*** +--- ## Advanced SDK Features ### Manually send an error -There are several ways to send an error to Backtrace. For more details on the definition of ```client.send()``` see [Methods](#methods) below. + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. ```ts // send as a string @@ -243,38 +280,43 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. + +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and +send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from +exceptions and rejection handlers. #### BacktraceClientOptions -The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. - -| Option Name | Type | Description | Default | Required? | -|-|-|-|-|-| -| `url` | String | Submission URL to send errors to | |
  • - [x]
| -| `name` | String | Your application name | |
  • - [x]
| -| `version` | String | Your application version | |
  • - [x]
| -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon)| |
  • - [ ]
| -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
  • - [x]
| +| `name` | String | Your application name | |
  • - [x]
| +| `version` | String | Your application version | |
  • - [x]
| +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
  • - [ ]
| +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| #### BacktraceClient Methods -| Name | Return Type | Description | -| - | - | - | -| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | -| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | +| Name | Return Type | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | +| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | +| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | ### BacktraceReport -A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in ```BacktraceReport.ts```. + +A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in +`BacktraceReport.ts`. diff --git a/packages/browser/package.json b/packages/browser/package.json index 31433fa7..23f79ed0 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/browser", + "name": "@backtrace-labs/browser", "version": "0.0.1", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 11065956..0a0cd736 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -4,7 +4,7 @@ import { BacktraceRequestHandler, ConnectionError, DEFAULT_TIMEOUT, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { private readonly UPLOAD_FILE_NAME = 'upload_file'; diff --git a/packages/browser/src/BacktraceBrowserSessionProvider.ts b/packages/browser/src/BacktraceBrowserSessionProvider.ts index 0ac1c174..518ba8c2 100644 --- a/packages/browser/src/BacktraceBrowserSessionProvider.ts +++ b/packages/browser/src/BacktraceBrowserSessionProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceSessionProvider, IdGenerator } from '@backtrace/sdk-core'; -import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; +import { BacktraceSessionProvider, IdGenerator } from '@backtrace-labs/sdk-core'; +import { TimeHelper } from '@backtrace-labs/sdk-core/lib/common/TimeHelper'; export class BacktraceBrowserSessionProvider implements BacktraceSessionProvider { /** diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 1b7a3453..890a3c5a 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -7,7 +7,7 @@ import { BreadcrumbsEventSubscriber, DebugIdContainer, VariableDebugIdMapProvider, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; import { AGENT } from './agentDefinition'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; diff --git a/packages/browser/src/BacktraceConfiguration.ts b/packages/browser/src/BacktraceConfiguration.ts index 4a819e2d..0766ef44 100644 --- a/packages/browser/src/BacktraceConfiguration.ts +++ b/packages/browser/src/BacktraceConfiguration.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace/sdk-core'; +import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace-labs/sdk-core'; export interface BacktraceConfiguration extends CoreConfiguration { /** diff --git a/packages/browser/src/agentDefinition.ts b/packages/browser/src/agentDefinition.ts index da35ebf9..183e5bbd 100644 --- a/packages/browser/src/agentDefinition.ts +++ b/packages/browser/src/agentDefinition.ts @@ -1,4 +1,4 @@ -import type { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions'; +import type { SdkOptions } from '@backtrace-labs/sdk-core/lib/builder/SdkOptions'; // These variables will be set on compilation stage declare const BACKTRACE_AGENT_NAME: string; diff --git a/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts index 4de37c0a..d81620dc 100644 --- a/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; import { BacktraceConfiguration } from '../BacktraceConfiguration'; export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/browser/src/attributes/UserAgentAttributeProvider.ts b/packages/browser/src/attributes/UserAgentAttributeProvider.ts index c5677c89..26386c00 100644 --- a/packages/browser/src/attributes/UserAgentAttributeProvider.ts +++ b/packages/browser/src/attributes/UserAgentAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; import UAParser from 'ua-parser-js'; export class UserAgentAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts index 7eb66f3b..18a16feb 100644 --- a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts +++ b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider, BacktraceConfiguration, IdGenerator } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider, BacktraceConfiguration, IdGenerator } from '@backtrace-labs/sdk-core'; export class UserIdentifierAttributeProvider implements BacktraceAttributeProvider { public readonly USER_IDENTIFIER = 'backtrace-guid'; diff --git a/packages/browser/src/attributes/WebsiteAttributeProvider.ts b/packages/browser/src/attributes/WebsiteAttributeProvider.ts index e1ca7396..af4b956f 100644 --- a/packages/browser/src/attributes/WebsiteAttributeProvider.ts +++ b/packages/browser/src/attributes/WebsiteAttributeProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; -import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { TimeHelper } from '@backtrace-labs/sdk-core/lib/common/TimeHelper'; const PAGE_START_TIME = TimeHelper.now(); diff --git a/packages/browser/src/attributes/WindowAttributeProvider.ts b/packages/browser/src/attributes/WindowAttributeProvider.ts index fa634294..4272fcb0 100644 --- a/packages/browser/src/attributes/WindowAttributeProvider.ts +++ b/packages/browser/src/attributes/WindowAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; export class WindowAttributeProvider implements BacktraceAttributeProvider { public get type(): 'scoped' | 'dynamic' { diff --git a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts index c6cddd7d..ec427323 100644 --- a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts @@ -3,7 +3,7 @@ import { BreadcrumbsEventSubscriber, BreadcrumbsManager, BreadcrumbType, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { private readonly _controller: AbortController = new AbortController(); diff --git a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts index a40c36ac..e03bdf9e 100644 --- a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts @@ -3,7 +3,7 @@ import { BreadcrumbsEventSubscriber, BreadcrumbsManager, BreadcrumbType, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; export class HistoryEventSubscriber implements BreadcrumbsEventSubscriber { private _abortController = new AbortController(); diff --git a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts index c81adff7..e3bdea73 100644 --- a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts @@ -3,7 +3,7 @@ import { BreadcrumbsEventSubscriber, BreadcrumbsManager, BreadcrumbType, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { private _xmlHttpRequestOriginalOpenMethod?: typeof XMLHttpRequest.prototype.open; @@ -17,7 +17,7 @@ export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { XMLHttpRequest.prototype.open = function ( method: string, - url: string | URL, + url: string, async?: boolean, username?: string | null, password?: string | null, diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 967f0fd6..7b68faaa 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,5 +1,5 @@ -import { BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace/sdk-core'; -import { V8StackTraceConverter } from '@backtrace/sdk-core/lib/modules/converter/V8StackTraceConverter'; +import { BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace-labs/sdk-core'; +import { V8StackTraceConverter } from '@backtrace-labs/sdk-core/lib/modules/converter/V8StackTraceConverter'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; diff --git a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts index b5f808ac..c51d0934 100644 --- a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts +++ b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts @@ -1,6 +1,6 @@ -import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; -import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; -import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; +import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace-labs/sdk-core'; +import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace-labs/sdk-core/lib/model/data/JavaScriptEngine'; export class JavaScriptCoreStackTraceConverter implements BacktraceStackTraceConverter { get engine(): JavaScriptEngine { diff --git a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts index d2bf8605..dbe9c0fd 100644 --- a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts +++ b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts @@ -1,6 +1,6 @@ -import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; -import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; -import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; +import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace-labs/sdk-core'; +import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace-labs/sdk-core/lib/model/data/JavaScriptEngine'; export class SpiderMonkeyStackTraceConverter implements BacktraceStackTraceConverter { private readonly ANONYMOUS_FUNCTIONS = ['()', '(null)', '']; diff --git a/packages/browser/src/engineDetector.ts b/packages/browser/src/engineDetector.ts index 096a624b..48b284ab 100644 --- a/packages/browser/src/engineDetector.ts +++ b/packages/browser/src/engineDetector.ts @@ -1,4 +1,4 @@ -import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; +import { JavaScriptEngine } from '@backtrace-labs/sdk-core/lib/model/data/JavaScriptEngine'; export function getEngine(): JavaScriptEngine { if (!navigator.userAgent) { diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 05ee3e49..024c6956 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -13,7 +13,7 @@ export { BreadcrumbType, JavaScriptEngine, RawBreadcrumb, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; export * from './agentDefinition'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; diff --git a/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts b/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts index c63b4b8d..d84ba6c2 100644 --- a/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts +++ b/packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceConfiguration } from '@backtrace/sdk-core'; +import { BacktraceConfiguration } from '@backtrace-labs/sdk-core'; import { UserIdentifierAttributeProvider } from '../../src/attributes/UserIdentifierAttributeProvider'; describe('User id attribute provider test', () => { it(`Should always set user id attribute`, () => { diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index d01519cb..950a8d08 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceReport, BacktraceRequestHandler, BacktraceUint8ArrayAttachment } from '@backtrace/sdk-core'; +import { BacktraceReport, BacktraceRequestHandler, BacktraceUint8ArrayAttachment } from '@backtrace-labs/sdk-core'; import { BacktraceClient } from '../../src/'; describe('Client tests', () => { diff --git a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts index 72489b90..c9afe65c 100644 --- a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts +++ b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts @@ -1,4 +1,4 @@ -import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; +import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/src/model/data/BacktraceStackTrace'; const defaultWebsite = `http://localhost/main.js`; export const javaScriptCoreStackTraceTests: Array<{ diff --git a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts index b357ed30..6d54ea4e 100644 --- a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts +++ b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts @@ -1,4 +1,4 @@ -import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; +import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/src/model/data/BacktraceStackTrace'; const defaultWebsite = `http://localhost/main.js`; export const spiderMonkeyStackTraceTests: Array<{ diff --git a/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts b/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts index 4b4850ce..8700167f 100644 --- a/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts +++ b/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts @@ -1,4 +1,4 @@ -import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; +import { TimeHelper } from '@backtrace-labs/sdk-core/lib/common/TimeHelper'; import { BacktraceBrowserSessionProvider } from '../../src/BacktraceBrowserSessionProvider'; describe('Session provider tests', () => { it('Should generate a new uuid on new session', () => { diff --git a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts index 50bd3e84..f80a7729 100644 --- a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts +++ b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts @@ -1,7 +1,7 @@ -import { BacktraceBreadcrumbs } from '@backtrace/sdk-core/src'; +import { BacktraceBreadcrumbs } from '@backtrace-labs/sdk-core/src'; +import { Action, configureStore, createSlice, Middleware, PayloadAction } from '@reduxjs/toolkit'; import { BacktraceClient } from '../../src/BacktraceClient'; import { createBacktraceReduxMiddleware } from '../../src/redux/BacktraceReduxMiddleware'; -import { configureStore, createSlice, PayloadAction, Action, Middleware } from '@reduxjs/toolkit'; const clientBreadcrumbsEnabled = BacktraceClient.initialize({ name: 'test-cleint', diff --git a/packages/node/package.json b/packages/node/package.json index 257bc2f9..279ff16e 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/node", + "name": "@backtrace-labs/node", "version": "0.0.1", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace/sdk-core": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.1", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 858b159a..07c3910b 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -7,7 +7,7 @@ import { BreadcrumbsEventSubscriber, DebugIdContainer, VariableDebugIdMapProvider, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; import fs from 'fs'; import * as fsPromise from 'fs/promises'; import path from 'path'; diff --git a/packages/node/src/BacktraceConfiguration.ts b/packages/node/src/BacktraceConfiguration.ts index 5757540b..144fb87f 100644 --- a/packages/node/src/BacktraceConfiguration.ts +++ b/packages/node/src/BacktraceConfiguration.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace/sdk-core'; +import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace-labs/sdk-core'; import { Readable } from 'stream'; export interface BacktraceConfiguration extends Omit { attachments?: Array | string>; diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 47a8f5a5..1668a218 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -5,7 +5,7 @@ import { BacktraceSubmissionResponse, ConnectionError, DEFAULT_TIMEOUT, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; import FormData from 'form-data'; import http from 'http'; import https from 'https'; diff --git a/packages/node/src/agentDefinition.ts b/packages/node/src/agentDefinition.ts index e3605c54..5eaf063c 100644 --- a/packages/node/src/agentDefinition.ts +++ b/packages/node/src/agentDefinition.ts @@ -1,4 +1,4 @@ -import { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions'; +import { SdkOptions } from '@backtrace-labs/sdk-core/lib/builder/SdkOptions'; // These variables will be set on compilation stage declare const BACKTRACE_AGENT_NAME: string; diff --git a/packages/node/src/attachment/BacktraceBufferAttachment.ts b/packages/node/src/attachment/BacktraceBufferAttachment.ts index b9e8de58..20be4f1c 100644 --- a/packages/node/src/attachment/BacktraceBufferAttachment.ts +++ b/packages/node/src/attachment/BacktraceBufferAttachment.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '@backtrace/sdk-core'; +import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; export class BacktraceBufferAttachment implements BacktraceAttachment { constructor(public readonly name: string, public readonly buffer: Buffer) {} diff --git a/packages/node/src/attachment/BacktraceFileAttachment.ts b/packages/node/src/attachment/BacktraceFileAttachment.ts index 42ba5246..99037066 100644 --- a/packages/node/src/attachment/BacktraceFileAttachment.ts +++ b/packages/node/src/attachment/BacktraceFileAttachment.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '@backtrace/sdk-core'; +import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; import fs from 'fs'; import path from 'path'; import { Readable } from 'stream'; diff --git a/packages/node/src/attachment/index.ts b/packages/node/src/attachment/index.ts index 4a9c539a..f3a49319 100644 --- a/packages/node/src/attachment/index.ts +++ b/packages/node/src/attachment/index.ts @@ -1,3 +1,7 @@ -export { BacktraceAttachment, BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from '@backtrace/sdk-core'; +export { + BacktraceAttachment, + BacktraceStringAttachment, + BacktraceUint8ArrayAttachment, +} from '@backtrace-labs/sdk-core'; export * from './BacktraceBufferAttachment'; export * from './BacktraceFileAttachment'; diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index 3d5b5b6c..3b67fb34 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; import fs from 'fs'; import path from 'path'; import process from 'process'; diff --git a/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts b/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts index 1b5649a8..e215c9be 100644 --- a/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts +++ b/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; import fs from 'fs'; import { MEMORY_ATTRIBUTE_MAP, MEMORY_INFORMATION_REGEX, PROCESS_STATUS_MAP } from './processStatusInformationMap'; diff --git a/packages/node/src/attributes/MachineAttributeProvider.ts b/packages/node/src/attributes/MachineAttributeProvider.ts index 226d7234..af17e79a 100644 --- a/packages/node/src/attributes/MachineAttributeProvider.ts +++ b/packages/node/src/attributes/MachineAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; import os from 'os'; export class MachineAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts b/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts index 3085353e..a72482ad 100644 --- a/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts +++ b/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider, IdGenerator } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider, IdGenerator } from '@backtrace-labs/sdk-core'; import { execSync } from 'child_process'; import { getValue, HKEY } from 'native-reg'; diff --git a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts index 6d779474..90ccaeb5 100644 --- a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; export class ProcessInformationAttributeProvider implements BacktraceAttributeProvider { public get type(): 'scoped' | 'dynamic' { diff --git a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts index 7ae11522..c28be15f 100644 --- a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts +++ b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; -import { AttributeType } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { AttributeType } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceData'; import os from 'os'; export class ProcessStatusAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index e6f7ef7c..ad307674 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; +import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; import { BacktraceFileAttachment } from '../attachment'; import { ApplicationInformationAttributeProvider, diff --git a/packages/node/src/converter/NodeDiagnosticReportConverter.ts b/packages/node/src/converter/NodeDiagnosticReportConverter.ts index c524e616..09247039 100644 --- a/packages/node/src/converter/NodeDiagnosticReportConverter.ts +++ b/packages/node/src/converter/NodeDiagnosticReportConverter.ts @@ -1,5 +1,5 @@ -import { BacktraceErrorType, BacktraceReport } from '@backtrace/sdk-core'; -import type { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { BacktraceErrorType, BacktraceReport } from '@backtrace-labs/sdk-core'; +import type { BacktraceStackFrame } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceStackTrace'; import { NodeDiagnosticReport } from '../database/models/NodeDiagnosticReport'; export class NodeDiagnosticReportConverter { diff --git a/packages/node/src/database/BacktraceDatabaseFileRecord.ts b/packages/node/src/database/BacktraceDatabaseFileRecord.ts index 7ae79661..43afd4d8 100644 --- a/packages/node/src/database/BacktraceDatabaseFileRecord.ts +++ b/packages/node/src/database/BacktraceDatabaseFileRecord.ts @@ -1,4 +1,4 @@ -import { BacktraceData, BacktraceDatabaseRecord } from '@backtrace/sdk-core'; +import { BacktraceData, BacktraceDatabaseRecord } from '@backtrace-labs/sdk-core'; import { BacktraceFileAttachment } from '../attachment'; export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { diff --git a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts index 2e755255..3a06bd04 100644 --- a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts +++ b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts @@ -3,7 +3,7 @@ import { BacktraceDatabaseRecord, BacktraceDatabaseStorageProvider, jsonEscaper, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; import fs from 'fs'; import * as fsPromise from 'fs/promises'; import path from 'path'; diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index edf5189c..a568584e 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -10,7 +10,7 @@ export { BreadcrumbsManager, BreadcrumbType, RawBreadcrumb, -} from '@backtrace/sdk-core'; +} from '@backtrace-labs/sdk-core'; export * from './attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index 0be09b4f..efd67f3f 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceReport, BacktraceRequestHandler } from '@backtrace/sdk-core'; +import { BacktraceReport, BacktraceRequestHandler } from '@backtrace-labs/sdk-core'; import fs from 'fs'; import path from 'path'; import { BacktraceBufferAttachment, BacktraceClient, BacktraceFileAttachment } from '../../src/'; diff --git a/packages/react/README.md b/packages/react/README.md index e0888e18..6eab3d5f 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -1,9 +1,13 @@ # **Backtrace React SDK** -[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace/react](#) SDK connects your React application to Backtrace. The basic integration is quick and easy, after which you can explore the rich set of Backtrace features. +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/react](#) SDK connects your React application to Backtrace. The basic integration is quick and +easy, after which you can explore the rich set of Backtrace features. ## Table of Contents + 1. [Basic Integration - Reporting your first errors](#basic-integration) - [Install the package](#install-the-package) - [Integrate the SDK](#integrate-the-sdk) @@ -23,31 +27,31 @@ The [@backtrace/react](#) SDK connects your React application to Backtrace. The - [BacktraceClient Methods](#backtraceclient-methods) - [BacktraceReports](#backtracereport) - ## Basic Integration ### Install the package ``` -$ npm install @backtrace/react +$ npm install @backtrace-labs/react ``` ### Integrate the SDK + Add the following code to your application before all other scripts to report client-side errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace/react with your favoriate package manager. -import { BacktraceClient, BacktraceConfiguration } from "@backtrace/react"; +// Import the BacktraceClient from @backtrace-labs/react with your favoriate package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react'; // Configure client options const options: BacktraceConfiguration = { // Name of the website/application - name: "MyWebPage", + name: 'MyWebPage', // Version of the website - version: "1.2.3", + version: '1.2.3', // Submission url // is the subdomain of your Backtrace instance (.backtrace.io) // can be found in Project Settings/Submission tokens - url: "https://submit.backtrace.io///json", -} + url: 'https://submit.backtrace.io///json', +}; // Initialize the client with the options const client = BacktraceClient.initialize(options); @@ -55,13 +59,16 @@ const client = BacktraceClient.initialize(options); // By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections // Manually send an error -client.send(new Error("Something broke!")); +client.send(new Error('Something broke!')); ``` ### Add a Backtrace Error Boundary -The ```@backtrace/react``` SDK offers an Error Boundary that will handle errors during rendering, send the error and component stack to Backtrace, and allow you to provide a fallback component. + +The `@backtrace-labs/react` SDK offers an Error Boundary that will handle errors during rendering, send the error and +component stack to Backtrace, and allow you to provide a fallback component. Props: + ```ts type RenderFallback = () => ReactElement; @@ -72,54 +79,66 @@ export interface Props { } ``` - Usage: + ```ts -import { ErrorBoundary } from '@backtrace/react'; +import { ErrorBoundary } from '@backtrace-labs/react'; import Fallback from './components/Fallback'; - +; ``` ### Upload source maps -Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to your original source identifiers. + +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to +your original source identifiers. [(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + ## Error Reporting Features + ### Attributes -Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of the advanced Backtrace features detailed in [Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, +sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of +the advanced Backtrace features detailed in +[Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). There are several places where attributes can be added, modified or deleted. #### Attach attributes object to BacktraceClient -It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of attributes will be included with every error report, referred to as global attributes. + +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of +attributes will be included with every error report, referred to as global attributes. + ```ts // Create an attributes object that can be modified throughout runtime const attributes: Record = { - "release": "PROD", -} + release: 'PROD', +}; // BacktraceClientOptions const options: BacktraceConfiguration = { - name: "MyWebPage", - version: "1.2.3", - url: "https://submit.backtrace.io///json", + name: 'MyWebPage', + version: '1.2.3', + url: 'https://submit.backtrace.io///json', // Attach the attributes object userAttributes: attributes, -} +}; // Initialize the client const client = BacktraceClient.initialize(options); ``` #### Add attributes during application runtime + Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). + ```ts const client = BacktraceClient.initialize(options); ... @@ -130,20 +149,25 @@ client.addAttribute({ ``` #### Add attributes to an error report + The attributes list of a BacktraceReport object can be directly modified. ```ts -const report: BacktraceReport = new BacktraceReport("My error message", { "myReportKey": "myValue" }); -report.attributes["myReportKey"] = "New value"; +const report: BacktraceReport = new BacktraceReport('My error message', { myReportKey: 'myValue' }); +report.attributes['myReportKey'] = 'New value'; ``` -*** + +--- + ### File Attachments -Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be uploaded with each report. +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the +BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be +uploaded with each report. ```ts -// Import attachment types from @backtrace/react -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/react"; +// Import attachment types from @backtrace-labs/react +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/react"; // BacktraceStringAttachment should be used for text object like a log file, for example const attachment1 = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -157,9 +181,9 @@ const attachments = [attachment1]; // BacktraceClientOptions const options = { name: "MyWebPage", - version: "1.2.3", + version: "1.2.3", url: "https://submit.backtrace.io///json", - + // Attach the files to all reports attachments, } @@ -177,82 +201,98 @@ try { client.send(report); } ``` -*** + +--- ### Breadcrumbs -Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, and manual breadcrumbs can also be added. + +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, +and manual breadcrumbs can also be added. [(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) #### Breadcrumbs Configuration -| Option Name | Type | Description | Default | Required? | -|-|-|-|-|-| -| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| -| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| -| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| -| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| -| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| + +| Option Name | Type | Description | Default | Required? | +| -------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| ```ts -import { BacktraceClient, BacktraceConfiguration } from "@backtrace/react"; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react'; // BacktraceClientOptions const options: BacktraceConfiguration = { // ignoring all but breadcrumbs config for simplicity breadcrumbs: { // breadcrumbs configuration - } -} + }, +}; // Initialize the client const client = BacktraceClient.initialize(options); ``` #### Default Breadcrumbs -| Type | Description| -| - | - | -| HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | -| History | Adds breadcrumb on pushstate and popstate. | + +| Type | Description | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | +| History | Adds breadcrumb on pushstate and popstate. | | Document/Window | Adds a breadcrumb for document.click, document.dblclick, document.drag, document.drop, window.load, window.unload, window.pagehide, window.pageshow, window.online, and window.offline. | #### Intercepting Breadcrumbs -If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no breadcrumb will be added. + +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter +out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no +breadcrumb will be added. #### Manual Breadcrumbs -In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of your own. + +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of +your own. ```ts client.breadcrumbs?.info('This is a manual breadcrumb.', { - customAttr: 'wow!' - }); + customAttr: 'wow!', +}); ``` -*** + +--- ### Application Stability Metrics + The Backtrace React SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. [(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) #### Metrics Configuration -| Option Name | Type | Description | Default | Required? | -|-|-|-|-|-| -| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| -| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| -| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| -| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| + +| Option Name | Type | Description | Default | Required? | +| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------ | +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| #### Metrics Usage + ```ts // metrics will be undefined if not enabled client.metrics?.send(); ``` -*** +--- ## Advanced SDK Features ### Manually send an error -There are several ways to send an error to Backtrace. For more details on the definition of ```client.send()``` see [Methods](#methods) below. + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. ```ts // send as a string @@ -269,38 +309,43 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. + +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and +send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from +exceptions and rejection handlers. #### BacktraceClientOptions -The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. - -| Option Name | Type | Description | Default | Required? | -|-|-|-|-|-| -| `url` | String | Submission URL to send errors to | |
  • - [x]
| -| `name` | String | Your application name | |
  • - [x]
| -| `version` | String | Your application version | |
  • - [x]
| -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon)| |
  • - [ ]
| -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
  • - [x]
| +| `name` | String | Your application name | |
  • - [x]
| +| `version` | String | Your application version | |
  • - [x]
| +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
  • - [ ]
| +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| #### BacktraceClient Methods -| Name | Return Type | Description | -| - | - | - | -| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | -| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | +| Name | Return Type | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | +| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | +| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | ### BacktraceReport -A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in ```BacktraceReport.ts```. + +A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in +`BacktraceReport.ts`. diff --git a/packages/react/package.json b/packages/react/package.json index 103b42ca..39cab1ef 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/react", + "name": "@backtrace-labs/react", "version": "0.0.1", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index 663636d2..fd697d3a 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -1,4 +1,4 @@ -import { BacktraceClient as BrowserClient, BacktraceConfiguration } from '@backtrace/browser'; +import { BacktraceClient as BrowserClient, BacktraceConfiguration } from '@backtrace-labs/browser'; import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; export class BacktraceClient extends BrowserClient { diff --git a/packages/react/src/builder/BacktraceReactClientBuilder.ts b/packages/react/src/builder/BacktraceReactClientBuilder.ts index f1d3dda2..7b609174 100644 --- a/packages/react/src/builder/BacktraceReactClientBuilder.ts +++ b/packages/react/src/builder/BacktraceReactClientBuilder.ts @@ -1,4 +1,4 @@ -import { BacktraceClientBuilder } from '@backtrace/browser'; +import { BacktraceClientBuilder } from '@backtrace-labs/browser'; import { BacktraceClient } from '../BacktraceClient'; import { ReactStackTraceConverter } from '../converters/ReactStackTraceConverter'; diff --git a/packages/react/src/converters/ReactStackTraceConverter.ts b/packages/react/src/converters/ReactStackTraceConverter.ts index 3d9075cd..931b1982 100644 --- a/packages/react/src/converters/ReactStackTraceConverter.ts +++ b/packages/react/src/converters/ReactStackTraceConverter.ts @@ -1,4 +1,4 @@ -import { BacktraceStackTraceConverter, JavaScriptEngine, BacktraceStackFrame } from '@backtrace/browser'; +import { BacktraceStackFrame, BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace-labs/browser'; export class ReactStackTraceConverter implements BacktraceStackTraceConverter { constructor(private readonly stackTraceConverter: BacktraceStackTraceConverter) {} diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index d2e8fc3b..5f9c366f 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,3 +1,3 @@ -export * from '@backtrace/browser'; +export * from '@backtrace-labs/browser'; export { BacktraceClient } from './BacktraceClient'; export * from './ErrorBoundary'; diff --git a/packages/react/tests/reactStackTraceConverter.spec.ts b/packages/react/tests/reactStackTraceConverter.spec.ts index d6cd5994..c035690c 100644 --- a/packages/react/tests/reactStackTraceConverter.spec.ts +++ b/packages/react/tests/reactStackTraceConverter.spec.ts @@ -1,5 +1,5 @@ +import { BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace-labs/browser'; import { ReactStackTraceConverter } from '../src/converters/ReactStackTraceConverter'; -import { BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace/browser'; /* eslint-disable @typescript-eslint/no-explicit-any */ class MockConverter implements BacktraceStackTraceConverter { diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 4e77c23c..1778a378 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/sdk-core", + "name": "@backtrace-labs/sdk-core", "version": "0.0.1", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", diff --git a/tools/cli/package.json b/tools/cli/package.json index 4191ca7a..e71b6218 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/javascript-cli", + "name": "@backtrace-labs/javascript-cli", "version": "0.0.1", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", @@ -44,7 +44,7 @@ "/lib" ], "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1", + "@backtrace-labs/sourcemap-tools": "^0.0.1", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", diff --git a/tools/cli/src/commands/Command.ts b/tools/cli/src/commands/Command.ts index 9899a3c0..da1fa657 100644 --- a/tools/cli/src/commands/Command.ts +++ b/tools/cli/src/commands/Command.ts @@ -1,7 +1,7 @@ -import { Err, Ok, Result } from '@backtrace/sourcemap-tools'; +import { Err, Ok, Result } from '@backtrace-labs/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import commandLineUsage, { Section } from 'command-line-usage'; -import { LoggerOptions, createLogger } from '../logger'; +import { createLogger, LoggerOptions } from '../logger'; import { CommandError } from '../models/CommandError'; import { ExtendedOptionDefinition } from '../models/OptionDefinition'; diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index 5f0befa6..29c9d911 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -1,4 +1,4 @@ -import { FileFinder, Ok, ResultPromise } from '@backtrace/sourcemap-tools'; +import { FileFinder, Ok, ResultPromise } from '@backtrace-labs/sourcemap-tools'; import fs from 'fs'; import { glob } from 'glob'; import path from 'path'; diff --git a/tools/cli/src/helpers/jsonc.ts b/tools/cli/src/helpers/jsonc.ts index 361e38be..83075f8c 100644 --- a/tools/cli/src/helpers/jsonc.ts +++ b/tools/cli/src/helpers/jsonc.ts @@ -1,4 +1,4 @@ -import { Err, Ok, Result } from '@backtrace/sourcemap-tools'; +import { Err, Ok, Result } from '@backtrace-labs/sourcemap-tools'; import { jsonc } from 'jsonc'; export function parseJSONC(content: string): Result { diff --git a/tools/cli/src/helpers/logs.ts b/tools/cli/src/helpers/logs.ts index 64820d1d..42f7dc60 100644 --- a/tools/cli/src/helpers/logs.ts +++ b/tools/cli/src/helpers/logs.ts @@ -1,4 +1,4 @@ -import { Asset, LogLevel, ProcessAssetResult, log } from '@backtrace/sourcemap-tools'; +import { Asset, log, LogLevel, ProcessAssetResult } from '@backtrace-labs/sourcemap-tools'; import { CliLogger } from '../logger'; export function logAsset(logger: CliLogger, level: LogLevel) { diff --git a/tools/cli/src/helpers/version.ts b/tools/cli/src/helpers/version.ts index 4329229b..715bf321 100644 --- a/tools/cli/src/helpers/version.ts +++ b/tools/cli/src/helpers/version.ts @@ -1,4 +1,4 @@ -import { AsyncResult, parseJSON, readFile } from '@backtrace/sourcemap-tools'; +import { AsyncResult, parseJSON, readFile } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; interface PackageJson { diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index 74b4c336..742f9f8f 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -1,10 +1,10 @@ #!/usr/bin/env node -import { AsyncResult, Err } from '@backtrace/sourcemap-tools'; +import { AsyncResult, Err } from '@backtrace-labs/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import { Command } from './commands/Command'; import { loadVersion } from './helpers/version'; -import { LoggerOptions, createLogger } from './logger'; +import { createLogger, LoggerOptions } from './logger'; import { DEFAULT_OPTIONS_PATH } from './options/loadOptions'; import { addSourcesCmd } from './sourcemaps/add-sources'; import { processCmd } from './sourcemaps/process'; diff --git a/tools/cli/src/logger.ts b/tools/cli/src/logger.ts index 7b4ce5ca..ea07260b 100644 --- a/tools/cli/src/logger.ts +++ b/tools/cli/src/logger.ts @@ -1,4 +1,4 @@ -import { LogLevel, Logger } from '@backtrace/sourcemap-tools'; +import { Logger, LogLevel } from '@backtrace-labs/sourcemap-tools'; import { format } from 'util'; export interface LoggerOptions { diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts index 2ac8d750..6c2747d3 100644 --- a/tools/cli/src/options/loadOptions.ts +++ b/tools/cli/src/options/loadOptions.ts @@ -1,4 +1,4 @@ -import { AsyncResult, Ok, ResultPromise, parseJSON, readFile } from '@backtrace/sourcemap-tools'; +import { AsyncResult, Ok, parseJSON, readFile, ResultPromise } from '@backtrace-labs/sourcemap-tools'; import { parseJSONC } from '../helpers/jsonc'; import { CliOptions, CommandCliOptions } from './models/CliOptions'; diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index 51b0625a..eac7dae7 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -3,17 +3,17 @@ import { AsyncResult, DebugIdGenerator, Err, - Ok, - SourceProcessor, failIfEmpty, filter, log, map, matchSourceMapExtension, + Ok, parseJSON, readFile, + SourceProcessor, writeFile, -} from '@backtrace/sourcemap-tools'; +} from '@backtrace-labs/sourcemap-tools'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { find } from '../helpers/find'; diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 79b715fe..648b06af 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -3,18 +3,18 @@ import { AsyncResult, DebugIdGenerator, Err, - Ok, - ProcessAssetError, - ProcessAssetResult, - SourceProcessor, failIfEmpty, filter, log, map, matchSourceExtension, + Ok, processAsset, + ProcessAssetError, + ProcessAssetResult, + SourceProcessor, writeAsset, -} from '@backtrace/sourcemap-tools'; +} from '@backtrace-labs/sourcemap-tools'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { find } from '../helpers/find'; diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index e2196919..4a693be3 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -1,29 +1,29 @@ import { + archiveSourceMaps, Asset, AssetWithContent, AsyncResult, DebugIdGenerator, Err, - Ok, - RawSourceMap, - Result, - ResultPromise, - SourceProcessor, - SymbolUploader, - UploadResult, - ZipArchive, - archiveSourceMaps, failIfEmpty, filter, loadSourceMap, log, map, matchSourceMapExtension, + Ok, pass, + RawSourceMap, + Result, + ResultPromise, + SourceProcessor, stripSourcesContent, + SymbolUploader, uploadArchive, + UploadResult, writeStream, -} from '@backtrace/sourcemap-tools'; + ZipArchive, +} from '@backtrace-labs/sourcemap-tools'; import { Readable } from 'stream'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json index e1604642..03cd38ef 100644 --- a/tools/rollup-plugin/package.json +++ b/tools/rollup-plugin/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/rollup-plugin", + "name": "@backtrace-labs/rollup-plugin", "version": "0.0.1", "description": "Backtrace Rollup plugin", "main": "lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" + "@backtrace-labs/sourcemap-tools": "^0.0.1" }, "peerDependencies": { "rollup": "^3.26.3" diff --git a/tools/rollup-plugin/rollup.config.js b/tools/rollup-plugin/rollup.config.js index b7262f68..4cb8cec9 100644 --- a/tools/rollup-plugin/rollup.config.js +++ b/tools/rollup-plugin/rollup.config.js @@ -9,5 +9,5 @@ module.exports = { sourcemap: true, }, plugins: [typescript({ tsconfig: './tsconfig.rollup.json' }), BacktracePlugin()], - external: ['@backtrace/sourcemap-tools', 'fs', 'path'], + external: ['@backtrace-labs/sourcemap-tools', 'fs', 'path'], }; diff --git a/tools/rollup-plugin/src/index.ts b/tools/rollup-plugin/src/index.ts index c9ec0e6b..f8ad1660 100644 --- a/tools/rollup-plugin/src/index.ts +++ b/tools/rollup-plugin/src/index.ts @@ -3,7 +3,7 @@ import { BacktracePluginOptions, matchSourceExtension, processAndUploadAssetsCommand, -} from '@backtrace/sourcemap-tools'; +} from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { LogLevel, Plugin } from 'rollup'; diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 6be76532..1f23d6d1 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/sourcemap-tools", + "name": "@backtrace-labs/sourcemap-tools", "version": "0.0.1", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", diff --git a/tools/vite-plugin/package.json b/tools/vite-plugin/package.json index fbcdf7ab..088c434a 100644 --- a/tools/vite-plugin/package.json +++ b/tools/vite-plugin/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/vite-plugin", + "name": "@backtrace-labs/vite-plugin", "version": "0.0.1", "description": "Backtrace Vite plugin", "main": "lib/index.js", @@ -45,7 +45,7 @@ "vite": "^4.4.9" }, "dependencies": { - "@backtrace/rollup-plugin": "^0.0.1" + "@backtrace-labs/rollup-plugin": "^0.0.1" }, "devDependencies": { "typescript": "^5.0.4" diff --git a/tools/vite-plugin/src/index.ts b/tools/vite-plugin/src/index.ts index 99ab4fef..dd091ee2 100644 --- a/tools/vite-plugin/src/index.ts +++ b/tools/vite-plugin/src/index.ts @@ -1 +1 @@ -export * from '@backtrace/rollup-plugin'; +export * from '@backtrace-labs/rollup-plugin'; diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index cb0e2499..9a56bb85 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace/webpack-plugin", + "name": "@backtrace-labs/webpack-plugin", "version": "0.0.1", "description": "Backtrace Webpack plugin", "main": "lib/index.js", @@ -58,7 +58,7 @@ "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { - "@backtrace/sourcemap-tools": "^0.0.1" + "@backtrace-labs/sourcemap-tools": "^0.0.1" }, "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index a6699ee9..fa9f081c 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -3,7 +3,7 @@ import { BacktracePluginOptions, matchSourceExtension, processAndUploadAssetsCommand, -} from '@backtrace/sourcemap-tools'; +} from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import webpack, { WebpackPluginInstance } from 'webpack'; diff --git a/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts b/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts index 0da08676..079681f7 100644 --- a/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts +++ b/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts @@ -1,4 +1,4 @@ -import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY } from '@backtrace/sourcemap-tools'; +import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY } from '@backtrace-labs/sourcemap-tools'; export class TestDebugIdGenerator implements DebugIdGenerator { public generateSourceSnippet(): string { diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts index 242bd4af..be4848da 100644 --- a/tools/webpack-plugin/tests/e2e/createE2ETest.ts +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -1,4 +1,4 @@ -import { Ok, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace/sourcemap-tools'; +import { Ok, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace-labs/sourcemap-tools'; import assert from 'assert'; import crypto from 'crypto'; import fs from 'fs'; diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts index 9ee2d8eb..2915926e 100644 --- a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts @@ -1,4 +1,4 @@ -import { SourceProcessor } from '@backtrace/sourcemap-tools'; +import { SourceProcessor } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { asyncWebpack, expectSuccess, getBaseConfig, removeDir, webpackModeTest } from '../helpers'; From 6e9659d04b4a6d7fe9a8d20cbae6142f3032cf91 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 25 Aug 2023 14:59:50 +0200 Subject: [PATCH 121/291] Invoke directly the console method to not generate an error in our code --- .../src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts index 46fa384e..1ee4fd13 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts @@ -38,10 +38,9 @@ export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { breadcrumbsManager: BreadcrumbsManager, ) { const originalMethod = console[name] as ConsoleMethod; - const defaultImplementation = originalMethod.bind(console); (console[name] as ConsoleMethod) = (...args: unknown[]) => { - defaultImplementation.apply(console, args); + originalMethod(...args); const message = this._formatter(...args); breadcrumbsManager.addBreadcrumb(message, level, BreadcrumbType.Log); }; From ea111f199d62ca9ee434d81e2e5cb27cb8f8bacb Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 25 Aug 2023 17:11:29 +0200 Subject: [PATCH 122/291] Source map tools README (#92) --- tools/sourcemap-tools/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tools/sourcemap-tools/README.md diff --git a/tools/sourcemap-tools/README.md b/tools/sourcemap-tools/README.md new file mode 100644 index 00000000..bb5ccccd --- /dev/null +++ b/tools/sourcemap-tools/README.md @@ -0,0 +1,5 @@ +# **Backtrace Source maps tools** + +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/sourcemap-tools](#) SDK connects all source maps tools created by Backtrace on all platforms. In this package you can find the common code shared by all our modules. For platform-specific implementation or overrides, please visit our repository https://github.com/backtrace-labs/backtrace-javascript \ No newline at end of file From 41fb8fc89c686570abbae43714889fcedcab33ac Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 25 Aug 2023 19:15:04 +0200 Subject: [PATCH 123/291] SDK Core README (#91) * SDK Core README * Document format * Update packages/sdk-core/README.md --- packages/sdk-core/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/sdk-core/README.md diff --git a/packages/sdk-core/README.md b/packages/sdk-core/README.md new file mode 100644 index 00000000..1c9944db --- /dev/null +++ b/packages/sdk-core/README.md @@ -0,0 +1,5 @@ +# **Backtrace SDK core** + +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/core](#) SDK connects all JavasSript SDKs created by Backtrace on all platforms. In this package you can find the common code shared by all our modules. For platform-specific implementation or overrides, please visit our repository https://github.com/backtrace-labs/backtrace-javascript \ No newline at end of file From 2ab4febb33c2ea070d6d9d2df26b5dc96122b455 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 25 Aug 2023 19:44:22 +0200 Subject: [PATCH 124/291] Backtrace node readme (#93) * Backtrace node readme * Fit 'n finish on node readme (#96) * Fit 'n finish on node readme * Modify enabled option to enable * Fix tests --------- Co-authored-by: Konrad Dysput --------- Co-authored-by: Rick Foster <115846221+rick-bt@users.noreply.github.com> --- examples/sdk/node/src/index.ts | 2 +- packages/node/README.md | 395 ++++++++++++++++++ packages/node/src/BacktraceClient.ts | 2 +- .../BacktraceDatabaseFileStorageProvider.ts | 4 +- packages/sdk-core/src/BacktraceCoreClient.ts | 2 +- .../BacktraceDatabaseConfiguration.ts | 8 +- .../src/modules/database/BacktraceDatabase.ts | 2 +- .../databaseContextMemoryStorageTests.spec.ts | 2 +- .../databaseContextValidationTests.spec.ts | 2 +- .../database/databaseRecordBatchTests.spec.ts | 4 +- .../tests/database/databaseSendTests.spec.ts | 2 +- .../tests/database/databaseSetupTests.spec.ts | 4 +- .../database/databaseStorageFlowTests.spec.ts | 2 +- 13 files changed, 413 insertions(+), 18 deletions(-) create mode 100644 packages/node/README.md diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index e0c15d46..aea7327a 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -21,7 +21,7 @@ const client = BacktraceClient.initialize({ }, }, database: { - enabled: true, + enable: true, path: path.join(process.cwd(), 'database'), captureNativeCrashes: true, createDatabaseDirectory: true, diff --git a/packages/node/README.md b/packages/node/README.md new file mode 100644 index 00000000..071a979a --- /dev/null +++ b/packages/node/README.md @@ -0,0 +1,395 @@ +# **Backtrace Node SDK** + +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/node](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and +easy, after which you can explore the rich set of Backtrace features. + +## Table of Contents + +1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Install the package](#install-the-package) + - [Integrate the SDK](#integrate-the-sdk) + - [Upload source maps](#upload-source-maps) +1. [Error Reporting Features](#error-reporting-features) + - [Attributes](#attributes) + - [File Attachments](#file-attachments) + - [Breadcrumbs](#breadcrumbs) + - [Application Stability Metrics](#application-stability-metrics) + - [Metrics Configuration](#metrics-configuration) + - [Metrics Usage](#metrics-usage) + - [Offline Database support](#offline-database-support) + - [Database Configuration](#database-configuration) + - [Native crash support](#native-crash-support) + - [Manual database operations](#manual-database-operations) +1. [Advanced SDK Features](#advanced-sdk-features) + - [Manually send an error](#manually-send-an-error) + - [BacktraceClient](#backtraceclient) + - [BacktraceClientOptions](#backtraceclientoptions) + - [BacktraceClient Methods](#backtraceclient-methods) + - [BacktraceDatabase Methods](#backtracedatabase-methods) + - [BacktraceReports](#backtracereport) + +## Basic Integration + +### Install the package + +``` +$ npm install @backtrace-labs/node +``` + +### Integrate the SDK + +Add the following code to your application before all other scripts to report node errors to Backtrace. + +```ts +// Import the BacktraceClient from @backtrace-labs/node with your favoriate package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/node'; + +// Configure client options +const options: BacktraceConfiguration = { + // Submission url + // is the subdomain of your Backtrace instance (.backtrace.io) + // can be found in Project Settings/Submission tokens + url: 'https://submit.backtrace.io///json', +}; + +// Initialize the client with the options +const client = BacktraceClient.initialize(options); + +// By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections + +// Manually send an error +client.send(new Error('Something broke!')); +``` + +### Upload source maps + +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to +your original source identifiers. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + + + +## Error Reporting Features + +### Attributes + +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, +sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of +the advanced Backtrace features detailed in +[Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). By default attributes such +as application name and version are populated automatically based on your package.json information. If Backtrace cannot +find them, you need to provide them manually via userAttributes attributes. + +There are several places where attributes can be added, modified or deleted. + +#### Attach attributes object to BacktraceClient + +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of +attributes will be included with every error report, referred to as global attributes. + +```ts +// Create an attributes object that can be modified throughout runtime +const attributes: Record = { + release: 'PROD', +}; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: attributes, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Add attributes during application runtime + +Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute({ + "clientID": "de6faf4d-d5b5-486c-9789-318f58a14476" +}) +``` + +#### Add attributes to an error report + +The attributes list of a BacktraceReport object can be directly modified. + +```ts +const report: BacktraceReport = new BacktraceReport('My error message', { myReportKey: 'myValue' }); +report.attributes['myReportKey'] = 'New value'; +``` + +--- + +### File Attachments + +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the +BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be +uploaded with each report. + +```ts +// Import attachment types from @backtrace-labs/node +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/node"; + +// BacktraceStringAttachment should be used for text object like a log file, for example +const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") + +// Buffer attachment is an attachment type dedicated to store buffer data +const bufferAttachment = new BacktraceBufferAttachment('buffer-attachment.txt', Buffer.from('sample')); + +// File attachment is an attachment type dedicated for streaming files +const fileAttachment = new BacktraceFileAttachment('/path/to/sample/file'); + +// BacktraceClientOptions +const options = { + url: "https://submit.backtrace.io///json", + + // Attach the files to all reports + attachments: [path.join('/path/to/attachment'), stringAttachment], +} + +const client = BacktraceClient.initialize(options); + +// Later decide to add an attachment to all reports +client.attachments.push(bufferAttachment) + +// After catching an exception and generating a report +try { + throw new Error("Caught exception!") +} catch (error) { + const report = const report = new BacktraceReport(error, {}, [fileAttachment]) + client.send(report); +} +``` + +--- + +### Breadcrumbs + +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, +and manual breadcrumbs can also be added. + +[(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) + +#### Breadcrumbs Configuration + +| Option Name | Type | Description | Default | Required? | +| -------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| + +```ts +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/node'; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // ignoring all but breadcrumbs config for simplicity + breadcrumbs: { + // breadcrumbs configuration + }, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Default Breadcrumbs + +| Type | Description | +| ------- | ------------------------------------------------------------------------ | +| Console | Adds a breadcrumb every time console log is being used by the developer. | + +#### Intercepting Breadcrumbs + +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter +out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no +breadcrumb will be added. + +#### Manual Breadcrumbs + +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of +your own. + +```ts +client.breadcrumbs?.info('This is a manual breadcrumb.', { + customAttr: 'wow!', +}); +``` + +--- + +### Application Stability Metrics + +The Backtrace Node SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. + +[(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) + +#### Metrics Configuration + +| Option Name | Type | Description | Default | Required? | +| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------ | +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| + +#### Metrics Usage + +```ts +// metrics will be undefined if not enabled +client.metrics?.send(); +``` + +--- + +### Offline database support + +The Backtrace Node SDK can cache generated reports and crashes to local disk before sending them to Backtrace. This is +recommended; in certain configurations Node applications can crash before the SDK finishes submitting data, and under +slow internet conditions your application might wait in a closing window until the HTTP submission finishes. In such an +event occurs cached reports will be sent on next application launch. + +With offline database support you can: + +- cache your reports when the user doesn't have Internet connection or the service is unavailable, +- capture crashes, +- manually decide when to send them or not. + +By default the offline database support is disabled. To enable it, please add "enable: true" and the path to the +directory where Backtrace can store crash data. + +```ts +const client = BacktraceClient.initialize({ + // ignoring all but database config for simplicity + database: { + enable: true, + path: '/path/to/the/database/directory', + captureNativeCrashes: true, + }, +}); + +// manually send and keep the data on connection issue +client.database.send(); +// manually send and remove all data no matter if received success or not. +client.database.flush(); +``` + +#### Database Configuration + +| Option Name | Type | Description | Default | Required? | +| ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | +| `enabled` | Boolean | Enable/disable offline database support. | false |
  • - [x]
| +| `path` | String | Local storage path for crash data. | - |
  • - [x]
| +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory.. | true | +| `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | +| `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | +| `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | +| `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | +| `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | + +--- + +#### Native crash support + +The Backtrace Node SDK can capture native crashes generated by a Node application such as Assert/OOM crashes. In order +to collect them, the SDK uses the Node's `process.report` API. After setting up the native crash support, your +`process.report` settings may be overridden and your crash data might be created in the database directory. + +Database records sent in the next session may not have some information about the crashing session such as attributes or +breadcrumbs. To reduce database record size, attachment support was limited only to file attachments. + +#### Manual database operations + +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually +operate on database records. Options are detailed in [BacktraceDatabase Methods](#backtracedatabase-methods). + +## Advanced SDK Features + +### Manually send an error + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` + +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and +send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from +exceptions and rejection handlers. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
  • - [x]
| +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
  • - [ ]
| +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
  • - [ ]
| + +#### BacktraceClient Methods + +| Name | Return Type | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | +| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | +| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | Promise | Asynchronously sends error data to Backtrace | + +#### BacktraceDatabase Methods + +| Name | Return Type | Description | +| ----------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | Boolean | Determines if the database is enabled | +| `start()` | Boolean | Starts the database | +| `add(backtraceData: Backtracedata, attachments: BacktraceAttachment[])` | BacktraceDatabaseRecord \| undefined | Adds manually a data object to the database. If the database is not available or the record cannot be stored on the hard drive, the add method can return undefined. | +| `get()` | BacktraceDatabaseRecord[] | Returns all records stored in the database | +| `count()` | Number | Returns the number of records stored in the database | +| `dispose()` | void | Disables the database integration | +| `remove(record: BacktraceDatabaseRecord)` | void | Removes the record from the database | +| `flush()` | Promise | Sends all records to Backtrace and remove them no matter if the submission was successful or not | +| `send()` | Promise | Sends all records to Backtrace. If the submission process fails, the retry information is being increased by the records are not removed from the database. | + +### BacktraceReport + +A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in +`BacktraceReport.ts`. diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 07c3910b..e4f50ae0 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -195,7 +195,7 @@ export class BacktraceClient extends BacktraceCoreClient { return; } - if (!this.options.database?.enabled) { + if (!this.options.database?.enable) { return; } diff --git a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts index 3a06bd04..288ead44 100644 --- a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts +++ b/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts @@ -25,11 +25,11 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt if (!options) { return undefined; } - if (!options.enabled) { + if (!options.enable) { return undefined; } - if (options.enabled && !options.path) { + if (options.enable && !options.path) { throw new Error( 'Missing mandatory path to the database. Please define the database.path option in the configuration.', ); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index d43f8693..64bc5a0f 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -117,7 +117,7 @@ export abstract class BacktraceCoreClient { ]); this.attachments = options.attachments ?? []; - if (databaseStorageProvider && options?.database?.enabled === true) { + if (databaseStorageProvider && options?.database?.enable === true) { this._database = new BacktraceDatabase( this.options.database, databaseStorageProvider, diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index cf553022..f5a131a2 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -2,7 +2,7 @@ export interface EnabledBacktraceDatabaseConfiguration { /** * Determine if the Database is enabled */ - enabled: true; + enable: true; /** * Path where the SDK can store data. */ @@ -46,11 +46,11 @@ export interface EnabledBacktraceDatabaseConfiguration { } export interface DisabledBacktraceDatabaseConfiguration - extends Omit, 'enabled'> { + extends Omit, 'enable'> { /** - * Determine if the Database is enabled + * Determine if the Database is enable */ - enabled?: false; + enable?: false; } export type BacktraceDatabaseConfiguration = diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts index 271b2e6f..71ff6d53 100644 --- a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -43,7 +43,7 @@ export class BacktraceDatabase { return this._enabled; } - if (this._options?.enabled === false) { + if (this._options?.enable === false) { return false; } diff --git a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts index 7bf850be..2e032f78 100644 --- a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts @@ -7,7 +7,7 @@ import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database context memory storage tests', () => { const testDatabaseSettings = { - enabled: true, + enable: true, autoSend: false, // this option doesn't matter because we mock the database provider // interface. However, if bug happen we want to be sure to not create diff --git a/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts b/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts index 41cfda12..cc39c5ee 100644 --- a/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts @@ -7,7 +7,7 @@ import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database context validation tests', () => { describe('Record overflow tests', () => { const testDatabaseSettings: BacktraceDatabaseConfiguration = { - enabled: true, + enable: true, autoSend: false, // this option doesn't matter because we mock the database provider // interface. However, if bug happen we want to be sure to not create diff --git a/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts b/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts index cc1a0ba0..9e016284 100644 --- a/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts @@ -23,7 +23,7 @@ describe('Database record batch tests', () => { const client = BacktraceTestClient.buildFakeClient( { database: { - enabled: true, + enable: true, autoSend: true, path: path.join(__dirname, 'database'), maximumRetries, @@ -56,7 +56,7 @@ describe('Database record batch tests', () => { const client = BacktraceTestClient.buildFakeClient( { database: { - enabled: true, + enable: true, autoSend: true, path: path.join(__dirname, 'database'), maximumRetries, diff --git a/packages/sdk-core/tests/database/databaseSendTests.spec.ts b/packages/sdk-core/tests/database/databaseSendTests.spec.ts index 63b01417..919219ba 100644 --- a/packages/sdk-core/tests/database/databaseSendTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseSendTests.spec.ts @@ -9,7 +9,7 @@ describe('Database send tests', () => { jest.clearAllMocks(); }); const testDatabaseSettings: BacktraceDatabaseConfiguration = { - enabled: true, + enable: true, autoSend: false, // this option doesn't matter because we mock the database provider // interface. However, if bug happen we want to be sure to not create diff --git a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts index c0b4ab63..52b0097d 100644 --- a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts @@ -43,7 +43,7 @@ describe('Database setup tests', () => { it('Should not enable the database if the enable option is set to false', () => { const database = new BacktraceDatabase( - { enabled: false }, + { enable: false }, testStorageProvider, new BacktraceReportSubmission( { @@ -62,7 +62,7 @@ describe('Database setup tests', () => { it('Should not enable the database if the storage is not prepared', () => { const database = new BacktraceDatabase( { - enabled: true, + enable: true, path: '/path/to/fake/dir', }, testStorageProvider, diff --git a/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts b/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts index baadafef..7682e5be 100644 --- a/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts @@ -6,7 +6,7 @@ import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database storage provider flow tests', () => { const testDatabaseSettings = { - enabled: true, + enable: true, autoSend: false, // this option doesn't matter because we mock the database provider // interface. However, if bug happen we want to be sure to not create From 3c392f3781756bb82ab39c9ff39c6ee23b08214a Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Fri, 25 Aug 2023 11:01:19 -0700 Subject: [PATCH 125/291] Add webpack readme --- tools/webpack-plugin/README.md | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tools/webpack-plugin/README.md diff --git a/tools/webpack-plugin/README.md b/tools/webpack-plugin/README.md new file mode 100644 index 00000000..84716de7 --- /dev/null +++ b/tools/webpack-plugin/README.md @@ -0,0 +1,45 @@ +# @backtrace-labs/webpack-plugin +If you're using Webpack as your project bundler, you can use `@backtrace-labs/webpack-plugin` to automate working with sourcemaps. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + +## Enable Source Maps for Your Application + +Set `devtool` to `source-map` in your `webpack.config.js`: + +```js +module.exports = { + devtool: 'source-map', + // other configuration +} +``` + +If you're using code transpiler plugins (such as Typescript), ensure to enable `source-mapping` there as well. + +## Set up `@backtrace-labs/webpack-plugin` + +### Construct an upload URL + +A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create a `symbol-post` token for the `sourcemap` endpoint. + +### Install `@backtrace-labs/webpack-plugin` as a developer dependency: + +```bash +> npm install --save-dev @backtrace-labs/webpack-plugin +``` + +### Add it to your `plugins` array in `webpack.config.js`: + +```js +import { BacktracePlugin } from '@backtrace-labs/webpack-plugin'; +// or +const { BacktracePlugin } = require('@backtrace-labs/webpack-plugin'); + +module.exports = { + // other configuration + plugins: [new BacktracePlugin({ + // enable upload only on production builds + uploadUrl: process.env.NODE_ENV === "production" ? "" : undefined + })] +} +``` \ No newline at end of file From 184ab33b74bed028a0177f746085f5a3967004f0 Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Fri, 25 Aug 2023 11:22:34 -0700 Subject: [PATCH 126/291] Add rollup, vite readmes. Fix instructions for url --- tools/rollup-plugin/README.md | 46 ++++++++++++++++++++++++++++++++++ tools/vite-plugin/README.md | 46 ++++++++++++++++++++++++++++++++++ tools/webpack-plugin/README.md | 2 +- 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 tools/rollup-plugin/README.md create mode 100644 tools/vite-plugin/README.md diff --git a/tools/rollup-plugin/README.md b/tools/rollup-plugin/README.md new file mode 100644 index 00000000..0fae39bd --- /dev/null +++ b/tools/rollup-plugin/README.md @@ -0,0 +1,46 @@ +# @backtrace-labs/rollup-plugin +If you're using rollup as your project bundler, you can use `@backtrace-labs/rollup-plugin` to automate working with sourcemaps. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + +## Enable Source Maps for Your Application + +Set `sourcemap` in `output` to `true` in your `rollup.config.js`: + +```js +module.exports = { + build: { + sourcemap: true + } +} +``` + +If you're using code transpiler plugins (such as Typescript), ensure to enable source-mapping there as well. + +## Set up `@backtrace-labs/rollup-plugin` + +### Construct an upload URL + +A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL for the `sourcemap` endpoint with a `symbol-post` token. + +### Install `@backtrace-labs/rollup-plugin` as a developer dependency: + +```bash +> npm install --save-dev @backtrace-labs/rollup-plugin +``` + +### Add it to your `plugins` array in `rollup.config.js`: + +```js +import { BacktracePlugin } from '@backtrace-labs/rollup-plugin'; +// or +const { BacktracePlugin } = require('@backtrace-labs/rollup-plugin'); + +module.exports = { + // other configuration + plugins: [new BacktracePlugin({ + // enable upload only on production builds + uploadUrl: process.env.NODE_ENV === "production" ? "" : undefined + })] +} +``` \ No newline at end of file diff --git a/tools/vite-plugin/README.md b/tools/vite-plugin/README.md new file mode 100644 index 00000000..d73b5995 --- /dev/null +++ b/tools/vite-plugin/README.md @@ -0,0 +1,46 @@ +# @backtrace-labs/vite-plugin +If you're using Vite as your project bundler, you can use `@backtrace-labs/vite-plugin` to automate working with sourcemaps. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + +## Enable Source Maps for Your Application + +Set `sourcemap` in `output` to `true` in your `vite.config.js`: + +```js +module.exports = { + build: { + sourcemap: true + } +} +``` + +If you're using code transpiler plugins (such as Typescript), ensure to enable source-mapping there as well. + +## Set up `@backtrace-labs/vite-plugin` + +### Construct an upload URL + +A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL for the `sourcemap` endpoint with a `symbol-post` token. + +### Install `@backtrace-labs/vite-plugin` as a developer dependency: + +```bash +> npm install --save-dev @backtrace-labs/vite-plugin +``` + +### Add it to your `plugins` array in `vite.config.js`: + +```js +import { BacktracePlugin } from '@backtrace-labs/vite-plugin'; +// or +const { BacktracePlugin } = require('@backtrace-labs/vite-plugin'); + +module.exports = { + // other configuration + plugins: [new BacktracePlugin({ + // enable upload only on production builds + uploadUrl: process.env.NODE_ENV === "production" ? "" : undefined + })] +} +``` \ No newline at end of file diff --git a/tools/webpack-plugin/README.md b/tools/webpack-plugin/README.md index 84716de7..c7a33550 100644 --- a/tools/webpack-plugin/README.md +++ b/tools/webpack-plugin/README.md @@ -20,7 +20,7 @@ If you're using code transpiler plugins (such as Typescript), ensure to enable ` ### Construct an upload URL -A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create a `symbol-post` token for the `sourcemap` endpoint. +A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL for the `sourcemap` endpoint with a `symbol-post` token. ### Install `@backtrace-labs/webpack-plugin` as a developer dependency: From 7b15d18137424f4fa6538c4ba57d47e9ae12c12e Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri, 25 Aug 2023 15:10:10 -0400 Subject: [PATCH 127/291] Updating target in base tsconfig to be es2015 (#98) Co-authored-by: Adam Cronin --- tools/cli/tsconfig.json | 3 ++- tsconfig.base.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/cli/tsconfig.json b/tools/cli/tsconfig.json index 32a5f6ba..82dba6c7 100644 --- a/tools/cli/tsconfig.json +++ b/tools/cli/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./lib", - "composite": true + "composite": true, + "target": "es2020" }, "exclude": ["node_modules", "tests", "lib"] } diff --git a/tsconfig.base.json b/tsconfig.base.json index 7da5fc09..01708400 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2020", + "target": "es2015", "module": "commonjs", "outDir": "./lib", "sourceMap": true, From 96138912260ebe8f4cf0208755fdcb7122a9ebd5 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 28 Aug 2023 17:39:56 +0200 Subject: [PATCH 128/291] Builder Api improvements (#95) * Builder Api improvements * Export single session provider * initialize in the constructor - allow builder to also initialize * Make the initialize method private * Use database enable --- packages/browser/src/BacktraceClient.ts | 20 ++--- .../src/builder/BacktraceClientBuilder.ts | 43 ++++++---- packages/browser/src/index.ts | 1 + .../persistentSessionProviderTests.spec.ts | 2 +- packages/node/src/BacktraceClient.ts | 42 ++++------ .../src/builder/BacktraceClientBuilder.ts | 25 +++--- packages/react/src/BacktraceClient.ts | 2 +- .../builder/BacktraceReactClientBuilder.ts | 17 +++- packages/sdk-core/src/BacktraceCoreClient.ts | 81 ++++++++++--------- .../src/builder/BacktraceCoreClientBuilder.ts | 26 +++++- .../sdk-core/src/builder/CoreClientSetup.ts | 21 +++++ packages/sdk-core/src/index.ts | 1 + .../tests/mocks/BacktraceTestClient.ts | 24 ++---- 13 files changed, 183 insertions(+), 122 deletions(-) create mode 100644 packages/sdk-core/src/builder/CoreClientSetup.ts diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 890a3c5a..43597184 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -3,6 +3,7 @@ import { BacktraceCoreClient, BacktraceReport, BacktraceRequestHandler, + BacktraceSessionProvider, BacktraceStackTraceConverter, BreadcrumbsEventSubscriber, DebugIdContainer, @@ -17,23 +18,24 @@ export class BacktraceClient extends BacktraceCoreClient { protected static _instance?: BacktraceClient; constructor( options: BacktraceConfiguration, - handler: BacktraceRequestHandler, + requestHandler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[], stackTraceConverter: BacktraceStackTraceConverter, breadcrumbsEventSubscriber: BreadcrumbsEventSubscriber[], + sessionProvider: BacktraceSessionProvider = new BacktraceBrowserSessionProvider(), ) { - super( + super({ options, - AGENT, - handler, + sdkOptions: AGENT, + requestHandler, attributeProviders, stackTraceConverter, - new BacktraceBrowserSessionProvider(), - new VariableDebugIdMapProvider(window as DebugIdContainer), - { + sessionProvider, + debugIdMapProvider: new VariableDebugIdMapProvider(window as DebugIdContainer), + breadcrumbsSetup: { subscribers: breadcrumbsEventSubscriber, }, - ); + }); this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); } @@ -58,7 +60,7 @@ export class BacktraceClient extends BacktraceCoreClient { } const builder = this.builder(options); build && build(builder); - this._instance = builder.build().initialize(); + this._instance = builder.build(); return this._instance; } diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 7b68faaa..a35625c5 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,4 +1,10 @@ -import { BacktraceCoreClientBuilder, BacktraceStackTraceConverter } from '@backtrace-labs/sdk-core'; +import { + BacktraceAttributeProvider, + BacktraceCoreClientBuilder, + BacktraceSessionProvider, + BacktraceStackTraceConverter, + BreadcrumbsEventSubscriber, +} from '@backtrace-labs/sdk-core'; import { V8StackTraceConverter } from '@backtrace-labs/sdk-core/lib/modules/converter/V8StackTraceConverter'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; @@ -6,6 +12,7 @@ import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAtt import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider'; import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; +import { BacktraceBrowserSessionProvider } from '../BacktraceBrowserSessionProvider'; import { BacktraceClient } from '../BacktraceClient'; import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber'; @@ -16,18 +23,23 @@ import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStack import { getEngine } from '../engineDetector'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - constructor(protected readonly options: BacktraceConfiguration) { - super( - new BacktraceBrowserRequestHandler(options), - [ - new UserAgentAttributeProvider(), - new WebsiteAttributeProvider(), - new WindowAttributeProvider(), - new UserIdentifierAttributeProvider(options), - new ApplicationInformationAttributeProvider(options), - ], - [new WebRequestEventSubscriber(), new DocumentEventSubscriber(), new HistoryEventSubscriber()], - ); + constructor( + protected readonly options: BacktraceConfiguration, + attributeProviders: BacktraceAttributeProvider[] = [ + new UserAgentAttributeProvider(), + new WebsiteAttributeProvider(), + new WindowAttributeProvider(), + new UserIdentifierAttributeProvider(options), + new ApplicationInformationAttributeProvider(options), + ], + breadcrumbsSubscribers: BreadcrumbsEventSubscriber[] = [ + new WebRequestEventSubscriber(), + new DocumentEventSubscriber(), + new HistoryEventSubscriber(), + ], + sessionProvider: BacktraceSessionProvider = new BacktraceBrowserSessionProvider(), + ) { + super(new BacktraceBrowserRequestHandler(options), attributeProviders, breadcrumbsSubscribers, sessionProvider); } public build(): BacktraceClient { @@ -35,8 +47,9 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { it('Should not generate a new sessionId if the lastActive timestamp is lower than persistence interval time', () => { const fakeId = 'test'; - const lastSessionActiveDate = new Date(Date.now() - BacktraceBrowserSessionProvider.PERSISTENCE_INTERVAL + 1); + const lastSessionActiveDate = new Date(Date.now() - BacktraceBrowserSessionProvider.PERSISTENCE_INTERVAL + 10); localStorage.setItem('backtrace-last-active', lastSessionActiveDate.getTime().toString(10)); localStorage.setItem('backtrace-guid', fakeId); diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index e4f50ae0..829b54b2 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -22,23 +22,30 @@ export class BacktraceClient extends BacktraceCoreClient { private static _instance?: BacktraceClient; constructor( options: CoreConfiguration, - handler: BacktraceRequestHandler, + requestHandler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[], breadcrumbsEventSubscribers: BreadcrumbsEventSubscriber[], ) { - super( + super({ options, - AGENT, - handler, + sdkOptions: AGENT, + requestHandler, attributeProviders, - undefined, - undefined, - new VariableDebugIdMapProvider(global as DebugIdContainer), - { + debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), + breadcrumbsSetup: { subscribers: breadcrumbsEventSubscribers, }, - BacktraceDatabaseFileStorageProvider.createIfValid(options.database), + databaseStorageProvider: BacktraceDatabaseFileStorageProvider.createIfValid(options.database), + }); + + this.loadNodeCrashes(); + + this.captureUnhandledErrors( + this.options.captureUnhandledErrors, + this.options.captureUnhandledPromiseRejections, ); + + this.captureNodeCrashes(); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { @@ -58,7 +65,7 @@ export class BacktraceClient extends BacktraceCoreClient { } const builder = this.builder(options); build && build(builder); - this._instance = builder.build().initialize(); + this._instance = builder.build(); return this._instance; } @@ -70,21 +77,6 @@ export class BacktraceClient extends BacktraceCoreClient { return this._instance; } - protected initialize() { - super.initialize(); - - this.loadNodeCrashes(); - - this.captureUnhandledErrors( - this.options.captureUnhandledErrors, - this.options.captureUnhandledPromiseRejections, - ); - - this.captureNodeCrashes(); - - return this; - } - private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { if (!captureUnhandledExceptions && !captureUnhandledRejections) { return; diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index ad307674..88b86004 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,4 +1,10 @@ -import { BacktraceAttachment, BacktraceAttributeProvider, BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; +import { + BacktraceAttachment, + BacktraceAttributeProvider, + BacktraceCoreClientBuilder, + BacktraceSessionProvider, + BreadcrumbsEventSubscriber, +} from '@backtrace-labs/sdk-core'; import { BacktraceFileAttachment } from '../attachment'; import { ApplicationInformationAttributeProvider, @@ -13,19 +19,20 @@ import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - constructor(private readonly _options: BacktraceConfiguration) { - super(new BacktraceNodeRequestHandler(_options), [ + constructor( + private readonly _options: BacktraceConfiguration, + attributeProvider: BacktraceAttributeProvider[] = [ new ApplicationInformationAttributeProvider(_options), new ProcessStatusAttributeProvider(), new MachineAttributeProvider(), new ProcessInformationAttributeProvider(), new LinuxProcessStatusAttributeProvider(), new MachineIdentitfierAttributeProvider(), - ]); - } - - public addAttributeProvider(provider: BacktraceAttributeProvider) { - this.attributeProviders.push(provider); + ], + breadcrumbsSubscribers: BreadcrumbsEventSubscriber[] = [], + sessionProvider?: BacktraceSessionProvider, + ) { + super(new BacktraceNodeRequestHandler(_options), attributeProvider, breadcrumbsSubscribers, sessionProvider); } /** @@ -43,7 +50,7 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + protected stackTraceConverter?: BacktraceStackTraceConverter; + constructor( protected handler: BacktraceRequestHandler, protected readonly attributeProviders: BacktraceAttributeProvider[] = [], - protected readonly breadcrumbSubscribers: BreadcrumbsEventSubscriber[] = [], + protected readonly breadcrumbsSubscribers: BreadcrumbsEventSubscriber[] = [], + protected sessionProvider?: BacktraceSessionProvider, ) {} - public useBreadcrumbSubscriber(breadcrumbSubscriber: BreadcrumbsEventSubscriber) { - this.breadcrumbSubscribers.push(breadcrumbSubscriber); + public addAttributeProvider(provider: BacktraceAttributeProvider) { + this.attributeProviders.push(provider); + return this; + } + + public useBreadcrumbSubscriber(breadcrumbSubscriber: BreadcrumbsEventSubscriber): BacktraceCoreClientBuilder { + this.breadcrumbsSubscribers.push(breadcrumbSubscriber); + return this; + } + + public useSessionProvider(sessionProvider: BacktraceSessionProvider): BacktraceCoreClientBuilder { + this.sessionProvider = sessionProvider; + return this; } public useRequestHandler(handler: BacktraceRequestHandler): BacktraceCoreClientBuilder { @@ -19,5 +35,9 @@ export abstract class BacktraceCoreClientBuilder return this; } + public useStackTraceConverter(stackTraceConverter: BacktraceStackTraceConverter): BacktraceCoreClientBuilder { + this.stackTraceConverter = stackTraceConverter; + return this; + } public abstract build(): T; } diff --git a/packages/sdk-core/src/builder/CoreClientSetup.ts b/packages/sdk-core/src/builder/CoreClientSetup.ts new file mode 100644 index 00000000..c7b86c06 --- /dev/null +++ b/packages/sdk-core/src/builder/CoreClientSetup.ts @@ -0,0 +1,21 @@ +import { BacktraceConfiguration } from '../model/configuration/BacktraceConfiguration'; +import { BacktraceRequestHandler } from '../model/http'; +import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttributeProvider'; +import { BreadcrumbsSetup } from '../modules/breadcrumbs'; +import { BacktraceStackTraceConverter } from '../modules/converter'; +import { BacktraceDatabaseStorageProvider } from '../modules/database'; +import { BacktraceSessionProvider } from '../modules/metrics/BacktraceSessionProvider'; +import { DebugIdMapProvider } from '../sourcemaps'; +import { SdkOptions } from './SdkOptions'; + +export interface CoreClientSetup { + readonly options: BacktraceConfiguration; + readonly sdkOptions: SdkOptions; + readonly requestHandler: BacktraceRequestHandler; + readonly attributeProviders: BacktraceAttributeProvider[]; + readonly stackTraceConverter?: BacktraceStackTraceConverter; + readonly sessionProvider?: BacktraceSessionProvider; + readonly debugIdMapProvider?: DebugIdMapProvider; + readonly breadcrumbsSetup?: BreadcrumbsSetup; + readonly databaseStorageProvider?: BacktraceDatabaseStorageProvider; +} diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 6efe03be..3c607eca 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -15,4 +15,5 @@ export * from './modules/breadcrumbs'; export * from './modules/converter'; export * from './modules/database'; export * from './modules/metrics/BacktraceSessionProvider'; +export * from './modules/metrics/SingleSessionProvider'; export * from './sourcemaps/index'; diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index 9ef37f99..2552ba07 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -22,8 +22,8 @@ export class BacktraceTestClient extends BacktraceCoreClient { attachments: BacktraceAttachment[] = [], storageProvider?: BacktraceDatabaseStorageProvider, ) { - super( - { + super({ + options: { ...{ url: TEST_SUBMISSION_URL, token: TOKEN, @@ -34,20 +34,16 @@ export class BacktraceTestClient extends BacktraceCoreClient { }, ...(options ?? {}), }, - { + sdkOptions: { agent: 'test', agentVersion: '0.0.1', langName: 'test', langVersion: 'test', }, - handler, + requestHandler: handler, attributeProviders, - undefined, - undefined, - undefined, - undefined, - storageProvider, - ); + databaseStorageProvider: storageProvider, + }); this.requestHandler = handler; this.storageProvider = storageProvider; } @@ -67,12 +63,6 @@ export class BacktraceTestClient extends BacktraceCoreClient { }; }, }); - return new BacktraceTestClient( - options, - testHttpClient, - attributeProviders, - attachments, - storageProvider, - ).initialize(); + return new BacktraceTestClient(options, testHttpClient, attributeProviders, attachments, storageProvider); } } From d700a19bb30c03f8b5d5c347445eb29d3353e41a Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 28 Aug 2023 18:59:01 +0200 Subject: [PATCH 129/291] Client dispose (#94) * Backtrace node readme * Client dispose * Client dispose * Do not send reports via disposed client * Close metrics * Rename close to dispose * Squashed commit of the following: commit a6408e44cccbe0a4a5182ac3cd4b6a7b3f8092f6 Merge: 2ab4feb 184ab33 Author: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Fri Aug 25 11:29:43 2023 -0700 Merge pull request #97 from backtrace-labs/rick/sourcemap-readmes Add webpack readme commit 184ab33b74bed028a0177f746085f5a3967004f0 Author: Rick Foster Date: Fri Aug 25 11:22:34 2023 -0700 Add rollup, vite readmes. Fix instructions for url commit 3c392f3781756bb82ab39c9ff39c6ee23b08214a Author: Rick Foster Date: Fri Aug 25 11:01:19 2023 -0700 Add webpack readme commit 2ab4febb33c2ea070d6d9d2df26b5dc96122b455 Author: Konrad Dysput Date: Fri Aug 25 19:44:22 2023 +0200 Backtrace node readme (#93) * Backtrace node readme * Fit 'n finish on node readme (#96) * Fit 'n finish on node readme * Modify enabled option to enable * Fix tests --------- Co-authored-by: Konrad Dysput --------- Co-authored-by: Rick Foster <115846221+rick-bt@users.noreply.github.com> commit 41fb8fc89c686570abbae43714889fcedcab33ac Author: Konrad Dysput Date: Fri Aug 25 19:15:04 2023 +0200 SDK Core README (#91) * SDK Core README * Document format * Update packages/sdk-core/README.md commit ea111f199d62ca9ee434d81e2e5cb27cb8f8bacb Author: Konrad Dysput Date: Fri Aug 25 17:11:29 2023 +0200 Source map tools README (#92) commit 6e9659d04b4a6d7fe9a8d20cbae6142f3032cf91 Author: Konrad Dysput Date: Fri Aug 25 14:59:50 2023 +0200 Invoke directly the console method to not generate an error in our code * Enable in the end * Drop the instance on dispose --- packages/browser/src/BacktraceClient.ts | 65 +++++++++++++------ packages/node/src/BacktraceClient.ts | 17 ++++- .../node/tests/client/disposeTests.spec.ts | 23 +++++++ packages/sdk-core/src/BacktraceCoreClient.ts | 23 +++++++ .../src/modules/metrics/BacktraceMetrics.ts | 2 +- 5 files changed, 107 insertions(+), 23 deletions(-) create mode 100644 packages/node/tests/client/disposeTests.spec.ts diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 43597184..46acda48 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -15,6 +15,8 @@ import { BacktraceConfiguration } from './BacktraceConfiguration'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { + private readonly _disposeController: AbortController = new AbortController(); + protected static _instance?: BacktraceClient; constructor( options: BacktraceConfiguration, @@ -72,32 +74,53 @@ export class BacktraceClient extends BacktraceCoreClient { return this._instance; } + /** + * Disposes the client and all client callbacks + */ + public dispose(): void { + this._disposeController.abort(); + super.dispose(); + BacktraceClient._instance = undefined; + } + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { if (captureUnhandledExceptions) { - window.addEventListener('error', async (errorEvent: ErrorEvent) => { - await this.send( - new BacktraceReport(errorEvent.error, { - 'error.type': 'Unhandled exception', - }), - ); - }); + window.addEventListener( + 'error', + async (errorEvent: ErrorEvent) => { + await this.send( + new BacktraceReport(errorEvent.error, { + 'error.type': 'Unhandled exception', + }), + ); + }, + { + signal: this._disposeController.signal, + }, + ); } if (captureUnhandledRejections) { - window.addEventListener('unhandledrejection', async (errorEvent: PromiseRejectionEvent) => { - await this.send( - new BacktraceReport( - errorEvent.reason, - { - 'error.type': 'Unhandled exception', - }, - [], - { - classifiers: ['UnhandledPromiseRejection'], - }, - ), - ); - }); + window.addEventListener( + 'unhandledrejection', + async (errorEvent: PromiseRejectionEvent) => { + await this.send( + new BacktraceReport( + errorEvent.reason, + { + 'error.type': 'Unhandled exception', + }, + [], + { + classifiers: ['UnhandledPromiseRejection'], + }, + ), + ); + }, + { + signal: this._disposeController.signal, + }, + ); } } } diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 829b54b2..9f405ecd 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -19,6 +19,8 @@ import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportC import { BacktraceDatabaseFileStorageProvider } from './database/BacktraceDatabaseFileStorageProvider'; export class BacktraceClient extends BacktraceCoreClient { + private _listeners: Record = {}; + private static _instance?: BacktraceClient; constructor( options: CoreConfiguration, @@ -77,6 +79,18 @@ export class BacktraceClient extends BacktraceCoreClient { return this._instance; } + /** + * Disposes the client and all client callbacks + */ + public dispose(): void { + for (const [name, listener] of Object.entries(this._listeners)) { + process.removeListener(name, listener); + } + + super.dispose(); + BacktraceClient._instance = undefined; + } + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { if (!captureUnhandledExceptions && !captureUnhandledRejections) { return; @@ -97,7 +111,7 @@ export class BacktraceClient extends BacktraceCoreClient { }; process.prependListener('uncaughtExceptionMonitor', captureUncaughtException); - + this._listeners['uncaughtExceptionMonitor'] = captureUncaughtException; if (!captureUnhandledRejections) { return; } @@ -180,6 +194,7 @@ export class BacktraceClient extends BacktraceCoreClient { process.emitWarning(warning); }; process.prependListener('unhandledRejection', captureUnhandledRejectionsCallback); + this._listeners['unhandledRejection'] = captureUnhandledRejectionsCallback; } private captureNodeCrashes() { diff --git a/packages/node/tests/client/disposeTests.spec.ts b/packages/node/tests/client/disposeTests.spec.ts new file mode 100644 index 00000000..8d826b0c --- /dev/null +++ b/packages/node/tests/client/disposeTests.spec.ts @@ -0,0 +1,23 @@ +import { BacktraceClient } from '../../src/'; +describe('Client Dispose tests', () => { + it('Should dispose process callbacks', () => { + const expectedUnhandledRejectionListenerCount = process.listenerCount('unhandledRejection'); + const expectedUncaughtExceptionListenerCount = process.listenerCount('uncaughtExceptionMonitor'); + const client = BacktraceClient.initialize({ + url: 'https://submit.backtrace.io/foo/bar/baz', + metrics: { + enable: false, + }, + breadcrumbs: { + enable: false, + }, + }); + + expect( + process.listenerCount('unhandledRejection') + process.listenerCount('uncaughtExceptionMonitor'), + ).toBeGreaterThan(expectedUnhandledRejectionListenerCount + expectedUncaughtExceptionListenerCount); + client.dispose(); + expect(process.listenerCount('unhandledRejection')).toBe(expectedUnhandledRejectionListenerCount); + expect(process.listenerCount('uncaughtExceptionMonitor')).toBe(expectedUncaughtExceptionListenerCount); + }); +}); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index b799228f..451a6840 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -22,6 +22,13 @@ import { MetricsBuilder } from './modules/metrics/MetricsBuilder'; import { SingleSessionProvider } from './modules/metrics/SingleSessionProvider'; import { RateLimitWatcher } from './modules/rateLimiter/RateLimitWatcher'; export abstract class BacktraceCoreClient { + /** + * Determines if the client is enabled. + */ + public get enabled() { + return this._enabled; + } + /** * Current session id */ @@ -87,6 +94,8 @@ export abstract class BacktraceCoreClient { private readonly _sdkOptions: SdkOptions; protected readonly options: BacktraceConfiguration; + private _enabled = false; + protected constructor(private readonly _setup: CoreClientSetup) { this.options = _setup.options; this._sdkOptions = _setup.sdkOptions; @@ -140,6 +149,7 @@ export abstract class BacktraceCoreClient { } this.initialize(); + this._enabled = true; } /** @@ -182,6 +192,9 @@ export abstract class BacktraceCoreClient { reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [], ): Promise { + if (!this._enabled) { + return; + } if (this._rateLimitWatcher.skipReport()) { return; } @@ -215,6 +228,16 @@ export abstract class BacktraceCoreClient { } } + /** + * Disposes the client and all client callbacks + */ + public dispose() { + this._enabled = false; + this.database?.dispose(); + this.breadcrumbsManager?.dispose(); + this._metrics?.dispose(); + } + private addToDatabase( data: BacktraceData, attachments: BacktraceAttachment[], diff --git a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts index d2fada30..fa9bc77e 100644 --- a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts +++ b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts @@ -96,7 +96,7 @@ export class BacktraceMetrics { /** * Cleans up metrics interface. */ - public close() { + public dispose() { if (this._updateIntervalId) { clearInterval(this._updateIntervalId); } From 2edd566e2e35a3a9cb78be6a57b5e11b9c7eeb34 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 28 Aug 2023 20:32:51 +0200 Subject: [PATCH 130/291] Client docs update (#100) --- packages/browser/README.md | 4 ++++ packages/node/README.md | 1 + packages/react/README.md | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/packages/browser/README.md b/packages/browser/README.md index 7eb2acd9..f7cbbc76 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -27,7 +27,9 @@ and easy, after which you can explore the rich set of Backtrace features. - [BacktraceReports](#backtracereport) ## Basic Integration + ### Install the package + ``` $ npm install @backtrace-labs/browser ``` @@ -214,6 +216,7 @@ const client = BacktraceClient.initialize(options); | HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | | History | Adds breadcrumb on pushstate and popstate. | | Document/Window | Adds a breadcrumb for document.click, document.dblclick, document.drag, document.drop, window.load, window.unload, window.pagehide, window.pageshow, window.online, and window.offline. | +| Console | Adds a breadcrumb every time console log is being used by the developer. | #### Intercepting Breadcrumbs @@ -315,6 +318,7 @@ The following options are available for the BacktraceClientOptions passed when i | `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | | `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | | `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | +| `dispose` | void | Disposes the client | ### BacktraceReport diff --git a/packages/node/README.md b/packages/node/README.md index 071a979a..39ffd49f 100644 --- a/packages/node/README.md +++ b/packages/node/README.md @@ -388,6 +388,7 @@ The following options are available for the BacktraceClientOptions passed when i | `remove(record: BacktraceDatabaseRecord)` | void | Removes the record from the database | | `flush()` | Promise | Sends all records to Backtrace and remove them no matter if the submission was successful or not | | `send()` | Promise | Sends all records to Backtrace. If the submission process fails, the retry information is being increased by the records are not removed from the database. | +| `dispose` | void | Disposes the client | ### BacktraceReport diff --git a/packages/react/README.md b/packages/react/README.md index 6eab3d5f..e9ca3ad6 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -28,7 +28,9 @@ easy, after which you can explore the rich set of Backtrace features. - [BacktraceReports](#backtracereport) ## Basic Integration + ### Install the package + ``` $ npm install @backtrace-labs/react ``` @@ -243,6 +245,7 @@ const client = BacktraceClient.initialize(options); | HTTP | Adds a breadcrumb with the url, request type, and reponse status for Fetch or XMLHttpRequests. | | History | Adds breadcrumb on pushstate and popstate. | | Document/Window | Adds a breadcrumb for document.click, document.dblclick, document.drag, document.drop, window.load, window.unload, window.pagehide, window.pageshow, window.online, and window.offline. | +| Console | Adds a breadcrumb every time console log is being used by the developer. | #### Intercepting Breadcrumbs @@ -344,6 +347,7 @@ The following options are available for the BacktraceClientOptions passed when i | `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | | `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | | `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | +| `dispose` | void | Disposes the client | ### BacktraceReport From 25e69f4cef0b1fe2c3b65c693a66cd9006eae761 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 28 Aug 2023 22:02:46 +0200 Subject: [PATCH 131/291] Bin starting path (#99) * Bin starting path * Refactor code - do not check if the path is nullable * Allow to define process envs via parameter --- ...ApplicationInformationAttributeProvider.ts | 33 +++++++++++++------ ...nInformationAttributeProviderTests.spec.ts | 8 +++-- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index 3b67fb34..7d59b2d4 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -9,21 +9,25 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu public readonly APPLICATION_VERSION_ATTRIBUTE = 'application.version'; private _application?: string; - private _applicationVersion?: string = process.env.npm_package_version; + private _applicationVersion?: string; public readonly applicationSearchPaths: string[]; public get type(): 'scoped' | 'dynamic' { return 'scoped'; } - constructor(options: BacktraceConfiguration, applicationSearchPaths?: string[]) { - if ( - options.userAttributes?.[this.APPLICATION_ATTRIBUTE] && - options.userAttributes?.[this.APPLICATION_VERSION_ATTRIBUTE] - ) { - this._application = options.userAttributes[this.APPLICATION_ATTRIBUTE] as string; - this._applicationVersion = options.userAttributes[this.APPLICATION_VERSION_ATTRIBUTE] as string; - } + constructor( + options: BacktraceConfiguration, + applicationSearchPaths?: string[], + nodeConfiguration: { application?: string; version?: string } = { + application: process.env?.npm_package_name, + version: process.env?.npm_package_version, + }, + ) { + this._application = + (options.userAttributes?.[this.APPLICATION_ATTRIBUTE] as string) ?? nodeConfiguration?.application; + this._applicationVersion = + (options.userAttributes?.[this.APPLICATION_VERSION_ATTRIBUTE] as string) ?? nodeConfiguration?.version; this.applicationSearchPaths = applicationSearchPaths ?? this.generateDefaultApplicationSearchPaths(); } @@ -49,7 +53,7 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu } private generateDefaultApplicationSearchPaths() { - const possibleSourcePaths = [process.cwd()]; + const possibleSourcePaths = [process.cwd(), this.generatePathBasedOnTheDirName()]; const potentialCommandLineStartupFile = process.argv[1]; if (potentialCommandLineStartupFile) { const potentialCommandLineStartupFilePath = path.resolve(potentialCommandLineStartupFile); @@ -63,6 +67,15 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu return possibleSourcePaths; } + private generatePathBasedOnTheDirName() { + const nodeModulesIndex = __dirname.lastIndexOf('node_modules'); + if (nodeModulesIndex === -1) { + return __dirname; + } + + return __dirname.substring(0, nodeModulesIndex); + } + private readApplicationInformation(): Record | undefined { for (let possibleSourcePath of this.applicationSearchPaths) { // to make sure we check all directories including `/` we want to assign the parent diff --git a/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts b/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts index 8a82cf89..b7760057 100644 --- a/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts +++ b/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts @@ -50,9 +50,11 @@ describe('Application information attribute provider tests', () => { it('Should throw an error when the package.json information does not exist', () => { const testedPackageDir = path.join('/foo', 'bar', 'baz', '123', 'foo', 'bar'); - const provider = new ApplicationInformationAttributeProvider({} as BacktraceConfiguration, [ - testedPackageDir, - ]); + const provider = new ApplicationInformationAttributeProvider( + {} as BacktraceConfiguration, + [testedPackageDir], + {}, + ); expect(() => provider.get()).toThrow(Error); }); From 6e4bb4c98133b3b67013a94f14bda6e8097b79b0 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 17:02:16 +0200 Subject: [PATCH 132/291] Browser - simplify the Form data usage, export BacktraceBrowserRequestHandler, fix the issue with ignoring jsonEscape in the formatter function --- .../src/BacktraceBrowserRequestHandler.ts | 10 +++++++--- packages/browser/src/index.ts | 1 + packages/sdk-core/src/common/textFormatter.ts | 19 +++++++++++-------- packages/sdk-core/src/index.ts | 1 + .../model/http/BacktraceReportSubmission.ts | 3 ++- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 0a0cd736..81a31fca 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -42,7 +42,12 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { const response = await fetch(submissionUrl, { method: 'POST', body: payload, - headers: typeof payload === 'string' ? this.JSON_HEADERS : {}, + headers: + typeof payload === 'string' + ? this.JSON_HEADERS + : { + 'Content-Type': 'multipart/form-data', + }, signal: controller.signal, }); @@ -82,8 +87,7 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { private createFormData(json: string, attachments: BacktraceAttachment[]) { const formData = new FormData(); - const blob = new Blob([json]); - formData.append(this.UPLOAD_FILE_NAME, blob, `${this.UPLOAD_FILE_NAME}.json`); + formData.append(this.UPLOAD_FILE_NAME, json); if (!attachments || attachments.length === 0) { return formData; diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index ae5bc72d..168c536f 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -16,6 +16,7 @@ export { SingleSessionProvider, } from '@backtrace-labs/sdk-core'; export * from './agentDefinition'; +export * from './BacktraceBrowserRequestHandler'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; export * from './builder/BacktraceClientBuilder'; diff --git a/packages/sdk-core/src/common/textFormatter.ts b/packages/sdk-core/src/common/textFormatter.ts index 3b5177ea..7f8c61a2 100644 --- a/packages/sdk-core/src/common/textFormatter.ts +++ b/packages/sdk-core/src/common/textFormatter.ts @@ -1,19 +1,22 @@ import { jsonEscaper } from './jsonEscaper'; export function textFormatter(): (...params: unknown[]) => string { + const defaultFormatter = fallbackFormatter(jsonEscaper()); try { // eslint-disable-next-line @typescript-eslint/no-var-requires const util = require('util'); - return util.format; + return util.format ?? defaultFormatter; } catch { - return fallbackFormatter; + return defaultFormatter; } } -function fallbackFormatter(...params: unknown[]): string { - let result = ''; - for (const param of params) { - result += typeof param === 'object' ? JSON.stringify(param, jsonEscaper()) : param?.toString(); - } - return result; +function fallbackFormatter(jsonEscapeFunction: (this: unknown, key: string, value: unknown) => unknown) { + return function fallbackFormatter(...params: unknown[]): string { + let result = ''; + for (const param of params) { + result += typeof param === 'object' ? JSON.stringify(param, jsonEscapeFunction) : param?.toString(); + } + return result; + }; } diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 3c607eca..0b19f1ca 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -13,6 +13,7 @@ export * from './model/report/BacktraceReport'; export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/breadcrumbs'; export * from './modules/converter'; +export * from './modules/converter/V8StackTraceConverter'; export * from './modules/database'; export * from './modules/metrics/BacktraceSessionProvider'; export * from './modules/metrics/SingleSessionProvider'; diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index 5d347e28..45bab50a 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -12,6 +12,7 @@ export class BacktraceReportSubmission { } public send(data: BacktraceData, attachments: BacktraceAttachment[]) { - return this._requestHandler.postError(this._submissionUrl, JSON.stringify(data, jsonEscaper()), attachments); + const json = JSON.stringify(data, jsonEscaper()); + return this._requestHandler.postError(this._submissionUrl, json, attachments); } } From f71f478594acdc908d85da027da9facf52d0034f Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 18:48:46 +0200 Subject: [PATCH 133/291] Do not pass formdata content-type --- packages/browser/src/BacktraceBrowserRequestHandler.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 81a31fca..923ccf88 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -42,12 +42,7 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { const response = await fetch(submissionUrl, { method: 'POST', body: payload, - headers: - typeof payload === 'string' - ? this.JSON_HEADERS - : { - 'Content-Type': 'multipart/form-data', - }, + headers: typeof payload === 'string' ? this.JSON_HEADERS : {}, signal: controller.signal, }); From 8b2c6f878bbcc974290b1d8eed287dde9e21b3d0 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 18:56:00 +0200 Subject: [PATCH 134/291] SDK-core: Version update 0.0.2 --- packages/sdk-core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 1778a378..cf91dc60 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sdk-core", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From b5141b56b38453023b431b49734e8ab5455c9350 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 19:26:14 +0200 Subject: [PATCH 135/291] Update SDK-Core package-lock.json --- package-lock.json | 53919 +++++++++++++------------------------------- 1 file changed, 16059 insertions(+), 37860 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d942eb6..8dfcfe1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -211,42 +211,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/eslint-parser": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.11.tgz", - "integrity": "sha512-YjOYZ3j7TjV8OhLW6NCtyg8G04uStATEUe5eiLuCZaXz2VSDQ3dsAtm2D+TuQyAqNMUK2WacGo0/uma9Pein1w==", - "dev": true, - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", @@ -262,30 +226,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", - "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", @@ -326,80 +266,6 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.11.tgz", - "integrity": "sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==", - "dev": true, - "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.5", - "@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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", - "dev": true, - "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" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", @@ -434,18 +300,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", @@ -477,18 +331,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", @@ -498,40 +340,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", @@ -544,18 +352,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", @@ -595,20 +391,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", - "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helpers": { "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", @@ -720,96 +502,73 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", - "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -818,90 +577,70 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -910,34 +649,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { + "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -949,22 +664,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-default-from": { + "node_modules/@babel/plugin-syntax-typescript": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", - "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -976,4766 +679,3888 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "node_modules/@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { + "node_modules/@babel/template": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "node_modules/@babel/traverse": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", + "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@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.11", + "@babel/types": "^7.22.11", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=4" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "node_modules/@babel/types": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", + "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/browser": { + "resolved": "packages/browser", + "link": true }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/javascript-cli": { + "resolved": "tools/cli", + "link": true }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/node": { + "resolved": "packages/node", + "link": true }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/react": { + "resolved": "packages/react", + "link": true }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/rollup-plugin": { + "resolved": "tools/rollup-plugin", + "link": true }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/sdk-core": { + "resolved": "packages/sdk-core", + "link": true }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@backtrace-labs/sourcemap-tools": { + "resolved": "tools/sourcemap-tools", + "link": true }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@backtrace-labs/vite-plugin": { + "resolved": "tools/vite-plugin", + "link": true + }, + "node_modules/@backtrace-labs/webpack-plugin": { + "resolved": "tools/webpack-plugin", + "link": true + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10.0.0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.11.tgz", - "integrity": "sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==", - "dev": true, - "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" - }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", - "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", - "dev": true, - "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" - }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", - "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "node_modules/@eslint-community/regexpp": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", + "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "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" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.11.tgz", - "integrity": "sha512-o2+bg7GDS60cJMgz9jWqRUsWkMzLCxp+jFDeDUT5sjRlAxcJWZ2ylNdI7QQ2+CH5hWu7OnN+Cv3htt7AkSf96g==", + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz", - "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "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" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10.10.0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=12.22" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", - "dev": true, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.11.tgz", - "integrity": "sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.11.tgz", - "integrity": "sha512-7X2vGqH2ZKu7Imx0C+o5OysRwtF/wzdCAqmcD1N1v2Ww8CtOSC+p+VoV76skm47DLvBZ8kBFic+egqxM9S/p4g==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "p-try": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "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" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "node_modules/@jest/console": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", + "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "node_modules/@jest/core": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", + "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "@jest/console": "^29.6.4", + "@jest/reporters": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.6.3", + "jest-config": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-resolve-dependencies": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "jest-watcher": "^29.6.4", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@jest/environment": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", + "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "node_modules/@jest/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "expect": "^29.6.4", + "jest-snapshot": "^29.6.4" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "node_modules/@jest/expect-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", + "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" + "jest-get-type": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "node_modules/@jest/fake-timers": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", + "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", - "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", + "node_modules/@jest/globals": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", + "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@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" + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/types": "^29.6.3", + "jest-mock": "^29.6.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "node_modules/@jest/reporters": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", + "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "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" }, "engines": { - "node": ">=6.9.0" + "node": "*" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "node_modules/@jest/test-result": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", + "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/console": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.11.tgz", - "integrity": "sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==", + "node_modules/@jest/test-sequencer": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", + "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", "dev": true, "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-typescript": "^7.22.5" + "@jest/test-result": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "node_modules/@jest/transform": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", + "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@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" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/preset-env": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", - "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.10", - "@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.10", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.10", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.10", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@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.10", - "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" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 8" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">= 8" } }, - "node_modules/@babel/preset-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", - "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "node_modules/@reduxjs/toolkit": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", + "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" }, "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } } }, - "node_modules/@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "rollup": "^2.14.0||^3.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } } }, - "node_modules/@babel/preset-typescript": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.11.tgz", - "integrity": "sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==", + "node_modules/@rollup/pluginutils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.11", - "@babel/plugin-transform-typescript": "^7.22.11" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@babel/register": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", - "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type-detect": "4.0.8" } }, - "node_modules/@babel/register/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@babel/register/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", "dev": true, + "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" + }, "engines": { - "node": ">=6" + "node": ">=14" } }, - "node_modules/@babel/register/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "node_modules/@babel/register/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/@babel/register/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "@types/readdir-glob": "*" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", "dev": true }, - "node_modules/@babel/runtime": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", - "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/types": "^7.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", - "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@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.11", - "@babel/types": "^7.22.11", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@babel/types": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", - "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@babel/types": "^7.20.7" } }, - "node_modules/@backtrace-labs/browser": { - "resolved": "packages/browser", - "link": true - }, - "node_modules/@backtrace-labs/javascript-cli": { - "resolved": "tools/cli", - "link": true - }, - "node_modules/@backtrace-labs/node": { - "resolved": "packages/node", - "link": true - }, - "node_modules/@backtrace-labs/react": { - "resolved": "packages/react", - "link": true + "node_modules/@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", + "dev": true }, - "node_modules/@backtrace-labs/react-native": { - "resolved": "packages/react-native", - "link": true + "node_modules/@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true }, - "node_modules/@backtrace-labs/rollup-plugin": { - "resolved": "tools/rollup-plugin", - "link": true + "node_modules/@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, - "node_modules/@backtrace-labs/sdk-core": { - "resolved": "packages/sdk-core", - "link": true + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } }, - "node_modules/@backtrace-labs/sourcemap-tools": { - "resolved": "tools/sourcemap-tools", - "link": true + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } }, - "node_modules/@backtrace-labs/vite-plugin": { - "resolved": "tools/vite-plugin", - "link": true + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, - "node_modules/@backtrace-labs/webpack-plugin": { - "resolved": "tools/webpack-plugin", - "link": true + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, - "engines": { - "node": ">=10.0.0" + "dependencies": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/jest": { + "version": "29.5.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", + "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/node": { + "version": "14.18.56", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", + "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, + "dependencies": { + "@types/react": "*" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "dev": true, + "dependencies": { + "@types/node": "*" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@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" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", - "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "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" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@hutson/parse-repository-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", - "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, - "peer": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@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" }, "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@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" }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dependencies": { - "sprintf-js": "~1.0.2" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "node_modules/@jest/console": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", - "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", - "dev": true, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/@jest/core": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", - "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", - "dev": true, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dependencies": { - "@jest/console": "^29.6.4", - "@jest/reporters": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.6.3", - "jest-config": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-resolve-dependencies": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "jest-watcher": "^29.6.4", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.3", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@xtuc/long": "4.2.2" } }, - "node_modules/@jest/core/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.3.tgz", - "integrity": "sha512-kzSK9XAxtD1kRPJKxsmD0YKw2fyXveP+5ikeQkCYCHeacWW1EGYMTgjDIM/Di4Uhttx7lnHwrNpz2xn+0rTp8g==", - "dev": true, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { - "@jest/types": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/@jest/environment": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", - "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", - "dev": true, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dependencies": { - "@jest/fake-timers": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@jest/expect": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", - "dev": true, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dependencies": { - "expect": "^29.6.4", - "jest-snapshot": "^29.6.4" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/@jest/expect-utils": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", - "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", - "dev": true, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@jest/fake-timers": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", - "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", - "dev": true, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@jest/globals": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", - "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", - "@jest/types": "^29.6.3", - "jest-mock": "^29.6.3" - }, + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/@jest/reporters": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", - "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "engines": { + "node": ">=14.15.0" }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.15.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" }, "peerDependenciesMeta": { - "node-notifier": { + "webpack-dev-server": { "optional": true } } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.4.0" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@jest/test-result": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", - "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "dependencies": { - "@jest/console": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.4.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", - "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { - "@jest/test-result": "^29.6.4", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "slash": "^3.0.0" + "debug": "4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6.0.0" } }, - "node_modules/@jest/transform": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", - "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", - "dev": true, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "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" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "peerDependencies": { + "ajv": ">=5.0.0" } }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dev": true, - "dependencies": { - "eslint-scope": "5.1.1" + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "node": ">=10" }, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@octokit/auth-token": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", - "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", - "dev": true, - "peer": true, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/@octokit/core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", - "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", - "dev": true, - "peer": true, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 14" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@octokit/endpoint": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", - "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "peer": true, "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">= 14" + "node": ">= 8" } }, - "node_modules/@octokit/endpoint/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, - "node_modules/@octokit/graphql": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", - "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", - "dev": true, - "peer": true, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, "engines": { - "node": ">= 14" + "node": ">= 10" } }, - "node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", - "dev": true, - "peer": true - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", - "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", - "dev": true, - "peer": true, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dependencies": { - "@octokit/tsconfig": "^1.0.2", - "@octokit/types": "^9.2.3" + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "@octokit/core": ">=4" - } - }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, - "peer": true, - "peerDependencies": { - "@octokit/core": ">=3" + "node": ">= 6" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { + "node_modules/archiver-utils/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", - "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", - "dev": true, - "peer": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "@octokit/types": "^10.0.0" + "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" }, "engines": { - "node": ">= 14" + "node": "*" }, - "peerDependencies": { - "@octokit/core": ">=3" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", - "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", - "dev": true, - "peer": true, + "node_modules/archiver-utils/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@octokit/request": { - "version": "6.2.8", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", - "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", - "dev": true, - "peer": true, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 14" + "safe-buffer": "~5.1.0" } }, - "node_modules/@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "peer": true, "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 14" + "deep-equal": "^2.0.5" } }, - "node_modules/@octokit/request/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/@octokit/rest": { - "version": "19.0.11", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", - "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "peer": true, - "dependencies": { - "@octokit/core": "^4.2.1", - "@octokit/plugin-paginate-rest": "^6.1.2", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^7.1.2" - }, "engines": { - "node": ">= 14" + "node": ">=0.10.0" } }, - "node_modules/@octokit/tsconfig": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", - "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", - "dev": true, - "peer": true - }, - "node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^18.0.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "dev": true, - "peer": true, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", "engines": { - "node": ">=12.22.0" + "node": ">=6" } }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "peer": true, "dependencies": { - "graceful-fs": "4.2.10" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": ">=12.22.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true, - "peer": true - }, - "node_modules/@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, - "peer": true, "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": ">=12" - } - }, - "node_modules/@react-native-community/cli": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", - "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", - "dev": true, - "dependencies": { - "@react-native-community/cli-clean": "11.3.6", - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-doctor": "11.3.6", - "@react-native-community/cli-hermes": "11.3.6", - "@react-native-community/cli-plugin-metro": "11.3.6", - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "@react-native-community/cli-types": "11.3.6", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", - "semver": "^7.5.2" - }, - "bin": { - "react-native": "build/bin.js" + "node": ">= 0.4" }, - "engines": { - "node": ">=16" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@react-native-community/cli-clean": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", - "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "prompts": "^2.4.0" + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-community/cli-config": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", - "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@react-native-community/cli-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "dev": true, "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" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@react-native-community/cli-debugger-ui": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", - "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", - "dev": true, - "dependencies": { - "serve-static": "^1.13.1" - } - }, - "node_modules/@react-native-community/cli-doctor": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", - "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", - "dev": true, - "dependencies": { - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "envinfo": "^7.7.2", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "prompts": "^2.4.0", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-hermes": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", - "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", - "dev": true, - "dependencies": { - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" - } - }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", - "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", - "dev": true, - "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "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" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", - "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", - "dev": true, - "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dev": true, "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" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@react-native-community/cli-plugin-metro": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", - "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "dependencies": { - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "readline": "^1.3.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - }, - "engines": { - "node": ">=16" - } + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "node_modules/@react-native-community/cli-server-api": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", - "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "dependencies": { - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true }, - "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "inherits": "2.0.1" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "node_modules/@react-native-community/cli-tools": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", - "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3" - } + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true }, - "node_modules/@react-native-community/cli-types": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", - "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", - "dev": true, - "dependencies": { - "joi": "^17.2.1" - } + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/@react-native-community/cli/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": ">=8" + "node": ">= 4.5.0" } }, - "node_modules/@react-native-community/cli/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@react-native-community/cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/babel-jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", + "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@jest/transform": "^29.6.4", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/@react-native-community/cli/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/@react-native-community/eslint-config": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", - "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { - "@babel/core": "^7.14.0", - "@babel/eslint-parser": "^7.18.2", - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.30.5", - "@typescript-eslint/parser": "^5.30.5", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-ft-flow": "^2.0.1", - "eslint-plugin-jest": "^26.5.3", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-native": "^4.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, - "peerDependencies": { - "eslint": ">=8", - "prettier": ">=2" + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-community/eslint-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", - "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", - "dev": true - }, - "node_modules/@react-native/assets-registry": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", - "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==", - "dev": true - }, - "node_modules/@react-native/codegen": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", - "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "jscodeshift": "^0.14.0", - "nullthrows": "^1.1.1" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@react-native/gradle-plugin": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", - "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==", - "dev": true - }, - "node_modules/@react-native/js-polyfills": { - "version": "0.72.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", - "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", - "dev": true - }, - "node_modules/@react-native/normalize-colors": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", - "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==", - "dev": true - }, - "node_modules/@react-native/virtualized-lists": { - "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", - "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, - "peerDependencies": { - "react-native": "*" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@reduxjs/toolkit": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", - "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, "dependencies": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" }, "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", - "react-redux": "^7.2.1 || ^8.0.2" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-redux": { - "optional": true - } + "@babel/core": "^7.0.0" } }, - "node_modules/@release-it/conventional-changelog": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-5.1.1.tgz", - "integrity": "sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog": "^3.1.25", - "conventional-recommended-bump": "^6.1.0", - "semver": "7.3.8" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "release-it": "^15.4.1" + "@babel/core": "^7.0.0" } }, - "node_modules/@release-it/conventional-changelog/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/@release-it/conventional-changelog/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0||^3.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "tslib": { - "optional": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ] }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", - "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" + "node": "*" } }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "peer": true, + "optional": true, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "node": ">=8" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, "dependencies": { - "type-detect": "4.0.8" + "file-uri-to-path": "1.0.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "peer": true, - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, - "node_modules/@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "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" - }, - "engines": { - "node": ">=14" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@testing-library/react": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=8" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true }, - "node_modules/@types/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "dependencies": { - "@types/readdir-glob": "*" + "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" } }, - "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true + "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" + } }, - "node_modules/@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/@types/decompress": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "dependencies": { - "@types/node": "*" + "pako": "~1.0.5" } }, - "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "@types/node": "*" + "node-int64": "^0.4.0" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "dev": true, - "peer": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "@types/istanbul-lib-coverage": "*" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "dependencies": { - "@types/istanbul-lib-report": "*" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "node_modules/@types/jest": { - "version": "29.5.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", - "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/cacache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "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" + }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "yallist": "^3.0.2" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.18.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", - "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/@types/react": { - "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", - "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-native": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.0.tgz", - "integrity": "sha512-yBN7qJDfs0Vwr34NyfW1SWzalHQoYtpUWf0t4UJY9C5ft58BRr46+r92I0v+l3QX4VNsSRMHVAAWqLLCbIkM+g==", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "dependencies": { - "@types/react": "*" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { - "@types/node": "*" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", - "dev": true - }, - "node_modules/@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" + "engines": { + "node": ">=6" } }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=6" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "node_modules/caniuse-lite": { + "version": "1.0.30001522", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", + "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "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" + "chalk": "^4.1.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 8.10.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "optional": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "is-glob": "^4.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "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" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, + "node_modules/command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.20.0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "node_modules/compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "engines": { - "node": ">=14.15.0" + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "node": ">= 10" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/@xtuc/ieee754": { + "node_modules/console-browserify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/copy-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "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" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" + "node": "*" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", - "dev": true + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" }, "engines": { - "node": ">= 6.0.0" + "node": ">=0.8" } }, - "node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, + "node_modules/crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node": ">= 10" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "peer": true, "dependencies": { - "string-width": "^4.1.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "peer": true - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "peer": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "node_modules/ansi-fragments/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, + "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" + }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/ansi-fragments/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "cssom": "~0.3.6" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "ms": "2.1.2" }, "engines": { - "node": ">= 8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" }, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "node_modules/archiver-utils/node_modules/isarray": { + "node_modules/decompress-tar/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/archiver-utils/node_modules/readable-stream": { + "node_modules/decompress-tar/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5746,167 +4571,162 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/archiver-utils/node_modules/string_decoder": { + "node_modules/decompress-tar/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, "dependencies": { + "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" + "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" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -5915,1242 +4735,1147 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.5.tgz", - "integrity": "sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/asn1.js/node_modules/bn.js": { + "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { - "inherits": "2.0.1" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "dependencies": { - "tslib": "^2.0.1" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/ast-types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "peer": true, "dependencies": { - "retry": "0.13.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "has-symbols": "^1.0.3" + "safe-buffer": "~5.1.0" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "node_modules/electron-to-chromium": { + "version": "1.4.500", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", + "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 4" } }, - "node_modules/babel-jest": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", - "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", - "dev": true, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { - "@jest/transform": "^29.6.4", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "once": "^1.4.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, "engines": { - "node": ">=8" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true, "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "envinfo": "dist/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" + "prr": "~1.0.1" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "bin": { + "errno": "cli.js" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "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.10", + "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.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "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.10" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "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" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", - "dev": true + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" }, - "node_modules/babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "dependencies": { - "@babel/plugin-syntax-flow": "^7.12.1" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-fbjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", - "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", - "dev": true, - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "has": "^1.0.3" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "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" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/basic-ftp": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", - "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "peer": true, "engines": { - "node": ">=10.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true, - "peer": true - }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "peer": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { - "node": ">=0.6" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": "*" + "node": ">=4.0" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true, "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "node": ">=0.10.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "node_modules/eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, - "peer": true, "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14.16" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "peer": true, - "engines": { - "node": ">=14.16" + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "peer": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, - "peer": true, "dependencies": { - "big-integer": "^1.6.44" + "debug": "^3.2.7" }, "engines": { - "node": ">= 5.10.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ms": "^2.1.1" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "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" }, "engines": { - "node": ">=8" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { - "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" + "ms": "^2.1.1" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "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" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "engines": { + "node": ">=4.0" + } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "pako": "~1.0.5" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, "bin": { - "browserslist": "cli.js" + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=4" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { - "fast-json-stable-stringify": "2.x" + "estraverse": "^5.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "engines": { + "node": ">=4.0" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": "*" + "node": ">=4.0" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "peer": true, - "dependencies": { - "run-applescript": "^5.0.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": ">= 0.8" + "node": ">=0.8.x" } }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/cacache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "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" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "glob": "^7.1.3" + "engines": { + "node": ">=8" }, - "bin": { - "rimraf": "bin.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cacache/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "peer": true, - "engines": { - "node": ">=14.16" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/cacheable-request": { - "version": "10.2.13", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.13.tgz", - "integrity": "sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "peer": true, "dependencies": { - "@types/http-cache-semantics": "^4.0.1", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=14.16" + "node": ">=0.10.0" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "peer": true, - "engines": { - "node": ">=10" + "dependencies": { + "is-extendable": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "kind-of": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "callsites": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "caller-callsite": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/expect-utils": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "dependencies": { - "chalk": "^4.1.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=12" + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "peer": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8.6.0" } }, - "node_modules/chokidar/node_modules/glob-parent": { + "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "optional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7158,2138 +5883,1962 @@ "node": ">= 6" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "engines": { - "node": ">=8" + "node": ">= 4.9.1" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "reusify": "^1.0.4" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" + "pend": "~1.2.0" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { - "escape-string-regexp": "5.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/clean-stack/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-boxes": { + "node_modules/find-cache-dir/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=10" + "dependencies": { + "p-limit": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "node_modules/find-cache-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, - "peer": true, + "dependencies": { + "find-up": "^3.0.0" + }, "engines": { - "node": ">= 12" + "node": ">=6" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "array-back": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=0.8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "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" }, "engines": { - "node": ">=6" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "rimraf": "bin.js" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" + "safe-buffer": "~5.1.0" } }, - "node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "engines": { - "node": "^12.20.0 || >=14" + "dependencies": { + "is-callable": "^1.1.3" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.6" + "node": ">= 6" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "map-cache": "^0.2.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "dependencies": { - "ms": "2.0.0" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "engines": [ - "node >= 6.0" - ], "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "peer": true, "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "safe-buffer": "~5.1.0" } }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, - "peer": true, "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/configstore/node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "peer": true, "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/configstore/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "peer": true - }, - "node_modules/configstore/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "peer": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "safe-buffer": "~5.1.0" } }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/conventional-changelog": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", - "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-atom": "^2.0.8", - "conventional-changelog-codemirror": "^2.0.8", - "conventional-changelog-conventionalcommits": "^4.5.0", - "conventional-changelog-core": "^4.2.1", - "conventional-changelog-ember": "^2.0.9", - "conventional-changelog-eslint": "^3.0.9", - "conventional-changelog-express": "^2.0.6", - "conventional-changelog-jquery": "^3.0.11", - "conventional-changelog-jshint": "^2.0.9", - "conventional-changelog-preset-loader": "^2.3.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/conventional-changelog-atom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", - "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "dependencies": { - "q": "^1.5.1" - }, "engines": { - "node": ">=10" + "node": ">=6.9.0" } }, - "node_modules/conventional-changelog-codemirror": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", - "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "dependencies": { - "q": "^1.5.1" - }, "engines": { - "node": ">=10" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", - "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/conventional-changelog-core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", - "dev": true, - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" - }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/conventional-changelog-ember": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", - "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "dependencies": { - "q": "^1.5.1" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/conventional-changelog-eslint": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", - "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "dependencies": { - "q": "^1.5.1" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/conventional-changelog-express": { + "node_modules/get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", - "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "dependencies": { - "q": "^1.5.1" - }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/conventional-changelog-jquery": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", - "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", - "dev": true, + "node_modules/glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", "dependencies": { - "q": "^1.5.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/conventional-changelog-jshint": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", - "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" } }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/conventional-changelog-writer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", - "dev": true, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" + "define-properties": "^1.1.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" + "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" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "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" - }, - "engines": { - "node": "*" + "get-intrinsic": "^1.1.3" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "function-bind": "^1.1.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/core-js-compat": { - "version": "3.32.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz", - "integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "dependencies": { - "browserslist": "^4.21.10" + "get-intrinsic": "^1.1.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cosmiconfig/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cosmiconfig/node_modules/resolve-from": { + "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=0.8" + "node": ">=0.10.0" } }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "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" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "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" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "*" + "node": ">= 6" } }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "peer": true, "dependencies": { - "type-fest": "^1.0.1" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.17.0" } }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "node_modules/cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true - }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "dev": true, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/data-uri-to-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", - "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "peer": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">= 14" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { - "node": "*" + "node": ">=0.8.19" } }, - "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "dependencies": { - "ms": "2.1.2" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 0.4" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { + "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "engines": { - "node": ">=0.10" + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "optional": true, "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "peer": true, "dependencies": { - "mimic-response": "^3.1.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "peer": true, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" + "has": "^1.0.3" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decompress-tar/node_modules/isarray": { + "node_modules/is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/decompress-tar/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/decompress-tar/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "dev": true, - "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" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "peer": true, "engines": { - "node": ">=4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, - "node_modules/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "peer": true, "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "peer": true, - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/default-browser/node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "isobject": "^3.0.1" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/default-browser/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-browser/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true, - "peer": true, - "engines": { - "node": ">=14.18.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-browser/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "call-bind": "^1.0.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-browser/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, - "peer": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/default-browser/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "peer": true, "dependencies": { - "path-key": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-browser/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "peer": true, "dependencies": { - "mimic-fn": "^4.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-browser/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "which-typed-array": "^1.1.11" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "peer": true - }, - "node_modules/default-browser/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "peer": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defer-to-connect": { + "node_modules/is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true, - "peer": true, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "call-bind": "^1.0.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/degenerator": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-4.0.4.tgz", - "integrity": "sha512-MTZdZsuNxSBL92rsjx3VFWe57OpRlikyLbcx2B5Dmdv6oScqpMrvpY7zHLMymrUxo3U5+suPUMsNgW/+SZB1lg==", + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, - "peer": true, - "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^1.14.3", - "esprima": "^4.0.1", - "vm2": "^3.9.19" - }, "engines": { - "node": ">= 14" + "node": ">=4" } }, - "node_modules/degenerator/node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "peer": true, - "dependencies": { - "tslib": "^2.0.1" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/degenerator/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", + "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", "dev": true, - "peer": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">=10" } }, - "node_modules/degenerator/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "peer": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/degenerator/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "peer": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "semver": "^7.5.3" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/degenerator/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "peer": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/degenerator/node_modules/source-map": { + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/degenerator/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true, - "peer": true - }, - "node_modules/degenerator/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, - "peer": true, "dependencies": { - "prelude-ls": "~1.1.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/del": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", - "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", - "dev": true, + "node_modules/jackspeak": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", + "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", "dependencies": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", - "is-glob": "^4.0.3", - "is-path-cwd": "^3.0.0", - "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=14.16" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/del-cli": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-5.0.0.tgz", - "integrity": "sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==", + "node_modules/jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", + "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", "dev": true, "dependencies": { - "del": "^7.0.0", - "meow": "^10.1.3" + "@jest/core": "^29.6.4", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.6.4" }, "bin": { - "del": "cli.js", - "del-cli": "cli.js" + "jest": "bin/jest.js" }, "engines": { - "node": ">=14.16" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/del-cli/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/jest-changed-files": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", + "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/del-cli/node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "node_modules/jest-circus": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", + "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", "dev": true, "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.3", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/del-cli/node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/del-cli/node_modules/meow": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", - "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/del-cli/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-cli": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", + "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", "dev": true, + "dependencies": { + "@jest/core": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/del-cli/node_modules/read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del-cli/node_modules/read-pkg-up": { + "node_modules/jest-cli/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/jest-cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/del-cli/node_modules/redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/del-cli/node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "min-indent": "^1.0.1" + "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" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del-cli/node_modules/trim-newlines": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", - "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" + } + }, + "node_modules/jest-config": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", + "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-jest": "^29.6.4", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.4", + "jest-environment-node": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/del-cli/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/del/node_modules/glob": { + "node_modules/jest-config/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", @@ -9309,639 +7858,635 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/del/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/del/node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/jest-config/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/jest-diff": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", + "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/del/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "node_modules/jest-docblock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", + "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", "dev": true, "dependencies": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true, - "peer": true - }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "node_modules/jest-each": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", + "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.6.3", + "pretty-format": "^29.6.3" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/diff-sequences": { + "node_modules/jest-each/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/jest-each/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-environment-jsdom": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", + "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3", + "jsdom": "^20.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/jest-environment-node": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", + "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" }, "engines": { - "node": ">=6.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "node_modules/jest-haste-map": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", + "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", "dev": true, "dependencies": { - "webidl-conversions": "^7.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "node_modules/jest-leak-detector": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", + "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", "dev": true, "dependencies": { - "is-obj": "^2.0.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/jest-matcher-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", + "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "chalk": "^4.0.0", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.500", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", - "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "node_modules/jest-message-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", + "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", "dev": true, "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" + "@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.6.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">= 0.8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "node_modules/jest-mock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", + "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", + "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.6.3" }, "engines": { - "node": ">=10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { - "node": ">=0.12" + "node": ">=6" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/jest-resolve": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", + "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", "dev": true, "dependencies": { - "prr": "~1.0.1" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "bin": { - "errno": "cli.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/jest-resolve-dependencies": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", + "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", + "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.6.4" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "node_modules/jest-runner": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", + "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", "dev": true, "dependencies": { - "stackframe": "^1.3.4" + "@jest/console": "^29.6.4", + "@jest/environment": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.6.3", + "jest-environment-node": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-leak-detector": "^29.6.3", + "jest-message-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-util": "^29.6.3", + "jest-watcher": "^29.6.4", + "jest-worker": "^29.6.4", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "node_modules/jest-runtime": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", + "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", "dev": true, "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/globals": "^29.6.4", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">= 0.8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "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.5", - "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.10", - "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.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "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.10" + "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" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "peer": true + "engines": { + "node": ">=8" + } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "node_modules/jest-snapshot": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", + "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", "dev": true, "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" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.3", + "semver": "^7.5.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/es-iterator-helpers": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", - "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.0", - "safe-array-concat": "^1.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/jest-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", + "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@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" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "hasInstallScript": true, - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" + "node_modules/jest-validate": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", + "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.3" }, - "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" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "peer": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { "node": ">=10" @@ -9950,1577 +8495,1350 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-watcher": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", + "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.3", + "string-length": "^4.0.1" + }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/jest-worker": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", + "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, - "optional": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@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" - }, - "bin": { - "eslint": "bin/eslint.js" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "dependencies": { - "debug": "^3.2.7" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" }, "peerDependenciesMeta": { - "eslint": { + "canvas": { "optional": true } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" + "node": ">=4" } }, - "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "node_modules/eslint-plugin-ft-flow": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", - "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": ">=12.22.0" + "minimist": "^1.2.0" }, - "peerDependencies": { - "@babel/eslint-parser": "^7.12.0", - "eslint": "^8.1.0" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", - "dev": true, + "node_modules/jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "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" + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "node": ">=8" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, + "node_modules/jsonc/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dependencies": { - "ms": "^2.1.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, + "node_modules/jsonc/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "node": ">=6" } }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "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" + "readable-stream": "^2.0.5" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">= 0.6.3" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } + "node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/eslint-plugin-react-native": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.0.0.tgz", - "integrity": "sha512-kMmdxrSY7A1WgdqaGC+rY/28rh7kBGNBRsk48ovqkQmdg5j4K+DaFmegENDzMrdLkoufKGRNkKX6bgSwQTCAxQ==", - "dev": true, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "@babel/traverse": "^7.7.4", - "eslint-plugin-react-native-globals": "^0.1.1" - }, - "peerDependencies": { - "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/eslint-plugin-react-native-globals": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", - "dev": true - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.8.0" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "engines": { - "node": ">=4.0" + "node": ">=6.11.5" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8.9.0" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/loader-utils/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "json5": "lib/cli.js" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" + "node": ">=10" }, - "engines": { - "node": ">=4.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, - "node_modules/estraverse": { + "node_modules/lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + }, + "node_modules/lodash.camelcase": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, + "node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "14 || >=16.14" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "lz-string": "bin/bin.js" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { - "ms": "2.0.0" + "tmpl": "1.0.5" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/expect": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.6.4", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.6" } }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "peer": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "mime-db": "1.52.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "is-extendable": "^0.1.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=4.0.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/mississippi/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, + "engines": [ + "node >= 0.8" + ], "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "node_modules/mississippi/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fast-xml-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", - "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", - "dev": true, - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/mississippi/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/mississippi/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "bser": "2.1.1" + "safe-buffer": "~5.1.0" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "node_modules/mississippi/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { - "pend": "~1.2.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "peer": true, "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { - "node": "^12.20 || >= 14.13" + "node": ">=0.10.0" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "peer": true, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" + "minimist": "^1.2.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "node_modules/figures/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "node_modules/move-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "peer": true, + "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" + }, "engines": { - "node": ">=12" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "glob": "^7.1.3" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "node_modules/native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "hasInstallScript": true, "dependencies": { - "ms": "2.0.0" + "node-gyp-build": "4" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nock": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", + "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">= 10.13" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "safe-buffer": "~5.1.0" } }, - "node_modules/find-cache-dir/node_modules/path-exists": { + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/pify": { + "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, "dependencies": { - "array-back": "^3.0.1" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "kind-of": "^3.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.10.0" } }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "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" + "kind-of": "^3.0.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/flow-enums-runtime": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", - "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==", - "dev": true - }, - "node_modules/flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/flush-write-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "dependencies": { - "is-callable": "^1.1.3" + "engines": { + "node": ">= 0.4" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "node_modules/object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", "dev": true, - "peer": true, - "engines": { - "node": ">= 14.17" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, - "peer": true, "dependencies": { - "fetch-blob": "^3.1.2" + "isobject": "^3.0.1" }, "engines": { - "node": ">=12.20.0" + "node": ">=0.10.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "dependencies": { - "map-cache": "^0.2.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "@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" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/from2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "node_modules/parallel-transform/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "node_modules/parallel-transform/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", @@ -11535,7 +9853,7 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "node_modules/parallel-transform/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -11544,709 +9862,530 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=6" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "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" + } }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" } }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/get-pkg-repo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "get-pkg-repo": "src/cli.js" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "engines": { - "node": ">=6.9.0" + "node": ">=0.12" } }, - "node_modules/get-pkg-repo/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, - "node_modules/get-pkg-repo/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/get-pkg-repo/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" + "pinkie": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/get-uri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", - "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "peer": true, "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^5.0.1", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" + "find-up": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/git-semver-tags/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/git-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", - "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", - "dev": true, + "node_modules/postcss": { + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "peer": true, "dependencies": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/git-url-parse": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", - "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "peer": true, - "dependencies": { - "git-up": "^7.0.0" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, "bin": { - "glob": "dist/cjs/src/bin.js" + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "peer": true, - "dependencies": { - "ini": "2.0.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "peer": true, "engines": { - "node": ">=10" + "node": ">= 0.6.0" } }, - "node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "node_modules/gopd": { + "node_modules/promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "peer": true, "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "node": ">= 6" } }, - "node_modules/got/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true, - "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, - "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "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" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.x" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -12263,1770 +10402,1569 @@ } ] }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "safe-buffer": "^5.1.0" } }, - "node_modules/hermes-estree": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", - "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", - "dev": true - }, - "node_modules/hermes-parser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", - "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "dependencies": { - "hermes-estree": "0.12.0" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "dev": true, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, "dependencies": { - "source-map": "^0.7.3" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, + "peer": true, "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { - "lru-cache": "^6.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "dependencies": { - "yallist": "^4.0.0" + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "optional": true, "dependencies": { - "whatwg-encoding": "^2.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=12" + "node": ">=8.10.0" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true, - "peer": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" + "@babel/runtime": "^7.9.2" } }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, - "engines": { - "node": ">= 0.8" + "peerDependencies": { + "redux": "^4" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, - "peer": true, "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/http2-wrapper/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=0.10" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true }, - "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, "dependencies": { - "queue": "6.0.2" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "image-size": "bin/image-size.js" + "resolve": "bin/resolve" }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "dev": true, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, "engines": { - "node": ">=0.8.19" + "node": ">=10" } }, - "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.12" } }, - "node_modules/infer-owner": { + "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/inquirer": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.6.tgz", - "integrity": "sha512-y71l237eJJKS4rl7sQcEUiMhrR0pB/ZnRMMTxLpjJhWL4hdWCT03a6jJnC1w6qIPSRZWEozuieGt3v7XaEJYFw==", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "peer": true, - "dependencies": { - "ansi-escapes": "^4.3.2", - "chalk": "^5.2.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.0.0", - "external-editor": "^3.0.3", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, "engines": { - "node": ">=14.18.0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/rimraf": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, - "peer": true, + "dependencies": { + "glob": "^10.2.5" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/inquirer/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "peer": true - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "peer": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/inquirer/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, + "node_modules/rollup": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", + "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.10" + "queue-microtask": "^1.2.2" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "dependencies": { - "loose-envify": "^1.0.0" + "aproba": "^1.1.1" } }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", - "dev": true - }, - "node_modules/is-absolute": { + "node_modules/safe-array-concat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", "dev": true, "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" + "node": ">=0.4" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ret": "~0.1.10" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "xmlchars": "^2.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=v12.22.7" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, + "peer": true, "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "loose-envify": "^1.1.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { - "binary-extensions": "^2.0.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "commander": "^2.8.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "peer": true, "dependencies": { - "ci-info": "^3.2.0" + "yallist": "^4.0.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">=10" } }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "randombytes": "^2.1.0" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "peer": true, - "bin": { - "is-docker": "cli.js" + "dependencies": { + "kind-of": "^6.0.2" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { - "is-plain-object": "^2.0.4" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-git-dirty": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-git-dirty/-/is-git-dirty-2.0.2.tgz", - "integrity": "sha512-U3YCo+GKR/rDsY7r0v/LBICbQwsx859tDQnAT+v0E/zCDeWbQ1TUt1FtyExeyik7VIJlYOLHCIifLdz71HDalg==", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "dependencies": { - "execa": "^4.0.3", - "is-git-repository": "^2.0.0" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/is-git-dirty/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/is-git-dirty/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" + "kind-of": "^3.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-git-dirty/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, "engines": { - "node": ">=8.12.0" + "node": ">=0.10.0" } }, - "node_modules/is-git-dirty/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-git-dirty/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/is-git-repository": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-2.0.0.tgz", - "integrity": "sha512-HDO50CG5suIAcmqG4F1buqVXEZRPn+RaXIn9pFKq/947FBo2bCRwK7ZluEVZOy99a4IQyqsjbKEpAiOXCccOHQ==", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "execa": "^4.0.3", - "is-absolute": "^1.0.0" + "ms": "2.0.0" } }, - "node_modules/is-git-repository/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/is-git-repository/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "pump": "^3.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/is-git-repository/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=8.12.0" + "node": ">=0.10.0" } }, - "node_modules/is-git-repository/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-git-repository/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "peer": true, "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "peer": true, "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "peer": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-path-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", - "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "extend-shallow": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "figgy-pudding": "^3.5.1" } }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { - "is-unc-path": "^1.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "peer": true, "dependencies": { - "protocols": "^2.0.1" + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "text-extensions": "^1.0.0" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "peer": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/is-unc-path": { + "node_modules/stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, "dependencies": { - "unc-path-regex": "^0.1.2" + "internal-slot": "^1.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/issue-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", - "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "peer": true, "dependencies": { - "lodash.capitalize": "^4.2.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.uniqby": "^4.7.0" - }, - "engines": { - "node": ">=10.13" + "safe-buffer": "~5.1.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, + "node_modules/stream-read-all": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", - "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", - "dev": true, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" + "safe-buffer": "~5.2.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { - "semver": "^7.5.3" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/iterate-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", - "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, - "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/iterate-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, - "peer": true, "dependencies": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "dependencies": { + "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jackspeak": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": ">=8" } }, - "node_modules/jest": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", - "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", - "dev": true, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "@jest/core": "^29.6.4", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.6.4" - }, - "bin": { - "jest": "bin/jest.js" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=8" } }, - "node_modules/jest-changed-files": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", - "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.6.3", - "p-limit": "^3.1.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-circus": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", - "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.3", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "is-natural-number": "^4.0.1" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "node_modules/jest-cli": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", - "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", - "dev": true, + "node_modules/table-layout": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "dependencies": { - "@jest/core": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" }, "bin": { - "jest": "bin/jest.js" + "table-layout": "bin/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=12.17" } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, + "node_modules/table-layout/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", "engines": { - "node": ">=12" + "node": ">=12.17" } }, - "node_modules/jest-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "node_modules/table-layout/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { - "node": ">=8" + "node": ">=12.17" } }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=6" } }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "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" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/jest-config": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", - "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", - "dev": true, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.4", - "@jest/types": "^29.6.3", - "babel-jest": "^29.6.4", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.4", - "jest-environment-node": "^29.6.4", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "webpack": "^5.1.0" }, "peerDependenciesMeta": { - "@types/node": { + "@swc/core": { "optional": true }, - "ts-node": { + "esbuild": { + "optional": true + }, + "uglify-js": { "optional": true } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-config/node_modules/glob": { + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", @@ -14046,2198 +11984,2063 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "setimmediate": "^1.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.6.0" } }, - "node_modules/jest-config/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "node_modules/jest-diff": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", - "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "kind-of": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-docblock": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", - "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.0" } }, - "node_modules/jest-each": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", - "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.6.3", - "pretty-format": "^29.6.3" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 4.0.0" } }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "punycode": "^2.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/jest-each/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-environment-jsdom": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", - "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3", - "jsdom": "^20.0.0" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "canvas": "^2.5.0" + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" }, "peerDependenciesMeta": { - "canvas": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { "optional": true } } }, - "node_modules/jest-environment-node": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", - "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/jest-haste-map": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", - "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", + "node_modules/ts-loader": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.0.0" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" } }, - "node_modules/jest-leak-detector": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", - "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", + "node_modules/ts-loader-webpack-4": { + "name": "ts-loader", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "typescript": "*", + "webpack": "*" } }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/ts-loader-webpack-4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/jest-matcher-utils": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", - "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", + "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.4", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-message-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", - "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", + "node_modules/ts-loader-webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "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.6.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "tslib": "^1.8.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, - "node_modules/jest-mock": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", - "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.6.3" + "prelude-ls": "^1.2.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "node": ">=4" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", - "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", - "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.6.4" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", - "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, "dependencies": { - "@jest/console": "^29.6.4", - "@jest/environment": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.6.3", - "jest-environment-node": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-leak-detector": "^29.6.3", - "jest-message-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-util": "^29.6.3", - "jest-watcher": "^29.6.4", - "jest-worker": "^29.6.4", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", - "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/globals": "^29.6.4", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, - "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" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=14.17" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { + "node_modules/typical": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "engines": { "node": ">=8" } }, - "node_modules/jest-snapshot": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", - "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.4", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.4", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.3", - "semver": "^7.5.3" - }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "*" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "buffer": "^5.2.1", + "through": "^2.3.8" } }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "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" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-validate": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", - "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "unique-slug": "^2.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "imurmurhash": "^0.1.4" } }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-watcher": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", - "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "dependencies": { - "@jest/test-result": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.3", - "string-length": "^4.0.1" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-worker": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.6.3", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "isarray": "1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/jetifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-2.0.0.tgz", - "integrity": "sha512-J4Au9KuT74te+PCCCHKgAjyLlEa+2VyIAEPNCdE5aNkAJ6FAJcAqcdzEkSnzNksIa9NkGmC4tPiClk2e7tCJuQ==", + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, "bin": { - "jetifier": "bin/jetify", - "jetifier-standalone": "bin/jetifier-standalone", - "jetify": "bin/jetify" + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", - "dev": true, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "punycode": "^2.1.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/url": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "punycode": "^1.4.1", + "qs": "^6.11.0" } }, - "node_modules/jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", - "dev": true + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } }, - "node_modules/jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jscodeshift/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "peer": true, "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=14" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" }, "peerDependencies": { - "canvas": "^2.5.0" + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "canvas": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { "optional": true } } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "peer": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "xml-name-validator": "^4.0.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=14" } }, - "node_modules/jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, "dependencies": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" - }, - "engines": { - "node": ">=8" + "makeerror": "1.0.12" } }, - "node_modules/jsonc/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/jsonc/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, + "optional": true, "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "optional": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", - "dev": true, - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" + "node": ">=0.10.0" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "peer": true, + "optional": true, "dependencies": { - "package-json": "^8.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dependencies": { - "readable-stream": "^2.0.5" + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">= 0.6.3" + "node": ">=0.10.0" } }, - "node_modules/lazystream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "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" + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" } }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, "dependencies": { - "safe-buffer": "~5.1.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "node_modules/leven": { + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, + "optional": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "binary-extensions": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "optional": true, "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "optional": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/load-json-file/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "optional": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "engines": { - "node": ">=8.9.0" + "node": ">=0.10" } }, - "node_modules/loader-utils/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "optional": true, "dependencies": { - "p-locate": "^5.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.capitalize": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", - "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", - "dev": true, - "peer": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" - }, - "node_modules/lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", - "dev": true, - "peer": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true, - "peer": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "dev": true - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" - }, - "node_modules/lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "peer": true + "engines": { + "node": ">=12" + } }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "node_modules/webpack-4": { + "name": "webpack", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" }, "bin": { - "logkitty": "bin/logkitty.js" + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "node_modules/logkitty/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/logkitty/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, - "node_modules/logkitty/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/logkitty/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/logkitty/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@xtuc/long": "4.2.2" } }, - "node_modules/logkitty/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true }, - "node_modules/logkitty/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/logkitty/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/logkitty/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/logkitty/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "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" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/logkitty/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "node_modules/webpack-4/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "node_modules/webpack-4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, "engines": { - "node": "14 || >=16.14" + "node": ">=0.10.0" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "bin": { - "lz-string": "bin/bin.js" + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/macos-release": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.2.0.tgz", - "integrity": "sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==", + "node_modules/webpack-4/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "dependencies": { - "pify": "^3.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/webpack-4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/webpack-4/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { - "tmpl": "1.0.5" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "node_modules/webpack-4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "node_modules/webpack-4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "object-visit": "^1.0.0" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", - "dev": true - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/memory-fs/node_modules/isarray": { + "node_modules/webpack-4/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/webpack-4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/meow/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/webpack-4/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/meow/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/webpack-4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/meow/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "node_modules/webpack-4/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "randombytes": "^2.1.0" } }, - "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "safe-buffer": "~5.1.0" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/metro": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", - "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", + "node_modules/webpack-4/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" }, "bin": { - "metro": "src/cli.js" + "terser": "bin/terser" }, "engines": { - "node": ">=16" + "node": ">=6.0.0" } }, - "node_modules/metro-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", - "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", + "node_modules/webpack-4/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", - "nullthrows": "^1.1.1" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">=16" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/metro-cache": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", - "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "node_modules/webpack-4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "metro-core": "0.76.7", - "rimraf": "^3.0.2" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=16" + "node": ">=0.10.0" } }, - "node_modules/metro-cache-key": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", - "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", + "node_modules/webpack-4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, - "engines": { - "node": ">=16" + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "node_modules/metro-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/webpack-4/node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, + "peer": true, "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" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": "*" + "node": ">=6.11.5" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "node_modules/metro-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/webpack-4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" }, "bin": { - "rimraf": "bin.js" + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/metro-config": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", - "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "node_modules/webpack-cli/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" - }, "engines": { - "node": ">=16" + "node": ">=14" } }, - "node_modules/metro-config/node_modules/metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "node_modules/webpack-cli/node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - }, "engines": { - "node": ">=16" + "node": ">=10.13.0" } }, - "node_modules/metro-core": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", - "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "node_modules/webpack-cli/node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" + "resolve": "^1.20.0" }, "engines": { - "node": ">=16" + "node": ">= 10.13.0" } }, - "node_modules/metro-file-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", - "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" }, "engines": { - "node": ">=16" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=10.0.0" } }, - "node_modules/metro-file-map/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" } }, - "node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/webpack-sources-webpack-4": { + "name": "webpack-sources", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "node_modules/metro-file-map/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "node_modules/webpack-sources-webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/metro-file-map/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "iconv-lite": "0.6.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" } }, - "node_modules/metro-file-map/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=0.10.0" } }, - "node_modules/metro-file-map/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } }, - "node_modules/metro-file-map/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=12" } }, - "node_modules/metro-inspector-proxy": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", - "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", - "dev": true, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" + "isexe": "^2.0.0" }, "bin": { - "metro-inspector-proxy": "src/cli.js" + "node-which": "bin/node-which" }, "engines": { - "node": ">=16" + "node": ">= 8" } }, - "node_modules/metro-inspector-proxy/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "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" }, - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/metro-inspector-proxy/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, "dependencies": { - "ms": "2.0.0" + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/metro-inspector-proxy/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/metro-inspector-proxy/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "node_modules/metro-inspector-proxy/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/metro-inspector-proxy/node_modules/wrap-ansi": { + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -16250,24062 +14053,6354 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/metro-inspector-proxy/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/metro-inspector-proxy/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "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" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/metro-inspector-proxy/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/metro-minify-terser": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", - "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", - "dev": true, - "dependencies": { - "terser": "^5.15.0" - }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { - "node": ">=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/metro-minify-uglify": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", - "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", - "dev": true, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "uglify-es": "^3.1.9" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/metro-react-native-babel-preset": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", - "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.4.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@babel/core": "*" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/metro-react-native-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", - "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, - "dependencies": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">=16" + "node": ">=10.0.0" }, "peerDependencies": { - "@babel/core": "*" + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/metro-resolver": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", - "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/metro-runtime": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", - "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - }, "engines": { - "node": ">=16" + "node": ">=0.4" } }, - "node_modules/metro-source-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", - "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", - "nullthrows": "^1.1.1", - "ob1": "0.76.8", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - }, "engines": { - "node": ">=16" + "node": ">=10" } }, - "node_modules/metro-source-map/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/metro-source-map/node_modules/metro-symbolicate": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", - "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.8", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" - }, - "engines": { - "node": ">=16" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "node_modules/metro-source-map/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "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" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/metro-source-map/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, + "node_modules/zip-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "dependencies": { - "safe-buffer": "~5.1.0" + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" } }, - "node_modules/metro-source-map/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, + "packages/browser": { + "name": "@backtrace-labs/browser", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "ua-parser-js": "^1.0.35" + }, + "devDependencies": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, - "node_modules/metro-symbolicate": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", - "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", - "dev": true, + "packages/node": { + "name": "@backtrace-labs/node", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.7", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" + "@backtrace-labs/sdk-core": "^0.0.1", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" }, - "bin": { - "metro-symbolicate": "src/index.js" + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" }, "engines": { - "node": ">=16" + "node": ">=14" } }, - "node_modules/metro-symbolicate/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "packages/node/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.1", + "resolved": "https://packagecloud.io/backtrace/internal/npm/@backtrace-labs/sdk-core/-/sdk-core-0.0.1.tgz", + "integrity": "sha1-R16/y7qP6yYz6dIbMu7LDxWV0NY=" }, - "node_modules/metro-symbolicate/node_modules/metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "packages/react": { + "name": "@backtrace-labs/react", + "version": "0.0.1", + "license": "MIT", + "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" }, - "engines": { - "node": ">=16" - } - }, - "node_modules/metro-symbolicate/node_modules/ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", - "dev": true, - "engines": { - "node": ">=16" + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/metro-symbolicate/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, + "packages/react-native": { + "name": "@backtrace-labs/react-native", + "version": "0.0.1", + "extraneous": true, + "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/metro-symbolicate/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, + "@backtrace-labs/react": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.1" + }, + "devDependencies": { + "@react-native-community/eslint-config": "^3.0.2", + "@release-it/conventional-changelog": "^5.0.0", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "del-cli": "^5.0.0", + "eslint": "^8.4.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^28.1.1", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/metro-symbolicate/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">= 16.0.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "node_modules/metro-symbolicate/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "packages/sdk-core": { + "name": "@backtrace-labs/sdk-core", + "version": "0.0.2", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "node_modules/metro-transform-plugins": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", - "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", - "dev": true, + "tools/cli": { + "name": "@backtrace-labs/javascript-cli", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + }, + "bin": { + "backtrace-js": "lib/index.js" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2" }, "engines": { - "node": ">=16" + "node": ">=14" } }, - "node_modules/metro-transform-worker": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", - "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", - "dev": true, + "tools/rollup-plugin": { + "name": "@backtrace-labs/rollup-plugin", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", - "nullthrows": "^1.1.1" + "@backtrace-labs/sourcemap-tools": "^0.0.1" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=16" + "node": ">=14" + }, + "peerDependencies": { + "rollup": "^3.26.3" } }, - "node_modules/metro-transform-worker/node_modules/metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "dev": true, + "tools/sourcemap-tools": { + "name": "@backtrace-labs/sourcemap-tools", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "archiver": "^5.3.1", + "source-map": "^0.7.4" + }, + "devDependencies": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=16" - } - }, - "node_modules/metro-transform-worker/node_modules/ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/metro-transform-worker/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/metro/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "tools/vite-plugin": { + "name": "@backtrace-labs/vite-plugin", + "version": "0.0.1", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "@backtrace-labs/rollup-plugin": "^0.0.1" + }, + "devDependencies": { + "typescript": "^5.0.4" }, "engines": { - "node": ">=12" + "node": ">=14" + }, + "peerDependencies": { + "vite": "^4.4.9" } }, - "node_modules/metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/metro/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "tools/webpack-plugin": { + "name": "@backtrace-labs/webpack-plugin", + "version": "0.0.1", + "license": "MIT", "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" - }, - "engines": { - "node": "*" + "@backtrace-labs/sourcemap-tools": "^0.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/metro/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/metro/node_modules/metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "node": ">=14" }, - "engines": { - "node": ">=16" + "peerDependencies": { + "webpack": "^5.85.0 || ^4.46.0" } - }, - "node_modules/metro/node_modules/metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + } + }, + "dependencies": { + "@75lb/deep-merge": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "requires": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" }, - "engines": { - "node": ">=16" + "dependencies": { + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } } }, - "node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, - "node_modules/metro/node_modules/ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, - "engines": { - "node": ">=16" + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/metro/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "requires": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true }, - "node_modules/metro/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "@babel/core": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", + "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.11", + "@babel/parser": "^7.22.11", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, - "engines": { - "node": ">=8" + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/metro/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "requires": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, - "node_modules/metro/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/metro/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } }, - "utf-8-validate": { - "optional": true + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, - "node_modules/metro/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "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" - }, - "engines": { - "node": ">=12" - } + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true }, - "node_modules/metro/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, - "engines": { - "node": ">=12" + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true }, - "node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/types": "^7.22.5" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "@babel/helpers": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", + "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", - "engines": { - "node": ">=16 || 14 >=14.17" + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mississippi/node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/mississippi/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "@babel/parser": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", + "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", "dev": true }, - "node_modules/mississippi/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "dependencies": { - "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" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/mississippi/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/mississippi/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/move-concurrently/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "peer": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/native-reg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "4" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "engines": { - "node": ">= 0.6" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "peer": true, - "engines": { - "node": ">= 0.4.0" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/new-github-release-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", - "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, - "peer": true, - "dependencies": { - "type-fest": "^2.5.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" } }, - "node_modules/new-github-release-url/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", "dev": true, - "peer": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "regenerator-runtime": "^0.14.0" } }, - "node_modules/nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, - "engines": { - "node": ">=12.0.0" + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, - "node_modules/nock": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", + "@babel/traverse": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", + "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", "dev": true, - "dependencies": { + "requires": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@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.11", + "@babel/types": "^7.22.11", "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" + "globals": "^11.1.0" }, - "engines": { - "node": ">= 10.13" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "dev": true - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "dev": true, "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true } - ], - "peer": true, - "engines": { - "node": ">=10.5.0" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "@babel/types": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", + "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "@backtrace-labs/browser": { + "version": "file:packages/browser", + "requires": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "@backtrace-labs/javascript-cli": { + "version": "file:tools/cli", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + } }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, + "@backtrace-labs/node": { + "version": "file:packages/node", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.1", + "@types/jest": "^29.5.1", + "form-data": "^4.0.0", + "jest": "^29.5.0", + "native-reg": "^1.1.1", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "@backtrace-labs/sdk-core": { + "version": "0.0.1", + "resolved": "https://packagecloud.io/backtrace/internal/npm/@backtrace-labs/sdk-core/-/sdk-core-0.0.1.tgz", + "integrity": "sha1-R16/y7qP6yYz6dIbMu7LDxWV0NY=" + } } }, - "node_modules/node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "@backtrace-labs/react": { + "version": "file:packages/react", + "requires": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "@backtrace-labs/rollup-plugin": { + "version": "file:tools/rollup-plugin", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "@backtrace-labs/sdk-core": { + "version": "file:packages/sdk-core", + "requires": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "@backtrace-labs/sourcemap-tools": { + "version": "file:tools/sourcemap-tools", + "requires": { + "@types/archiver": "^5.3.2", + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "archiver": "^5.3.1", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "source-map": "^0.7.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "node_modules/node-libs-browser/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "@backtrace-labs/vite-plugin": { + "version": "file:tools/vite-plugin", + "requires": { + "@backtrace-labs/rollup-plugin": "^0.0.1", + "typescript": "^5.0.4" + } + }, + "@backtrace-labs/webpack-plugin": { + "version": "file:tools/webpack-plugin", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "optional": true, + "peer": true }, - "node_modules/node-libs-browser/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "optional": true, + "peer": true }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "optional": true, + "peer": true }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "dev": true, - "engines": { - "node": ">=0.12.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" - } + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "optional": true, + "peer": true }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "optional": true, + "peer": true }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "optional": true, + "peer": true }, - "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "optional": true, + "peer": true }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "optional": true, + "peer": true }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "optional": true, + "peer": true }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "optional": true, + "peer": true }, - "node_modules/ob1": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", - "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", - "dev": true, - "engines": { - "node": ">=16" - } + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "optional": true, + "peer": true }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "optional": true, + "peer": true }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "optional": true, + "peer": true }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "optional": true, + "peer": true }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "optional": true, + "peer": true }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "optional": true, + "peer": true }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "optional": true, + "peer": true }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "optional": true, + "peer": true }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "optional": true, + "peer": true }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "optional": true, + "peer": true }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "optional": true, + "peer": true }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "optional": true, + "peer": true }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "eslint-visitor-keys": "^3.3.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "@eslint-community/regexpp": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", + "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "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" } }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" } }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } } }, - "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", + "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", "dev": true, - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "slash": "^3.0.0" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "@jest/core": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", + "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", "dev": true, - "dependencies": { - "isobject": "^3.0.1" + "requires": { + "@jest/console": "^29.6.4", + "@jest/reporters": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.6.3", + "jest-config": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-resolve-dependencies": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "jest-watcher": "^29.6.4", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "@jest/environment": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", + "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3" } }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "@jest/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "requires": { + "expect": "^29.6.4", + "jest-snapshot": "^29.6.4" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "@jest/expect-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", + "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "jest-get-type": "^29.6.3" } }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "@jest/fake-timers": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", + "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", "dev": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "@jest/globals": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", + "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", "dev": true, - "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" - }, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/types": "^29.6.3", + "jest-mock": "^29.6.3" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "@jest/reporters": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", + "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "slash": "^3.0.0", + "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" + "v8-to-istanbul": "^9.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + } } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "node_modules/os-name": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-5.1.0.tgz", - "integrity": "sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==", + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, - "peer": true, - "dependencies": { - "macos-release": "^3.1.0", - "windows-release": "^5.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@sinclair/typebox": "^0.27.8" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" } }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "@jest/test-result": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", + "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=12.20" + "requires": { + "@jest/console": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "@jest/test-sequencer": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", + "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@jest/test-result": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "slash": "^3.0.0" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "@jest/transform": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", + "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } } }, - "node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@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" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/pac-proxy-agent": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.4.tgz", - "integrity": "sha512-FbJYeusBOZNe6bmrC2/+r/HljwExryon16lNKEU82gWiwIPMCEktUPSEAcTkO9K3jd/YPGuX/azZel1ltmo6nQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "pac-resolver": "^6.0.1", - "socks-proxy-agent": "^8.0.1" - }, - "engines": { - "node": ">= 14" - } + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" }, - "node_modules/pac-proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "peer": true, - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, - "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", - "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "node_modules/pac-resolver": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-6.0.2.tgz", - "integrity": "sha512-EQpuJ2ifOjpZY5sg1Q1ZeAxvtLwR7Mj3RgY8cysPGbsRu3RBXyJFWxnMus9PScjxya/0LzvVDxNh/gl0eXBU4w==", - "dev": true, - "peer": true, - "dependencies": { - "degenerator": "^4.0.4", - "ip": "^1.1.8", - "netmask": "^2.0.2" - }, - "engines": { - "node": ">= 14" + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "peer": true, - "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "node_modules/parallel-transform/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "@reduxjs/toolkit": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", + "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "requires": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" } }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "@rollup/plugin-typescript": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", + "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "@rollup/pluginutils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "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" - } + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "type-detect": "4.0.8" } }, - "node_modules/parse-path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", - "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "peer": true, - "dependencies": { - "protocols": "^2.0.0" + "requires": { + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/parse-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", - "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", "dev": true, - "peer": true, - "dependencies": { - "parse-path": "^7.0.0" + "requires": { + "@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" } }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@types/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, - "engines": { - "node": ">= 0.8" + "requires": { + "@types/readdir-glob": "*" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", "dev": true }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, - "optional": true + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/types": "^7.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" + "@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "@types/command-line-args": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", + "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", "dev": true }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "@types/command-line-usage": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", + "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", + "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@types/node": "*" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" + "@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "requires": { + "@types/node": "*" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@types/istanbul-lib-report": "*" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "@types/jest": { + "version": "29.5.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", + "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", "dev": true, - "dependencies": { - "pinkie": "^2.0.0" + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, - "engines": { - "node": ">= 6" + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "@types/node": { + "version": "14.18.56", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", + "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@types/react": "*" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "@types/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "requires": { + "@types/node": "*" } }, - "node_modules/pod-install": { - "version": "0.1.38", - "resolved": "https://registry.npmjs.org/pod-install/-/pod-install-0.1.38.tgz", - "integrity": "sha512-NeDWGigjJRriOIKBOvpW2/tK2tYLfyUT7ia6C6L+oarCAhBNP+IGODWdU+GEAqvfsseqOApcFclpXAJTL0UPzA==", + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "@types/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", + "dev": true + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, - "bin": { - "pod-install": "build/index.js" + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@types/yargs-parser": "*" } }, - "node_modules/postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@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" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dev": true, - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true }, - "node_modules/promise.allsettled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.6.tgz", - "integrity": "sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==", + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, - "peer": true, - "dependencies": { - "array.prototype.map": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "iterate-value": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@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" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" + "requires": { + "@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" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true, - "engines": { - "node": ">= 8" + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true, - "peer": true + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, - "node_modules/protocols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", - "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", - "dev": true, - "peer": true + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, - "node_modules/proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.2.1.tgz", - "integrity": "sha512-OIbBKlRAT+ycCm6wAYIzMwPejzRtjy8F3QiDX0eKOA3e4pe3U9F/IvzcHP42bmgQxVv97juG+J8/gx+JIeCX/Q==", + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^6.0.3", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.1" + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" }, - "engines": { - "node": ">= 14" + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + } } }, - "node_modules/proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, - "peer": true, - "dependencies": { - "debug": "^4.3.4" + "requires": { + "@webassemblyjs/ast": "1.9.0" }, - "engines": { - "node": ">= 14" + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } } }, - "node_modules/proxy-agent/node_modules/http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", - "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "peer": true + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "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" + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + }, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + } } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, - "peer": true, - "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "requires": {} }, - "node_modules/pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] + "requires": {} }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } + "requires": {} }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, - "dependencies": { - "inherits": "~2.0.3" + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "requires": {} }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } + "requires": {} }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "engines": { - "node": ">= 0.6" + "requires": { + "debug": "4" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "peer": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } + "requires": {} }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} }, - "node_modules/react-devtools-core": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", - "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } } }, - "node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "node_modules/react-native": { - "version": "0.72.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", - "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", - "dev": true, - "dependencies": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", - "@react-native/gradle-plugin": "^0.72.11", - "@react-native/js-polyfills": "^0.72.1", - "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.8", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.5", - "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.27.2", - "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "18.2.0" + "archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" } }, - "node_modules/react-native-builder-bob": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/react-native-builder-bob/-/react-native-builder-bob-0.21.3.tgz", - "integrity": "sha512-ZlEXWzgIRfRvQEDEYnoTeJ2og5zDbORB0BMGzpE34TxO22+DZeXH4yFYUtZLrUxvUi5WVo/1V2sVjjnUNZL85Q==", - "dev": true, - "dependencies": { - "@babel/core": "^7.18.5", - "@babel/plugin-proposal-class-properties": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-flow": "^7.17.12", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "browserslist": "^4.20.4", - "cosmiconfig": "^7.0.1", - "cross-spawn": "^7.0.3", - "dedent": "^0.7.0", - "del": "^6.1.1", - "fs-extra": "^10.1.0", - "glob": "^8.0.3", - "is-git-dirty": "^2.0.1", - "json5": "^2.2.1", - "kleur": "^4.1.4", - "prompts": "^2.4.2", - "which": "^2.0.2", - "yargs": "^17.5.1" - }, - "bin": { - "bob": "bin/bob" - }, - "engines": { - "node": ">= 16.0.0" + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, - "optionalDependencies": { - "jetifier": "^2.0.0" - } - }, - "node_modules/react-native-builder-bob/node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/react-native-builder-bob/node_modules/brace-expansion": { + "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, - "node_modules/react-native-builder-bob/node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-native-builder-bob/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-native-builder-bob/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "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" - }, - "engines": { - "node": ">=10" + "requires": { + "deep-equal": "^2.0.5" } }, - "node_modules/react-native-builder-bob/node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, - "node_modules/react-native-builder-bob/node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, - "node_modules/react-native-builder-bob/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, - "node_modules/react-native-builder-bob/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" }, - "node_modules/react-native-builder-bob/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" } }, - "node_modules/react-native-builder-bob/node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" } }, - "node_modules/react-native-builder-bob/node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true }, - "node_modules/react-native-builder-bob/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "node_modules/react-native-builder-bob/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" } }, - "node_modules/react-native-builder-bob/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" } }, - "node_modules/react-native-builder-bob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" } }, - "node_modules/react-native-builder-bob/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, - "node_modules/react-native-builder-bob/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, - "node_modules/react-native-builder-bob/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "optional": true }, - "node_modules/react-native-builder-bob/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/react-native-builder-bob/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, - "node_modules/react-native-builder-bob/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true }, - "node_modules/react-native-builder-bob/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "babel-jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", + "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", "dev": true, - "engines": { - "node": ">= 10.0.0" + "requires": { + "@jest/transform": "^29.6.4", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" } }, - "node_modules/react-native-builder-bob/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/react-native-builder-bob/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "engines": { - "node": ">= 6" + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" } }, - "node_modules/react-native-builder-bob/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=12" + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" } }, - "node_modules/react-native-builder-bob/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "engines": { - "node": ">=12" + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" } }, - "node_modules/react-native/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/react-native/node_modules/@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, "dependencies": { - "@types/yargs-parser": "*" + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } } }, - "node_modules/react-native/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "node_modules/react-native/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "node_modules/react-native/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/react-native/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "optional": true }, - "node_modules/react-native/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, - "dependencies": { - "loose-envify": "^1.1.0" + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" } }, - "node_modules/react-native/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/react-native/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, - "node_modules/react-native/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/react-native/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=12" + "requires": { + "fill-range": "^7.0.1" } }, - "node_modules/react-native/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "engines": { - "node": ">=12" + "requires": { + "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" } }, - "node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "requires": { + "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" }, - "engines": { - "node": ">=4" + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "pako": "~1.0.5" } }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "fast-json-stable-stringify": "2.x" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" + "requires": { + "node-int64": "^0.4.0" } }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true, - "engines": { - "node": ">=4" + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true }, - "node_modules/read-pkg/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dependencies": { - "minimatch": "^5.1.0" - } + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, "dependencies": { - "balanced-match": "^1.0.0" + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, - "node_modules/readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "dev": true, - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001522", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", + "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "requires": { + "chalk": "^4.1.2" } }, - "node_modules/recast/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, - "peer": true, - "dependencies": { - "resolve": "^1.1.6" + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "node_modules/redent/node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.9.2" - } + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true }, - "node_modules/redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, - "peerDependencies": { - "redux": "^4" + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "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" - }, - "engines": { - "node": ">=4" + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" } }, - "node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dev": true, - "peer": true, - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, - "engines": { - "node": ">=14" + "command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "requires": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" } }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "dev": true, - "peer": true, - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" + "command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "requires": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + }, + "typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + } } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, - "node_modules/release-it": { - "version": "15.11.0", - "resolved": "https://registry.npmjs.org/release-it/-/release-it-15.11.0.tgz", - "integrity": "sha512-lZwoGEnKYKwGnfxxlA7vtR7vvozPrOSsIgQaHO4bgQ5ARbG3IA6Dmo0IVusv6nR1KmnjH70QIeNAgsWs6Ji/tw==", - "dev": true, - "peer": true, - "dependencies": { - "@iarna/toml": "2.2.5", - "@octokit/rest": "19.0.11", - "async-retry": "1.3.3", - "chalk": "5.2.0", - "cosmiconfig": "8.1.3", - "execa": "7.1.1", - "git-url-parse": "13.1.0", - "globby": "13.1.4", - "got": "12.6.1", - "inquirer": "9.2.6", - "is-ci": "3.0.1", - "issue-parser": "6.0.0", - "lodash": "4.17.21", - "mime-types": "2.1.35", - "new-github-release-url": "2.0.0", - "node-fetch": "3.3.1", - "open": "9.1.0", - "ora": "6.3.1", - "os-name": "5.1.0", - "promise.allsettled": "1.0.6", - "proxy-agent": "6.2.1", - "semver": "7.5.1", - "shelljs": "0.8.5", - "update-notifier": "6.0.2", - "url-join": "5.0.0", - "wildcard-match": "5.1.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "release-it": "bin/release-it.js" - }, - "engines": { - "node": ">=14.9" - } + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, - "node_modules/release-it/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "compress-commons": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" } }, - "node_modules/release-it/node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/release-it/node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "peer": true, - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, - "node_modules/release-it/node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", - "dev": true, - "peer": true, - "dependencies": { - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - } + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, - "node_modules/release-it/node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 12" - } + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, - "node_modules/release-it/node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "node_modules/release-it/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true }, - "node_modules/release-it/node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "dev": true, - "peer": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/release-it/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=14.18.0" - } + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" }, - "node_modules/release-it/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "peer": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "requires": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" } }, - "node_modules/release-it/node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, - "node_modules/release-it/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/release-it/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/release-it/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "peer": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "node_modules/release-it/node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "peer": true, - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "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" } }, - "node_modules/release-it/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" + "requires": { + "cssom": "~0.3.6" }, - "engines": { - "node": ">=10" + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } } }, - "node_modules/release-it/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" } }, - "node_modules/release-it/node_modules/node-fetch": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", - "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "peer": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "requires": { + "ms": "2.1.2" } }, - "node_modules/release-it/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, - "peer": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" } }, - "node_modules/release-it/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, - "peer": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } } }, - "node_modules/release-it/node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, - "peer": true, - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } } }, - "node_modules/release-it/node_modules/ora": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", - "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, - "peer": true, - "dependencies": { - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" } }, - "node_modules/release-it/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true + } } }, - "node_modules/release-it/node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "peer": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/release-it/node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } + "requires": {} }, - "node_modules/release-it/node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, - "peer": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "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" } }, - "node_modules/release-it/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, - "node_modules/release-it/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "peer": true + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true }, - "node_modules/release-it/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, - "node_modules/release-it/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" } }, - "node_modules/release-it/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "node_modules/release-it/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "optional": true + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "engines": { - "node": ">=0.10" + "requires": { + "path-type": "^4.0.0" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "esutils": "^2.0.2" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, - "node_modules/reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, - "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "webidl-conversions": "^7.0.0" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, - "peer": true - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "electron-to-chromium": { + "version": "1.4.500", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", + "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "node_modules/responselike": { + "emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dev": true, - "peer": true, - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, - "engines": { - "node": ">=0.12" + "requires": { + "prr": "~1.0.1" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 4" + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "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.10", + "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.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "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.10" } }, - "node_modules/rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, - "dependencies": { - "glob": "^10.2.5" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "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" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" } }, - "node_modules/rollup": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", - "peer": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" } }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "peer": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "peer": true, - "engines": { - "node": ">=0.12.0" + "requires": { + "@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" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true }, - { - "type": "consulting", - "url": "https://feross.org/support" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true } - ], - "dependencies": { - "queue-microtask": "^1.2.2" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@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" + }, "dependencies": { - "aproba": "^1.1.1" + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "peer": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, "dependencies": { - "tslib": "^2.1.0" + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, - "peer": true + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" + "requires": { + "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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "dependencies": { - "ret": "~0.1.10" + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" + "requires": { + "estraverse": "^5.1.0" }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dev": true, - "peer": true, "dependencies": { - "loose-envify": "^1.1.0" + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dev": true, "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } } }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, - "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "dev": true, - "peer": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { - "ms": "2.0.0" + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, - "bin": { - "mime": "cli.js" + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } } }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", "dev": true, - "engines": { - "node": ">= 0.8" + "requires": { + "@jest/expect-utils": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3" } }, - "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, "dependencies": { - "randombytes": "^2.1.0" + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, - "engines": { - "node": ">= 0.8.0" + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "reusify": "^1.0.4" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "bser": "2.1.1" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "pend": "~1.2.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } + "optional": true }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" + "requires": { + "to-regex-range": "^5.0.1" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } } }, - "node_modules/shebang-regex": { + "find-replace": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "requires": { + "array-back": "^3.0.1" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, - "engines": { - "node": ">=4" + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "peer": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "dependencies": { - "color-name": "1.1.3" + "requires": { + "is-callable": "^1.1.3" } }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "map-cache": "^0.2.2" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/snapdragon-node/node_modules/define-property": { + "fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, - "dependencies": { - "kind-of": "^3.2.0" + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "is-glob": "^4.0.3" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "type-fest": "^0.20.2" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "define-properties": "^1.1.3" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "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" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "get-intrinsic": "^1.1.3" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "function-bind": "^1.1.1" } }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, - "peer": true, - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true }, - "node_modules/socks-proxy-agent": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz", - "integrity": "sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.0.1", - "debug": "^4.3.4", - "socks": "^2.7.1" - }, - "engines": { - "node": ">= 14" - } + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, - "peer": true, - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" + "requires": { + "get-intrinsic": "^1.1.1" } }, - "node_modules/socks/node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true, - "peer": true + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" } }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "peer": true, - "engines": { - "node": ">=0.10.0" + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "requires": { + "whatwg-encoding": "^2.0.0" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" + "requires": { + "agent-base": "6", + "debug": "4" } }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dev": true, - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "dev": true, - "engines": { - "node": ">=8" + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "kind-of": "^6.0.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "has-bigints": "^1.0.1" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, - "engines": { - "node": ">= 0.6" + "requires": { + "has": "^1.0.3" } }, - "node_modules/stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, - "peer": true, - "dependencies": { - "bl": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "kind-of": "^6.0.0" } }, - "node_modules/stdin-discarder/node_modules/bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "peer": true, - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "requires": { + "has-tostringtag": "^1.0.0" } }, - "node_modules/stdin-discarder/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" + "requires": { + "is-plain-object": "^2.0.4" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "requires": { + "is-extglob": "^2.1.1" } }, - "node_modules/stream-browserify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "requires": { + "has-tostringtag": "^1.0.0" } }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "isobject": "^3.0.1" } }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "requires": { + "call-bind": "^1.0.2" } }, - "node_modules/stream-http/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "dependencies": { - "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" + "requires": { + "has-tostringtag": "^1.0.0" } }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "requires": { + "has-symbols": "^1.0.2" } }, - "node_modules/stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", - "engines": { - "node": ">=10" + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "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" - }, - "engines": { - "node": ">=8" - } + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "istanbul-lib-instrument": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", + "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + } } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "jackspeak": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", + "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true - }, - "node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", - "dev": true - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", - "dependencies": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "bin": { - "table-layout": "bin/cli.js" - }, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dev": true, - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/temp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "peer": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader-webpack-4": { - "name": "ts-loader", - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "*" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "peer": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", - "dev": true, - "dependencies": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uglify-es/node_modules/commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "node_modules/uglify-es/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "dev": true, - "peer": true, - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true, - "peer": true - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "dev": true, - "peer": true, - "dependencies": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", - "dev": true, - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.0" - } - }, - "node_modules/url-join": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", - "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "dev": true, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", - "peer": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/vm2": { - "version": "3.9.19", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz", - "integrity": "sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==", - "deprecated": "The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm.", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" - }, - "bin": { - "vm2": "bin/vm2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "optional": true - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-4": { - "name": "webpack", - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack-4/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-4/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/webpack-4/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-4/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/webpack-4/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/webpack-4/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-4/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/webpack-4/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-4/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/webpack-4/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/webpack-4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-4/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/webpack-4/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/webpack-4/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-4/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/webpack-4/node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-4/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/webpack-cli/node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-cli/node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-sources-webpack-4": { - "name": "webpack-sources", - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources-webpack-4/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.6.17", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", - "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==", - "dev": true - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dev": true, - "peer": true, - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/wildcard-match": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz", - "integrity": "sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==", - "dev": true, - "peer": true - }, - "node_modules/windows-release": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-5.1.1.tgz", - "integrity": "sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==", - "dev": true, - "peer": true, - "dependencies": { - "execa": "^5.1.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, - "node_modules/wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zip-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "packages/browser": { - "name": "@backtrace-labs/browser", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "ua-parser-js": "^1.0.35" - }, - "devDependencies": { - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "packages/node": { - "name": "@backtrace-labs/node", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.1", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "packages/react": { - "name": "@backtrace-labs/react", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "packages/react-native": { - "name": "@backtrace-labs/react-native", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace-labs/react": "^0.0.1", - "@backtrace-labs/sdk-core": "^0.0.1" - }, - "devDependencies": { - "@react-native-community/eslint-config": "^3.0.2", - "@release-it/conventional-changelog": "^5.0.0", - "@types/react": "~17.0.21", - "@types/react-native": "0.70.0", - "del-cli": "^5.0.0", - "eslint": "^8.4.1", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^28.1.1", - "pod-install": "^0.1.0", - "prettier": "^2.0.5", - "react": "18.2.0", - "react-native": "0.72.4", - "react-native-builder-bob": "^0.21.3", - "typescript": "^5.0.2" - }, - "engines": { - "node": ">= 16.0.0" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "packages/react-native/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "packages/react-native/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", - "dev": true, - "dependencies": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", - "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "packages/react-native/node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.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" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "packages/react-native/node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "packages/react-native/node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "packages/react-native/node_modules/@types/react": { - "version": "17.0.65", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", - "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "packages/react-native/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", - "dev": true, - "dependencies": { - "@jest/transform": "^28.1.3", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "packages/react-native/node_modules/babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^28.1.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "packages/react-native/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "packages/react-native/node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "packages/react-native/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "packages/react-native/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "packages/react-native/node_modules/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "packages/react-native/node_modules/jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", - "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", - "import-local": "^3.0.2", - "jest-cli": "^28.1.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "packages/react-native/node_modules/jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", - "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "packages/react-native/node_modules/jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "packages/react-native/node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "packages/react-native/node_modules/jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", - "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/react-native/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "packages/react-native/node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "packages/react-native/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "packages/react-native/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "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" - }, - "engines": { - "node": ">=12" - } - }, - "packages/react-native/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "packages/sdk-core": { - "name": "@backtrace-labs/sdk-core", - "version": "0.0.1", - "license": "MIT", - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "tools/cli": { - "name": "@backtrace-labs/javascript-cli", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "bin": { - "backtrace-js": "lib/index.js" - }, - "devDependencies": { - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "tools/rollup-plugin": { - "name": "@backtrace-labs/rollup-plugin", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "^3.26.3" - } - }, - "tools/sourcemap-tools": { - "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "archiver": "^5.3.1", - "source-map": "^0.7.4" - }, - "devDependencies": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - } - }, - "tools/vite-plugin": { - "name": "@backtrace-labs/vite-plugin", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace-labs/rollup-plugin": "^0.0.1" - }, - "devDependencies": { - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "vite": "^4.4.9" - } - }, - "tools/webpack-plugin": { - "name": "@backtrace-labs/webpack-plugin", - "version": "0.0.1", - "license": "MIT", - "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "webpack": "^5.85.0 || ^4.46.0" - } - } - }, - "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", - "requires": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" - }, - "dependencies": { - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } - } - }, - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.10", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true - }, - "@babel/core": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", - "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.11", - "@babel/parser": "^7.22.11", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.11", - "@babel/types": "^7.22.11", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/eslint-parser": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.11.tgz", - "integrity": "sha512-YjOYZ3j7TjV8OhLW6NCtyg8G04uStATEUe5eiLuCZaXz2VSDQ3dsAtm2D+TuQyAqNMUK2WacGo0/uma9Pein1w==", - "dev": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", - "dev": true, - "requires": { - "@babel/types": "^7.22.10", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", - "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", - "dev": true, - "requires": { - "@babel/types": "^7.22.10" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.11.tgz", - "integrity": "sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==", - "dev": true, - "requires": { - "@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.5", - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", - "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.10" - } - }, - "@babel/helpers": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", - "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.11", - "@babel/types": "^7.22.11" - } - }, - "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", - "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-export-default-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", - "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.22.5" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "dev": true, - "requires": { - "@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-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "requires": {} - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-default-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", - "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.11.tgz", - "integrity": "sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", - "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@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.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", - "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.11.tgz", - "integrity": "sha512-o2+bg7GDS60cJMgz9jWqRUsWkMzLCxp+jFDeDUT5sjRlAxcJWZ2ylNdI7QQ2+CH5hWu7OnN+Cv3htt7AkSf96g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz", - "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.11.tgz", - "integrity": "sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.11.tgz", - "integrity": "sha512-7X2vGqH2ZKu7Imx0C+o5OysRwtF/wzdCAqmcD1N1v2Ww8CtOSC+p+VoV76skm47DLvBZ8kBFic+egqxM9S/p4g==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", - "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.11.tgz", - "integrity": "sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==", - "dev": true, - "requires": { - "@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-typescript": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", - "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.10", - "@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.10", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.10", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@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.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.10", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@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.10", - "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" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/preset-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", - "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - } - }, - "@babel/preset-typescript": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.11.tgz", - "integrity": "sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.11", - "@babel/plugin-transform-typescript": "^7.22.11" - } - }, - "@babel/register": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", - "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "@babel/runtime": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", - "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", - "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@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.11", - "@babel/types": "^7.22.11", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", - "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@backtrace-labs/browser": { - "version": "file:packages/browser", - "requires": { - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace-labs/javascript-cli": { - "version": "file:tools/cli", - "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - } - }, - "@backtrace-labs/node": { - "version": "file:packages/node", - "requires": { - "@backtrace-labs/sdk-core": "^0.0.1", - "@types/jest": "^29.5.1", - "form-data": "^4.0.0", - "jest": "^29.5.0", - "native-reg": "^1.1.1", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - } - }, - "@backtrace-labs/react": { - "version": "file:packages/react", - "requires": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace-labs/react-native": { - "version": "file:packages/react-native", - "requires": { - "@backtrace-labs/react": "^0.0.1", - "@backtrace-labs/sdk-core": "^0.0.1", - "@react-native-community/eslint-config": "^3.0.2", - "@release-it/conventional-changelog": "^5.0.0", - "@types/react": "~17.0.21", - "@types/react-native": "0.70.0", - "del-cli": "^5.0.0", - "eslint": "^8.4.1", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^28.1.1", - "pod-install": "^0.1.0", - "prettier": "^2.0.5", - "react": "18.2.0", - "react-native": "0.72.4", - "react-native-builder-bob": "^0.21.3", - "typescript": "^5.0.2" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", - "dev": true, - "requires": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" - } - }, - "@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", - "dev": true, - "requires": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" - } - }, - "@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", - "dev": true, - "requires": { - "jest-get-type": "^28.0.2" - } - }, - "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - } - }, - "@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" - } - }, - "@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dev": true, - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", - "dev": true, - "requires": { - "@jest/test-result": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@types/react": { - "version": "17.0.65", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", - "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", - "dev": true, - "requires": { - "@jest/transform": "^28.1.3", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^28.1.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", - "dev": true, - "requires": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", - "dev": true, - "requires": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", - "import-local": "^3.0.2", - "jest-cli": "^28.1.3" - } - }, - "jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", - "dev": true, - "requires": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - } - }, - "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" - } - }, - "jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - } - }, - "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true - }, - "jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", - "dev": true, - "requires": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*" - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true - }, - "jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", - "dev": true, - "requires": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" - } - }, - "jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", - "dev": true, - "requires": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - } - }, - "jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" - } - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dev": true, - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@backtrace-labs/rollup-plugin": { - "version": "file:tools/rollup-plugin", - "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace-labs/sdk-core": { - "version": "file:packages/sdk-core", - "requires": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace-labs/sourcemap-tools": { - "version": "file:tools/sourcemap-tools", - "requires": { - "@types/archiver": "^5.3.2", - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "archiver": "^5.3.1", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace-labs/vite-plugin": { - "version": "file:tools/vite-plugin", - "requires": { - "@backtrace-labs/rollup-plugin": "^0.0.1", - "typescript": "^5.0.4" - } - }, - "@backtrace-labs/webpack-plugin": { - "version": "file:tools/webpack-plugin", - "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "optional": true, - "peer": true - }, - "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "optional": true, - "peer": true - }, - "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "optional": true, - "peer": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "optional": true, - "peer": true - }, - "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "optional": true, - "peer": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "optional": true, - "peer": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "optional": true, - "peer": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "optional": true, - "peer": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "optional": true, - "peer": true - }, - "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "optional": true, - "peer": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", - "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "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": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@hutson/parse-repository-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", - "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", - "dev": true - }, - "@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", - "dev": true, - "peer": true - }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", - "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", - "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", - "dev": true, - "requires": { - "@jest/console": "^29.6.4", - "@jest/reporters": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.6.3", - "jest-config": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-resolve-dependencies": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "jest-watcher": "^29.6.4", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.3", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@jest/create-cache-key-function": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.3.tgz", - "integrity": "sha512-kzSK9XAxtD1kRPJKxsmD0YKw2fyXveP+5ikeQkCYCHeacWW1EGYMTgjDIM/Di4Uhttx7lnHwrNpz2xn+0rTp8g==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3" - } - }, - "@jest/environment": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", - "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.6.3" - } - }, - "@jest/expect": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", - "dev": true, - "requires": { - "expect": "^29.6.4", - "jest-snapshot": "^29.6.4" - } - }, - "@jest/expect-utils": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", - "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3" - } - }, - "@jest/fake-timers": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", - "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" - } - }, - "@jest/globals": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", - "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", - "@jest/types": "^29.6.3", - "jest-mock": "^29.6.3" - } - }, - "@jest/reporters": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", - "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", - "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", - "dev": true, - "requires": { - "@jest/console": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", - "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.4", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", - "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - } - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "requires": { - "@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": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dev": true, - "requires": { - "eslint-scope": "5.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@octokit/auth-token": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", - "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", - "dev": true, - "peer": true - }, - "@octokit/core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", - "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", - "dev": true, - "peer": true, - "requires": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/endpoint": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", - "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", - "dev": true, - "peer": true, - "requires": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "peer": true - } - } - }, - "@octokit/graphql": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", - "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", - "dev": true, - "peer": true, - "requires": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/openapi-types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", - "dev": true, - "peer": true - }, - "@octokit/plugin-paginate-rest": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", - "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", - "dev": true, - "peer": true, - "requires": { - "@octokit/tsconfig": "^1.0.2", - "@octokit/types": "^9.2.3" - } - }, - "@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, - "peer": true, - "requires": {} - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", - "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", - "dev": true, - "peer": true, - "requires": { - "@octokit/types": "^10.0.0" - }, - "dependencies": { - "@octokit/types": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", - "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", - "dev": true, - "peer": true, - "requires": { - "@octokit/openapi-types": "^18.0.0" - } - } - } - }, - "@octokit/request": { - "version": "6.2.8", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", - "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", - "dev": true, - "peer": true, - "requires": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "peer": true - } - } - }, - "@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", - "dev": true, - "peer": true, - "requires": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "@octokit/rest": { - "version": "19.0.11", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", - "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", - "dev": true, - "peer": true, - "requires": { - "@octokit/core": "^4.2.1", - "@octokit/plugin-paginate-rest": "^6.1.2", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^7.1.2" - } - }, - "@octokit/tsconfig": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", - "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", - "dev": true, - "peer": true - }, - "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", - "dev": true, - "peer": true, - "requires": { - "@octokit/openapi-types": "^18.0.0" - } - }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true - }, - "@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "dev": true, - "peer": true - }, - "@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "4.2.10" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true, - "peer": true - } - } - }, - "@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "dev": true, - "peer": true, - "requires": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - } - }, - "@react-native-community/cli": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", - "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", - "dev": true, - "requires": { - "@react-native-community/cli-clean": "11.3.6", - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-doctor": "11.3.6", - "@react-native-community/cli-hermes": "11.3.6", - "@react-native-community/cli-plugin-metro": "11.3.6", - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "@react-native-community/cli-types": "11.3.6", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", - "semver": "^7.5.2" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@react-native-community/cli-clean": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", - "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "prompts": "^2.4.0" - } - }, - "@react-native-community/cli-config": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", - "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "@react-native-community/cli-debugger-ui": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", - "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", - "dev": true, - "requires": { - "serve-static": "^1.13.1" - } - }, - "@react-native-community/cli-doctor": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", - "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", - "dev": true, - "requires": { - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "envinfo": "^7.7.2", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "prompts": "^2.4.0", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "@react-native-community/cli-hermes": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", - "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", - "dev": true, - "requires": { - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" - } - }, - "@react-native-community/cli-platform-android": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", - "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "@react-native-community/cli-platform-ios": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", - "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "@react-native-community/cli-plugin-metro": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", - "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", - "dev": true, - "requires": { - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "readline": "^1.3.0" - }, - "dependencies": { - "metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - } - } - }, - "@react-native-community/cli-server-api": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", - "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", - "dev": true, - "requires": { - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - } - } - }, - "@react-native-community/cli-tools": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", - "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", - "dev": true, - "requires": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3" - } - }, - "@react-native-community/cli-types": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", - "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", - "dev": true, - "requires": { - "joi": "^17.2.1" - } - }, - "@react-native-community/eslint-config": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", - "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", - "dev": true, - "requires": { - "@babel/core": "^7.14.0", - "@babel/eslint-parser": "^7.18.2", - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.30.5", - "@typescript-eslint/parser": "^5.30.5", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-ft-flow": "^2.0.1", - "eslint-plugin-jest": "^26.5.3", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-native": "^4.0.0" - } - }, - "@react-native-community/eslint-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", - "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", - "dev": true - }, - "@react-native/assets-registry": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", - "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==", - "dev": true - }, - "@react-native/codegen": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", - "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "jscodeshift": "^0.14.0", - "nullthrows": "^1.1.1" - } - }, - "@react-native/gradle-plugin": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", - "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==", - "dev": true - }, - "@react-native/js-polyfills": { - "version": "0.72.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", - "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", - "dev": true - }, - "@react-native/normalize-colors": { - "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", - "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==", - "dev": true - }, - "@react-native/virtualized-lists": { - "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", - "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", - "dev": true, - "requires": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - } - }, - "@reduxjs/toolkit": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", - "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", - "dev": true, - "requires": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" - } - }, - "@release-it/conventional-changelog": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-5.1.1.tgz", - "integrity": "sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog": "^3.1.25", - "conventional-recommended-bump": "^6.1.0", - "semver": "7.3.8" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@rollup/plugin-typescript": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" - } - }, - "@rollup/pluginutils": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", - "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - } - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "dev": true, - "peer": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "peer": true, - "requires": { - "defer-to-connect": "^2.0.1" - } - }, - "@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, - "requires": { - "@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/react": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@types/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", - "dev": true, - "requires": { - "@types/readdir-glob": "*" - } - }, - "@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true - }, - "@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true - }, - "@types/decompress": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "dev": true, - "peer": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", - "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/node": { - "version": "14.18.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", - "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true - }, - "@types/react": { - "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", - "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/react-native": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.0.tgz", - "integrity": "sha512-yBN7qJDfs0Vwr34NyfW1SWzalHQoYtpUWf0t4UJY9C5ft58BRr46+r92I0v+l3QX4VNsSRMHVAAWqLLCbIkM+g==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "@types/ua-parser-js": { - "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", - "dev": true - }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "requires": { - "@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/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - } - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - } - } - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - } - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, - "requires": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", - "dev": true - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^4.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "peer": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "peer": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "dev": true, - "requires": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "requires": { - "deep-equal": "^2.0.5" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.5.tgz", - "integrity": "sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - } - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "optional": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "dev": true, - "peer": true, - "requires": { - "retry": "0.13.1" - } - }, - "asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true, - "requires": {} - }, - "babel-jest": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", - "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", - "dev": true, - "requires": { - "@jest/transform": "^29.6.4", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2" - } - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", - "dev": true - }, - "babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-fbjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", - "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", - "dev": true, - "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - } - }, - "babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "basic-ftp": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", - "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", - "dev": true, - "peer": true - }, - "before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true, - "peer": true - }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true, - "peer": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "dev": true, - "peer": true, - "requires": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "dependencies": { - "camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true, - "peer": true - }, - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "peer": true - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "peer": true - } - } - }, - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "peer": true, - "requires": { - "big-integer": "^1.6.44" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "dev": true, - "peer": true, - "requires": { - "run-applescript": "^5.0.0" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "dev": true, - "peer": true - }, - "cacheable-request": { - "version": "10.2.13", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.13.tgz", - "integrity": "sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==", - "dev": true, - "peer": true, - "requires": { - "@types/http-cache-semantics": "^4.0.1", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "peer": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "dev": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "caniuse-lite": { - "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "requires": { - "chalk": "^4.1.2" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true, - "peer": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", - "dev": true, - "requires": { - "escape-string-regexp": "5.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true - } - } - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true, - "peer": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "dev": true - }, - "cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "peer": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "requires": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" - }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } - } - }, - "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - } - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "peer": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "dev": true, - "peer": true, - "requires": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "dependencies": { - "dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "dev": true, - "peer": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "peer": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "peer": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "conventional-changelog": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", - "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", - "dev": true, - "requires": { - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-atom": "^2.0.8", - "conventional-changelog-codemirror": "^2.0.8", - "conventional-changelog-conventionalcommits": "^4.5.0", - "conventional-changelog-core": "^4.2.1", - "conventional-changelog-ember": "^2.0.9", - "conventional-changelog-eslint": "^3.0.9", - "conventional-changelog-express": "^2.0.6", - "conventional-changelog-jquery": "^3.0.11", - "conventional-changelog-jshint": "^2.0.9", - "conventional-changelog-preset-loader": "^2.3.4" - } - }, - "conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-atom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", - "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-codemirror": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", - "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-conventionalcommits": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", - "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, - "conventional-changelog-core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", - "dev": true, - "requires": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" - } - }, - "conventional-changelog-ember": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", - "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-eslint": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", - "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-express": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", - "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-jquery": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", - "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-jshint": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", - "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true - }, - "conventional-changelog-writer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", - "dev": true, - "requires": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } - }, - "conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", - "dev": true, - "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - } - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "core-js-compat": { - "version": "3.32.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz", - "integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==", - "dev": true, - "requires": { - "browserslist": "^4.21.10" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true - } - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", - "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "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": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^1.0.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "peer": true - } - } - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true - }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true - }, - "data-uri-to-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", - "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", - "dev": true, - "peer": true - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - } - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - } - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "peer": true, - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "peer": true - } - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "dev": true - } - } - }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "requires": {} - }, - "deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "dev": true, - "requires": { - "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": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "peer": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "dev": true, - "peer": true, - "requires": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "dependencies": { - "execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "dev": true, - "peer": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "peer": true - }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "peer": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "peer": true - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "peer": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "peer": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "peer": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "peer": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "peer": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "peer": true - } - } - }, - "default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "peer": true, - "requires": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - } - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "peer": true - }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "peer": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "degenerator": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-4.0.4.tgz", - "integrity": "sha512-MTZdZsuNxSBL92rsjx3VFWe57OpRlikyLbcx2B5Dmdv6oScqpMrvpY7zHLMymrUxo3U5+suPUMsNgW/+SZB1lg==", - "dev": true, - "peer": true, - "requires": { - "ast-types": "^0.13.4", - "escodegen": "^1.14.3", - "esprima": "^4.0.1", - "vm2": "^3.9.19" - }, - "dependencies": { - "ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, - "peer": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "peer": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "peer": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "peer": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "peer": true - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true, - "peer": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "del": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", - "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", - "dev": true, - "requires": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", - "is-glob": "^4.0.3", - "is-path-cwd": "^3.0.0", - "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "del-cli": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-5.0.0.tgz", - "integrity": "sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==", - "dev": true, - "requires": { - "del": "^7.0.0", - "meow": "^10.1.3" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "requires": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - } - }, - "decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true - }, - "meow": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", - "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" - } - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, - "read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - } - }, - "read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dev": true, - "requires": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - } - }, - "redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dev": true, - "requires": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - } - }, - "strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "requires": { - "min-indent": "^1.0.1" - } - }, - "trim-newlines": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", - "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", - "dev": true - }, - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", - "dev": true, - "requires": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" - } - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true, - "peer": true - }, - "des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.500", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", - "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "requires": { - "stackframe": "^1.3.4" - } - }, - "errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "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.5", - "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.10", - "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.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "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.10" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true, - "peer": true - }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "requires": { - "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": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", - "dev": true, - "requires": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", - "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.0", - "safe-array-concat": "^1.0.0" - } - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "peer": true, - "requires": { - "@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": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "dev": true, - "peer": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@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" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - } - } - }, - "eslint-plugin-ft-flow": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", - "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", - "dev": true, - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "requires": {} - }, - "eslint-plugin-react-native": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.0.0.tgz", - "integrity": "sha512-kMmdxrSY7A1WgdqaGC+rY/28rh7kBGNBRsk48ovqkQmdg5j4K+DaFmegENDzMrdLkoufKGRNkKX6bgSwQTCAxQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.7.4", - "eslint-plugin-react-native-globals": "^0.1.1" - } - }, - "eslint-plugin-react-native-globals": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "expect": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.6.4", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "peer": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fast-xml-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", - "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", - "dev": true, - "requires": { - "strnum": "^1.0.5" - } - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, - "peer": true, - "requires": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "peer": true, - "requires": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "peer": true - }, - "is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "peer": true - } - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "flow-enums-runtime": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", - "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==", - "dev": true - }, - "flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "dev": true, - "peer": true - }, - "formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dev": true, - "peer": true, - "requires": { - "fetch-blob": "^3.1.2" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-pkg-repo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", - "dev": true, - "requires": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-uri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", - "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", - "dev": true, - "peer": true, - "requires": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^5.0.1", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", - "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", - "dev": true, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - } - }, - "git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", - "dev": true, - "requires": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "git-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", - "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", - "dev": true, - "peer": true, - "requires": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" - } - }, - "git-url-parse": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", - "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", - "dev": true, - "peer": true, - "requires": { - "git-up": "^7.0.0" - } - }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", - "dev": true, - "requires": { - "ini": "^1.3.2" - } - }, - "glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "peer": true, - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "peer": true - } - } - }, - "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "dev": true, - "peer": true, - "requires": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "peer": true - } - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "dev": true, - "peer": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hermes-estree": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", - "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", - "dev": true - }, - "hermes-parser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", - "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", - "dev": true, - "requires": { - "hermes-estree": "0.12.0" - } - }, - "hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "dev": true, - "requires": { - "source-map": "^0.7.3" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true, - "peer": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", - "dev": true, - "peer": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "dependencies": { - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "peer": true - } - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "peer": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "dev": true, - "requires": { - "queue": "6.0.2" - } - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "peer": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "inquirer": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.6.tgz", - "integrity": "sha512-y71l237eJJKS4rl7sQcEUiMhrR0pB/ZnRMMTxLpjJhWL4hdWCT03a6jJnC1w6qIPSRZWEozuieGt3v7XaEJYFw==", - "dev": true, - "peer": true, - "requires": { - "ansi-escapes": "^4.3.2", - "chalk": "^5.2.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.0.0", - "external-editor": "^3.0.3", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "dependencies": { - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "peer": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "peer": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "peer": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "peer": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", - "dev": true - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "peer": true, - "requires": { - "ci-info": "^3.2.0" - } - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "dev": true - }, - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "peer": true - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-git-dirty": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-git-dirty/-/is-git-dirty-2.0.2.tgz", - "integrity": "sha512-U3YCo+GKR/rDsY7r0v/LBICbQwsx859tDQnAT+v0E/zCDeWbQ1TUt1FtyExeyik7VIJlYOLHCIifLdz71HDalg==", - "dev": true, - "requires": { - "execa": "^4.0.3", - "is-git-repository": "^2.0.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "is-git-repository": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-2.0.0.tgz", - "integrity": "sha512-HDO50CG5suIAcmqG4F1buqVXEZRPn+RaXIn9pFKq/947FBo2bCRwK7ZluEVZOy99a4IQyqsjbKEpAiOXCccOHQ==", - "dev": true, - "requires": { - "execa": "^4.0.3", - "is-absolute": "^1.0.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "peer": true, - "requires": { - "is-docker": "^3.0.0" - } - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "peer": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "dev": true, - "peer": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", - "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", - "dev": true, - "peer": true, - "requires": { - "protocols": "^2.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "peer": true - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true - }, - "is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", - "dev": true, - "peer": true - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "issue-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", - "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", - "dev": true, - "peer": true, - "requires": { - "lodash.capitalize": "^4.2.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.uniqby": "^4.7.0" - } - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", - "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "iterate-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", - "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", - "dev": true, - "peer": true - }, - "iterate-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", - "dev": true, - "peer": true, - "requires": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" - } - }, - "iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" - } - }, - "jackspeak": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "jest": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", - "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", - "dev": true, - "requires": { - "@jest/core": "^29.6.4", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.6.4" - } - }, - "jest-changed-files": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", - "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "jest-util": "^29.6.3", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", - "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "p-limit": "^3.1.0", - "pretty-format": "^29.6.3", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-cli": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", - "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", - "dev": true, - "requires": { - "@jest/core": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "jest-config": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", - "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.4", - "@jest/types": "^29.6.3", - "babel-jest": "^29.6.4", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.4", - "jest-environment-node": "^29.6.4", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.6.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-diff": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", - "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-docblock": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", - "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", - "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.6.3", - "pretty-format": "^29.6.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-environment-jsdom": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", - "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3", - "jsdom": "^20.0.0" - } - }, - "jest-environment-node": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", - "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true - }, - "jest-haste-map": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", - "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", - "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", - "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.6.4", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-message-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", - "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", - "dev": true, - "requires": { - "@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.6.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-mock": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", - "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.6.3" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true - }, - "jest-resolve": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", - "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", - "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.6.4" - } - }, - "jest-runner": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", - "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", - "dev": true, - "requires": { - "@jest/console": "^29.6.4", - "@jest/environment": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.6.3", - "jest-environment-node": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-leak-detector": "^29.6.3", - "jest-message-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-util": "^29.6.3", - "jest-watcher": "^29.6.4", - "jest-worker": "^29.6.4", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", - "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", - "dev": true, - "requires": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/globals": "^29.6.4", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - } - } - }, - "jest-snapshot": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", - "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.4", - "@jest/transform": "^29.6.4", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.6.4", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.4", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "natural-compare": "^1.4.0", - "pretty-format": "^29.6.3", - "semver": "^7.5.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", - "dev": true, - "requires": { - "@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" - } - }, - "jest-validate": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", - "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.6.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "pretty-format": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", - "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", - "dev": true, - "requires": { - "@jest/test-result": "^29.6.4", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.6.3", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.6.3", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jetifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-2.0.0.tgz", - "integrity": "sha512-J4Au9KuT74te+PCCCHKgAjyLlEa+2VyIAEPNCdE5aNkAJ6FAJcAqcdzEkSnzNksIa9NkGmC4tPiClk2e7tCJuQ==", - "dev": true, - "optional": true - }, - "joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", - "dev": true - }, - "jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", - "dev": true - }, - "jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "dev": true, - "requires": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } - } - }, - "jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "peer": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", - "requires": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - } - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", - "dev": true, - "peer": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "dev": true, - "peer": true, - "requires": { - "package-json": "^8.1.0" - } - }, - "lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "requires": { - "readable-stream": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - } - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.capitalize": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", - "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", - "dev": true, - "peer": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", - "dev": true, - "peer": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true, - "peer": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "dev": true - }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" - }, - "lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", - "dev": true, - "peer": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", - "dev": true, - "requires": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "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-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "dev": true, - "peer": true - }, - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true - }, - "macos-release": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.2.0.tgz", - "integrity": "sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==", - "dev": true, - "peer": true - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "metro": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", - "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "metro-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", - "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", - "nullthrows": "^1.1.1" - } - }, - "metro-cache": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", - "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", - "dev": true, - "requires": { - "metro-core": "0.76.7", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "metro-cache-key": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", - "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", - "dev": true - }, - "metro-config": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", - "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", + "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", "dev": true, "requires": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" - }, - "dependencies": { - "metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - } + "@jest/core": "^29.6.4", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.6.4" } }, - "metro-core": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", - "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "jest-changed-files": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", + "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", "dev": true, "requires": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" + "execa": "^5.0.0", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0" } }, - "metro-file-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", - "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "jest-circus": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", + "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", "dev": true, "requires": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.3", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, - "metro-inspector-proxy": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", - "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", + "jest-cli": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", + "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", "dev": true, "requires": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" + "@jest/core": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" }, "dependencies": { "cliui": { @@ -40319,25 +20414,10 @@ "wrap-ansi": "^7.0.0" } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { @@ -40362,13 +20442,6 @@ "strip-ansi": "^6.0.0" } }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -40392,812 +20465,760 @@ } } }, - "metro-minify-terser": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", - "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "jest-config": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", + "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", "dev": true, - "requires": { - "terser": "^5.15.0" - } - }, - "metro-minify-uglify": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", - "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", - "dev": true, - "requires": { - "uglify-es": "^3.1.9" - } - }, - "metro-react-native-babel-preset": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", - "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.4.0" - } - }, - "metro-react-native-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", - "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", - "nullthrows": "^1.1.1" - } - }, - "metro-resolver": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", - "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", - "dev": true - }, - "metro-runtime": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", - "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "metro-source-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", - "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", - "nullthrows": "^1.1.1", - "ob1": "0.76.8", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-jest": "^29.6.4", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.4", + "jest-environment-node": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, - "metro-symbolicate": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", - "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.8", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" + "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" } }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-diff": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", + "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-docblock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", + "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", + "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "jest-environment-jsdom": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", + "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3", + "jsdom": "^20.0.0" + } + }, + "jest-environment-node": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", + "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true + }, + "jest-haste-map": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", + "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", + "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true } } }, - "metro-symbolicate": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", - "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", + "jest-matcher-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", + "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", "dev": true, "requires": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.7", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } } } }, - "metro-transform-plugins": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", - "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - } - }, - "metro-transform-worker": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", - "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "jest-message-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", + "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", "dev": true, "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", - "nullthrows": "^1.1.1" + "@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.6.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "dependencies": { - "metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "jest-mock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", + "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", "dev": true, "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.6.3" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true + }, + "jest-resolve": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", + "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" } }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true + "jest-resolve-dependencies": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", + "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", + "dev": true, + "requires": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.6.4" + } }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "jest-runner": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", + "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", + "dev": true, + "requires": { + "@jest/console": "^29.6.4", + "@jest/environment": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.6.3", + "jest-environment-node": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-leak-detector": "^29.6.3", + "jest-message-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-util": "^29.6.3", + "jest-watcher": "^29.6.4", + "jest-worker": "^29.6.4", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "jest-runtime": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", + "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", + "dev": true, "requires": { - "mime-db": "1.52.0" + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/globals": "^29.6.4", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "jest-snapshot": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", + "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", "dev": true, - "peer": true - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { - "brace-expansion": "^1.1.7" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.3", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "jest-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", + "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "@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" } }, - "minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "jest-validate": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", + "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", "dev": true, "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.3" }, "dependencies": { - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true } } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "jest-watcher": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", + "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.3", + "string-length": "^4.0.1" } }, - "modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "jest-worker": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", + "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "@types/node": "*", + "jest-util": "^29.6.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { - "glob": "^7.1.3" + "has-flag": "^4.0.0" } } } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true, - "peer": true - }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "peer": true + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "argparse": "^2.0.1" } }, - "native-reg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, "requires": { - "node-gyp-build": "4" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true, - "peer": true + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "new-github-release-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", - "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^2.5.1" - }, - "dependencies": { - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "peer": true - } - } + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "nock": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" - } - }, - "node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { - "minimatch": "^3.0.2" + "minimist": "^1.2.0" } }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true, - "peer": true - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, + "jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "requires": { - "whatwg-url": "^5.0.0" + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" }, "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" } } }, - "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "readable-stream": "^2.0.5" }, "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -41212,484 +21233,358 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } } } }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", - "dev": true, - "peer": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { - "path-key": "^3.0.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true - }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true - }, - "ob1": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", - "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true } } }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "p-locate": "^5.0.0" } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" - } + "lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, "requires": { - "@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" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - } + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true }, - "os-name": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-5.1.0.tgz", - "integrity": "sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==", + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, - "peer": true, "requires": { - "macos-release": "^3.1.0", - "windows-release": "^5.0.1" + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "peer": true - }, - "p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true, - "peer": true + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "tmpl": "1.0.5" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "object-visit": "^1.0.0" } }, - "p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "aggregate-error": "^4.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pac-proxy-agent": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.4.tgz", - "integrity": "sha512-FbJYeusBOZNe6bmrC2/+r/HljwExryon16lNKEU82gWiwIPMCEktUPSEAcTkO9K3jd/YPGuX/azZel1ltmo6nQ==", + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, - "peer": true, "requires": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "pac-resolver": "^6.0.1", - "socks-proxy-agent": "^8.0.1" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "dependencies": { - "agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "peer": true, - "requires": { - "debug": "^4.3.4" - } + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "peer": true, "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "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" } }, - "https-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", - "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "peer": true, "requires": { - "agent-base": "^7.0.2", - "debug": "4" + "safe-buffer": "~5.1.0" } } } }, - "pac-resolver": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-6.0.2.tgz", - "integrity": "sha512-EQpuJ2ifOjpZY5sg1Q1ZeAxvtLwR7Mj3RgY8cysPGbsRu3RBXyJFWxnMus9PScjxya/0LzvVDxNh/gl0eXBU4w==", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "peer": true, "requires": { - "degenerator": "^4.0.4", - "ip": "^1.1.8", - "netmask": "^2.0.2" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, - "peer": true, "requires": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "dependencies": { + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -41719,1258 +21614,971 @@ "requires": { "safe-buffer": "~5.1.0" } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } } } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "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": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", - "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "peer": true, "requires": { - "protocols": "^2.0.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" } }, - "parse-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", - "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", - "dev": true, - "peer": true, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { - "parse-path": "^7.0.0" + "minimist": "^1.2.6" } }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { - "entities": "^4.4.0" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "peer": true }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "requires": { + "node-gyp-build": "4" + } }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "nock": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", + "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", "dev": true, "requires": { - "pinkie": "^2.0.0" + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" } }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { - "find-up": "^4.0.0" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { - "p-try": "^2.0.0" + "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" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "safe-buffer": "~5.1.0" } } } }, - "pod-install": { - "version": "0.1.38", - "resolved": "https://registry.npmjs.org/pod-install/-/pod-install-0.1.38.tgz", - "integrity": "sha512-NeDWGigjJRriOIKBOvpW2/tK2tYLfyUT7ia6C6L+oarCAhBNP+IGODWdU+GEAqvfsseqOApcFclpXAJTL0UPzA==", - "dev": true + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, - "postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", - "peer": true, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "path-key": "^3.0.0" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", "dev": true }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { - "fast-diff": "^1.1.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } + "isobject": "^3.0.0" } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { - "asap": "~2.0.6" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "promise.allsettled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.6.tgz", - "integrity": "sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==", + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, - "peer": true, "requires": { - "array.prototype.map": "^1.0.5", "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "iterate-value": "^1.0.2" + "es-abstract": "^1.20.4" } }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", "dev": true, "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" } }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - } + "isobject": "^3.0.1" } }, - "propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, - "peer": true + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } }, - "protocols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", - "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", - "dev": true, - "peer": true + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } }, - "proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.2.1.tgz", - "integrity": "sha512-OIbBKlRAT+ycCm6wAYIzMwPejzRtjy8F3QiDX0eKOA3e4pe3U9F/IvzcHP42bmgQxVv97juG+J8/gx+JIeCX/Q==", + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "peer": true, "requires": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^6.0.3", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.1" - }, - "dependencies": { - "agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "peer": true, - "requires": { - "debug": "^4.3.4" - } - }, - "http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", - "dev": true, - "peer": true, - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "https-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", - "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", - "dev": true, - "peer": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "peer": true - } + "mimic-fn": "^2.1.0" } }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "peer": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true + "requires": { + "@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" + } }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } + "yocto-queue": "^0.1.0" } }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "p-limit": "^3.0.2" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { - "duplexify": "^3.6.0", + "cyclist": "^1.0.1", "inherits": "^2.0.3", - "pump": "^2.0.0" + "readable-stream": "^2.1.5" }, "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "safe-buffer": "~5.1.0" } } } }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "peer": true, "requires": { - "escape-goat": "^4.0.0" + "callsites": "^3.0.0" } }, - "pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", - "dev": true + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "requires": { - "side-channel": "^1.0.4" + "entities": "^4.4.0" } }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, - "requires": { - "inherits": "~2.0.3" - } + "optional": true }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, - "peer": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "peer": true - } + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, - "react-devtools-core": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", - "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", - "dev": true, - "requires": { - "shell-quote": "^1.6.1", - "ws": "^7" - }, - "dependencies": { - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - } - } + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dev": true, - "peer": true, - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, - "react-native": { - "version": "0.72.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", - "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", - "dev": true, - "requires": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", - "@react-native/gradle-plugin": "^0.72.11", - "@react-native/js-polyfills": "^0.72.1", - "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.8", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.5", - "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.27.2", - "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "p-locate": "^4.1.0" } }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "p-try": "^2.0.0" } }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "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" + "p-limit": "^2.2.0" } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true } } }, - "react-native-builder-bob": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/react-native-builder-bob/-/react-native-builder-bob-0.21.3.tgz", - "integrity": "sha512-ZlEXWzgIRfRvQEDEYnoTeJ2og5zDbORB0BMGzpE34TxO22+DZeXH4yFYUtZLrUxvUi5WVo/1V2sVjjnUNZL85Q==", - "dev": true, - "requires": { - "@babel/core": "^7.18.5", - "@babel/plugin-proposal-class-properties": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-flow": "^7.17.12", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "browserslist": "^4.20.4", - "cosmiconfig": "^7.0.1", - "cross-spawn": "^7.0.3", - "dedent": "^0.7.0", - "del": "^6.1.1", - "fs-extra": "^10.1.0", - "glob": "^8.0.3", - "is-git-dirty": "^2.0.1", - "jetifier": "^2.0.0", - "json5": "^2.2.1", - "kleur": "^4.1.4", - "prompts": "^2.4.2", - "which": "^2.0.2", - "yargs": "^17.5.1" - }, - "dependencies": { - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "requires": { - "@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" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "peer": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } }, - "react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, - "react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" } }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "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" }, "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, - "read-pkg-up": { + "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" }, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true } } }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + }, + "pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -43014,67 +22622,7 @@ "dev": true, "optional": true, "requires": { - "picomatch": "^2.2.1" - } - }, - "readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", - "dev": true - }, - "recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "dev": true, - "requires": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "peer": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - } + "picomatch": "^2.2.1" } }, "redux": { @@ -43093,50 +22641,12 @@ "dev": true, "requires": {} }, - "reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, "regenerator-runtime": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", "dev": true }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -43158,399 +22668,6 @@ "functions-have-names": "^1.2.3" } }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "requires": { - "@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": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dev": true, - "peer": true, - "requires": { - "@pnpm/npm-conf": "^2.1.0" - } - }, - "registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "dev": true, - "peer": true, - "requires": { - "rc": "1.2.8" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "release-it": { - "version": "15.11.0", - "resolved": "https://registry.npmjs.org/release-it/-/release-it-15.11.0.tgz", - "integrity": "sha512-lZwoGEnKYKwGnfxxlA7vtR7vvozPrOSsIgQaHO4bgQ5ARbG3IA6Dmo0IVusv6nR1KmnjH70QIeNAgsWs6Ji/tw==", - "dev": true, - "peer": true, - "requires": { - "@iarna/toml": "2.2.5", - "@octokit/rest": "19.0.11", - "async-retry": "1.3.3", - "chalk": "5.2.0", - "cosmiconfig": "8.1.3", - "execa": "7.1.1", - "git-url-parse": "13.1.0", - "globby": "13.1.4", - "got": "12.6.1", - "inquirer": "9.2.6", - "is-ci": "3.0.1", - "issue-parser": "6.0.0", - "lodash": "4.17.21", - "mime-types": "2.1.35", - "new-github-release-url": "2.0.0", - "node-fetch": "3.3.1", - "open": "9.1.0", - "ora": "6.3.1", - "os-name": "5.1.0", - "promise.allsettled": "1.0.6", - "proxy-agent": "6.2.1", - "semver": "7.5.1", - "shelljs": "0.8.5", - "update-notifier": "6.0.2", - "url-join": "5.0.0", - "wildcard-match": "5.1.2", - "yargs-parser": "21.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "peer": true - }, - "chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true, - "peer": true - }, - "cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "peer": true, - "requires": { - "restore-cursor": "^4.0.0" - } - }, - "cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", - "dev": true, - "peer": true, - "requires": { - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" - } - }, - "data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "dev": true, - "peer": true - }, - "execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", - "dev": true, - "peer": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "peer": true - }, - "globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "dev": true, - "peer": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "peer": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "peer": true - }, - "is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true, - "peer": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "peer": true - }, - "is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "peer": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "peer": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "dev": true, - "peer": true, - "requires": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "peer": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "peer": true - }, - "node-fetch": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", - "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", - "dev": true, - "peer": true, - "requires": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - } - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "peer": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "peer": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "peer": true, - "requires": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - } - }, - "ora": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", - "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", - "dev": true, - "peer": true, - "requires": { - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "peer": true - }, - "restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "peer": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "peer": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "peer": true, - "requires": { - "mimic-fn": "^2.1.0" - } - } - } - }, - "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "peer": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "peer": true - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "peer": true - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "peer": true - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "peer": true - } - } - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -43576,12 +22693,6 @@ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -43605,13 +22716,6 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true, - "peer": true - }, "resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -43633,47 +22737,19 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, - "responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dev": true, - "peer": true, - "requires": { - "lowercase-keys": "^3.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true }, "ret": { "version": "0.1.15", @@ -43681,13 +22757,6 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "peer": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -43722,23 +22791,6 @@ "fsevents": "~2.3.2" } }, - "run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "dev": true, - "peer": true, - "requires": { - "execa": "^5.0.0" - } - }, - "run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true, - "peer": true - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -43757,25 +22809,6 @@ "aproba": "^1.1.1" } }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "peer": true, - "requires": { - "tslib": "^2.1.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true, - "peer": true - } - } - }, "safe-array-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", @@ -43885,89 +22918,6 @@ } } }, - "semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "dev": true, - "peer": true, - "requires": { - "semver": "^7.3.5" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "dev": true - }, "serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", @@ -43976,24 +22926,6 @@ "randombytes": "^2.1.0" } }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -44029,12 +22961,6 @@ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -44067,41 +22993,6 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "peer": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "peer": true, - "requires": { - "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" - } - } - } - }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -44130,56 +23021,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "peer": true - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -44342,50 +23183,6 @@ } } }, - "socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, - "peer": true, - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "dependencies": { - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true, - "peer": true - } - } - }, - "socks-proxy-agent": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz", - "integrity": "sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==", - "dev": true, - "peer": true, - "requires": { - "agent-base": "^7.0.1", - "debug": "^4.3.4", - "socks": "^2.7.1" - }, - "dependencies": { - "agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "peer": true, - "requires": { - "debug": "^4.3.4" - } - } - } - }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -44440,47 +23237,6 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", - "dev": true - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" - } - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -44490,15 +23246,6 @@ "extend-shallow": "^3.0.0" } }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -44531,29 +23278,6 @@ } } }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dev": true, - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "dev": true - } - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -44632,47 +23356,6 @@ } } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true - }, - "stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", - "dev": true, - "peer": true, - "requires": { - "bl": "^5.0.0" - }, - "dependencies": { - "bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", - "dev": true, - "peer": true, - "requires": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, "stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", @@ -44815,12 +23498,6 @@ "strip-ansi": "^6.0.0" } }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", - "dev": true - }, "string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -44863,22 +23540,6 @@ } } }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, "string.prototype.trim": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", @@ -44947,34 +23608,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } + "dev": true }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true - }, - "sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -44983,16 +23623,6 @@ "has-flag": "^4.0.0" } }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -45048,50 +23678,6 @@ "readable-stream": "^3.1.1" } }, - "temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dev": true, - "requires": { - "rimraf": "~2.6.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, "terser": { "version": "5.19.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", @@ -45183,39 +23769,18 @@ } } }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, "timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -45225,23 +23790,6 @@ "setimmediate": "^1.0.4" } }, - "titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true, - "peer": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "peer": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -45307,12 +23855,6 @@ "is-number": "^7.0.0" } }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, "tough-cookie": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", @@ -45342,12 +23884,6 @@ "punycode": "^2.1.1" } }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, "ts-jest": { "version": "29.1.1", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", @@ -45569,16 +24105,6 @@ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "peer": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", @@ -45595,37 +24121,6 @@ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true - }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -45648,40 +24143,6 @@ "through": "^2.3.8" } }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -45720,35 +24181,6 @@ "imurmurhash": "^0.1.4" } }, - "unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "dev": true, - "peer": true, - "requires": { - "crypto-random-string": "^4.0.0" - } - }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true, - "peer": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true - }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", @@ -45795,13 +24227,6 @@ } } }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "peer": true - }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -45818,38 +24243,6 @@ "picocolors": "^1.0.0" } }, - "update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "dev": true, - "peer": true, - "requires": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "dependencies": { - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "peer": true - } - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -45882,13 +24275,6 @@ } } }, - "url-join": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", - "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", - "dev": true, - "peer": true - }, "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -45905,13 +24291,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "dev": true, - "requires": {} - }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", @@ -45934,12 +24313,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true - }, "v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", @@ -45951,22 +24324,6 @@ "convert-source-map": "^1.6.0" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true - }, "vite": { "version": "4.4.9", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", @@ -45979,29 +24336,12 @@ "rollup": "^3.27.1" } }, - "vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", - "dev": true - }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "vm2": { - "version": "3.9.19", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz", - "integrity": "sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==", - "dev": true, - "peer": true, - "requires": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" - } - }, "w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -46299,22 +24639,6 @@ } } }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "dev": true, - "peer": true - }, "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -46940,12 +25264,6 @@ } } }, - "whatwg-fetch": { - "version": "3.6.17", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", - "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==", - "dev": true - }, "whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", @@ -46983,26 +25301,6 @@ "is-symbol": "^1.0.3" } }, - "which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "requires": { - "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": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", @@ -47015,12 +25313,6 @@ "is-weakset": "^2.0.1" } }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, "which-typed-array": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", @@ -47034,52 +25326,12 @@ "has-tostringtag": "^1.0.0" } }, - "widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^5.0.1" - } - }, "wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "wildcard-match": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz", - "integrity": "sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==", - "dev": true, - "peer": true - }, - "windows-release": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-5.1.1.tgz", - "integrity": "sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==", - "dev": true, - "peer": true, - "requires": { - "execa": "^5.1.1" - } - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "peer": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, "wordwrapjs": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", @@ -47181,13 +25433,6 @@ "dev": true, "requires": {} }, - "xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "dev": true, - "peer": true - }, "xml-name-validator": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", @@ -47218,52 +25463,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", From 20daf4d49a137d5c28c9ff4c7a94d06d7fe78458 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 19:30:26 +0200 Subject: [PATCH 136/291] Update SDK-Core package-lock.json --- package-lock.json | 6935 ++++++++++----------------------------------- 1 file changed, 1448 insertions(+), 5487 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8dfcfe1a..b58698db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,8 +27,7 @@ }, "node_modules/@75lb/deep-merge": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", + "license": "MIT", "dependencies": { "lodash.assignwith": "^4.2.0", "typical": "^7.1.1" @@ -39,26 +38,23 @@ }, "node_modules/@75lb/deep-merge/node_modules/typical": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "license": "MIT", "engines": { "node": ">=12.17" } }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -69,9 +65,8 @@ }, "node_modules/@babel/code-frame": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.22.10", "chalk": "^2.4.2" @@ -82,9 +77,8 @@ }, "node_modules/@babel/code-frame/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -94,9 +88,8 @@ }, "node_modules/@babel/code-frame/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -108,42 +101,37 @@ }, "node_modules/@babel/code-frame/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/code-frame/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/code-frame/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -153,18 +141,16 @@ }, "node_modules/@babel/compat-data": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", - "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.10", @@ -192,9 +178,8 @@ }, "node_modules/@babel/core/node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -204,18 +189,16 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.10", "@jridgewell/gen-mapping": "^0.3.2", @@ -228,9 +211,8 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", @@ -244,42 +226,37 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.22.5", "@babel/types": "^7.22.5" @@ -290,9 +267,8 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -302,9 +278,8 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -314,9 +289,8 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -333,18 +307,16 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -354,9 +326,8 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -366,36 +337,32 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", - "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.11", @@ -407,9 +374,8 @@ }, "node_modules/@babel/highlight": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -421,9 +387,8 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -433,9 +398,8 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -447,42 +411,37 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -492,9 +451,8 @@ }, "node_modules/@babel/parser": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", - "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", "dev": true, + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -504,9 +462,8 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -516,9 +473,8 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -528,9 +484,8 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -540,9 +495,8 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -552,9 +506,8 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -564,9 +517,8 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -579,9 +531,8 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -591,9 +542,8 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -603,9 +553,8 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -615,9 +564,8 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -627,9 +575,8 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -639,9 +586,8 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -651,9 +597,8 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -666,9 +611,8 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -681,9 +625,8 @@ }, "node_modules/@babel/runtime": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", - "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", "dev": true, + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -693,9 +636,8 @@ }, "node_modules/@babel/template": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.5", "@babel/parser": "^7.22.5", @@ -707,9 +649,8 @@ }, "node_modules/@babel/traverse": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", - "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.10", "@babel/generator": "^7.22.10", @@ -728,18 +669,16 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", - "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.5", @@ -787,365 +726,26 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10.0.0" } }, - "node_modules/@esbuild/win32-x64": { + "node_modules/@esbuild/darwin-x64": { "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ - "win32" + "darwin" ], "peer": true, "engines": { @@ -1154,9 +754,8 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -1169,18 +768,16 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", - "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -1201,18 +798,16 @@ }, "node_modules/@eslint/js": { "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -1224,9 +819,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -1237,14 +831,12 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1259,8 +851,7 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -1270,8 +861,7 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1284,9 +874,8 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -1300,18 +889,16 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -1322,9 +909,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1335,9 +921,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -1347,9 +932,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -1362,9 +946,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -1374,27 +957,24 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", - "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -1409,9 +989,8 @@ }, "node_modules/@jest/core": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", - "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/reporters": "^29.6.4", @@ -1456,9 +1035,8 @@ }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -1468,9 +1046,8 @@ }, "node_modules/@jest/core/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -1482,15 +1059,13 @@ }, "node_modules/@jest/core/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/environment": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", - "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.6.4", "@jest/types": "^29.6.3", @@ -1503,9 +1078,8 @@ }, "node_modules/@jest/expect": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.6.4", "jest-snapshot": "^29.6.4" @@ -1516,9 +1090,8 @@ }, "node_modules/@jest/expect-utils": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", - "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1528,9 +1101,8 @@ }, "node_modules/@jest/fake-timers": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", - "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1545,9 +1117,8 @@ }, "node_modules/@jest/globals": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", - "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/expect": "^29.6.4", @@ -1560,9 +1131,8 @@ }, "node_modules/@jest/reporters": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", - "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.6.4", @@ -1603,9 +1173,8 @@ }, "node_modules/@jest/reporters/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1623,9 +1192,8 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1635,9 +1203,8 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1649,9 +1216,8 @@ }, "node_modules/@jest/test-result": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", - "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/types": "^29.6.3", @@ -1664,9 +1230,8 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", - "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.6.4", "graceful-fs": "^4.2.9", @@ -1679,9 +1244,8 @@ }, "node_modules/@jest/transform": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", - "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1705,15 +1269,13 @@ }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1728,8 +1290,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1741,24 +1302,21 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1766,13 +1324,11 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1780,9 +1336,8 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1793,18 +1348,16 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1815,8 +1368,7 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -1824,9 +1376,8 @@ }, "node_modules/@reduxjs/toolkit": { "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", - "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", "dev": true, + "license": "MIT", "dependencies": { "immer": "^9.0.21", "redux": "^4.2.1", @@ -1848,9 +1399,8 @@ }, "node_modules/@rollup/plugin-typescript": { "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "resolve": "^1.22.1" @@ -1874,9 +1424,8 @@ }, "node_modules/@rollup/pluginutils": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", - "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -1896,33 +1445,29 @@ }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/@testing-library/dom": { "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -1939,9 +1484,8 @@ }, "node_modules/@testing-library/react": { "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^9.0.0", @@ -1957,33 +1501,29 @@ }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/@types/archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, + "license": "MIT", "dependencies": { "@types/readdir-glob": "*" } }, "node_modules/@types/aria-query": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1994,18 +1534,16 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -2013,38 +1551,33 @@ }, "node_modules/@types/babel__traverse": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/command-line-args": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/command-line-usage": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/decompress": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/eslint": { "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2052,8 +1585,7 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2061,47 +1593,41 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "license": "MIT" }, "node_modules/@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { "version": "29.5.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", - "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -2109,9 +1635,8 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2121,9 +1646,8 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -2135,15 +1659,13 @@ }, "node_modules/@types/jest/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/jsdom": { "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", @@ -2152,31 +1674,26 @@ }, "node_modules/@types/json-schema": { "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "14.18.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", - "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" + "license": "MIT" }, "node_modules/@types/prop-types": { "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/react": { "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", - "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", "dev": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2185,63 +1702,54 @@ }, "node_modules/@types/react-dom": { "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "dev": true, + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@types/readdir-glob": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/scheduler": { "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/source-list-map": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/tough-cookie": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/ua-parser-js": { "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/webpack-sources": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/source-list-map": "*", @@ -2250,24 +1758,21 @@ }, "node_modules/@types/yargs": { "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -2299,9 +1804,8 @@ }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -2326,9 +1830,8 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -2343,9 +1846,8 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -2370,9 +1872,8 @@ }, "node_modules/@typescript-eslint/types": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2383,9 +1884,8 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -2410,9 +1910,8 @@ }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -2436,9 +1935,8 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -2453,8 +1951,7 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -2462,33 +1959,28 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "license": "MIT" }, "node_modules/@webassemblyjs/helper-code-frame": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/wast-printer": "1.9.0" } }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -2497,15 +1989,13 @@ }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", @@ -2514,24 +2004,21 @@ }, "node_modules/@webassemblyjs/helper-fsm": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@webassemblyjs/helper-module-context": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0" } }, "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -2540,14 +2027,12 @@ }, "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2556,13 +2041,11 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2572,29 +2055,25 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2608,8 +2087,7 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -2620,8 +2098,7 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2631,8 +2108,7 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2644,9 +2120,8 @@ }, "node_modules/@webassemblyjs/wast-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0", @@ -2658,9 +2133,8 @@ }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -2669,26 +2143,22 @@ }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -2696,9 +2166,8 @@ }, "node_modules/@webpack-cli/configtest": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -2709,9 +2178,8 @@ }, "node_modules/@webpack-cli/info": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -2722,9 +2190,8 @@ }, "node_modules/@webpack-cli/serve": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -2740,24 +2207,20 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "license": "Apache-2.0" }, "node_modules/abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/acorn": { "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2767,9 +2230,8 @@ }, "node_modules/acorn-globals": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" @@ -2777,35 +2239,31 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "license": "MIT", "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "4" }, @@ -2815,8 +2273,7 @@ }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2830,26 +2287,23 @@ }, "node_modules/ajv-errors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": ">=5.0.0" } }, "node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -2862,9 +2316,8 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2874,16 +2327,14 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2896,9 +2347,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2909,14 +2359,12 @@ }, "node_modules/aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "async": "^3.2.4", @@ -2932,8 +2380,7 @@ }, "node_modules/archiver-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "license": "MIT", "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", @@ -2952,8 +2399,7 @@ }, "node_modules/archiver-utils/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2971,13 +2417,11 @@ }, "node_modules/archiver-utils/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/archiver-utils/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2990,67 +2434,59 @@ }, "node_modules/archiver-utils/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } }, "node_modules/arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-back": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -3061,9 +2497,8 @@ }, "node_modules/array-includes": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -3080,27 +2515,24 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array.prototype.findlastindex": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -3117,9 +2549,8 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -3135,9 +2566,8 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -3153,9 +2583,8 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -3173,9 +2602,8 @@ }, "node_modules/asn1.js": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -3185,15 +2613,13 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/assert": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -3201,37 +2627,31 @@ }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/assert/node_modules/util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "2.0.1" } }, "node_modules/assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/async": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "license": "MIT" }, "node_modules/async-each": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, "funding": [ { @@ -3239,18 +2659,17 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "optional": true }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, "node_modules/atob": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, + "license": "(MIT OR Apache-2.0)", "bin": { "atob": "bin/atob.js" }, @@ -3260,9 +2679,8 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3272,9 +2690,8 @@ }, "node_modules/babel-jest": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", - "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.6.4", "@types/babel__core": "^7.1.14", @@ -3293,9 +2710,8 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -3309,9 +2725,8 @@ }, "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -3325,18 +2740,16 @@ }, "node_modules/babel-plugin-istanbul/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -3349,9 +2762,8 @@ }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -3372,9 +2784,8 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -3388,14 +2799,12 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "license": "MIT" }, "node_modules/base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, + "license": "MIT", "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -3411,9 +2820,8 @@ }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -3423,8 +2831,6 @@ }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -3438,22 +2844,21 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=8" @@ -3461,9 +2866,8 @@ }, "node_modules/bindings": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "file-uri-to-path": "1.0.0" @@ -3471,8 +2875,7 @@ }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -3481,20 +2884,17 @@ }, "node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3502,9 +2902,8 @@ }, "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -3514,15 +2913,13 @@ }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -3534,9 +2931,8 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, + "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -3545,9 +2941,8 @@ }, "node_modules/browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -3557,9 +2952,8 @@ }, "node_modules/browserify-rsa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -3567,9 +2961,8 @@ }, "node_modules/browserify-sign": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, + "license": "ISC", "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -3584,8 +2977,6 @@ }, "node_modules/browserify-sign/node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -3600,21 +2991,19 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, + "license": "MIT", "dependencies": { "pako": "~1.0.5" } }, "node_modules/browserslist": { "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "funding": [ { "type": "opencollective", @@ -3629,6 +3018,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001517", "electron-to-chromium": "^1.4.477", @@ -3644,9 +3034,8 @@ }, "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -3656,17 +3045,14 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -3681,6 +3067,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -3688,9 +3075,8 @@ }, "node_modules/buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, + "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" @@ -3698,46 +3084,39 @@ }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-crc32": { "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "license": "MIT" }, "node_modules/buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cacache": { "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, + "license": "ISC", "dependencies": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -3758,9 +3137,8 @@ }, "node_modules/cacache/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3778,18 +3156,16 @@ }, "node_modules/cacache/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/cacache/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -3799,21 +3175,18 @@ }, "node_modules/cacache/node_modules/y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/cacache/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, + "license": "MIT", "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -3831,9 +3204,8 @@ }, "node_modules/call-bind": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -3844,26 +3216,22 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", "funding": [ { "type": "opencollective", @@ -3877,12 +3245,12 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3896,8 +3264,7 @@ }, "node_modules/chalk-template": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", "dependencies": { "chalk": "^4.1.2" }, @@ -3910,17 +3277,14 @@ }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { @@ -3928,6 +3292,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "optional": true, "dependencies": { "anymatch": "~3.1.2", @@ -3947,9 +3312,8 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "is-glob": "^4.0.1" @@ -3960,22 +3324,18 @@ }, "node_modules/chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, "funding": [ { @@ -3983,15 +3343,15 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -3999,15 +3359,13 @@ }, "node_modules/cjs-module-lexer": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, + "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -4020,9 +3378,8 @@ }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -4032,9 +3389,8 @@ }, "node_modules/class-utils/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -4044,9 +3400,8 @@ }, "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -4056,9 +3411,8 @@ }, "node_modules/class-utils/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -4068,9 +3422,8 @@ }, "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -4080,9 +3433,8 @@ }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -4094,18 +3446,16 @@ }, "node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -4117,9 +3467,8 @@ }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -4127,15 +3476,13 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, + "license": "MIT", "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -4146,8 +3493,7 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4157,13 +3503,11 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4173,8 +3517,7 @@ }, "node_modules/command-line-args": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "license": "MIT", "dependencies": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -4187,8 +3530,7 @@ }, "node_modules/command-line-usage": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "license": "MIT", "dependencies": { "array-back": "^6.2.2", "chalk-template": "^0.4.0", @@ -4201,36 +3543,31 @@ }, "node_modules/command-line-usage/node_modules/array-back": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "license": "MIT", "engines": { "node": ">=12.17" } }, "node_modules/command-line-usage/node_modules/typical": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "license": "MIT", "engines": { "node": ">=12.17" } }, "node_modules/commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/component-emitter": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/compress-commons": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", + "license": "MIT", "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", @@ -4243,32 +3580,26 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "license": "MIT" }, "node_modules/console-browserify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/copy-concurrently": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, + "license": "ISC", "dependencies": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -4280,9 +3611,8 @@ }, "node_modules/copy-concurrently/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4300,9 +3630,8 @@ }, "node_modules/copy-concurrently/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -4312,22 +3641,19 @@ }, "node_modules/copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "license": "MIT" }, "node_modules/crc-32": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", "bin": { "crc32": "bin/crc32.njs" }, @@ -4337,8 +3663,7 @@ }, "node_modules/crc32-stream": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", + "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -4349,9 +3674,8 @@ }, "node_modules/create-ecdh": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -4359,15 +3683,13 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -4378,9 +3700,8 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -4392,8 +3713,7 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4405,9 +3725,8 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, + "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -4427,15 +3746,13 @@ }, "node_modules/cssom": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -4445,27 +3762,23 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/csstype": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cyclist": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/data-urls": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -4477,9 +3790,8 @@ }, "node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -4494,24 +3806,21 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/decode-uri-component": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/decompress": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, + "license": "MIT", "dependencies": { "decompress-tar": "^4.0.0", "decompress-tarbz2": "^4.0.0", @@ -4528,9 +3837,8 @@ }, "node_modules/decompress-tar": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, + "license": "MIT", "dependencies": { "file-type": "^5.2.0", "is-stream": "^1.1.0", @@ -4542,9 +3850,8 @@ }, "node_modules/decompress-tar/node_modules/bl": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -4552,15 +3859,13 @@ }, "node_modules/decompress-tar/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/decompress-tar/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4573,18 +3878,16 @@ }, "node_modules/decompress-tar/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/decompress-tar/node_modules/tar-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^1.0.0", "buffer-alloc": "^1.2.0", @@ -4600,9 +3903,8 @@ }, "node_modules/decompress-tarbz2": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, + "license": "MIT", "dependencies": { "decompress-tar": "^4.1.0", "file-type": "^6.1.0", @@ -4616,18 +3918,16 @@ }, "node_modules/decompress-tarbz2/node_modules/file-type": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/decompress-targz": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, + "license": "MIT", "dependencies": { "decompress-tar": "^4.1.1", "file-type": "^5.2.0", @@ -4639,9 +3939,8 @@ }, "node_modules/decompress-unzip": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, + "license": "MIT", "dependencies": { "file-type": "^3.8.0", "get-stream": "^2.2.0", @@ -4654,18 +3953,16 @@ }, "node_modules/decompress-unzip/node_modules/file-type": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/dedent": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -4677,9 +3974,8 @@ }, "node_modules/deep-equal": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -4706,24 +4002,21 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/define-properties": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, + "license": "MIT", "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -4737,9 +4030,8 @@ }, "node_modules/define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -4750,17 +4042,15 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/des.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -4768,27 +4058,24 @@ }, "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -4797,15 +4084,13 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -4815,9 +4100,8 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -4827,15 +4111,13 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -4843,9 +4125,8 @@ }, "node_modules/domexception": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, + "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -4855,9 +4136,8 @@ }, "node_modules/duplexify": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -4867,15 +4147,13 @@ }, "node_modules/duplexify/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/duplexify/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4888,28 +4166,24 @@ }, "node_modules/duplexify/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "license": "MIT" }, "node_modules/electron-to-chromium": { "version": "1.4.500", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", - "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" + "license": "ISC" }, "node_modules/elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -4922,15 +4196,13 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4940,30 +4212,26 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/end-of-stream": { "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -4974,9 +4242,8 @@ }, "node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -4986,9 +4253,8 @@ }, "node_modules/envinfo": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -4998,9 +4264,8 @@ }, "node_modules/errno": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, + "license": "MIT", "dependencies": { "prr": "~1.0.1" }, @@ -5010,17 +4275,15 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "arraybuffer.prototype.slice": "^1.0.1", @@ -5071,9 +4334,8 @@ }, "node_modules/es-get-iterator": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -5091,14 +4353,12 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + "license": "MIT" }, "node_modules/es-set-tostringtag": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3", "has": "^1.0.3", @@ -5110,18 +4370,16 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -5136,9 +4394,8 @@ }, "node_modules/esbuild": { "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "hasInstallScript": true, + "license": "MIT", "peer": true, "bin": { "esbuild": "bin/esbuild" @@ -5173,17 +4430,15 @@ }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5193,9 +4448,8 @@ }, "node_modules/escodegen": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -5214,18 +4468,16 @@ }, "node_modules/escodegen/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/escodegen/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -5233,9 +4485,8 @@ }, "node_modules/eslint": { "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -5287,9 +4538,8 @@ }, "node_modules/eslint-config-prettier": { "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -5299,9 +4549,8 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -5310,18 +4559,16 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -5336,18 +4583,16 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.findlastindex": "^1.2.2", @@ -5376,18 +4621,16 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5397,23 +4640,20 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-local-rules": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5424,9 +4664,8 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5436,9 +4675,8 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -5452,18 +4690,16 @@ }, "node_modules/eslint/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -5478,9 +4714,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5491,9 +4726,8 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -5503,17 +4737,15 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -5523,48 +4755,42 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estree-walker": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -5572,9 +4798,8 @@ }, "node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -5595,9 +4820,8 @@ }, "node_modules/execa/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5607,9 +4831,8 @@ }, "node_modules/execa/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -5619,14 +4842,11 @@ }, "node_modules/execa/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -5634,9 +4854,8 @@ }, "node_modules/expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -5652,18 +4871,16 @@ }, "node_modules/expand-brackets/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -5673,9 +4890,8 @@ }, "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -5685,9 +4901,8 @@ }, "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -5697,9 +4912,8 @@ }, "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -5709,9 +4923,8 @@ }, "node_modules/expand-brackets/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -5721,9 +4934,8 @@ }, "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -5733,9 +4945,8 @@ }, "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -5747,33 +4958,29 @@ }, "node_modules/expand-brackets/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/expect": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.6.4", "jest-get-type": "^29.6.3", @@ -5787,9 +4994,8 @@ }, "node_modules/extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -5800,9 +5006,8 @@ }, "node_modules/extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, + "license": "MIT", "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -5819,9 +5024,8 @@ }, "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -5831,9 +5035,8 @@ }, "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -5843,23 +5046,20 @@ }, "node_modules/extglob/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -5873,9 +5073,8 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -5885,67 +5084,58 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + "license": "MIT" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, + "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, "node_modules/figgy-pudding": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -5955,25 +5145,22 @@ }, "node_modules/file-type": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5983,9 +5170,8 @@ }, "node_modules/find-cache-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -5997,9 +5183,8 @@ }, "node_modules/find-cache-dir/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -6009,9 +5194,8 @@ }, "node_modules/find-cache-dir/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -6022,9 +5206,8 @@ }, "node_modules/find-cache-dir/node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -6035,9 +5218,8 @@ }, "node_modules/find-cache-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -6050,9 +5232,8 @@ }, "node_modules/find-cache-dir/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -6062,27 +5243,24 @@ }, "node_modules/find-cache-dir/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/find-cache-dir/node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/find-cache-dir/node_modules/pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -6092,17 +5270,15 @@ }, "node_modules/find-cache-dir/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/find-replace": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "license": "MIT", "dependencies": { "array-back": "^3.0.1" }, @@ -6112,9 +5288,8 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -6128,9 +5303,8 @@ }, "node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -6141,9 +5315,8 @@ }, "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6161,9 +5334,8 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -6176,15 +5348,13 @@ }, "node_modules/flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/flush-write-stream": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" @@ -6192,15 +5362,13 @@ }, "node_modules/flush-write-stream/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/flush-write-stream/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -6213,35 +5381,31 @@ }, "node_modules/flush-write-stream/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/foreground-child": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -6255,8 +5419,7 @@ }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -6268,9 +5431,8 @@ }, "node_modules/fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, + "license": "MIT", "dependencies": { "map-cache": "^0.2.2" }, @@ -6280,9 +5442,8 @@ }, "node_modules/from2": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -6290,15 +5451,13 @@ }, "node_modules/from2/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/from2/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -6311,23 +5470,20 @@ }, "node_modules/from2/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "license": "MIT" }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -6337,15 +5493,13 @@ }, "node_modules/fs-write-stream-atomic/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -6358,23 +5512,19 @@ }, "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6385,15 +5535,13 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/function.prototype.name": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -6409,36 +5557,32 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -6451,18 +5595,16 @@ }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.0.1", "pinkie-promise": "^2.0.0" @@ -6473,9 +5615,8 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -6489,17 +5630,15 @@ }, "node_modules/get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/glob": { "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -6519,9 +5658,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -6531,21 +5669,18 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "license": "BSD-2-Clause" }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/glob/node_modules/minimatch": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -6558,9 +5693,8 @@ }, "node_modules/globals": { "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -6573,9 +5707,8 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -6588,9 +5721,8 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6608,9 +5740,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -6620,20 +5751,17 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -6643,26 +5771,23 @@ }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -6672,9 +5797,8 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6684,9 +5808,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6696,9 +5819,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -6711,9 +5833,8 @@ }, "node_modules/has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, + "license": "MIT", "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -6725,9 +5846,8 @@ }, "node_modules/has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -6738,9 +5858,8 @@ }, "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -6750,9 +5869,8 @@ }, "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -6762,9 +5880,8 @@ }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -6774,9 +5891,8 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -6788,8 +5904,6 @@ }, "node_modules/hash-base/node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -6804,13 +5918,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -6818,9 +5932,8 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -6829,9 +5942,8 @@ }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -6841,15 +5953,13 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -6861,15 +5971,13 @@ }, "node_modules/https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -6880,17 +5988,14 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -6904,28 +6009,26 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immer": { "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -6933,9 +6036,8 @@ }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6949,9 +6051,8 @@ }, "node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -6968,23 +6069,20 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/infer-owner": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6992,14 +6090,12 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, "node_modules/internal-slot": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -7011,9 +6107,8 @@ }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.0" }, @@ -7023,9 +6118,8 @@ }, "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7039,9 +6133,8 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -7053,14 +6146,12 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "license": "MIT" }, "node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -7070,9 +6161,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "binary-extensions": "^2.0.0" @@ -7083,9 +6173,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7099,15 +6188,13 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7117,9 +6204,8 @@ }, "node_modules/is-core-module": { "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -7129,9 +6215,8 @@ }, "node_modules/is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.0" }, @@ -7141,9 +6226,8 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7156,9 +6240,8 @@ }, "node_modules/is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -7170,9 +6253,8 @@ }, "node_modules/is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -7182,35 +6264,31 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -7220,24 +6298,21 @@ }, "node_modules/is-map": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-natural-number": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7247,18 +6322,16 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7271,18 +6344,16 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7292,15 +6363,13 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7314,18 +6383,16 @@ }, "node_modules/is-set": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -7335,18 +6402,16 @@ }, "node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7359,9 +6424,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -7374,9 +6438,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.11" }, @@ -7389,18 +6452,16 @@ }, "node_modules/is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -7410,9 +6471,8 @@ }, "node_modules/is-weakset": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -7423,56 +6483,49 @@ }, "node_modules/is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", - "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -7486,9 +6539,8 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -7500,9 +6552,8 @@ }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -7515,9 +6566,8 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -7529,18 +6579,16 @@ }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -7551,8 +6599,7 @@ }, "node_modules/jackspeak": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -7568,9 +6615,8 @@ }, "node_modules/jest": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", - "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.6.4", "@jest/types": "^29.6.3", @@ -7594,9 +6640,8 @@ }, "node_modules/jest-changed-files": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", - "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.6.3", @@ -7608,9 +6653,8 @@ }, "node_modules/jest-circus": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", - "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/expect": "^29.6.4", @@ -7639,9 +6683,8 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7651,9 +6694,8 @@ }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7665,15 +6707,13 @@ }, "node_modules/jest-circus/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-cli": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", - "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.6.4", "@jest/test-result": "^29.6.4", @@ -7705,9 +6745,8 @@ }, "node_modules/jest-cli/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -7719,15 +6758,13 @@ }, "node_modules/jest-cli/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-cli/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7739,9 +6776,8 @@ }, "node_modules/jest-cli/node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -7756,9 +6792,8 @@ }, "node_modules/jest-cli/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -7774,18 +6809,16 @@ }, "node_modules/jest-cli/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/jest-config": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", - "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.6.4", @@ -7828,9 +6861,8 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7840,9 +6872,8 @@ }, "node_modules/jest-config/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7860,9 +6891,8 @@ }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7874,15 +6904,13 @@ }, "node_modules/jest-config/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-diff": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", - "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -7895,9 +6923,8 @@ }, "node_modules/jest-diff/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7907,9 +6934,8 @@ }, "node_modules/jest-diff/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7921,15 +6947,13 @@ }, "node_modules/jest-diff/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-docblock": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", - "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -7939,9 +6963,8 @@ }, "node_modules/jest-each": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", - "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -7955,9 +6978,8 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7967,9 +6989,8 @@ }, "node_modules/jest-each/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7981,15 +7002,13 @@ }, "node_modules/jest-each/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-environment-jsdom": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", - "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -8014,9 +7033,8 @@ }, "node_modules/jest-environment-node": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", - "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -8031,18 +7049,16 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", - "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -8065,9 +7081,8 @@ }, "node_modules/jest-leak-detector": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", - "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.6.3" @@ -8078,9 +7093,8 @@ }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8090,9 +7104,8 @@ }, "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8104,15 +7117,13 @@ }, "node_modules/jest-leak-detector/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-matcher-utils": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", - "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.6.4", @@ -8125,9 +7136,8 @@ }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8137,9 +7147,8 @@ }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8151,15 +7160,13 @@ }, "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-message-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", - "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -8177,9 +7184,8 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8189,9 +7195,8 @@ }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8203,15 +7208,13 @@ }, "node_modules/jest-message-util/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-mock": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", - "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -8223,9 +7226,8 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -8240,18 +7242,16 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", - "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -8269,9 +7269,8 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", - "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.6.4" @@ -8282,9 +7281,8 @@ }, "node_modules/jest-runner": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", - "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/environment": "^29.6.4", @@ -8314,9 +7312,8 @@ }, "node_modules/jest-runtime": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", - "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -8347,9 +7344,8 @@ }, "node_modules/jest-runtime/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8367,18 +7363,16 @@ }, "node_modules/jest-runtime/node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-snapshot": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", - "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -8407,9 +7401,8 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8419,9 +7412,8 @@ }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8433,15 +7425,13 @@ }, "node_modules/jest-snapshot/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -8456,9 +7446,8 @@ }, "node_modules/jest-validate": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", - "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -8473,9 +7462,8 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8485,9 +7473,8 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8497,9 +7484,8 @@ }, "node_modules/jest-validate/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8511,15 +7497,13 @@ }, "node_modules/jest-validate/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-watcher": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", - "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.6.4", "@jest/types": "^29.6.3", @@ -8536,9 +7520,8 @@ }, "node_modules/jest-worker": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.6.3", @@ -8551,9 +7534,8 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8566,14 +7548,12 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -8583,9 +7563,8 @@ }, "node_modules/jsdom": { "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", @@ -8628,9 +7607,8 @@ }, "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -8640,36 +7618,30 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -8679,8 +7651,7 @@ }, "node_modules/jsonc": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6", "graceful-fs": "^4.1.15", @@ -8695,8 +7666,7 @@ }, "node_modules/jsonc/node_modules/parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -8707,34 +7677,30 @@ }, "node_modules/jsonc/node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/lazystream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -8744,13 +7710,11 @@ }, "node_modules/lazystream/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/lazystream/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8763,26 +7727,23 @@ }, "node_modules/lazystream/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -8793,23 +7754,20 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/loader-runner": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/loader-utils": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -8821,9 +7779,8 @@ }, "node_modules/loader-utils/node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -8833,9 +7790,8 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -8848,61 +7804,50 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.assignwith": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + "license": "MIT" }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "license": "MIT" }, "node_modules/lodash.defaults": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + "license": "MIT" }, "node_modules/lodash.difference": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + "license": "MIT" }, "node_modules/lodash.flatten": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.union": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -8913,26 +7858,23 @@ }, "node_modules/lru-cache": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "license": "ISC", "engines": { "node": "14 || >=16.14" } }, "node_modules/lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } }, "node_modules/make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -8942,42 +7884,37 @@ }, "node_modules/make-dir/node_modules/pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, + "license": "MIT", "dependencies": { "object-visit": "^1.0.0" }, @@ -8987,9 +7924,8 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -8998,9 +7934,8 @@ }, "node_modules/memory-fs": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, + "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -9008,15 +7943,13 @@ }, "node_modules/memory-fs/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/memory-fs/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9029,32 +7962,28 @@ }, "node_modules/memory-fs/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -9065,9 +7994,8 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -9078,22 +8006,19 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -9103,29 +8028,25 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -9135,25 +8056,22 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -9172,12 +8090,11 @@ }, "node_modules/mississippi/node_modules/concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -9187,15 +8104,13 @@ }, "node_modules/mississippi/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mississippi/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9208,18 +8123,16 @@ }, "node_modules/mississippi/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/mississippi/node_modules/through2": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -9227,9 +8140,8 @@ }, "node_modules/mixin-deep": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, + "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -9240,8 +8152,7 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -9251,9 +8162,8 @@ }, "node_modules/move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, + "license": "ISC", "dependencies": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -9265,9 +8175,8 @@ }, "node_modules/move-concurrently/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9285,9 +8194,8 @@ }, "node_modules/move-concurrently/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -9297,27 +8205,24 @@ }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nan": { "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/nanoid": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -9328,9 +8233,8 @@ }, "node_modules/nanomatch": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, + "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -9350,35 +8254,30 @@ }, "node_modules/native-reg": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-gyp-build": "4" } }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "license": "MIT" }, "node_modules/nock": { "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -9391,8 +8290,7 @@ }, "node_modules/node-gyp-build": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -9401,15 +8299,13 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-libs-browser": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, + "license": "MIT", "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -9438,9 +8334,8 @@ }, "node_modules/node-libs-browser/node_modules/buffer": { "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, + "license": "MIT", "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -9449,21 +8344,18 @@ }, "node_modules/node-libs-browser/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-libs-browser/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-libs-browser/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9476,31 +8368,27 @@ }, "node_modules/node-libs-browser/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/node-releases": { "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -9510,24 +8398,21 @@ }, "node_modules/nwsapi": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, + "license": "MIT", "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -9539,9 +8424,8 @@ }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -9551,9 +8435,8 @@ }, "node_modules/object-copy/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9563,9 +8446,8 @@ }, "node_modules/object-copy/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9575,9 +8457,8 @@ }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -9589,18 +8470,16 @@ }, "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -9610,18 +8489,16 @@ }, "node_modules/object-inspect": { "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-is": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -9635,18 +8512,16 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.0" }, @@ -9656,9 +8531,8 @@ }, "node_modules/object.assign": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -9674,9 +8548,8 @@ }, "node_modules/object.fromentries": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -9691,9 +8564,8 @@ }, "node_modules/object.groupby": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -9703,9 +8575,8 @@ }, "node_modules/object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -9715,9 +8586,8 @@ }, "node_modules/object.values": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -9732,17 +8602,15 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -9755,9 +8623,8 @@ }, "node_modules/optionator": { "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, + "license": "MIT", "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", @@ -9772,15 +8639,13 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -9793,9 +8658,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -9808,24 +8672,21 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "dev": true, + "license": "(MIT AND Zlib)" }, "node_modules/parallel-transform": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, + "license": "MIT", "dependencies": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -9834,15 +8695,13 @@ }, "node_modules/parallel-transform/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parallel-transform/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9855,18 +8714,16 @@ }, "node_modules/parallel-transform/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -9876,9 +8733,8 @@ }, "node_modules/parse-asn1": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, + "license": "ISC", "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -9889,9 +8745,8 @@ }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9907,9 +8762,8 @@ }, "node_modules/parse5": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, + "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -9919,61 +8773,53 @@ }, "node_modules/pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-dirname": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-scurry": { "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -9987,18 +8833,16 @@ }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, + "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -10012,20 +8856,17 @@ }, "node_modules/pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -10035,27 +8876,24 @@ }, "node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, + "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -10065,18 +8903,16 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -10086,9 +8922,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -10099,9 +8934,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -10111,9 +8945,8 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -10126,9 +8959,8 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -10138,17 +8970,14 @@ }, "node_modules/posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/postcss": { "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "funding": [ { "type": "opencollective", @@ -10163,6 +8992,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "dependencies": { "nanoid": "^3.3.6", @@ -10175,18 +9005,16 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -10199,9 +9027,8 @@ }, "node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -10213,9 +9040,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -10225,29 +9051,25 @@ }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "license": "MIT" }, "node_modules/promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -10258,30 +9080,26 @@ }, "node_modules/propagate": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -10293,15 +9111,13 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -10309,9 +9125,8 @@ }, "node_modules/pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, + "license": "MIT", "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -10320,9 +9135,8 @@ }, "node_modules/pumpify/node_modules/pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -10330,16 +9144,13 @@ }, "node_modules/punycode": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pure-rand": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true, "funding": [ { @@ -10350,13 +9161,13 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -10369,8 +9180,6 @@ }, "node_modules/querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, "engines": { "node": ">=0.4.x" @@ -10378,14 +9187,11 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -10400,21 +9206,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, + "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -10422,8 +9227,7 @@ }, "node_modules/react": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.1.0" @@ -10434,9 +9238,8 @@ }, "node_modules/react-dom": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.1.0", @@ -10448,14 +9251,12 @@ }, "node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -10467,24 +9268,21 @@ }, "node_modules/readdir-glob": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.1.0" } }, "node_modules/readdir-glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/readdir-glob/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -10494,9 +9292,8 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "picomatch": "^2.2.1" @@ -10507,33 +9304,29 @@ }, "node_modules/redux": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" } }, "node_modules/redux-thunk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, + "license": "MIT", "peerDependencies": { "redux": "^4" } }, "node_modules/regenerator-runtime": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -10544,9 +9337,8 @@ }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -10561,55 +9353,48 @@ }, "node_modules/remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, + "license": "ISC", "optional": true }, "node_modules/repeat-element": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/reselect": { "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -10624,9 +9409,8 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -10636,52 +9420,45 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12" } }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -10689,9 +9466,8 @@ }, "node_modules/rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^10.2.5" }, @@ -10707,9 +9483,8 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -10717,8 +9492,7 @@ }, "node_modules/rollup": { "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", + "license": "MIT", "peer": true, "bin": { "rollup": "dist/bin/rollup" @@ -10733,8 +9507,6 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -10750,24 +9522,23 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/run-queue": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, + "license": "ISC", "dependencies": { "aproba": "^1.1.1" } }, "node_modules/safe-array-concat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -10783,23 +9554,20 @@ }, "node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, + "license": "MIT", "dependencies": { "ret": "~0.1.10" } }, "node_modules/safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -10811,15 +9579,13 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -10829,9 +9595,8 @@ }, "node_modules/scheduler": { "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.1.0" @@ -10839,8 +9604,7 @@ }, "node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -10856,9 +9620,8 @@ }, "node_modules/seek-bzip": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, + "license": "MIT", "dependencies": { "commander": "^2.8.1" }, @@ -10869,15 +9632,13 @@ }, "node_modules/seek-bzip/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -10890,9 +9651,8 @@ }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -10902,17 +9662,15 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-value": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -10925,9 +9683,8 @@ }, "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -10937,24 +9694,21 @@ }, "node_modules/set-value/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -10965,9 +9719,8 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10977,8 +9730,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10988,17 +9740,15 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -11010,8 +9760,7 @@ }, "node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "engines": { "node": ">=14" }, @@ -11021,24 +9770,21 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, + "license": "MIT", "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -11055,9 +9801,8 @@ }, "node_modules/snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -11069,9 +9814,8 @@ }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -11081,9 +9825,8 @@ }, "node_modules/snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.2.0" }, @@ -11093,9 +9836,8 @@ }, "node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11105,18 +9847,16 @@ }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -11126,9 +9866,8 @@ }, "node_modules/snapdragon/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -11138,9 +9877,8 @@ }, "node_modules/snapdragon/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11150,9 +9888,8 @@ }, "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11162,9 +9899,8 @@ }, "node_modules/snapdragon/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11174,9 +9910,8 @@ }, "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11186,9 +9921,8 @@ }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -11200,55 +9934,48 @@ }, "node_modules/snapdragon/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/snapdragon/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/source-map-js": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", "peer": true, "engines": { "node": ">=0.10.0" @@ -11256,10 +9983,8 @@ }, "node_modules/source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, + "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -11270,9 +9995,8 @@ }, "node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11280,25 +10004,21 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^3.0.0" }, @@ -11308,24 +10028,21 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/ssri": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, + "license": "ISC", "dependencies": { "figgy-pudding": "^3.5.1" } }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -11335,18 +10052,16 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -11357,9 +10072,8 @@ }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -11369,9 +10083,8 @@ }, "node_modules/static-extend/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11381,9 +10094,8 @@ }, "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11393,9 +10105,8 @@ }, "node_modules/static-extend/node_modules/is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11405,9 +10116,8 @@ }, "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11417,9 +10127,8 @@ }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -11431,18 +10140,16 @@ }, "node_modules/static-extend/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -11452,9 +10159,8 @@ }, "node_modules/stream-browserify": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" @@ -11462,15 +10168,13 @@ }, "node_modules/stream-browserify/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/stream-browserify/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11483,18 +10187,16 @@ }, "node_modules/stream-browserify/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/stream-each": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -11502,9 +10204,8 @@ }, "node_modules/stream-http": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, + "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", @@ -11515,15 +10216,13 @@ }, "node_modules/stream-http/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/stream-http/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11536,39 +10235,33 @@ }, "node_modules/stream-http/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/stream-read-all": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/stream-shift": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -11582,13 +10275,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -11599,8 +10292,7 @@ }, "node_modules/string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -11616,8 +10308,7 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -11629,13 +10320,11 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -11645,8 +10334,7 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -11659,9 +10347,8 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -11676,9 +10363,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -11690,9 +10376,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -11704,8 +10389,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11716,8 +10400,7 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11727,35 +10410,31 @@ }, "node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, + "license": "MIT", "dependencies": { "is-natural-number": "^4.0.1" } }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -11765,8 +10444,7 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11776,9 +10454,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11788,14 +10465,12 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/table-layout": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", + "license": "MIT", "dependencies": { "@75lb/deep-merge": "^1.1.1", "array-back": "^6.2.2", @@ -11814,32 +10489,28 @@ }, "node_modules/table-layout/node_modules/array-back": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "license": "MIT", "engines": { "node": ">=12.17" } }, "node_modules/table-layout/node_modules/typical": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "license": "MIT", "engines": { "node": ">=12.17" } }, "node_modules/tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -11853,8 +10524,7 @@ }, "node_modules/terser": { "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -11870,8 +10540,7 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -11903,8 +10572,7 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11916,8 +10584,7 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11930,21 +10597,18 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "license": "MIT" }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11952,9 +10616,8 @@ }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -11966,9 +10629,8 @@ }, "node_modules/test-exclude/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11986,21 +10648,18 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/timers-browserify": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, + "license": "MIT", "dependencies": { "setimmediate": "^1.0.4" }, @@ -12010,36 +10669,31 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-buffer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -12049,9 +10703,8 @@ }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -12061,9 +10714,8 @@ }, "node_modules/to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -12076,9 +10728,8 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -12088,9 +10739,8 @@ }, "node_modules/tough-cookie": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -12103,18 +10753,16 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/tr46": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -12124,9 +10772,8 @@ }, "node_modules/ts-jest": { "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -12167,9 +10814,8 @@ }, "node_modules/ts-jest/node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -12179,18 +10825,16 @@ }, "node_modules/ts-jest/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/ts-loader": { "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -12208,9 +10852,8 @@ "node_modules/ts-loader-webpack-4": { "name": "ts-loader", "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^4.0.0", @@ -12228,8 +10871,6 @@ }, "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -12242,15 +10883,13 @@ }, "node_modules/ts-loader-webpack-4/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, + "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -12261,9 +10900,8 @@ }, "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -12276,27 +10914,24 @@ }, "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/ts-loader-webpack-4/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -12306,15 +10941,13 @@ }, "node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -12327,15 +10960,13 @@ }, "node_modules/tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -12345,18 +10976,16 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -12366,9 +10995,8 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1", @@ -12380,9 +11008,8 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -12398,9 +11025,8 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -12417,9 +11043,8 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -12431,15 +11056,13 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/typescript": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12450,16 +11073,13 @@ }, "node_modules/typical": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ua-parser-js": { "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", "funding": [ { "type": "opencollective", @@ -12470,15 +11090,15 @@ "url": "https://paypal.me/faisalman" } ], + "license": "MIT", "engines": { "node": "*" } }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -12491,9 +11111,8 @@ }, "node_modules/unbzip2-stream": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" @@ -12501,9 +11120,8 @@ }, "node_modules/union-value": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, + "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -12516,36 +11134,32 @@ }, "node_modules/union-value/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, + "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" } }, "node_modules/unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" } }, "node_modules/unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, + "license": "MIT", "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -12556,9 +11170,8 @@ }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, + "license": "MIT", "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -12570,9 +11183,8 @@ }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, + "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -12582,24 +11194,21 @@ }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=4", @@ -12608,8 +11217,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "funding": [ { "type": "opencollective", @@ -12624,6 +11231,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -12637,24 +11245,20 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/url": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.0" @@ -12662,9 +11266,8 @@ }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -12672,44 +11275,38 @@ }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/use": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/util": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "2.0.3" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "license": "MIT" }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/v8-to-istanbul": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -12721,8 +11318,7 @@ }, "node_modules/vite": { "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "license": "MIT", "peer": true, "dependencies": { "esbuild": "^0.18.10", @@ -12776,15 +11372,13 @@ }, "node_modules/vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, + "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -12794,17 +11388,15 @@ }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -12815,9 +11407,8 @@ }, "node_modules/watchpack-chokidar2": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "chokidar": "^2.1.8" @@ -12825,9 +11416,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "micromatch": "^3.1.4", @@ -12836,9 +11426,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "remove-trailing-separator": "^1.0.1" @@ -12849,9 +11438,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -12859,9 +11447,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "arr-flatten": "^1.1.0", @@ -12881,9 +11468,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-extendable": "^0.1.0" @@ -12894,10 +11480,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/chokidar": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "anymatch": "^2.0.0", @@ -12918,9 +11502,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "extend-shallow": "^2.0.1", @@ -12934,9 +11517,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-extendable": "^0.1.0" @@ -12947,11 +11529,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/fsevents": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -12966,9 +11546,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "is-glob": "^3.1.0", @@ -12977,9 +11556,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-extglob": "^2.1.0" @@ -12990,9 +11568,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "binary-extensions": "^1.0.0" @@ -13003,9 +11580,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -13013,9 +11589,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "kind-of": "^3.0.2" @@ -13026,9 +11601,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-buffer": "^1.1.5" @@ -13039,16 +11613,14 @@ }, "node_modules/watchpack-chokidar2/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "arr-diff": "^4.0.0", @@ -13071,9 +11643,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "core-util-is": "~1.0.0", @@ -13087,9 +11658,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "graceful-fs": "^4.1.11", @@ -13102,9 +11672,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "safe-buffer": "~5.1.0" @@ -13112,9 +11681,8 @@ }, "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-number": "^3.0.0", @@ -13126,17 +11694,15 @@ }, "node_modules/webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/webpack": { "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -13182,9 +11748,8 @@ "node_modules/webpack-4": { "name": "webpack", "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -13231,9 +11796,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -13242,27 +11806,23 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -13272,33 +11832,29 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -13312,9 +11868,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -13325,9 +11880,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -13337,9 +11891,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", @@ -13351,9 +11904,8 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", @@ -13362,9 +11914,8 @@ }, "node_modules/webpack-4/node_modules/acorn": { "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -13374,9 +11925,8 @@ }, "node_modules/webpack-4/node_modules/braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "license": "MIT", "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -13395,9 +11945,8 @@ }, "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -13407,14 +11956,11 @@ }, "node_modules/webpack-4/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -13427,9 +11973,8 @@ }, "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, + "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -13440,9 +11985,8 @@ }, "node_modules/webpack-4/node_modules/eslint-scope": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -13453,9 +11997,8 @@ }, "node_modules/webpack-4/node_modules/fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -13468,9 +12011,8 @@ }, "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -13480,18 +12022,16 @@ }, "node_modules/webpack-4/node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/webpack-4/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -13501,9 +12041,8 @@ }, "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -13513,24 +12052,21 @@ }, "node_modules/webpack-4/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-4/node_modules/loader-runner": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" } }, "node_modules/webpack-4/node_modules/loader-utils": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -13542,9 +12078,8 @@ }, "node_modules/webpack-4/node_modules/micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -13566,9 +12101,8 @@ }, "node_modules/webpack-4/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13581,9 +12115,8 @@ }, "node_modules/webpack-4/node_modules/schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -13595,45 +12128,40 @@ }, "node_modules/webpack-4/node_modules/serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/webpack-4/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/webpack-4/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/webpack-4/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-4/node_modules/terser": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -13648,9 +12176,8 @@ }, "node_modules/webpack-4/node_modules/terser-webpack-plugin": { "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, + "license": "MIT", "dependencies": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", @@ -13671,9 +12198,8 @@ }, "node_modules/webpack-4/node_modules/to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -13684,9 +12210,8 @@ }, "node_modules/webpack-4/node_modules/watchpack": { "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" @@ -13698,9 +12223,8 @@ }, "node_modules/webpack-4/node_modules/webpack": { "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -13748,9 +12272,8 @@ }, "node_modules/webpack-4/node_modules/webpack-sources": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -13758,9 +12281,8 @@ }, "node_modules/webpack-cli": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -13803,33 +12325,29 @@ }, "node_modules/webpack-cli/node_modules/colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-cli/node_modules/commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/webpack-cli/node_modules/interpret": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/webpack-cli/node_modules/rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -13839,9 +12357,8 @@ }, "node_modules/webpack-merge": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -13852,17 +12369,15 @@ }, "node_modules/webpack-node-externals": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-sources": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -13870,9 +12385,8 @@ "node_modules/webpack-sources-webpack-4": { "name": "webpack-sources", "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -13880,18 +12394,16 @@ }, "node_modules/webpack-sources-webpack-4/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, + "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -13901,9 +12413,8 @@ }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -13913,18 +12424,16 @@ }, "node_modules/whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -13935,8 +12444,7 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -13949,9 +12457,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -13965,9 +12472,8 @@ }, "node_modules/which-collection": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, + "license": "MIT", "dependencies": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -13980,9 +12486,8 @@ }, "node_modules/which-typed-array": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -13999,31 +12504,27 @@ }, "node_modules/wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wordwrapjs": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "license": "MIT", "engines": { "node": ">=12.17" } }, "node_modules/worker-farm": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, + "license": "MIT", "dependencies": { "errno": "~0.1.7" } }, "node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -14039,8 +12540,7 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -14055,13 +12555,11 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14073,8 +12571,7 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14084,8 +12581,7 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14095,8 +12591,7 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -14109,14 +12604,12 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -14127,15 +12620,13 @@ }, "node_modules/write-file-atomic/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -14154,48 +12645,42 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12" } }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -14203,9 +12688,8 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -14215,8 +12699,7 @@ }, "node_modules/zip-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", @@ -14271,8 +12754,7 @@ }, "packages/node/node_modules/@backtrace-labs/sdk-core": { "version": "0.0.1", - "resolved": "https://packagecloud.io/backtrace/internal/npm/@backtrace-labs/sdk-core/-/sdk-core-0.0.1.tgz", - "integrity": "sha1-R16/y7qP6yYz6dIbMu7LDxWV0NY=" + "license": "MIT" }, "packages/react": { "name": "@backtrace-labs/react", @@ -14293,40 +12775,6 @@ "react": ">=16.8.0" } }, - "packages/react-native": { - "name": "@backtrace-labs/react-native", - "version": "0.0.1", - "extraneous": true, - "license": "MIT", - "dependencies": { - "@backtrace-labs/react": "^0.0.1", - "@backtrace-labs/sdk-core": "^0.0.1" - }, - "devDependencies": { - "@react-native-community/eslint-config": "^3.0.2", - "@release-it/conventional-changelog": "^5.0.0", - "@types/react": "~17.0.21", - "@types/react-native": "0.70.0", - "del-cli": "^5.0.0", - "eslint": "^8.4.1", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^28.1.1", - "pod-install": "^0.1.0", - "prettier": "^2.0.5", - "react": "18.2.0", - "react-native": "0.72.4", - "react-native-builder-bob": "^0.21.3", - "typescript": "^5.0.2" - }, - "engines": { - "node": ">= 16.0.0" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", "version": "0.0.2", @@ -14451,30 +12899,22 @@ "dependencies": { "@75lb/deep-merge": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", "requires": { "lodash.assignwith": "^4.2.0", "typical": "^7.1.1" }, "dependencies": { "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + "version": "7.1.1" } } }, "@aashutoshrathi/word-wrap": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, "@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -14483,8 +12923,6 @@ }, "@babel/code-frame": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", "dev": true, "requires": { "@babel/highlight": "^7.22.10", @@ -14493,8 +12931,6 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -14502,8 +12938,6 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -14513,8 +12947,6 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -14522,26 +12954,18 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -14551,14 +12975,10 @@ }, "@babel/compat-data": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true }, "@babel/core": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", - "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", @@ -14580,22 +13000,16 @@ "dependencies": { "json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/generator": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", "dev": true, "requires": { "@babel/types": "^7.22.10", @@ -14606,8 +13020,6 @@ }, "@babel/helper-compilation-targets": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dev": true, "requires": { "@babel/compat-data": "^7.22.9", @@ -14619,8 +13031,6 @@ "dependencies": { "lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" @@ -14628,28 +13038,20 @@ }, "semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "@babel/helper-environment-visitor": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true }, "@babel/helper-function-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "requires": { "@babel/template": "^7.22.5", @@ -14658,8 +13060,6 @@ }, "@babel/helper-hoist-variables": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -14667,8 +13067,6 @@ }, "@babel/helper-module-imports": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -14676,8 +13074,6 @@ }, "@babel/helper-module-transforms": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.5", @@ -14689,14 +13085,10 @@ }, "@babel/helper-plugin-utils": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true }, "@babel/helper-simple-access": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -14704,8 +13096,6 @@ }, "@babel/helper-split-export-declaration": { "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -14713,26 +13103,18 @@ }, "@babel/helper-string-parser": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true }, "@babel/helper-validator-identifier": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true }, "@babel/helper-validator-option": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true }, "@babel/helpers": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", - "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", "dev": true, "requires": { "@babel/template": "^7.22.5", @@ -14742,8 +13124,6 @@ }, "@babel/highlight": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.22.5", @@ -14753,8 +13133,6 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -14762,8 +13140,6 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -14773,8 +13149,6 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -14782,26 +13156,18 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -14811,14 +13177,10 @@ }, "@babel/parser": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", - "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", "dev": true }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14826,8 +13188,6 @@ }, "@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14835,8 +13195,6 @@ }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" @@ -14844,8 +13202,6 @@ }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -14853,8 +13209,6 @@ }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14862,8 +13216,6 @@ }, "@babel/plugin-syntax-jsx": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" @@ -14871,8 +13223,6 @@ }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -14880,8 +13230,6 @@ }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14889,8 +13237,6 @@ }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -14898,8 +13244,6 @@ }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14907,8 +13251,6 @@ }, "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14916,8 +13258,6 @@ }, "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -14925,8 +13265,6 @@ }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -14934,8 +13272,6 @@ }, "@babel/plugin-syntax-typescript": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" @@ -14943,8 +13279,6 @@ }, "@babel/runtime": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", - "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" @@ -14952,8 +13286,6 @@ }, "@babel/template": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "requires": { "@babel/code-frame": "^7.22.5", @@ -14963,8 +13295,6 @@ }, "@babel/traverse": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", - "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", "dev": true, "requires": { "@babel/code-frame": "^7.22.10", @@ -14981,16 +13311,12 @@ "dependencies": { "globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } }, "@babel/types": { "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", - "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.22.5", @@ -15043,9 +13369,7 @@ }, "dependencies": { "@backtrace-labs/sdk-core": { - "version": "0.0.1", - "resolved": "https://packagecloud.io/backtrace/internal/npm/@backtrace-labs/sdk-core/-/sdk-core-0.0.1.tgz", - "integrity": "sha1-R16/y7qP6yYz6dIbMu7LDxWV0NY=" + "version": "0.0.1" } } }, @@ -15124,174 +13448,19 @@ }, "@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, "@discoveryjs/json-ext": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, - "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "optional": true, - "peer": true - }, - "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "optional": true, - "peer": true - }, - "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "optional": true, - "peer": true - }, "@esbuild/darwin-x64": { "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "optional": true, - "peer": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "optional": true, - "peer": true - }, - "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "optional": true, - "peer": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "optional": true, - "peer": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "optional": true, - "peer": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "optional": true, - "peer": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "optional": true, - "peer": true - }, - "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "optional": true, "peer": true }, "@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" @@ -15299,14 +13468,10 @@ }, "@eslint-community/regexpp": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", - "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", "dev": true }, "@eslint/eslintrc": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -15322,14 +13487,10 @@ }, "@eslint/js": { "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -15339,20 +13500,14 @@ }, "@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "requires": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -15363,14 +13518,10 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "6.0.1" }, "strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -15379,8 +13530,6 @@ }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -15392,8 +13541,6 @@ "dependencies": { "argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -15401,8 +13548,6 @@ }, "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -15411,8 +13556,6 @@ }, "js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -15421,8 +13564,6 @@ }, "locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -15430,8 +13571,6 @@ }, "p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -15439,8 +13578,6 @@ }, "p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -15448,22 +13585,16 @@ }, "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "@jest/console": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", - "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -15476,8 +13607,6 @@ }, "@jest/core": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", - "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", "dev": true, "requires": { "@jest/console": "^29.6.4", @@ -15512,14 +13641,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -15529,16 +13654,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "@jest/environment": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", - "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", "dev": true, "requires": { "@jest/fake-timers": "^29.6.4", @@ -15549,8 +13670,6 @@ }, "@jest/expect": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", "dev": true, "requires": { "expect": "^29.6.4", @@ -15559,8 +13678,6 @@ }, "@jest/expect-utils": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", - "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", "dev": true, "requires": { "jest-get-type": "^29.6.3" @@ -15568,8 +13685,6 @@ }, "@jest/fake-timers": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", - "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -15582,8 +13697,6 @@ }, "@jest/globals": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", - "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", "dev": true, "requires": { "@jest/environment": "^29.6.4", @@ -15594,8 +13707,6 @@ }, "@jest/reporters": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", - "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", @@ -15626,8 +13737,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -15642,8 +13751,6 @@ }, "@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { "@sinclair/typebox": "^0.27.8" @@ -15651,8 +13758,6 @@ }, "@jest/source-map": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.18", @@ -15662,8 +13767,6 @@ }, "@jest/test-result": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", - "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", "dev": true, "requires": { "@jest/console": "^29.6.4", @@ -15674,8 +13777,6 @@ }, "@jest/test-sequencer": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", - "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", "dev": true, "requires": { "@jest/test-result": "^29.6.4", @@ -15686,8 +13787,6 @@ }, "@jest/transform": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", - "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -15709,16 +13808,12 @@ "dependencies": { "convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true } } }, "@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -15731,8 +13826,6 @@ }, "@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "requires": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -15740,33 +13833,23 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + "version": "3.1.1" }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "version": "1.1.2" }, "@jridgewell/source-map": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.4.15" }, "@jridgewell/trace-mapping": { "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -15774,8 +13857,6 @@ }, "@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", @@ -15784,14 +13865,10 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -15800,14 +13877,10 @@ }, "@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "optional": true }, "@reduxjs/toolkit": { "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", - "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", "dev": true, "requires": { "immer": "^9.0.21", @@ -15818,8 +13891,6 @@ }, "@rollup/plugin-typescript": { "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.2.tgz", - "integrity": "sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==", "dev": true, "requires": { "@rollup/pluginutils": "^5.0.1", @@ -15828,8 +13899,6 @@ }, "@rollup/pluginutils": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", - "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", "dev": true, "requires": { "@types/estree": "^1.0.0", @@ -15839,14 +13908,10 @@ }, "@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -15854,8 +13919,6 @@ }, "@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0" @@ -15863,8 +13926,6 @@ }, "@testing-library/dom": { "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -15879,8 +13940,6 @@ }, "@testing-library/react": { "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, "requires": { "@babel/runtime": "^7.12.5", @@ -15890,14 +13949,10 @@ }, "@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, "@types/archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", "dev": true, "requires": { "@types/readdir-glob": "*" @@ -15905,14 +13960,10 @@ }, "@types/aria-query": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", "dev": true }, "@types/babel__core": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "requires": { "@babel/parser": "^7.20.7", @@ -15924,8 +13975,6 @@ }, "@types/babel__generator": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { "@babel/types": "^7.0.0" @@ -15933,8 +13982,6 @@ }, "@types/babel__template": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -15943,8 +13990,6 @@ }, "@types/babel__traverse": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "requires": { "@babel/types": "^7.20.7" @@ -15952,20 +13997,14 @@ }, "@types/command-line-args": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", "dev": true }, "@types/command-line-usage": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", "dev": true }, "@types/decompress": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", - "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, "requires": { "@types/node": "*" @@ -15973,8 +14012,6 @@ }, "@types/eslint": { "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -15982,22 +14019,16 @@ }, "@types/eslint-scope": { "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "version": "1.0.1" }, "@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "requires": { "@types/node": "*" @@ -16005,14 +14036,10 @@ }, "@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" @@ -16020,8 +14047,6 @@ }, "@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "requires": { "@types/istanbul-lib-report": "*" @@ -16029,8 +14054,6 @@ }, "@types/jest": { "version": "29.5.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", - "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", "dev": true, "requires": { "expect": "^29.0.0", @@ -16039,14 +14062,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -16056,16 +14075,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "@types/jsdom": { "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, "requires": { "@types/node": "*", @@ -16074,31 +14089,21 @@ } }, "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.12" }, "@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, "@types/node": { - "version": "14.18.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.56.tgz", - "integrity": "sha512-+k+57NVS9opgrEn5l9c0gvD1r6C+PtyhVE4BTnMMRwiEA8ZO8uFcs6Yy2sXIy0eC95ZurBtRSvhZiHXBysbl6w==" + "version": "14.18.56" }, "@types/prop-types": { "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", "dev": true }, "@types/react": { "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", - "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -16108,8 +14113,6 @@ }, "@types/react-dom": { "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "dev": true, "requires": { "@types/react": "*" @@ -16117,8 +14120,6 @@ }, "@types/readdir-glob": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", "dev": true, "requires": { "@types/node": "*" @@ -16126,44 +14127,30 @@ }, "@types/scheduler": { "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", "dev": true }, "@types/semver": { "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, "@types/source-list-map": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, "@types/stack-utils": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, "@types/tough-cookie": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, "@types/ua-parser-js": { "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz", - "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==", "dev": true }, "@types/webpack-sources": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, "requires": { "@types/node": "*", @@ -16173,8 +14160,6 @@ }, "@types/yargs": { "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -16182,14 +14167,10 @@ }, "@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, "@typescript-eslint/eslint-plugin": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", @@ -16206,8 +14187,6 @@ }, "@typescript-eslint/parser": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "requires": { "@typescript-eslint/scope-manager": "5.62.0", @@ -16218,8 +14197,6 @@ }, "@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "requires": { "@typescript-eslint/types": "5.62.0", @@ -16228,8 +14205,6 @@ }, "@typescript-eslint/type-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "requires": { "@typescript-eslint/typescript-estree": "5.62.0", @@ -16240,14 +14215,10 @@ }, "@typescript-eslint/types": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true }, "@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "requires": { "@typescript-eslint/types": "5.62.0", @@ -16261,8 +14232,6 @@ }, "@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -16277,8 +14246,6 @@ }, "@typescript-eslint/visitor-keys": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "requires": { "@typescript-eslint/types": "5.62.0", @@ -16287,32 +14254,22 @@ }, "@webassemblyjs/ast": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "requires": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.11.6" }, "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.11.6" }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "version": "1.11.6" }, "@webassemblyjs/helper-code-frame": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { "@webassemblyjs/wast-printer": "1.9.0" @@ -16320,8 +14277,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -16331,14 +14286,10 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -16350,14 +14301,10 @@ }, "@webassemblyjs/helper-fsm": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0" @@ -16365,8 +14312,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -16376,16 +14321,12 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true } } }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -16393,14 +14334,10 @@ } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.11.6" }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -16410,29 +14347,21 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.11.6" }, "@webassemblyjs/wasm-edit": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -16446,8 +14375,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -16458,8 +14385,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -16469,8 +14394,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -16482,8 +14405,6 @@ }, "@webassemblyjs/wast-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -16496,8 +14417,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -16507,28 +14426,20 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true } } }, "@webassemblyjs/wast-printer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "requires": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -16536,50 +14447,34 @@ }, "@webpack-cli/configtest": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "requires": {} }, "@webpack-cli/serve": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "requires": {} }, "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "version": "1.2.0" }, "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "version": "4.2.2" }, "abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + "version": "8.10.0" }, "acorn-globals": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "requires": { "acorn": "^8.1.0", @@ -16588,27 +14483,19 @@ }, "acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "requires": {} }, "acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "acorn-walk": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, "agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { "debug": "4" @@ -16616,8 +14503,6 @@ }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -16627,21 +14512,15 @@ }, "ajv-errors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, "requires": {} }, "ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "requires": {} }, "ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { "type-fest": "^0.21.3" @@ -16649,29 +14528,21 @@ "dependencies": { "type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "version": "5.0.1" }, "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { "color-convert": "^2.0.1" } }, "anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -16680,14 +14551,10 @@ }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", "requires": { "archiver-utils": "^2.1.0", "async": "^3.2.4", @@ -16700,8 +14567,6 @@ }, "archiver-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "requires": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", @@ -16717,8 +14582,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -16729,14 +14592,10 @@ } }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "version": "1.0.0" }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -16749,8 +14608,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -16759,14 +14616,10 @@ }, "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "aria-query": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, "requires": { "deep-equal": "^2.0.5" @@ -16774,31 +14627,21 @@ }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + "version": "3.1.0" }, "array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -16807,8 +14650,6 @@ }, "array-includes": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -16820,20 +14661,14 @@ }, "array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "array.prototype.findlastindex": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -16845,8 +14680,6 @@ }, "array.prototype.flat": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -16857,8 +14690,6 @@ }, "array.prototype.flatmap": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -16869,8 +14700,6 @@ }, "arraybuffer.prototype.slice": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -16883,8 +14712,6 @@ }, "asn1.js": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -16895,16 +14722,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "assert": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -16913,14 +14736,10 @@ "dependencies": { "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", "dev": true }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "requires": { "inherits": "2.0.1" @@ -16930,43 +14749,29 @@ }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.4" }, "async-each": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, "optional": true }, "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "version": "0.4.0" }, "atob": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, "babel-jest": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", - "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", "dev": true, "requires": { "@jest/transform": "^29.6.4", @@ -16980,8 +14785,6 @@ }, "babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -16993,8 +14796,6 @@ "dependencies": { "istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -17006,16 +14807,12 @@ }, "semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -17026,8 +14823,6 @@ }, "babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", @@ -17046,8 +14841,6 @@ }, "babel-preset-jest": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "requires": { "babel-plugin-jest-hoist": "^29.6.3", @@ -17055,14 +14848,10 @@ } }, "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "version": "1.0.2" }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", @@ -17076,8 +14865,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -17086,27 +14873,19 @@ } }, "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "version": "1.5.1" }, "big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true }, "bindings": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "optional": true, "requires": { @@ -17115,8 +14894,6 @@ }, "bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -17125,20 +14902,14 @@ }, "bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -17146,8 +14917,6 @@ }, "braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" @@ -17155,14 +14924,10 @@ }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "^1.0.3", @@ -17175,8 +14940,6 @@ }, "browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -17186,8 +14949,6 @@ }, "browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -17198,8 +14959,6 @@ }, "browserify-rsa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { "bn.js": "^5.0.0", @@ -17208,8 +14967,6 @@ }, "browserify-sign": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", @@ -17225,16 +14982,12 @@ "dependencies": { "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { "pako": "~1.0.5" @@ -17242,8 +14995,6 @@ }, "browserslist": { "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "requires": { "caniuse-lite": "^1.0.30001517", "electron-to-chromium": "^1.4.477", @@ -17253,8 +15004,6 @@ }, "bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "requires": { "fast-json-stable-stringify": "2.x" @@ -17262,8 +15011,6 @@ }, "bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { "node-int64": "^0.4.0" @@ -17271,8 +15018,6 @@ }, "buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -17280,8 +15025,6 @@ }, "buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { "buffer-alloc-unsafe": "^1.1.0", @@ -17290,42 +15033,28 @@ }, "buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + "version": "0.2.13" }, "buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "version": "1.1.2" }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, "cacache": { "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -17347,8 +15076,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -17361,8 +15088,6 @@ }, "lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" @@ -17370,8 +15095,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -17379,22 +15102,16 @@ }, "y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -17410,8 +15127,6 @@ }, "call-bind": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -17420,25 +15135,17 @@ }, "callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "caniuse-lite": { - "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==" + "version": "1.0.30001522" }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17446,22 +15153,16 @@ }, "chalk-template": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "requires": { "chalk": "^4.1.2" } }, "char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, "chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "optional": true, "requires": { @@ -17477,8 +15178,6 @@ "dependencies": { "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "optional": true, "requires": { @@ -17489,25 +15188,17 @@ }, "chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "version": "1.0.3" }, "ci-info": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -17516,14 +15207,10 @@ }, "cjs-module-lexer": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -17534,8 +15221,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -17543,8 +15228,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -17552,8 +15235,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -17563,8 +15244,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -17572,8 +15251,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -17583,8 +15260,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -17594,16 +15269,12 @@ }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -17613,20 +15284,14 @@ }, "co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -17635,29 +15300,21 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "version": "1.1.4" }, "combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "command-line-args": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "requires": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -17667,8 +15324,6 @@ }, "command-line-usage": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "requires": { "array-back": "^6.2.2", "chalk-template": "^0.4.0", @@ -17677,33 +15332,23 @@ }, "dependencies": { "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + "version": "6.2.2" }, "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + "version": "7.1.1" } } }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "component-emitter": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "compress-commons": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "requires": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", @@ -17712,32 +15357,22 @@ } }, "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "version": "0.0.1" }, "console-browserify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", "dev": true }, "convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, "copy-concurrently": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -17750,8 +15385,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -17764,8 +15397,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -17775,24 +15406,16 @@ }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "version": "1.0.3" }, "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + "version": "1.2.2" }, "crc32-stream": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "requires": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -17800,8 +15423,6 @@ }, "create-ecdh": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -17810,16 +15431,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -17831,8 +15448,6 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "^1.0.3", @@ -17845,8 +15460,6 @@ }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -17855,8 +15468,6 @@ }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "^1.0.0", @@ -17874,14 +15485,10 @@ }, "cssom": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, "cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -17889,28 +15496,20 @@ "dependencies": { "cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, "csstype": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, "cyclist": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", "dev": true }, "data-urls": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { "abab": "^2.0.6", @@ -17920,8 +15519,6 @@ }, "debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -17929,20 +15526,14 @@ }, "decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, "decode-uri-component": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "decompress": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "requires": { "decompress-tar": "^4.0.0", @@ -17957,8 +15548,6 @@ }, "decompress-tar": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "requires": { "file-type": "^5.2.0", @@ -17968,8 +15557,6 @@ "dependencies": { "bl": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "requires": { "readable-stream": "^2.3.5", @@ -17978,14 +15565,10 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -17999,8 +15582,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -18008,8 +15589,6 @@ }, "tar-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, "requires": { "bl": "^1.0.0", @@ -18025,8 +15604,6 @@ }, "decompress-tarbz2": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "requires": { "decompress-tar": "^4.1.0", @@ -18038,16 +15615,12 @@ "dependencies": { "file-type": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true } } }, "decompress-targz": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "requires": { "decompress-tar": "^4.1.1", @@ -18057,8 +15630,6 @@ }, "decompress-unzip": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "requires": { "file-type": "^3.8.0", @@ -18069,23 +15640,17 @@ "dependencies": { "file-type": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true } } }, "dedent": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, "requires": {} }, "deep-equal": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -18110,20 +15675,14 @@ }, "deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, "define-properties": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -18132,8 +15691,6 @@ }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -18141,14 +15698,10 @@ } }, "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "version": "1.0.0" }, "des.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -18157,20 +15710,14 @@ }, "detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, "diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true }, "diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -18180,16 +15727,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" @@ -18197,8 +15740,6 @@ }, "doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -18206,20 +15747,14 @@ }, "dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "domexception": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "requires": { "webidl-conversions": "^7.0.0" @@ -18227,8 +15762,6 @@ }, "duplexify": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -18239,14 +15772,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -18260,8 +15789,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -18270,19 +15797,13 @@ } }, "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "version": "0.2.0" }, "electron-to-chromium": { - "version": "1.4.500", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.500.tgz", - "integrity": "sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==" + "version": "1.4.500" }, "elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -18296,41 +15817,29 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "version": "9.2.2" }, "emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "end-of-stream": { "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } }, "enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -18338,20 +15847,14 @@ }, "entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, "envinfo": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true }, "errno": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" @@ -18359,16 +15862,12 @@ }, "error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -18414,8 +15913,6 @@ }, "es-get-iterator": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -18430,14 +15927,10 @@ } }, "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + "version": "1.3.0" }, "es-set-tostringtag": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "requires": { "get-intrinsic": "^1.1.3", @@ -18447,8 +15940,6 @@ }, "es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "requires": { "has": "^1.0.3" @@ -18456,8 +15947,6 @@ }, "es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -18467,8 +15956,6 @@ }, "esbuild": { "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "peer": true, "requires": { "@esbuild/android-arm": "0.18.20", @@ -18496,20 +15983,14 @@ } }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "version": "3.1.1" }, "escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "escodegen": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "requires": { "esprima": "^4.0.1", @@ -18520,14 +16001,10 @@ "dependencies": { "estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true } @@ -18535,8 +16012,6 @@ }, "eslint": { "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -18580,8 +16055,6 @@ "dependencies": { "eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -18590,23 +16063,17 @@ }, "estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "eslint-config-prettier": { "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "requires": { "debug": "^3.2.7", @@ -18616,8 +16083,6 @@ "dependencies": { "debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -18627,8 +16092,6 @@ }, "eslint-module-utils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { "debug": "^3.2.7" @@ -18636,8 +16099,6 @@ "dependencies": { "debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -18647,8 +16108,6 @@ }, "eslint-plugin-import": { "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, "requires": { "array-includes": "^3.1.6", @@ -18672,8 +16131,6 @@ "dependencies": { "debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -18681,8 +16138,6 @@ }, "doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -18690,22 +16145,16 @@ }, "semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "eslint-plugin-local-rules": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", "dev": true }, "eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -18713,14 +16162,10 @@ }, "eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { "acorn": "^8.9.0", @@ -18730,14 +16175,10 @@ }, "esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -18745,53 +16186,37 @@ "dependencies": { "estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "version": "5.3.0" } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "version": "4.3.0" }, "estree-walker": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, "esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "version": "3.3.0" }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "^1.3.4", @@ -18800,8 +16225,6 @@ }, "execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -18817,34 +16240,24 @@ "dependencies": { "get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, "is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", @@ -18858,8 +16271,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -18867,8 +16278,6 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -18876,8 +16285,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -18885,8 +16292,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -18894,8 +16299,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -18905,8 +16308,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -18914,8 +16315,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -18925,8 +16324,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -18936,28 +16333,20 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "expect": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", "dev": true, "requires": { "@jest/expect-utils": "^29.6.4", @@ -18969,8 +16358,6 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -18979,8 +16366,6 @@ }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", @@ -18995,8 +16380,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -19004,8 +16387,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -19013,21 +16394,15 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "version": "3.1.3" }, "fast-glob": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -19039,8 +16414,6 @@ "dependencies": { "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -19049,31 +16422,21 @@ } }, "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "version": "2.1.0" }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + "version": "2.1.1" }, "fastest-levenshtein": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -19081,8 +16444,6 @@ }, "fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -19090,8 +16451,6 @@ }, "fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "requires": { "pend": "~1.2.0" @@ -19099,14 +16458,10 @@ }, "figgy-pudding": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -19114,21 +16469,15 @@ }, "file-type": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true }, "file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "optional": true }, "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -19136,8 +16485,6 @@ }, "find-cache-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -19147,8 +16494,6 @@ "dependencies": { "find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" @@ -19156,8 +16501,6 @@ }, "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", @@ -19166,8 +16509,6 @@ }, "make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { "pify": "^4.0.1", @@ -19176,8 +16517,6 @@ }, "p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -19185,8 +16524,6 @@ }, "p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" @@ -19194,20 +16531,14 @@ }, "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true }, "pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { "find-up": "^3.0.0" @@ -19215,24 +16546,18 @@ }, "semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } }, "find-replace": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "requires": { "array-back": "^3.0.1" } }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", @@ -19241,8 +16566,6 @@ }, "flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -19251,8 +16574,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -19265,8 +16586,6 @@ }, "rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -19276,14 +16595,10 @@ }, "flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "flush-write-stream": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -19292,14 +16607,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -19313,8 +16624,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -19324,8 +16633,6 @@ }, "for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { "is-callable": "^1.1.3" @@ -19333,14 +16640,10 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, "foreground-child": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -19348,8 +16651,6 @@ }, "form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -19358,8 +16659,6 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -19367,8 +16666,6 @@ }, "from2": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -19377,14 +16674,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -19398,8 +16691,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -19408,14 +16699,10 @@ } }, "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "version": "1.0.0" }, "fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -19426,14 +16713,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -19447,8 +16730,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -19457,26 +16738,18 @@ } }, "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "version": "1.0.0" }, "fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, "function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "function.prototype.name": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -19487,26 +16760,18 @@ }, "functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-intrinsic": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -19517,14 +16782,10 @@ }, "get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "get-stream": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "requires": { "object-assign": "^4.0.1", @@ -19533,8 +16794,6 @@ }, "get-symbol-description": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -19543,14 +16802,10 @@ }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "glob": { "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", "requires": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -19561,16 +16816,12 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "requires": { "brace-expansion": "^2.0.1" } @@ -19579,22 +16830,16 @@ }, "glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" } }, "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "version": "0.4.1" }, "globals": { "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -19602,8 +16847,6 @@ }, "globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "requires": { "define-properties": "^1.1.3" @@ -19611,8 +16854,6 @@ }, "globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -19625,28 +16866,20 @@ }, "gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "requires": { "get-intrinsic": "^1.1.3" } }, "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "version": "4.2.11" }, "graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -19654,19 +16887,13 @@ }, "has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "version": "4.0.0" }, "has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "requires": { "get-intrinsic": "^1.1.1" @@ -19674,20 +16901,14 @@ }, "has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true }, "has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -19695,8 +16916,6 @@ }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", @@ -19706,8 +16925,6 @@ }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -19716,8 +16933,6 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -19725,8 +16940,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -19736,8 +16949,6 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -19747,8 +16958,6 @@ }, "hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { "inherits": "^2.0.4", @@ -19758,16 +16967,12 @@ "dependencies": { "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -19776,8 +16981,6 @@ }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "requires": { "hash.js": "^1.0.3", @@ -19787,8 +16990,6 @@ }, "html-encoding-sniffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "requires": { "whatwg-encoding": "^2.0.0" @@ -19796,14 +16997,10 @@ }, "html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { "@tootallnate/once": "2", @@ -19813,14 +17010,10 @@ }, "https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, "https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", @@ -19829,37 +17022,25 @@ }, "human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "version": "1.2.1" }, "iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, "ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "immer": { "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "dev": true }, "import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -19868,8 +17049,6 @@ }, "import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -19878,34 +17057,24 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "infer-owner": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "version": "2.0.4" }, "internal-slot": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { "get-intrinsic": "^1.2.0", @@ -19915,8 +17084,6 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -19924,8 +17091,6 @@ }, "is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -19934,8 +17099,6 @@ }, "is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -19944,14 +17107,10 @@ } }, "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "version": "0.2.1" }, "is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { "has-bigints": "^1.0.1" @@ -19959,8 +17118,6 @@ }, "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "optional": true, "requires": { @@ -19969,8 +17126,6 @@ }, "is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -19979,20 +17134,14 @@ }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -20000,8 +17149,6 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -20009,8 +17156,6 @@ }, "is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -20018,8 +17163,6 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -20029,8 +17172,6 @@ }, "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -20038,25 +17179,17 @@ }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "version": "3.0.0" }, "is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, "is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -20064,32 +17197,22 @@ }, "is-map": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true }, "is-natural-number": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", "dev": true }, "is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -20097,14 +17220,10 @@ }, "is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -20112,14 +17231,10 @@ }, "is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, "is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -20128,14 +17243,10 @@ }, "is-set": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true }, "is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -20143,14 +17254,10 @@ }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true }, "is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -20158,8 +17265,6 @@ }, "is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -20167,8 +17272,6 @@ }, "is-typed-array": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "requires": { "which-typed-array": "^1.1.11" @@ -20176,14 +17279,10 @@ }, "is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true }, "is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -20191,8 +17290,6 @@ }, "is-weakset": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -20201,43 +17298,29 @@ }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "is-wsl": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true }, "isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "version": "2.0.0" }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true }, "istanbul-lib-instrument": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", - "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -20249,8 +17332,6 @@ }, "istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", @@ -20260,8 +17341,6 @@ "dependencies": { "make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { "semver": "^7.5.3" @@ -20271,8 +17350,6 @@ }, "istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -20282,16 +17359,12 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "istanbul-reports": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -20300,8 +17373,6 @@ }, "jackspeak": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -20309,8 +17380,6 @@ }, "jest": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", - "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", "dev": true, "requires": { "@jest/core": "^29.6.4", @@ -20321,8 +17390,6 @@ }, "jest-changed-files": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", - "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", "dev": true, "requires": { "execa": "^5.0.0", @@ -20332,8 +17399,6 @@ }, "jest-circus": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", - "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", "dev": true, "requires": { "@jest/environment": "^29.6.4", @@ -20360,14 +17425,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20377,16 +17438,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-cli": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", - "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", "dev": true, "requires": { "@jest/core": "^29.6.4", @@ -20405,8 +17462,6 @@ "dependencies": { "cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -20416,14 +17471,10 @@ }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -20433,8 +17484,6 @@ }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -20444,8 +17493,6 @@ }, "yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { "cliui": "^8.0.1", @@ -20459,16 +17506,12 @@ }, "yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } }, "jest-config": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", - "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -20497,14 +17540,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -20517,8 +17556,6 @@ }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20528,16 +17565,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-diff": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", - "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -20548,14 +17581,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20565,16 +17594,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-docblock": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", - "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", "dev": true, "requires": { "detect-newline": "^3.0.0" @@ -20582,8 +17607,6 @@ }, "jest-each": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", - "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -20595,14 +17618,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20612,16 +17631,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-environment-jsdom": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz", - "integrity": "sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA==", "dev": true, "requires": { "@jest/environment": "^29.6.4", @@ -20636,8 +17651,6 @@ }, "jest-environment-node": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", - "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", "dev": true, "requires": { "@jest/environment": "^29.6.4", @@ -20650,14 +17663,10 @@ }, "jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true }, "jest-haste-map": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", - "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -20676,8 +17685,6 @@ }, "jest-leak-detector": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", - "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", "dev": true, "requires": { "jest-get-type": "^29.6.3", @@ -20686,14 +17693,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20703,16 +17706,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-matcher-utils": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", - "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -20723,14 +17722,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20740,16 +17735,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-message-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", - "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", @@ -20765,14 +17756,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20782,16 +17769,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-mock": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", - "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -20801,21 +17784,15 @@ }, "jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "requires": {} }, "jest-regex-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true }, "jest-resolve": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", - "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -20831,8 +17808,6 @@ }, "jest-resolve-dependencies": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", - "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", "dev": true, "requires": { "jest-regex-util": "^29.6.3", @@ -20841,8 +17816,6 @@ }, "jest-runner": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", - "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", "dev": true, "requires": { "@jest/console": "^29.6.4", @@ -20870,8 +17843,6 @@ }, "jest-runtime": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", - "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", "dev": true, "requires": { "@jest/environment": "^29.6.4", @@ -20900,8 +17871,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -20914,16 +17883,12 @@ }, "strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true } } }, "jest-snapshot": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", - "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -20950,14 +17915,10 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -20967,16 +17928,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -20989,8 +17946,6 @@ }, "jest-validate": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", - "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -21003,20 +17958,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -21026,16 +17975,12 @@ }, "react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-watcher": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", - "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", "dev": true, "requires": { "@jest/test-result": "^29.6.4", @@ -21050,8 +17995,6 @@ }, "jest-worker": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, "requires": { "@types/node": "*", @@ -21062,8 +18005,6 @@ "dependencies": { "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -21072,14 +18013,10 @@ } }, "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "version": "4.0.0" }, "js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" @@ -21087,8 +18024,6 @@ }, "jsdom": { "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "requires": { "abab": "^2.0.6", @@ -21121,41 +18056,27 @@ }, "jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "version": "1.0.2" }, "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "version": "2.3.1" }, "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "version": "0.4.1" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -21163,8 +18084,6 @@ }, "jsonc": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "requires": { "fast-safe-stringify": "^2.0.6", "graceful-fs": "^4.1.15", @@ -21176,49 +18095,35 @@ "dependencies": { "parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "version": "4.0.0" } } }, "kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, "lazystream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "requires": { "readable-stream": "^2.0.5" }, "dependencies": { "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "version": "1.0.0" }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -21231,8 +18136,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -21241,14 +18144,10 @@ }, "leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, "levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -21257,19 +18156,13 @@ }, "lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + "version": "4.3.0" }, "loader-utils": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -21279,16 +18172,12 @@ "dependencies": { "json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true } } }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" @@ -21296,81 +18185,53 @@ }, "lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" + "version": "4.2.0" }, "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "version": "4.3.0" }, "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + "version": "4.2.0" }, "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + "version": "4.5.0" }, "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "version": "4.4.0" }, "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "version": "4.0.6" }, "lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + "version": "4.6.0" }, "loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "peer": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" + "version": "10.0.1" }, "lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true }, "make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { "pify": "^3.0.0" @@ -21378,22 +18239,16 @@ "dependencies": { "pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, "make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, "makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { "tmpl": "1.0.5" @@ -21401,14 +18256,10 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -21416,8 +18267,6 @@ }, "md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -21427,8 +18276,6 @@ }, "memory-fs": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "requires": { "errno": "^0.1.3", @@ -21437,14 +18284,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -21458,8 +18301,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -21468,20 +18309,14 @@ } }, "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "version": "2.0.0" }, "merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -21490,8 +18325,6 @@ }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -21500,65 +18333,45 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "version": "1.52.0" }, "mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { "mime-db": "1.52.0" } }, "mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, "minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + "version": "1.2.8" }, "minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==" + "version": "7.0.3" }, "mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -21575,8 +18388,6 @@ "dependencies": { "concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -21587,14 +18398,10 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -21608,8 +18415,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -21617,8 +18422,6 @@ }, "through2": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", @@ -21629,8 +18432,6 @@ }, "mixin-deep": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -21639,16 +18440,12 @@ }, "mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { "minimist": "^1.2.6" } }, "move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -21661,8 +18458,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -21675,8 +18470,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -21686,27 +18479,19 @@ }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "nan": { "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, "nanoid": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "peer": true }, "nanomatch": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -21724,33 +18509,23 @@ }, "native-reg": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "requires": { "node-gyp-build": "4" } }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "natural-compare-lite": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "version": "2.6.2" }, "nock": { "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -21760,20 +18535,14 @@ } }, "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" + "version": "4.6.0" }, "node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-libs-browser": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -21803,8 +18572,6 @@ "dependencies": { "buffer": { "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -21814,20 +18581,14 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -21841,8 +18602,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -21851,19 +18610,13 @@ } }, "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.13" }, "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "version": "3.0.0" }, "npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -21871,20 +18624,14 @@ }, "nwsapi": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -21894,8 +18641,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -21903,8 +18648,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -21912,8 +18655,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -21921,8 +18662,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -21932,16 +18671,12 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -21951,14 +18686,10 @@ }, "object-inspect": { "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-is": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -21967,14 +18698,10 @@ }, "object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" @@ -21982,8 +18709,6 @@ }, "object.assign": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -21994,8 +18719,6 @@ }, "object.fromentries": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -22005,8 +18728,6 @@ }, "object.groupby": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -22017,8 +18738,6 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -22026,8 +18745,6 @@ }, "object.values": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -22037,16 +18754,12 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -22054,8 +18767,6 @@ }, "optionator": { "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { "@aashutoshrathi/word-wrap": "^1.2.3", @@ -22068,14 +18779,10 @@ }, "os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -22083,8 +18790,6 @@ }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" @@ -22092,20 +18797,14 @@ }, "p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { "cyclist": "^1.0.1", @@ -22115,14 +18814,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -22136,8 +18831,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -22147,8 +18840,6 @@ }, "parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -22156,8 +18847,6 @@ }, "parse-asn1": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", @@ -22169,8 +18858,6 @@ }, "parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -22181,8 +18868,6 @@ }, "parse5": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "requires": { "entities": "^4.4.0" @@ -22190,49 +18875,33 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, "optional": true }, "path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "version": "1.0.1" }, "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "version": "3.1.1" }, "path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-scurry": { "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -22240,14 +18909,10 @@ }, "path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -22259,37 +18924,25 @@ }, "pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.0" }, "picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -22297,14 +18950,10 @@ }, "pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -22312,8 +18961,6 @@ "dependencies": { "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -22322,8 +18969,6 @@ }, "locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -22331,8 +18976,6 @@ }, "p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -22340,8 +18983,6 @@ }, "p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -22351,14 +18992,10 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "postcss": { "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "peer": true, "requires": { "nanoid": "^3.3.6", @@ -22368,20 +19005,14 @@ }, "prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, "pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "requires": { "ansi-regex": "^5.0.1", @@ -22391,33 +19022,23 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "version": "2.0.1" }, "promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -22426,26 +19047,18 @@ }, "propagate": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, "prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -22458,16 +19071,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -22476,8 +19085,6 @@ }, "pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -22487,8 +19094,6 @@ "dependencies": { "pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -22498,20 +19103,14 @@ } }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + "version": "2.3.0" }, "pure-rand": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true }, "qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -22519,34 +19118,24 @@ }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -22555,8 +19144,6 @@ }, "react": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "peer": true, "requires": { "loose-envify": "^1.1.0" @@ -22564,8 +19151,6 @@ }, "react-dom": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, "peer": true, "requires": { @@ -22575,14 +19160,10 @@ }, "react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -22591,24 +19172,18 @@ }, "readdir-glob": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "requires": { "minimatch": "^5.1.0" }, "dependencies": { "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -22617,8 +19192,6 @@ }, "readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "optional": true, "requires": { @@ -22627,8 +19200,6 @@ }, "redux": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, "requires": { "@babel/runtime": "^7.9.2" @@ -22636,21 +19207,15 @@ }, "redux-thunk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, "requires": {} }, "regenerator-runtime": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", "dev": true }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -22659,8 +19224,6 @@ }, "regexp.prototype.flags": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -22670,45 +19233,31 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, "optional": true }, "repeat-element": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "reselect": { "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", "dev": true }, "resolve": { "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, "requires": { "is-core-module": "^2.13.0", @@ -22718,8 +19267,6 @@ }, "resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -22727,46 +19274,32 @@ "dependencies": { "resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "requires": { "glob": "^10.2.5" @@ -22774,8 +19307,6 @@ }, "ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -22784,8 +19315,6 @@ }, "rollup": { "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", "peer": true, "requires": { "fsevents": "~2.3.2" @@ -22793,8 +19322,6 @@ }, "run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" @@ -22802,8 +19329,6 @@ }, "run-queue": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" @@ -22811,8 +19336,6 @@ }, "safe-array-concat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -22822,14 +19345,10 @@ } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.1.2" }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" @@ -22837,8 +19356,6 @@ }, "safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -22848,14 +19365,10 @@ }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -22863,8 +19376,6 @@ }, "scheduler": { "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, "peer": true, "requires": { @@ -22873,8 +19384,6 @@ }, "schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -22883,8 +19392,6 @@ }, "seek-bzip": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { "commander": "^2.8.1" @@ -22892,16 +19399,12 @@ "dependencies": { "commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true } } }, "semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22909,8 +19412,6 @@ "dependencies": { "lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -22920,16 +19421,12 @@ }, "serialize-javascript": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "requires": { "randombytes": "^2.1.0" } }, "set-value": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -22940,8 +19437,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -22949,22 +19444,16 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -22973,8 +19462,6 @@ }, "shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -22982,21 +19469,15 @@ }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "version": "3.0.0" }, "side-channel": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -23005,26 +19486,18 @@ } }, "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + "version": "4.1.0" }, "sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -23039,8 +19512,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -23048,8 +19519,6 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -23057,8 +19526,6 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -23066,8 +19533,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -23075,8 +19540,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -23086,8 +19549,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -23095,8 +19556,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -23106,8 +19565,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -23117,34 +19574,24 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -23154,8 +19601,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -23165,8 +19610,6 @@ }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -23174,8 +19617,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -23185,25 +19626,17 @@ }, "source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + "version": "0.7.4" }, "source-map-js": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "peer": true }, "source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", @@ -23215,8 +19648,6 @@ }, "source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -23225,22 +19656,16 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -23248,14 +19673,10 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "ssri": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -23263,8 +19684,6 @@ }, "stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -23272,16 +19691,12 @@ "dependencies": { "escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true } } }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -23290,8 +19705,6 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -23299,8 +19712,6 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -23308,8 +19719,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -23319,8 +19728,6 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -23328,8 +19735,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -23339,8 +19744,6 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -23350,16 +19753,12 @@ }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, "requires": { "internal-slot": "^1.0.4" @@ -23367,8 +19766,6 @@ }, "stream-browserify": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", @@ -23377,14 +19774,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -23398,8 +19791,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -23409,8 +19800,6 @@ }, "stream-each": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -23419,8 +19808,6 @@ }, "stream-http": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -23432,14 +19819,10 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -23453,8 +19836,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -23463,35 +19844,25 @@ } }, "stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==" + "version": "3.0.1" }, "stream-shift": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" }, "dependencies": { "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.2.1" } } }, "string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { "char-regex": "^1.0.2", @@ -23500,8 +19871,6 @@ }, "string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -23509,14 +19878,10 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "6.0.1" }, "strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -23525,8 +19890,6 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -23534,16 +19897,12 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "version": "8.0.0" } } }, "string.prototype.trim": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -23553,8 +19912,6 @@ }, "string.prototype.trimend": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -23564,8 +19921,6 @@ }, "string.prototype.trimstart": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -23575,30 +19930,22 @@ }, "strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "requires": { "is-natural-number": "^4.0.1" @@ -23606,39 +19953,27 @@ }, "strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "version": "3.1.1" }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table-layout": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "requires": { "@75lb/deep-merge": "^1.1.1", "array-back": "^6.2.2", @@ -23650,26 +19985,18 @@ }, "dependencies": { "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + "version": "6.2.2" }, "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" + "version": "7.1.1" } } }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "version": "2.2.1" }, "tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -23680,8 +20007,6 @@ }, "terser": { "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -23690,19 +20015,13 @@ }, "dependencies": { "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "version": "2.20.3" }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "version": "0.6.1" }, "source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -23712,8 +20031,6 @@ }, "terser-webpack-plugin": { "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -23724,8 +20041,6 @@ "dependencies": { "jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -23734,8 +20049,6 @@ }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } @@ -23744,8 +20057,6 @@ }, "test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -23755,8 +20066,6 @@ "dependencies": { "glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -23771,20 +20080,14 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "timers-browserify": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -23792,32 +20095,22 @@ }, "tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-buffer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -23825,8 +20118,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -23836,8 +20127,6 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -23848,8 +20137,6 @@ }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -23857,8 +20144,6 @@ }, "tough-cookie": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "requires": { "psl": "^1.1.33", @@ -23869,16 +20154,12 @@ "dependencies": { "universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true } } }, "tr46": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" @@ -23886,8 +20167,6 @@ }, "ts-jest": { "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, "requires": { "bs-logger": "0.x", @@ -23902,22 +20181,16 @@ "dependencies": { "json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } }, "ts-loader": { "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -23928,8 +20201,6 @@ }, "ts-loader-webpack-4": { "version": "npm:ts-loader@8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -23941,8 +20212,6 @@ "dependencies": { "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -23952,14 +20221,10 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -23968,8 +20233,6 @@ }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -23983,8 +20246,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -23992,16 +20253,12 @@ }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true } } }, "tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -24012,14 +20269,10 @@ }, "tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -24027,14 +20280,10 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -24042,20 +20291,14 @@ }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "typed-array-buffer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -24065,8 +20308,6 @@ }, "typed-array-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -24077,8 +20318,6 @@ }, "typed-array-byte-offset": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -24090,8 +20329,6 @@ }, "typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -24101,30 +20338,20 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "typescript": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true }, "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" + "version": "4.0.0" }, "ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + "version": "1.0.35" }, "unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -24135,8 +20362,6 @@ }, "unbzip2-stream": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", @@ -24145,8 +20370,6 @@ }, "union-value": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -24157,16 +20380,12 @@ "dependencies": { "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -24174,8 +20393,6 @@ }, "unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -24183,8 +20400,6 @@ }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -24193,8 +20408,6 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -24204,8 +20417,6 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -24215,29 +20426,21 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true } } }, "upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "optional": true }, "update-browserslist-db": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -24245,22 +20448,16 @@ }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "url": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -24269,16 +20466,12 @@ "dependencies": { "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true } } }, "url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -24287,14 +20480,10 @@ }, "use": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "util": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -24302,21 +20491,15 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "version": "1.0.2" }, "v8-to-istanbul": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.12", @@ -24326,8 +20509,6 @@ }, "vite": { "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "peer": true, "requires": { "esbuild": "^0.18.10", @@ -24338,14 +20519,10 @@ }, "vm-browserify": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { "xml-name-validator": "^4.0.0" @@ -24353,8 +20530,6 @@ }, "walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { "makeerror": "1.0.12" @@ -24362,8 +20537,6 @@ }, "watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -24371,8 +20544,6 @@ }, "watchpack-chokidar2": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -24381,8 +20552,6 @@ "dependencies": { "anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { @@ -24392,8 +20561,6 @@ "dependencies": { "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "optional": true, "requires": { @@ -24404,15 +20571,11 @@ }, "binary-extensions": { "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { @@ -24430,8 +20593,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -24442,8 +20603,6 @@ }, "chokidar": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { @@ -24463,8 +20622,6 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "optional": true, "requires": { @@ -24476,8 +20633,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -24488,8 +20643,6 @@ }, "fsevents": { "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { @@ -24499,8 +20652,6 @@ }, "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "optional": true, "requires": { @@ -24510,8 +20661,6 @@ "dependencies": { "is-glob": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "optional": true, "requires": { @@ -24522,8 +20671,6 @@ }, "is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "optional": true, "requires": { @@ -24532,15 +20679,11 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "optional": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "optional": true, "requires": { @@ -24549,8 +20692,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "optional": true, "requires": { @@ -24561,15 +20702,11 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, "optional": true }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { @@ -24590,8 +20727,6 @@ }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "optional": true, "requires": { @@ -24606,8 +20741,6 @@ }, "readdirp": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { @@ -24618,8 +20751,6 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -24628,8 +20759,6 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "optional": true, "requires": { @@ -24641,14 +20770,10 @@ }, "webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -24678,8 +20803,6 @@ }, "webpack-4": { "version": "npm:webpack@4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24709,8 +20832,6 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -24720,26 +20841,18 @@ }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24750,8 +20863,6 @@ }, "@webassemblyjs/ieee754": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -24759,8 +20870,6 @@ }, "@webassemblyjs/leb128": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -24768,14 +20877,10 @@ }, "@webassemblyjs/utf8": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24790,8 +20895,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24803,8 +20906,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24815,8 +20916,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24829,8 +20928,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24840,14 +20937,10 @@ }, "acorn": { "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -24864,8 +20957,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -24875,14 +20966,10 @@ }, "commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "enhanced-resolve": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -24892,8 +20979,6 @@ "dependencies": { "memory-fs": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -24904,8 +20989,6 @@ }, "eslint-scope": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -24914,8 +20997,6 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -24926,8 +21007,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -24937,14 +21016,10 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -24952,8 +21027,6 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -24963,20 +21036,14 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "loader-runner": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -24986,8 +21053,6 @@ }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -25007,8 +21072,6 @@ }, "readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -25022,8 +21085,6 @@ }, "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -25033,8 +21094,6 @@ }, "serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -25042,14 +21101,10 @@ }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -25057,14 +21112,10 @@ }, "tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "terser": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -25074,8 +21125,6 @@ }, "terser-webpack-plugin": { "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", @@ -25091,8 +21140,6 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -25101,8 +21148,6 @@ }, "watchpack": { "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", @@ -25113,8 +21158,6 @@ }, "webpack": { "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "peer": true, "requires": { @@ -25145,8 +21188,6 @@ }, "webpack-sources": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -25157,8 +21198,6 @@ }, "webpack-cli": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -25178,26 +21217,18 @@ "dependencies": { "colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true }, "interpret": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true }, "rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "requires": { "resolve": "^1.20.0" @@ -25207,8 +21238,6 @@ }, "webpack-merge": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -25217,19 +21246,13 @@ }, "webpack-node-externals": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + "version": "3.2.3" }, "webpack-sources-webpack-4": { "version": "npm:webpack-sources@1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -25238,16 +21261,12 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { "iconv-lite": "0.6.3" @@ -25255,8 +21274,6 @@ "dependencies": { "iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -25266,14 +21283,10 @@ }, "whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { "tr46": "^3.0.0", @@ -25282,16 +21295,12 @@ }, "which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -25303,8 +21312,6 @@ }, "which-collection": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, "requires": { "is-map": "^2.0.1", @@ -25315,8 +21322,6 @@ }, "which-typed-array": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -25328,19 +21333,13 @@ }, "wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, "wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" + "version": "5.1.0" }, "worker-farm": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -25348,8 +21347,6 @@ }, "wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -25357,19 +21354,13 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "6.0.1" }, "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + "version": "6.2.1" }, "strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -25378,8 +21369,6 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -25387,14 +21376,10 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "version": "8.0.0" }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -25404,14 +21389,10 @@ } }, "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "version": "1.0.2" }, "write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -25420,53 +21401,37 @@ "dependencies": { "signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, "requires": {} }, "xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -25475,14 +21440,10 @@ }, "yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true }, "zip-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", From 228804181f2afdd0cd8c878adb2207499a1c852e Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 19:47:28 +0200 Subject: [PATCH 137/291] NodeJS version update (#103) --- package-lock.json | 15 +++------------ packages/node/package.json | 4 ++-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index b58698db..52cfae34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12731,10 +12731,10 @@ }, "packages/node": { "name": "@backtrace-labs/node", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.2", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -12752,10 +12752,6 @@ "node": ">=14" } }, - "packages/node/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.1", - "license": "MIT" - }, "packages/react": { "name": "@backtrace-labs/react", "version": "0.0.1", @@ -13355,7 +13351,7 @@ "@backtrace-labs/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.2", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -13366,11 +13362,6 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" - }, - "dependencies": { - "@backtrace-labs/sdk-core": { - "version": "0.0.1" - } } }, "@backtrace-labs/react": { diff --git a/packages/node/package.json b/packages/node/package.json index 279ff16e..6fe3e01e 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/node", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.1", + "@backtrace-labs/sdk-core": "^0.0.2", "form-data": "^4.0.0", "native-reg": "^1.1.1" } From 861799048a3f78974ef2630023559619513f9dd1 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 19:56:44 +0200 Subject: [PATCH 138/291] Browser update 0.0.2 (#104) --- package-lock.json | 2 +- packages/browser/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 52cfae34..ebbb165b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12711,7 +12711,7 @@ }, "packages/browser": { "name": "@backtrace-labs/browser", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { "ua-parser-js": "^1.0.35" diff --git a/packages/browser/package.json b/packages/browser/package.json index 23f79ed0..7f0cbb95 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/browser", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 448e721a42b73bfa8ead8c92ff23101005cc60f3 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 29 Aug 2023 19:58:40 +0200 Subject: [PATCH 139/291] React update 0.0.2 (#105) --- package-lock.json | 2 +- packages/react/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ebbb165b..6cf704ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12754,7 +12754,7 @@ }, "packages/react": { "name": "@backtrace-labs/react", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "devDependencies": { "@testing-library/react": "^14.0.0", diff --git a/packages/react/package.json b/packages/react/package.json index 39cab1ef..d85be30e 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/react", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { From 5bf198f88298569fcf6f67e267b9e27898f8d460 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 30 Aug 2023 13:02:35 +0200 Subject: [PATCH 140/291] cli: do not filter out direct glob paths (#101) Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/find.ts | 26 +++++++++++++++++++++---- tools/cli/src/sourcemaps/add-sources.ts | 9 +++++---- tools/cli/src/sourcemaps/process.ts | 9 +++++---- tools/cli/src/sourcemaps/upload.ts | 9 +++++---- 4 files changed, 37 insertions(+), 16 deletions(-) diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index 29c9d911..b1c38605 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -3,15 +3,25 @@ import fs from 'fs'; import { glob } from 'glob'; import path from 'path'; +export interface FindResult { + readonly path: string; + readonly findPath: string; + + /** + * Whether the file was found with recursive search, or was specified directly via glob. + */ + readonly direct: boolean; +} + /** * Returns files found in directories matching `regex`. If path is a file, it is returned if it matches `regex`. * @param regex Regular expression pattern to match. * @param paths Paths to search in. * @returns Result with file paths. */ -export async function find(...paths: string[]): ResultPromise { +export async function find(...paths: string[]): ResultPromise { const finder = new FileFinder(); - const results = new Map(); + const results = new Map(); for (const globPath of paths) { const globResults = await glob(globPath); @@ -20,7 +30,11 @@ export async function find(...paths: string[]): ResultPromise if (!stat.isDirectory()) { const fullPath = path.resolve(findPath); if (!results.has(fullPath)) { - results.set(fullPath, findPath); + results.set(fullPath, { + path: fullPath, + findPath, + direct: true, + }); } continue; } @@ -33,7 +47,11 @@ export async function find(...paths: string[]): ResultPromise for (const result of findResult.data) { const fullPath = path.resolve(result); if (!results.has(fullPath)) { - results.set(fullPath, result); + results.set(fullPath, { + path: fullPath, + findPath, + direct: false, + }); } } } diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index eac7dae7..081f153f 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -138,10 +138,11 @@ export const addSourcesCmd = new Command({ return AsyncResult.equip(find(...searchPaths)) .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((path) => `found file: ${path}`))) - .then(filter(matchSourceMapExtension)) - .then(logDebug((r) => `found ${r.length} files matching sourcemap extension`)) - .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} files for adding sources`)) + .then(map(logTrace((path) => `file to add sources to: ${path}`))) .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) .then(map(readAssetCommand)) diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 648b06af..23e4f94b 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -119,10 +119,11 @@ export const processCmd = new Command({ return AsyncResult.equip(find(...searchPaths)) .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((path) => `found file: ${path}`))) - .then(filter(matchSourceExtension)) - .then(logDebug((r) => `found ${r.length} files matching source extension`)) - .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} files for processing`)) + .then(map(logTrace((path) => `file for processing: ${path}`))) .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) .then(map(toAsset)) .then(opts.force ? Ok : filterUnprocessedAssetsCommand) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 4a693be3..ac2d6f9a 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -206,10 +206,11 @@ export const uploadCmd = new Command({ return AsyncResult.equip(find(...searchPaths)) .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((path) => `found file: ${path}`))) - .then(filter(matchSourceMapExtension)) - .then(logDebug((r) => `found ${r.length} files matching sourcemap extension`)) - .then(map(logTrace((path) => `file matching extension: ${path}`))) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} files for upload`)) + .then(map(logTrace((path) => `file for upload: ${path}`))) .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) .then(opts.force ? Ok : filterProcessedAssetsCommand) From d477acb6017646d763b679d02d3796574e3d93b2 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 30 Aug 2023 14:28:43 +0200 Subject: [PATCH 141/291] cli: fix sourcemap upload issues (#102) * cli: replace ZipArchive archiver implementation with tar-stream and zlib * sourcemap tools: refactor archiving to allow for piping before adding assets * cli: refactor cli to pipe before adding assets in upload * rollup, vite, webpack: use new logging method * sourcemap-tools: fix ZipArchive tests * sourcemap tools: remove unused function * sourcemap tools, cli: minor PR changes --------- Co-authored-by: Sebastian Alex --- package-lock.json | 669 ++++-------------- tools/cli/src/sourcemaps/upload.ts | 49 +- tools/rollup-plugin/src/index.ts | 3 +- tools/sourcemap-tools/package.json | 6 +- tools/sourcemap-tools/src/SymbolUploader.ts | 2 +- tools/sourcemap-tools/src/ZipArchive.ts | 38 +- .../src/commands/archiveSourceMaps.ts | 49 +- .../commands/processAndUploadAssetsCommand.ts | 23 +- tools/sourcemap-tools/src/helpers/common.ts | 18 +- .../sourcemap-tools/tests/ZipArchive.spec.ts | 6 +- tools/webpack-plugin/src/BacktracePlugin.ts | 3 +- 11 files changed, 257 insertions(+), 609 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6cf704ef..aead0604 100644 --- a/package-lock.json +++ b/package-lock.json @@ -737,7 +737,7 @@ "node": ">=10.0.0" } }, - "node_modules/@esbuild/darwin-x64": { + "node_modules/@esbuild/linux-x64": { "version": "0.18.20", "cpu": [ "x64" @@ -745,7 +745,7 @@ "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], "peer": true, "engines": { @@ -1507,14 +1507,6 @@ "node": ">= 10" } }, - "node_modules/@types/archiver": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/readdir-glob": "*" - } - }, "node_modules/@types/aria-query": { "version": "5.0.1", "dev": true, @@ -1708,14 +1700,6 @@ "@types/react": "*" } }, - "node_modules/@types/readdir-glob": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/scheduler": { "version": "0.16.3", "dev": true, @@ -1736,6 +1720,14 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/tar-stream": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/tough-cookie": { "version": "4.0.2", "dev": true, @@ -2362,83 +2354,6 @@ "dev": true, "license": "ISC" }, - "node_modules/archiver": { - "version": "5.3.2", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/archiver-utils/node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/argparse": { "version": "2.0.1", "dev": true, @@ -2646,10 +2561,6 @@ "node": ">=0.10.0" } }, - "node_modules/async": { - "version": "3.2.4", - "license": "MIT" - }, "node_modules/async-each": { "version": "1.0.6", "dev": true, @@ -2688,6 +2599,10 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/b4a": { + "version": "1.6.4", + "license": "ISC" + }, "node_modules/babel-jest": { "version": "29.6.4", "dev": true, @@ -2831,6 +2746,7 @@ }, "node_modules/base64-js": { "version": "1.5.1", + "dev": true, "funding": [ { "type": "github", @@ -2864,24 +2780,6 @@ "node": ">=8" } }, - "node_modules/bindings": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/bluebird": { "version": "3.7.2", "dev": true, @@ -2894,6 +2792,7 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -3053,6 +2952,7 @@ }, "node_modules/buffer": { "version": "5.7.1", + "dev": true, "funding": [ { "type": "github", @@ -3089,6 +2989,7 @@ }, "node_modules/buffer-crc32": { "version": "0.2.13", + "dev": true, "license": "MIT", "engines": { "node": "*" @@ -3565,21 +3466,9 @@ "dev": true, "license": "MIT" }, - "node_modules/compress-commons": { - "version": "4.1.1", - "license": "MIT", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/concat-map": { "version": "0.0.1", + "dev": true, "license": "MIT" }, "node_modules/console-browserify": { @@ -3649,29 +3538,9 @@ }, "node_modules/core-util-is": { "version": "1.0.3", + "dev": true, "license": "MIT" }, - "node_modules/crc-32": { - "version": "1.2.2", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/create-ecdh": { "version": "4.0.4", "dev": true, @@ -4224,6 +4093,7 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", + "dev": true, "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -5056,6 +4926,10 @@ "version": "3.1.3", "license": "MIT" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.1", "dev": true, @@ -5151,12 +5025,6 @@ "node": ">=4" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -5478,6 +5346,7 @@ }, "node_modules/fs-constants": { "version": "1.0.0", + "dev": true, "license": "MIT" }, "node_modules/fs-write-stream-atomic": { @@ -5520,19 +5389,9 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", + "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.3", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "dev": true, @@ -5996,6 +5855,7 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "dev": true, "funding": [ { "type": "github", @@ -6082,6 +5942,7 @@ }, "node_modules/inflight": { "version": "1.0.6", + "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -6090,6 +5951,7 @@ }, "node_modules/inherits": { "version": "2.0.4", + "dev": true, "license": "ISC" }, "node_modules/internal-slot": { @@ -7698,40 +7560,6 @@ "node": ">=6" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/leven": { "version": "3.1.0", "dev": true, @@ -7815,22 +7643,6 @@ "version": "4.3.0", "license": "MIT" }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "license": "MIT" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, @@ -7841,10 +7653,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.union": { - "version": "4.6.0", - "license": "MIT" - }, "node_modules/loose-envify": { "version": "1.4.0", "license": "MIT", @@ -8046,6 +7854,7 @@ }, "node_modules/minimatch": { "version": "3.1.2", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -8208,12 +8017,6 @@ "dev": true, "license": "MIT" }, - "node_modules/nan": { - "version": "2.17.0", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/nanoid": { "version": "3.3.6", "funding": [ @@ -8380,6 +8183,7 @@ }, "node_modules/normalize-path": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8602,6 +8406,7 @@ }, "node_modules/once": { "version": "1.4.0", + "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -8800,6 +8605,7 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -9059,6 +8865,7 @@ }, "node_modules/process-nextick-args": { "version": "2.0.1", + "dev": true, "license": "MIT" }, "node_modules/promise-inflight": { @@ -9209,6 +9016,10 @@ ], "license": "MIT" }, + "node_modules/queue-tick": { + "version": "1.0.1", + "license": "MIT" + }, "node_modules/randombytes": { "version": "2.1.0", "license": "MIT", @@ -9256,6 +9067,7 @@ }, "node_modules/readable-stream": { "version": "3.6.2", + "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -9266,30 +9078,6 @@ "node": ">= 6" } }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/readdirp": { "version": "3.6.0", "dev": true, @@ -10253,8 +10041,17 @@ "dev": true, "license": "MIT" }, + "node_modules/streamx": { + "version": "2.15.1", + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", + "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -10262,6 +10059,7 @@ }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.2.1", + "dev": true, "funding": [ { "type": "github", @@ -10508,20 +10306,6 @@ "node": ">=6" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/terser": { "version": "5.19.2", "license": "BSD-2-Clause", @@ -11296,6 +11080,7 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/util/node_modules/inherits": { @@ -11527,23 +11312,6 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", "dev": true, @@ -12604,6 +12372,7 @@ }, "node_modules/wrappy": { "version": "1.0.2", + "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -12697,18 +12466,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zip-stream": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, "packages/browser": { "name": "@backtrace-labs/browser", "version": "0.0.2", @@ -12830,13 +12587,13 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "archiver": "^5.3.1", - "source-map": "^0.7.4" + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" }, "devDependencies": { - "@types/archiver": "^5.3.2", "@types/decompress": "^4.2.4", "@types/jest": "^29.5.1", + "@types/tar-stream": "^2.2.2", "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", @@ -12847,6 +12604,15 @@ "node": ">=14" } }, + "tools/sourcemap-tools/node_modules/tar-stream": { + "version": "3.1.6", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "tools/vite-plugin": { "name": "@backtrace-labs/vite-plugin", "version": "0.0.1", @@ -13401,16 +13167,26 @@ "@backtrace-labs/sourcemap-tools": { "version": "file:tools/sourcemap-tools", "requires": { - "@types/archiver": "^5.3.2", "@types/decompress": "^4.2.4", "@types/jest": "^29.5.1", - "archiver": "^5.3.1", + "@types/tar-stream": "^2.2.2", "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", "source-map": "^0.7.4", + "tar-stream": "^3.1.6", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "tar-stream": { + "version": "3.1.6", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } } }, "@backtrace-labs/vite-plugin": { @@ -13445,7 +13221,7 @@ "version": "0.5.7", "dev": true }, - "@esbuild/darwin-x64": { + "@esbuild/linux-x64": { "version": "0.18.20", "optional": true, "peer": true @@ -13942,13 +13718,6 @@ "version": "2.0.0", "dev": true }, - "@types/archiver": { - "version": "5.3.2", - "dev": true, - "requires": { - "@types/readdir-glob": "*" - } - }, "@types/aria-query": { "version": "5.0.1", "dev": true @@ -14109,13 +13878,6 @@ "@types/react": "*" } }, - "@types/readdir-glob": { - "version": "1.1.1", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/scheduler": { "version": "0.16.3", "dev": true @@ -14132,6 +13894,13 @@ "version": "2.0.1", "dev": true }, + "@types/tar-stream": { + "version": "2.2.2", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/tough-cookie": { "version": "4.0.2", "dev": true @@ -14544,67 +14313,6 @@ "version": "1.2.0", "dev": true }, - "archiver": { - "version": "5.3.2", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - } - }, - "archiver-utils": { - "version": "2.1.0", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "requires": { - "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" - } - }, - "isarray": { - "version": "1.0.0" - }, - "readable-stream": { - "version": "2.3.8", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "argparse": { "version": "2.0.1", "dev": true @@ -14742,9 +14450,6 @@ "version": "1.0.0", "dev": true }, - "async": { - "version": "3.2.4" - }, "async-each": { "version": "1.0.6", "dev": true, @@ -14761,6 +14466,9 @@ "version": "1.0.5", "dev": true }, + "b4a": { + "version": "1.6.4" + }, "babel-jest": { "version": "29.6.4", "dev": true, @@ -14864,7 +14572,8 @@ } }, "base64-js": { - "version": "1.5.1" + "version": "1.5.1", + "dev": true }, "big.js": { "version": "5.2.2", @@ -14875,22 +14584,6 @@ "dev": true, "optional": true }, - "bindings": { - "version": "1.5.0", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "bluebird": { "version": "3.7.2", "dev": true @@ -14901,6 +14594,7 @@ }, "brace-expansion": { "version": "1.1.11", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -15009,6 +14703,7 @@ }, "buffer": { "version": "5.7.1", + "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -15027,7 +14722,8 @@ "dev": true }, "buffer-crc32": { - "version": "0.2.13" + "version": "0.2.13", + "dev": true }, "buffer-fill": { "version": "1.0.0", @@ -15338,17 +15034,9 @@ "version": "1.3.0", "dev": true }, - "compress-commons": { - "version": "4.1.1", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - } - }, "concat-map": { - "version": "0.0.1" + "version": "0.0.1", + "dev": true }, "console-browserify": { "version": "1.2.0", @@ -15400,17 +15088,8 @@ "dev": true }, "core-util-is": { - "version": "1.0.3" - }, - "crc-32": { - "version": "1.2.2" - }, - "crc32-stream": { - "version": "4.0.2", - "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - } + "version": "1.0.3", + "dev": true }, "create-ecdh": { "version": "4.0.4", @@ -15825,6 +15504,7 @@ }, "end-of-stream": { "version": "1.4.4", + "dev": true, "requires": { "once": "^1.4.0" } @@ -16392,6 +16072,9 @@ "fast-deep-equal": { "version": "3.1.3" }, + "fast-fifo": { + "version": "1.3.2" + }, "fast-glob": { "version": "3.3.1", "dev": true, @@ -16462,11 +16145,6 @@ "version": "5.2.0", "dev": true }, - "file-uri-to-path": { - "version": "1.0.0", - "dev": true, - "optional": true - }, "fill-range": { "version": "7.0.1", "dev": true, @@ -16690,7 +16368,8 @@ } }, "fs-constants": { - "version": "1.0.0" + "version": "1.0.0", + "dev": true }, "fs-write-stream-atomic": { "version": "1.0.10", @@ -16729,11 +16408,8 @@ } }, "fs.realpath": { - "version": "1.0.0" - }, - "fsevents": { - "version": "2.3.3", - "optional": true + "version": "1.0.0", + "dev": true }, "function-bind": { "version": "1.1.1", @@ -17016,7 +16692,8 @@ "dev": true }, "ieee754": { - "version": "1.2.1" + "version": "1.2.1", + "dev": true }, "iferr": { "version": "0.1.5", @@ -17056,13 +16733,15 @@ }, "inflight": { "version": "1.0.6", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4" + "version": "2.0.4", + "dev": true }, "internal-slot": { "version": "1.0.5", @@ -18104,35 +17783,6 @@ "version": "3.0.3", "dev": true }, - "lazystream": { - "version": "1.0.1", - "requires": { - "readable-stream": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0" - }, - "readable-stream": { - "version": "2.3.8", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "leven": { "version": "3.1.0", "dev": true @@ -18184,18 +17834,6 @@ "lodash.camelcase": { "version": "4.3.0" }, - "lodash.defaults": { - "version": "4.2.0" - }, - "lodash.difference": { - "version": "4.5.0" - }, - "lodash.flatten": { - "version": "4.4.0" - }, - "lodash.isplainobject": { - "version": "4.0.6" - }, "lodash.memoize": { "version": "4.1.2", "dev": true @@ -18204,9 +17842,6 @@ "version": "4.6.2", "dev": true }, - "lodash.union": { - "version": "4.6.0" - }, "loose-envify": { "version": "1.4.0", "peer": true, @@ -18351,6 +17986,7 @@ }, "minimatch": { "version": "3.1.2", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -18472,11 +18108,6 @@ "version": "2.1.2", "dev": true }, - "nan": { - "version": "2.17.0", - "dev": true, - "optional": true - }, "nanoid": { "version": "3.3.6", "peer": true @@ -18604,7 +18235,8 @@ "version": "2.0.13" }, "normalize-path": { - "version": "3.0.0" + "version": "3.0.0", + "dev": true }, "npm-run-path": { "version": "4.0.1", @@ -18745,6 +18377,7 @@ }, "once": { "version": "1.4.0", + "dev": true, "requires": { "wrappy": "1" } @@ -18882,7 +18515,8 @@ "dev": true }, "path-is-absolute": { - "version": "1.0.1" + "version": "1.0.1", + "dev": true }, "path-key": { "version": "3.1.1" @@ -19022,7 +18656,8 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.1" + "version": "2.0.1", + "dev": true }, "promise-inflight": { "version": "1.0.1", @@ -19119,6 +18754,9 @@ "version": "1.2.3", "dev": true }, + "queue-tick": { + "version": "1.0.1" + }, "randombytes": { "version": "2.1.0", "requires": { @@ -19155,32 +18793,13 @@ }, "readable-stream": { "version": "3.6.2", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, - "readdir-glob": { - "version": "1.1.3", - "requires": { - "minimatch": "^5.1.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, "readdirp": { "version": "3.6.0", "dev": true, @@ -19841,14 +19460,23 @@ "version": "1.0.1", "dev": true }, + "streamx": { + "version": "2.15.1", + "requires": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "string_decoder": { "version": "1.3.0", + "dev": true, "requires": { "safe-buffer": "~5.2.0" }, "dependencies": { "safe-buffer": { - "version": "5.2.1" + "version": "5.2.1", + "dev": true } } }, @@ -19986,16 +19614,6 @@ "tapable": { "version": "2.2.1" }, - "tar-stream": { - "version": "2.2.0", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, "terser": { "version": "5.19.2", "requires": { @@ -20487,7 +20105,8 @@ } }, "util-deprecate": { - "version": "1.0.2" + "version": "1.0.2", + "dev": true }, "v8-to-istanbul": { "version": "9.1.0", @@ -20632,15 +20251,6 @@ } } }, - "fsevents": { - "version": "1.2.13", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, "glob-parent": { "version": "3.1.0", "dev": true, @@ -21380,7 +20990,8 @@ } }, "wrappy": { - "version": "1.0.2" + "version": "1.0.2", + "dev": true }, "write-file-atomic": { "version": "4.0.2", @@ -21432,14 +21043,6 @@ "yocto-queue": { "version": "0.1.0", "dev": true - }, - "zip-stream": { - "version": "4.1.0", - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - } } } } diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index ac2d6f9a..4de2ac01 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -1,30 +1,30 @@ import { - archiveSourceMaps, + ArchiveWithSourceMapsAndDebugIds, Asset, AssetWithContent, AsyncResult, + createArchive, + createWriteStream, DebugIdGenerator, Err, failIfEmpty, filter, + finalizeArchive, loadSourceMap, log, map, matchSourceMapExtension, Ok, pass, + pipeStream, RawSourceMap, Result, - ResultPromise, SourceProcessor, stripSourcesContent, SymbolUploader, uploadArchive, UploadResult, - writeStream, - ZipArchive, } from '@backtrace-labs/sourcemap-tools'; -import { Readable } from 'stream'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { find } from '../helpers/find'; @@ -183,20 +183,39 @@ export const uploadCmd = new Command({ const createArchiveCommand = (assets: AssetWithContent[]) => AsyncResult.fromValue[], string>(assets) .then(logTrace('creating archive')) - .then(archiveSourceMaps(sourceProcessor)) + .then(createArchive(sourceProcessor)) .then(logDebug('archive created')).inner; const saveArchiveCommand = outputPath - ? (archive: ZipArchive) => - AsyncResult.fromValue(archive) + ? (archive: ArchiveWithSourceMapsAndDebugIds) => + AsyncResult.fromValue(archive) .then(logTrace(`saving archive to ${outputPath}`)) - .then(saveArchive(outputPath)) + .then(({ assets, archive }) => { + return AsyncResult.equip(createWriteStream(outputPath)) + .then(pipeStream(archive)) + .then(() => finalizeArchive({ assets, archive })).inner; + }) + .then(() => ({ rxid: outputPath })) .then(logDebug(`saved archive to ${outputPath}`)).inner : uploadUrl - ? (archive: ZipArchive) => - AsyncResult.fromValue(archive) + ? (archive: ArchiveWithSourceMapsAndDebugIds) => + AsyncResult.fromValue(archive) .then(logTrace(`uploading archive to ${uploadUrl}`)) - .then(uploadArchive(new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false }))) + .then(async ({ assets, archive }) => { + const uploader = uploadArchive( + new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false }), + ); + + // We first create the upload request, which pipes the archive to itself + const promise = uploader(archive); + + // Next we finalize the archive, which causes the assets to be written to the archive, + // and consequently to the request + await finalizeArchive({ assets, archive }); + + // Finally, we return the upload request promise + return promise; + }) .then(logDebug(`archive uploaded to ${uploadUrl}`)).inner : undefined; @@ -269,12 +288,6 @@ function isAssetProcessed(sourceProcessor: SourceProcessor) { }; } -function saveArchive(filePath: string) { - return async function saveArchive(stream: Readable): ResultPromise { - return AsyncResult.equip(writeStream([stream, filePath])).then(([, rxid]) => ({ rxid })).inner; - }; -} - function output(logger: CliLogger) { return function output(result: UploadResult | null) { logger.output(result?.rxid ?? ''); diff --git a/tools/rollup-plugin/src/index.ts b/tools/rollup-plugin/src/index.ts index f8ad1660..99b9d2f7 100644 --- a/tools/rollup-plugin/src/index.ts +++ b/tools/rollup-plugin/src/index.ts @@ -23,8 +23,7 @@ export function BacktracePlugin(options?: BacktracePluginOptions): Plugin { assetFinished: (asset) => info(`[${asset.asset.name}] asset processed successfully`), assetError: (asset) => this.warn(`[${asset.asset.name}] ${asset.error}`), - beforeArchive: (paths) => this.debug(`creating archive to upload from ${paths.length} files`), - beforeUpload: () => info(`uploading sourcemaps...`), + beforeUpload: (paths) => info(`uploading ${paths.length} sourcemaps...`), afterUpload: (result) => info(`sourcemaps uploaded to Backtrace: ${result.rxid}`), uploadError: (error) => this.warn(`failed to upload sourcemaps: ${error}`), }); diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 1f23d6d1..57216bcc 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -37,9 +37,9 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { - "@types/archiver": "^5.3.2", "@types/decompress": "^4.2.4", "@types/jest": "^29.5.1", + "@types/tar-stream": "^2.2.2", "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", @@ -47,7 +47,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "archiver": "^5.3.1", - "source-map": "^0.7.4" + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" } } diff --git a/tools/sourcemap-tools/src/SymbolUploader.ts b/tools/sourcemap-tools/src/SymbolUploader.ts index 506ff710..4f5ed958 100644 --- a/tools/sourcemap-tools/src/SymbolUploader.ts +++ b/tools/sourcemap-tools/src/SymbolUploader.ts @@ -34,7 +34,7 @@ export class SymbolUploader { * Uploads the symbol to Backtrace. * @param content Symbol stream. */ - public async uploadSymbol(readable: Readable): ResultPromise { + public async uploadSymbol(readable: Pick): ResultPromise { const protocol = this._url.protocol === 'https:' ? https : http; return new Promise>((resolve, reject) => { diff --git a/tools/sourcemap-tools/src/ZipArchive.ts b/tools/sourcemap-tools/src/ZipArchive.ts index f5ac1536..b722a328 100644 --- a/tools/sourcemap-tools/src/ZipArchive.ts +++ b/tools/sourcemap-tools/src/ZipArchive.ts @@ -1,32 +1,38 @@ -import archiver from 'archiver'; -import { Readable, Transform, TransformCallback, TransformOptions } from 'stream'; +import zlib from 'node:zlib'; +import { TransformOptions } from 'stream'; +import tar from 'tar-stream'; -export class ZipArchive extends Transform { - private readonly _archive: archiver.Archiver; +export class ZipArchive { + private readonly _pack: tar.Pack; + private readonly _gz: zlib.Gzip; constructor(opts?: TransformOptions) { - super(opts); - this._archive = archiver('zip'); + this._pack = tar.pack(opts); + this._gz = zlib.createGzip(); + + this._pack.pipe(this._gz); } - public append(name: string, sourceMap: string | Readable | Buffer) { - this._archive.append(sourceMap, { name }); + public append(name: string, sourceMap: string) { + this._pack.entry({ name }, sourceMap); return this; } public finalize() { - return this._archive.finalize(); - } + this._pack.finalize(); - public override pipe(destination: T, options?: { end?: boolean }): T { - return this._archive.pipe(destination, options); + return new Promise((resolve, reject) => { + this._gz.on('close', () => resolve(this)); + this._gz.on('error', reject); + }); } - public override _transform(chunk: unknown, encoding: BufferEncoding, callback: TransformCallback): void { - return this._archive._transform(chunk, encoding, callback); + public on(event: string, listener: (...args: unknown[]) => void): this { + this._pack.on(event, listener); + return this; } - public override _flush(callback: TransformCallback): void { - return this._archive._flush(callback); + public pipe(destination: T, options?: { end?: boolean }): T { + return this._gz.pipe(destination, options); } } diff --git a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts index f5f1cb57..ebcdf5d6 100644 --- a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts +++ b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts @@ -2,35 +2,46 @@ import path from 'path'; import { RawSourceMap } from 'source-map'; import { SourceProcessor } from '../SourceProcessor'; import { ZipArchive } from '../ZipArchive'; -import { map } from '../helpers/common'; import { AssetWithContent, AssetWithDebugId } from '../models/Asset'; -import { AsyncResult, ResultPromise } from '../models/AsyncResult'; -import { Ok, Result } from '../models/Result'; +import { Ok, Result, flatMap } from '../models/Result'; type AssetWithDebugIdAndSourceMap = AssetWithContent & AssetWithDebugId; -export function archiveSourceMaps(sourceProcessor: SourceProcessor) { - return function archiveSourceMaps(sourceMaps: AssetWithContent[]) { - return AsyncResult.fromValue[], string>(sourceMaps) - .then(map(readDebugId(sourceProcessor))) - .then(createArchive).inner; - }; +export interface ArchiveWithSourceMapsAndDebugIds { + readonly archive: ZipArchive; + readonly assets: AssetWithDebugIdAndSourceMap[]; } -export function readDebugId(sourceProcessor: SourceProcessor) { - return function readDebugId(asset: AssetWithContent): Result { - return sourceProcessor.getSourceMapDebugId(asset.content).map((debugId) => ({ ...asset, debugId })); +export function createArchive(sourceProcessor: SourceProcessor) { + return function createArchive( + assets: AssetWithContent[], + ): Result { + const archive = new ZipArchive(); + + const readResult = flatMap(assets.map(readDebugId(sourceProcessor))); + if (readResult.isErr()) { + return readResult; + } + + return Ok({ + archive, + assets: readResult.data, + }); }; } -export async function createArchive(assets: AssetWithDebugIdAndSourceMap[]): ResultPromise { - const archive = new ZipArchive(); - - for (const asset of assets) { +export async function finalizeArchive(archive: ArchiveWithSourceMapsAndDebugIds) { + for (const asset of archive.assets) { const fileName = path.basename(asset.name); - archive.append(`${asset.debugId}-${fileName}`, JSON.stringify(asset.content)); + await archive.archive.append(`${asset.debugId}-${fileName}`, JSON.stringify(asset.content)); } - await archive.finalize(); - return Ok(archive); + await archive.archive.finalize(); + return archive; +} + +export function readDebugId(sourceProcessor: SourceProcessor) { + return function readDebugId(asset: AssetWithContent): Result { + return sourceProcessor.getSourceMapDebugId(asset.content).map((debugId) => ({ ...asset, debugId })); + }; } diff --git a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts index 1b2a987f..95780f8a 100644 --- a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts +++ b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts @@ -3,13 +3,12 @@ import { RawSourceMap } from 'source-map'; import { DebugIdGenerator } from '../DebugIdGenerator'; import { SourceProcessor } from '../SourceProcessor'; import { SymbolUploader, SymbolUploaderOptions, UploadResult } from '../SymbolUploader'; -import { ZipArchive } from '../ZipArchive'; import { inspect, map, pass } from '../helpers/common'; import { Asset, AssetWithContent } from '../models/Asset'; import { AsyncResult } from '../models/AsyncResult'; import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; import { Result, flatMap, isErr } from '../models/Result'; -import { archiveSourceMaps } from './archiveSourceMaps'; +import { createArchive, finalizeArchive } from './archiveSourceMaps'; import { loadSourceMap, stripSourcesContent } from './loadSourceMaps'; import { processAsset } from './processAsset'; import { uploadArchive } from './uploadArchive'; @@ -53,9 +52,7 @@ export interface ProcessAndUploadAssetsCommandOptions { assetFinished?(asset: ProcessAssetResult): unknown; beforeLoad?(asset: Asset): unknown; afterLoad?(asset: AssetWithContent): unknown; - beforeArchive?(assets: AssetWithContent[]): unknown; - afterArchive?(archive: ZipArchive): unknown; - beforeUpload?(archive: ZipArchive): unknown; + beforeUpload?(assets: AssetWithContent[]): unknown; afterUpload?(result: UploadResult): unknown; assetError?(error: ProcessAssetError): unknown; uploadError?(error: string): unknown; @@ -71,7 +68,6 @@ export function processAndUploadAssetsCommand( : undefined; const processCommand = processAsset(sourceProcessor); - const archiveCommand = archiveSourceMaps(sourceProcessor); const uploadCommand = sourceMapUploader ? uploadArchive(sourceMapUploader) : undefined; return async function processAndUploadAssets(assets: Asset[]): Promise { @@ -123,11 +119,18 @@ export function processAndUploadAssetsCommand( .then(includeSources ? pass : stripSourcesContent).inner, ), ) - .then(options?.beforeArchive ? inspect(options.beforeArchive) : pass) - .then(archiveCommand) - .then(options?.afterArchive ? inspect(options.afterArchive) : pass) .then(options?.beforeUpload ? inspect(options.beforeUpload) : pass) - .then(uploadCommand) + .then(createArchive(sourceProcessor)) + .then(async ({ assets, archive }) => { + // We first create the upload request, which pipes the archive to itself + const promise = uploadCommand(archive); + + // Next we finalize the archive, which causes the assets to be written to the archive, and consequently to the request + await finalizeArchive({ assets, archive }); + + // Finally, we return the upload request promise + return promise; + }) .then(options?.afterUpload ? inspect(options.afterUpload) : pass) .thenErr(options?.uploadError ? inspect(options.uploadError) : pass).inner; diff --git a/tools/sourcemap-tools/src/helpers/common.ts b/tools/sourcemap-tools/src/helpers/common.ts index 4fbab1ed..b5e35221 100644 --- a/tools/sourcemap-tools/src/helpers/common.ts +++ b/tools/sourcemap-tools/src/helpers/common.ts @@ -1,6 +1,6 @@ import fs from 'fs'; -import { Readable } from 'stream'; -import { Logger, LogLevel } from '../Logger'; +import { Readable, Writable } from 'stream'; +import { LogLevel, Logger } from '../Logger'; import { ResultPromise } from '../models/AsyncResult'; import { Err, Ok, Result } from '../models/Result'; @@ -25,6 +25,20 @@ export async function writeFile(file: ContentFile) { } } +export function createWriteStream(path: string) { + try { + return Ok(fs.createWriteStream(path)); + } catch (err) { + return Err(`failed to create write stream to file: ${err instanceof Error ? err.message : 'unknown error'}`); + } +} + +export function pipeStream(readable: Pick) { + return function pipeStream(writable: Writable) { + return readable.pipe(writable); + }; +} + export async function writeStream(file: StreamFile) { const [stream, path] = file; try { diff --git a/tools/sourcemap-tools/tests/ZipArchive.spec.ts b/tools/sourcemap-tools/tests/ZipArchive.spec.ts index a31ab34c..1e9db561 100644 --- a/tools/sourcemap-tools/tests/ZipArchive.spec.ts +++ b/tools/sourcemap-tools/tests/ZipArchive.spec.ts @@ -23,8 +23,8 @@ describe('ZipArchive', () => { archive.pipe(outputStream); const entries = [ - ['entry1', Buffer.from('entry1')], - ['entry2', Buffer.from('entry2')], + ['entry1', 'entry1Data'], + ['entry2', 'entry2Data'], ] as const; for (const [name, buf] of entries) { @@ -40,7 +40,7 @@ describe('ZipArchive', () => { const entry = entries.find(([e]) => e === file.path); assert(entry); - expect(entry[1]).toEqual(file.data); + expect(file.data.toString('utf-8')).toEqual(entry[1]); } }); }); diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index fa9f081c..2c407151 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -29,8 +29,7 @@ export class BacktracePlugin implements WebpackPluginInstance { assetFinished: (asset) => logger.info(`[${asset.asset.name}] asset processed successfully`), assetError: (asset) => logger.error(`[${asset.asset.name}] ${asset.error}`), - beforeArchive: (paths) => logger.log(`creating archive to upload from ${paths.length} files`), - beforeUpload: () => logger.log(`uploading sourcemaps...`), + beforeUpload: (paths) => logger.log(`uploading ${paths.length} sourcemaps...`), afterUpload: (result) => logger.info(`sourcemaps uploaded to Backtrace: ${result.rxid}`), uploadError: (error) => logger.error(`failed to upload sourcemaps: ${error}`), }); From 294dbd98780502af21a7787f07f8d6d65a64b373 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 31 Aug 2023 09:40:14 +0200 Subject: [PATCH 142/291] sdk-core: fix skipping stack frame with message reports (#106) * sdk-core: always skip first line in stack in V8 * sdk-core: make send not an async function --------- Co-authored-by: Sebastian Alex --- packages/sdk-core/src/BacktraceCoreClient.ts | 38 +++++++++---------- .../converter/V8StackTraceConverter.ts | 2 + 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 451a6840..64f9177a 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -166,18 +166,14 @@ export abstract class BacktraceCoreClient { * @param attributes Report attributes * @param attachments Report attachments */ - public async send( - error: Error, - attributes?: Record, - attachments?: BacktraceAttachment[], - ): Promise; + public send(error: Error, attributes?: Record, attachments?: BacktraceAttachment[]): Promise; /** * Asynchronously sends a message report to Backtrace * @param message Report message * @param attributes Report attributes * @param attachments Report attachments */ - public async send( + public send( message: string, attributes?: Record, attachments?: BacktraceAttachment[], @@ -186,17 +182,18 @@ export abstract class BacktraceCoreClient { * Asynchronously sends error data to Backtrace * @param report Backtrace Report */ - public async send(report: BacktraceReport): Promise; - public async send( + public send(report: BacktraceReport): Promise; + // This function CANNOT be an async function due to possible async state machine stack frame inclusion, which breaks the skip stacks + public send( data: BacktraceReport | Error | string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [], ): Promise { if (!this._enabled) { - return; + return Promise.resolve(); } if (this._rateLimitWatcher.skipReport()) { - return; + return Promise.resolve(); } const report = this.isReport(data) @@ -207,25 +204,26 @@ export abstract class BacktraceCoreClient { this.breadcrumbsManager?.logReport(report); if (this.options.skipReport && this.options.skipReport(report)) { - return; + return Promise.resolve(); } const backtraceData = this.generateSubmissionData(report); if (!backtraceData) { - return; + return Promise.resolve(); } const submissionAttachments = this.generateSubmissionAttachments(report, reportAttachments); const record = this.addToDatabase(backtraceData, submissionAttachments); - const submissionResult = await this._reportSubmission.send(backtraceData, submissionAttachments); - if (!record) { - return; - } - record.locked = false; - if (submissionResult.status === 'Ok') { - this._database?.remove(record); - } + return this._reportSubmission.send(backtraceData, submissionAttachments).then((submissionResult) => { + if (!record) { + return; + } + record.locked = false; + if (submissionResult.status === 'Ok') { + this._database?.remove(record); + } + }); } /** diff --git a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts index 1d316b76..d874d6a6 100644 --- a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts +++ b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts @@ -16,6 +16,8 @@ export class V8StackTraceConverter implements BacktraceStackTraceConverter { // remove error header from stack trace - if the error header exists if (stackFrames[0].indexOf(errorHeader[0]) !== -1) { stackFrames = stackFrames.slice(errorHeader.length); + } else { + stackFrames = stackFrames.slice(1); } for (const stackFrame of stackFrames) { const normalizedStackFrame = stackFrame.trim(); From c3cf43abf56d969e423556489d3a7e12691cd3f5 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 31 Aug 2023 17:35:05 +0200 Subject: [PATCH 143/291] add deferred user attributes (#110) * sdk-core: add deferred user attributes * sdk-core: fix attribute provider order in case of static and dynamic providers * sdk-core: move AttributeManager to BacktraceDataGenerator * browser: fix UserIdentifierAttributeProvider to not reference user attributes * node: fix ApplicationInformationAttributeProvider to not reference user attributes * sdk-core: add option of adding deferred attributes via addAttribute * sdk-core: PR suggestions * docs: add userAttributes and addAttribute deferred docs --------- Co-authored-by: Sebastian Alex --- packages/browser/README.md | 32 +- .../UserIdentifierAttributeProvider.ts | 14 +- .../src/builder/BacktraceClientBuilder.ts | 10 +- .../userIdAttributeProviderTests.spec.ts | 19 +- packages/node/README.md | 30 +- ...ApplicationInformationAttributeProvider.ts | 8 +- .../src/builder/BacktraceClientBuilder.ts | 8 +- ...nInformationAttributeProviderTests.spec.ts | 32 +- packages/react/README.md | 32 +- packages/sdk-core/src/BacktraceCoreClient.ts | 52 ++- .../configuration/BacktraceConfiguration.ts | 2 +- .../src/modules/attribute/AttributeManager.ts | 48 +-- .../attribute/ClientAttributeProvider.ts | 4 +- .../attribute/UserAttributeProvider.ts | 15 + .../src/modules/data/BacktraceDataBuilder.ts | 16 +- .../tests/attributes/attributeManager.spec.ts | 356 ++++++++++++++++++ .../tests/client/attributesTests.spec.ts | 5 +- .../tests/http/dataSerializationTests.spec.ts | 2 + .../tests/metrics/summedEventTests.spec.ts | 8 +- .../tests/metrics/uniqueEventTests.spec.ts | 8 +- .../tests/report/dataGenerationTests.spec.ts | 71 +++- 21 files changed, 630 insertions(+), 142 deletions(-) create mode 100644 packages/sdk-core/src/modules/attribute/UserAttributeProvider.ts create mode 100644 packages/sdk-core/tests/attributes/attributeManager.spec.ts diff --git a/packages/browser/README.md b/packages/browser/README.md index f7cbbc76..58a9e9a3 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -39,7 +39,7 @@ $ npm install @backtrace-labs/browser Add the following code to your application before all other scripts to report client-side errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/browser with your favoriate package manager. +// Import the BacktraceClient from @backtrace-labs/browser with your favorite package manager. import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/browser'; // Configure client options @@ -108,6 +108,25 @@ const options: BacktraceConfiguration = { const client = BacktraceClient.initialize(options); ``` +You can also include attributes that will be resolved when creating a report: + +```ts +// BacktraceClientOptions +const options: BacktraceConfiguration = { + name: 'MyWebPage', + version: '1.2.3', + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: () => ({ + user: getCurrentUser(), + }), +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + #### Add attributes during application runtime Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). @@ -121,6 +140,17 @@ client.addAttribute({ }) ``` +You can also add attributes that will be resolved when creating a report: + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute(() => ({ + "clientID": resolveCurrentClientId() +})) +``` + #### Add attributes to an error report The attributes list of a BacktraceReport object can be directly modified. diff --git a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts index 18a16feb..7e5330ac 100644 --- a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts +++ b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts @@ -1,23 +1,15 @@ -import { BacktraceAttributeProvider, BacktraceConfiguration, IdGenerator } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider, IdGenerator } from '@backtrace-labs/sdk-core'; export class UserIdentifierAttributeProvider implements BacktraceAttributeProvider { public readonly USER_IDENTIFIER = 'backtrace-guid'; - private _guid: string | undefined; - - constructor(options: BacktraceConfiguration) { - this._guid = options.userAttributes?.['guid'] as string; - } public get type(): 'scoped' | 'dynamic' { return 'scoped'; } - public get(): Record { - if (!this._guid) { - this._guid = this.generateUuidToLocalStorage() ?? IdGenerator.uuid(); - } + public get(): Record { return { - guid: this._guid, + guid: this.generateUuidToLocalStorage() ?? IdGenerator.uuid(), }; } diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index a35625c5..7a6855d4 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -6,15 +6,15 @@ import { BreadcrumbsEventSubscriber, } from '@backtrace-labs/sdk-core'; import { V8StackTraceConverter } from '@backtrace-labs/sdk-core/lib/modules/converter/V8StackTraceConverter'; +import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; +import { BacktraceBrowserSessionProvider } from '../BacktraceBrowserSessionProvider'; +import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider'; import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; -import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; -import { BacktraceBrowserSessionProvider } from '../BacktraceBrowserSessionProvider'; -import { BacktraceClient } from '../BacktraceClient'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber'; import { HistoryEventSubscriber } from '../breadcrumbs/HistoryEventSubscriber'; import { WebRequestEventSubscriber } from '../breadcrumbs/WebRequestEventSubscriber'; @@ -29,7 +29,7 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { it(`Should always set user id attribute`, () => { - const userIdentifier = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + const userIdentifier = new UserIdentifierAttributeProvider(); expect(userIdentifier.get()['guid']).toBeDefined(); }); - it(`Should always use guid from the user attributes`, () => { - const test = 'test'; - const userIdentifier = new UserIdentifierAttributeProvider({ - url: 'https://submit.backtrace.io/foo/bar/baz', - userAttributes: { guid: test }, - } as BacktraceConfiguration); - - expect(userIdentifier.get()['guid']).toEqual(test); - }); - it(`Should store value in the local storage if the guid is not provider`, () => { - const userIdentifier = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + const userIdentifier = new UserIdentifierAttributeProvider(); expect(window.localStorage.getItem(userIdentifier.USER_IDENTIFIER)).toBeDefined(); }); it(`Should always generate the same value`, () => { - const userIdentifier1 = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); - const userIdentifier2 = new UserIdentifierAttributeProvider({} as BacktraceConfiguration); + const userIdentifier1 = new UserIdentifierAttributeProvider(); + const userIdentifier2 = new UserIdentifierAttributeProvider(); expect(userIdentifier1.get()['guid']).toEqual(userIdentifier2.get()['guid']); }); diff --git a/packages/node/README.md b/packages/node/README.md index 39ffd49f..41dbc317 100644 --- a/packages/node/README.md +++ b/packages/node/README.md @@ -44,7 +44,7 @@ $ npm install @backtrace-labs/node Add the following code to your application before all other scripts to report node errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/node with your favoriate package manager. +// Import the BacktraceClient from @backtrace-labs/node with your favorite package manager. import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/node'; // Configure client options @@ -109,6 +109,23 @@ const options: BacktraceConfiguration = { const client = BacktraceClient.initialize(options); ``` +You can also include attributes that will be resolved when creating a report: + +```ts +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: () => ({ + attribute: getAttributeValue(), + }), +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + #### Add attributes during application runtime Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). @@ -122,6 +139,17 @@ client.addAttribute({ }) ``` +You can also add attributes that will be resolved when creating a report: + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute(() => ({ + "clientID": resolveCurrentClientId() +})) +``` + #### Add attributes to an error report The attributes list of a BacktraceReport object can be directly modified. diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index 7d59b2d4..ebcb8492 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -2,7 +2,6 @@ import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; import fs from 'fs'; import path from 'path'; import process from 'process'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { public readonly APPLICATION_ATTRIBUTE = 'application'; @@ -17,17 +16,14 @@ export class ApplicationInformationAttributeProvider implements BacktraceAttribu } constructor( - options: BacktraceConfiguration, applicationSearchPaths?: string[], nodeConfiguration: { application?: string; version?: string } = { application: process.env?.npm_package_name, version: process.env?.npm_package_version, }, ) { - this._application = - (options.userAttributes?.[this.APPLICATION_ATTRIBUTE] as string) ?? nodeConfiguration?.application; - this._applicationVersion = - (options.userAttributes?.[this.APPLICATION_VERSION_ATTRIBUTE] as string) ?? nodeConfiguration?.version; + this._application = nodeConfiguration?.application; + this._applicationVersion = nodeConfiguration?.version; this.applicationSearchPaths = applicationSearchPaths ?? this.generateDefaultApplicationSearchPaths(); } diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index 88b86004..8a2e2f0d 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -5,6 +5,9 @@ import { BacktraceSessionProvider, BreadcrumbsEventSubscriber, } from '@backtrace-labs/sdk-core'; +import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; +import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; import { BacktraceFileAttachment } from '../attachment'; import { ApplicationInformationAttributeProvider, @@ -14,15 +17,12 @@ import { ProcessInformationAttributeProvider, ProcessStatusAttributeProvider, } from '../attributes'; -import { BacktraceClient } from '../BacktraceClient'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; -import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { constructor( private readonly _options: BacktraceConfiguration, attributeProvider: BacktraceAttributeProvider[] = [ - new ApplicationInformationAttributeProvider(_options), + new ApplicationInformationAttributeProvider(), new ProcessStatusAttributeProvider(), new MachineAttributeProvider(), new ProcessInformationAttributeProvider(), diff --git a/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts b/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts index b7760057..4eaf6e22 100644 --- a/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts +++ b/packages/node/tests/attributes/applicationInformationAttributeProviderTests.spec.ts @@ -1,37 +1,15 @@ import fs from 'fs'; import path from 'path'; -import { BacktraceConfiguration } from '../../src'; import { ApplicationInformationAttributeProvider } from '../../src/attributes/ApplicationInformationAttributeProvider'; describe('Application information attribute provider tests', () => { - it('Should allow to set application and application.version attribute via attribute system', () => { - const expectedApplicationName = 'test'; - const applicationKey = 'application'; - const expectedApplicationVersion = '1.0.0'; - const applicationVersionKey = 'application.version'; - const provider = new ApplicationInformationAttributeProvider({ - url: 'not-used', - userAttributes: { - [applicationKey]: expectedApplicationName, - [applicationVersionKey]: expectedApplicationVersion, - }, - } as BacktraceConfiguration); - - const attributes = provider.get(); - - expect(attributes[applicationKey]).toBe(expectedApplicationName); - expect(attributes[applicationVersionKey]).toBe(expectedApplicationVersion); - }); - describe('search path tests', () => { const sourceDir = path.dirname(path.dirname(__dirname)); const libraryPackageJson = path.join(sourceDir, 'package.json'); const expectedPackageJson = JSON.parse(fs.readFileSync(libraryPackageJson, 'utf8')); it('Should find a package.json file in the project structure', () => { const testedPackageDir = path.join(sourceDir, 'foo', 'bar', 'baz', '123', 'foo', 'bar'); - const provider = new ApplicationInformationAttributeProvider({} as BacktraceConfiguration, [ - testedPackageDir, - ]); + const provider = new ApplicationInformationAttributeProvider([testedPackageDir]); const attributes = provider.get(); expect(attributes[provider.APPLICATION_ATTRIBUTE]).toBe(expectedPackageJson.name); @@ -40,7 +18,7 @@ describe('Application information attribute provider tests', () => { }); it('Should try to find a package.json in the current project', () => { - const provider = new ApplicationInformationAttributeProvider({} as BacktraceConfiguration); + const provider = new ApplicationInformationAttributeProvider(); const attributes = provider.get(); expect(attributes[provider.APPLICATION_ATTRIBUTE]).toBe(expectedPackageJson.name); @@ -50,11 +28,7 @@ describe('Application information attribute provider tests', () => { it('Should throw an error when the package.json information does not exist', () => { const testedPackageDir = path.join('/foo', 'bar', 'baz', '123', 'foo', 'bar'); - const provider = new ApplicationInformationAttributeProvider( - {} as BacktraceConfiguration, - [testedPackageDir], - {}, - ); + const provider = new ApplicationInformationAttributeProvider([testedPackageDir], {}); expect(() => provider.get()).toThrow(Error); }); diff --git a/packages/react/README.md b/packages/react/README.md index e9ca3ad6..c701bc94 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -40,7 +40,7 @@ $ npm install @backtrace-labs/react Add the following code to your application before all other scripts to report client-side errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/react with your favoriate package manager. +// Import the BacktraceClient from @backtrace-labs/react with your favorite package manager. import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react'; // Configure client options @@ -137,6 +137,25 @@ const options: BacktraceConfiguration = { const client = BacktraceClient.initialize(options); ``` +You can also include attributes that will be resolved when creating a report: + +```ts +// BacktraceClientOptions +const options: BacktraceConfiguration = { + name: 'MyWebPage', + version: '1.2.3', + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: () => ({ + user: getCurrentUser(), + }), +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + #### Add attributes during application runtime Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). @@ -150,6 +169,17 @@ client.addAttribute({ }) ``` +You can also add attributes that will be resolved when creating a report: + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute(() => ({ + "clientID": resolveCurrentClientId() +})) +``` + #### Add attributes to an error report The attributes list of a BacktraceReport object can be directly modified. diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 64f9177a..2c4048e9 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -1,5 +1,6 @@ import { BacktraceAttachment, + BacktraceAttributeProvider, BacktraceConfiguration, BacktraceDatabaseRecord, BacktraceSessionProvider, @@ -12,6 +13,7 @@ import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmissio import { BacktraceReport } from './model/report/BacktraceReport'; import { AttributeManager } from './modules/attribute/AttributeManager'; import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; +import { UserAttributeProvider } from './modules/attribute/UserAttributeProvider'; import { BacktraceBreadcrumbs } from './modules/breadcrumbs'; import { BreadcrumbsManager } from './modules/breadcrumbs/BreadcrumbsManager'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; @@ -53,14 +55,14 @@ export abstract class BacktraceCoreClient { * Available cached client attributes */ public get attributes(): Record { - return this._attributeProvider.attributes; + return this._attributeManager.get().attributes; } /** * Available cached client annotatations */ public get annotations(): Record { - return this._attributeProvider.annotations; + return this._attributeManager.get().annotations; } public get metrics(): BacktraceMetrics | undefined { @@ -87,7 +89,7 @@ export abstract class BacktraceCoreClient { private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; - private readonly _attributeProvider: AttributeManager; + private readonly _attributeManager: AttributeManager; private readonly _metrics?: BacktraceMetrics; private readonly _database?: BacktraceDatabase; private readonly _sessionProvider: BacktraceSessionProvider; @@ -103,22 +105,29 @@ export abstract class BacktraceCoreClient { const stackTraceConverter = this._setup.stackTraceConverter ?? new V8StackTraceConverter(); + this._reportSubmission = new BacktraceReportSubmission(this.options, this._setup.requestHandler); + + const attributeProviders: BacktraceAttributeProvider[] = [ + new ClientAttributeProvider(this.agent, this.agentVersion, this._sessionProvider.sessionId), + ]; + + if (this._setup.attributeProviders) { + attributeProviders.push(...this._setup.attributeProviders); + } + + if (this._setup.options.userAttributes) { + attributeProviders.push(new UserAttributeProvider(this._setup.options.userAttributes)); + } + + this._attributeManager = new AttributeManager(attributeProviders); + this._dataBuilder = new BacktraceDataBuilder( this._sdkOptions, stackTraceConverter, + this._attributeManager, new DebugIdProvider(stackTraceConverter, this._setup.debugIdMapProvider), ); - this._reportSubmission = new BacktraceReportSubmission(this.options, this._setup.requestHandler); - this._attributeProvider = new AttributeManager([ - new ClientAttributeProvider( - this.agent, - this.agentVersion, - this._sessionProvider.sessionId, - this.options.userAttributes ?? {}, - ), - ...(this._setup.attributeProviders ?? []), - ]); this.attachments = this.options.attachments ?? []; if (this._setup.databaseStorageProvider && this.options?.database?.enable === true) { @@ -134,7 +143,7 @@ export abstract class BacktraceCoreClient { const metrics = new MetricsBuilder( this.options, this._sessionProvider, - this._attributeProvider, + this._attributeManager, this._setup.requestHandler, ).build(); @@ -144,7 +153,7 @@ export abstract class BacktraceCoreClient { if (this.options.breadcrumbs?.enable !== false) { this.breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); - this._attributeProvider.addProvider(this.breadcrumbsManager); + this._attributeManager.addProvider(this.breadcrumbsManager); this.attachments.push(this.breadcrumbsManager.breadcrumbsStorage); } @@ -156,8 +165,14 @@ export abstract class BacktraceCoreClient { * Add attribute to Backtrace Client reports. * @param attributes key-value object with attributes. */ - public addAttribute(attributes: Record) { - this._attributeProvider.add(attributes); + public addAttribute(attributes: Record): void; + /** + * Add dynamic attributes to Backtrace Client reports. + * @param attributes function returning key-value object with attributes. + */ + public addAttribute(attributes: () => Record): void; + public addAttribute(attributes: Record | (() => Record)) { + this._attributeManager.add(attributes); } /** @@ -262,8 +277,7 @@ export abstract class BacktraceCoreClient { } private generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { - const { annotations, attributes } = this._attributeProvider.get(); - const backtraceData = this._dataBuilder.build(report, attributes, annotations); + const backtraceData = this._dataBuilder.build(report); if (!this.options.beforeSend) { return backtraceData; } diff --git a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts index d889a8ac..e705da34 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceConfiguration.ts @@ -111,7 +111,7 @@ export interface BacktraceConfiguration { * Attributes are additional metadata that can be attached to error and crash reports. You can use attributes to filter, * aggregate, analyze, and debug errors in the Backtrace console. */ - userAttributes?: Record; + userAttributes?: Record | (() => Record); /** * Attachments are additional files/data that can be send with error to Backtrace. */ diff --git a/packages/sdk-core/src/modules/attribute/AttributeManager.ts b/packages/sdk-core/src/modules/attribute/AttributeManager.ts index c524e4b0..2a99d7ab 100644 --- a/packages/sdk-core/src/modules/attribute/AttributeManager.ts +++ b/packages/sdk-core/src/modules/attribute/AttributeManager.ts @@ -1,13 +1,9 @@ -import { AttributeType } from '../../model/data/BacktraceData'; import { ReportData } from '../../model/report/ReportData'; import { BacktraceAttributeProvider } from './BacktraceAttributeProvider'; import { ReportDataBuilder } from './ReportDataBuilder'; export class AttributeManager { - public readonly attributes: Record = {}; - public readonly annotations: Record = {}; - - private readonly _dynamicAttributeProviders: BacktraceAttributeProvider[] = []; + private readonly _attributeProviders: BacktraceAttributeProvider[] = []; constructor(providers: BacktraceAttributeProvider[]) { for (const provider of providers) { @@ -16,11 +12,15 @@ export class AttributeManager { } /** - * Adds attributes to manager manager cache + * Adds attributes to manager cache * @param attributes attributes object */ - public add(attributes: Record) { - this.addStaticAttributes(attributes); + public add(attributes: Record | (() => Record)) { + if (typeof attributes === 'function') { + this.addProvider({ type: 'dynamic', get: attributes }); + } else { + this.addProvider({ type: 'scoped', get: () => attributes }); + } } /** @@ -28,13 +28,17 @@ export class AttributeManager { * @param attributeProvider * @returns */ - public async addProvider(attributeProvider: BacktraceAttributeProvider) { + public addProvider(attributeProvider: BacktraceAttributeProvider) { if (attributeProvider.type === 'dynamic') { - this._dynamicAttributeProviders.push(attributeProvider); + this._attributeProviders.push(attributeProvider); return; + } else { + const attributes = attributeProvider.get(); + this._attributeProviders.push({ + type: 'scoped', + get: () => attributes, + }); } - const attributes = attributeProvider.get(); - this.addStaticAttributes(attributes); } /** @@ -43,14 +47,13 @@ export class AttributeManager { */ public get(): ReportData { const result = { - annotations: { - ...this.annotations, - }, - attributes: { ...this.attributes }, + annotations: {}, + attributes: {}, }; - for (const attributeProvider of this._dynamicAttributeProviders) { + for (const attributeProvider of this._attributeProviders) { const providerResult = ReportDataBuilder.build(attributeProvider.get()); + result.attributes = { ...result.attributes, ...providerResult.attributes, @@ -64,15 +67,4 @@ export class AttributeManager { return result; } - - private addStaticAttributes(attributes: Record) { - const reportAttributes = ReportDataBuilder.build(attributes); - for (const attributeKey in reportAttributes.attributes) { - this.attributes[attributeKey] = reportAttributes.attributes[attributeKey]; - } - - for (const annotationKey in reportAttributes.annotations) { - this.annotations[annotationKey] = reportAttributes.annotations[annotationKey]; - } - } } diff --git a/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts b/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts index 967b3243..5fa83346 100644 --- a/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts +++ b/packages/sdk-core/src/modules/attribute/ClientAttributeProvider.ts @@ -5,17 +5,17 @@ export class ClientAttributeProvider implements BacktraceAttributeProvider { private readonly _sdkName: string, private readonly _sdkVersion: string, private readonly _sessionId: string, - private readonly _userAttributes: Record, ) {} + public get type(): 'scoped' | 'dynamic' { return 'scoped'; } + public get(): Record { return { 'application.session': this._sessionId, 'backtrace.agent': this._sdkName, 'backtrace.version': this._sdkVersion, - ...this._userAttributes, }; } } diff --git a/packages/sdk-core/src/modules/attribute/UserAttributeProvider.ts b/packages/sdk-core/src/modules/attribute/UserAttributeProvider.ts new file mode 100644 index 00000000..dd5e9a3e --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/UserAttributeProvider.ts @@ -0,0 +1,15 @@ +import { BacktraceAttributeProvider } from './BacktraceAttributeProvider'; + +export class UserAttributeProvider implements BacktraceAttributeProvider { + public readonly type: 'scoped' | 'dynamic'; + private readonly _source: () => Record; + + constructor(source: Record | (() => Record)) { + this._source = typeof source === 'function' ? source : () => source; + this.type = typeof source === 'function' ? 'dynamic' : 'scoped'; + } + + public get(): Record { + return this._source(); + } +} diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index 97d69c6b..d7748f3a 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -2,9 +2,10 @@ import { BacktraceStackTraceConverter, DebugIdProvider } from '../..'; import { SdkOptions } from '../../builder/SdkOptions'; import { IdGenerator } from '../../common/IdGenerator'; import { TimeHelper } from '../../common/TimeHelper'; -import { AttributeType, BacktraceData } from '../../model/data/BacktraceData'; +import { BacktraceData } from '../../model/data/BacktraceData'; import { BacktraceStackFrame, BacktraceStackTrace } from '../../model/data/BacktraceStackTrace'; import { BacktraceReport } from '../../model/report/BacktraceReport'; +import { AttributeManager } from '../attribute/AttributeManager'; import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; export class BacktraceDataBuilder { @@ -13,14 +14,13 @@ export class BacktraceDataBuilder { constructor( private readonly _sdkOptions: SdkOptions, private readonly _stackTraceConverter: BacktraceStackTraceConverter, + private readonly _attributeManager: AttributeManager, private readonly _debugIdProvider: DebugIdProvider, ) {} - public build( - report: BacktraceReport, - clientAttributes: Record = {}, - clientAnnotations: Record = {}, - ): BacktraceData { + public build(report: BacktraceReport): BacktraceData { + const { annotations, attributes } = this._attributeManager.get(); + const reportData = ReportDataBuilder.build(report.attributes); const { threads, detectedDebugIdentifier } = this.getThreads(report); @@ -35,12 +35,12 @@ export class BacktraceDataBuilder { mainThread: this.MAIN_THREAD_NAME, threads, annotations: { - ...clientAnnotations, + ...annotations, ...reportData.annotations, ...report.annotations, }, attributes: { - ...clientAttributes, + ...attributes, ...reportData.attributes, }, }; diff --git a/packages/sdk-core/tests/attributes/attributeManager.spec.ts b/packages/sdk-core/tests/attributes/attributeManager.spec.ts new file mode 100644 index 00000000..7fe7da23 --- /dev/null +++ b/packages/sdk-core/tests/attributes/attributeManager.spec.ts @@ -0,0 +1,356 @@ +import { BacktraceAttributeProvider } from '../../src'; +import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; + +describe('AttributeManager', () => { + function provider(type: BacktraceAttributeProvider['type'], get: BacktraceAttributeProvider['get']) { + return { type, get }; + } + + describe('providers', () => { + it('should resolve static provider when it is added via constructor', () => { + const fn = jest.fn().mockReturnValue({}); + + new AttributeManager([provider('scoped', fn)]); + expect(fn).toBeCalled(); + }); + + it('should resolve static provider when it is added via addProvider', () => { + const fn = jest.fn().mockReturnValue({}); + + const attributeManager = new AttributeManager([]); + attributeManager.addProvider(provider('scoped', fn)); + expect(fn).toBeCalled(); + }); + + it('should resolve static provider only once', () => { + const fn = jest.fn().mockReturnValue({}); + + const attributeManager = new AttributeManager([provider('scoped', fn)]); + + attributeManager.get(); + attributeManager.get(); + + expect(fn).toBeCalledTimes(1); + }); + + it('should resolve dynamic provider added via constructor when get is called', () => { + const fn = jest.fn().mockReturnValue({}); + + const attributeManager = new AttributeManager([provider('dynamic', fn)]); + expect(fn).not.toBeCalled(); + + attributeManager.get(); + + expect(fn).toBeCalled(); + }); + + it('should resolve dynamic provider added via addProvider when get is called', () => { + const fn = jest.fn().mockReturnValue({}); + + const attributeManager = new AttributeManager([]); + attributeManager.addProvider(provider('dynamic', fn)); + expect(fn).not.toBeCalled(); + + attributeManager.get(); + + expect(fn).toBeCalled(); + }); + + it('should resolve dynamic provider every time when get is called', () => { + const fn = jest.fn().mockReturnValue({}); + + const attributeManager = new AttributeManager([]); + attributeManager.addProvider(provider('dynamic', fn)); + + attributeManager.get(); + attributeManager.get(); + attributeManager.get(); + + expect(fn).toBeCalledTimes(3); + }); + }); + + describe('add', () => { + it('should resolve added attributes in order', () => { + const attributes1 = { + foo: 'bar', + abc: 'xyz', + }; + + const attributes2 = { + foo: 'baz', + test: 'test', + }; + + const attributes3 = { + foo: 'foo', + test2: 'test2', + }; + + const expected = { + ...attributes1, + ...attributes2, + ...attributes3, + }; + + const attributeManager = new AttributeManager([]); + attributeManager.add(attributes1); + attributeManager.add(attributes2); + attributeManager.add(attributes3); + + const { attributes } = attributeManager.get(); + expect(attributes).toEqual(expected); + }); + + it('should resolve added annotations in order', () => { + const annotations1 = { + foo: { x: 'bar' }, + abc: { x: 'xyz' }, + }; + + const annotations2 = { + foo: { x: 'baz' }, + test: { x: 'test' }, + }; + + const annotations3 = { + foo: { x: 'foo' }, + test2: { x: 'test2' }, + }; + + const expected = { + ...annotations1, + ...annotations2, + ...annotations3, + }; + + const attributeManager = new AttributeManager([]); + attributeManager.add(annotations1); + attributeManager.add(annotations2); + attributeManager.add(annotations3); + + const { annotations } = attributeManager.get(); + expect(annotations).toEqual(expected); + }); + + it('should override provider attributes with added attributes', () => { + const providerAttributes = { + foo: 'bar', + abc: 'xyz', + }; + + const addedAttributes = { + foo: 'baz', + test: 'test', + }; + + const expected = { + ...providerAttributes, + ...addedAttributes, + }; + + const attributeManager = new AttributeManager([provider('scoped', () => providerAttributes)]); + attributeManager.add(addedAttributes); + + const { attributes } = attributeManager.get(); + expect(attributes).toEqual(expected); + }); + + it('should override provider annotations with added annotations', () => { + const providerAnnotations = { + foo: { x: 'bar' }, + abc: { x: 'xyz' }, + }; + + const addedAnnotations = { + foo: { x: 'baz' }, + test: { x: 'test' }, + }; + + const expected = { + ...providerAnnotations, + ...addedAnnotations, + }; + + const attributeManager = new AttributeManager([provider('scoped', () => providerAnnotations)]); + attributeManager.add(addedAnnotations); + + const { annotations } = attributeManager.get(); + expect(annotations).toEqual(expected); + }); + }); + + describe('attribute priority', () => { + it('should resolve attributes in order of providers', () => { + const attributes1 = { + foo: 'bar', + abc: 'xyz', + }; + + const attributes2 = { + foo: 'baz', + test: 'test', + }; + + const attributes3 = { + foo: 'foo', + test2: 'test2', + }; + + const expected = { + ...attributes1, + ...attributes2, + ...attributes3, + }; + + const attributeManager = new AttributeManager([ + provider('scoped', () => attributes1), + provider('scoped', () => attributes2), + provider('scoped', () => attributes3), + ]); + + const { attributes } = attributeManager.get(); + + expect(attributes).toEqual(expected); + }); + + it('should override scoped provider with next dynamic provider', () => { + const staticAttributes = { + foo: 'bar', + abc: 'xyz', + }; + + const dynamicAttributes = { + foo: 'baz', + test: 'test', + }; + + const expected = { + ...staticAttributes, + ...dynamicAttributes, + }; + + const attributeManager = new AttributeManager([ + provider('scoped', () => staticAttributes), + provider('dynamic', () => dynamicAttributes), + ]); + + const { attributes } = attributeManager.get(); + + expect(attributes).toEqual(expected); + }); + + it('should override dynamic provider with next scoped provider', () => { + const dynamicAttributes = { + foo: 'bar', + abc: 'xyz', + }; + + const staticAttributes = { + foo: 'baz', + test: 'test', + }; + + const expected = { + ...dynamicAttributes, + ...staticAttributes, + }; + + const attributeManager = new AttributeManager([ + provider('dynamic', () => dynamicAttributes), + provider('scoped', () => staticAttributes), + ]); + + const { attributes } = attributeManager.get(); + + expect(attributes).toEqual(expected); + }); + }); + + describe('annotation priority', () => { + it('should resolve annotations in order of providers', () => { + const annotations1 = { + foo: { x: 'bar' }, + abc: { x: 'xyz' }, + }; + + const annotations2 = { + foo: { x: 'baz' }, + test: { x: 'test' }, + }; + + const annotations3 = { + foo: { x: 'foo' }, + test2: { x: 'test2' }, + }; + + const expected = { + ...annotations1, + ...annotations2, + ...annotations3, + }; + + const attributeManager = new AttributeManager([ + provider('scoped', () => annotations1), + provider('scoped', () => annotations2), + provider('scoped', () => annotations3), + ]); + + const { annotations } = attributeManager.get(); + + expect(annotations).toEqual(expected); + }); + + it('should override scoped provider with next dynamic provider', () => { + const staticAnnotations = { + foo: { x: 'bar' }, + abc: { x: 'xyz' }, + }; + + const dynamicAnnotations = { + foo: { x: 'baz' }, + test: { x: 'test' }, + }; + + const expected = { + ...staticAnnotations, + ...dynamicAnnotations, + }; + + const attributeManager = new AttributeManager([ + provider('scoped', () => staticAnnotations), + provider('dynamic', () => dynamicAnnotations), + ]); + + const { annotations } = attributeManager.get(); + + expect(annotations).toEqual(expected); + }); + + it('should override dynamic provider with next scoped provider', () => { + const dynamicAnnotations = { + foo: { x: 'bar' }, + abc: { x: 'xyz' }, + }; + + const staticAnnotations = { + foo: { x: 'baz' }, + test: { x: 'test' }, + }; + + const expected = { + ...dynamicAnnotations, + ...staticAnnotations, + }; + + const attributeManager = new AttributeManager([ + provider('dynamic', () => dynamicAnnotations), + provider('scoped', () => staticAnnotations), + ]); + + const { annotations } = attributeManager.get(); + + expect(annotations).toEqual(expected); + }); + }); +}); diff --git a/packages/sdk-core/tests/client/attributesTests.spec.ts b/packages/sdk-core/tests/client/attributesTests.spec.ts index bcdd1812..63ae1404 100644 --- a/packages/sdk-core/tests/client/attributesTests.spec.ts +++ b/packages/sdk-core/tests/client/attributesTests.spec.ts @@ -74,9 +74,10 @@ describe('Attributes tests', () => { ]); expect(scopedAttributeGetFunction).not.toBeCalled(); - expect(fakeClient.attributes[providerAttributeKey]).toBeUndefined(); + // This causes a call to scopedAttributeGetFunction + expect(fakeClient.attributes[providerAttributeKey]).toEqual(providerAttributeValue); await fakeClient.send('foo'); - expect(scopedAttributeGetFunction).toHaveBeenCalledTimes(1); + expect(scopedAttributeGetFunction).toHaveBeenCalledTimes(2); }); }); }); diff --git a/packages/sdk-core/tests/http/dataSerializationTests.spec.ts b/packages/sdk-core/tests/http/dataSerializationTests.spec.ts index ad57ea1e..fd4988ad 100644 --- a/packages/sdk-core/tests/http/dataSerializationTests.spec.ts +++ b/packages/sdk-core/tests/http/dataSerializationTests.spec.ts @@ -1,5 +1,6 @@ import { BacktraceReport, DebugIdProvider } from '../../src'; import { jsonEscaper } from '../../src/common/jsonEscaper'; +import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from '../../src/modules/data/BacktraceDataBuilder'; @@ -13,6 +14,7 @@ describe('Data serialization tests', () => { const dataBuilder = new BacktraceDataBuilder( sdkOptions, new V8StackTraceConverter(), + new AttributeManager([]), new DebugIdProvider(new V8StackTraceConverter()), ); diff --git a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts index 6473f2cd..7ab7f7dc 100644 --- a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts +++ b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts @@ -52,7 +52,7 @@ describe('Summed events tests', () => { const expectedJson = { application: APPLICATION, appversion: APPLICATION_VERSION, - summed_events: [new SummedEvent('Application Launches', attributeManager.attributes)], + summed_events: [new SummedEvent('Application Launches', attributeManager.get().attributes)], metadata: { dropped_events: 0, }, @@ -90,7 +90,7 @@ describe('Summed events tests', () => { const expectedJson = { application: APPLICATION, appversion: APPLICATION_VERSION, - summed_events: [new SummedEvent('Application Launches', attributeManager.attributes)], + summed_events: [new SummedEvent('Application Launches', attributeManager.get().attributes)], metadata: { dropped_events: 0, }, @@ -126,7 +126,7 @@ describe('Summed events tests', () => { const expectedJson = { application: APPLICATION, appversion: APPLICATION_VERSION, - summed_events: [new SummedEvent('Application Launches', attributeManager.attributes)], + summed_events: [new SummedEvent('Application Launches', attributeManager.get().attributes)], metadata: { dropped_events: 0, }, @@ -134,7 +134,7 @@ describe('Summed events tests', () => { metrics.start(); - expect(attributeManager.attributes).toMatchObject(customAttributes); + expect(attributeManager.get().attributes).toMatchObject(customAttributes); expect(testHttpClient.post).toBeCalledWith(expect.anything(), JSON.stringify(expectedJson)); }); diff --git a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts index 73af1bc6..4f7998cb 100644 --- a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts +++ b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts @@ -4,8 +4,8 @@ import { AttributeType } from '../../src/model/data/BacktraceData'; import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; import { MetricsBuilder } from '../../src/modules/metrics/MetricsBuilder'; import { MetricsUrlInformation } from '../../src/modules/metrics/MetricsUrlInformation'; -import { UniqueEvent } from '../../src/modules/metrics/model/UniqueEvent'; import { SingleSessionProvider } from '../../src/modules/metrics/SingleSessionProvider'; +import { UniqueEvent } from '../../src/modules/metrics/model/UniqueEvent'; import { APPLICATION, APPLICATION_VERSION, TEST_SUBMISSION_URL } from '../mocks/BacktraceTestClient'; import { testHttpClient } from '../mocks/testHttpClient'; import { mockSubmissionQueue } from './mocks/mockSubmissionQueue'; @@ -53,7 +53,7 @@ describe('Unique events tests', () => { const expectedJson = { application: APPLICATION, appversion: APPLICATION_VERSION, - unique_events: [new UniqueEvent(attributeManager.attributes)], + unique_events: [new UniqueEvent(attributeManager.get().attributes)], metadata: { dropped_events: 0, }, @@ -158,7 +158,7 @@ describe('Unique events tests', () => { const expectedJson = { application: APPLICATION, appversion: APPLICATION_VERSION, - unique_events: [new UniqueEvent(attributeManager.attributes)], + unique_events: [new UniqueEvent(attributeManager.get().attributes)], metadata: { dropped_events: 0, }, @@ -166,7 +166,7 @@ describe('Unique events tests', () => { metrics.start(); - expect(attributeManager.attributes).toMatchObject(customAttributes); + expect(attributeManager.get().attributes).toMatchObject(customAttributes); expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); }); }); diff --git a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts index 091a2c80..4b2c89a4 100644 --- a/packages/sdk-core/tests/report/dataGenerationTests.spec.ts +++ b/packages/sdk-core/tests/report/dataGenerationTests.spec.ts @@ -1,6 +1,7 @@ import { BacktraceReport, DebugIdProvider } from '../../src'; import { TimeHelper } from '../../src/common/TimeHelper'; import { BacktraceStackFrame } from '../../src/model/data/BacktraceStackTrace'; +import { AttributeManager } from '../../src/modules/attribute/AttributeManager'; import { V8StackTraceConverter } from '../../src/modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from '../../src/modules/data/BacktraceDataBuilder'; @@ -14,6 +15,7 @@ describe('Data generation tests', () => { const dataBuilder = new BacktraceDataBuilder( sdkOptions, new V8StackTraceConverter(), + new AttributeManager([]), new DebugIdProvider(new V8StackTraceConverter()), ); @@ -93,7 +95,12 @@ describe('Data generation tests', () => { jest.spyOn(stackTraceConverter, 'convert').mockReturnValue(frames); jest.spyOn(debugIdProvider, 'getDebugId').mockReturnValue(expected); - const dataBuilder = new BacktraceDataBuilder(sdkOptions, stackTraceConverter, debugIdProvider); + const dataBuilder = new BacktraceDataBuilder( + sdkOptions, + stackTraceConverter, + new AttributeManager([]), + debugIdProvider, + ); const errorReport = new BacktraceReport(new Error()); const backtraceData = dataBuilder.build(errorReport); @@ -117,4 +124,66 @@ describe('Data generation tests', () => { expect(backtraceData.threads[secondName].fault).toBeFalsy(); expect(backtraceData.threads[secondName].stack.length).toBeDefined(); }); + + it('should override attribute provider attributes with report attributes', () => { + const providerAttributes = { + foo: 'bar', + xyz: 'abc', + }; + + const reportAttributes = { + foo: 'baz', + }; + + const expected = { + ...providerAttributes, + ...reportAttributes, + }; + + const dataBuilder = new BacktraceDataBuilder( + sdkOptions, + new V8StackTraceConverter(), + new AttributeManager([ + { + type: 'scoped', + get: () => providerAttributes, + }, + ]), + new DebugIdProvider(new V8StackTraceConverter()), + ); + + const data = dataBuilder.build(new BacktraceReport(new Error(), reportAttributes)); + expect(data.attributes).toMatchObject(expected); + }); + + it('should override attribute provider annotations with report annotations', () => { + const providerAnnotations = { + foo: { x: 'bar' }, + xyz: { x: 'abc' }, + }; + + const reportAnnotations = { + foo: { x: 'baz' }, + }; + + const expected = { + ...providerAnnotations, + ...reportAnnotations, + }; + + const dataBuilder = new BacktraceDataBuilder( + sdkOptions, + new V8StackTraceConverter(), + new AttributeManager([ + { + type: 'scoped', + get: () => providerAnnotations, + }, + ]), + new DebugIdProvider(new V8StackTraceConverter()), + ); + + const data = dataBuilder.build(new BacktraceReport(new Error(), reportAnnotations)); + expect(data.annotations).toMatchObject(expected); + }); }); From 2fd9cc43e83f42c81c9aa227011c0c4063311544 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 31 Aug 2023 17:37:49 +0200 Subject: [PATCH 144/291] Missing library name (#111) --- packages/browser/src/BacktraceClient.ts | 4 ++- packages/browser/src/agentDefinition.ts | 6 ---- packages/browser/src/index.ts | 3 ++ packages/react/jest.config.js | 1 + packages/react/jest.setup.js | 2 ++ packages/react/src/BacktraceClient.ts | 33 ++++++++++++++++++- packages/react/src/agentDefinition.ts | 12 +++++++ .../react/tests/errorBoundaryTests.spec.tsx | 4 +-- packages/sdk-core/jest.config.js | 1 + packages/sdk-core/jest.setup.js | 2 ++ 10 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 packages/react/jest.setup.js create mode 100644 packages/react/src/agentDefinition.ts create mode 100644 packages/sdk-core/jest.setup.js diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 46acda48..adc805ab 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -7,6 +7,7 @@ import { BacktraceStackTraceConverter, BreadcrumbsEventSubscriber, DebugIdContainer, + SdkOptions, VariableDebugIdMapProvider, } from '@backtrace-labs/sdk-core'; import { AGENT } from './agentDefinition'; @@ -25,10 +26,11 @@ export class BacktraceClient extends BacktraceCoreClient { stackTraceConverter: BacktraceStackTraceConverter, breadcrumbsEventSubscriber: BreadcrumbsEventSubscriber[], sessionProvider: BacktraceSessionProvider = new BacktraceBrowserSessionProvider(), + sdkOptions: SdkOptions = AGENT, ) { super({ options, - sdkOptions: AGENT, + sdkOptions, requestHandler, attributeProviders, stackTraceConverter, diff --git a/packages/browser/src/agentDefinition.ts b/packages/browser/src/agentDefinition.ts index 183e5bbd..74a009c7 100644 --- a/packages/browser/src/agentDefinition.ts +++ b/packages/browser/src/agentDefinition.ts @@ -7,12 +7,6 @@ declare const BACKTRACE_AGENT_VERSION: string; export const AGENT: SdkOptions = { langName: 'js', langVersion: navigator.userAgent, - /** - * To do - in the build stage, we can inject information - * about our package name and agent version. Since we don't have - * it now, I'm leaving it hardcoded, but in the future we want - * to change it and use webpack to generate it - */ agent: BACKTRACE_AGENT_NAME, agentVersion: BACKTRACE_AGENT_VERSION, }; diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 168c536f..e1d44422 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -1,8 +1,10 @@ export { AttributeType, BacktraceAttachment, + BacktraceAttributeProvider, BacktraceData, BacktraceReport, + BacktraceRequestHandler, BacktraceStackFrame, BacktraceStackTraceConverter, BacktraceStringAttachment, @@ -14,6 +16,7 @@ export { JavaScriptEngine, RawBreadcrumb, SingleSessionProvider, + V8StackTraceConverter, } from '@backtrace-labs/sdk-core'; export * from './agentDefinition'; export * from './BacktraceBrowserRequestHandler'; diff --git a/packages/react/jest.config.js b/packages/react/jest.config.js index 5d54b9b5..7c3a205c 100644 --- a/packages/react/jest.config.js +++ b/packages/react/jest.config.js @@ -2,4 +2,5 @@ module.exports = { preset: 'ts-jest', testEnvironment: 'jsdom', + setupFiles: ['./jest.setup.js'], }; diff --git a/packages/react/jest.setup.js b/packages/react/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/react/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index eea4d7c0..d40ff4e3 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -1,7 +1,38 @@ -import { BacktraceClient as BrowserClient, BacktraceConfiguration } from '@backtrace-labs/browser'; +import { + BacktraceAttributeProvider, + BacktraceClient as BrowserClient, + BacktraceConfiguration, + BacktraceRequestHandler, + BacktraceStackTraceConverter, + BreadcrumbsEventSubscriber, +} from '@backtrace-labs/browser'; +import { BacktraceSessionProvider, SdkOptions } from '@backtrace-labs/sdk-core'; +import { AGENT } from './agentDefinition'; import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; export class BacktraceClient extends BrowserClient { + protected static _instance?: BacktraceClient; + + constructor( + options: BacktraceConfiguration, + requestHandler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[], + stackTraceConverter: BacktraceStackTraceConverter, + breadcrumbsEventSubscriber: BreadcrumbsEventSubscriber[], + sessionProvider?: BacktraceSessionProvider, + sdkOptions: SdkOptions = AGENT, + ) { + super( + options, + requestHandler, + attributeProviders, + stackTraceConverter, + breadcrumbsEventSubscriber, + sessionProvider, + sdkOptions, + ); + } + public static builder(options: BacktraceConfiguration): BacktraceReactClientBuilder { return new BacktraceReactClientBuilder(options); } diff --git a/packages/react/src/agentDefinition.ts b/packages/react/src/agentDefinition.ts new file mode 100644 index 00000000..435bd5c4 --- /dev/null +++ b/packages/react/src/agentDefinition.ts @@ -0,0 +1,12 @@ +import type { SdkOptions } from '@backtrace-labs/sdk-core'; + +// These variables will be set on compilation stage +declare const BACKTRACE_AGENT_NAME: string; +declare const BACKTRACE_AGENT_VERSION: string; + +export const AGENT: SdkOptions = { + langName: 'react', + langVersion: navigator.userAgent, + agent: BACKTRACE_AGENT_NAME, + agentVersion: BACKTRACE_AGENT_VERSION, +}; diff --git a/packages/react/tests/errorBoundaryTests.spec.tsx b/packages/react/tests/errorBoundaryTests.spec.tsx index a25fa556..d28b0ccd 100644 --- a/packages/react/tests/errorBoundaryTests.spec.tsx +++ b/packages/react/tests/errorBoundaryTests.spec.tsx @@ -1,7 +1,7 @@ -import React from 'react'; import { render, screen } from '@testing-library/react'; -import { ErrorBoundary } from '../src/ErrorBoundary'; +import React from 'react'; import { BacktraceClient } from '../src/BacktraceClient'; +import { ErrorBoundary } from '../src/ErrorBoundary'; describe('Error Boundary', () => { const childrenText = 'I am the children'; diff --git a/packages/sdk-core/jest.config.js b/packages/sdk-core/jest.config.js index 757cbb71..463cbb9b 100644 --- a/packages/sdk-core/jest.config.js +++ b/packages/sdk-core/jest.config.js @@ -2,4 +2,5 @@ module.exports = { preset: 'ts-jest', testEnvironment: 'node', + setupFiles: ['./jest.setup.js'], }; diff --git a/packages/sdk-core/jest.setup.js b/packages/sdk-core/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/sdk-core/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; From 3113390abfcc5e6029b102345f21705bb46feaaf Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 31 Aug 2023 17:49:50 +0200 Subject: [PATCH 145/291] Detect unexpected message type and convert it to string (#112) * Handle non error, but object error message * Handle non error, but object error message * Error test case * Test case with overriden error message --- .../sdk-core/src/model/report/BacktraceReport.ts | 15 ++++++++++----- .../sdk-core/tests/client/clientTests.spec.ts | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/packages/sdk-core/src/model/report/BacktraceReport.ts b/packages/sdk-core/src/model/report/BacktraceReport.ts index 78b21489..ef5ee6dd 100644 --- a/packages/sdk-core/src/model/report/BacktraceReport.ts +++ b/packages/sdk-core/src/model/report/BacktraceReport.ts @@ -1,3 +1,4 @@ +import { jsonEscaper } from '../../common/jsonEscaper'; import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceAttachment } from '../attachment'; import { BacktraceStackFrame } from '../data/BacktraceStackTrace'; @@ -69,17 +70,17 @@ export class BacktraceReport { this.skipFrames = options?.skipFrames ?? 0; let errorType: BacktraceErrorType = 'Exception'; if (data instanceof Error) { + this.message = this.generateErrorMessage(data.message); this.annotations['error'] = { ...data, - message: data.message, + message: this.message, name: data.name, stack: data.stack, }; this.classifiers = [data.name]; - this.message = data.message; this.stackTrace['main'] = { stack: data.stack ?? '', - message: data.message, + message: this.message, }; // Supported in ES2022 @@ -87,10 +88,10 @@ export class BacktraceReport { this.innerReport.push((data as { cause?: unknown }).cause); } } else { - this.message = data; + this.message = this.generateErrorMessage(data); this.stackTrace['main'] = { stack: new Error().stack ?? '', - message: data, + message: this.message, }; this.classifiers = ['Message']; errorType = 'Message'; @@ -109,4 +110,8 @@ export class BacktraceReport { this.classifiers.unshift(...options.classifiers); } } + + private generateErrorMessage(data: unknown) { + return typeof data === 'object' ? JSON.stringify(data, jsonEscaper()) : data?.toString() ?? ''; + } } diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index f400c3f8..79032dab 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -14,6 +14,21 @@ describe('Client tests', () => { expect(client.requestHandler.postError).toBeCalled(); }); + it(`Should not throw when sending data with unexpected payload`, async () => { + expect(async () => await client.send([{ foo: 'bar' }, { bar: 'baz' }] as unknown as string)).not.toThrow(); + expect(client.requestHandler.postError).toBeCalled(); + }); + + it(`Should not throw when sending an error with unexpected payload`, async () => { + expect(async () => { + const payload = [{ foo: 'bar' }, { bar: 'baz' }] as unknown as string; + const error = new Error('test'); + error.message = payload; + await client.send(error); + }).not.toThrow(); + expect(client.requestHandler.postError).toBeCalled(); + }); + it(`Should not throw when sending a report`, async () => { expect(async () => await client.send(new BacktraceReport(new Error('test')))).not.toThrow(); expect(client.requestHandler.postError).toBeCalled(); From d06ff19fc7ce436555572c0654b4c6f7eb6f527b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 31 Aug 2023 18:28:06 +0200 Subject: [PATCH 146/291] SDK-core 0.0.3 release (#114) * SDK-core 0.0.3 release * package-lock refresh --- package-lock.json | 14 +++++++++++++- packages/sdk-core/package.json | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index aead0604..cfbed080 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12509,6 +12509,11 @@ "node": ">=14" } }, + "packages/node/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", + "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" + }, "packages/react": { "name": "@backtrace-labs/react", "version": "0.0.2", @@ -12530,7 +12535,7 @@ }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", @@ -13128,6 +13133,13 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" + }, + "dependencies": { + "@backtrace-labs/sdk-core": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", + "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" + } } }, "@backtrace-labs/react": { diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index cf91dc60..c8f81fc6 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sdk-core", - "version": "0.0.2", + "version": "0.0.3", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From 6502be48be0cec046eb65f07659290c0d0eed0c8 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 31 Aug 2023 18:46:13 +0200 Subject: [PATCH 147/291] browser: version 0.0.3, add dependency for sdk-core package (#108) * add examples packages as workspaces, remove package-lock.json from browser example * browser: version 0.0.3, add dependency for sdk-core package * Browser update * Bring back package-lock.json --------- Co-authored-by: Sebastian Alex Co-authored-by: Konrad Dysput --- package-lock.json | 24 +++--------------------- packages/browser/package.json | 3 ++- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index cfbed080..69277097 100644 --- a/package-lock.json +++ b/package-lock.json @@ -737,21 +737,6 @@ "node": ">=10.0.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -12468,9 +12453,10 @@ }, "packages/browser": { "name": "@backtrace-labs/browser", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", "dependencies": { + "@backtrace-labs/sdk-core": "^0.0.3", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -13094,6 +13080,7 @@ "@backtrace-labs/browser": { "version": "file:packages/browser", "requires": { + "@backtrace-labs/sdk-core": "^0.0.3", "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", @@ -13233,11 +13220,6 @@ "version": "0.5.7", "dev": true }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "optional": true, - "peer": true - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, diff --git a/packages/browser/package.json b/packages/browser/package.json index 7f0cbb95..341f532a 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/browser", - "version": "0.0.2", + "version": "0.0.3", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,6 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { + "@backtrace-labs/sdk-core": "^0.0.3", "ua-parser-js": "^1.0.35" } } From d8bf3d9e04e207c79ac39787573d86491cff7c4e Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 31 Aug 2023 19:17:59 +0200 Subject: [PATCH 148/291] react: version 0.0.3 (#109) * add examples packages as workspaces, remove package-lock.json from browser example * browser: version 0.0.3, add dependency for sdk-core package * react: externalize react * react: version 0.0.3, include browser dependency * Clean up packagejson * package-lock.json update --------- Co-authored-by: Sebastian Alex Co-authored-by: Konrad Dysput --- package-lock.json | 6 +++++- packages/react/package.json | 5 ++++- packages/react/webpack.config.js | 3 +++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 69277097..6f4b0c81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12502,8 +12502,11 @@ }, "packages/react": { "name": "@backtrace-labs/react", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", + "dependencies": { + "@backtrace-labs/browser": "^0.0.3" + }, "devDependencies": { "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", @@ -13132,6 +13135,7 @@ "@backtrace-labs/react": { "version": "file:packages/react", "requires": { + "@backtrace-labs/browser": "^0.0.3", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", diff --git a/packages/react/package.json b/packages/react/package.json index d85be30e..1d971a3c 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/react", - "version": "0.0.2", + "version": "0.0.3", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { @@ -46,6 +46,9 @@ "webpack": "^5.88.2", "webpack-cli": "^5.1.4" }, + "dependencies": { + "@backtrace-labs/browser": "^0.0.3" + }, "peerDependencies": { "react": ">=16.8.0" } diff --git a/packages/react/webpack.config.js b/packages/react/webpack.config.js index a47cc23c..18aec4c9 100644 --- a/packages/react/webpack.config.js +++ b/packages/react/webpack.config.js @@ -9,6 +9,9 @@ const common = { mode: process.env.NODE_ENV ?? 'production', devtool: 'source-map', entry: './src/index.ts', + externals: { + react: true, + }, plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], }; From d240d5d06a9af19fff09746cbb31ba7d69d99a66 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 31 Aug 2023 19:30:56 +0200 Subject: [PATCH 149/291] Node: Version 0.0.3 (#115) --- package-lock.json | 2 +- packages/node/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6f4b0c81..7e12780c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12474,7 +12474,7 @@ }, "packages/node": { "name": "@backtrace-labs/node", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", "dependencies": { "@backtrace-labs/sdk-core": "^0.0.2", diff --git a/packages/node/package.json b/packages/node/package.json index 6fe3e01e..0aa16b9f 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/node", - "version": "0.0.2", + "version": "0.0.3", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From aeb482e3715f7ad1db2dcbd01fec253072827adb Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri, 1 Sep 2023 11:19:35 -0400 Subject: [PATCH 150/291] Feature/error boundary fallback function (#116) * Updating the ErrorBoundary to make the error available to the fallback component * Updating example app to utilize the error in the fallback component --------- Co-authored-by: Adam Cronin --- examples/sdk/react/package-lock.json | 25115 ++++++++++++++++ .../sdk/react/src/components/Fallback.tsx | 7 +- examples/sdk/react/src/index.tsx | 2 +- packages/react/src/ErrorBoundary.tsx | 10 +- 4 files changed, 25126 insertions(+), 8 deletions(-) create mode 100644 examples/sdk/react/package-lock.json diff --git a/examples/sdk/react/package-lock.json b/examples/sdk/react/package-lock.json new file mode 100644 index 00000000..de090a59 --- /dev/null +++ b/examples/sdk/react/package-lock.json @@ -0,0 +1,25115 @@ +{ + "name": "@backtrace-labs/react-example", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace-labs/react-example", + "version": "0.1.0", + "dependencies": { + "@types/react": "^16.14.0", + "@types/react-dom": "^18.2.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "react-toastify": "^9.1.3", + "typescript": "^4.9.5", + "web-vitals": "^2.1.4" + }, + "devDependencies": { + "serve": "^14.2.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "license": "MIT", + "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.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.5", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@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.5", + "@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.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "license": "MIT" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "license": "CC0-1.0" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.43.0", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "license": "MIT" + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "license": "MIT" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "license": "MIT", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <4.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "license": "Apache-2.0", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.0", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.40.2", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.17", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.35", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.11", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "16.18.37", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.5", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "16.14.43", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.6", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "license": "MIT" + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.1", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.2", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.5", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.5", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.60.1", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/type-utils": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.60.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "5.60.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.60.1", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.60.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.60.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.60.1", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.60.1", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.60.1", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.60.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "license": "Apache-2.0" + }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "dev": true, + "license": "MIT" + }, + "node_modules/abab": { + "version": "2.0.6", + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.9.0", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "license": "ISC" + }, + "node_modules/async": { + "version": "3.2.4", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.2", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.3", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.1", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.0", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "license": "MIT", + "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" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.0.2", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.21.9", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001508", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk-template/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/chalk-template/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk-template/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.2.2", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.2", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "license": "ISC" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.5.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.31.0", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.31.0", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.31.0", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.0", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "license": "CC0-1.0", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "7.6.0", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "license": "CC0-1.0" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "license": "MIT" + }, + "node_modules/dedent": { + "version": "0.7.0", + "license": "MIT" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.0", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "license": "BSD-2-Clause" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.9", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.441", + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.8.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.43.0", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "license": "MIT", + "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.0.1", + "confusing-browser-globals": "^1.0.11", + "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" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.32.2", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "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.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.0", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.2", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.15.0", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.4", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "license": "BSD-2-Clause" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "license": "MIT" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "license": "ISC" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.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" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.24", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.2.0", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.18.2", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/launch-editor": { + "version": "2.6.0", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.12", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.5", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.6", + "license": "MIT", + "dependencies": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.24", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "license": "CC0-1.0", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.1", + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "license": "CC0-1.0" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.3.0", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "17.0.2", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-toastify": { + "version": "9.1.3", + "license": "MIT", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.2", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "license": "ISC" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "license": "CC0-1.0" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.5.3", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/send": { + "version": "0.18.0", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/content-disposition": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-handler/node_modules/range-parser": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.7.4", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "license": "MIT" + }, + "node_modules/spdy": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "node_modules/stable": { + "version": "0.1.8", + "license": "MIT" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.3", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.32.0", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.18.2", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.6.0", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/upath": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "license": "Apache-2.0" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.88.0", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.13.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.2", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "license": "MIT", + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "license": "MIT", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "license": "BSD-2-Clause" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "license": "MIT" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.5", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/compat-data": { + "version": "7.22.5" + }, + "@babel/core": { + "version": "7.22.5", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/eslint-parser": { + "version": "7.22.5", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0" + }, + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/generator": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "requires": { + "@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.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.0", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5" + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.5", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.5", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5" + }, + "@babel/helper-validator-option": { + "version": "7.22.5" + }, + "@babel/helper-wrap-function": { + "version": "7.22.5", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helpers": { + "version": "7.22.5", + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/highlight": { + "version": "7.22.5", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.22.5" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "requires": { + "@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": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "requires": {} + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "requires": { + "@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": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@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.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "requires": { + "@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": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "requires": { + "@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": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@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.5", + "@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.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@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.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@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.5", + "@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.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + } + }, + "@babel/preset-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + } + }, + "@babel/regjsgen": { + "version": "0.8.0" + }, + "@babel/runtime": { + "version": "7.22.5", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.22.5", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.5", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.5", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3" + }, + "@csstools/normalize.css": { + "version": "12.0.0" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "requires": {} + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1" + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "dependencies": { + "argparse": { + "version": "2.0.1" + }, + "globals": { + "version": "13.20.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "@eslint/js": { + "version": "8.43.0" + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1" + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1" + }, + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3" + }, + "@jest/console": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0" + }, + "@jridgewell/set-array": { + "version": "1.1.2" + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14" + } + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + } + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39" + } + } + }, + "@rushstack/eslint-patch": { + "version": "1.3.2" + }, + "@sinclair/typebox": { + "version": "0.24.51" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2" + }, + "@trysound/sax": { + "version": "0.2.0" + }, + "@types/babel__core": { + "version": "7.20.1", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.0", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.40.2", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1" + }, + "@types/express": { + "version": "4.17.17", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.35", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.6", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0" + }, + "@types/http-errors": { + "version": "2.0.1" + }, + "@types/http-proxy": { + "version": "1.17.11", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.12" + }, + "@types/json5": { + "version": "0.0.29" + }, + "@types/mime": { + "version": "1.3.2" + }, + "@types/node": { + "version": "16.18.37" + }, + "@types/parse-json": { + "version": "4.0.0" + }, + "@types/prettier": { + "version": "2.7.3" + }, + "@types/prop-types": { + "version": "15.7.5" + }, + "@types/q": { + "version": "1.5.5" + }, + "@types/qs": { + "version": "6.9.7" + }, + "@types/range-parser": { + "version": "1.2.4" + }, + "@types/react": { + "version": "16.14.43", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.6", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0" + }, + "@types/scheduler": { + "version": "0.16.3" + }, + "@types/semver": { + "version": "7.5.0" + }, + "@types/send": { + "version": "0.17.1", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.1", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.2", + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1" + }, + "@types/trusted-types": { + "version": "2.0.3" + }, + "@types/ws": { + "version": "8.5.5", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.5", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.60.1", + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/type-utils": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/utils": "5.60.1" + } + }, + "@typescript-eslint/parser": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/typescript-estree": "5.60.1", + "@typescript-eslint/utils": "5.60.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.60.1" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/visitor-keys": "5.60.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.60.1", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.60.1", + "@typescript-eslint/types": "5.60.1", + "@typescript-eslint/typescript-estree": "5.60.1", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.60.1", + "requires": { + "@typescript-eslint/types": "5.60.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0" + }, + "@xtuc/long": { + "version": "4.2.2" + }, + "@zeit/schemas": { + "version": "2.29.0", + "dev": true + }, + "abab": { + "version": "2.0.6" + }, + "accepts": { + "version": "1.3.8", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.9.0" + }, + "acorn-globals": { + "version": "6.0.0", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1" + } + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0" + }, + "address": { + "version": "1.2.2" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8" + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "3.2.1", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0" + }, + "anymatch": { + "version": "3.1.3", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "dev": true + }, + "arg": { + "version": "5.0.2" + }, + "argparse": { + "version": "1.0.10", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "5.3.0", + "requires": { + "dequal": "^2.0.3" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-flatten": { + "version": "2.1.2" + }, + "array-includes": { + "version": "3.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0" + }, + "array.prototype.flat": { + "version": "1.3.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "asap": { + "version": "2.0.6" + }, + "ast-types-flow": { + "version": "0.0.7" + }, + "async": { + "version": "3.2.4" + }, + "asynckit": { + "version": "0.4.0" + }, + "at-least-node": { + "version": "1.0.0" + }, + "autoprefixer": { + "version": "10.4.14", + "requires": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5" + }, + "axe-core": { + "version": "4.7.2" + }, + "axobject-query": { + "version": "3.2.1", + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-jest": { + "version": "27.5.1", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.3.0", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.3", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.4.0", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.1", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.0", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "requires": { + "@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" + } + }, + "balanced-match": { + "version": "1.0.2" + }, + "batch": { + "version": "0.6.1" + }, + "bfj": { + "version": "7.0.2", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2" + }, + "binary-extensions": { + "version": "2.2.0" + }, + "bluebird": { + "version": "3.7.2" + }, + "body-parser": { + "version": "1.20.1", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2" + }, + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "bonjour-service": { + "version": "1.1.1", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0" + }, + "boxen": { + "version": "7.0.0", + "dev": true, + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "dev": true + }, + "camelcase": { + "version": "7.0.1", + "dev": true + }, + "chalk": { + "version": "5.3.0", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "type-fest": { + "version": "2.19.0", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0" + }, + "browserslist": { + "version": "4.21.9", + "requires": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + } + }, + "bser": { + "version": "2.1.1", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.2" + }, + "builtin-modules": { + "version": "3.3.0" + }, + "bytes": { + "version": "3.0.0" + }, + "call-bind": { + "version": "1.0.2", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0" + }, + "camel-case": { + "version": "4.1.2", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0" + }, + "camelcase-css": { + "version": "2.0.1" + }, + "caniuse-api": { + "version": "3.0.0", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001508" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0" + }, + "chalk": { + "version": "2.4.2", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chalk-template": { + "version": "0.4.0", + "dev": true, + "requires": { + "chalk": "^4.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "char-regex": { + "version": "1.0.2" + }, + "check-types": { + "version": "11.2.2" + }, + "chokidar": { + "version": "3.5.3", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3" + }, + "ci-info": { + "version": "3.8.0" + }, + "cjs-module-lexer": { + "version": "1.2.3" + }, + "clean-css": { + "version": "5.3.2", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "cli-boxes": { + "version": "3.0.0", + "dev": true + }, + "clipboardy": { + "version": "3.0.0", + "dev": true, + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clsx": { + "version": "1.2.1" + }, + "co": { + "version": "4.6.0" + }, + "coa": { + "version": "2.0.2", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collect-v8-coverage": { + "version": "1.0.1" + }, + "color-convert": { + "version": "1.9.3", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3" + }, + "colord": { + "version": "2.9.3" + }, + "colorette": { + "version": "2.0.20" + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0" + }, + "common-path-prefix": { + "version": "3.0.0" + }, + "common-tags": { + "version": "1.8.2" + }, + "commondir": { + "version": "1.0.1" + }, + "compressible": { + "version": "2.0.18", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + }, + "safe-buffer": { + "version": "5.1.2" + } + } + }, + "concat-map": { + "version": "0.0.1" + }, + "confusing-browser-globals": { + "version": "1.0.11" + }, + "connect-history-api-fallback": { + "version": "2.0.0" + }, + "content-disposition": { + "version": "0.5.4", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5" + }, + "convert-source-map": { + "version": "1.9.0" + }, + "cookie": { + "version": "0.5.0" + }, + "cookie-signature": { + "version": "1.0.6" + }, + "core-js": { + "version": "3.31.0" + }, + "core-js-compat": { + "version": "3.31.0", + "requires": { + "browserslist": "^4.21.5" + } + }, + "core-js-pure": { + "version": "3.31.0" + }, + "core-util-is": { + "version": "1.0.3" + }, + "cosmiconfig": { + "version": "7.1.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-declaration-sorter": { + "version": "6.4.0", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.8.1", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "source-map": { + "version": "0.6.1" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "css-what": { + "version": "6.1.0" + }, + "cssdb": { + "version": "7.6.0" + }, + "cssesc": { + "version": "3.0.0" + }, + "cssnano": { + "version": "5.1.15", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14" + }, + "source-map": { + "version": "0.6.1" + } + } + }, + "cssom": { + "version": "0.4.4" + }, + "cssstyle": { + "version": "2.3.0", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8" + } + } + }, + "csstype": { + "version": "3.1.2" + }, + "damerau-levenshtein": { + "version": "1.0.8" + }, + "data-urls": { + "version": "2.0.0", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3" + }, + "dedent": { + "version": "0.7.0" + }, + "deep-extend": { + "version": "0.6.0", + "dev": true + }, + "deep-is": { + "version": "0.1.4" + }, + "deepmerge": { + "version": "4.3.1" + }, + "default-gateway": { + "version": "6.0.3", + "requires": { + "execa": "^5.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0" + }, + "define-properties": { + "version": "1.2.0", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0" + }, + "depd": { + "version": "2.0.0" + }, + "dequal": { + "version": "2.0.3" + }, + "destroy": { + "version": "1.2.0" + }, + "detect-newline": { + "version": "3.1.0" + }, + "detect-node": { + "version": "2.1.0" + }, + "detect-port-alt": { + "version": "1.1.6", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "didyoumean": { + "version": "1.2.2" + }, + "diff-sequences": { + "version": "27.5.1" + }, + "dir-glob": { + "version": "3.0.1", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3" + }, + "dns-equal": { + "version": "1.0.0" + }, + "dns-packet": { + "version": "5.6.0", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0" + }, + "domexception": { + "version": "2.0.1", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0" + } + } + }, + "domhandler": { + "version": "4.3.1", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0" + }, + "dotenv-expand": { + "version": "5.1.0" + }, + "duplexer": { + "version": "0.1.2" + }, + "eastasianwidth": { + "version": "0.2.0", + "dev": true + }, + "ee-first": { + "version": "1.1.1" + }, + "ejs": { + "version": "3.1.9", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.441" + }, + "emittery": { + "version": "0.8.1" + }, + "emoji-regex": { + "version": "9.2.2" + }, + "emojis-list": { + "version": "3.0.0" + }, + "encodeurl": { + "version": "1.0.2" + }, + "enhanced-resolve": { + "version": "5.15.0", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0" + }, + "error-ex": { + "version": "1.3.2", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.21.2", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0" + }, + "es-module-lexer": { + "version": "1.3.0" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1" + }, + "escape-html": { + "version": "1.0.3" + }, + "escape-string-regexp": { + "version": "1.0.5" + }, + "escodegen": { + "version": "2.0.0", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2" + }, + "source-map": { + "version": "0.6.1", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.43.0", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "globals": { + "version": "13.20.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "eslint-config-react-app": { + "version": "7.0.1", + "requires": { + "@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.0.1", + "confusing-browser-globals": "^1.0.11", + "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": { + "version": "0.3.7", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "requires": { + "array-includes": "^3.1.6", + "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.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "eslint-plugin-react": { + "version": "7.32.2", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "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.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.11.0", + "requires": { + "@typescript-eslint/utils": "^5.58.0" + } + }, + "eslint-scope": { + "version": "7.2.0", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-worker": { + "version": "28.1.3", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.5.2", + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1" + }, + "esquery": { + "version": "1.5.0", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0" + }, + "estree-walker": { + "version": "1.0.1" + }, + "esutils": { + "version": "2.0.3" + }, + "etag": { + "version": "1.8.1" + }, + "eventemitter3": { + "version": "4.0.7" + }, + "events": { + "version": "3.3.0" + }, + "execa": { + "version": "5.1.1", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2" + }, + "expect": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "express": { + "version": "4.18.2", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1" + }, + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3" + }, + "fast-glob": { + "version": "3.2.12", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6" + }, + "fast-url-parser": { + "version": "1.1.3", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "dev": true + } + } + }, + "fastq": { + "version": "1.15.0", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "filelist": { + "version": "1.0.4", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filesize": { + "version": "8.0.7" + }, + "fill-range": { + "version": "7.0.1", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7" + }, + "follow-redirects": { + "version": "1.15.2" + }, + "for-each": { + "version": "0.3.3", + "requires": { + "is-callable": "^1.1.3" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "cosmiconfig": { + "version": "6.0.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "schema-utils": { + "version": "2.7.0", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3" + } + } + }, + "form-data": { + "version": "3.0.1", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0" + }, + "fraction.js": { + "version": "4.2.0" + }, + "fresh": { + "version": "0.5.2" + }, + "fs-extra": { + "version": "10.1.0", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.4" + }, + "fs.realpath": { + "version": "1.0.0" + }, + "fsevents": { + "version": "2.3.2", + "optional": true + }, + "function-bind": { + "version": "1.1.1" + }, + "function.prototype.name": { + "version": "1.1.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3" + }, + "gensync": { + "version": "1.0.0-beta.2" + }, + "get-caller-file": { + "version": "2.0.5" + }, + "get-intrinsic": { + "version": "1.2.1", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2" + }, + "get-package-type": { + "version": "0.1.0" + }, + "get-stream": { + "version": "6.0.1" + }, + "get-symbol-description": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "requires": { + "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" + } + }, + "glob-parent": { + "version": "6.0.2", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1" + }, + "global-modules": { + "version": "2.0.0", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0" + }, + "globalthis": { + "version": "1.0.3", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "requires": { + "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": { + "version": "1.0.1", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11" + }, + "grapheme-splitter": { + "version": "1.0.4" + }, + "graphemer": { + "version": "1.4.0" + }, + "gzip-size": { + "version": "6.0.0", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1" + }, + "harmony-reflect": { + "version": "1.6.2" + }, + "has": { + "version": "1.0.3", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2" + }, + "has-flag": { + "version": "3.0.0" + }, + "has-property-descriptors": { + "version": "1.0.0", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1" + }, + "has-symbols": { + "version": "1.0.3" + }, + "has-tostringtag": { + "version": "1.0.0", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0" + }, + "hoopy": { + "version": "0.1.4" + }, + "hpack.js": { + "version": "2.1.6", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0" + }, + "readable-stream": { + "version": "2.3.8", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.4.0" + }, + "html-escaper": { + "version": "2.0.2" + }, + "html-minifier-terser": { + "version": "6.1.0", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-webpack-plugin": { + "version": "5.5.3", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7" + }, + "http-errors": { + "version": "2.0.0", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8" + }, + "http-proxy": { + "version": "1.18.1", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0" + }, + "iconv-lite": { + "version": "0.6.3", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "requires": {} + }, + "idb": { + "version": "7.1.1" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ignore": { + "version": "5.2.4" + }, + "immer": { + "version": "9.0.21" + }, + "import-fresh": { + "version": "3.3.0", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0" + } + } + }, + "import-local": { + "version": "3.1.0", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4" + }, + "inflight": { + "version": "1.0.6", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4" + }, + "ini": { + "version": "1.3.8" + }, + "internal-slot": { + "version": "1.0.5", + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ipaddr.js": { + "version": "2.1.0" + }, + "is-array-buffer": { + "version": "3.0.2", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1" + }, + "is-bigint": { + "version": "1.0.4", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7" + }, + "is-core-module": { + "version": "2.12.1", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1" + }, + "is-extglob": { + "version": "2.1.1" + }, + "is-fullwidth-code-point": { + "version": "3.0.0" + }, + "is-generator-fn": { + "version": "2.1.0" + }, + "is-glob": { + "version": "4.0.3", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0" + }, + "is-negative-zero": { + "version": "2.0.2" + }, + "is-number": { + "version": "7.0.0" + }, + "is-number-object": { + "version": "1.0.7", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1" + }, + "is-path-inside": { + "version": "3.0.3" + }, + "is-plain-obj": { + "version": "3.0.0" + }, + "is-port-reachable": { + "version": "4.0.0", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1" + }, + "is-regex": { + "version": "1.1.4", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0" + }, + "is-root": { + "version": "2.1.0" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1" + }, + "is-string": { + "version": "1.0.7", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "requires": { + "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" + } + }, + "is-typedarray": { + "version": "1.0.0" + }, + "is-weakref": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5" + }, + "isexe": { + "version": "2.0.0" + }, + "istanbul-lib-coverage": { + "version": "3.2.0" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jake": { + "version": "10.8.7", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest": { + "version": "27.5.1", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1" + }, + "jest-haste-map": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.5.1", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1" + }, + "jest-resolve": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0" + } + } + }, + "@jest/test-result": { + "version": "28.1.3", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "requires": { + "@jest/schemas": "^28.1.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" + } + }, + "@types/yargs": { + "version": "17.0.24", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "emittery": { + "version": "0.10.2" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-message-util": { + "version": "28.1.3", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0" + } + } + }, + "jest-regex-util": { + "version": "28.0.2" + }, + "jest-util": { + "version": "28.1.3", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watcher": { + "version": "28.1.3", + "requires": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "slash": { + "version": "4.0.0" + }, + "string-length": { + "version": "5.0.1", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.1" + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1" + } + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.18.2" + }, + "js-tokens": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "3.14.1", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2" + }, + "json-parse-even-better-errors": { + "version": "2.3.1" + }, + "json-schema": { + "version": "0.4.0" + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1" + }, + "json5": { + "version": "2.2.3" + }, + "jsonfile": { + "version": "6.1.0", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpointer": { + "version": "5.0.1" + }, + "jsx-ast-utils": { + "version": "3.3.3", + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "kind-of": { + "version": "6.0.3" + }, + "kleur": { + "version": "3.0.3" + }, + "klona": { + "version": "2.0.6" + }, + "language-subtag-registry": { + "version": "0.3.22" + }, + "language-tags": { + "version": "1.0.5", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "launch-editor": { + "version": "2.6.0", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "leven": { + "version": "3.1.0" + }, + "levn": { + "version": "0.4.1", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0" + }, + "lines-and-columns": { + "version": "1.2.4" + }, + "loader-runner": { + "version": "4.3.0" + }, + "loader-utils": { + "version": "2.0.4", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "6.0.0", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21" + }, + "lodash.debounce": { + "version": "4.0.8" + }, + "lodash.memoize": { + "version": "4.1.2" + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lodash.sortby": { + "version": "4.7.0" + }, + "lodash.uniq": { + "version": "4.5.0" + }, + "loose-envify": { + "version": "1.4.0", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "5.1.1", + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.9", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "makeerror": { + "version": "1.0.12", + "requires": { + "tmpl": "1.0.5" + } + }, + "mdn-data": { + "version": "2.0.4" + }, + "media-typer": { + "version": "0.3.0" + }, + "memfs": { + "version": "3.5.3", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "merge-descriptors": { + "version": "1.0.1" + }, + "merge-stream": { + "version": "2.0.0" + }, + "merge2": { + "version": "1.4.1" + }, + "methods": { + "version": "1.1.2" + }, + "micromatch": { + "version": "4.0.5", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0" + }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0" + }, + "mini-css-extract-plugin": { + "version": "2.7.6", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1" + }, + "minimatch": { + "version": "3.1.2", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8" + }, + "mkdirp": { + "version": "0.5.6", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2" + }, + "multicast-dns": { + "version": "7.2.5", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mz": { + "version": "2.7.0", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.6" + }, + "natural-compare": { + "version": "1.4.0" + }, + "natural-compare-lite": { + "version": "1.4.0" + }, + "negotiator": { + "version": "0.6.3" + }, + "neo-async": { + "version": "2.6.2" + }, + "no-case": { + "version": "3.0.4", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1" + }, + "node-int64": { + "version": "0.4.0" + }, + "node-releases": { + "version": "2.0.12" + }, + "normalize-path": { + "version": "3.0.0" + }, + "normalize-range": { + "version": "0.1.2" + }, + "normalize-url": { + "version": "6.1.0" + }, + "npm-run-path": { + "version": "4.0.1", + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.5" + }, + "object-assign": { + "version": "4.1.1" + }, + "object-hash": { + "version": "3.0.0" + }, + "object-inspect": { + "version": "1.12.3" + }, + "object-keys": { + "version": "1.1.1" + }, + "object.assign": { + "version": "4.1.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.6", + "requires": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + } + }, + "object.hasown": { + "version": "1.1.2", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "obuf": { + "version": "1.1.2" + }, + "on-finished": { + "version": "2.4.1", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2" + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-retry": { + "version": "4.6.2", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0" + }, + "param-case": { + "version": "3.0.4", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1" + }, + "parseurl": { + "version": "1.3.3" + }, + "pascal-case": { + "version": "3.1.2", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0" + }, + "path-is-absolute": { + "version": "1.0.1" + }, + "path-is-inside": { + "version": "1.0.2", + "dev": true + }, + "path-key": { + "version": "3.1.1" + }, + "path-parse": { + "version": "1.0.7" + }, + "path-to-regexp": { + "version": "0.1.7" + }, + "path-type": { + "version": "4.0.0" + }, + "performance-now": { + "version": "2.1.0" + }, + "picocolors": { + "version": "1.0.0" + }, + "picomatch": { + "version": "2.3.1" + }, + "pify": { + "version": "2.3.0" + }, + "pirates": { + "version": "4.0.6" + }, + "pkg-dir": { + "version": "4.2.0", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-up": { + "version": "3.1.0", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + } + } + }, + "postcss": { + "version": "8.4.24", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-browser-comments": { + "version": "4.0.0", + "requires": {} + }, + "postcss-calc": { + "version": "8.2.4", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-clamp": { + "version": "4.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.11", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "requires": {} + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "requires": {} + }, + "postcss-focus-visible": { + "version": "6.0.4", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "15.1.0", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "requires": {} + }, + "postcss-js": { + "version": "4.0.1", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-lab-function": { + "version": "4.2.1", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "4.0.1", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "dependencies": { + "yaml": { + "version": "2.3.1" + } + } + }, + "postcss-loader": { + "version": "6.2.1", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.3", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.1", + "requires": { + "postcss-selector-parser": "^6.0.11" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.3", + "requires": {} + }, + "postcss-ordered-values": { + "version": "5.1.3", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.3", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0" + }, + "css-tree": { + "version": "1.1.3", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14" + }, + "source-map": { + "version": "0.6.1" + }, + "svgo": { + "version": "2.8.0", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0" + }, + "prelude-ls": { + "version": "1.2.1" + }, + "pretty-bytes": { + "version": "5.6.0" + }, + "pretty-error": { + "version": "4.0.0", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "process-nextick-args": { + "version": "2.0.1" + }, + "promise": { + "version": "8.3.0", + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1" + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1" + } + } + }, + "psl": { + "version": "1.9.0" + }, + "punycode": { + "version": "2.3.0" + }, + "q": { + "version": "1.5.1" + }, + "qs": { + "version": "6.11.0", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0" + }, + "queue-microtask": { + "version": "1.2.3" + }, + "raf": { + "version": "3.4.1", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1" + }, + "raw-body": { + "version": "2.5.1", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2" + }, + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "rc": { + "version": "1.2.8", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "dev": true + } + } + }, + "react": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "has-flag": { + "version": "4.0.0" + }, + "loader-utils": { + "version": "3.2.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "react-dom": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11" + }, + "react-is": { + "version": "17.0.2" + }, + "react-refresh": { + "version": "0.11.0" + }, + "react-scripts": { + "version": "5.0.1", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + } + }, + "react-toastify": { + "version": "9.1.3", + "requires": { + "clsx": "^1.1.1" + } + }, + "read-cache": { + "version": "1.0.0", + "requires": { + "pify": "^2.3.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "requires": { + "minimatch": "^3.0.5" + } + }, + "regenerate": { + "version": "1.4.2" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11" + }, + "regenerator-transform": { + "version": "0.15.1", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11" + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "regexpu-core": { + "version": "5.3.2", + "requires": { + "@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": { + "version": "3.3.2", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsparser": { + "version": "0.9.1", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0" + } + } + }, + "relateurl": { + "version": "0.2.7" + }, + "renderkid": { + "version": "3.0.0", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "require-directory": { + "version": "2.1.1" + }, + "require-from-string": { + "version": "2.0.2" + }, + "requires-port": { + "version": "1.0.0" + }, + "resolve": { + "version": "1.22.2", + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0" + }, + "resolve-url-loader": { + "version": "4.0.0", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1" + }, + "postcss": { + "version": "7.0.39", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1" + } + } + }, + "resolve.exports": { + "version": "1.1.1" + }, + "retry": { + "version": "0.13.1" + }, + "reusify": { + "version": "1.0.4" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.1", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "jest-worker": { + "version": "26.6.2", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "requires": { + "randombytes": "^2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-buffer": { + "version": "5.2.1" + }, + "safe-regex-test": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2" + }, + "sanitize.css": { + "version": "13.0.0" + }, + "sass-loader": { + "version": "12.6.0", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4" + }, + "saxes": { + "version": "5.0.1", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0" + }, + "selfsigned": { + "version": "2.1.1", + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.5.3", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0" + } + } + }, + "send": { + "version": "0.18.0", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0" + } + } + }, + "ms": { + "version": "2.1.3" + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve": { + "version": "14.2.1", + "dev": true, + "requires": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "chalk": { + "version": "5.0.1", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "dev": true + } + } + }, + "serve-handler": { + "version": "6.1.5", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "content-disposition": { + "version": "0.5.2", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + }, + "path-to-regexp": { + "version": "2.2.1", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "dev": true + } + } + }, + "serve-index": { + "version": "1.9.1", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2" + }, + "http-errors": { + "version": "1.6.3", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3" + }, + "ms": { + "version": "2.0.0" + }, + "setprototypeof": { + "version": "1.1.0" + }, + "statuses": { + "version": "1.5.0" + } + } + }, + "serve-static": { + "version": "1.15.0", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0" + }, + "shebang-command": { + "version": "2.0.0", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0" + }, + "shell-quote": { + "version": "1.8.1" + }, + "side-channel": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7" + }, + "sisteransi": { + "version": "1.0.5" + }, + "slash": { + "version": "3.0.0" + }, + "sockjs": { + "version": "0.3.24", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "source-list-map": { + "version": "2.0.1" + }, + "source-map": { + "version": "0.7.4" + }, + "source-map-js": { + "version": "1.0.2" + }, + "source-map-loader": { + "version": "3.0.2", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } + }, + "source-map-support": { + "version": "0.5.21", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8" + }, + "spdy": { + "version": "4.0.2", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.0.3" + }, + "stable": { + "version": "0.1.8" + }, + "stack-utils": { + "version": "2.0.6", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0" + } + } + }, + "stackframe": { + "version": "1.3.4" + }, + "statuses": { + "version": "2.0.1" + }, + "string_decoder": { + "version": "1.3.0", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1" + }, + "string-width": { + "version": "4.2.3", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "stringify-object": { + "version": "3.3.0", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0" + }, + "strip-comments": { + "version": "2.0.1" + }, + "strip-final-newline": { + "version": "2.0.0" + }, + "strip-json-comments": { + "version": "3.1.1" + }, + "style-loader": { + "version": "3.3.3", + "requires": {} + }, + "stylehacks": { + "version": "5.1.1", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "sucrase": { + "version": "3.32.0", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1" + }, + "glob": { + "version": "7.1.6", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0" + }, + "svg-parser": { + "version": "2.0.4" + }, + "svgo": { + "version": "1.3.2", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2" + }, + "dom-serializer": { + "version": "0.2.2", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1" + } + } + }, + "nth-check": { + "version": "1.0.2", + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4" + }, + "tailwindcss": { + "version": "3.3.2", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + } + }, + "tapable": { + "version": "2.2.1" + }, + "temp-dir": { + "version": "2.0.0" + }, + "tempy": { + "version": "0.6.0", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.18.2", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "test-exclude": { + "version": "6.0.0", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0" + }, + "thenify": { + "version": "3.3.1", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "6.0.2" + }, + "thunky": { + "version": "1.1.0" + }, + "tmpl": { + "version": "1.0.5" + }, + "to-fast-properties": { + "version": "2.0.0" + }, + "to-regex-range": { + "version": "5.0.1", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1" + }, + "tough-cookie": { + "version": "4.1.3", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0" + } + } + }, + "tr46": { + "version": "2.1.0", + "requires": { + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1" + }, + "ts-interface-checker": { + "version": "0.1.13" + }, + "tsconfig-paths": { + "version": "3.14.2", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0" + } + } + }, + "tslib": { + "version": "2.6.0" + }, + "tsutils": { + "version": "3.21.0", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } + } + }, + "type-check": { + "version": "0.4.0", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8" + }, + "type-fest": { + "version": "0.21.3" + }, + "type-is": { + "version": "1.6.18", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-length": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.5" + }, + "unbox-primitive": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0" + }, + "unique-string": { + "version": "2.0.0", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0" + }, + "unpipe": { + "version": "1.0.0" + }, + "unquote": { + "version": "1.1.1" + }, + "upath": { + "version": "1.2.0" + }, + "update-browserslist-db": { + "version": "1.0.11", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-check": { + "version": "1.5.4", + "dev": true, + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "uri-js": { + "version": "4.4.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2" + }, + "util.promisify": { + "version": "1.0.1", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0" + }, + "utils-merge": { + "version": "1.0.1" + }, + "uuid": { + "version": "8.3.2" + }, + "v8-to-istanbul": { + "version": "8.1.1", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + } + }, + "vary": { + "version": "1.1.2" + }, + "w3c-hr-time": { + "version": "1.0.2", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4" + }, + "webidl-conversions": { + "version": "6.1.0" + }, + "webpack": { + "version": "5.88.0", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "schema-utils": { + "version": "4.2.0", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.13.0", + "requires": {} + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", + "requires": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + }, + "webpack-sources": { + "version": "2.3.1", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "webpack-sources": { + "version": "3.2.3" + }, + "websocket-driver": { + "version": "0.7.4", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4" + }, + "whatwg-encoding": { + "version": "1.0.5", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.2" + }, + "whatwg-mimetype": { + "version": "2.3.0" + }, + "whatwg-url": { + "version": "8.7.0", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "requires": { + "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", + "is-typed-array": "^1.1.10" + } + }, + "widest-line": { + "version": "4.0.1", + "dev": true, + "requires": { + "string-width": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "word-wrap": { + "version": "1.2.3" + }, + "workbox-background-sync": { + "version": "6.6.0", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-broadcast-update": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-build": { + "version": "6.6.0", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.12.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + }, + "source-map": { + "version": "0.8.0-beta.0", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2" + }, + "whatwg-url": { + "version": "7.1.0", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-core": { + "version": "6.6.0" + }, + "workbox-expiration": { + "version": "6.6.0", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-google-analytics": { + "version": "6.6.0", + "requires": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-navigation-preload": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-precaching": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-range-requests": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-recipes": { + "version": "6.6.0", + "requires": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-routing": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-strategies": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-streams": { + "version": "6.6.0", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "workbox-sw": { + "version": "6.6.0" + }, + "workbox-webpack-plugin": { + "version": "6.6.0", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + }, + "webpack-sources": { + "version": "1.4.3", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.6.0", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "wrappy": { + "version": "1.0.2" + }, + "write-file-atomic": { + "version": "3.0.3", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0" + }, + "xmlchars": { + "version": "2.2.0" + }, + "y18n": { + "version": "5.0.8" + }, + "yallist": { + "version": "3.1.1" + }, + "yaml": { + "version": "1.10.2" + }, + "yargs": { + "version": "16.2.0", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9" + }, + "yocto-queue": { + "version": "0.1.0" + } + } +} diff --git a/examples/sdk/react/src/components/Fallback.tsx b/examples/sdk/react/src/components/Fallback.tsx index 103f82a3..3dbb9fdd 100644 --- a/examples/sdk/react/src/components/Fallback.tsx +++ b/examples/sdk/react/src/components/Fallback.tsx @@ -1,6 +1,10 @@ import '../App.css'; -export default function Fallback() { +interface Props { + error: Error; +} + +export default function Fallback({ error }: Props) { return (
@@ -14,6 +18,7 @@ export default function Fallback() { ErrorBoundary!

Check your Backtrace console to see the Error and Component stacks!

+

Error: {error.message}

); diff --git a/examples/sdk/react/src/index.tsx b/examples/sdk/react/src/index.tsx index dfad6809..0b9e5a63 100644 --- a/examples/sdk/react/src/index.tsx +++ b/examples/sdk/react/src/index.tsx @@ -21,7 +21,7 @@ BacktraceClient.initialize({ const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); root.render( - }> + }> , diff --git a/packages/react/src/ErrorBoundary.tsx b/packages/react/src/ErrorBoundary.tsx index 6fbef3c8..75d7099c 100644 --- a/packages/react/src/ErrorBoundary.tsx +++ b/packages/react/src/ErrorBoundary.tsx @@ -2,7 +2,7 @@ import { Component, ErrorInfo, isValidElement, ReactElement, ReactNode } from 'r import { BacktraceReport } from '.'; import { BacktraceClient } from './BacktraceClient'; -type RenderFallback = () => ReactElement; +type RenderFallback = (error: Error) => ReactElement; export interface Props { children: ReactNode; @@ -11,7 +11,6 @@ export interface Props { } export interface State { - hasError: boolean; error?: Error; } @@ -21,7 +20,6 @@ export class ErrorBoundary extends Component { constructor(props: Props) { super(props); this.state = { - hasError: false, error: undefined, }; // grabbing here so it will fail fast if BacktraceClient is uninitialized @@ -33,7 +31,7 @@ export class ErrorBoundary extends Component { } public static getDerivedStateFromError(error: Error) { - return { hasError: true, error }; + return { error }; } public async componentDidCatch(error: Error, info: ErrorInfo) { @@ -49,11 +47,11 @@ export class ErrorBoundary extends Component { render() { const { fallback, children } = this.props; - if (!this.state.hasError) { + if (!this.state.error) { return children; } - const fallbackComponent = typeof fallback === 'function' ? fallback() : fallback; + const fallbackComponent = typeof fallback === 'function' ? fallback(this.state.error) : fallback; if (fallbackComponent && isValidElement(fallbackComponent)) { return fallbackComponent; From 5327496f108edb485669992c78d5c68d29acb9dd Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 1 Sep 2023 21:47:08 +0200 Subject: [PATCH 151/291] cli: add `run` command executing everything in one go (#117) * cli: removes 'this' from execute function * cli: consolidate execute args into context * cli: extract command functions to separate functions * cli: cache loaded options in memory * cli: add logger to CommandContext, allow for returning other type than number in execute * sourcemap tools: add getting source map path function to SourceProcessor * cli: add logger prefix option * cli: change subcommand functions to not print output by themselves * cli: add run command which executes everything * cli: add more information to upload info, change order of command execution * cli: fix pass-with-no-files taking files inside cwd * cli: update README with run * cli: fix run not taking path from config * cli: fix resolution of paths relative to config --------- Co-authored-by: Sebastian Alex --- tools/cli/README.md | 44 +++ tools/cli/src/commands/Command.ts | 69 +++-- tools/cli/src/helpers/common.ts | 5 + tools/cli/src/helpers/normalizePaths.ts | 6 + tools/cli/src/index.ts | 20 +- tools/cli/src/logger.ts | 27 +- tools/cli/src/options/loadOptions.ts | 59 ++-- tools/cli/src/options/models/CliOptions.ts | 30 +- tools/cli/src/sourcemaps/add-sources.ts | 203 +++++++------- tools/cli/src/sourcemaps/process.ts | 170 ++++++------ tools/cli/src/sourcemaps/run.ts | 225 +++++++++++++++ tools/cli/src/sourcemaps/upload.ts | 271 ++++++++++--------- tools/sourcemap-tools/src/SourceProcessor.ts | 26 +- 13 files changed, 771 insertions(+), 384 deletions(-) create mode 100644 tools/cli/src/helpers/common.ts create mode 100644 tools/cli/src/sourcemaps/run.ts diff --git a/tools/cli/README.md b/tools/cli/README.md index 776ef376..8b1acbe0 100644 --- a/tools/cli/README.md +++ b/tools/cli/README.md @@ -6,6 +6,7 @@ Backtrace utility for managing Javascript files. 1. [Description](#description) 1. [Usage](#usage) + - [`run`](#run) - [`process`](#process) - [`upload`](#upload) - [`add-sources`](#add-sources) @@ -42,6 +43,44 @@ It is advisable to add these commands to your production build scripts. For exam `backtrace-js` exposes the following commands: +## `run` + +A handy shortcut for executing all commands. Executes commands in order: + +1. [`process`](#process) +1. [`add-sources`](#add-sources) +1. [`upload`](#upload) + +Requires the config file to function. `run` accepts some common options, but command-specific options are taken from the +config. + +### Options + +#### `--process` + +Runs the [`process`](#process) command. + +#### `--add-sources` + +Runs the [`add-sources`](#add-sources) command. + +#### `--upload` + +Runs the [`upload`](#upload) command. + +#### ``, `--path `, `-p ` + +Searches for files within provided paths. This is the default positional argument. If not provided, will search in the +current directory. + +#### `--force`, `-f` + +Forces processing of already processed files. May result in duplicate appended data. + +#### `--pass-with-no-files` + +By default, `run` will return a non-zero exit code when no files are found. Pass this to return 0. + ## `process` Adds debug identificators to both source and sourcemap files. Searches for source files in provided paths and their @@ -269,6 +308,11 @@ An example of the file: }, "add-sources": { "force": true + }, + "run": { + "process": true, + "add-sources": false, + "upload": true } } ``` diff --git a/tools/cli/src/commands/Command.ts b/tools/cli/src/commands/Command.ts index da1fa657..7cb6f20f 100644 --- a/tools/cli/src/commands/Command.ts +++ b/tools/cli/src/commands/Command.ts @@ -1,22 +1,31 @@ import { Err, Ok, Result } from '@backtrace-labs/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import commandLineUsage, { Section } from 'command-line-usage'; -import { createLogger, LoggerOptions } from '../logger'; +import { CliLogger, CreateLoggerOptions, createLogger } from '../logger'; import { CommandError } from '../models/CommandError'; import { ExtendedOptionDefinition } from '../models/OptionDefinition'; const CLI_COMMAND = 'backtrace-js'; +export type CommandFunction = ( + context: CommandContext, +) => Result | Promise>; + +export interface CommandOptions { + readonly _unknown?: string[]; +} + +export interface CommandContext { + readonly opts: Partial & CommandOptions; + readonly logger: CliLogger; + getHelpMessage(): string; +} + export class Command { public readonly subcommands: Command[] = []; public readonly options: ExtendedOptionDefinition[] = []; public readonly helpSections: Section[] = []; - private _execute?: ( - this: this, - values: Partial, - stack?: Command[], - unknown?: string[], - ) => Result | Promise>; + private _execute?: CommandFunction; constructor(public readonly definition: ExtendedOptionDefinition) {} @@ -60,7 +69,7 @@ export class Command { if (valuesResult.isErr()) { const logger = createLogger(); - logger.info(this.getHelpMessage(stack)); + logger.info(Command.getHelpMessage(this, stack)); return valuesResult.mapErr((error) => ({ command: this, error, stack })); } @@ -74,24 +83,30 @@ export class Command { } } - const logger = createLogger(values as LoggerOptions); + const logger = createLogger(values as CreateLoggerOptions); if (values.help) { - logger.output(this.getHelpMessage(stack)); + logger.output(Command.getHelpMessage(this, stack)); return Ok(0); } if (this._execute) { - return ( - await this._execute.call(this, values as T, stack, [...(values._unknown ?? []), values._subcommand]) - ).mapErr((error) => ({ - command: this, - error, - stack, - })); + const context: CommandContext = { + opts: values as T, + logger, + getHelpMessage: () => Command.getHelpMessage(this, stack), + }; + + return (await this._execute(context)) + .map((data) => (typeof data === 'number' ? data : 0)) + .mapErr((error) => ({ + command: this, + error, + stack, + })); } - logger.info(this.getHelpMessage(stack)); + logger.info(Command.getHelpMessage(this, stack)); if (subCommandMode) { return Err({ command: this, stack, error: 'Unknown command.' }); @@ -100,17 +115,17 @@ export class Command { return Err({ command: this, stack, error: 'Unknown option.' }); } - public getHelpMessage(stack?: Command[]) { + public static getHelpMessage(command: Command, stack?: Command[]) { const globalOptions = [ - ...this.options.filter((o) => o.global), + ...command.options.filter((o) => o.global), ...(stack?.flatMap((o) => o.options.filter((o) => o.global)) ?? []), ]; - const nonGlobalOptions = this.options.filter((o) => !o.global); + const nonGlobalOptions = command.options.filter((o) => !o.global); let cmd = CLI_COMMAND; const stackCmd = `${ - [...(stack ?? []), this] + [...(stack ?? []), command] .map((s) => s.definition.name) .filter((s) => !!s) .join(' ') ?? '' @@ -121,7 +136,7 @@ export class Command { } let usage = cmd; - if (this.subcommands.length) { + if (command.subcommands.length) { usage += ' '; } @@ -142,18 +157,18 @@ export class Command { }, ]; - if (this.helpSections.length) { - sections.push(...this.helpSections); + if (command.helpSections.length) { + sections.push(...command.helpSections); } sections.push({ content: `Usage: ${usage}`, }); - if (this.subcommands.length) { + if (command.subcommands.length) { sections.push({ header: 'Available commands', - content: this.subcommands.map((s) => ({ + content: command.subcommands.map((s) => ({ name: s.definition.name, summary: s.definition.description, })), diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts new file mode 100644 index 00000000..d46e54e1 --- /dev/null +++ b/tools/cli/src/helpers/common.ts @@ -0,0 +1,5 @@ +import { Asset } from '@backtrace-labs/sourcemap-tools'; + +export function toAsset(file: string): Asset { + return { name: file, path: file }; +} diff --git a/tools/cli/src/helpers/normalizePaths.ts b/tools/cli/src/helpers/normalizePaths.ts index ca054471..64a888ef 100644 --- a/tools/cli/src/helpers/normalizePaths.ts +++ b/tools/cli/src/helpers/normalizePaths.ts @@ -1,3 +1,5 @@ +import path from 'path'; + export function normalizePaths(paths: string | string[] | undefined, defaults: string | string[]) { if (!paths || !paths.length) { return toArray(defaults); @@ -6,6 +8,10 @@ export function normalizePaths(paths: string | string[] | undefined, defaults: s return toArray(paths); } +export function relativePaths(paths: string | string[], relative: string) { + return toArray(paths).map((p) => path.join(relative, p)); +} + function toArray(t: T | T[]) { if (Array.isArray(t)) { return t; diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index 742f9f8f..c90c3717 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -4,13 +4,14 @@ import { AsyncResult, Err } from '@backtrace-labs/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import { Command } from './commands/Command'; import { loadVersion } from './helpers/version'; -import { createLogger, LoggerOptions } from './logger'; -import { DEFAULT_OPTIONS_PATH } from './options/loadOptions'; +import { CreateLoggerOptions, createLogger } from './logger'; +import { DEFAULT_OPTIONS_FILENAME } from './options/loadOptions'; import { addSourcesCmd } from './sourcemaps/add-sources'; import { processCmd } from './sourcemaps/process'; +import { runCmd } from './sourcemaps/run'; import { uploadCmd } from './sourcemaps/upload'; -export interface GlobalOptions extends LoggerOptions { +export interface GlobalOptions extends CreateLoggerOptions { readonly help: boolean; readonly config: string; } @@ -22,9 +23,10 @@ export interface MainOptions { const mainCommand = new Command({ name: '', }) + .subcommand(runCmd) .subcommand(processCmd) - .subcommand(uploadCmd) .subcommand(addSourcesCmd) + .subcommand(uploadCmd) .option({ name: 'help', type: Boolean, @@ -57,23 +59,23 @@ const mainCommand = new Command({ name: 'config', type: String, global: true, - description: `Path to the config file. Default: ${DEFAULT_OPTIONS_PATH}`, + description: `Path to the config file. Default: ${DEFAULT_OPTIONS_FILENAME}`, }) .option({ name: 'version', type: Boolean, description: 'Displays the version of backtrace-js', }) - .execute(function (opts, stack, unknown) { + .execute(function ({ opts, getHelpMessage }) { const logger = createLogger(opts); if (opts.version) { return AsyncResult.equip(loadVersion()) .then((version) => logger.output(version)) .then(() => 0).inner; } else { - logger.info(this.getHelpMessage(stack)); + logger.info(getHelpMessage()); - const unknownOption = unknown?.[0]; + const unknownOption = opts._unknown?.[0]; if (!unknownOption) { return Err(`Unknown command.`); } @@ -91,7 +93,7 @@ const mainCommand = new Command({ if (result.isOk()) { process.exit(result.data); } else { - const loggerOptions = commandLineArgs(mainCommand.options, { partial: true }) as Partial; + const loggerOptions = commandLineArgs(mainCommand.options, { partial: true }) as Partial; const logger = createLogger(loggerOptions); logger.error(result.data.error); process.exit(1); diff --git a/tools/cli/src/logger.ts b/tools/cli/src/logger.ts index ea07260b..13548ff9 100644 --- a/tools/cli/src/logger.ts +++ b/tools/cli/src/logger.ts @@ -1,19 +1,29 @@ import { Logger, LogLevel } from '@backtrace-labs/sourcemap-tools'; import { format } from 'util'; -export interface LoggerOptions { +export interface CreateLoggerOptions { readonly verbose?: boolean[]; readonly quiet?: boolean; readonly 'log-level'?: CliLogLevel; } +export interface CliLoggerOptions { + readonly level: CliLogLevel; + readonly silent?: boolean; + readonly prefix?: string; +} + export type CliLogLevel = LogLevel | 'output'; export class CliLogger implements Logger { private readonly _levelMap: Record; - constructor(public readonly level: CliLogLevel, public readonly silent?: boolean) { - this._levelMap = this.createLevelMap(level); + constructor(public readonly options: CliLoggerOptions) { + this._levelMap = this.createLevelMap(options.level); + } + + public clone(options?: Partial) { + return new CliLogger({ ...this.options, ...options }); } public output(value: unknown | Error, ...args: unknown[]) { @@ -43,7 +53,7 @@ export class CliLogger implements Logger { public log(level: CliLogLevel, value: unknown | Error, ...args: unknown[]) { const isOutput = level === 'output'; - if (this.silent && !isOutput) { + if (this.options.silent && !isOutput) { return; } @@ -56,6 +66,11 @@ export class CliLogger implements Logger { : (...args: Parameters) => console.error(...args); const message: unknown[] = []; + + if (this.options.prefix) { + message.push(`${this.options.prefix}`); + } + if (!isOutput) { message.push(`${level}:`); } @@ -90,7 +105,7 @@ export class CliLogger implements Logger { } } -export function createLogger(options?: LoggerOptions) { +export function createLogger(options?: CreateLoggerOptions) { let level: CliLogLevel | undefined; if (options?.['log-level']) { level = options?.['log-level']; @@ -105,5 +120,5 @@ export function createLogger(options?: LoggerOptions) { } } - return new CliLogger(level ?? 'info', options?.quiet); + return new CliLogger({ level: level ?? 'info', silent: options?.quiet }); } diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts index 6c2747d3..ef14e525 100644 --- a/tools/cli/src/options/loadOptions.ts +++ b/tools/cli/src/options/loadOptions.ts @@ -1,45 +1,72 @@ -import { AsyncResult, Ok, parseJSON, readFile, ResultPromise } from '@backtrace-labs/sourcemap-tools'; +import { AsyncResult, Ok, readFile, ResultPromise } from '@backtrace-labs/sourcemap-tools'; +import fs from 'fs'; +import path from 'path'; import { parseJSONC } from '../helpers/jsonc'; import { CliOptions, CommandCliOptions } from './models/CliOptions'; -export const DEFAULT_OPTIONS_PATH = '.backtracejsrc'; +export const DEFAULT_OPTIONS_FILENAME = '.backtracejsrc'; + +export function loadOptionsForCommand(path?: string) { + let readOptions: CliOptions | undefined; -export function loadAndJoinOptions(path?: string) { return async function loadAndJoinOptions( key: K, - options: Partial, defaults?: Partial, ): ResultPromise, string> { - const readResult = await readFile(path ?? DEFAULT_OPTIONS_PATH); + if (readOptions) { + return Ok(joinOptions(key, defaults)(readOptions)); + } + + const readResult = await readFile(path ?? DEFAULT_OPTIONS_FILENAME); if (readResult.isErr()) { - return path ? readResult : Ok(options); + return path ? readResult : Ok({}); } return AsyncResult.equip(readResult) .then(parseJSONC) - .then(joinOptions(key, options, defaults)).inner; + .then((opts) => (readOptions = opts)) + .then(joinOptions(key, defaults)).inner; }; } -export function loadOptions(path?: string) { - return AsyncResult.equip(readFile(path ?? DEFAULT_OPTIONS_PATH)).then(parseJSON).inner; +export async function loadOptions(path?: string): ResultPromise { + const readResult = await readFile(path ?? DEFAULT_OPTIONS_FILENAME); + if (readResult.isErr()) { + return path ? readResult : Ok(undefined); + } + + return AsyncResult.equip(readResult).then(parseJSONC).inner; } -export function joinOptions( - key: K, - options: Partial, - defaults?: Partial, -) { +export function joinOptions(key: K, defaults?: Partial) { return function joinOptions(loadedOptions: CliOptions): Partial { - // console.log(key, defaults, loadedOptions, loadedOptions[key], options); return { ...defaults, ...loadedOptions, ...loadedOptions[key], - ...options, 'add-sources': undefined, upload: undefined, process: undefined, }; }; } + +export async function findConfig( + searchPath = process.cwd(), + name = DEFAULT_OPTIONS_FILENAME, +): Promise { + const paths = await readdir(searchPath); + if (paths.includes(name)) { + return path.join(searchPath, name); + } + + return undefined; +} + +async function readdir(path: string) { + try { + return await fs.promises.readdir(path); + } catch (err) { + return []; + } +} diff --git a/tools/cli/src/options/models/CliOptions.ts b/tools/cli/src/options/models/CliOptions.ts index a49ae528..37a3fa7e 100644 --- a/tools/cli/src/options/models/CliOptions.ts +++ b/tools/cli/src/options/models/CliOptions.ts @@ -3,20 +3,26 @@ import { AddSourcesOptions } from '../../sourcemaps/add-sources'; import { ProcessOptions } from '../../sourcemaps/process'; import { UploadOptions } from '../../sourcemaps/upload'; -export type CommonCliOptions = Omit< - { - [K in keyof UploadOptions & keyof AddSourcesOptions & keyof ProcessOptions]: - | UploadOptions[K] - | AddSourcesOptions[K] - | ProcessOptions[K]; - }, - keyof GlobalOptions +export type CommonCliOptions = Partial< + Omit< + { + [K in keyof UploadOptions & keyof AddSourcesOptions & keyof ProcessOptions]: + | UploadOptions[K] + | AddSourcesOptions[K] + | ProcessOptions[K]; + }, + keyof GlobalOptions + > >; export interface CommandCliOptions { - readonly upload: UploadOptions; - readonly 'add-sources': AddSourcesOptions; - readonly process: ProcessOptions; + readonly upload: Partial; + readonly 'add-sources': Partial; + readonly process: Partial; } -export type CliOptions = Partial; +export interface RunCliOptions { + readonly run: (keyof CommandCliOptions)[] | Partial>; +} + +export type CliOptions = Partial; diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index 081f153f..db4f43fc 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -14,13 +14,15 @@ import { SourceProcessor, writeFile, } from '@backtrace-labs/sourcemap-tools'; +import path from 'path'; import { GlobalOptions } from '..'; -import { Command } from '../commands/Command'; +import { Command, CommandContext } from '../commands/Command'; +import { toAsset } from '../helpers/common'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; -import { normalizePaths } from '../helpers/normalizePaths'; -import { CliLogger, createLogger } from '../logger'; -import { loadAndJoinOptions } from '../options/loadOptions'; +import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; +import { CliLogger } from '../logger'; +import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface AddSourcesOptions extends GlobalOptions { readonly path: string | string[]; @@ -66,103 +68,106 @@ export const addSourcesCmd = new Command({ type: Boolean, description: 'Exits with zero exit code if no sourcemaps are found.', }) - .execute(async function (opts, stack) { - const logger = createLogger(opts); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - - const optsResult = await loadAndJoinOptions(opts.config)('add-sources', opts, { - path: process.cwd(), - }); - if (optsResult.isErr()) { - return optsResult; - } - - opts = optsResult.data; - - logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - - const searchPaths = normalizePaths(opts.path, process.cwd()); - if (!searchPaths.length) { - logger.info(this.getHelpMessage(stack)); - return Err('path must be specified'); - } - - const logDebug = log(logger, 'debug'); - const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'debug'); - const logTraceAsset = logAsset(logger, 'trace'); - - const readAssetCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then((asset) => readFile(asset.path)) - .then((content) => ({ ...asset, content })) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const loadAssetCommand = (asset: AssetWithContent) => - AsyncResult.fromValue(asset) - .then(({ content }) => parseJSON(content)) - .then((sourceMap) => ({ ...asset, sourceMap })) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const doesSourceMapHaveSourcesCommand = (asset: AssetWithSourceMap) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('checking if sourcemap has sources')) - .then(doesSourceMapHaveSources(sourceProcessor)) - .then( - logDebug( - ({ asset, result }) => - `${asset.name}: ` + (result ? 'sourcemap has sources' : 'sourcemap does not have sources'), - ), - ) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const filterAssetsCommand = (assets: AssetWithSourceMap[]) => - AsyncResult.fromValue(assets) - .then(map(doesSourceMapHaveSourcesCommand)) - .then(filter((f) => !f.result)) - .then(map((f) => f.asset)).inner; - - const addSourceCommand = (asset: AssetWithSourceMap) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('adding source')) - .then(addSource(sourceProcessor)) - .then(logDebugAsset('source added')) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const writeSourceMapCommand = (asset: AssetWithSourceMap) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('writing sourcemap')) - .then(writeSourceMap) - .then(logDebugAsset('sourcemap written')) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - return AsyncResult.equip(find(...searchPaths)) - .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} files for adding sources`)) - .then(map(logTrace((path) => `file to add sources to: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) - .then(map(toAsset)) - .then(map(readAssetCommand)) - .then(map(loadAssetCommand)) - .then(opts.force ? Ok : filterAssetsCommand) - .then(logDebug((r) => `adding sources to ${r.length} files`)) - .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) + .execute((context) => AsyncResult.equip(addSourcesToSourcemaps(context)).then(map(output(context.logger))).inner); + +/** + * Adds sources to sourcemaps found in path(s). + */ +export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: CommandContext) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const configPath = opts.config ?? (await findConfig()); + const configResult = await loadOptionsForCommand(configPath)('add-sources'); + if (configResult.isErr()) { + return configResult; + } + + const config = configResult.data; + opts = { + ...config, + ...opts, + path: + opts.path ?? + (config.path && configPath ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), + }; + + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + + const searchPaths = normalizePaths(opts.path, process.cwd()); + if (!searchPaths.length) { + logger.info(getHelpMessage()); + return Err('path must be specified'); + } + + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'debug'); + const logTraceAsset = logAsset(logger, 'trace'); + + const readAssetCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then((asset) => readFile(asset.path)) + .then((content) => ({ ...asset, content })) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const loadAssetCommand = (asset: AssetWithContent) => + AsyncResult.fromValue(asset) + .then(({ content }) => parseJSON(content)) + .then((sourceMap) => ({ ...asset, sourceMap })) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const doesSourceMapHaveSourcesCommand = (asset: AssetWithSourceMap) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('checking if sourcemap has sources')) + .then(doesSourceMapHaveSources(sourceProcessor)) .then( - opts['pass-with-no-files'] - ? Ok - : failIfEmpty('no sourcemaps without sources found, use --force to overwrite sources'), + logDebug( + ({ asset, result }) => + `${asset.name}: ` + (result ? 'sourcemap has sources' : 'sourcemap does not have sources'), + ), ) - .then(map(addSourceCommand)) - .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)) - .then(map(output(logger))) - .then(() => 0).inner; - }); - -function toAsset(file: string): Asset { - return { name: file, path: file }; + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const filterAssetsCommand = (assets: AssetWithSourceMap[]) => + AsyncResult.fromValue(assets) + .then(map(doesSourceMapHaveSourcesCommand)) + .then(filter((f) => !f.result)) + .then(map((f) => f.asset)).inner; + + const addSourceCommand = (asset: AssetWithSourceMap) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('adding source')) + .then(addSource(sourceProcessor)) + .then(logDebugAsset('source added')) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const writeSourceMapCommand = (asset: AssetWithSourceMap) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('writing sourcemap')) + .then(writeSourceMap) + .then(logDebugAsset('sourcemap written')) + .thenErr((error) => `${asset.name}: ${error}`).inner; + + return AsyncResult.equip(find(...searchPaths)) + .then(logDebug((r) => `found ${r.length} files`)) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} files for adding sources`)) + .then(map(logTrace((path) => `file to add sources to: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) + .then(map(toAsset)) + .then(map(readAssetCommand)) + .then(map(loadAssetCommand)) + .then(opts.force ? Ok : filterAssetsCommand) + .then(logDebug((r) => `adding sources to ${r.length} files`)) + .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) + .then( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no sourcemaps without sources found, use --force to overwrite sources'), + ) + .then(map(addSourceCommand)) + .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)).inner; } function doesSourceMapHaveSources(sourceProcessor: SourceProcessor) { diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 23e4f94b..acfe0713 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -15,13 +15,15 @@ import { SourceProcessor, writeAsset, } from '@backtrace-labs/sourcemap-tools'; +import path from 'path'; import { GlobalOptions } from '..'; -import { Command } from '../commands/Command'; +import { Command, CommandContext } from '../commands/Command'; +import { toAsset } from '../helpers/common'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; -import { normalizePaths } from '../helpers/normalizePaths'; -import { CliLogger, createLogger } from '../logger'; -import { loadAndJoinOptions } from '../options/loadOptions'; +import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; +import { CliLogger } from '../logger'; +import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface ProcessOptions extends GlobalOptions { readonly path: string | string[]; @@ -36,7 +38,7 @@ export const processCmd = new Command({ }) .option({ name: 'path', - description: 'Path to sourcemap files or directories containing sourcemaps to upload.', + description: 'Path to source files or directories containing sourcemaps to process.', defaultOption: true, multiple: true, alias: 'p', @@ -58,90 +60,92 @@ export const processCmd = new Command({ type: Boolean, description: 'Exits with zero exit code if no files for processing are found.', }) - .execute(async function (opts, stack) { - const logger = createLogger(opts); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - - const optsResult = await loadAndJoinOptions(opts.config)('process', opts, { - path: process.cwd(), - }); - - if (optsResult.isErr()) { - return optsResult; - } - - opts = optsResult.data; - - logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - - const searchPaths = normalizePaths(opts.path, process.cwd()); - if (!searchPaths) { - logger.info(this.getHelpMessage(stack)); - return Err('path must be specified'); - } - - const logDebug = log(logger, 'debug'); - const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'debug'); - const logTraceAsset = logAsset(logger, 'trace'); - - const isAssetProcessedCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('checking if asset is processed')) - .then(isAssetProcessed(sourceProcessor)) - .then( - logDebug( - ({ asset, result }) => - `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), - ), - ) - .thenErr((error) => `${asset.name}: ${error}`).inner; + .execute((context) => AsyncResult.equip(processSources(context)).then(map(output(context.logger))).inner); + +/** + * Processes source files found in path(s). + */ +export async function processSources({ opts, logger, getHelpMessage }: CommandContext) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const configPath = opts.config ?? (await findConfig()); + const configResult = await loadOptionsForCommand(configPath)('process'); + if (configResult.isErr()) { + return configResult; + } + + const config = configResult.data; + opts = { + ...config, + ...opts, + path: + opts.path ?? + (config.path && configPath ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), + }; - const filterUnprocessedAssetsCommand = (assets: Asset[]) => - AsyncResult.fromValue(assets) - .then(map(isAssetProcessedCommand)) - .then(filter((f) => !f.result)) - .then(map((f) => f.asset)).inner; + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - const processCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('processing file')) - .then(processAsset(sourceProcessor)) - .then(logDebugAsset('file processed')) - .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; + const searchPaths = normalizePaths(opts.path, process.cwd()); + if (!searchPaths) { + logger.info(getHelpMessage()); + return Err('path must be specified'); + } - const writeCommand = (result: ProcessAssetResult) => - AsyncResult.fromValue(result) - .then(logTraceAsset('writing file')) - .then(writeAsset) - .then(logDebugAsset('file written')) - .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'debug'); + const logTraceAsset = logAsset(logger, 'trace'); - return AsyncResult.equip(find(...searchPaths)) - .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} files for processing`)) - .then(map(logTrace((path) => `file for processing: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) - .then(map(toAsset)) - .then(opts.force ? Ok : filterUnprocessedAssetsCommand) - .then(logDebug((r) => `processing ${r.length} files`)) - .then(map(logTrace(({ path }) => `file to process: ${path}`))) + const isAssetProcessedCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('checking if asset is processed')) + .then(isAssetProcessed(sourceProcessor)) .then( - opts['pass-with-no-files'] - ? Ok - : failIfEmpty('no files for processing found, they may be already processed'), + logDebug( + ({ asset, result }) => + `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), + ), ) - .then(map(processCommand)) - .then(opts['dry-run'] ? Ok : map(writeCommand)) - .then(map(output(logger))) - .then(() => 0).inner; - }); - -function toAsset(file: string): Asset { - return { name: file, path: file }; + .thenErr((error) => `${asset.name}: ${error}`).inner; + + const filterUnprocessedAssetsCommand = (assets: Asset[]) => + AsyncResult.fromValue(assets) + .then(map(isAssetProcessedCommand)) + .then(filter((f) => !f.result)) + .then(map((f) => f.asset)).inner; + + const processCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('processing file')) + .then(processAsset(sourceProcessor)) + .then(logDebugAsset('file processed')) + .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; + + const writeCommand = (result: ProcessAssetResult) => + AsyncResult.fromValue(result) + .then(logTraceAsset('writing file')) + .then(writeAsset) + .then(logDebugAsset('file written')) + .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; + + return AsyncResult.equip(find(...searchPaths)) + .then(logDebug((r) => `found ${r.length} files`)) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} files for processing`)) + .then(map(logTrace((path) => `file for processing: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) + .then(map(toAsset)) + .then(opts.force ? Ok : filterUnprocessedAssetsCommand) + .then(logDebug((r) => `processing ${r.length} files`)) + .then(map(logTrace(({ path }) => `file to process: ${path}`))) + .then( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no files for processing found, they may be already processed'), + ) + .then(map(processCommand)) + .then(opts['dry-run'] ? Ok : map(writeCommand)).inner; } function isAssetProcessed(sourceProcessor: SourceProcessor) { diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts new file mode 100644 index 00000000..b90fb12e --- /dev/null +++ b/tools/cli/src/sourcemaps/run.ts @@ -0,0 +1,225 @@ +import { + Asset, + AsyncResult, + DebugIdGenerator, + Err, + Ok, + SourceProcessor, + failIfEmpty, + filter, + log, + map, + matchSourceExtension, +} from '@backtrace-labs/sourcemap-tools'; +import path from 'path'; +import { GlobalOptions } from '..'; +import { Command } from '../commands/Command'; +import { toAsset } from '../helpers/common'; +import { find } from '../helpers/find'; +import { logAsset } from '../helpers/logs'; +import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; +import { CliLogger } from '../logger'; +import { findConfig, loadOptions } from '../options/loadOptions'; +import { CliOptions, CommandCliOptions } from '../options/models/CliOptions'; +import { addSourcesToSourcemaps } from './add-sources'; +import { processSources } from './process'; +import { uploadSourcemaps } from './upload'; + +export interface RunOptions extends GlobalOptions { + readonly 'add-sources': boolean; + readonly upload: boolean; + readonly process: boolean; + readonly path: string | string[]; + readonly force: boolean; + readonly 'pass-with-no-files': boolean; +} + +interface AssetWithSourceMapPath extends Asset { + readonly sourceMapPath: string; +} + +export const runCmd = new Command({ + name: 'run', + description: 'Runs all of the source commands in one go.', +}) + .option({ + name: 'process', + type: Boolean, + description: 'Processes found sources.', + }) + .option({ + name: 'add-sources', + type: Boolean, + description: 'Adds sources to found sourcemaps.', + }) + .option({ + name: 'upload', + type: Boolean, + description: 'Uploads found sourcemaps to Backtrace.', + }) + .option({ + name: 'path', + type: String, + defaultOption: true, + description: 'Path to sources.', + multiple: true, + alias: 'p', + }) + .option({ + name: 'force', + alias: 'f', + type: Boolean, + description: 'Forces execution of commands.', + }) + .option({ + name: 'pass-with-no-files', + type: Boolean, + description: 'Exits with zero exit code if no sourcemaps are found.', + }) + .execute(async function ({ opts, logger, getHelpMessage }) { + const configPath = opts.config ?? (await findConfig()); + if (!configPath) { + return Err('cannot find config file'); + } + + logger.debug(`reading config from ${configPath}`); + + const configResult = await loadOptions(configPath); + if (configResult.isErr()) { + return configResult; + } + + const config = configResult.data; + if (!config) { + logger.info(getHelpMessage()); + return Err('cannot read config file'); + } + + opts = { + ...opts, + path: opts.path ?? (config.path ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), + }; + + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + + const runProcess = shouldRunCommand(opts, config, 'process'); + const runAddSources = shouldRunCommand(opts, config, 'add-sources'); + const runUpload = shouldRunCommand(opts, config, 'upload'); + if (!runAddSources && !runUpload && !runProcess) { + logger.info(getHelpMessage()); + return Err('--process, --add-sources and/or --upload must be specified'); + } + + const searchPaths = normalizePaths(opts.path, process.cwd()); + if (!searchPaths.length) { + logger.info(getHelpMessage()); + return Err('path must be specified'); + } + + const logInfo = log(logger, 'info'); + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logTraceAsset = logAsset(logger, 'trace'); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + + const getSourceMapPathCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('reading sourcemap path')) + .then(getSourceMapPath(sourceProcessor)) + .then((sourceMapPath) => ({ ...asset, sourceMapPath })) + .then(logTraceAsset('read sourcemap path')).inner; + + const processCommand = (assets: AssetWithSourceMapPath[]) => + AsyncResult.fromValue(assets) + .then(logDebug(`running process...`)) + .then((assets) => + assets.length + ? processSources({ + opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.path) }, + getHelpMessage, + logger: logger.clone({ prefix: 'process:' }), + }) + : Ok([]), + ) + .then(logInfo((results) => `processed ${results.length} files`)) + .then(() => assets).inner; + + const addSourcesCommand = (assets: AssetWithSourceMapPath[]) => + AsyncResult.fromValue(assets) + .then(logDebug(`running add-sources...`)) + .then((assets) => + assets.length + ? addSourcesToSourcemaps({ + opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.sourceMapPath) }, + getHelpMessage, + logger: logger.clone({ prefix: 'add-sources:' }), + }) + : Ok([]), + ) + .then(logInfo((results) => `added sources to ${results.length} files`)) + .then(() => assets).inner; + + const uploadCommand = (assets: AssetWithSourceMapPath[]) => + AsyncResult.fromValue(assets) + .then(logDebug(`running upload...`)) + .then((assets) => + assets.length + ? uploadSourcemaps({ + opts: { ...opts, path: assets.map((a) => a.sourceMapPath) }, + getHelpMessage, + logger: logger.clone({ prefix: 'upload:' }), + }) + : Ok(null), + ) + .then( + logInfo((result) => + result ? `uploaded ${result.assets.length} files: ${result.rxid}` : `no files uploaded`, + ), + ) + .then(() => assets).inner; + + return AsyncResult.equip(find(...searchPaths)) + .then(logTrace((r) => `found ${r.length} files`)) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} source files`)) + .then(map(logTrace((path) => `found source file: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) + .then(map(toAsset)) + .then(map(getSourceMapPathCommand)) + .then(map(printAssetInfo(logger))) + .then(runProcess ? processCommand : Ok) + .then(runAddSources ? addSourcesCommand : Ok) + .then(runUpload ? uploadCommand : Ok).inner; + }); + +function getSourceMapPath(sourceProcessor: SourceProcessor) { + return function getSourceMapPath(asset: Asset) { + return sourceProcessor.getSourceMapPathFromSourceFile(asset.path); + }; +} + +function printAssetInfo(logger: CliLogger) { + return function printAssetInfo(asset: AssetWithSourceMapPath) { + logger.debug(`${asset.path}`); + logger.debug(`└── ${asset.sourceMapPath}`); + return asset; + }; +} + +function shouldRunCommand(opts: Partial, config: CliOptions, key: keyof CommandCliOptions) { + if (opts[key]) { + return true; + } + + if (!config?.run) { + return false; + } + + if (Array.isArray(config.run)) { + return config.run.includes(key); + } + + return !!config.run[key]; +} diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 4de2ac01..e9abf9fd 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -25,19 +25,21 @@ import { uploadArchive, UploadResult, } from '@backtrace-labs/sourcemap-tools'; +import path from 'path'; import { GlobalOptions } from '..'; -import { Command } from '../commands/Command'; +import { Command, CommandContext } from '../commands/Command'; +import { toAsset } from '../helpers/common'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; -import { normalizePaths } from '../helpers/normalizePaths'; -import { CliLogger, createLogger } from '../logger'; -import { loadAndJoinOptions } from '../options/loadOptions'; +import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; +import { CliLogger } from '../logger'; +import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface UploadOptions extends GlobalOptions { readonly url: string; readonly subdomain: string; readonly token: string; - readonly path: string[]; + readonly path: string | string[]; readonly 'include-sources': string; readonly insecure: boolean; readonly 'dry-run': boolean; @@ -46,6 +48,10 @@ export interface UploadOptions extends GlobalOptions { readonly output: string; } +export interface UploadResultWithAssets extends UploadResult { + readonly assets: Asset[]; +} + export const uploadCmd = new Command({ name: 'upload', description: 'Uploading of sourcemaps to Backtrace', @@ -110,142 +116,155 @@ export const uploadCmd = new Command({ description: 'If set, archive with sourcemaps will be outputted to this path instead of being uploaded.', type: String, }) - .execute(async function (opts, stack) { - const logger = createLogger(opts); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + .execute((context) => AsyncResult.equip(uploadSourcemaps(context)).then(output(context.logger)).inner); - const optsResult = await loadAndJoinOptions(opts.config)('upload', opts, { - url: process.env.BACKTRACE_JS_UPLOAD_URL, - }); +/** + * Uploads sourcemaps found in path(s). + */ +export async function uploadSourcemaps({ opts, logger, getHelpMessage }: CommandContext) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const configPath = opts.config ?? (await findConfig()); + const configResult = await loadOptionsForCommand(configPath)('upload'); + if (configResult.isErr()) { + return configResult; + } - if (optsResult.isErr()) { - return optsResult; - } + const config = configResult.data; + opts = { + ...config, + ...opts, + path: + opts.path ?? + (config.path && configPath ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), + }; - opts = optsResult.data; + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + const searchPaths = normalizePaths(opts.path, process.cwd()); + if (!searchPaths) { + logger.info(getHelpMessage()); + return Err('path must be specified'); + } - const searchPaths = normalizePaths(opts.path, process.cwd()); - if (!searchPaths) { - logger.info(this.getHelpMessage(stack)); - return Err('path must be specified'); - } + const uploadUrlResult = getUploadUrl(opts); + if (uploadUrlResult.isErr()) { + logger.info(getHelpMessage()); + return uploadUrlResult; + } - const uploadUrlResult = getUploadUrl(opts); - if (uploadUrlResult.isErr()) { - logger.info(this.getHelpMessage(stack)); - return uploadUrlResult; - } + const outputPath = opts.output; + const uploadUrl = uploadUrlResult.data; + if (!outputPath && !uploadUrl) { + logger.info(getHelpMessage()); + return Err('upload URL is required.'); + } - const outputPath = opts.output; - const uploadUrl = uploadUrlResult.data; - if (!outputPath && !uploadUrl) { - logger.info(this.getHelpMessage(stack)); - return Err('upload URL is required.'); - } + if (outputPath && uploadUrl) { + logger.info(getHelpMessage()); + return Err('outputting archive and uploading are exclusive'); + } - if (outputPath && uploadUrl) { - logger.info(this.getHelpMessage(stack)); - return Err('outputting archive and uploading are exclusive'); - } + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'debug'); + const logTraceAsset = logAsset(logger, 'trace'); - const logDebug = log(logger, 'debug'); - const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'debug'); - const logTraceAsset = logAsset(logger, 'trace'); + const isAssetProcessedCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('checking if asset is processed')) + .then(isAssetProcessed(sourceProcessor)) + .then( + logDebug( + ({ asset, result }) => + `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), + ), + ) + .thenErr((error) => `${asset.name}: ${error}`).inner; - const isAssetProcessedCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('checking if asset is processed')) - .then(isAssetProcessed(sourceProcessor)) - .then( - logDebug( - ({ asset, result }) => - `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), - ), - ) - .thenErr((error) => `${asset.name}: ${error}`).inner; + const filterProcessedAssetsCommand = (assets: Asset[]) => + AsyncResult.fromValue(assets) + .then(map(isAssetProcessedCommand)) + .then(filter((f) => f.result)) + .then(map((f) => f.asset)).inner; - const filterProcessedAssetsCommand = (assets: Asset[]) => - AsyncResult.fromValue(assets) - .then(map(isAssetProcessedCommand)) - .then(filter((f) => f.result)) - .then(map((f) => f.asset)).inner; + const loadSourceMapCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('loading sourcemap')) + .then(loadSourceMap) + .then(logDebugAsset('loaded sourcemap')) + .then(opts['include-sources'] ? pass : stripSourcesContent).inner; - const loadSourceMapCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('loading sourcemap')) - .then(loadSourceMap) - .then(logDebugAsset('loaded sourcemap')) - .then(opts['include-sources'] ? pass : stripSourcesContent).inner; + const createArchiveCommand = (assets: AssetWithContent[]) => + AsyncResult.fromValue[], string>(assets) + .then(logTrace('creating archive')) + .then(createArchive(sourceProcessor)) + .then(logDebug('archive created')).inner; - const createArchiveCommand = (assets: AssetWithContent[]) => - AsyncResult.fromValue[], string>(assets) - .then(logTrace('creating archive')) - .then(createArchive(sourceProcessor)) - .then(logDebug('archive created')).inner; + const writeArchiveCommand = (outputPath: string) => (archive: ArchiveWithSourceMapsAndDebugIds) => + AsyncResult.fromValue(archive) + .then(logTrace(`saving archive to ${outputPath}`)) + .then(({ assets, archive }) => { + return AsyncResult.equip(createWriteStream(outputPath)) + .then(pipeStream(archive)) + .then(() => finalizeArchive({ assets, archive })).inner; + }) + .then(() => ({ rxid: outputPath, assets: archive.assets })) + .then(logDebug(`saved archive to ${outputPath}`)).inner; - const saveArchiveCommand = outputPath - ? (archive: ArchiveWithSourceMapsAndDebugIds) => - AsyncResult.fromValue(archive) - .then(logTrace(`saving archive to ${outputPath}`)) - .then(({ assets, archive }) => { - return AsyncResult.equip(createWriteStream(outputPath)) - .then(pipeStream(archive)) - .then(() => finalizeArchive({ assets, archive })).inner; - }) - .then(() => ({ rxid: outputPath })) - .then(logDebug(`saved archive to ${outputPath}`)).inner - : uploadUrl - ? (archive: ArchiveWithSourceMapsAndDebugIds) => - AsyncResult.fromValue(archive) - .then(logTrace(`uploading archive to ${uploadUrl}`)) - .then(async ({ assets, archive }) => { - const uploader = uploadArchive( - new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false }), - ); + const uploadArchiveCommand = (uploadUrl: string) => (archive: ArchiveWithSourceMapsAndDebugIds) => + AsyncResult.fromValue(archive) + .then(logTrace(`uploading archive to ${uploadUrl}`)) + .then(async ({ assets, archive }) => { + const uploader = uploadArchive(new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false })); - // We first create the upload request, which pipes the archive to itself - const promise = uploader(archive); + // We first create the upload request, which pipes the archive to itself + const promise = uploader(archive); - // Next we finalize the archive, which causes the assets to be written to the archive, - // and consequently to the request - await finalizeArchive({ assets, archive }); + // Next we finalize the archive, which causes the assets to be written to the archive, + // and consequently to the request + await finalizeArchive({ assets, archive }); - // Finally, we return the upload request promise - return promise; - }) - .then(logDebug(`archive uploaded to ${uploadUrl}`)).inner - : undefined; + // Finally, we return the upload request promise + return promise; + }) + .then((result) => ({ ...result, assets: archive.assets })) + .then(logDebug(`archive uploaded to ${uploadUrl}`)).inner; - if (!saveArchiveCommand) { - throw new Error('processArchive function should be defined'); - } + const saveArchiveCommand = outputPath + ? writeArchiveCommand(outputPath) + : uploadUrl + ? uploadArchiveCommand(uploadUrl) + : undefined; - return AsyncResult.equip(find(...searchPaths)) - .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} files for upload`)) - .then(map(logTrace((path) => `file for upload: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) - .then(map(toAsset)) - .then(opts.force ? Ok : filterProcessedAssetsCommand) - .then(map(loadSourceMapCommand)) - .then(logDebug((r) => `uploading ${r.length} files`)) - .then(map(logTrace(({ path }) => `file to upload: ${path}`))) - .then( - opts['pass-with-no-files'] - ? Ok - : failIfEmpty('no processed sourcemaps found, make sure to run process first'), - ) - .then(createArchiveCommand) - .then((archive) => (opts['dry-run'] ? Ok(null) : saveArchiveCommand(archive))) - .then(output(logger)) - .then(() => 0).inner; - }); + if (!saveArchiveCommand) { + throw new Error('processArchive function should be defined'); + } + + return AsyncResult.equip(find(...searchPaths)) + .then(logDebug((r) => `found ${r.length} files`)) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} files for upload`)) + .then(map(logTrace((path) => `file for upload: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) + .then(map(toAsset)) + .then(opts.force ? Ok : filterProcessedAssetsCommand) + .then(map(loadSourceMapCommand)) + .then(logDebug((r) => `uploading ${r.length} files`)) + .then(map(logTrace(({ path }) => `file to upload: ${path}`))) + .then( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no processed sourcemaps found, make sure to run process first'), + ) + .then(createArchiveCommand) + .then((archive) => + opts['dry-run'] + ? Ok({ rxid: '', assets: archive.assets }) + : saveArchiveCommand(archive), + ).inner; +} function validateUrl(url: string) { try { @@ -276,10 +295,6 @@ function getUploadUrl(opts: Partial): Result'); + return function output(result: UploadResult) { + logger.output(result.rxid); return result; }; } diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 4d21be90..c4d2118d 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -116,12 +116,12 @@ export class SourceProcessor { const source = sourceReadResult.data; if (!sourceMapPath) { - const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); - if (!match || !match[1]) { - return Err('Could not find source map for source.'); + const sourceMapPathResult = this.getSourceMapPathFromSource(source, sourcePath); + if (sourceMapPathResult.isErr()) { + return sourceMapPathResult; } - sourceMapPath = path.resolve(path.dirname(sourcePath), match[1]); + sourceMapPath = sourceMapPathResult.data; } const sourceMapReadResult = await readFile(sourceMapPath); @@ -143,6 +143,24 @@ export class SourceProcessor { } as ProcessResultWithPaths); } + public async getSourceMapPathFromSourceFile(sourcePath: string) { + const sourceReadResult = await readFile(sourcePath); + if (sourceReadResult.isErr()) { + return sourceReadResult; + } + + return this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath); + } + + public getSourceMapPathFromSource(source: string, sourcePath: string) { + const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); + if (!match || !match[1]) { + return Err('Could not find source map for source.'); + } + + return Ok(path.resolve(path.dirname(sourcePath), match[1])); + } + public async addSourcesToSourceMap( sourceMap: string | RawSourceMap, sourceMapPath: string, From 87803544e3e475f1573cbea16e9a6120c006496e Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 4 Sep 2023 11:17:39 +0200 Subject: [PATCH 152/291] cli: add possibility of specifying source files for upload and add-sources (#118) Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 39 ++++++++++- tools/cli/src/sourcemaps/add-sources.ts | 67 +++++++------------ tools/cli/src/sourcemaps/upload.ts | 22 +++--- tools/sourcemap-tools/src/SourceProcessor.ts | 2 +- .../sourcemap-tools/src/models/AsyncResult.ts | 1 + 5 files changed, 76 insertions(+), 55 deletions(-) diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index d46e54e1..c2bfa691 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -1,5 +1,42 @@ -import { Asset } from '@backtrace-labs/sourcemap-tools'; +import { + Asset, + AssetWithContent, + AsyncResult, + ResultPromise, + SourceProcessor, + loadSourceMap, + readFile, +} from '@backtrace-labs/sourcemap-tools'; export function toAsset(file: string): Asset { return { name: file, path: file }; } + +export function readAsset(asset: Asset): ResultPromise, string> { + return AsyncResult.equip(readFile(asset.path)).then((content) => ({ ...asset, content })).inner; +} + +export function loadSourceMapFromPathOrFromSource(sourceProcessor: SourceProcessor) { + return function loadSourceMapFromPathOrFromSource(asset: Asset) { + return AsyncResult.fromValue(asset) + .then(loadSourceMap) + .thenErr( + () => + AsyncResult.fromValue(asset) + .then(resolveSourceMapPathFromSource(sourceProcessor)) + .then(loadSourceMap).inner, + ).inner; + }; +} + +function resolveSourceMapPathFromSource(sourceProcessor: SourceProcessor) { + return function resolveSourceMapFromSource(asset: Asset) { + return AsyncResult.equip(sourceProcessor.getSourceMapPathFromSourceFile(asset.path)) + .then((path) => ({ + ...asset, + name: path, + path, + })) + .thenErr((err) => `file is not a sourcemap, and sourcemap search failed: ${err}`).inner; + }; +} diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index db4f43fc..6e7d13f2 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -1,5 +1,6 @@ import { Asset, + AssetWithContent, AsyncResult, DebugIdGenerator, Err, @@ -9,15 +10,14 @@ import { map, matchSourceMapExtension, Ok, - parseJSON, - readFile, + RawSourceMap, SourceProcessor, writeFile, } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { toAsset } from '../helpers/common'; +import { loadSourceMapFromPathOrFromSource, toAsset } from '../helpers/common'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; @@ -32,14 +32,6 @@ export interface AddSourcesOptions extends GlobalOptions { readonly 'pass-with-no-files': boolean; } -interface AssetWithContent extends Asset { - readonly content: string; -} - -interface AssetWithSourceMap extends Asset { - readonly sourceMap: object; -} - export const addSourcesCmd = new Command({ name: 'add-sources', description: 'Adds sources to sourcemap files', @@ -103,20 +95,14 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C const logDebugAsset = logAsset(logger, 'debug'); const logTraceAsset = logAsset(logger, 'trace'); - const readAssetCommand = (asset: Asset) => + const loadSourceMapCommand = (asset: Asset) => AsyncResult.fromValue(asset) - .then((asset) => readFile(asset.path)) - .then((content) => ({ ...asset, content })) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const loadAssetCommand = (asset: AssetWithContent) => - AsyncResult.fromValue(asset) - .then(({ content }) => parseJSON(content)) - .then((sourceMap) => ({ ...asset, sourceMap })) - .thenErr((error) => `${asset.name}: ${error}`).inner; + .then(logTraceAsset('loading sourcemap')) + .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) + .then(logDebugAsset('loaded sourcemap')).inner; - const doesSourceMapHaveSourcesCommand = (asset: AssetWithSourceMap) => - AsyncResult.fromValue(asset) + const doesSourceMapHaveSourcesCommand = (asset: AssetWithContent) => + AsyncResult.fromValue, string>(asset) .then(logTraceAsset('checking if sourcemap has sources')) .then(doesSourceMapHaveSources(sourceProcessor)) .then( @@ -127,21 +113,21 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C ) .thenErr((error) => `${asset.name}: ${error}`).inner; - const filterAssetsCommand = (assets: AssetWithSourceMap[]) => - AsyncResult.fromValue(assets) + const filterAssetsCommand = (assets: AssetWithContent[]) => + AsyncResult.fromValue[], string>(assets) .then(map(doesSourceMapHaveSourcesCommand)) .then(filter((f) => !f.result)) .then(map((f) => f.asset)).inner; - const addSourceCommand = (asset: AssetWithSourceMap) => - AsyncResult.fromValue(asset) + const addSourceCommand = (asset: AssetWithContent) => + AsyncResult.fromValue, string>(asset) .then(logTraceAsset('adding source')) .then(addSource(sourceProcessor)) .then(logDebugAsset('source added')) .thenErr((error) => `${asset.name}: ${error}`).inner; - const writeSourceMapCommand = (asset: AssetWithSourceMap) => - AsyncResult.fromValue(asset) + const writeSourceMapCommand = (asset: AssetWithContent) => + AsyncResult.fromValue, string>(asset) .then(logTraceAsset('writing sourcemap')) .then(writeSourceMap) .then(logDebugAsset('sourcemap written')) @@ -156,8 +142,7 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C .then(map(logTrace((path) => `file to add sources to: ${path}`))) .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) - .then(map(readAssetCommand)) - .then(map(loadAssetCommand)) + .then(map(loadSourceMapCommand)) .then(opts.force ? Ok : filterAssetsCommand) .then(logDebug((r) => `adding sources to ${r.length} files`)) .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) @@ -171,29 +156,29 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C } function doesSourceMapHaveSources(sourceProcessor: SourceProcessor) { - return function doesSourceMapHaveSources(asset: AssetWithSourceMap) { + return function doesSourceMapHaveSources(asset: AssetWithContent) { return { asset, - result: sourceProcessor.doesSourceMapHaveSources(asset.sourceMap as never), + result: sourceProcessor.doesSourceMapHaveSources(asset.content), }; }; } function addSource(sourceProcessor: SourceProcessor) { - return function addSource(asset: AssetWithSourceMap) { - return AsyncResult.equip( - sourceProcessor.addSourcesToSourceMap(asset.sourceMap as never, asset.path), - ).then((newSourceMap) => ({ ...asset, sourceMap: newSourceMap })).inner; + return function addSource(asset: AssetWithContent) { + return AsyncResult.equip(sourceProcessor.addSourcesToSourceMap(asset.content, asset.path)).then< + AssetWithContent + >((newSourceMap) => ({ ...asset, sourceMap: newSourceMap })).inner; }; } -function writeSourceMap(asset: AssetWithSourceMap) { - const { sourceMap, path } = asset; - return AsyncResult.equip(writeFile([JSON.stringify(sourceMap), path])).then(() => asset).inner; +function writeSourceMap(asset: AssetWithContent) { + const { content, path } = asset; + return AsyncResult.equip(writeFile([JSON.stringify(content), path])).then(() => asset).inner; } function output(logger: CliLogger) { - return function output(asset: AssetWithSourceMap) { + return function output(asset: AssetWithContent) { logger.output(asset.path); return asset; }; diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index e9abf9fd..82f0fd4d 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -10,7 +10,6 @@ import { failIfEmpty, filter, finalizeArchive, - loadSourceMap, log, map, matchSourceMapExtension, @@ -28,7 +27,7 @@ import { import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { toAsset } from '../helpers/common'; +import { loadSourceMapFromPathOrFromSource, toAsset } from '../helpers/common'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; @@ -169,8 +168,8 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command const logDebugAsset = logAsset(logger, 'debug'); const logTraceAsset = logAsset(logger, 'trace'); - const isAssetProcessedCommand = (asset: Asset) => - AsyncResult.fromValue(asset) + const isAssetProcessedCommand = (asset: AssetWithContent) => + AsyncResult.fromValue, string>(asset) .then(logTraceAsset('checking if asset is processed')) .then(isAssetProcessed(sourceProcessor)) .then( @@ -181,8 +180,8 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command ) .thenErr((error) => `${asset.name}: ${error}`).inner; - const filterProcessedAssetsCommand = (assets: Asset[]) => - AsyncResult.fromValue(assets) + const filterProcessedAssetsCommand = (assets: AssetWithContent[]) => + AsyncResult.fromValue[], string>(assets) .then(map(isAssetProcessedCommand)) .then(filter((f) => f.result)) .then(map((f) => f.asset)).inner; @@ -190,7 +189,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command const loadSourceMapCommand = (asset: Asset) => AsyncResult.fromValue(asset) .then(logTraceAsset('loading sourcemap')) - .then(loadSourceMap) + .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) .then(logDebugAsset('loaded sourcemap')) .then(opts['include-sources'] ? pass : stripSourcesContent).inner; @@ -249,8 +248,8 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command .then(map(logTrace((path) => `file for upload: ${path}`))) .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) - .then(opts.force ? Ok : filterProcessedAssetsCommand) .then(map(loadSourceMapCommand)) + .then(opts.force ? Ok : filterProcessedAssetsCommand) .then(logDebug((r) => `uploading ${r.length} files`)) .then(map(logTrace(({ path }) => `file to upload: ${path}`))) .then( @@ -296,10 +295,9 @@ function getUploadUrl(opts: Partial): Result ({ asset, result } as const), - ).inner; + return function isAssetProcessed(asset: AssetWithContent) { + const result = sourceProcessor.isSourceMapProcessed(asset.content); + return { asset, result } as const; }; } diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index c4d2118d..42bbda1e 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -155,7 +155,7 @@ export class SourceProcessor { public getSourceMapPathFromSource(source: string, sourcePath: string) { const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); if (!match || !match[1]) { - return Err('Could not find source map for source.'); + return Err('could not find source map for source.'); } return Ok(path.resolve(path.dirname(sourcePath), match[1])); diff --git a/tools/sourcemap-tools/src/models/AsyncResult.ts b/tools/sourcemap-tools/src/models/AsyncResult.ts index 4b6be11e..f52fe987 100644 --- a/tools/sourcemap-tools/src/models/AsyncResult.ts +++ b/tools/sourcemap-tools/src/models/AsyncResult.ts @@ -81,6 +81,7 @@ export class AsyncResult { public thenErr(transform: (data: E) => Promise>): AsyncResult; public thenErr(transform: (data: E) => Result): AsyncResult; public thenErr(transform: (data: E) => Promise): AsyncResult; + public thenErr(transform: (data: E) => Result): AsyncResult; public thenErr(transform: (data: E) => N): AsyncResult; public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult; public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult { From f39a3cfde6217dcdddf12bd49f16b51442aa77c8 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 4 Sep 2023 17:03:35 +0200 Subject: [PATCH 153/291] Source map tools 0.0.2 (#120) * Source map tools 0.0.2 * Release: CLI 0.0.2 (#121) * Release: CLI 0.0.2 * fix sourcemap-tools dependeny in plugins * fix sourcemap-tools tar-stream dependency --------- Co-authored-by: Sebastian Alex --------- Co-authored-by: Sebastian Alex --- package-lock.json | 2006 ++++++++++------------------ tools/cli/package.json | 4 +- tools/rollup-plugin/package.json | 2 +- tools/sourcemap-tools/package.json | 2 +- tools/webpack-plugin/package.json | 2 +- 5 files changed, 686 insertions(+), 1330 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7e12780c..ab99febf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,11 +64,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.10", + "version": "7.22.13", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "engines": { @@ -148,20 +148,20 @@ } }, "node_modules/@babel/core": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.11", - "@babel/parser": "^7.22.11", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.11", - "@babel/types": "^7.22.11", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.15", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.15", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -176,6 +176,11 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/core/node_modules/json5": { "version": "2.2.3", "dev": true, @@ -196,11 +201,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.10", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.10", + "@babel/types": "^7.22.15", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -210,12 +215,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.10", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -277,26 +282,26 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@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.5" + "@babel/helper-validator-identifier": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -344,7 +349,7 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", + "version": "7.22.15", "dev": true, "license": "MIT", "engines": { @@ -352,7 +357,7 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", + "version": "7.22.15", "dev": true, "license": "MIT", "engines": { @@ -360,20 +365,20 @@ } }, "node_modules/@babel/helpers": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.11", - "@babel/types": "^7.22.11" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.10", + "version": "7.22.13", "dev": true, "license": "MIT", "dependencies": { @@ -450,7 +455,7 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "license": "MIT", "bin": { @@ -624,7 +629,7 @@ } }, "node_modules/@babel/runtime": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { @@ -635,31 +640,31 @@ } }, "node_modules/@babel/template": { - "version": "7.22.5", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", "@babel/helper-environment-visitor": "^7.22.5", "@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.11", - "@babel/types": "^7.22.11", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -676,12 +681,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.15", "to-fast-properties": "^2.0.0" }, "engines": { @@ -737,6 +742,21 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -752,7 +772,7 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.7.0", + "version": "4.8.0", "dev": true, "license": "MIT", "engines": { @@ -782,7 +802,7 @@ } }, "node_modules/@eslint/js": { - "version": "8.47.0", + "version": "8.48.0", "dev": true, "license": "MIT", "engines": { @@ -790,7 +810,7 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", + "version": "0.11.11", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1252,11 +1272,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/@jest/types": { "version": "29.6.3", "dev": true, @@ -1383,7 +1398,7 @@ } }, "node_modules/@rollup/plugin-typescript": { - "version": "11.1.2", + "version": "11.1.3", "dev": true, "license": "MIT", "dependencies": { @@ -1408,7 +1423,7 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.3", + "version": "5.0.4", "dev": true, "license": "MIT", "dependencies": { @@ -1659,7 +1674,7 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "14.18.56", + "version": "14.18.58", "license": "MIT" }, "node_modules/@types/prop-types": { @@ -1691,7 +1706,7 @@ "license": "MIT" }, "node_modules/@types/semver": { - "version": "7.5.0", + "version": "7.5.1", "dev": true, "license": "MIT" }, @@ -1719,7 +1734,7 @@ "license": "MIT" }, "node_modules/@types/ua-parser-js": { - "version": "0.7.36", + "version": "0.7.37", "dev": true, "license": "MIT" }, @@ -2396,14 +2411,14 @@ } }, "node_modules/array-includes": { - "version": "3.1.6", + "version": "3.1.7", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -2430,15 +2445,15 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", + "version": "1.2.3", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -2586,7 +2601,8 @@ }, "node_modules/b4a": { "version": "1.6.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" }, "node_modules/babel-jest": { "version": "29.6.4", @@ -2765,6 +2781,15 @@ "node": ">=8" } }, + "node_modules/bl": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "node_modules/bluebird": { "version": "3.7.2", "dev": true, @@ -2859,24 +2884,18 @@ "safe-buffer": "^5.2.0" } }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/browserify-zlib": { "version": "0.2.0", @@ -3117,7 +3136,7 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001522", + "version": "1.0.30001525", "funding": [ { "type": "opencollective", @@ -3338,6 +3357,53 @@ "node": ">=0.10.0" } }, + "node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "dev": true, @@ -3391,6 +3457,11 @@ "version": "1.1.4", "license": "MIT" }, + "node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "license": "MIT", @@ -3441,6 +3512,10 @@ "node": ">=12.17" } }, + "node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, "node_modules/commondir": { "version": "1.0.1", "dev": true, @@ -3456,6 +3531,20 @@ "dev": true, "license": "MIT" }, + "node_modules/concat-stream": { + "version": "1.6.2", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "node_modules/console-browserify": { "version": "1.2.0", "dev": true @@ -3466,7 +3555,7 @@ "license": "MIT" }, "node_modules/convert-source-map": { - "version": "1.9.0", + "version": "2.0.0", "dev": true, "license": "MIT" }, @@ -3702,59 +3791,6 @@ "node": ">=4" } }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/decompress-tar/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/decompress-tar/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/decompress-tar/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/decompress-tarbz2": { "version": "4.1.1", "dev": true, @@ -3999,39 +4035,12 @@ "stream-shift": "^1.0.0" } }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.500", + "version": "1.4.508", "license": "ISC" }, "node_modules/elliptic": { @@ -4339,14 +4348,14 @@ } }, "node_modules/eslint": { - "version": "8.47.0", + "version": "8.48.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", + "@eslint/js": "8.48.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -4913,7 +4922,8 @@ }, "node_modules/fast-fifo": { "version": "1.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, "node_modules/fast-glob": { "version": "3.3.1", @@ -5155,15 +5165,16 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.7", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12.0.0" } }, "node_modules/flat-cache/node_modules/glob": { @@ -5213,33 +5224,6 @@ "readable-stream": "^2.3.6" } }, - "node_modules/flush-write-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/for-each": { "version": "0.3.3", "dev": true, @@ -5302,42 +5286,15 @@ "readable-stream": "^2.0.0" } }, - "node_modules/from2/node_modules/isarray": { + "node_modules/fs-constants": { "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "dev": true, - "license": "ISC", + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -5345,33 +5302,6 @@ "readable-stream": "1 || 2" } }, - "node_modules/fs-write-stream-atomic/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -5383,14 +5313,14 @@ "license": "MIT" }, "node_modules/function.prototype.name": { - "version": "1.1.5", + "version": "1.1.6", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -5481,7 +5411,7 @@ } }, "node_modules/glob": { - "version": "10.3.3", + "version": "10.3.4", "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -5746,24 +5676,18 @@ "node": ">=4" } }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/hash.js": { "version": "1.1.7", @@ -5838,6 +5762,17 @@ "node": ">=10.17.0" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "dev": true, @@ -5952,6 +5887,14 @@ "node": ">= 0.4" } }, + "node_modules/interpret": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", "dev": true, @@ -6445,7 +6388,7 @@ } }, "node_modules/jackspeak": { - "version": "2.3.0", + "version": "2.3.3", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -6590,78 +6533,6 @@ } } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "17.7.2", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/jest-config": { "version": "29.6.4", "dev": true, @@ -7463,6 +7334,11 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "license": "MIT" @@ -7529,6 +7405,14 @@ "node": ">=8" } }, + "node_modules/keyv": { + "version": "4.5.3", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "dev": true, @@ -7734,33 +7618,6 @@ "readable-stream": "^2.0.1" } }, - "node_modules/memory-fs/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "license": "MIT" @@ -7882,56 +7739,6 @@ "node": ">=4.0.0" } }, - "node_modules/mississippi/node_modules/concat-stream": { - "version": "1.6.2", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/mississippi/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/mississippi/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/mississippi/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/mississippi/node_modules/through2": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/mixin-deep": { "version": "1.3.2", "dev": true, @@ -8077,7 +7884,7 @@ } }, "node_modules/node-gyp-build": { - "version": "4.6.0", + "version": "4.6.1", "license": "MIT", "bin": { "node-gyp-build": "bin.js", @@ -8140,28 +7947,6 @@ "dev": true, "license": "MIT" }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/node-releases": { "version": "2.0.13", "license": "MIT" @@ -8336,13 +8121,13 @@ } }, "node_modules/object.fromentries": { - "version": "2.0.6", + "version": "2.0.7", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -8352,13 +8137,13 @@ } }, "node_modules/object.groupby": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, @@ -8374,13 +8159,13 @@ } }, "node_modules/object.values": { - "version": "1.1.6", + "version": "1.1.7", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -8483,33 +8268,6 @@ "readable-stream": "^2.1.5" } }, - "node_modules/parallel-transform/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/parent-module": { "version": "1.0.1", "dev": true, @@ -8768,7 +8526,7 @@ } }, "node_modules/postcss": { - "version": "8.4.28", + "version": "8.4.29", "funding": [ { "type": "opencollective", @@ -9003,7 +8761,8 @@ }, "node_modules/queue-tick": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" }, "node_modules/randombytes": { "version": "2.1.0", @@ -9051,18 +8810,29 @@ "license": "MIT" }, "node_modules/readable-stream": { - "version": "3.6.2", + "version": "2.3.8", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, "node_modules/readdirp": { "version": "3.6.0", "dev": true, @@ -9075,6 +8845,17 @@ "node": ">=8.10.0" } }, + "node_modules/rechoir": { + "version": "0.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/redux": { "version": "4.2.1", "dev": true, @@ -9326,7 +9107,21 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, "node_modules/safe-regex": { @@ -9403,11 +9198,6 @@ "seek-table": "bin/seek-bzip-table" } }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, "node_modules/semver": { "version": "7.5.4", "dev": true, @@ -9939,33 +9729,6 @@ "readable-stream": "^2.0.2" } }, - "node_modules/stream-browserify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-each": { "version": "1.2.3", "dev": true, @@ -9987,33 +9750,6 @@ "xtend": "^4.0.0" } }, - "node_modules/stream-http/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-read-all": { "version": "3.0.1", "license": "MIT", @@ -10028,37 +9764,24 @@ }, "node_modules/streamx": { "version": "2.15.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" } }, "node_modules/string_decoder": { - "version": "1.3.0", + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", + "version": "5.1.2", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, "node_modules/string-length": { @@ -10291,8 +10014,25 @@ "node": ">=6" } }, + "node_modules/tar-stream": { + "version": "1.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/terser": { - "version": "5.19.2", + "version": "5.19.4", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -10364,10 +10104,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "license": "BSD-3-Clause", @@ -10425,6 +10161,15 @@ "dev": true, "license": "MIT" }, + "node_modules/through2": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, "node_modules/timers-browserify": { "version": "2.0.12", "dev": true, @@ -10520,14 +10265,6 @@ "node": ">=6" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/tr46": { "version": "3.0.0", "dev": true, @@ -10592,14 +10329,6 @@ "node": ">=6" } }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/ts-loader": { "version": "9.4.4", "dev": true, @@ -10650,11 +10379,6 @@ "node": ">=6.9.0" } }, - "node_modules/ts-loader-webpack-4/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { "version": "0.5.0", "dev": true, @@ -10667,28 +10391,6 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/ts-loader-webpack-4/node_modules/tapable": { "version": "1.1.3", "dev": true, @@ -10925,6 +10627,14 @@ "imurmurhash": "^0.1.4" } }, + "node_modules/universalify": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/unset-value": { "version": "1.0.0", "dev": true, @@ -11086,6 +10796,11 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, "node_modules/vite": { "version": "4.4.9", "license": "MIT", @@ -11364,12 +11079,6 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", "dev": true, @@ -11394,21 +11103,6 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", "dev": true, @@ -11423,15 +11117,6 @@ "node": ">=0.10" } }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { "version": "2.1.1", "dev": true, @@ -11707,11 +11392,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", "dev": true, @@ -11803,11 +11483,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-4/node_modules/loader-runner": { "version": "2.4.0", "dev": true, @@ -11852,20 +11527,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "node_modules/webpack-4/node_modules/schema-utils": { "version": "1.0.0", "dev": true, @@ -11895,14 +11556,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/webpack-4/node_modules/tapable": { "version": "1.1.3", "dev": true, @@ -12076,11 +11729,6 @@ } } }, - "node_modules/webpack-cli/node_modules/colorette": { - "version": "2.0.20", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-cli/node_modules/commander": { "version": "10.0.1", "dev": true, @@ -12089,25 +11737,6 @@ "node": ">=14" } }, - "node_modules/webpack-cli/node_modules/interpret": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-cli/node_modules/rechoir": { - "version": "0.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, "node_modules/webpack-merge": { "version": "5.9.0", "dev": true, @@ -12164,17 +11793,6 @@ "node": ">=12" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/whatwg-mimetype": { "version": "3.0.0", "dev": true, @@ -12431,6 +12049,49 @@ "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yauzl": { "version": "2.10.0", "dev": true, @@ -12497,8 +12158,7 @@ }, "packages/node/node_modules/@backtrace-labs/sdk-core": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", - "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" + "license": "MIT" }, "packages/react": { "name": "@backtrace-labs/react", @@ -12535,10 +12195,10 @@ }, "tools/cli": { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@backtrace-labs/sourcemap-tools": "^0.0.2", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -12560,7 +12220,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1" + "@backtrace-labs/sourcemap-tools": "^0.0.2" }, "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", @@ -12578,7 +12238,7 @@ }, "tools/sourcemap-tools": { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { "source-map": "^0.7.4", @@ -12600,7 +12260,8 @@ }, "tools/sourcemap-tools/node_modules/tar-stream": { "version": "3.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -12629,7 +12290,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1" + "@backtrace-labs/sourcemap-tools": "^0.0.2" }, "devDependencies": { "@types/jest": "^29.5.1", @@ -12678,10 +12339,10 @@ } }, "@babel/code-frame": { - "version": "7.22.10", + "version": "7.22.13", "dev": true, "requires": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "dependencies": { @@ -12734,19 +12395,19 @@ "dev": true }, "@babel/core": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.11", - "@babel/parser": "^7.22.11", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.11", - "@babel/types": "^7.22.11", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.15", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.15", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -12754,6 +12415,10 @@ "semver": "^6.3.1" }, "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "dev": true + }, "json5": { "version": "2.2.3", "dev": true @@ -12765,21 +12430,21 @@ } }, "@babel/generator": { - "version": "7.22.10", + "version": "7.22.15", "dev": true, "requires": { - "@babel/types": "^7.22.10", + "@babel/types": "^7.22.15", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" } }, "@babel/helper-compilation-targets": { - "version": "7.22.10", + "version": "7.22.15", "dev": true, "requires": { "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -12822,21 +12487,21 @@ } }, "@babel/helper-module-imports": { - "version": "7.22.5", + "version": "7.22.15", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" } }, "@babel/helper-module-transforms": { - "version": "7.22.9", + "version": "7.22.15", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@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.5" + "@babel/helper-validator-identifier": "^7.22.15" } }, "@babel/helper-plugin-utils": { @@ -12862,24 +12527,24 @@ "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.22.5", + "version": "7.22.15", "dev": true }, "@babel/helper-validator-option": { - "version": "7.22.5", + "version": "7.22.15", "dev": true }, "@babel/helpers": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.11", - "@babel/types": "^7.22.11" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/highlight": { - "version": "7.22.10", + "version": "7.22.13", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.22.5", @@ -12932,7 +12597,7 @@ } }, "@babel/parser": { - "version": "7.22.11", + "version": "7.22.15", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -13034,33 +12699,33 @@ } }, "@babel/runtime": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" } }, "@babel/template": { - "version": "7.22.5", + "version": "7.22.15", "dev": true, "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "requires": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", "@babel/helper-environment-visitor": "^7.22.5", "@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.11", - "@babel/types": "^7.22.11", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -13072,11 +12737,11 @@ } }, "@babel/types": { - "version": "7.22.11", + "version": "7.22.15", "dev": true, "requires": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.15", "to-fast-properties": "^2.0.0" } }, @@ -13100,7 +12765,7 @@ "@backtrace-labs/javascript-cli": { "version": "file:tools/cli", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@backtrace-labs/sourcemap-tools": "^0.0.2", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "command-line-args": "^5.2.1", @@ -13126,9 +12791,7 @@ }, "dependencies": { "@backtrace-labs/sdk-core": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", - "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" + "version": "0.0.2" } } }, @@ -13150,7 +12813,7 @@ "@backtrace-labs/rollup-plugin": { "version": "file:tools/rollup-plugin", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@backtrace-labs/sourcemap-tools": "^0.0.2", "@rollup/plugin-typescript": "^11.1.2", "@types/jest": "^29.5.1", "jest": "^29.5.0", @@ -13184,6 +12847,8 @@ "dependencies": { "tar-stream": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "requires": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -13202,7 +12867,7 @@ "@backtrace-labs/webpack-plugin": { "version": "file:tools/webpack-plugin", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@backtrace-labs/sourcemap-tools": "^0.0.2", "@types/jest": "^29.5.1", "@types/webpack-sources": "^3.2.0 || ^1.4.1", "jest": "^29.5.0", @@ -13224,6 +12889,11 @@ "version": "0.5.7", "dev": true }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "optional": true, + "peer": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -13232,7 +12902,7 @@ } }, "@eslint-community/regexpp": { - "version": "4.7.0", + "version": "4.8.0", "dev": true }, "@eslint/eslintrc": { @@ -13251,11 +12921,11 @@ } }, "@eslint/js": { - "version": "8.47.0", + "version": "8.48.0", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.10", + "version": "0.11.11", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -13569,12 +13239,6 @@ "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "dev": true - } } }, "@jest/types": { @@ -13655,7 +13319,7 @@ } }, "@rollup/plugin-typescript": { - "version": "11.1.2", + "version": "11.1.3", "dev": true, "requires": { "@rollup/pluginutils": "^5.0.1", @@ -13663,7 +13327,7 @@ } }, "@rollup/pluginutils": { - "version": "5.0.3", + "version": "5.0.4", "dev": true, "requires": { "@types/estree": "^1.0.0", @@ -13854,7 +13518,7 @@ "dev": true }, "@types/node": { - "version": "14.18.56" + "version": "14.18.58" }, "@types/prop-types": { "version": "15.7.5", @@ -13881,7 +13545,7 @@ "dev": true }, "@types/semver": { - "version": "7.5.0", + "version": "7.5.1", "dev": true }, "@types/source-list-map": { @@ -13904,7 +13568,7 @@ "dev": true }, "@types/ua-parser-js": { - "version": "0.7.36", + "version": "0.7.37", "dev": true }, "@types/webpack-sources": { @@ -14346,13 +14010,13 @@ } }, "array-includes": { - "version": "3.1.6", + "version": "3.1.7", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" } }, @@ -14365,14 +14029,14 @@ "dev": true }, "array.prototype.findlastindex": { - "version": "1.2.2", + "version": "1.2.3", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "array.prototype.flat": { @@ -14465,7 +14129,9 @@ "dev": true }, "b4a": { - "version": "1.6.4" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" }, "babel-jest": { "version": "29.6.4", @@ -14582,6 +14248,14 @@ "dev": true, "optional": true }, + "bl": { + "version": "1.2.3", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "bluebird": { "version": "3.7.2", "dev": true @@ -14663,9 +14337,14 @@ "safe-buffer": "^5.2.0" }, "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "dev": true + "readable-stream": { + "version": "3.6.2", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } } } }, @@ -14827,7 +14506,7 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001522" + "version": "1.0.30001525" }, "chalk": { "version": "4.1.2", @@ -14958,6 +14637,39 @@ } } }, + "cliui": { + "version": "8.0.1", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, "clone-deep": { "version": "4.0.1", "dev": true, @@ -14992,6 +14704,10 @@ "color-name": { "version": "1.1.4" }, + "colorette": { + "version": "2.0.20", + "dev": true + }, "combined-stream": { "version": "1.0.8", "requires": { @@ -15024,6 +14740,9 @@ } } }, + "commander": { + "version": "2.20.3" + }, "commondir": { "version": "1.0.1", "dev": true @@ -15036,6 +14755,16 @@ "version": "0.0.1", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "console-browserify": { "version": "1.2.0", "dev": true @@ -15045,7 +14774,7 @@ "dev": true }, "convert-source-map": { - "version": "1.9.0", + "version": "2.0.0", "dev": true }, "copy-concurrently": { @@ -15221,53 +14950,6 @@ "file-type": "^5.2.0", "is-stream": "^1.1.0", "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } } }, "decompress-tarbz2": { @@ -15436,39 +15118,13 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "eastasianwidth": { "version": "0.2.0" }, "electron-to-chromium": { - "version": "1.4.500" + "version": "1.4.508" }, "elliptic": { "version": "6.5.4", @@ -15680,13 +15336,13 @@ } }, "eslint": { - "version": "8.47.0", + "version": "8.48.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", + "@eslint/js": "8.48.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -16071,7 +15727,9 @@ "version": "3.1.3" }, "fast-fifo": { - "version": "1.3.2" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, "fast-glob": { "version": "3.3.1", @@ -16232,10 +15890,11 @@ } }, "flat-cache": { - "version": "3.0.4", + "version": "3.1.0", "dev": true, "requires": { - "flatted": "^3.1.0", + "flatted": "^3.2.7", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "dependencies": { @@ -16270,32 +15929,6 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "for-each": { @@ -16337,32 +15970,6 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs-constants": { @@ -16377,32 +15984,6 @@ "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs.realpath": { @@ -16414,13 +15995,13 @@ "dev": true }, "function.prototype.name": { - "version": "1.1.5", + "version": "1.1.6", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, "functions-have-names": { @@ -16470,7 +16051,7 @@ "dev": true }, "glob": { - "version": "10.3.3", + "version": "10.3.4", "requires": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -16630,9 +16211,14 @@ "safe-buffer": "^5.2.0" }, "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "dev": true + "readable-stream": { + "version": "3.6.2", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } } } }, @@ -16689,6 +16275,13 @@ "version": "2.1.0", "dev": true }, + "iconv-lite": { + "version": "0.6.3", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, "ieee754": { "version": "1.2.1", "dev": true @@ -16750,6 +16343,10 @@ "side-channel": "^1.0.4" } }, + "interpret": { + "version": "3.1.1", + "dev": true + }, "is-accessor-descriptor": { "version": "1.0.0", "dev": true, @@ -17040,7 +16637,7 @@ } }, "jackspeak": { - "version": "2.3.0", + "version": "2.3.3", "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -17126,56 +16723,6 @@ "jest-validate": "^29.6.3", "prompts": "^2.0.1", "yargs": "^17.3.1" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "17.7.2", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "dev": true - } } }, "jest-config": { @@ -17726,6 +17273,10 @@ "version": "2.5.2", "dev": true }, + "json-buffer": { + "version": "3.0.1", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2" }, @@ -17773,6 +17324,13 @@ } } }, + "keyv": { + "version": "4.5.3", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, "kind-of": { "version": "6.0.3", "dev": true @@ -17904,32 +17462,6 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "merge-stream": { @@ -18009,50 +17541,6 @@ "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.2", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "through2": { - "version": "2.0.5", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "mixin-deep": { @@ -18155,7 +17643,7 @@ } }, "node-gyp-build": { - "version": "4.6.0" + "version": "4.6.1" }, "node-int64": { "version": "0.4.0", @@ -18206,26 +17694,6 @@ "punycode": { "version": "1.4.1", "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, @@ -18339,21 +17807,21 @@ } }, "object.fromentries": { - "version": "2.0.6", + "version": "2.0.7", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.groupby": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, @@ -18365,12 +17833,12 @@ } }, "object.values": { - "version": "1.1.6", + "version": "1.1.7", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "once": { @@ -18432,32 +17900,6 @@ "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "parent-module": { @@ -18618,7 +18060,7 @@ "dev": true }, "postcss": { - "version": "8.4.28", + "version": "8.4.29", "peer": true, "requires": { "nanoid": "^3.3.6", @@ -18753,7 +18195,9 @@ "dev": true }, "queue-tick": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" }, "randombytes": { "version": "2.1.0", @@ -18790,12 +18234,26 @@ "dev": true }, "readable-stream": { - "version": "3.6.2", + "version": "2.3.8", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true + } } }, "readdirp": { @@ -18806,6 +18264,13 @@ "picomatch": "^2.2.1" } }, + "rechoir": { + "version": "0.8.0", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, "redux": { "version": "4.2.1", "dev": true, @@ -18953,7 +18418,7 @@ } }, "safe-buffer": { - "version": "5.1.2" + "version": "5.2.1" }, "safe-regex": { "version": "1.1.0", @@ -19003,12 +18468,6 @@ "dev": true, "requires": { "commander": "^2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "dev": true - } } }, "semver": { @@ -19378,32 +18837,6 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-each": { @@ -19423,32 +18856,6 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-read-all": { @@ -19460,20 +18867,22 @@ }, "streamx": { "version": "2.15.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", "requires": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" } }, "string_decoder": { - "version": "1.3.0", + "version": "1.1.1", "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" }, "dependencies": { "safe-buffer": { - "version": "5.2.1", + "version": "5.1.2", "dev": true } } @@ -19612,8 +19021,21 @@ "tapable": { "version": "2.2.1" }, + "tar-stream": { + "version": "1.6.2", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, "terser": { - "version": "5.19.2", + "version": "5.19.4", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -19621,9 +19043,6 @@ "source-map-support": "~0.5.20" }, "dependencies": { - "commander": { - "version": "2.20.3" - }, "source-map": { "version": "0.6.1" }, @@ -19693,6 +19112,14 @@ "version": "2.3.8", "dev": true }, + "through2": { + "version": "2.0.5", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, "timers-browserify": { "version": "2.0.12", "dev": true, @@ -19757,12 +19184,6 @@ "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "dev": true - } } }, "tr46": { @@ -19789,10 +19210,6 @@ "json5": { "version": "2.2.3", "dev": true - }, - "yargs-parser": { - "version": "21.1.1", - "dev": true } } }, @@ -19826,10 +19243,6 @@ "tapable": "^1.0.0" } }, - "isarray": { - "version": "1.0.0", - "dev": true - }, "memory-fs": { "version": "0.5.0", "dev": true, @@ -19838,26 +19251,6 @@ "readable-stream": "^2.0.1" } }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "tapable": { "version": "1.1.3", "dev": true @@ -20005,6 +19398,10 @@ "imurmurhash": "^0.1.4" } }, + "universalify": { + "version": "0.2.0", + "dev": true + }, "unset-value": { "version": "1.0.0", "dev": true, @@ -20113,6 +19510,12 @@ "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "dev": true + } } }, "vite": { @@ -20299,11 +19702,6 @@ } } }, - "isarray": { - "version": "1.0.0", - "dev": true, - "optional": true - }, "micromatch": { "version": "3.1.10", "dev": true, @@ -20324,20 +19722,6 @@ "to-regex": "^3.0.2" } }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "readdirp": { "version": "2.2.1", "dev": true, @@ -20348,14 +19732,6 @@ "readable-stream": "^2.0.2" } }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "to-regex-range": { "version": "2.1.1", "dev": true, @@ -20563,10 +19939,6 @@ } } }, - "commander": { - "version": "2.20.3", - "dev": true - }, "enhanced-resolve": { "version": "4.5.0", "dev": true, @@ -20633,10 +20005,6 @@ } } }, - "isarray": { - "version": "1.0.0", - "dev": true - }, "loader-runner": { "version": "2.4.0", "dev": true @@ -20669,19 +20037,6 @@ "to-regex": "^3.0.2" } }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "schema-utils": { "version": "1.0.0", "dev": true, @@ -20702,13 +20057,6 @@ "version": "0.6.1", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "tapable": { "version": "1.1.3", "dev": true @@ -20814,24 +20162,9 @@ "webpack-merge": "^5.7.3" }, "dependencies": { - "colorette": { - "version": "2.0.20", - "dev": true - }, "commander": { "version": "10.0.1", "dev": true - }, - "interpret": { - "version": "3.1.1", - "dev": true - }, - "rechoir": { - "version": "0.8.0", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } } } }, @@ -20869,15 +20202,6 @@ "dev": true, "requires": { "iconv-lite": "0.6.3" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } } }, "whatwg-mimetype": { @@ -21030,6 +20354,38 @@ "version": "4.0.0", "dev": true }, + "yargs": { + "version": "17.7.2", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "yargs-parser": { + "version": "21.1.1", + "dev": true + }, "yauzl": { "version": "2.10.0", "dev": true, diff --git a/tools/cli/package.json b/tools/cli/package.json index e71b6218..3b97d1c8 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -44,7 +44,7 @@ "/lib" ], "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1", + "@backtrace-labs/sourcemap-tools": "^0.0.2", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json index 03cd38ef..7a7b8177 100644 --- a/tools/rollup-plugin/package.json +++ b/tools/rollup-plugin/package.json @@ -49,7 +49,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1" + "@backtrace-labs/sourcemap-tools": "^0.0.2" }, "peerDependencies": { "rollup": "^3.26.3" diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 57216bcc..3a883ae7 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 9a56bb85..961cc0b0 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -58,7 +58,7 @@ "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.1" + "@backtrace-labs/sourcemap-tools": "^0.0.2" }, "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" From c5b6dbd61bcc0be9af78971986a0f9909de18e2a Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 4 Sep 2023 15:55:04 +0000 Subject: [PATCH 154/291] cli: fix missing sourcesContent after addSources --- tools/cli/src/sourcemaps/add-sources.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index 6e7d13f2..ef9e03a1 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -168,7 +168,7 @@ function addSource(sourceProcessor: SourceProcessor) { return function addSource(asset: AssetWithContent) { return AsyncResult.equip(sourceProcessor.addSourcesToSourceMap(asset.content, asset.path)).then< AssetWithContent - >((newSourceMap) => ({ ...asset, sourceMap: newSourceMap })).inner; + >((newSourceMap) => ({ ...asset, content: newSourceMap })).inner; }; } From 9d76c4741b4c9a3d41dfcb78b65aec0151725783 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 4 Sep 2023 18:01:30 +0200 Subject: [PATCH 155/291] Source map 0.0.3 release (#122) --- package-lock.json | 94 ++++++++++++++++++++++++++++-- tools/cli/package.json | 4 +- tools/sourcemap-tools/package.json | 2 +- 3 files changed, 93 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab99febf..0bf6790c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12195,10 +12195,10 @@ }, "tools/cli": { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.2", + "@backtrace-labs/sourcemap-tools": "^0.0.3", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -12236,9 +12236,31 @@ "rollup": "^3.26.3" } }, + "tools/rollup-plugin/node_modules/@backtrace-labs/sourcemap-tools": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", + "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", + "dependencies": { + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" + }, + "engines": { + "node": ">=14" + } + }, + "tools/rollup-plugin/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "tools/sourcemap-tools": { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.2", + "version": "0.0.3", "license": "MIT", "dependencies": { "source-map": "^0.7.4", @@ -12311,6 +12333,28 @@ "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" } + }, + "tools/webpack-plugin/node_modules/@backtrace-labs/sourcemap-tools": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", + "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", + "dependencies": { + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" + }, + "engines": { + "node": ">=14" + } + }, + "tools/webpack-plugin/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } } }, "dependencies": { @@ -12765,7 +12809,7 @@ "@backtrace-labs/javascript-cli": { "version": "file:tools/cli", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.2", + "@backtrace-labs/sourcemap-tools": "^0.0.3", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "command-line-args": "^5.2.1", @@ -12819,6 +12863,27 @@ "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "@backtrace-labs/sourcemap-tools": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", + "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", + "requires": { + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" + } + }, + "tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } } }, "@backtrace-labs/sdk-core": { @@ -12879,6 +12944,27 @@ "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0", "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + }, + "dependencies": { + "@backtrace-labs/sourcemap-tools": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", + "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", + "requires": { + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" + } + }, + "tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } } }, "@bcoe/v8-coverage": { diff --git a/tools/cli/package.json b/tools/cli/package.json index 3b97d1c8..b7e5e098 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.2", + "version": "0.0.3", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -44,7 +44,7 @@ "/lib" ], "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.2", + "@backtrace-labs/sourcemap-tools": "^0.0.3", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 3a883ae7..ef9bf8fe 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.2", + "version": "0.0.3", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", From 66b7ebbe5bee8ed95594680ba10d2d2223e11bbe Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 7 Sep 2023 14:08:00 +0200 Subject: [PATCH 156/291] sourcemap tools: fix sourcemap invalid sourcesContent and shebang offset (#123) * sourcemap tools: fix offset sourcemap sourcesContent and shebang offsetting * sourcemap tools: move source-map package to dev dependencies * sourcemap tools: add unit test for checking if offsetSourceMap changes only mappings --------- Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- tools/sourcemap-tools/package.json | 2 +- tools/sourcemap-tools/src/SourceProcessor.ts | 67 ++++---------- tools/sourcemap-tools/src/index.ts | 2 +- .../src/models/RawSourceMap.ts | 9 ++ .../tests/SourceProcessor.spec.ts | 92 ++++++++++--------- 6 files changed, 81 insertions(+), 93 deletions(-) create mode 100644 tools/sourcemap-tools/src/models/RawSourceMap.ts diff --git a/package-lock.json b/package-lock.json index 0bf6790c..23bc25ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12263,7 +12263,6 @@ "version": "0.0.3", "license": "MIT", "dependencies": { - "source-map": "^0.7.4", "tar-stream": "^3.1.6" }, "devDependencies": { @@ -12273,6 +12272,7 @@ "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", + "source-map": "^0.7.4", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index ef9bf8fe..23a94059 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -43,11 +43,11 @@ "decompress": "^4.2.1", "jest": "^29.5.0", "nock": "^13.3.1", + "source-map": "^0.7.4", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, "dependencies": { - "source-map": "^0.7.4", "tar-stream": "^3.1.6" } } diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 42bbda1e..0b64a2c9 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -1,10 +1,10 @@ import path from 'path'; -import { BasicSourceMapConsumer, Position, RawSourceMap, SourceMapConsumer, SourceMapGenerator } from 'source-map'; import { DebugIdGenerator } from './DebugIdGenerator'; import { parseJSON, readFile } from './helpers/common'; import { appendBeforeWhitespaces } from './helpers/stringHelpers'; import { stringToUuid } from './helpers/stringToUuid'; import { AsyncResult, ResultPromise } from './models/AsyncResult'; +import { RawSourceMap } from './models/RawSourceMap'; import { Err, Ok, Result } from './models/Result'; export interface ProcessResult { @@ -70,6 +70,14 @@ export class SourceProcessor { debugId = stringToUuid(source); } + if (typeof sourceMap === 'string') { + const parseResult = parseJSON(sourceMap); + if (parseResult.isErr()) { + return parseResult; + } + sourceMap = parseResult.data; + } + const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); const shebang = source.match(/^(#!.+\n)/)?.[1]; @@ -86,13 +94,9 @@ export class SourceProcessor { // So if we add any code to generated code, mappings after that code will become invalid // We need to offset the mapping lines by sourceSnippetNewlineCount: // original code X:Y => generated code (A + sourceSnippetNewlineCount):B - const sourceSnippetNewlineCount = (sourceSnippet.match(/\n/g)?.length ?? 0) + (shebang ? 1 : 0); - const offsetSourceMapResult = await this.offsetSourceMap(sourceMap, 0, sourceSnippetNewlineCount + 1); - if (offsetSourceMapResult.isErr()) { - return offsetSourceMapResult; - } - - const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMapResult.data, debugId); + const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; + const offsetSourceMap = await this.offsetSourceMap(sourceMap, sourceSnippetNewlineCount + 1); + const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMap, debugId); return Ok({ debugId, source: newSource, sourceMap: newSourceMap }); } @@ -197,46 +201,11 @@ export class SourceProcessor { return sourceMap.sources?.length === sourceMap.sourcesContent?.length; } - private async offsetSourceMap( - sourceMap: string | RawSourceMap, - fromLine: number, - count: number, - ): ResultPromise { - if (typeof sourceMap === 'string') { - const parseResult = parseJSON(sourceMap); - if (parseResult.isErr()) { - return parseResult; - } - sourceMap = parseResult.data; - } - - const consumer = (await new SourceMapConsumer(sourceMap)) as BasicSourceMapConsumer; - const newSourceMap = new SourceMapGenerator({ - file: consumer.file, - sourceRoot: consumer.sourceRoot, - }); - - consumer.eachMapping((m) => { - if (m.generatedLine < fromLine) { - return; - } - - // Despite how the mappings are written, addMapping expects here a null value if the column/line is not set - newSourceMap.addMapping({ - source: m.source, - name: m.name, - generated: - m?.generatedColumn != null && m?.generatedLine != null - ? { column: m.generatedColumn, line: m.generatedLine + count } - : (null as unknown as Position), - original: - m?.originalColumn != null && m?.originalLine != null - ? { column: m.originalColumn, line: m.originalLine } - : (null as unknown as Position), - }); - }); - - const newSourceMapJson = newSourceMap.toJSON(); - return Ok({ ...sourceMap, ...newSourceMapJson }); + public async offsetSourceMap(sourceMap: RawSourceMap, count: number): Promise { + // Each line in sourcemap is separated by a semicolon. + // Offsetting source map lines is just done by prepending semicolons + const offset = ';'.repeat(count); + const mappings = offset + sourceMap.mappings; + return { ...sourceMap, mappings }; } } diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index 0249b37c..c1608c05 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -1,4 +1,3 @@ -export { RawSourceMap } from 'source-map'; export * from './DebugIdGenerator'; export * from './FileFinder'; export * from './Logger'; @@ -11,4 +10,5 @@ export * from './helpers/match'; export * from './models/Asset'; export * from './models/AsyncResult'; export * from './models/ProcessAssetResult'; +export * from './models/RawSourceMap'; export * from './models/Result'; diff --git a/tools/sourcemap-tools/src/models/RawSourceMap.ts b/tools/sourcemap-tools/src/models/RawSourceMap.ts new file mode 100644 index 00000000..c5ef98c6 --- /dev/null +++ b/tools/sourcemap-tools/src/models/RawSourceMap.ts @@ -0,0 +1,9 @@ +export interface RawSourceMap { + version: number; + sources: string[]; + names: string[]; + sourceRoot?: string; + sourcesContent?: string[]; + mappings: string; + file: string; +} diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index 990e2c0a..cfa9a1fe 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -163,23 +163,12 @@ function foo(){console.log("Hello World!")}foo();`; const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); - - const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); - const expectedPosition = unmodifiedConsumer.originalPositionFor({ - line: 1, - column: source.indexOf('foo();'), - }); + const offsetSpy = jest.spyOn(sourceProcessor, 'offsetSourceMap'); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); assert(result.isOk()); - const modifiedConsumer = await new SourceMapConsumer(result.data.sourceMap); - const actualPosition = modifiedConsumer.originalPositionFor({ - line: 1 + expectedNewLineCount, - column: source.indexOf('foo();'), - }); - - expect(actualPosition).toEqual(expectedPosition); + expect(offsetSpy).toBeCalledWith(expect.anything(), expectedNewLineCount); }); it('should offset sourcemap lines by number of newlines in source snippet + 1 with source having shebang not on the first line', async () => { @@ -189,12 +178,7 @@ function foo(){console.log("Hello World!")}foo();`; const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); - - const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); - const expectedPosition = unmodifiedConsumer.originalPositionFor({ - line: 1, - column: source.indexOf('foo();'), - }); + const offsetSpy = jest.spyOn(sourceProcessor, 'offsetSourceMap'); const result = await sourceProcessor.processSourceAndSourceMap( sourceWithShebangElsewhere, @@ -202,39 +186,22 @@ function foo(){console.log("Hello World!")}foo();`; ); assert(result.isOk()); - const modifiedConsumer = await new SourceMapConsumer(result.data.sourceMap); - const actualPosition = modifiedConsumer.originalPositionFor({ - line: 1 + expectedNewLineCount, - column: source.indexOf('foo();'), - }); - - expect(actualPosition).toEqual(expectedPosition); + expect(offsetSpy).toBeCalledWith(expect.anything(), expectedNewLineCount); }); - it('should offset sourcemap lines by number of newlines in source with shebang with snippet + 3', async () => { + it('should offset sourcemap lines by number of newlines in source with shebang with snippet + 1', async () => { const debugIdGenerator = new DebugIdGenerator(); const sourceProcessor = new SourceProcessor(debugIdGenerator); const snippet = 'a\nb\nc\nd'; - const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 3; + const expectedNewLineCount = (snippet.match(/\n/g)?.length ?? 0) + 1; jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); - - const unmodifiedConsumer = await new SourceMapConsumer(sourceMap); - const expectedPosition = unmodifiedConsumer.originalPositionFor({ - line: 1, - column: source.indexOf('foo();'), - }); + const offsetSpy = jest.spyOn(sourceProcessor, 'offsetSourceMap'); const result = await sourceProcessor.processSourceAndSourceMap(sourceWithShebang, sourceWithShebangMap); assert(result.isOk()); - const modifiedConsumer = await new SourceMapConsumer(result.data.sourceMap); - const actualPosition = modifiedConsumer.originalPositionFor({ - line: 1 + expectedNewLineCount, - column: source.indexOf('foo();'), - }); - - expect(actualPosition).toEqual(expectedPosition); + expect(offsetSpy).toBeCalledWith(expect.anything(), expectedNewLineCount); }); it('should call process function with content from files', async () => { @@ -314,4 +281,47 @@ function foo(){console.log("Hello World!")}foo();`; expect(result.data.sourcesContent).toEqual([sourceContent]); }); }); + + describe('offsetSourceMap', () => { + it('should offset sourcemap lines by count', async () => { + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const count = 3; + + const unmodifiedConsumer = await new SourceMapConsumer(sourceWithShebangMap); + const expectedPosition = unmodifiedConsumer.originalPositionFor({ + line: 2, + column: source.indexOf('foo();'), + }); + + const result = await sourceProcessor.offsetSourceMap(sourceWithShebangMap, count); + + const modifiedConsumer = await new SourceMapConsumer(result); + const actualPosition = modifiedConsumer.originalPositionFor({ + line: 2 + count, + column: source.indexOf('foo();'), + }); + + expect(actualPosition).toEqual(expectedPosition); + }); + + it('should modify only mappings', async () => { + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const count = 3; + + const sourceMap = { + version: 3, + file: Math.random().toString(), + sources: [new Array(100)].map(() => Math.random().toString()), + names: [new Array(100)].map(() => Math.random().toString()), + mappings: 'AACA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CACAF,IAAI', + foo: 'bar', + }; + + const result = await sourceProcessor.offsetSourceMap(sourceMap, count); + expect(result).toEqual({ ...sourceMap, mappings: expect.any(String) }); + expect(result.mappings).not.toEqual(sourceMap.mappings); + }); + }); }); From b305ac3a14d134414c1f91a6ce857f58f89f3599 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 7 Sep 2023 15:25:02 +0200 Subject: [PATCH 157/291] cli: add asset error behavior (#124) * sourcemap tools: fix offset sourcemap sourcesContent and shebang offsetting * sourcemap tools: move source-map package to dev dependencies * sourcemap tools: add unit test for checking if offsetSourceMap changes only mappings * cli: add errorBehavior helpers * sourcemap tools: change errorm essage for getSourceMapPathFromSource * cli: add fatal log level * cli: add errorBehavior to add-sources * cli: add errorBehavior to process * cli: add errorBehavior to upload * cli: add errorBehavior to run * cli: fix loading asset-error-behavior from config file * cli: rename FailedElement to BehaviorSkippedElement * cli: update asset-error-behavior options --------- Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/errorBehavior.ts | 50 +++++++++++++++++ tools/cli/src/index.ts | 2 +- tools/cli/src/logger.ts | 18 ++++--- tools/cli/src/options/loadOptions.ts | 2 +- tools/cli/src/options/models/CliOptions.ts | 8 ++- tools/cli/src/sourcemaps/add-sources.ts | 39 +++++++++++--- tools/cli/src/sourcemaps/process.ts | 32 ++++++++++- tools/cli/src/sourcemaps/run.ts | 56 +++++++++++--------- tools/cli/src/sourcemaps/upload.ts | 37 ++++++++++--- tools/sourcemap-tools/src/SourceProcessor.ts | 2 +- 10 files changed, 195 insertions(+), 51 deletions(-) create mode 100644 tools/cli/src/helpers/errorBehavior.ts diff --git a/tools/cli/src/helpers/errorBehavior.ts b/tools/cli/src/helpers/errorBehavior.ts new file mode 100644 index 00000000..89068249 --- /dev/null +++ b/tools/cli/src/helpers/errorBehavior.ts @@ -0,0 +1,50 @@ +import { Err, Ok, Result, ResultErr } from '@backtrace-labs/sourcemap-tools'; + +export const ErrorBehaviors = { + exit: 'exit', + error: 'error', + warn: 'warn', + info: 'info', + debug: 'debug', + trace: 'trace', + skip: 'skip', +} as const; + +export type ErrorBehavior = keyof typeof ErrorBehaviors; + +export function getErrorBehavior(type: string): Result { + const valid = Object.keys(ErrorBehaviors); + if (valid.includes(type)) { + return Ok(type as ErrorBehavior); + } + + return Err(`invalid error behavior "${type}", expected one of: ${valid.join(', ')}`); +} + +export interface BehaviorSkippedElement { + readonly reason: Result; +} + +export function handleError(behavior: ErrorBehavior = 'exit') { + return function _handleAssetErrors( + fn?: (err: E, behavior: Exclude) => void, + ) { + return function _handleAssetErrors(error: E): Result, E> { + switch (behavior) { + case 'exit': + return Err(error); + case 'skip': + return Ok>({ reason: Err(error) }); + default: + fn && fn(error, behavior); + return Ok>({ reason: Err(error) }); + } + }; + }; +} + +export function filterBehaviorSkippedElements(asset: Array>): T[] { + return asset.filter( + (a) => !(typeof a === 'object' && !!a && 'reason' in a && a.reason instanceof ResultErr), + ) as T[]; +} diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index c90c3717..ca13719a 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -95,7 +95,7 @@ const mainCommand = new Command({ } else { const loggerOptions = commandLineArgs(mainCommand.options, { partial: true }) as Partial; const logger = createLogger(loggerOptions); - logger.error(result.data.error); + logger.fatal(result.data.error); process.exit(1); } })(); diff --git a/tools/cli/src/logger.ts b/tools/cli/src/logger.ts index 13548ff9..de29efd8 100644 --- a/tools/cli/src/logger.ts +++ b/tools/cli/src/logger.ts @@ -13,7 +13,7 @@ export interface CliLoggerOptions { readonly prefix?: string; } -export type CliLogLevel = LogLevel | 'output'; +export type CliLogLevel = LogLevel | 'output' | 'fatal'; export class CliLogger implements Logger { private readonly _levelMap: Record; @@ -30,6 +30,10 @@ export class CliLogger implements Logger { return this.log('output', value, ...args); } + public fatal(value: unknown | Error, ...args: unknown[]) { + return this.log('fatal', value, ...args); + } + public error(value: unknown | Error, ...args: unknown[]) { return this.log('error', value, ...args); } @@ -87,15 +91,17 @@ export class CliLogger implements Logger { private createLevelMap(level: CliLogLevel): Record { const levelMap: Record = { output: 0, - error: 1, - warn: 2, - info: 3, - debug: 4, - trace: 5, + fatal: 1, + error: 2, + warn: 3, + info: 4, + debug: 5, + trace: 6, }; return { output: levelMap[level] >= levelMap['output'], + fatal: levelMap[level] >= levelMap['fatal'], error: levelMap[level] >= levelMap['error'], warn: levelMap[level] >= levelMap['warn'], info: levelMap[level] >= levelMap['info'], diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts index ef14e525..cac09c94 100644 --- a/tools/cli/src/options/loadOptions.ts +++ b/tools/cli/src/options/loadOptions.ts @@ -43,10 +43,10 @@ export function joinOptions(key: K, defaults? return { ...defaults, ...loadedOptions, - ...loadedOptions[key], 'add-sources': undefined, upload: undefined, process: undefined, + ...loadedOptions[key], }; }; } diff --git a/tools/cli/src/options/models/CliOptions.ts b/tools/cli/src/options/models/CliOptions.ts index 37a3fa7e..735678fc 100644 --- a/tools/cli/src/options/models/CliOptions.ts +++ b/tools/cli/src/options/models/CliOptions.ts @@ -1,6 +1,7 @@ import { GlobalOptions } from '../..'; import { AddSourcesOptions } from '../../sourcemaps/add-sources'; import { ProcessOptions } from '../../sourcemaps/process'; +import { RunOptions } from '../../sourcemaps/run'; import { UploadOptions } from '../../sourcemaps/upload'; export type CommonCliOptions = Partial< @@ -16,13 +17,10 @@ export type CommonCliOptions = Partial< >; export interface CommandCliOptions { + readonly run: Partial; readonly upload: Partial; readonly 'add-sources': Partial; readonly process: Partial; } -export interface RunCliOptions { - readonly run: (keyof CommandCliOptions)[] | Partial>; -} - -export type CliOptions = Partial; +export type CliOptions = Partial; diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index ef9e03a1..2d4e97c2 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -7,6 +7,7 @@ import { failIfEmpty, filter, log, + LogLevel, map, matchSourceMapExtension, Ok, @@ -18,6 +19,7 @@ import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { loadSourceMapFromPathOrFromSource, toAsset } from '../helpers/common'; +import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; @@ -30,6 +32,7 @@ export interface AddSourcesOptions extends GlobalOptions { readonly force: boolean; readonly skipFailing: boolean; readonly 'pass-with-no-files': boolean; + readonly 'asset-error-behavior': string; } export const addSourcesCmd = new Command({ @@ -55,6 +58,12 @@ export const addSourcesCmd = new Command({ type: Boolean, description: 'Processes files even if sourcesContent is not empty. Will overwrite existing sources.', }) + .option({ + name: 'asset-error-behavior', + alias: 'e', + type: String, + description: `What to do when an asset fails. Can be one of: ${Object.keys(ErrorBehaviors).join(', ')}.`, + }) .option({ name: 'pass-with-no-files', type: Boolean, @@ -95,14 +104,28 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C const logDebugAsset = logAsset(logger, 'debug'); const logTraceAsset = logAsset(logger, 'trace'); + const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); + if (assetErrorBehaviorResult.isErr()) { + logger.info(getHelpMessage()); + return assetErrorBehaviorResult; + } + + const assetErrorBehavior = assetErrorBehaviorResult.data; + + const handleFailedAsset = handleError(assetErrorBehavior); + + const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => + logAsset(logger, level)(err)(asset); + const loadSourceMapCommand = (asset: Asset) => AsyncResult.fromValue(asset) .then(logTraceAsset('loading sourcemap')) .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) - .then(logDebugAsset('loaded sourcemap')).inner; + .then(logDebugAsset('loaded sourcemap')) + .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))).inner; const doesSourceMapHaveSourcesCommand = (asset: AssetWithContent) => - AsyncResult.fromValue, string>(asset) + AsyncResult.fromValue, never>(asset) .then(logTraceAsset('checking if sourcemap has sources')) .then(doesSourceMapHaveSources(sourceProcessor)) .then( @@ -110,11 +133,10 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C ({ asset, result }) => `${asset.name}: ` + (result ? 'sourcemap has sources' : 'sourcemap does not have sources'), ), - ) - .thenErr((error) => `${asset.name}: ${error}`).inner; + ).inner; const filterAssetsCommand = (assets: AssetWithContent[]) => - AsyncResult.fromValue[], string>(assets) + AsyncResult.fromValue[], never>(assets) .then(map(doesSourceMapHaveSourcesCommand)) .then(filter((f) => !f.result)) .then(map((f) => f.asset)).inner; @@ -124,6 +146,7 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C .then(logTraceAsset('adding source')) .then(addSource(sourceProcessor)) .then(logDebugAsset('source added')) + .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))) .thenErr((error) => `${asset.name}: ${error}`).inner; const writeSourceMapCommand = (asset: AssetWithContent) => @@ -131,6 +154,7 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C .then(logTraceAsset('writing sourcemap')) .then(writeSourceMap) .then(logDebugAsset('sourcemap written')) + .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))) .thenErr((error) => `${asset.name}: ${error}`).inner; return AsyncResult.equip(find(...searchPaths)) @@ -143,6 +167,7 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) .then(map(loadSourceMapCommand)) + .then(filterBehaviorSkippedElements) .then(opts.force ? Ok : filterAssetsCommand) .then(logDebug((r) => `adding sources to ${r.length} files`)) .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) @@ -152,7 +177,9 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C : failIfEmpty('no sourcemaps without sources found, use --force to overwrite sources'), ) .then(map(addSourceCommand)) - .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)).inner; + .then(filterBehaviorSkippedElements) + .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)) + .then(filterBehaviorSkippedElements).inner; } function doesSourceMapHaveSources(sourceProcessor: SourceProcessor) { diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index acfe0713..cb1f7eb4 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -6,6 +6,7 @@ import { failIfEmpty, filter, log, + LogLevel, map, matchSourceExtension, Ok, @@ -19,6 +20,7 @@ import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { toAsset } from '../helpers/common'; +import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; @@ -30,6 +32,7 @@ export interface ProcessOptions extends GlobalOptions { readonly 'dry-run': boolean; readonly force: boolean; readonly 'pass-with-no-files': boolean; + readonly 'asset-error-behavior': string; } export const processCmd = new Command({ @@ -55,6 +58,12 @@ export const processCmd = new Command({ type: Boolean, description: 'Processes files even if already processed.', }) + .option({ + name: 'asset-error-behavior', + alias: 'e', + type: String, + description: `What to do when an asset fails. Can be one of: ${Object.keys(ErrorBehaviors).join(', ')}.`, + }) .option({ name: 'pass-with-no-files', type: Boolean, @@ -95,6 +104,21 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo const logDebugAsset = logAsset(logger, 'debug'); const logTraceAsset = logAsset(logger, 'trace'); + const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); + if (assetErrorBehaviorResult.isErr()) { + logger.info(getHelpMessage()); + return assetErrorBehaviorResult; + } + + const assetErrorBehavior = assetErrorBehaviorResult.data; + const handleFailedAsset = handleError(assetErrorBehavior); + + const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => + logAsset(logger, level)(err)(asset); + + const logProcessResultBehaviorError = (err: ProcessAssetError, level: LogLevel) => + logAsset(logger, level)(err.error)(err.asset); + const isAssetProcessedCommand = (asset: Asset) => AsyncResult.fromValue(asset) .then(logTraceAsset('checking if asset is processed')) @@ -105,11 +129,13 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), ), ) + .thenErr(handleFailedAsset<{ asset: Asset; result: boolean }>(logAssetBehaviorError(asset))) .thenErr((error) => `${asset.name}: ${error}`).inner; const filterUnprocessedAssetsCommand = (assets: Asset[]) => AsyncResult.fromValue(assets) .then(map(isAssetProcessedCommand)) + .then(filterBehaviorSkippedElements) .then(filter((f) => !f.result)) .then(map((f) => f.asset)).inner; @@ -118,6 +144,7 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo .then(logTraceAsset('processing file')) .then(processAsset(sourceProcessor)) .then(logDebugAsset('file processed')) + .thenErr(handleFailedAsset(logProcessResultBehaviorError)) .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; const writeCommand = (result: ProcessAssetResult) => @@ -125,6 +152,7 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo .then(logTraceAsset('writing file')) .then(writeAsset) .then(logDebugAsset('file written')) + .thenErr(handleFailedAsset(logProcessResultBehaviorError)) .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; return AsyncResult.equip(find(...searchPaths)) @@ -145,7 +173,9 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo : failIfEmpty('no files for processing found, they may be already processed'), ) .then(map(processCommand)) - .then(opts['dry-run'] ? Ok : map(writeCommand)).inner; + .then(filterBehaviorSkippedElements) + .then(opts['dry-run'] ? Ok : map(writeCommand)) + .then(filterBehaviorSkippedElements).inner; } function isAssetProcessed(sourceProcessor: SourceProcessor) { diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index b90fb12e..c1270792 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -3,6 +3,7 @@ import { AsyncResult, DebugIdGenerator, Err, + LogLevel, Ok, SourceProcessor, failIfEmpty, @@ -15,12 +16,12 @@ import path from 'path'; import { GlobalOptions } from '..'; import { Command } from '../commands/Command'; import { toAsset } from '../helpers/common'; +import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; -import { findConfig, loadOptions } from '../options/loadOptions'; -import { CliOptions, CommandCliOptions } from '../options/models/CliOptions'; +import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; import { addSourcesToSourcemaps } from './add-sources'; import { processSources } from './process'; import { uploadSourcemaps } from './upload'; @@ -32,6 +33,7 @@ export interface RunOptions extends GlobalOptions { readonly path: string | string[]; readonly force: boolean; readonly 'pass-with-no-files': boolean; + readonly 'asset-error-behavior': string; } interface AssetWithSourceMapPath extends Asset { @@ -71,12 +73,19 @@ export const runCmd = new Command({ type: Boolean, description: 'Forces execution of commands.', }) + .option({ + name: 'asset-error-behavior', + alias: 'e', + type: String, + description: `What to do when an asset fails. Can be one of: ${Object.keys(ErrorBehaviors).join(', ')}.`, + }) .option({ name: 'pass-with-no-files', type: Boolean, description: 'Exits with zero exit code if no sourcemaps are found.', }) .execute(async function ({ opts, logger, getHelpMessage }) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); const configPath = opts.config ?? (await findConfig()); if (!configPath) { return Err('cannot find config file'); @@ -84,7 +93,7 @@ export const runCmd = new Command({ logger.debug(`reading config from ${configPath}`); - const configResult = await loadOptions(configPath); + const configResult = await loadOptionsForCommand(configPath)('run'); if (configResult.isErr()) { return configResult; } @@ -96,15 +105,16 @@ export const runCmd = new Command({ } opts = { + ...config, ...opts, path: opts.path ?? (config.path ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), }; logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - const runProcess = shouldRunCommand(opts, config, 'process'); - const runAddSources = shouldRunCommand(opts, config, 'add-sources'); - const runUpload = shouldRunCommand(opts, config, 'upload'); + const runProcess = opts.process; + const runAddSources = opts['add-sources']; + const runUpload = opts.upload; if (!runAddSources && !runUpload && !runProcess) { logger.info(getHelpMessage()); return Err('--process, --add-sources and/or --upload must be specified'); @@ -120,14 +130,27 @@ export const runCmd = new Command({ const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); const logTraceAsset = logAsset(logger, 'trace'); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + + const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); + if (assetErrorBehaviorResult.isErr()) { + logger.info(getHelpMessage()); + return assetErrorBehaviorResult; + } + + const assetErrorBehavior = assetErrorBehaviorResult.data; + + const handleFailedAsset = handleError(assetErrorBehavior); + + const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => + logAsset(logger, level)(err)(asset); const getSourceMapPathCommand = (asset: Asset) => AsyncResult.fromValue(asset) .then(logTraceAsset('reading sourcemap path')) .then(getSourceMapPath(sourceProcessor)) .then((sourceMapPath) => ({ ...asset, sourceMapPath })) - .then(logTraceAsset('read sourcemap path')).inner; + .then(logTraceAsset('read sourcemap path')) + .thenErr(handleFailedAsset(logAssetBehaviorError(asset))).inner; const processCommand = (assets: AssetWithSourceMapPath[]) => AsyncResult.fromValue(assets) @@ -188,6 +211,7 @@ export const runCmd = new Command({ .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) .then(map(toAsset)) .then(map(getSourceMapPathCommand)) + .then(filterBehaviorSkippedElements) .then(map(printAssetInfo(logger))) .then(runProcess ? processCommand : Ok) .then(runAddSources ? addSourcesCommand : Ok) @@ -207,19 +231,3 @@ function printAssetInfo(logger: CliLogger) { return asset; }; } - -function shouldRunCommand(opts: Partial, config: CliOptions, key: keyof CommandCliOptions) { - if (opts[key]) { - return true; - } - - if (!config?.run) { - return false; - } - - if (Array.isArray(config.run)) { - return config.run.includes(key); - } - - return !!config.run[key]; -} diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 82f0fd4d..9a5eaad3 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -11,6 +11,7 @@ import { filter, finalizeArchive, log, + LogLevel, map, matchSourceMapExtension, Ok, @@ -28,6 +29,7 @@ import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { loadSourceMapFromPathOrFromSource, toAsset } from '../helpers/common'; +import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; @@ -45,6 +47,7 @@ export interface UploadOptions extends GlobalOptions { readonly force: boolean; readonly 'pass-with-no-files': boolean; readonly output: string; + readonly 'asset-error-behavior': string; } export interface UploadResultWithAssets extends UploadResult { @@ -109,6 +112,12 @@ export const uploadCmd = new Command({ type: Boolean, description: 'Exits with zero exit code if no files for uploading are found.', }) + .option({ + name: 'asset-error-behavior', + alias: 'e', + type: String, + description: `What to do when an asset fails. Can be one of: ${Object.keys(ErrorBehaviors).join(', ')}.`, + }) .option({ name: 'output', alias: 'o', @@ -168,8 +177,21 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command const logDebugAsset = logAsset(logger, 'debug'); const logTraceAsset = logAsset(logger, 'trace'); + const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); + if (assetErrorBehaviorResult.isErr()) { + logger.info(getHelpMessage()); + return assetErrorBehaviorResult; + } + + const assetErrorBehavior = assetErrorBehaviorResult.data; + + const handleFailedAsset = handleError(assetErrorBehavior); + + const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => + logAsset(logger, level)(err)(asset); + const isAssetProcessedCommand = (asset: AssetWithContent) => - AsyncResult.fromValue, string>(asset) + AsyncResult.fromValue, never>(asset) .then(logTraceAsset('checking if asset is processed')) .then(isAssetProcessed(sourceProcessor)) .then( @@ -177,11 +199,10 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command ({ asset, result }) => `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), ), - ) - .thenErr((error) => `${asset.name}: ${error}`).inner; + ).inner; const filterProcessedAssetsCommand = (assets: AssetWithContent[]) => - AsyncResult.fromValue[], string>(assets) + AsyncResult.fromValue[], never>(assets) .then(map(isAssetProcessedCommand)) .then(filter((f) => f.result)) .then(map((f) => f.asset)).inner; @@ -191,7 +212,8 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command .then(logTraceAsset('loading sourcemap')) .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) .then(logDebugAsset('loaded sourcemap')) - .then(opts['include-sources'] ? pass : stripSourcesContent).inner; + .then(opts['include-sources'] ? pass : stripSourcesContent) + .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))).inner; const createArchiveCommand = (assets: AssetWithContent[]) => AsyncResult.fromValue[], string>(assets) @@ -224,7 +246,9 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command await finalizeArchive({ assets, archive }); // Finally, we return the upload request promise - return promise; + const result = await promise; + console.log(result); + return result; }) .then((result) => ({ ...result, assets: archive.assets })) .then(logDebug(`archive uploaded to ${uploadUrl}`)).inner; @@ -249,6 +273,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) .then(map(toAsset)) .then(map(loadSourceMapCommand)) + .then(filterBehaviorSkippedElements) .then(opts.force ? Ok : filterProcessedAssetsCommand) .then(logDebug((r) => `uploading ${r.length} files`)) .then(map(logTrace(({ path }) => `file to upload: ${path}`))) diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 0b64a2c9..296bf798 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -159,7 +159,7 @@ export class SourceProcessor { public getSourceMapPathFromSource(source: string, sourcePath: string) { const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); if (!match || !match[1]) { - return Err('could not find source map for source.'); + return Err('could not find source map for source'); } return Ok(path.resolve(path.dirname(sourcePath), match[1])); From 8aebc93c9cae3e1bea43d8dbccb9e9d600526c10 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Thu, 7 Sep 2023 16:01:42 -0400 Subject: [PATCH 158/291] Fixing typo (#126) Co-authored-by: Adam Cronin --- packages/browser/src/attributes/WebsiteAttributeProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/browser/src/attributes/WebsiteAttributeProvider.ts b/packages/browser/src/attributes/WebsiteAttributeProvider.ts index af4b956f..810344e5 100644 --- a/packages/browser/src/attributes/WebsiteAttributeProvider.ts +++ b/packages/browser/src/attributes/WebsiteAttributeProvider.ts @@ -12,7 +12,7 @@ export class WebsiteAttributeProvider implements BacktraceAttributeProvider { application: document.title || 'unknown', // application is required. Using unknown string if it is not found. 'process.age': Math.floor((new Date().getTime() - PAGE_START_TIME) / 1000), hostname: window.location && window.location.hostname, - referer: window.location && window.location.href, + referrer: window.location && window.location.href, 'location.port': document.location.port, 'location.protocol': document.location.protocol, 'location.origin': window.location.origin, From e75924aebe120df5804cc9228bdb1053d9368205 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 11 Sep 2023 10:32:40 -0400 Subject: [PATCH 159/291] Combining the error and string overloads in BacktraceCoreClient.send() (#127) Co-authored-by: Adam Cronin --- packages/sdk-core/src/BacktraceCoreClient.ts | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 2c4048e9..60653f55 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -177,19 +177,12 @@ export abstract class BacktraceCoreClient { /** * Asynchronously sends error data to Backtrace. - * @param error Backtrace Report or error or message - * @param attributes Report attributes - * @param attachments Report attachments - */ - public send(error: Error, attributes?: Record, attachments?: BacktraceAttachment[]): Promise; - /** - * Asynchronously sends a message report to Backtrace - * @param message Report message + * @param error Error or message * @param attributes Report attributes * @param attachments Report attachments */ public send( - message: string, + error: Error | string, attributes?: Record, attachments?: BacktraceAttachment[], ): Promise; From d9811ef7babba9ced80950733ada31a9a80be7a1 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 11 Sep 2023 12:10:43 -0400 Subject: [PATCH 160/291] =?UTF-8?q?Updating=20version=20in=20sourcemap-tol?= =?UTF-8?q?=20and=20updating=20monorepo=20package-lock.=E2=80=A6=20(#128)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Updating version in sourcemap-tol and updating monorepo package-lock.json * Updating package-lock.json --------- Co-authored-by: Adam Cronin --- package-lock.json | 45 +++++++++++++++++++++++++++++- tools/sourcemap-tools/package.json | 2 +- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23bc25ba..27188e27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12215,6 +12215,28 @@ "node": ">=14" } }, + "tools/cli/node_modules/@backtrace-labs/sourcemap-tools": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.3.tgz", + "integrity": "sha512-ldYKK+OMUxwbTC41harq9xiYDYrttz8K/rT+D03rF33vk3vU3YQFoPat9QcdePCwEdHcK3AHtSVZXu6SmfIWhA==", + "dependencies": { + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" + }, + "engines": { + "node": ">=14" + } + }, + "tools/cli/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "tools/rollup-plugin": { "name": "@backtrace-labs/rollup-plugin", "version": "0.0.1", @@ -12260,7 +12282,7 @@ }, "tools/sourcemap-tools": { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.3", + "version": "0.0.4", "license": "MIT", "dependencies": { "tar-stream": "^3.1.6" @@ -12816,6 +12838,27 @@ "command-line-usage": "^7.0.1", "glob": "^10.3.3", "jsonc": "^2.0.0" + }, + "dependencies": { + "@backtrace-labs/sourcemap-tools": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.3.tgz", + "integrity": "sha512-ldYKK+OMUxwbTC41harq9xiYDYrttz8K/rT+D03rF33vk3vU3YQFoPat9QcdePCwEdHcK3AHtSVZXu6SmfIWhA==", + "requires": { + "source-map": "^0.7.4", + "tar-stream": "^3.1.6" + } + }, + "tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } } }, "@backtrace-labs/node": { diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 23a94059..89197592 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.3", + "version": "0.0.4", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", From df8c6eee70a121e6b0c7fec45c1dfed64cd6a387 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 11 Sep 2023 12:25:52 -0400 Subject: [PATCH 161/291] Updating tools/cli (#129) * Updating version in sourcemap-tol and updating monorepo package-lock.json * Updating package-lock.json * Updating tools/cli --------- Co-authored-by: Adam Cronin --- package-lock.json | 30 ++++-------------------------- tools/cli/package.json | 4 ++-- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index 27188e27..a24a49b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12195,10 +12195,10 @@ }, "tools/cli": { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.3", + "version": "0.0.4", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.3", + "@backtrace-labs/sourcemap-tools": "^0.0.4", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -12215,18 +12215,6 @@ "node": ">=14" } }, - "tools/cli/node_modules/@backtrace-labs/sourcemap-tools": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.3.tgz", - "integrity": "sha512-ldYKK+OMUxwbTC41harq9xiYDYrttz8K/rT+D03rF33vk3vU3YQFoPat9QcdePCwEdHcK3AHtSVZXu6SmfIWhA==", - "dependencies": { - "source-map": "^0.7.4", - "tar-stream": "^3.1.6" - }, - "engines": { - "node": ">=14" - } - }, "tools/cli/node_modules/tar-stream": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", @@ -12831,7 +12819,7 @@ "@backtrace-labs/javascript-cli": { "version": "file:tools/cli", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.3", + "@backtrace-labs/sourcemap-tools": "^0.0.4", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "command-line-args": "^5.2.1", @@ -12840,18 +12828,8 @@ "jsonc": "^2.0.0" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.3.tgz", - "integrity": "sha512-ldYKK+OMUxwbTC41harq9xiYDYrttz8K/rT+D03rF33vk3vU3YQFoPat9QcdePCwEdHcK3AHtSVZXu6SmfIWhA==", - "requires": { - "source-map": "^0.7.4", - "tar-stream": "^3.1.6" - } - }, "tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "requires": { "b4a": "^1.6.4", diff --git a/tools/cli/package.json b/tools/cli/package.json index b7e5e098..b2000dbc 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.3", + "version": "0.0.4", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -44,7 +44,7 @@ "/lib" ], "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.3", + "@backtrace-labs/sourcemap-tools": "^0.0.4", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", From 1008b809175ddd7f4eaef9c37211ced6acefc1ed Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 14 Sep 2023 10:17:36 +0200 Subject: [PATCH 162/291] cli: add integration tests for commands (#125) * cli: add jest and test files * cli: add test helpers * cli: add add-sources tests * cli: add process tests * cli: add upload tests, fix issues with errors * cli: move run execute to separate function * cli: add run tests --------- Co-authored-by: Sebastian Alex --- package-lock.json | 248 +++++++---- tools/cli/jest.config.js | 5 + tools/cli/package.json | 14 +- tools/cli/src/sourcemaps/add-sources.ts | 1 + tools/cli/src/sourcemaps/run.ts | 270 ++++++------ tools/cli/src/sourcemaps/upload.ts | 19 +- tools/cli/tests/_files/.gitignore | 1 + tools/cli/tests/_files/invalid/invalid1.js | 7 + .../cli/tests/_files/invalid/invalid1.js.map | 11 + tools/cli/tests/_files/invalid/invalid2.js | 7 + .../cli/tests/_files/invalid/invalid2.js.map | 11 + .../cli/tests/_files/no-sourcemaps/entry1.js | 6 + .../cli/tests/_files/no-sourcemaps/entry2.js | 7 + tools/cli/tests/_files/original/entry1.js | 7 + tools/cli/tests/_files/original/entry1.js.map | 11 + tools/cli/tests/_files/original/entry2.js | 7 + tools/cli/tests/_files/original/entry2.js.map | 11 + .../_files/processed-with-sources/entry1.js | 9 + .../processed-with-sources/entry1.js.map | 16 + .../_files/processed-with-sources/entry2.js | 9 + .../processed-with-sources/entry2.js.map | 16 + tools/cli/tests/_files/processed/entry1.js | 9 + .../cli/tests/_files/processed/entry1.js.map | 12 + tools/cli/tests/_files/processed/entry2.js | 9 + .../cli/tests/_files/processed/entry2.js.map | 12 + tools/cli/tests/_files/sources/dependency.ts | 3 + tools/cli/tests/_files/sources/entry1.ts | 4 + tools/cli/tests/_files/sources/entry2.ts | 4 + tools/cli/tests/_files/with-sources/entry1.js | 7 + .../tests/_files/with-sources/entry1.js.map | 15 + tools/cli/tests/_files/with-sources/entry2.js | 7 + .../tests/_files/with-sources/entry2.js.map | 15 + tools/cli/tests/_helpers/common.ts | 18 + tools/cli/tests/_helpers/testFiles.ts | 70 +++ .../cli/tests/sourcemaps/add-sources.spec.ts | 351 +++++++++++++++ tools/cli/tests/sourcemaps/process.spec.ts | 332 ++++++++++++++ tools/cli/tests/sourcemaps/run.spec.ts | 368 ++++++++++++++++ tools/cli/tests/sourcemaps/upload.spec.ts | 404 ++++++++++++++++++ .../src/commands/archiveSourceMaps.ts | 7 +- 39 files changed, 2121 insertions(+), 219 deletions(-) create mode 100644 tools/cli/jest.config.js create mode 100644 tools/cli/tests/_files/.gitignore create mode 100644 tools/cli/tests/_files/invalid/invalid1.js create mode 100644 tools/cli/tests/_files/invalid/invalid1.js.map create mode 100644 tools/cli/tests/_files/invalid/invalid2.js create mode 100644 tools/cli/tests/_files/invalid/invalid2.js.map create mode 100644 tools/cli/tests/_files/no-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/no-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/original/entry1.js create mode 100644 tools/cli/tests/_files/original/entry1.js.map create mode 100644 tools/cli/tests/_files/original/entry2.js create mode 100644 tools/cli/tests/_files/original/entry2.js.map create mode 100644 tools/cli/tests/_files/processed-with-sources/entry1.js create mode 100644 tools/cli/tests/_files/processed-with-sources/entry1.js.map create mode 100644 tools/cli/tests/_files/processed-with-sources/entry2.js create mode 100644 tools/cli/tests/_files/processed-with-sources/entry2.js.map create mode 100644 tools/cli/tests/_files/processed/entry1.js create mode 100644 tools/cli/tests/_files/processed/entry1.js.map create mode 100644 tools/cli/tests/_files/processed/entry2.js create mode 100644 tools/cli/tests/_files/processed/entry2.js.map create mode 100644 tools/cli/tests/_files/sources/dependency.ts create mode 100644 tools/cli/tests/_files/sources/entry1.ts create mode 100644 tools/cli/tests/_files/sources/entry2.ts create mode 100644 tools/cli/tests/_files/with-sources/entry1.js create mode 100644 tools/cli/tests/_files/with-sources/entry1.js.map create mode 100644 tools/cli/tests/_files/with-sources/entry2.js create mode 100644 tools/cli/tests/_files/with-sources/entry2.js.map create mode 100644 tools/cli/tests/_helpers/common.ts create mode 100644 tools/cli/tests/_helpers/testFiles.ts create mode 100644 tools/cli/tests/sourcemaps/add-sources.spec.ts create mode 100644 tools/cli/tests/sourcemaps/process.spec.ts create mode 100644 tools/cli/tests/sourcemaps/run.spec.ts create mode 100644 tools/cli/tests/sourcemaps/upload.spec.ts diff --git a/package-lock.json b/package-lock.json index a24a49b9..50173449 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1587,6 +1587,16 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/@types/fs-extra": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz", + "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", + "dev": true, + "dependencies": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, "node_modules/@types/graceful-fs": { "version": "4.1.6", "dev": true, @@ -1673,6 +1683,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/jsonfile": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz", + "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/node": { "version": "14.18.58", "license": "MIT" @@ -2601,8 +2620,7 @@ }, "node_modules/b4a": { "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "license": "ISC" }, "node_modules/babel-jest": { "version": "29.6.4", @@ -4139,6 +4157,7 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -4922,8 +4941,7 @@ }, "node_modules/fast-fifo": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.1", @@ -4962,6 +4980,7 @@ }, "node_modules/fast-safe-stringify": { "version": "2.1.1", + "dev": true, "license": "MIT" }, "node_modules/fastest-levenshtein": { @@ -5291,6 +5310,29 @@ "dev": true, "license": "MIT" }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", "dev": true, @@ -5936,6 +5978,7 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", + "dev": true, "license": "MIT" }, "node_modules/is-bigint": { @@ -7341,6 +7384,7 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { @@ -7374,6 +7418,7 @@ }, "node_modules/jsonc": { "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6", @@ -7389,6 +7434,7 @@ }, "node_modules/jsonc/node_modules/parse-json": { "version": "4.0.0", + "dev": true, "license": "MIT", "dependencies": { "error-ex": "^1.3.1", @@ -7400,11 +7446,33 @@ }, "node_modules/jsonc/node_modules/strip-bom": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/keyv": { "version": "4.5.3", "dev": true, @@ -7707,6 +7775,7 @@ }, "node_modules/minimist": { "version": "1.2.8", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7753,6 +7822,7 @@ }, "node_modules/mkdirp": { "version": "0.5.6", + "dev": true, "license": "MIT", "dependencies": { "minimist": "^1.2.6" @@ -8761,8 +8831,7 @@ }, "node_modules/queue-tick": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", @@ -9764,8 +9833,7 @@ }, "node_modules/streamx": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "license": "MIT", "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" @@ -9940,6 +10008,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -12158,7 +12227,8 @@ }, "packages/node/node_modules/@backtrace-labs/sdk-core": { "version": "0.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", + "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" }, "packages/react": { "name": "@backtrace-labs/react", @@ -12201,30 +12271,25 @@ "@backtrace-labs/sourcemap-tools": "^0.0.4", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" + "glob": "^10.3.3" }, "bin": { "backtrace-js": "lib/index.js" }, "devDependencies": { "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2" + "@types/command-line-usage": "^5.0.2", + "@types/fs-extra": "^11.0.1", + "fs-extra": "^11.1.1", + "jest": "^29.5.0", + "jsonc": "^2.0.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { "node": ">=14" } }, - "tools/cli/node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "tools/rollup-plugin": { "name": "@backtrace-labs/rollup-plugin", "version": "0.0.1", @@ -12248,8 +12313,7 @@ }, "tools/rollup-plugin/node_modules/@backtrace-labs/sourcemap-tools": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", - "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", + "license": "MIT", "dependencies": { "source-map": "^0.7.4", "tar-stream": "^3.1.6" @@ -12260,8 +12324,7 @@ }, "tools/rollup-plugin/node_modules/tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -12292,8 +12355,7 @@ }, "tools/sourcemap-tools/node_modules/tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -12346,8 +12408,7 @@ }, "tools/webpack-plugin/node_modules/@backtrace-labs/sourcemap-tools": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", - "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", + "license": "MIT", "dependencies": { "source-map": "^0.7.4", "tar-stream": "^3.1.6" @@ -12358,8 +12419,7 @@ }, "tools/webpack-plugin/node_modules/tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -12822,21 +12882,15 @@ "@backtrace-labs/sourcemap-tools": "^0.0.4", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", + "@types/fs-extra": "*", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", + "fs-extra": "^11.1.1", "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "dependencies": { - "tar-stream": { - "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - } + "jest": "^29.5.0", + "jsonc": "^2.0.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, "@backtrace-labs/node": { @@ -12856,7 +12910,9 @@ }, "dependencies": { "@backtrace-labs/sdk-core": { - "version": "0.0.2" + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", + "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" } } }, @@ -12888,8 +12944,6 @@ "dependencies": { "@backtrace-labs/sourcemap-tools": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", - "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", "requires": { "source-map": "^0.7.4", "tar-stream": "^3.1.6" @@ -12897,8 +12951,6 @@ }, "tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "requires": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -12933,8 +12985,6 @@ "dependencies": { "tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "requires": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -12969,8 +13019,6 @@ "dependencies": { "@backtrace-labs/sourcemap-tools": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sourcemap-tools/-/sourcemap-tools-0.0.2.tgz", - "integrity": "sha512-eYkFR0MC/FIDLSfDcpY+6LLZcZmLZwCsivlU1PTt2UJItnO17jHOshCAFmyYJ0jykGdmE5Y5qr0RHCtsgJd6wA==", "requires": { "source-map": "^0.7.4", "tar-stream": "^3.1.6" @@ -12978,8 +13026,6 @@ }, "tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "requires": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -13556,6 +13602,16 @@ "@types/estree": { "version": "1.0.1" }, + "@types/fs-extra": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz", + "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", + "dev": true, + "requires": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, "@types/graceful-fs": { "version": "4.1.6", "dev": true, @@ -13624,6 +13680,15 @@ "version": "0.0.29", "dev": true }, + "@types/jsonfile": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz", + "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/node": { "version": "14.18.58" }, @@ -14236,9 +14301,7 @@ "dev": true }, "b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "version": "1.6.4" }, "babel-jest": { "version": "29.6.4", @@ -15294,6 +15357,7 @@ }, "error-ex": { "version": "1.3.2", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -15834,9 +15898,7 @@ "version": "3.1.3" }, "fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "version": "1.3.2" }, "fast-glob": { "version": "3.3.1", @@ -15866,7 +15928,8 @@ "dev": true }, "fast-safe-stringify": { - "version": "2.1.1" + "version": "2.1.1", + "dev": true }, "fastest-levenshtein": { "version": "1.0.16", @@ -16083,6 +16146,25 @@ "version": "1.0.0", "dev": true }, + "fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "fs-write-stream-atomic": { "version": "1.0.10", "dev": true, @@ -16479,7 +16561,8 @@ } }, "is-arrayish": { - "version": "0.2.1" + "version": "0.2.1", + "dev": true }, "is-bigint": { "version": "1.0.4", @@ -17385,7 +17468,8 @@ "dev": true }, "json-parse-better-errors": { - "version": "1.0.2" + "version": "1.0.2", + "dev": true }, "json-parse-even-better-errors": { "version": "2.3.1" @@ -17410,6 +17494,7 @@ }, "jsonc": { "version": "2.0.0", + "dev": true, "requires": { "fast-safe-stringify": "^2.0.6", "graceful-fs": "^4.1.15", @@ -17421,13 +17506,33 @@ "dependencies": { "parse-json": { "version": "4.0.0", + "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "strip-bom": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true + } + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, @@ -17629,7 +17734,8 @@ } }, "minimist": { - "version": "1.2.8" + "version": "1.2.8", + "dev": true }, "minipass": { "version": "7.0.3" @@ -17660,6 +17766,7 @@ }, "mkdirp": { "version": "0.5.6", + "dev": true, "requires": { "minimist": "^1.2.6" } @@ -18302,9 +18409,7 @@ "dev": true }, "queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + "version": "1.0.1" }, "randombytes": { "version": "2.1.0", @@ -18974,8 +19079,6 @@ }, "streamx": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", "requires": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" @@ -19089,7 +19192,8 @@ "dev": true }, "strip-json-comments": { - "version": "3.1.1" + "version": "3.1.1", + "dev": true }, "supports-color": { "version": "7.2.0", diff --git a/tools/cli/jest.config.js b/tools/cli/jest.config.js new file mode 100644 index 00000000..b413e106 --- /dev/null +++ b/tools/cli/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/tools/cli/package.json b/tools/cli/package.json index b2000dbc..bd199ec1 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -17,7 +17,8 @@ "lint": "eslint . --ext .ts", "prepublishOnly": "NODE_ENV=production npm run build", "watch": "tsc -w", - "start": "node lib/index.js" + "start": "node lib/index.js", + "test": "NODE_ENV=test jest" }, "repository": { "type": "git", @@ -47,11 +48,16 @@ "@backtrace-labs/sourcemap-tools": "^0.0.4", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" + "glob": "^10.3.3" }, "devDependencies": { "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2" + "@types/command-line-usage": "^5.0.2", + "@types/fs-extra": "^11.0.1", + "fs-extra": "^11.1.1", + "jest": "^29.5.0", + "jsonc": "^2.0.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } } diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index 2d4e97c2..aeeed7ef 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -122,6 +122,7 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C .then(logTraceAsset('loading sourcemap')) .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) .then(logDebugAsset('loaded sourcemap')) + .thenErr((err) => `${asset.name}: ${err}`) .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))).inner; const doesSourceMapHaveSourcesCommand = (asset: AssetWithContent) => diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index c1270792..6c18efa9 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -14,7 +14,7 @@ import { } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; -import { Command } from '../commands/Command'; +import { Command, CommandContext } from '../commands/Command'; import { toAsset } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { find } from '../helpers/find'; @@ -84,139 +84,141 @@ export const runCmd = new Command({ type: Boolean, description: 'Exits with zero exit code if no sourcemaps are found.', }) - .execute(async function ({ opts, logger, getHelpMessage }) { - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - const configPath = opts.config ?? (await findConfig()); - if (!configPath) { - return Err('cannot find config file'); - } - - logger.debug(`reading config from ${configPath}`); - - const configResult = await loadOptionsForCommand(configPath)('run'); - if (configResult.isErr()) { - return configResult; - } - - const config = configResult.data; - if (!config) { - logger.info(getHelpMessage()); - return Err('cannot read config file'); - } - - opts = { - ...config, - ...opts, - path: opts.path ?? (config.path ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), - }; - - logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - - const runProcess = opts.process; - const runAddSources = opts['add-sources']; - const runUpload = opts.upload; - if (!runAddSources && !runUpload && !runProcess) { - logger.info(getHelpMessage()); - return Err('--process, --add-sources and/or --upload must be specified'); - } - - const searchPaths = normalizePaths(opts.path, process.cwd()); - if (!searchPaths.length) { - logger.info(getHelpMessage()); - return Err('path must be specified'); - } - - const logInfo = log(logger, 'info'); - const logDebug = log(logger, 'debug'); - const logTrace = log(logger, 'trace'); - const logTraceAsset = logAsset(logger, 'trace'); - - const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); - if (assetErrorBehaviorResult.isErr()) { - logger.info(getHelpMessage()); - return assetErrorBehaviorResult; - } - - const assetErrorBehavior = assetErrorBehaviorResult.data; - - const handleFailedAsset = handleError(assetErrorBehavior); - - const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => - logAsset(logger, level)(err)(asset); - - const getSourceMapPathCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('reading sourcemap path')) - .then(getSourceMapPath(sourceProcessor)) - .then((sourceMapPath) => ({ ...asset, sourceMapPath })) - .then(logTraceAsset('read sourcemap path')) - .thenErr(handleFailedAsset(logAssetBehaviorError(asset))).inner; - - const processCommand = (assets: AssetWithSourceMapPath[]) => - AsyncResult.fromValue(assets) - .then(logDebug(`running process...`)) - .then((assets) => - assets.length - ? processSources({ - opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.path) }, - getHelpMessage, - logger: logger.clone({ prefix: 'process:' }), - }) - : Ok([]), - ) - .then(logInfo((results) => `processed ${results.length} files`)) - .then(() => assets).inner; - - const addSourcesCommand = (assets: AssetWithSourceMapPath[]) => - AsyncResult.fromValue(assets) - .then(logDebug(`running add-sources...`)) - .then((assets) => - assets.length - ? addSourcesToSourcemaps({ - opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.sourceMapPath) }, - getHelpMessage, - logger: logger.clone({ prefix: 'add-sources:' }), - }) - : Ok([]), - ) - .then(logInfo((results) => `added sources to ${results.length} files`)) - .then(() => assets).inner; - - const uploadCommand = (assets: AssetWithSourceMapPath[]) => - AsyncResult.fromValue(assets) - .then(logDebug(`running upload...`)) - .then((assets) => - assets.length - ? uploadSourcemaps({ - opts: { ...opts, path: assets.map((a) => a.sourceMapPath) }, - getHelpMessage, - logger: logger.clone({ prefix: 'upload:' }), - }) - : Ok(null), - ) - .then( - logInfo((result) => - result ? `uploaded ${result.assets.length} files: ${result.rxid}` : `no files uploaded`, - ), - ) - .then(() => assets).inner; - - return AsyncResult.equip(find(...searchPaths)) - .then(logTrace((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} source files`)) - .then(map(logTrace((path) => `found source file: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) - .then(map(toAsset)) - .then(map(getSourceMapPathCommand)) - .then(filterBehaviorSkippedElements) - .then(map(printAssetInfo(logger))) - .then(runProcess ? processCommand : Ok) - .then(runAddSources ? addSourcesCommand : Ok) - .then(runUpload ? uploadCommand : Ok).inner; - }); + .execute(runSourcemapCommands); + +export async function runSourcemapCommands({ opts, logger, getHelpMessage }: CommandContext) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const configPath = opts.config ?? (await findConfig()); + if (!configPath) { + return Err('cannot find config file'); + } + + logger.debug(`reading config from ${configPath}`); + + const configResult = await loadOptionsForCommand(configPath)('run'); + if (configResult.isErr()) { + return configResult; + } + + const config = configResult.data; + if (!config) { + logger.info(getHelpMessage()); + return Err('cannot read config file'); + } + + opts = { + ...config, + ...opts, + path: opts.path ?? (config.path ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), + }; + + logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); + + const runProcess = opts.process; + const runAddSources = opts['add-sources']; + const runUpload = opts.upload; + if (!runAddSources && !runUpload && !runProcess) { + logger.info(getHelpMessage()); + return Err('--process, --add-sources and/or --upload must be specified'); + } + + const searchPaths = normalizePaths(opts.path, process.cwd()); + if (!searchPaths.length) { + logger.info(getHelpMessage()); + return Err('path must be specified'); + } + + const logInfo = log(logger, 'info'); + const logDebug = log(logger, 'debug'); + const logTrace = log(logger, 'trace'); + const logTraceAsset = logAsset(logger, 'trace'); + + const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); + if (assetErrorBehaviorResult.isErr()) { + logger.info(getHelpMessage()); + return assetErrorBehaviorResult; + } + + const assetErrorBehavior = assetErrorBehaviorResult.data; + + const handleFailedAsset = handleError(assetErrorBehavior); + + const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => + logAsset(logger, level)(err)(asset); + + const getSourceMapPathCommand = (asset: Asset) => + AsyncResult.fromValue(asset) + .then(logTraceAsset('reading sourcemap path')) + .then(getSourceMapPath(sourceProcessor)) + .then((sourceMapPath) => ({ ...asset, sourceMapPath })) + .then(logTraceAsset('read sourcemap path')) + .thenErr(handleFailedAsset(logAssetBehaviorError(asset))).inner; + + const processCommand = (assets: AssetWithSourceMapPath[]) => + AsyncResult.fromValue(assets) + .then(logDebug(`running process...`)) + .then((assets) => + assets.length + ? processSources({ + opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.path) }, + getHelpMessage, + logger: logger.clone({ prefix: 'process:' }), + }) + : Ok([]), + ) + .then(logInfo((results) => `processed ${results.length} files`)) + .then(() => assets).inner; + + const addSourcesCommand = (assets: AssetWithSourceMapPath[]) => + AsyncResult.fromValue(assets) + .then(logDebug(`running add-sources...`)) + .then((assets) => + assets.length + ? addSourcesToSourcemaps({ + opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.sourceMapPath) }, + getHelpMessage, + logger: logger.clone({ prefix: 'add-sources:' }), + }) + : Ok([]), + ) + .then(logInfo((results) => `added sources to ${results.length} files`)) + .then(() => assets).inner; + + const uploadCommand = (assets: AssetWithSourceMapPath[]) => + AsyncResult.fromValue(assets) + .then(logDebug(`running upload...`)) + .then((assets) => + assets.length + ? uploadSourcemaps({ + opts: { ...opts, path: assets.map((a) => a.sourceMapPath) }, + getHelpMessage, + logger: logger.clone({ prefix: 'upload:' }), + }) + : Ok(null), + ) + .then( + logInfo((result) => + result ? `uploaded ${result.assets.length} files: ${result.rxid}` : `no files uploaded`, + ), + ) + .then(() => assets).inner; + + return AsyncResult.equip(find(...searchPaths)) + .then(logTrace((r) => `found ${r.length} files`)) + .then(map(logTrace((result) => `found file: ${result.path}`))) + .then(filter((t) => t.direct || matchSourceExtension(t.path))) + .then(map((t) => t.path)) + .then(logDebug((r) => `found ${r.length} source files`)) + .then(map(logTrace((path) => `found source file: ${path}`))) + .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) + .then(map(toAsset)) + .then(map(getSourceMapPathCommand)) + .then(filterBehaviorSkippedElements) + .then(map(printAssetInfo(logger))) + .then(runProcess ? processCommand : Ok) + .then(runAddSources ? addSourcesCommand : Ok) + .then(runUpload ? uploadCommand : Ok).inner; +} function getSourceMapPath(sourceProcessor: SourceProcessor) { return function getSourceMapPath(asset: Asset) { diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 9a5eaad3..3dd50610 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -41,7 +41,7 @@ export interface UploadOptions extends GlobalOptions { readonly subdomain: string; readonly token: string; readonly path: string | string[]; - readonly 'include-sources': string; + readonly 'include-sources': boolean; readonly insecure: boolean; readonly 'dry-run': boolean; readonly force: boolean; @@ -213,6 +213,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) .then(logDebugAsset('loaded sourcemap')) .then(opts['include-sources'] ? pass : stripSourcesContent) + .thenErr((err) => `${asset.name}: ${err}`) .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))).inner; const createArchiveCommand = (assets: AssetWithContent[]) => @@ -247,7 +248,6 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command // Finally, we return the upload request promise const result = await promise; - console.log(result); return result; }) .then((result) => ({ ...result, assets: archive.assets })) @@ -282,11 +282,16 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process first'), ) - .then(createArchiveCommand) - .then((archive) => - opts['dry-run'] - ? Ok({ rxid: '', assets: archive.assets }) - : saveArchiveCommand(archive), + .then((assets) => + !assets.length + ? Ok({ rxid: '', assets }) + : AsyncResult.fromValue[], string>(assets) + .then(createArchiveCommand) + .then((archive) => + opts['dry-run'] + ? Ok({ rxid: '', assets: archive.assets }) + : saveArchiveCommand(archive), + ).inner, ).inner; } diff --git a/tools/cli/tests/_files/.gitignore b/tools/cli/tests/_files/.gitignore new file mode 100644 index 00000000..751a73bc --- /dev/null +++ b/tools/cli/tests/_files/.gitignore @@ -0,0 +1 @@ +_working-copy-* \ No newline at end of file diff --git a/tools/cli/tests/_files/invalid/invalid1.js b/tools/cli/tests/_files/invalid/invalid1.js new file mode 100644 index 00000000..7b14c00b --- /dev/null +++ b/tools/cli/tests/_files/invalid/invalid1.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=NOT_EXISTING.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/invalid/invalid1.js.map b/tools/cli/tests/_files/invalid/invalid1.js.map new file mode 100644 index 00000000..b8662f55 --- /dev/null +++ b/tools/cli/tests/_files/invalid/invalid1.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "NOT_EXISTING.ts", + "NOPE.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/invalid/invalid2.js b/tools/cli/tests/_files/invalid/invalid2.js new file mode 100644 index 00000000..18fa080e --- /dev/null +++ b/tools/cli/tests/_files/invalid/invalid2.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=INVALID_PATH.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/invalid/invalid2.js.map b/tools/cli/tests/_files/invalid/invalid2.js.map new file mode 100644 index 00000000..b17be7e8 --- /dev/null +++ b/tools/cli/tests/_files/invalid/invalid2.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "NOT_GONNA.work", + "UH-UH.nope" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/no-sourcemaps/entry1.js b/tools/cli/tests/_files/no-sourcemaps/entry1.js new file mode 100644 index 00000000..7f7e9837 --- /dev/null +++ b/tools/cli/tests/_files/no-sourcemaps/entry1.js @@ -0,0 +1,6 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); \ No newline at end of file diff --git a/tools/cli/tests/_files/no-sourcemaps/entry2.js b/tools/cli/tests/_files/no-sourcemaps/entry2.js new file mode 100644 index 00000000..53e7664d --- /dev/null +++ b/tools/cli/tests/_files/no-sourcemaps/entry2.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/original/entry1.js b/tools/cli/tests/_files/original/entry1.js new file mode 100644 index 00000000..04ca8bd0 --- /dev/null +++ b/tools/cli/tests/_files/original/entry1.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=entry1.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/original/entry1.js.map b/tools/cli/tests/_files/original/entry1.js.map new file mode 100644 index 00000000..beb2bae4 --- /dev/null +++ b/tools/cli/tests/_files/original/entry1.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/original/entry2.js b/tools/cli/tests/_files/original/entry2.js new file mode 100644 index 00000000..53e7664d --- /dev/null +++ b/tools/cli/tests/_files/original/entry2.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/original/entry2.js.map b/tools/cli/tests/_files/original/entry2.js.map new file mode 100644 index 00000000..dfa7ab56 --- /dev/null +++ b/tools/cli/tests/_files/original/entry2.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/processed-with-sources/entry1.js b/tools/cli/tests/_files/processed-with-sources/entry1.js new file mode 100644 index 00000000..b794798d --- /dev/null +++ b/tools/cli/tests/_files/processed-with-sources/entry1.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=entry1.js.map +//# debugId=4fe9a5c9-ab48-b240-9469-04aa2db251b6 \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-with-sources/entry1.js.map b/tools/cli/tests/_files/processed-with-sources/entry1.js.map new file mode 100644 index 00000000..3d5e7249 --- /dev/null +++ b/tools/cli/tests/_files/processed-with-sources/entry1.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "4fe9a5c9-ab48-b240-9469-04aa2db251b6", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 1!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/processed-with-sources/entry2.js b/tools/cli/tests/_files/processed-with-sources/entry2.js new file mode 100644 index 00000000..37540d13 --- /dev/null +++ b/tools/cli/tests/_files/processed-with-sources/entry2.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map +//# debugId=d538bdaa-8149-8111-25f0-b5c0f472366a \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-with-sources/entry2.js.map b/tools/cli/tests/_files/processed-with-sources/entry2.js.map new file mode 100644 index 00000000..aded2489 --- /dev/null +++ b/tools/cli/tests/_files/processed-with-sources/entry2.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "d538bdaa-8149-8111-25f0-b5c0f472366a", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 2!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/processed/entry1.js b/tools/cli/tests/_files/processed/entry1.js new file mode 100644 index 00000000..b794798d --- /dev/null +++ b/tools/cli/tests/_files/processed/entry1.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=entry1.js.map +//# debugId=4fe9a5c9-ab48-b240-9469-04aa2db251b6 \ No newline at end of file diff --git a/tools/cli/tests/_files/processed/entry1.js.map b/tools/cli/tests/_files/processed/entry1.js.map new file mode 100644 index 00000000..25df1904 --- /dev/null +++ b/tools/cli/tests/_files/processed/entry1.js.map @@ -0,0 +1,12 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "4fe9a5c9-ab48-b240-9469-04aa2db251b6" +} diff --git a/tools/cli/tests/_files/processed/entry2.js b/tools/cli/tests/_files/processed/entry2.js new file mode 100644 index 00000000..37540d13 --- /dev/null +++ b/tools/cli/tests/_files/processed/entry2.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map +//# debugId=d538bdaa-8149-8111-25f0-b5c0f472366a \ No newline at end of file diff --git a/tools/cli/tests/_files/processed/entry2.js.map b/tools/cli/tests/_files/processed/entry2.js.map new file mode 100644 index 00000000..7fc279e7 --- /dev/null +++ b/tools/cli/tests/_files/processed/entry2.js.map @@ -0,0 +1,12 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "d538bdaa-8149-8111-25f0-b5c0f472366a" +} diff --git a/tools/cli/tests/_files/sources/dependency.ts b/tools/cli/tests/_files/sources/dependency.ts new file mode 100644 index 00000000..ac1683a5 --- /dev/null +++ b/tools/cli/tests/_files/sources/dependency.ts @@ -0,0 +1,3 @@ +export function doSomething() { + console.log('Done something'); +} diff --git a/tools/cli/tests/_files/sources/entry1.ts b/tools/cli/tests/_files/sources/entry1.ts new file mode 100644 index 00000000..1edefc42 --- /dev/null +++ b/tools/cli/tests/_files/sources/entry1.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World Entry 1!'); +doSomething(); diff --git a/tools/cli/tests/_files/sources/entry2.ts b/tools/cli/tests/_files/sources/entry2.ts new file mode 100644 index 00000000..1e3136ba --- /dev/null +++ b/tools/cli/tests/_files/sources/entry2.ts @@ -0,0 +1,4 @@ +import { doSomething } from './dependency'; + +console.log('Hello World Entry 2!'); +doSomething(); diff --git a/tools/cli/tests/_files/with-sources/entry1.js b/tools/cli/tests/_files/with-sources/entry1.js new file mode 100644 index 00000000..04ca8bd0 --- /dev/null +++ b/tools/cli/tests/_files/with-sources/entry1.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=entry1.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/with-sources/entry1.js.map b/tools/cli/tests/_files/with-sources/entry1.js.map new file mode 100644 index 00000000..21f8b3fc --- /dev/null +++ b/tools/cli/tests/_files/with-sources/entry1.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 1!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/with-sources/entry2.js b/tools/cli/tests/_files/with-sources/entry2.js new file mode 100644 index 00000000..53e7664d --- /dev/null +++ b/tools/cli/tests/_files/with-sources/entry2.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/with-sources/entry2.js.map b/tools/cli/tests/_files/with-sources/entry2.js.map new file mode 100644 index 00000000..0c7907d3 --- /dev/null +++ b/tools/cli/tests/_files/with-sources/entry2.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 2!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_helpers/common.ts b/tools/cli/tests/_helpers/common.ts new file mode 100644 index 00000000..d081a121 --- /dev/null +++ b/tools/cli/tests/_helpers/common.ts @@ -0,0 +1,18 @@ +import { Ok, SymbolUploader } from '@backtrace-labs/sourcemap-tools'; +import { Transform } from 'stream'; + +export function getHelpMessage() { + return ''; +} + +export function mockUploader(rxid = 'rxid') { + const blackhole = new Transform({ + transform(_, __, callback) { + callback(); + }, + }); + + return jest.spyOn(SymbolUploader.prototype, 'uploadSymbol').mockImplementation(async (readable) => { + return new Promise((resolve) => readable.pipe(blackhole).on('finish', () => resolve(Ok({ rxid })))); + }); +} diff --git a/tools/cli/tests/_helpers/testFiles.ts b/tools/cli/tests/_helpers/testFiles.ts new file mode 100644 index 00000000..b5d131c5 --- /dev/null +++ b/tools/cli/tests/_helpers/testFiles.ts @@ -0,0 +1,70 @@ +import assert from 'assert'; +import crypto, { randomBytes } from 'crypto'; +import fs from 'fs'; +import fsExtra from 'fs-extra'; +import path from 'path'; + +export type TestFiles = + | 'no-sourcemaps' + | 'original' + | 'processed' + | 'processed-with-sources' + | 'with-sources' + | 'invalid'; + +export const TEST_FILE_DIR = path.join(__dirname, '../_files'); + +function createWorkingCopy(source: TestFiles, outputDir: string) { + const sourceDir = path.join(TEST_FILE_DIR, source); + fsExtra.copySync(sourceDir, outputDir); +} + +export function withWorkingCopy(sources: TestFiles | TestFiles[], fn: (path: string) => void | Promise) { + return async function _withWorkingCopy() { + const workingCopy = path.join(TEST_FILE_DIR, `_working-copy-${randomBytes(4).toString('hex')}`); + + if (Array.isArray(sources)) { + for (const source of sources) { + createWorkingCopy(source, workingCopy); + } + } else { + createWorkingCopy(sources, workingCopy); + } + + try { + await fn(workingCopy); + } finally { + fsExtra.removeSync(workingCopy); + } + }; +} +export async function hashFiles(files: string[]) { + const hashes = await Promise.all(files.map(hashFile)); + + const hash = crypto.createHash('sha1'); + return hashes.reduce((hasher, hash) => hasher.update(hash), hash).digest('hex'); +} + +export async function hashFile(file: string) { + const hash = crypto.createHash('sha1').setEncoding('hex'); + const fd = fs.createReadStream(file); + + const endPromise = new Promise((resolve) => fd.on('end', resolve)); + + fd.pipe(hash); + await endPromise; + return hash.read() as string; +} + +export async function hashEachFile(files: string[]): Promise> { + return Object.fromEntries(await Promise.all(files.map(async (file) => [file, await hashFile(file)] as const))); +} + +export function expectHashesToChange(hashes1: Record, hashes2: Record) { + for (const key in hashes1) { + assert(hashes1[key]); + assert(hashes2[key]); + + expect(hashes2[key]).not.toEqual(hashes1[key]); + } +} diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts new file mode 100644 index 00000000..7e76bf54 --- /dev/null +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -0,0 +1,351 @@ +import { SourceProcessor } from '@backtrace-labs/sourcemap-tools'; +import assert from 'assert'; +import { glob } from 'glob'; +import { CliLogger } from '../../src/logger'; +import { addSourcesToSourcemaps } from '../../src/sourcemaps/add-sources'; +import { getHelpMessage } from '../_helpers/common'; +import { expectHashesToChange, hashEachFile, hashFiles, withWorkingCopy } from '../_helpers/testFiles'; + +describe('add-sources', () => { + describe('returning value', () => { + it( + 'should return processed sourcemaps', + withWorkingCopy('original', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = await glob(`${workingDir}/*.js.map`); + expect(result.data.map((d) => d.path)).toEqual(expect.arrayContaining(expected)); + }), + ); + + it( + 'should return only valid processed sourcemaps with asset-error-behavior=skip', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'asset-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = await glob(`${workingDir}/entry*.js.map`); + expect(result.data.map((d) => d.path)).toEqual(expect.arrayContaining(expected)); + }), + ); + }); + + describe('sourcemaps without sourcesContent', () => { + it( + 'should not fail', + withWorkingCopy('original', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemap paths', + withWorkingCopy('original', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'addSourcesToSourceMap'); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js.map`); + + for (const file of files) { + expect(spy).toBeCalledWith(expect.anything(), file); + } + }), + ); + + it( + 'should modify sourcesmaps in place', + withWorkingCopy('original', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); + + describe('no matching sourcemaps', () => { + it('should fail with no sourcemaps found', async () => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('no sourcemaps found'); + }); + + it('should not fail when pass-with-no-files is true', async () => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + 'pass-with-no-files': true, + }, + }); + + assert(result.isOk(), result.data as string); + }); + }); + + describe('sourcemaps with sourcesContent', () => { + it( + 'should fail with no sourcemaps found', + withWorkingCopy('with-sources', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('no sourcemaps without sources found, use --force to overwrite sources'); + }), + ); + + it( + 'should not fail with force', + withWorkingCopy('with-sources', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + force: true, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemaps with force', + withWorkingCopy('with-sources', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'addSourcesToSourceMap'); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + force: true, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js.map`); + + for (const file of files) { + expect(spy).toBeCalledWith(expect.anything(), file); + } + }), + ); + + it( + 'should modify sourcesmaps in place with force', + withWorkingCopy('with-sources', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + force: true, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); + + describe('sourcemaps resolved from sources', () => { + it( + 'should not fail', + withWorkingCopy('original', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemaps', + withWorkingCopy('original', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'addSourcesToSourceMap'); + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js.map`); + + for (const file of files) { + expect(spy).toBeCalledWith(expect.anything(), file); + } + }), + ); + }); + + describe('dry run', () => { + it( + 'should not modify content', + withWorkingCopy('original', async (workingDir) => { + const files = await glob(`${workingDir}/*`); + const expected = await hashFiles(files); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'dry-run': true, + }, + }); + + assert(result.isOk(), 'add-sources failed'); + + const actual = await hashFiles(files); + expect(actual).toEqual(expected); + }), + 20000, + ); + }); + + describe('invalid files', () => { + it( + 'should fail with first invalid file', + withWorkingCopy('invalid', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toMatch(/invalid1\.js\.map/); + }), + ); + + it( + 'should not change anything with invalid files', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const files = await glob(`${workingDir}/*`); + const expected = await hashFiles(files); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [workingDir], + }, + }); + + assert(result.isErr(), 'result should be an error'); + + const actual = await hashFiles(files); + expect(actual).toEqual(expected); + }), + ); + + it( + 'should not fail with asset-error-behavior=skip', + withWorkingCopy('invalid', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'asset-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should modify valid sourcemaps in place with asset-error-behavior=skip', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/entry*.js.map`)); + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'asset-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/entry*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); +}); diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts new file mode 100644 index 00000000..c34d4e7e --- /dev/null +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -0,0 +1,332 @@ +import { SourceProcessor } from '@backtrace-labs/sourcemap-tools'; +import assert from 'assert'; +import { glob } from 'glob'; +import { CliLogger } from '../../src/logger'; +import { processSources } from '../../src/sourcemaps/process'; +import { getHelpMessage } from '../_helpers/common'; +import { expectHashesToChange, hashEachFile, hashFiles, withWorkingCopy } from '../_helpers/testFiles'; + +describe('process', () => { + describe('returning value', () => { + it( + 'should return processed sources', + withWorkingCopy('original', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = await glob(`${workingDir}/*.js`); + expect(result.data.map((d) => d.asset.path)).toEqual(expect.arrayContaining(expected)); + }), + ); + + it( + 'should return only valid processed sources with asset-error-behavior=skip', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'asset-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = await glob(`${workingDir}/entry*.js`); + expect(result.data.map((d) => d.asset.path)).toEqual(expect.arrayContaining(expected)); + }), + ); + }); + + describe('unprocessed sources', () => { + it( + 'should not fail', + withWorkingCopy('original', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sources', + withWorkingCopy('original', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMapFiles'); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js`); + + for (const file of files) { + expect(spy).toBeCalledWith(file); + } + }), + ); + + it( + 'should modify sources in place', + withWorkingCopy('original', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + + it( + 'should modify sourcemaps in place', + withWorkingCopy('original', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); + + describe('no matching sources', () => { + it('should fail with no sources found', async () => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('no source files found'); + }); + + it('should not fail when pass-with-no-files is true', async () => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + 'pass-with-no-files': true, + }, + }); + + assert(result.isOk(), result.data as string); + }); + }); + + describe('already processed sources', () => { + it( + 'should fail with no sources found', + withWorkingCopy('processed', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('no files for processing found, they may be already processed'); + }), + ); + + it( + 'should not fail with force', + withWorkingCopy('processed', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + force: true, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sources with force', + withWorkingCopy('processed', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMapFiles'); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + force: true, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js`); + + for (const file of files) { + expect(spy).toBeCalledWith(file); + } + }), + ); + + it( + 'should modify valid sources and sourcemaps in place with force', + withWorkingCopy('processed', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/entry*.*`)); + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + force: true, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/entry*.*`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); + + describe('dry run', () => { + it( + 'should not modify content', + withWorkingCopy('original', async (workingDir) => { + const files = await glob(`${workingDir}/*`); + const expected = await hashFiles(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'dry-run': true, + }, + }); + + assert(result.isOk(), 'add-sources failed'); + + const actual = await hashFiles(files); + expect(actual).toEqual(expected); + }), + 20000, + ); + }); + + describe('invalid files', () => { + it( + 'should fail with first invalid file', + withWorkingCopy('invalid', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toMatch(/invalid1\.js/); + }), + ); + + it( + 'should not change anything with invalid files', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const files = await glob(`${workingDir}/*`); + const expected = await hashFiles(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [workingDir], + }, + }); + + assert(result.isErr(), 'result should be an error'); + + const actual = await hashFiles(files); + expect(actual).toEqual(expected); + }), + ); + + it( + 'should not fail with asset-error-behavior=skip', + withWorkingCopy('invalid', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'asset-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should modify valid sources and sourcemaps in place with asset-error-behavior=skip', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/entry*.*`)); + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'asset-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/entry*.*`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); +}); diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts new file mode 100644 index 00000000..cf3ad69d --- /dev/null +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -0,0 +1,368 @@ +import assert from 'assert'; +import { randomUUID } from 'crypto'; +import fs from 'fs'; +import { glob } from 'glob'; +import path from 'path'; +import { CliLogger } from '../../src/logger'; +import { CliOptions } from '../../src/options/models/CliOptions'; +import * as addSourcesCmd from '../../src/sourcemaps/add-sources'; +import * as processCmd from '../../src/sourcemaps/process'; +import { runSourcemapCommands } from '../../src/sourcemaps/run'; +import * as uploadCmd from '../../src/sourcemaps/upload'; +import { getHelpMessage, mockUploader } from '../_helpers/common'; +import { hashFiles, withWorkingCopy } from '../_helpers/testFiles'; + +async function mockOptions(workingDir: string, options: CliOptions) { + const configName = `${randomUUID()}.backtracejsrc`; + const fullPath = path.join(workingDir, configName); + fs.promises.writeFile(fullPath, JSON.stringify(options)); + return fullPath; +} + +describe('run', () => { + beforeEach(() => { + mockUploader(); + }); + + describe('returning values', () => { + it( + 'should return processed sources and sourcemap paths', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = [...(await glob(`${workingDir}/*.js`)), ...(await glob(`${workingDir}/*.js.map`))]; + expect(result.data.flatMap((d) => [d.path, d.sourceMapPath])).toEqual(expect.arrayContaining(expected)); + }), + ); + + it( + 'should return only valid processed sources and sourcemap paths with asset-error-behavior=skip', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + 'asset-error-behavior': 'skip', + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = [ + ...(await glob(`${workingDir}/entry*.js`)), + ...(await glob(`${workingDir}/entry*.js.map`)), + ]; + expect(result.data.flatMap((d) => [d.path, d.sourceMapPath])).toEqual(expect.arrayContaining(expected)); + }), + ); + }); + + describe('commands', () => { + it( + 'should call process when process=true', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const processSpy = jest.spyOn(processCmd, 'processSources'); + processSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + expect(processSpy).toBeCalled(); + }), + ); + + it( + 'should not call process when process=false', + withWorkingCopy('processed', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: false, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const processSpy = jest.spyOn(processCmd, 'processSources'); + processSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + expect(processSpy).not.toBeCalled(); + }), + ); + + it( + 'should call add-sources when add-sources=true', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const addSourcesSpy = jest.spyOn(addSourcesCmd, 'addSourcesToSourcemaps'); + addSourcesSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + expect(addSourcesSpy).toBeCalled(); + }), + ); + + it( + 'should not call add-sources when add-sources=false', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': false, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const addSourcesSpy = jest.spyOn(addSourcesCmd, 'addSourcesToSourcemaps'); + addSourcesSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + expect(addSourcesSpy).not.toBeCalled(); + }), + ); + + it( + 'should call upload when upload=true', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const uploadSpy = jest.spyOn(uploadCmd, 'uploadSourcemaps'); + uploadSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).toBeCalled(); + }), + ); + + it( + 'should not call upload when upload=false', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: false, + }, + upload: { + url: 'https://test', + }, + }); + + const uploadSpy = jest.spyOn(uploadCmd, 'uploadSourcemaps'); + uploadSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).not.toBeCalled(); + }), + ); + + it( + 'should fail when none commands are enabled', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': false, + process: false, + upload: false, + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('--process, --add-sources and/or --upload must be specified'); + }), + ); + }); + + describe('invalid files', () => { + it( + 'should fail with first invalid file', + withWorkingCopy('invalid', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toMatch(/invalid1\.js/); + }), + ); + + it( + 'should not change anything with invalid files', + withWorkingCopy('invalid', async (workingDir) => { + const files = await glob(`${workingDir}/*`); + const expected = await hashFiles(files); + + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isErr(), 'result should be an error'); + + const actual = await hashFiles(files); + expect(actual).toEqual(expected); + }), + ); + }); +}); diff --git a/tools/cli/tests/sourcemaps/upload.spec.ts b/tools/cli/tests/sourcemaps/upload.spec.ts new file mode 100644 index 00000000..4c763082 --- /dev/null +++ b/tools/cli/tests/sourcemaps/upload.spec.ts @@ -0,0 +1,404 @@ +import { RawSourceMap, ZipArchive } from '@backtrace-labs/sourcemap-tools'; +import assert from 'assert'; +import { randomUUID } from 'crypto'; +import fs from 'fs'; +import { glob } from 'glob'; +import path from 'path'; +import { CliLogger } from '../../src/logger'; +import { uploadSourcemaps } from '../../src/sourcemaps/upload'; +import { getHelpMessage, mockUploader } from '../_helpers/common'; +import { withWorkingCopy } from '../_helpers/testFiles'; + +describe('upload', () => { + beforeEach(() => { + mockUploader(); + }); + + describe('returning value', () => { + it( + 'should return rxid result', + withWorkingCopy('processed', async (workingDir) => { + const rxid = randomUUID(); + mockUploader(rxid); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + expect(result.data.rxid).toEqual(rxid); + }), + ); + + it( + 'should return archive output result', + withWorkingCopy('processed', async (workingDir) => { + const outputName = `${workingDir}/${randomUUID()}.tar.gz`; + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + output: outputName, + }, + }); + + assert(result.isOk(), result.data as string); + expect(result.data.rxid).toEqual(outputName); + }), + ); + }); + + describe('processed sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('processed', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should append sourcemaps to archive', + withWorkingCopy('processed', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js.map`); + for (const file of files) { + expect(appendSpy).toHaveBeenCalledWith( + expect.stringContaining(path.basename(file)), + expect.anything(), + ); + } + }), + ); + + it( + 'should call upload with archive', + withWorkingCopy('processed', async (workingDir) => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).toHaveBeenCalledWith(expect.any(ZipArchive)); + }), + ); + + it( + 'should append sourcemaps without sources to archive', + withWorkingCopy('processed-with-sources', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + + expect(appendSpy).toBeCalled(); + for (const call of appendSpy.mock.calls) { + const sourceMap = JSON.parse(call[1]) as RawSourceMap; + expect(sourceMap.sourcesContent).toBeUndefined(); + } + }), + ); + }); + + describe('no matching sourcemaps', () => { + it('should fail with no sourcemaps found', async () => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + url: 'https://test', + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('no sourcemaps found'); + }); + + it('should not fail when pass-with-no-files is true', async () => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + url: 'https://test', + 'pass-with-no-files': true, + }, + }); + + assert(result.isOk(), result.data as string); + }); + + it('should not call upload when pass-with-no-files is true', async () => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + url: 'https://test', + 'pass-with-no-files': true, + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).not.toBeCalled(); + }); + + it('should return as rxid when pass-with-no-files is true', async () => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: '*.nope_does_not_exist', + url: 'https://test', + 'pass-with-no-files': true, + }, + }); + + assert(result.isOk(), result.data as string); + expect(result.data.rxid).toEqual(''); + }); + }); + + describe('unprocessed sourcemaps', () => { + it( + 'should fail with no sourcemaps found', + withWorkingCopy('original', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + }, + }); + + assert(result.isErr(), 'result should be an error'); + expect(result.data).toEqual('no processed sourcemaps found, make sure to run process first'); + }), + ); + }); + + describe('dry run', () => { + it( + 'should not call upload', + withWorkingCopy('processed', async (workingDir) => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + 'dry-run': true, + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).not.toBeCalled(); + }), + ); + it( + 'should return as rxid', + withWorkingCopy('processed', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + 'dry-run': true, + }, + }); + + assert(result.isOk(), result.data as string); + expect(result.data.rxid).toEqual(''); + }), + ); + }); + + describe('sourcemaps resolved from sources', () => { + it( + 'should not fail', + withWorkingCopy('processed', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should append sourcemaps to archive', + withWorkingCopy('processed', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js.map`); + for (const file of files) { + expect(appendSpy).toHaveBeenCalledWith( + expect.stringContaining(path.basename(file)), + expect.anything(), + ); + } + }), + ); + }); + + describe('include sources', () => { + it( + 'should append sourcemaps with sources to archive', + withWorkingCopy('processed-with-sources', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + url: 'https://test', + 'include-sources': true, + }, + }); + + assert(result.isOk(), result.data as string); + + expect(appendSpy).toBeCalled(); + for (const call of appendSpy.mock.calls) { + const sourceMap = JSON.parse(call[1]) as RawSourceMap; + expect(sourceMap.sourcesContent?.length).toBeGreaterThan(0); + } + }), + ); + }); + + describe('output archive to file', () => { + it( + 'should create archive', + withWorkingCopy('processed', async (workingDir) => { + const output = `${workingDir}/archive.tar.gz`; + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + output, + }, + }); + + assert(result.isOk(), result.data as string); + + const stat = await fs.promises.stat(output); + expect(stat.isFile()).toEqual(true); + }), + ); + + it( + 'should not call upload when output is specified', + withWorkingCopy('processed', async (workingDir) => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + output: `${workingDir}/archive.tar.gz`, + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).not.toBeCalled(); + }), + ); + + it( + 'should not create archive when dry-run is specified', + withWorkingCopy('processed', async (workingDir) => { + const output = `${workingDir}/archive.tar.gz`; + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + output, + 'dry-run': true, + }, + }); + + assert(result.isOk(), result.data as string); + await expect(fs.promises.stat(output)).rejects.toThrow(); + }), + ); + }); +}); diff --git a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts index ebcdf5d6..b06c7477 100644 --- a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts +++ b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts @@ -33,7 +33,7 @@ export function createArchive(sourceProcessor: SourceProcessor) { export async function finalizeArchive(archive: ArchiveWithSourceMapsAndDebugIds) { for (const asset of archive.assets) { const fileName = path.basename(asset.name); - await archive.archive.append(`${asset.debugId}-${fileName}`, JSON.stringify(asset.content)); + archive.archive.append(`${asset.debugId}-${fileName}`, JSON.stringify(asset.content)); } await archive.archive.finalize(); @@ -42,6 +42,9 @@ export async function finalizeArchive(archive: ArchiveWithSourceMapsAndDebugIds) export function readDebugId(sourceProcessor: SourceProcessor) { return function readDebugId(asset: AssetWithContent): Result { - return sourceProcessor.getSourceMapDebugId(asset.content).map((debugId) => ({ ...asset, debugId })); + return sourceProcessor + .getSourceMapDebugId(asset.content) + .map((debugId) => ({ ...asset, debugId })) + .mapErr((err) => `${asset.name}: ${err}`); }; } From c9b5aa58d5bb5443136789a936f2448214eba3f8 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 14 Sep 2023 10:33:41 +0200 Subject: [PATCH 163/291] cli: optimization of `run` and simplification of code (#130) * sourcemap tools: add flow and pipe * sourcemap tools: change FileFinder to not return a Result * sourcemap tools: add filterAsync and not common functions * cli: add include and exclude functionality into commands * sourcemap tools: remove AsyncResult, add Result functions * sourcemap tools: add createUploadRequest to SymbolUpload * cli: refactor to use pipe/flow and reduce file loads * cli: print asset info before processing * cli: use trace for include/exclude --------- Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 106 +++++- tools/cli/src/helpers/errorBehavior.ts | 14 +- tools/cli/src/helpers/find.ts | 49 ++- tools/cli/src/helpers/logs.ts | 8 +- tools/cli/src/helpers/normalizePaths.ts | 6 +- tools/cli/src/helpers/version.ts | 11 +- tools/cli/src/index.ts | 11 +- tools/cli/src/options/loadOptions.ts | 35 +- tools/cli/src/sourcemaps/add-sources.ts | 172 +++++---- tools/cli/src/sourcemaps/process.ts | 175 +++++---- tools/cli/src/sourcemaps/run.ts | 350 ++++++++++++------ tools/cli/src/sourcemaps/upload.ts | 296 ++++++++------- tools/cli/tests/_helpers/common.ts | 37 +- tools/cli/tests/_helpers/testFiles.ts | 6 + .../cli/tests/sourcemaps/add-sources.spec.ts | 56 +-- tools/cli/tests/sourcemaps/process.spec.ts | 76 ++-- tools/cli/tests/sourcemaps/run.spec.ts | 110 +++++- tools/cli/tests/sourcemaps/upload.spec.ts | 4 +- tools/sourcemap-tools/src/FileFinder.ts | 11 +- tools/sourcemap-tools/src/SourceProcessor.ts | 69 ++-- tools/sourcemap-tools/src/SymbolUploader.ts | 106 +++--- .../src/commands/archiveSourceMaps.ts | 17 +- .../src/commands/loadSourceMaps.ts | 13 +- .../commands/processAndUploadAssetsCommand.ts | 68 ++-- .../src/commands/processAsset.ts | 13 +- .../src/commands/writeAsset.ts | 28 +- tools/sourcemap-tools/src/helpers/common.ts | 37 +- tools/sourcemap-tools/src/helpers/flow.ts | 201 ++++++++++ tools/sourcemap-tools/src/index.ts | 2 +- tools/sourcemap-tools/src/models/Asset.ts | 13 + .../sourcemap-tools/src/models/AsyncResult.ts | 115 ------ .../src/models/RawSourceMap.ts | 4 + tools/sourcemap-tools/src/models/Result.ts | 59 +-- .../sourcemap-tools/tests/FileFinder.spec.ts | 27 +- .../tests/SourceProcessor.spec.ts | 69 ++-- .../tests/helpers/flow.spec.ts | 82 ++++ 36 files changed, 1552 insertions(+), 904 deletions(-) create mode 100644 tools/sourcemap-tools/src/helpers/flow.ts delete mode 100644 tools/sourcemap-tools/src/models/AsyncResult.ts create mode 100644 tools/sourcemap-tools/tests/helpers/flow.spec.ts diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index c2bfa691..6caa3272 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -1,42 +1,114 @@ import { Asset, AssetWithContent, - AsyncResult, + Err, + Ok, + R, + RawSourceMap, ResultPromise, + SourceAndSourceMap, SourceProcessor, loadSourceMap, + parseJSON, + pipe, readFile, + writeFile, } from '@backtrace-labs/sourcemap-tools'; export function toAsset(file: string): Asset { return { name: file, path: file }; } -export function readAsset(asset: Asset): ResultPromise, string> { - return AsyncResult.equip(readFile(asset.path)).then((content) => ({ ...asset, content })).inner; +export function readSource(asset: T): ResultPromise, string> { + return pipe( + asset.path, + readFile, + R.map((content) => ({ ...asset, content })), + ); } -export function loadSourceMapFromPathOrFromSource(sourceProcessor: SourceProcessor) { - return function loadSourceMapFromPathOrFromSource(asset: Asset) { - return AsyncResult.fromValue(asset) - .then(loadSourceMap) - .thenErr( - () => - AsyncResult.fromValue(asset) - .then(resolveSourceMapPathFromSource(sourceProcessor)) - .then(loadSourceMap).inner, - ).inner; +export function readSourceMap(asset: T): ResultPromise, string> { + return pipe( + asset.path, + readFile, + R.map(parseJSON), + R.map((content) => ({ ...asset, content })), + ); +} + +export function readSourceAndSourceMap(sourceProcessor: SourceProcessor) { + return function _readSourceAndSourceMap(sourceAsset: Asset): ResultPromise { + return pipe( + sourceAsset, + readSource, + R.map((source) => + pipe( + source.content, + (content) => sourceProcessor.getSourceMapPathFromSource(content, sourceAsset.path), + R.map((path) => ({ name: path, path } as Asset)), + R.map(readSourceMap), + R.map((sourceMap) => ({ source, sourceMap } as SourceAndSourceMap)), + ), + ), + ); + }; +} + +export function writeAsset>(asset: T) { + return pipe( + asset.content, + (content) => (typeof content === 'object' ? JSON.stringify(content) : String(content)), + writeFile(asset.path), + R.map(() => asset), + ); +} + +export function writeSourceAndSourceMap(asset: T) { + return pipe( + asset, + () => pipe(asset.source.content, writeFile(asset.source.path)), + R.map(() => pipe(JSON.stringify(asset.sourceMap.content), writeFile(asset.sourceMap.path))), + R.map(() => asset), + ); +} + +export function readSourceMapFromPathOrFromSource(sourceProcessor: SourceProcessor) { + return function readSourceMapFromPathOrFromSource(asset: Asset) { + return pipe( + asset, + loadSourceMap, + R.mapErr(() => pipe(asset, resolveSourceMapPathFromSource(sourceProcessor), R.map(loadSourceMap))), + ); }; } function resolveSourceMapPathFromSource(sourceProcessor: SourceProcessor) { return function resolveSourceMapFromSource(asset: Asset) { - return AsyncResult.equip(sourceProcessor.getSourceMapPathFromSourceFile(asset.path)) - .then((path) => ({ + return pipe( + asset.path, + (path) => sourceProcessor.getSourceMapPathFromSourceFile(path), + R.map((path) => ({ ...asset, name: path, path, - })) - .thenErr((err) => `file is not a sourcemap, and sourcemap search failed: ${err}`).inner; + })), + R.mapErr((err) => `file is not a sourcemap and sourcemap search failed: ${err}`), + ); + }; +} + +export function validateUrl(url: string) { + try { + new URL(url); + return Ok(url); + } catch { + return Err(`invalid URL: ${url}`); + } +} + +export function isAssetProcessed(sourceProcessor: SourceProcessor) { + return function isAssetProcessed(asset: AssetWithContent) { + const result = sourceProcessor.isSourceMapProcessed(asset.content); + return { asset, result } as const; }; } diff --git a/tools/cli/src/helpers/errorBehavior.ts b/tools/cli/src/helpers/errorBehavior.ts index 89068249..14ae0be0 100644 --- a/tools/cli/src/helpers/errorBehavior.ts +++ b/tools/cli/src/helpers/errorBehavior.ts @@ -29,15 +29,19 @@ export function handleError(behavior: ErrorBehavior = 'exit') { return function _handleAssetErrors( fn?: (err: E, behavior: Exclude) => void, ) { - return function _handleAssetErrors(error: E): Result, E> { + return function _handleAssetErrors(result: Result): Result, E> { + if (result.isOk()) { + return result; + } + switch (behavior) { case 'exit': - return Err(error); + return Err(result.data); case 'skip': - return Ok>({ reason: Err(error) }); + return Ok>({ reason: result }); default: - fn && fn(error, behavior); - return Ok>({ reason: Err(error) }); + fn && fn(result.data, behavior); + return Ok>({ reason: result }); } }; }; diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index b1c38605..64cf3814 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -1,4 +1,4 @@ -import { FileFinder, Ok, ResultPromise } from '@backtrace-labs/sourcemap-tools'; +import { FileFinder, log, pipe } from '@backtrace-labs/sourcemap-tools'; import fs from 'fs'; import { glob } from 'glob'; import path from 'path'; @@ -19,7 +19,7 @@ export interface FindResult { * @param paths Paths to search in. * @returns Result with file paths. */ -export async function find(...paths: string[]): ResultPromise { +export async function find(paths: string[]): Promise { const finder = new FileFinder(); const results = new Map(); @@ -39,12 +39,8 @@ export async function find(...paths: string[]): ResultPromise i.path)); + return function _includesFindResult(result: FindResult) { + return pathSet.has(result.path); + }; +} + +export async function buildIncludeExclude( + includePaths: string[] | undefined, + excludePaths: string[] | undefined, + logger: ReturnType, +) { + const resolvedIncludePaths = includePaths ? await find(includePaths) : undefined; + const isIncluded = resolvedIncludePaths + ? (result: FindResult) => + pipe( + result, + includesFindResult(resolvedIncludePaths), + logger((t) => (t ? `result included: ${result.path}` : `result not included: ${result.path}`)), + ) + : undefined; + + const resolvedExcludePaths = excludePaths ? await find(excludePaths) : undefined; + const isExcluded = resolvedExcludePaths + ? (result: FindResult) => + pipe( + result, + includesFindResult(resolvedExcludePaths), + logger((t) => (t ? `result excluded: ${result.path}` : `result not excluded: ${result.path}`)), + ) + : undefined; + + return { isIncluded, isExcluded } as const; } diff --git a/tools/cli/src/helpers/logs.ts b/tools/cli/src/helpers/logs.ts index 42f7dc60..934d660c 100644 --- a/tools/cli/src/helpers/logs.ts +++ b/tools/cli/src/helpers/logs.ts @@ -1,4 +1,4 @@ -import { Asset, log, LogLevel, ProcessAssetResult } from '@backtrace-labs/sourcemap-tools'; +import { Asset, log, LogLevel, ProcessAssetResult, SourceAndSourceMap } from '@backtrace-labs/sourcemap-tools'; import { CliLogger } from '../logger'; export function logAsset(logger: CliLogger, level: LogLevel) { @@ -15,3 +15,9 @@ export function logAsset(logger: CliLogger, level: LogLevel) { }; }; } + +export const logAssets = + (logger: CliLogger, level: LogLevel) => + (message: string) => + (assets: T) => + log(logger, level)(`${assets.source.name}: ${message}`)(assets); diff --git a/tools/cli/src/helpers/normalizePaths.ts b/tools/cli/src/helpers/normalizePaths.ts index 64a888ef..6c002539 100644 --- a/tools/cli/src/helpers/normalizePaths.ts +++ b/tools/cli/src/helpers/normalizePaths.ts @@ -1,8 +1,10 @@ import path from 'path'; -export function normalizePaths(paths: string | string[] | undefined, defaults: string | string[]) { +export function normalizePaths(paths: string | string[] | undefined): string[] | undefined; +export function normalizePaths(paths: string | string[] | undefined, defaults: string | string[]): string[]; +export function normalizePaths(paths: string | string[] | undefined, defaults?: string | string[]) { if (!paths || !paths.length) { - return toArray(defaults); + return defaults ? toArray(defaults) : undefined; } return toArray(paths); diff --git a/tools/cli/src/helpers/version.ts b/tools/cli/src/helpers/version.ts index 715bf321..8482e6d4 100644 --- a/tools/cli/src/helpers/version.ts +++ b/tools/cli/src/helpers/version.ts @@ -1,4 +1,4 @@ -import { AsyncResult, parseJSON, readFile } from '@backtrace-labs/sourcemap-tools'; +import { R, parseJSON, pipe, readFile } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; interface PackageJson { @@ -10,7 +10,10 @@ export function loadVersion() { ? path.join(require.main?.path, '..', 'package.json') : path.join(__dirname, '../../package.json'); - return AsyncResult.equip(readFile(packageJsonPath)) - .then(parseJSON) - .then((p) => p.version).inner; + return pipe( + packageJsonPath, + readFile, + R.map(parseJSON), + R.map((p) => p.version), + ); } diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index ca13719a..4760c1f7 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { AsyncResult, Err } from '@backtrace-labs/sourcemap-tools'; +import { Err, R, pipe } from '@backtrace-labs/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import { Command } from './commands/Command'; import { loadVersion } from './helpers/version'; @@ -66,12 +66,13 @@ const mainCommand = new Command({ type: Boolean, description: 'Displays the version of backtrace-js', }) - .execute(function ({ opts, getHelpMessage }) { + .execute(async function ({ opts, getHelpMessage }) { const logger = createLogger(opts); if (opts.version) { - return AsyncResult.equip(loadVersion()) - .then((version) => logger.output(version)) - .then(() => 0).inner; + return pipe( + await loadVersion(), + R.map((version) => logger.output(version)), + ); } else { logger.info(getHelpMessage()); diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts index cac09c94..10b187aa 100644 --- a/tools/cli/src/options/loadOptions.ts +++ b/tools/cli/src/options/loadOptions.ts @@ -1,4 +1,4 @@ -import { AsyncResult, Ok, readFile, ResultPromise } from '@backtrace-labs/sourcemap-tools'; +import { Err, Ok, pipe, R, readFile, ResultPromise } from '@backtrace-labs/sourcemap-tools'; import fs from 'fs'; import path from 'path'; import { parseJSONC } from '../helpers/jsonc'; @@ -13,33 +13,26 @@ export function loadOptionsForCommand(path?: string) { key: K, defaults?: Partial, ): ResultPromise, string> { - if (readOptions) { - return Ok(joinOptions(key, defaults)(readOptions)); - } - - const readResult = await readFile(path ?? DEFAULT_OPTIONS_FILENAME); - if (readResult.isErr()) { - return path ? readResult : Ok({}); - } - - return AsyncResult.equip(readResult) - .then(parseJSONC) - .then((opts) => (readOptions = opts)) - .then(joinOptions(key, defaults)).inner; + return pipe( + path, + (path) => (!readOptions ? loadOptions(path) : Ok(readOptions)), + R.map((data) => (data ? (readOptions = data) : data)), + R.map((data) => (data ? joinOptions(key, defaults) : {})), + ); }; } export async function loadOptions(path?: string): ResultPromise { - const readResult = await readFile(path ?? DEFAULT_OPTIONS_FILENAME); - if (readResult.isErr()) { - return path ? readResult : Ok(undefined); - } - - return AsyncResult.equip(readResult).then(parseJSONC).inner; + return pipe( + path ?? DEFAULT_OPTIONS_FILENAME, + readFile, + R.mapErr((r) => (path ? Err(r) : Ok(undefined))), + R.map((data) => (data ? parseJSONC(data) : Ok(undefined))), + ); } export function joinOptions(key: K, defaults?: Partial) { - return function joinOptions(loadedOptions: CliOptions): Partial { + return function joinOptions(loadedOptions: CliOptions): Partial { return { ...defaults, ...loadedOptions, diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index aeeed7ef..ee6317b7 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -1,26 +1,32 @@ import { Asset, AssetWithContent, - AsyncResult, DebugIdGenerator, Err, failIfEmpty, filter, + filterAsync, + flow, log, LogLevel, map, + mapAsync, matchSourceMapExtension, + not, Ok, + pass, + pipe, + R, RawSourceMap, + ResultPromise, SourceProcessor, - writeFile, } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { loadSourceMapFromPathOrFromSource, toAsset } from '../helpers/common'; +import { readSourceMapFromPathOrFromSource, toAsset, writeAsset } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { find } from '../helpers/find'; +import { buildIncludeExclude, find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; @@ -28,6 +34,8 @@ import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface AddSourcesOptions extends GlobalOptions { readonly path: string | string[]; + readonly include: string | string[]; + readonly exclude: string | string[]; readonly 'dry-run': boolean; readonly force: boolean; readonly skipFailing: boolean; @@ -46,6 +54,20 @@ export const addSourcesCmd = new Command({ multiple: true, alias: 'p', }) + .option({ + name: 'include', + description: 'Includes specified paths.', + type: String, + multiple: true, + alias: 'i', + }) + .option({ + name: 'exclude', + description: 'Excludes specified paths.', + type: String, + multiple: true, + alias: 'x', + }) .option({ name: 'dry-run', alias: 'n', @@ -69,7 +91,7 @@ export const addSourcesCmd = new Command({ type: Boolean, description: 'Exits with zero exit code if no sourcemaps are found.', }) - .execute((context) => AsyncResult.equip(addSourcesToSourcemaps(context)).then(map(output(context.logger))).inner); + .execute(addSourcesToSourcemaps); /** * Adds sources to sourcemaps found in path(s). @@ -117,92 +139,68 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => logAsset(logger, level)(err)(asset); - const loadSourceMapCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('loading sourcemap')) - .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) - .then(logDebugAsset('loaded sourcemap')) - .thenErr((err) => `${asset.name}: ${err}`) - .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))).inner; - - const doesSourceMapHaveSourcesCommand = (asset: AssetWithContent) => - AsyncResult.fromValue, never>(asset) - .then(logTraceAsset('checking if sourcemap has sources')) - .then(doesSourceMapHaveSources(sourceProcessor)) - .then( - logDebug( - ({ asset, result }) => - `${asset.name}: ` + (result ? 'sourcemap has sources' : 'sourcemap does not have sources'), - ), - ).inner; - - const filterAssetsCommand = (assets: AssetWithContent[]) => - AsyncResult.fromValue[], never>(assets) - .then(map(doesSourceMapHaveSourcesCommand)) - .then(filter((f) => !f.result)) - .then(map((f) => f.asset)).inner; - - const addSourceCommand = (asset: AssetWithContent) => - AsyncResult.fromValue, string>(asset) - .then(logTraceAsset('adding source')) - .then(addSource(sourceProcessor)) - .then(logDebugAsset('source added')) - .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const writeSourceMapCommand = (asset: AssetWithContent) => - AsyncResult.fromValue, string>(asset) - .then(logTraceAsset('writing sourcemap')) - .then(writeSourceMap) - .then(logDebugAsset('sourcemap written')) - .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - return AsyncResult.equip(find(...searchPaths)) - .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} files for adding sources`)) - .then(map(logTrace((path) => `file to add sources to: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) - .then(map(toAsset)) - .then(map(loadSourceMapCommand)) - .then(filterBehaviorSkippedElements) - .then(opts.force ? Ok : filterAssetsCommand) - .then(logDebug((r) => `adding sources to ${r.length} files`)) - .then(map(logTrace(({ path }) => `file to add sources to: ${path}`))) - .then( - opts['pass-with-no-files'] - ? Ok - : failIfEmpty('no sourcemaps without sources found, use --force to overwrite sources'), - ) - .then(map(addSourceCommand)) - .then(filterBehaviorSkippedElements) - .then(opts['dry-run'] ? Ok : map(writeSourceMapCommand)) - .then(filterBehaviorSkippedElements).inner; -} - -function doesSourceMapHaveSources(sourceProcessor: SourceProcessor) { - return function doesSourceMapHaveSources(asset: AssetWithContent) { - return { + const addSourcesCommand = (asset: Asset) => + pipe( asset, - result: sourceProcessor.doesSourceMapHaveSources(asset.content), - }; - }; + logTraceAsset('reading sourcemap'), + readSourceMapFromPathOrFromSource(sourceProcessor), + R.map(logDebugAsset('read sourcemap')), + R.map(logTraceAsset('adding source')), + R.map(addSourceToSourceMap(opts.force ?? false)), + R.map(logDebugAsset('source added')), + R.map( + opts['dry-run'] + ? Ok + : flow( + logTraceAsset('writing source and sourcemap'), + writeAsset, + R.map(logDebugAsset('wrote source and sourcemap')), + ), + ), + R.mapErr((error) => `${asset.name}: ${error}`), + handleFailedAsset(logAssetBehaviorError(asset)), + ); + + const includePaths = normalizePaths(opts.include); + const excludePaths = normalizePaths(opts.exclude); + const { isIncluded, isExcluded } = await buildIncludeExclude(includePaths, excludePaths, logTrace); + + return pipe( + searchPaths, + find, + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.path}`)), + isIncluded ? filterAsync(isIncluded) : pass, + isExcluded ? filterAsync(flow(isExcluded, not)) : pass, + filter((t) => t.direct || matchSourceMapExtension(t.path)), + map((t) => t.path), + logDebug((r) => `found ${r.length} files for adding sources`), + map(logTrace((path) => `file to add sources to: ${path}`)), + map(toAsset), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found'), + R.map(flow(mapAsync(addSourcesCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(map(output(logger))), + ); } -function addSource(sourceProcessor: SourceProcessor) { - return function addSource(asset: AssetWithContent) { - return AsyncResult.equip(sourceProcessor.addSourcesToSourceMap(asset.content, asset.path)).then< - AssetWithContent - >((newSourceMap) => ({ ...asset, content: newSourceMap })).inner; - }; -} +export function addSourceToSourceMap(force: boolean) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); -function writeSourceMap(asset: AssetWithContent) { - const { content, path } = asset; - return AsyncResult.equip(writeFile([JSON.stringify(content), path])).then(() => asset).inner; + const hasSources = (asset: AssetWithContent): asset is AssetWithContent => + sourceProcessor.doesSourceMapHaveSources(asset.content); + + return async function addSourceToSourceMap( + asset: AssetWithContent, + ): ResultPromise, string> { + return !hasSources(asset) || force + ? pipe( + asset, + (asset) => sourceProcessor.addSourcesToSourceMap(asset.content, asset.path), + R.map((content) => ({ ...asset, content } as AssetWithContent)), + ) + : Ok(asset); + }; } function output(logger: CliLogger) { diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index cb1f7eb4..dfd9af1a 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -1,34 +1,40 @@ import { Asset, - AsyncResult, DebugIdGenerator, Err, failIfEmpty, filter, + filterAsync, + flow, log, LogLevel, map, + mapAsync, matchSourceExtension, + not, Ok, - processAsset, - ProcessAssetError, - ProcessAssetResult, + pass, + pipe, + ProcessedSourceAndSourceMap, + R, + SourceAndSourceMap, SourceProcessor, - writeAsset, } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { toAsset } from '../helpers/common'; +import { readSourceAndSourceMap, toAsset, writeSourceAndSourceMap } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { find } from '../helpers/find'; -import { logAsset } from '../helpers/logs'; +import { buildIncludeExclude, find } from '../helpers/find'; +import { logAsset, logAssets } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface ProcessOptions extends GlobalOptions { readonly path: string | string[]; + readonly include: string | string[]; + readonly exclude: string | string[]; readonly 'dry-run': boolean; readonly force: boolean; readonly 'pass-with-no-files': boolean; @@ -46,6 +52,20 @@ export const processCmd = new Command({ multiple: true, alias: 'p', }) + .option({ + name: 'include', + description: 'Includes specified paths.', + type: String, + multiple: true, + alias: 'i', + }) + .option({ + name: 'exclude', + description: 'Excludes specified paths.', + type: String, + multiple: true, + alias: 'x', + }) .option({ name: 'dry-run', alias: 'n', @@ -69,7 +89,7 @@ export const processCmd = new Command({ type: Boolean, description: 'Exits with zero exit code if no files for processing are found.', }) - .execute((context) => AsyncResult.equip(processSources(context)).then(map(output(context.logger))).inner); + .execute(processSources); /** * Processes source files found in path(s). @@ -101,8 +121,9 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'debug'); const logTraceAsset = logAsset(logger, 'trace'); + const logDebugAssets = logAssets(logger, 'debug'); + const logTraceAssets = logAssets(logger, 'trace'); const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); if (assetErrorBehaviorResult.isErr()) { @@ -116,79 +137,79 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => logAsset(logger, level)(err)(asset); - const logProcessResultBehaviorError = (err: ProcessAssetError, level: LogLevel) => - logAsset(logger, level)(err.error)(err.asset); - - const isAssetProcessedCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('checking if asset is processed')) - .then(isAssetProcessed(sourceProcessor)) - .then( - logDebug( - ({ asset, result }) => - `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), - ), - ) - .thenErr(handleFailedAsset<{ asset: Asset; result: boolean }>(logAssetBehaviorError(asset))) - .thenErr((error) => `${asset.name}: ${error}`).inner; - - const filterUnprocessedAssetsCommand = (assets: Asset[]) => - AsyncResult.fromValue(assets) - .then(map(isAssetProcessedCommand)) - .then(filterBehaviorSkippedElements) - .then(filter((f) => !f.result)) - .then(map((f) => f.asset)).inner; - - const processCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('processing file')) - .then(processAsset(sourceProcessor)) - .then(logDebugAsset('file processed')) - .thenErr(handleFailedAsset(logProcessResultBehaviorError)) - .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; - - const writeCommand = (result: ProcessAssetResult) => - AsyncResult.fromValue(result) - .then(logTraceAsset('writing file')) - .then(writeAsset) - .then(logDebugAsset('file written')) - .thenErr(handleFailedAsset(logProcessResultBehaviorError)) - .thenErr(({ asset, error }) => `${asset.name}: ${error}`).inner; - - return AsyncResult.equip(find(...searchPaths)) - .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} files for processing`)) - .then(map(logTrace((path) => `file for processing: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) - .then(map(toAsset)) - .then(opts.force ? Ok : filterUnprocessedAssetsCommand) - .then(logDebug((r) => `processing ${r.length} files`)) - .then(map(logTrace(({ path }) => `file to process: ${path}`))) - .then( - opts['pass-with-no-files'] - ? Ok - : failIfEmpty('no files for processing found, they may be already processed'), - ) - .then(map(processCommand)) - .then(filterBehaviorSkippedElements) - .then(opts['dry-run'] ? Ok : map(writeCommand)) - .then(filterBehaviorSkippedElements).inner; + const processAssetCommand = (asset: Asset) => + pipe( + asset, + logTraceAsset('reading source and sourcemap'), + readSourceAndSourceMap(sourceProcessor), + R.map(logDebugAssets('read source and sourcemap')), + R.map(logTraceAssets('processing source and sourcemap')), + R.map(processSource(opts.force ?? false)), + R.map(logDebugAssets('processed source and sourcemap')), + R.map( + opts['dry-run'] + ? Ok + : flow( + logTraceAssets('writing source and sourcemap'), + writeSourceAndSourceMap, + R.map(logDebugAssets('wrote source and sourcemap')), + ), + ), + R.mapErr((err) => `${asset.name}: ${err}`), + handleFailedAsset(logAssetBehaviorError(asset)), + ); + + const includePaths = normalizePaths(opts.include); + const excludePaths = normalizePaths(opts.exclude); + const { isIncluded, isExcluded } = await buildIncludeExclude(includePaths, excludePaths, logTrace); + + return pipe( + searchPaths, + find, + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.path}`)), + isIncluded ? filterAsync(isIncluded) : pass, + isExcluded ? filterAsync(flow(isExcluded, not)) : pass, + filter((t) => t.direct || matchSourceExtension(t.path)), + map((t) => t.path), + logDebug((r) => `found ${r.length} files for processing`), + map(logTrace((path) => `file for processing: ${path}`)), + map(toAsset), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found'), + R.map(flow(mapAsync(processAssetCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(map(output(logger))), + ); } -function isAssetProcessed(sourceProcessor: SourceProcessor) { - return function isAssetProcessed(asset: Asset) { - return AsyncResult.equip(sourceProcessor.isSourceFileProcessed(asset.path)).then( - (result) => ({ asset, result } as const), - ).inner; +export function processSource(force: boolean) { + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + + const getDebugId = (sourceAndSourceMap: SourceAndSourceMap) => + sourceProcessor.getSourceMapDebugId(sourceAndSourceMap.sourceMap.content); + + return async function processSource(asset: SourceAndSourceMap): Promise { + return pipe(asset, getDebugId, (debugId) => + !debugId || force + ? pipe( + asset, + (asset) => + sourceProcessor.processSourceAndSourceMap(asset.source.content, asset.sourceMap.content), + (result) => + ({ + source: { ...asset.source, content: result.source }, + sourceMap: { ...asset.sourceMap, content: result.sourceMap }, + debugId: result.debugId, + } as ProcessedSourceAndSourceMap), + ) + : ({ ...asset, debugId } as ProcessedSourceAndSourceMap), + ); }; } function output(logger: CliLogger) { - return function output(result: ProcessAssetResult) { - logger.output(result.result.sourcePath); + return function output(result: ProcessedSourceAndSourceMap) { + logger.output(result.source.path); return result; }; } diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 6c18efa9..b4175b77 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -1,45 +1,59 @@ import { Asset, - AsyncResult, + AssetWithContent, DebugIdGenerator, Err, LogLevel, Ok, + R, + RawSourceMap, + RawSourceMapWithDebugId, + SourceAndSourceMap, SourceProcessor, + UploadResult, failIfEmpty, filter, + filterAsync, + flow, log, map, + mapAsync, matchSourceExtension, + not, + pass, + pipe, } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { toAsset } from '../helpers/common'; +import { isAssetProcessed, readSourceAndSourceMap, toAsset, writeSourceAndSourceMap } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { find } from '../helpers/find'; -import { logAsset } from '../helpers/logs'; +import { buildIncludeExclude, find } from '../helpers/find'; +import { logAsset, logAssets } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; -import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; -import { addSourcesToSourcemaps } from './add-sources'; -import { processSources } from './process'; -import { uploadSourcemaps } from './upload'; +import { findConfig, joinOptions, loadOptions } from '../options/loadOptions'; +import { addSourceToSourceMap } from './add-sources'; +import { processSource } from './process'; +import { saveAssets, uploadAssets, uploadOrSaveAssets } from './upload'; export interface RunOptions extends GlobalOptions { readonly 'add-sources': boolean; readonly upload: boolean; readonly process: boolean; readonly path: string | string[]; + readonly include: string | string[]; + readonly exclude: string | string[]; + readonly 'dry-run': boolean; + readonly url: string; + readonly 'include-sources': boolean; + readonly output: string; + readonly insecure: boolean; readonly force: boolean; readonly 'pass-with-no-files': boolean; readonly 'asset-error-behavior': string; } -interface AssetWithSourceMapPath extends Asset { - readonly sourceMapPath: string; -} - export const runCmd = new Command({ name: 'run', description: 'Runs all of the source commands in one go.', @@ -67,6 +81,49 @@ export const runCmd = new Command({ multiple: true, alias: 'p', }) + .option({ + name: 'include', + description: 'Includes specified paths.', + type: String, + multiple: true, + alias: 'i', + }) + .option({ + name: 'exclude', + description: 'Excludes specified paths.', + type: String, + multiple: true, + alias: 'x', + }) + .option({ + name: 'url', + type: String, + description: 'URL to upload to.', + alias: 'u', + }) + .option({ + name: 'output', + alias: 'o', + description: 'If set, archive with sourcemaps will be outputted to this path instead of being uploaded.', + type: String, + }) + .option({ + name: 'include-sources', + type: Boolean, + description: 'Uploads the sourcemaps with "sourcesContent" key.', + }) + .option({ + name: 'insecure', + alias: 'k', + type: Boolean, + description: 'Disables HTTPS certificate checking.', + }) + .option({ + name: 'dry-run', + alias: 'n', + type: Boolean, + description: 'Does not modify the files at the end.', + }) .option({ name: 'force', alias: 'f', @@ -86,43 +143,43 @@ export const runCmd = new Command({ }) .execute(runSourcemapCommands); +interface AssetResult { + readonly processed?: boolean; + readonly sourceAdded?: boolean; +} + export async function runSourcemapCommands({ opts, logger, getHelpMessage }: CommandContext) { const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); const configPath = opts.config ?? (await findConfig()); - if (!configPath) { - return Err('cannot find config file'); - } logger.debug(`reading config from ${configPath}`); - const configResult = await loadOptionsForCommand(configPath)('run'); + const configResult = await loadOptions(configPath); if (configResult.isErr()) { return configResult; } const config = configResult.data; - if (!config) { - logger.info(getHelpMessage()); - return Err('cannot read config file'); - } + const runOptions = config ? { ...joinOptions('run')(config), ...opts } : opts; + const processOptions = config ? { ...joinOptions('process')(config), ...opts } : opts; + const addSourcsOptions = config ? { ...joinOptions('add-sources')(config), ...opts } : opts; + const uploadOptions = config ? { ...joinOptions('upload')(config), ...opts } : opts; - opts = { - ...config, - ...opts, - path: opts.path ?? (config.path ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()), - }; + const searchPath = + opts.path ?? + (config?.path && configPath ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()); logger.trace(`resolved options: \n${JSON.stringify(opts, null, ' ')}`); - const runProcess = opts.process; - const runAddSources = opts['add-sources']; - const runUpload = opts.upload; + const runProcess = runOptions.process ?? false; + const runAddSources = runOptions['add-sources'] ?? false; + const runUpload = runOptions.upload ?? false; if (!runAddSources && !runUpload && !runProcess) { logger.info(getHelpMessage()); return Err('--process, --add-sources and/or --upload must be specified'); } - const searchPaths = normalizePaths(opts.path, process.cwd()); + const searchPaths = normalizePaths(searchPath, process.cwd()); if (!searchPaths.length) { logger.info(getHelpMessage()); return Err('path must be specified'); @@ -131,9 +188,12 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com const logInfo = log(logger, 'info'); const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); + const logDebugAsset = logAsset(logger, 'trace'); const logTraceAsset = logAsset(logger, 'trace'); + const logDebugAssets = logAssets(logger, 'debug'); + const logTraceAssets = logAssets(logger, 'trace'); - const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); + const assetErrorBehaviorResult = getErrorBehavior(runOptions['asset-error-behavior'] ?? 'exit'); if (assetErrorBehaviorResult.isErr()) { logger.info(getHelpMessage()); return assetErrorBehaviorResult; @@ -146,90 +206,160 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => logAsset(logger, level)(err)(asset); - const getSourceMapPathCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('reading sourcemap path')) - .then(getSourceMapPath(sourceProcessor)) - .then((sourceMapPath) => ({ ...asset, sourceMapPath })) - .then(logTraceAsset('read sourcemap path')) - .thenErr(handleFailedAsset(logAssetBehaviorError(asset))).inner; - - const processCommand = (assets: AssetWithSourceMapPath[]) => - AsyncResult.fromValue(assets) - .then(logDebug(`running process...`)) - .then((assets) => - assets.length - ? processSources({ - opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.path) }, - getHelpMessage, - logger: logger.clone({ prefix: 'process:' }), - }) - : Ok([]), - ) - .then(logInfo((results) => `processed ${results.length} files`)) - .then(() => assets).inner; - - const addSourcesCommand = (assets: AssetWithSourceMapPath[]) => - AsyncResult.fromValue(assets) - .then(logDebug(`running add-sources...`)) - .then((assets) => - assets.length - ? addSourcesToSourcemaps({ - opts: { ...opts, 'pass-with-no-files': true, path: assets.map((a) => a.sourceMapPath) }, - getHelpMessage, - logger: logger.clone({ prefix: 'add-sources:' }), - }) - : Ok([]), - ) - .then(logInfo((results) => `added sources to ${results.length} files`)) - .then(() => assets).inner; - - const uploadCommand = (assets: AssetWithSourceMapPath[]) => - AsyncResult.fromValue(assets) - .then(logDebug(`running upload...`)) - .then((assets) => - assets.length - ? uploadSourcemaps({ - opts: { ...opts, path: assets.map((a) => a.sourceMapPath) }, - getHelpMessage, - logger: logger.clone({ prefix: 'upload:' }), - }) - : Ok(null), - ) - .then( - logInfo((result) => - result ? `uploaded ${result.assets.length} files: ${result.rxid}` : `no files uploaded`, - ), - ) - .then(() => assets).inner; - - return AsyncResult.equip(find(...searchPaths)) - .then(logTrace((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} source files`)) - .then(map(logTrace((path) => `found source file: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found')) - .then(map(toAsset)) - .then(map(getSourceMapPathCommand)) - .then(filterBehaviorSkippedElements) - .then(map(printAssetInfo(logger))) - .then(runProcess ? processCommand : Ok) - .then(runAddSources ? addSourcesCommand : Ok) - .then(runUpload ? uploadCommand : Ok).inner; -} + const readAssetCommand = (asset: Asset) => + pipe( + asset, + logTraceAsset('reading source and sourcemap'), + readSourceAndSourceMap(sourceProcessor), + R.map(logDebugAssets('read source and sourcemap')), + R.mapErr((err) => `${asset.name}: ${err}`), + handleFailedAsset(logAssetBehaviorError(asset)), + ); -function getSourceMapPath(sourceProcessor: SourceProcessor) { - return function getSourceMapPath(asset: Asset) { - return sourceProcessor.getSourceMapPathFromSourceFile(asset.path); - }; + const handleAssetCommand = (process: boolean, addSources: boolean) => (asset: SourceAndSourceMap) => + pipe( + asset, + process + ? flow( + logTraceAssets('processing source and sourcemap'), + processSource(processOptions.force ?? false), + logDebugAssets('processed source and sourcemap'), + (result) => ({ ...result, processed: true } as SourceAndSourceMap & AssetResult), + ) + : pass, + addSources + ? (assets) => + pipe( + assets.sourceMap, + logTraceAsset('adding sources to sourcemap'), + addSourceToSourceMap(addSourcsOptions.force ?? false), + R.map(logDebugAsset('source added to sourcemap')), + R.map( + ({ content }) => + ({ ...assets, sourceMap: { ...assets.sourceMap, content } } as SourceAndSourceMap), + ), + R.map((result) => ({ ...result, sourceAdded: true } as SourceAndSourceMap & AssetResult)), + ) + : Ok, + R.map( + runOptions['dry-run'] + ? Ok + : flow( + logTraceAssets('writing source and sourcemap'), + writeSourceAndSourceMap, + R.map(logDebugAssets('wrote source and sourcemap')), + ), + ), + R.mapErr((err) => `${asset.source.name}: ${err}`), + handleFailedAsset(logAssetBehaviorError(asset.source)), + ); + + const saveArchiveCommandResult = runOptions.upload + ? await uploadOrSaveAssets( + uploadOptions.url, + uploadOptions.output, + (url) => + uploadAssets( + url, + { ignoreSsl: uploadOptions.insecure ?? false }, + uploadOptions['include-sources'] ?? false, + ), + (path) => flow(saveAssets(path, uploadOptions['include-sources'] ?? false), Ok), + ) + : Ok(undefined); + + if (saveArchiveCommandResult.isErr()) { + return saveArchiveCommandResult; + } + + const saveArchiveCommand = saveArchiveCommandResult.data; + + const isAssetProcessedCommand = (asset: AssetWithContent) => + pipe( + asset, + logTraceAsset('checking if asset is processed'), + isAssetProcessed(sourceProcessor), + logDebug( + ({ asset, result }) => `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), + ), + ); + + const filterProcessedAssetsCommand = (assets: AssetWithContent[]) => + pipe( + assets, + mapAsync(isAssetProcessedCommand), + filter((f) => f.result), + map((f) => f.asset as AssetWithContent), + ); + + const uploadCommand = saveArchiveCommand + ? (assets: SourceAndSourceMap[]) => + pipe( + assets, + logDebug(`running upload...`), + map((t) => t.sourceMap), + filterProcessedAssetsCommand, + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no processed sourcemaps found, make sure to run process'), + R.map((assets) => + opts['dry-run'] + ? Ok({ rxid: '' }) + : assets.length + ? saveArchiveCommand(assets) + : Ok(null), + ), + R.map( + logInfo((result: UploadResult | null) => + result ? `uploaded ${assets.length} files: ${result.rxid}` : `no files uploaded`, + ), + ), + R.map(() => assets), + ) + : undefined; + + const includePaths = normalizePaths(runOptions.include); + const excludePaths = normalizePaths(runOptions.exclude); + const { isIncluded, isExcluded } = await buildIncludeExclude(includePaths, excludePaths, logTrace); + + return pipe( + searchPaths, + find, + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.path}`)), + isIncluded ? filterAsync(isIncluded) : pass, + isExcluded ? filterAsync(flow(isExcluded, not)) : pass, + filter((t) => t.direct || matchSourceExtension(t.path)), + map((t) => t.path), + logDebug((r) => `found ${r.length} source files`), + map(logTrace((path) => `found source file: ${path}`)), + map(toAsset), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found'), + R.map(flow(mapAsync(readAssetCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(map(printAssetInfo(logger))), + R.map(flow(mapAsync(handleAssetCommand(runProcess, runAddSources)), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map( + logInfo( + (assets) => + `processed ${assets.reduce((sum, r) => sum + (r.processed ? 1 : 0), 0)} source and sourcemaps`, + ), + ), + R.map( + logInfo( + (assets) => + `added sources to ${assets.reduce((sum, r) => sum + (r.sourceAdded ? 1 : 0), 0)} sourcemaps`, + ), + ), + R.map(uploadCommand ?? Ok), + ); } function printAssetInfo(logger: CliLogger) { - return function printAssetInfo(asset: AssetWithSourceMapPath) { - logger.debug(`${asset.path}`); - logger.debug(`└── ${asset.sourceMapPath}`); + return function printAssetInfo(asset: T) { + logger.debug(`${asset.source.path}`); + logger.debug(`└── ${asset.sourceMap.path}`); return asset; }; } diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 3dd50610..c5d253fa 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -1,36 +1,42 @@ import { - ArchiveWithSourceMapsAndDebugIds, Asset, AssetWithContent, - AsyncResult, - createArchive, - createWriteStream, DebugIdGenerator, Err, failIfEmpty, filter, - finalizeArchive, + filterAsync, + flow, log, LogLevel, map, + mapAsync, matchSourceMapExtension, + not, Ok, pass, + pipe, pipeStream, + R, RawSourceMap, + RawSourceMapWithDebugId, Result, + ResultPromise, SourceProcessor, stripSourcesContent, SymbolUploader, - uploadArchive, + SymbolUploaderOptions, UploadResult, + ZipArchive, } from '@backtrace-labs/sourcemap-tools'; +import fs from 'fs'; import path from 'path'; +import { Writable } from 'stream'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { loadSourceMapFromPathOrFromSource, toAsset } from '../helpers/common'; +import { isAssetProcessed, readSourceMapFromPathOrFromSource, toAsset, validateUrl } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { find } from '../helpers/find'; +import { buildIncludeExclude, find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; @@ -38,9 +44,9 @@ import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface UploadOptions extends GlobalOptions { readonly url: string; - readonly subdomain: string; - readonly token: string; readonly path: string | string[]; + readonly include: string | string[]; + readonly exclude: string | string[]; readonly 'include-sources': boolean; readonly insecure: boolean; readonly 'dry-run': boolean; @@ -67,22 +73,24 @@ export const uploadCmd = new Command({ alias: 'p', }) .option({ - name: 'url', + name: 'include', + description: 'Includes specified paths.', type: String, - description: 'URL to upload to. You can use also BACKTRACE_JS_UPLOAD_URL env variable.', - alias: 'u', + multiple: true, + alias: 'i', }) .option({ - name: 'subdomain', + name: 'exclude', + description: 'Excludes specified paths.', type: String, - description: 'Subdomain to upload to.', - alias: 's', + multiple: true, + alias: 'x', }) .option({ - name: 'token', + name: 'url', type: String, - description: 'Symbol submission token. Required when subdomain is provided.', - alias: 't', + description: 'URL to upload to.', + alias: 'u', }) .option({ name: 'include-sources', @@ -124,7 +132,7 @@ export const uploadCmd = new Command({ description: 'If set, archive with sourcemaps will be outputted to this path instead of being uploaded.', type: String, }) - .execute((context) => AsyncResult.equip(uploadSourcemaps(context)).then(output(context.logger)).inner); + .execute(uploadSourcemaps); /** * Uploads sourcemaps found in path(s). @@ -191,146 +199,160 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command logAsset(logger, level)(err)(asset); const isAssetProcessedCommand = (asset: AssetWithContent) => - AsyncResult.fromValue, never>(asset) - .then(logTraceAsset('checking if asset is processed')) - .then(isAssetProcessed(sourceProcessor)) - .then( - logDebug( - ({ asset, result }) => - `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), - ), - ).inner; + pipe( + asset, + logTraceAsset('checking if asset is processed'), + isAssetProcessed(sourceProcessor), + logDebug( + ({ asset, result }) => `${asset.name}: ` + (result ? 'asset is processed' : 'asset is not processed'), + ), + ); const filterProcessedAssetsCommand = (assets: AssetWithContent[]) => - AsyncResult.fromValue[], never>(assets) - .then(map(isAssetProcessedCommand)) - .then(filter((f) => f.result)) - .then(map((f) => f.asset)).inner; + pipe( + assets, + mapAsync(isAssetProcessedCommand), + filter((f) => f.result), + map((f) => f.asset as AssetWithContent), + ); const loadSourceMapCommand = (asset: Asset) => - AsyncResult.fromValue(asset) - .then(logTraceAsset('loading sourcemap')) - .then(loadSourceMapFromPathOrFromSource(sourceProcessor)) - .then(logDebugAsset('loaded sourcemap')) - .then(opts['include-sources'] ? pass : stripSourcesContent) - .thenErr((err) => `${asset.name}: ${err}`) - .thenErr(handleFailedAsset>(logAssetBehaviorError(asset))).inner; - - const createArchiveCommand = (assets: AssetWithContent[]) => - AsyncResult.fromValue[], string>(assets) - .then(logTrace('creating archive')) - .then(createArchive(sourceProcessor)) - .then(logDebug('archive created')).inner; - - const writeArchiveCommand = (outputPath: string) => (archive: ArchiveWithSourceMapsAndDebugIds) => - AsyncResult.fromValue(archive) - .then(logTrace(`saving archive to ${outputPath}`)) - .then(({ assets, archive }) => { - return AsyncResult.equip(createWriteStream(outputPath)) - .then(pipeStream(archive)) - .then(() => finalizeArchive({ assets, archive })).inner; - }) - .then(() => ({ rxid: outputPath, assets: archive.assets })) - .then(logDebug(`saved archive to ${outputPath}`)).inner; - - const uploadArchiveCommand = (uploadUrl: string) => (archive: ArchiveWithSourceMapsAndDebugIds) => - AsyncResult.fromValue(archive) - .then(logTrace(`uploading archive to ${uploadUrl}`)) - .then(async ({ assets, archive }) => { - const uploader = uploadArchive(new SymbolUploader(uploadUrl, { ignoreSsl: opts.insecure ?? false })); - - // We first create the upload request, which pipes the archive to itself - const promise = uploader(archive); - - // Next we finalize the archive, which causes the assets to be written to the archive, - // and consequently to the request - await finalizeArchive({ assets, archive }); - - // Finally, we return the upload request promise - const result = await promise; - return result; - }) - .then((result) => ({ ...result, assets: archive.assets })) - .then(logDebug(`archive uploaded to ${uploadUrl}`)).inner; - - const saveArchiveCommand = outputPath - ? writeArchiveCommand(outputPath) - : uploadUrl - ? uploadArchiveCommand(uploadUrl) - : undefined; - - if (!saveArchiveCommand) { - throw new Error('processArchive function should be defined'); + pipe( + asset, + logTraceAsset('loading sourcemap'), + readSourceMapFromPathOrFromSource(sourceProcessor), + R.map(logDebugAsset('loaded sourcemap')), + R.mapErr((error) => `${asset.name}: ${error}`), + handleFailedAsset(logAssetBehaviorError(asset)), + ); + + const saveArchiveCommandResult = await uploadOrSaveAssets( + opts.url, + opts.output, + (url) => uploadAssets(url, { ignoreSsl: opts.insecure ?? false }, opts['include-sources'] ?? false), + (path) => flow(saveAssets(path, opts['include-sources'] ?? false), Ok), + ); + + if (saveArchiveCommandResult.isErr()) { + return saveArchiveCommandResult; } - return AsyncResult.equip(find(...searchPaths)) - .then(logDebug((r) => `found ${r.length} files`)) - .then(map(logTrace((result) => `found file: ${result.path}`))) - .then(filter((t) => t.direct || matchSourceMapExtension(t.path))) - .then(map((t) => t.path)) - .then(logDebug((r) => `found ${r.length} files for upload`)) - .then(map(logTrace((path) => `file for upload: ${path}`))) - .then(opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found')) - .then(map(toAsset)) - .then(map(loadSourceMapCommand)) - .then(filterBehaviorSkippedElements) - .then(opts.force ? Ok : filterProcessedAssetsCommand) - .then(logDebug((r) => `uploading ${r.length} files`)) - .then(map(logTrace(({ path }) => `file to upload: ${path}`))) - .then( + const saveArchiveCommand = saveArchiveCommandResult.data; + + const includePaths = normalizePaths(opts.include); + const excludePaths = normalizePaths(opts.exclude); + const { isIncluded, isExcluded } = await buildIncludeExclude(includePaths, excludePaths, logTrace); + + return pipe( + searchPaths, + find, + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.path}`)), + isIncluded ? filterAsync(isIncluded) : pass, + isExcluded ? filterAsync(flow(isExcluded, not)) : pass, + filter((t) => t.direct || matchSourceMapExtension(t.path)), + map((t) => t.path), + logDebug((r) => `found ${r.length} files for upload`), + map(logTrace((path) => `file for upload: ${path}`)), + map(toAsset), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found'), + R.map(flow(mapAsync(loadSourceMapCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(filterProcessedAssetsCommand), + R.map( opts['pass-with-no-files'] ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process first'), - ) - .then((assets) => - !assets.length - ? Ok({ rxid: '', assets }) - : AsyncResult.fromValue[], string>(assets) - .then(createArchiveCommand) - .then((archive) => - opts['dry-run'] - ? Ok({ rxid: '', assets: archive.assets }) - : saveArchiveCommand(archive), - ).inner, - ).inner; + ), + R.map((assets) => + opts['dry-run'] + ? Ok({ + rxid: '', + assets, + }) + : assets.length + ? saveArchiveCommand(assets) + : Ok({ rxid: '', assets }), + ), + R.map(output(logger)), + ); } -function validateUrl(url: string) { - try { - new URL(url); - return Ok(url); - } catch { - return Err(`invalid URL: ${url}`); +export function uploadOrSaveAssets( + uploadUrl: string | undefined, + outputPath: string | undefined, + upload: ( + url: string, + ) => (assets: AssetWithContent[]) => ResultPromise, + save: ( + outputPath: string, + ) => (assets: AssetWithContent[]) => ResultPromise, +) { + if (uploadUrl && outputPath) { + return Err('outputting archive and uploading are exclusive'); } -} -function getUploadUrl(opts: Partial): Result { - if (opts.url && opts.subdomain) { - return Err('--url and --subdomain are exclusive'); + if (uploadUrl) { + return pipe( + uploadUrl, + validateUrl, + R.map((url) => upload(url)), + ); + } else if (outputPath) { + return Ok(save(outputPath)); + } else { + return Err('upload url is required'); } +} - if (opts.url) { - return validateUrl(opts.url); - } +export function uploadAssets(uploadUrl: string, options: SymbolUploaderOptions, includeSources: boolean) { + const uploader = new SymbolUploader(uploadUrl, options); + return function uploadAssets( + assets: AssetWithContent[], + ): ResultPromise { + const { request, promise } = uploader.createUploadRequest(); - if (opts.subdomain) { - if (!opts.token) { - return Err('token is required with subdomain'); - } + return pipe(request, pipeAssets(assets, includeSources), () => promise); + }; +} - return Ok(`https://submit.backtrace.io/${opts.subdomain}/${opts.token}/sourcemap`); - } +export function saveAssets(outputPath: string, includeSources: boolean) { + return async function saveAssets(assets: AssetWithContent[]): Promise { + const stream = fs.createWriteStream(outputPath); - return Ok(undefined); + return pipe(stream, pipeAssets(assets, includeSources), () => ({ rxid: outputPath } as UploadResult)); + }; } -function isAssetProcessed(sourceProcessor: SourceProcessor) { - return function isAssetProcessed(asset: AssetWithContent) { - const result = sourceProcessor.isSourceMapProcessed(asset.content); - return { asset, result } as const; +function pipeAssets(assets: AssetWithContent[], includeSources: boolean) { + function appendToArchive(asset: AssetWithContent) { + return function appendToArchive(archive: ZipArchive) { + const filename = `${asset.content.debugId}-${path.basename(asset.name)}`; + archive.append(filename, JSON.stringify(includeSources ? asset.content : stripSourcesContent(asset))); + return archive; + }; + } + + return function pipeAssets(writable: Writable) { + const archive = new ZipArchive(); + + return pipe( + writable, + pipeStream(archive), + () => assets.map(appendToArchive).map((fn) => fn(archive)), + () => archive.finalize(), + ); }; } +function getUploadUrl(opts: Partial): Result { + if (opts.url) { + return validateUrl(opts.url); + } + + return Ok(undefined); +} + function output(logger: CliLogger) { return function output(result: UploadResult) { logger.output(result.rxid); diff --git a/tools/cli/tests/_helpers/common.ts b/tools/cli/tests/_helpers/common.ts index d081a121..82b000ab 100644 --- a/tools/cli/tests/_helpers/common.ts +++ b/tools/cli/tests/_helpers/common.ts @@ -1,4 +1,4 @@ -import { Ok, SymbolUploader } from '@backtrace-labs/sourcemap-tools'; +import { Ok, Result, SymbolUploader, UploadResult } from '@backtrace-labs/sourcemap-tools'; import { Transform } from 'stream'; export function getHelpMessage() { @@ -6,13 +6,34 @@ export function getHelpMessage() { } export function mockUploader(rxid = 'rxid') { - const blackhole = new Transform({ - transform(_, __, callback) { - callback(); - }, - }); + return jest.spyOn(SymbolUploader.prototype, 'createUploadRequest').mockImplementation(() => { + const request = new Transform({ + transform(_, __, callback) { + callback(); + }, + }); + + const promise = new Promise>((resolve) => { + request.on('finish', () => resolve(Ok({ rxid }))); + }); - return jest.spyOn(SymbolUploader.prototype, 'uploadSymbol').mockImplementation(async (readable) => { - return new Promise((resolve) => readable.pipe(blackhole).on('finish', () => resolve(Ok({ rxid })))); + return { request, promise }; }); } + +export function filterKeys>(obj: T, predicate: (key: string) => boolean) { + return Object.fromEntries( + Object.keys(obj) + .filter(predicate) + .map((k) => [k, obj[k]]), + ); +} + +export function expectAllKeysToChange>(obj1: T, obj2: T) { + for (const key in obj1) { + const value1 = obj1[key]; + const value2 = obj2[key]; + + expect(value1).not.toEqual(value2); + } +} diff --git a/tools/cli/tests/_helpers/testFiles.ts b/tools/cli/tests/_helpers/testFiles.ts index b5d131c5..ef21db28 100644 --- a/tools/cli/tests/_helpers/testFiles.ts +++ b/tools/cli/tests/_helpers/testFiles.ts @@ -68,3 +68,9 @@ export function expectHashesToChange(hashes1: Record, hashes2: R expect(hashes2[key]).not.toEqual(hashes1[key]); } } + +export async function readEachFile(files: string[]): Promise> { + return Object.fromEntries( + await Promise.all(files.map(async (file) => [file, await fs.promises.readFile(file, 'utf-8')] as const)), + ); +} diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index 7e76bf54..cc7643d1 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -3,7 +3,7 @@ import assert from 'assert'; import { glob } from 'glob'; import { CliLogger } from '../../src/logger'; import { addSourcesToSourcemaps } from '../../src/sourcemaps/add-sources'; -import { getHelpMessage } from '../_helpers/common'; +import { expectAllKeysToChange, filterKeys, getHelpMessage } from '../_helpers/common'; import { expectHashesToChange, hashEachFile, hashFiles, withWorkingCopy } from '../_helpers/testFiles'; describe('add-sources', () => { @@ -135,30 +135,13 @@ describe('add-sources', () => { describe('sourcemaps with sourcesContent', () => { it( - 'should fail with no sourcemaps found', - withWorkingCopy('with-sources', async (workingDir) => { - const result = await addSourcesToSourcemaps({ - logger: new CliLogger({ level: 'output', silent: true }), - getHelpMessage, - opts: { - path: workingDir, - }, - }); - - assert(result.isErr(), 'result should be an error'); - expect(result.data).toEqual('no sourcemaps without sources found, use --force to overwrite sources'); - }), - ); - - it( - 'should not fail with force', + 'should not fail', withWorkingCopy('with-sources', async (workingDir) => { const result = await addSourcesToSourcemaps({ logger: new CliLogger({ level: 'output', silent: true }), getHelpMessage, opts: { path: workingDir, - force: true, }, }); @@ -292,10 +275,11 @@ describe('add-sources', () => { ); it( - 'should not change anything with invalid files', + 'should not modify invalid files', withWorkingCopy(['invalid', 'original'], async (workingDir) => { - const files = await glob(`${workingDir}/*`); - const expected = await hashFiles(files); + const files = await glob(`${workingDir}/*.js.map`); + const preHash = await hashEachFile(files); + const expected = filterKeys(preHash, (k) => k.includes('invalid')); const result = await addSourcesToSourcemaps({ logger: new CliLogger({ level: 'output', silent: true }), @@ -307,8 +291,32 @@ describe('add-sources', () => { assert(result.isErr(), 'result should be an error'); - const actual = await hashFiles(files); - expect(actual).toEqual(expected); + const postHash = await hashEachFile(files); + const actual = filterKeys(postHash, (k) => k.includes('invalid')); + expect(expected).toEqual(actual); + }), + ); + + it( + 'should modify other than invalid files', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const files = await glob(`${workingDir}/*.js.map`); + const preHash = await hashEachFile(files); + const expected = filterKeys(preHash, (k) => !k.includes('invalid')); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [workingDir], + }, + }); + + assert(result.isErr(), 'result should be an error'); + + const postHash = await hashEachFile(files); + const actual = filterKeys(postHash, (k) => !k.includes('invalid')); + expectAllKeysToChange(actual, expected); }), ); diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index c34d4e7e..c948d8c3 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -3,8 +3,8 @@ import assert from 'assert'; import { glob } from 'glob'; import { CliLogger } from '../../src/logger'; import { processSources } from '../../src/sourcemaps/process'; -import { getHelpMessage } from '../_helpers/common'; -import { expectHashesToChange, hashEachFile, hashFiles, withWorkingCopy } from '../_helpers/testFiles'; +import { expectAllKeysToChange, filterKeys, getHelpMessage } from '../_helpers/common'; +import { expectHashesToChange, hashEachFile, hashFiles, readEachFile, withWorkingCopy } from '../_helpers/testFiles'; describe('process', () => { describe('returning value', () => { @@ -22,7 +22,7 @@ describe('process', () => { assert(result.isOk(), result.data as string); const expected = await glob(`${workingDir}/*.js`); - expect(result.data.map((d) => d.asset.path)).toEqual(expect.arrayContaining(expected)); + expect(result.data.map((d) => d.source.path)).toEqual(expect.arrayContaining(expected)); }), ); @@ -41,7 +41,7 @@ describe('process', () => { assert(result.isOk(), result.data as string); const expected = await glob(`${workingDir}/entry*.js`); - expect(result.data.map((d) => d.asset.path)).toEqual(expect.arrayContaining(expected)); + expect(result.data.map((d) => d.source.path)).toEqual(expect.arrayContaining(expected)); }), ); }); @@ -65,7 +65,10 @@ describe('process', () => { it( 'should call SourceProcessor with sources', withWorkingCopy('original', async (workingDir) => { - const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMapFiles'); + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); const result = await processSources({ logger: new CliLogger({ level: 'output', silent: true }), @@ -76,10 +79,9 @@ describe('process', () => { }); assert(result.isOk(), result.data as string); - const files = await glob(`${workingDir}/*.js`); - for (const file of files) { - expect(spy).toBeCalledWith(file); + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything()); } }), ); @@ -155,30 +157,13 @@ describe('process', () => { describe('already processed sources', () => { it( - 'should fail with no sources found', - withWorkingCopy('processed', async (workingDir) => { - const result = await processSources({ - logger: new CliLogger({ level: 'output', silent: true }), - getHelpMessage, - opts: { - path: workingDir, - }, - }); - - assert(result.isErr(), 'result should be an error'); - expect(result.data).toEqual('no files for processing found, they may be already processed'); - }), - ); - - it( - 'should not fail with force', + 'should not fail', withWorkingCopy('processed', async (workingDir) => { const result = await processSources({ logger: new CliLogger({ level: 'output', silent: true }), getHelpMessage, opts: { path: workingDir, - force: true, }, }); @@ -189,7 +174,10 @@ describe('process', () => { it( 'should call SourceProcessor with sources with force', withWorkingCopy('processed', async (workingDir) => { - const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMapFiles'); + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); const result = await processSources({ logger: new CliLogger({ level: 'output', silent: true }), @@ -201,10 +189,9 @@ describe('process', () => { }); assert(result.isOk(), result.data as string); - const files = await glob(`${workingDir}/*.js`); - for (const file of files) { - expect(spy).toBeCalledWith(file); + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything()); } }), ); @@ -246,7 +233,7 @@ describe('process', () => { }, }); - assert(result.isOk(), 'add-sources failed'); + assert(result.isOk(), result.data as string); const actual = await hashFiles(files); expect(actual).toEqual(expected); @@ -273,8 +260,8 @@ describe('process', () => { ); it( - 'should not change anything with invalid files', - withWorkingCopy(['invalid', 'original'], async (workingDir) => { + 'should not modify invalid files', + withWorkingCopy('invalid', async (workingDir) => { const files = await glob(`${workingDir}/*`); const expected = await hashFiles(files); @@ -293,6 +280,29 @@ describe('process', () => { }), ); + it( + 'should modify other than invalid files', + withWorkingCopy(['invalid', 'original'], async (workingDir) => { + const files = await glob(`${workingDir}/*`); + const preHash = await hashEachFile(files); + const expected = filterKeys(preHash, (k) => !k.includes('invalid')); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [workingDir], + }, + }); + + assert(result.isErr(), 'result should be an error'); + + const postHash = await hashEachFile(files); + const actual = filterKeys(postHash, (k) => !k.includes('invalid')); + expectAllKeysToChange(actual, expected); + }), + ); + it( 'should not fail with asset-error-behavior=skip', withWorkingCopy('invalid', async (workingDir) => { diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index cf3ad69d..66c3d112 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -1,3 +1,4 @@ +import { Ok } from '@backtrace-labs/sourcemap-tools'; import assert from 'assert'; import { randomUUID } from 'crypto'; import fs from 'fs'; @@ -51,7 +52,9 @@ describe('run', () => { assert(result.isOk(), result.data as string); const expected = [...(await glob(`${workingDir}/*.js`)), ...(await glob(`${workingDir}/*.js.map`))]; - expect(result.data.flatMap((d) => [d.path, d.sourceMapPath])).toEqual(expect.arrayContaining(expected)); + expect(result.data.flatMap((d) => [d.source.path, d.sourceMap.path])).toEqual( + expect.arrayContaining(expected), + ); }), ); @@ -85,7 +88,9 @@ describe('run', () => { ...(await glob(`${workingDir}/entry*.js`)), ...(await glob(`${workingDir}/entry*.js.map`)), ]; - expect(result.data.flatMap((d) => [d.path, d.sourceMapPath])).toEqual(expect.arrayContaining(expected)); + expect(result.data.flatMap((d) => [d.source.path, d.sourceMap.path])).toEqual( + expect.arrayContaining(expected), + ); }), ); }); @@ -105,7 +110,7 @@ describe('run', () => { }, }); - const processSpy = jest.spyOn(processCmd, 'processSources'); + const processSpy = jest.spyOn(processCmd, 'processSource'); processSpy.mockClear(); const result = await runSourcemapCommands({ @@ -122,6 +127,57 @@ describe('run', () => { }), ); + it( + 'should call process with every source when process=true', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + type InnerProcess = ReturnType; + const innerProcess = jest + .fn, Parameters>() + .mockImplementation((asset) => + Promise.resolve({ + source: asset.source, + sourceMap: { + ...asset.sourceMap, + content: { ...asset.sourceMap.content, debugId: 'debugId' }, + }, + debugId: 'debugId', + }), + ); + + const processSpy = jest.spyOn(processCmd, 'processSource').mockReturnValue(innerProcess); + processSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js`); + for (const file of files) { + expect(innerProcess).toBeCalledWith( + expect.objectContaining({ source: expect.objectContaining({ path: file }) }), + ); + } + }), + ); + it( 'should not call process when process=false', withWorkingCopy('processed', async (workingDir) => { @@ -167,7 +223,7 @@ describe('run', () => { }, }); - const addSourcesSpy = jest.spyOn(addSourcesCmd, 'addSourcesToSourcemaps'); + const addSourcesSpy = jest.spyOn(addSourcesCmd, 'addSourceToSourceMap'); addSourcesSpy.mockClear(); const result = await runSourcemapCommands({ @@ -184,6 +240,48 @@ describe('run', () => { }), ); + it( + 'should call add-sources with every sourcemap when add-sources=true', + withWorkingCopy('original', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + type InnerAddSources = ReturnType; + const innerAddSources = jest + .fn, Parameters>() + .mockImplementation((asset) => Promise.resolve(Ok(asset))); + + const addSourcesSpy = jest + .spyOn(addSourcesCmd, 'addSourceToSourceMap') + .mockReturnValue(innerAddSources); + addSourcesSpy.mockClear(); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js.map`); + for (const file of files) { + expect(innerAddSources).toBeCalledWith(expect.objectContaining({ path: file })); + } + }), + ); + it( 'should not call add-sources when add-sources=false', withWorkingCopy('original', async (workingDir) => { @@ -229,7 +327,7 @@ describe('run', () => { }, }); - const uploadSpy = jest.spyOn(uploadCmd, 'uploadSourcemaps'); + const uploadSpy = jest.spyOn(uploadCmd, 'uploadOrSaveAssets'); uploadSpy.mockClear(); const result = await runSourcemapCommands({ @@ -260,7 +358,7 @@ describe('run', () => { }, }); - const uploadSpy = jest.spyOn(uploadCmd, 'uploadSourcemaps'); + const uploadSpy = jest.spyOn(uploadCmd, 'uploadOrSaveAssets'); uploadSpy.mockClear(); const result = await runSourcemapCommands({ diff --git a/tools/cli/tests/sourcemaps/upload.spec.ts b/tools/cli/tests/sourcemaps/upload.spec.ts index 4c763082..b187ec0c 100644 --- a/tools/cli/tests/sourcemaps/upload.spec.ts +++ b/tools/cli/tests/sourcemaps/upload.spec.ts @@ -99,7 +99,7 @@ describe('upload', () => { ); it( - 'should call upload with archive', + 'should call upload', withWorkingCopy('processed', async (workingDir) => { const uploadSpy = mockUploader(); uploadSpy.mockClear(); @@ -114,7 +114,7 @@ describe('upload', () => { }); assert(result.isOk(), result.data as string); - expect(uploadSpy).toHaveBeenCalledWith(expect.any(ZipArchive)); + expect(uploadSpy).toBeCalled(); }), ); diff --git a/tools/sourcemap-tools/src/FileFinder.ts b/tools/sourcemap-tools/src/FileFinder.ts index 5c98af54..f4c3fbfb 100644 --- a/tools/sourcemap-tools/src/FileFinder.ts +++ b/tools/sourcemap-tools/src/FileFinder.ts @@ -1,7 +1,5 @@ import fs from 'fs'; import path from 'path'; -import { ResultPromise } from './models/AsyncResult'; -import { Ok } from './models/Result'; interface SearchOptions { readonly recursive?: boolean; @@ -9,7 +7,7 @@ interface SearchOptions { } export class FileFinder { - public async find(dir: string, options?: SearchOptions): ResultPromise { + public async find(dir: string, options?: SearchOptions): Promise { const result: string[] = []; const files = await fs.promises.readdir(dir); @@ -19,10 +17,7 @@ export class FileFinder { if (stat.isDirectory()) { if (options?.recursive) { const innerFindResult = await this.find(fullPath, options); - if (innerFindResult.isErr()) { - return innerFindResult; - } - files.push(...innerFindResult.data); + files.push(...innerFindResult); } continue; @@ -33,6 +28,6 @@ export class FileFinder { } } - return Ok(result); + return result; } } diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 296bf798..de00a434 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -1,16 +1,16 @@ import path from 'path'; import { DebugIdGenerator } from './DebugIdGenerator'; import { parseJSON, readFile } from './helpers/common'; +import { pipe } from './helpers/flow'; import { appendBeforeWhitespaces } from './helpers/stringHelpers'; import { stringToUuid } from './helpers/stringToUuid'; -import { AsyncResult, ResultPromise } from './models/AsyncResult'; -import { RawSourceMap } from './models/RawSourceMap'; -import { Err, Ok, Result } from './models/Result'; +import { RawSourceMap, RawSourceMapWithDebugId } from './models/RawSourceMap'; +import { Err, Ok, R, ResultPromise } from './models/Result'; export interface ProcessResult { readonly debugId: string; readonly source: string; - readonly sourceMap: RawSourceMap; + readonly sourceMap: RawSourceMapWithDebugId; } export interface ProcessResultWithPaths extends ProcessResult { @@ -30,28 +30,33 @@ export class SourceProcessor { } public async isSourceFileProcessed(sourcePath: string): ResultPromise { - return AsyncResult.equip(readFile(sourcePath)).then((v) => this.isSourceProcessed(v)).inner; + return pipe( + sourcePath, + readFile, + R.map((v) => this.isSourceProcessed(v)), + ); } public async isSourceMapFileProcessed(sourceMapPath: string): ResultPromise { - return AsyncResult.equip(readFile(sourceMapPath)) - .then(parseJSON) - .then((v) => this.isSourceMapProcessed(v)).inner; + return pipe( + sourceMapPath, + readFile, + R.map(parseJSON), + R.map((v) => this.isSourceMapProcessed(v)), + ); } - public getSourceMapDebugId(sourceMap: RawSourceMap): Result { - const debugId = this._debugIdGenerator.getSourceMapDebugId(sourceMap); - if (!debugId) { - return Err('sourcemap does not have a debug ID'); - } - - return Ok(debugId); + public getSourceMapDebugId(sourceMap: RawSourceMap): string | undefined { + return this._debugIdGenerator.getSourceMapDebugId(sourceMap); } - public async getSourceMapFileDebugId(sourceMapPath: string): ResultPromise { - return AsyncResult.equip(readFile(sourceMapPath)) - .then(parseJSON) - .then((sourceMap) => this.getSourceMapDebugId(sourceMap)).inner; + public async getSourceMapFileDebugId(sourceMapPath: string): ResultPromise { + return pipe( + sourceMapPath, + readFile, + R.map(parseJSON), + R.map((sourceMap) => this.getSourceMapDebugId(sourceMap)), + ); } /** @@ -63,21 +68,13 @@ export class SourceProcessor { */ public async processSourceAndSourceMap( source: string, - sourceMap: string | RawSourceMap, + sourceMap: RawSourceMap, debugId?: string, - ): ResultPromise { + ): Promise { if (!debugId) { debugId = stringToUuid(source); } - if (typeof sourceMap === 'string') { - const parseResult = parseJSON(sourceMap); - if (parseResult.isErr()) { - return parseResult; - } - sourceMap = parseResult.data; - } - const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); const shebang = source.match(/^(#!.+\n)/)?.[1]; @@ -97,7 +94,7 @@ export class SourceProcessor { const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; const offsetSourceMap = await this.offsetSourceMap(sourceMap, sourceSnippetNewlineCount + 1); const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMap, debugId); - return Ok({ debugId, source: newSource, sourceMap: newSourceMap }); + return { debugId, source: newSource, sourceMap: newSourceMap }; } /** @@ -133,15 +130,17 @@ export class SourceProcessor { return sourceMapReadResult; } - const sourceMap = sourceMapReadResult.data; + const sourceMapJson = sourceMapReadResult.data; - const processResult = await this.processSourceAndSourceMap(source, sourceMap, debugId); - if (processResult.isErr()) { - return processResult; + const parseResult = parseJSON(sourceMapJson); + if (parseResult.isErr()) { + return parseResult; } + const sourceMap = parseResult.data; + const processResult = await this.processSourceAndSourceMap(source, sourceMap, debugId); return Ok({ - ...processResult.data, + ...processResult, sourcePath, sourceMapPath, } as ProcessResultWithPaths); diff --git a/tools/sourcemap-tools/src/SymbolUploader.ts b/tools/sourcemap-tools/src/SymbolUploader.ts index 4f5ed958..58ec2302 100644 --- a/tools/sourcemap-tools/src/SymbolUploader.ts +++ b/tools/sourcemap-tools/src/SymbolUploader.ts @@ -1,8 +1,7 @@ import http from 'http'; import https from 'https'; -import { Readable } from 'stream'; -import { ResultPromise } from './models/AsyncResult'; -import { Err, Ok, Result } from './models/Result'; +import { Readable, Writable } from 'stream'; +import { Err, Ok, Result, ResultPromise } from './models/Result'; interface CoronerUploadResponse { response: 'ok' | string; @@ -18,6 +17,11 @@ export interface SymbolUploaderOptions { headers?: http.OutgoingHttpHeaders; } +export interface SymbolRequest { + readonly request: Writable; + readonly promise: ResultPromise; +} + /** * Class responsible for uploading symbols to Backtrace. * @@ -30,61 +34,65 @@ export class SymbolUploader { this._url = new URL(url); } - /** - * Uploads the symbol to Backtrace. - * @param content Symbol stream. - */ - public async uploadSymbol(readable: Pick): ResultPromise { + public createUploadRequest(): SymbolRequest { const protocol = this._url.protocol === 'https:' ? https : http; + const request = protocol.request(this._url, { + method: 'POST', + rejectUnauthorized: !this._options?.ignoreSsl, + headers: this._options?.headers, + }); - return new Promise>((resolve, reject) => { - const request = protocol.request( - this._url, - { - method: 'POST', - rejectUnauthorized: !this._options?.ignoreSsl, - headers: this._options?.headers, - }, - (response) => { - if (!response.statusCode) { - return resolve(Err('Failed to upload symbol: failed to make the request.')); - } + const promise = new Promise>((resolve, reject) => { + request.on('error', reject); + + request.on('response', (response) => { + if (!response.statusCode) { + return resolve(Err('Failed to upload symbol: failed to make the request.')); + } + + const data: Buffer[] = []; + response.on('data', (chunk) => { + data.push(chunk); + }); - const data: Buffer[] = []; - response.on('data', (chunk) => { - data.push(chunk); - }); + response.on('error', reject); - response.on('error', reject); + response.on('end', () => { + const rawResponse = Buffer.concat(data).toString('utf-8'); + if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) { + return resolve( + Err(`Failed to upload symbol: ${response.statusCode}. Response data: ${rawResponse}`), + ); + } - response.on('end', () => { - const rawResponse = Buffer.concat(data).toString('utf-8'); - if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) { + try { + const responseData = JSON.parse(rawResponse) as CoronerUploadResponse; + if (responseData.response === 'ok') { return resolve( - Err(`Failed to upload symbol: ${response.statusCode}. Response data: ${rawResponse}`), + Ok({ + rxid: responseData._rxid, + }), ); + } else { + return resolve(Err(`Non-OK response received from Coroner: ${rawResponse}`)); } + } catch (err) { + return resolve(Err(`Cannot parse response from Coroner: ${rawResponse}`)); + } + }); + }); + }); - try { - const responseData = JSON.parse(rawResponse) as CoronerUploadResponse; - if (responseData.response === 'ok') { - return resolve( - Ok({ - rxid: responseData._rxid, - }), - ); - } else { - return resolve(Err(`Non-OK response received from Coroner: ${rawResponse}`)); - } - } catch (err) { - return resolve(Err(`Cannot parse response from Coroner: ${rawResponse}`)); - } - }); - }, - ); + return { promise, request }; + } - request.on('error', reject); - readable.pipe(request); - }); + /** + * Uploads the symbol to Backtrace. + * @param content Symbol stream. + */ + public async uploadSymbol(readable: Pick): ResultPromise { + const { request, promise } = this.createUploadRequest(); + readable.pipe(request); + return promise; } } diff --git a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts index b06c7477..67069494 100644 --- a/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts +++ b/tools/sourcemap-tools/src/commands/archiveSourceMaps.ts @@ -3,7 +3,7 @@ import { RawSourceMap } from 'source-map'; import { SourceProcessor } from '../SourceProcessor'; import { ZipArchive } from '../ZipArchive'; import { AssetWithContent, AssetWithDebugId } from '../models/Asset'; -import { Ok, Result, flatMap } from '../models/Result'; +import { Err, Ok, R, Result } from '../models/Result'; type AssetWithDebugIdAndSourceMap = AssetWithContent & AssetWithDebugId; @@ -18,7 +18,7 @@ export function createArchive(sourceProcessor: SourceProcessor) { ): Result { const archive = new ZipArchive(); - const readResult = flatMap(assets.map(readDebugId(sourceProcessor))); + const readResult = R.flatMap(assets.map(readDebugId(sourceProcessor))); if (readResult.isErr()) { return readResult; } @@ -42,9 +42,14 @@ export async function finalizeArchive(archive: ArchiveWithSourceMapsAndDebugIds) export function readDebugId(sourceProcessor: SourceProcessor) { return function readDebugId(asset: AssetWithContent): Result { - return sourceProcessor - .getSourceMapDebugId(asset.content) - .map((debugId) => ({ ...asset, debugId })) - .mapErr((err) => `${asset.name}: ${err}`); + const debugId = sourceProcessor.getSourceMapDebugId(asset.content); + if (!debugId) { + return Err('sourcemap has no debug id'); + } + + return Ok({ + ...asset, + debugId, + }); }; } diff --git a/tools/sourcemap-tools/src/commands/loadSourceMaps.ts b/tools/sourcemap-tools/src/commands/loadSourceMaps.ts index 2a75ff58..17a66d2e 100644 --- a/tools/sourcemap-tools/src/commands/loadSourceMaps.ts +++ b/tools/sourcemap-tools/src/commands/loadSourceMaps.ts @@ -1,13 +1,16 @@ import { RawSourceMap } from 'source-map'; import { parseJSON, readFile } from '../helpers/common'; +import { pipe } from '../helpers/flow'; import { Asset, AssetWithContent } from '../models/Asset'; -import { AsyncResult } from '../models/AsyncResult'; +import { R } from '../models/Result'; export function loadSourceMap(asset: Asset) { - return AsyncResult.fromValue(asset.path) - .then(readFile) - .then(parseJSON) - .then>((content) => ({ ...asset, content })).inner; + return pipe( + asset.path, + readFile, + R.map(parseJSON), + R.map((content) => ({ ...asset, content })), + ); } export function stripSourcesContent(asset: AssetWithContent): AssetWithContent { diff --git a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts index 95780f8a..70aae2a0 100644 --- a/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts +++ b/tools/sourcemap-tools/src/commands/processAndUploadAssetsCommand.ts @@ -3,11 +3,11 @@ import { RawSourceMap } from 'source-map'; import { DebugIdGenerator } from '../DebugIdGenerator'; import { SourceProcessor } from '../SourceProcessor'; import { SymbolUploader, SymbolUploaderOptions, UploadResult } from '../SymbolUploader'; -import { inspect, map, pass } from '../helpers/common'; +import { inspect, mapAsync, pass } from '../helpers/common'; +import { flow, pipe } from '../helpers/flow'; import { Asset, AssetWithContent } from '../models/Asset'; -import { AsyncResult } from '../models/AsyncResult'; import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; -import { Result, flatMap, isErr } from '../models/Result'; +import { R, Result } from '../models/Result'; import { createArchive, finalizeArchive } from './archiveSourceMaps'; import { loadSourceMap, stripSourcesContent } from './loadSourceMaps'; import { processAsset } from './processAsset'; @@ -74,22 +74,23 @@ export function processAndUploadAssetsCommand( options?.beforeAll && options.beforeAll(assets); const assetResults = await Promise.all( - assets.map( - (asset) => - AsyncResult.fromValue(asset) - .then(options?.beforeProcess ? inspect(options.beforeProcess) : pass) - .then(processCommand) - .then(options?.afterProcess ? inspect(options.afterProcess) : pass) - .then(options?.beforeWrite ? inspect(options.beforeWrite) : pass) - .then(writeAsset) - .then(options?.afterWrite ? inspect(options.afterWrite) : pass) - .then(options?.assetFinished ? inspect(options.assetFinished) : pass) - .thenErr(options?.assetError ? inspect(options.assetError) : pass).inner, + assets.map((asset) => + pipe( + asset, + options?.beforeProcess ? inspect(options.beforeProcess) : pass, + processCommand, + R.map(options?.afterProcess ? inspect(options.afterProcess) : pass), + R.map(options?.beforeWrite ? inspect(options.beforeWrite) : pass), + R.map(writeAsset), + R.map(options?.afterWrite ? inspect(options.afterWrite) : pass), + R.map(options?.assetFinished ? inspect(options.assetFinished) : pass), + R.mapErr(options?.assetError ? inspect(options.assetError) : pass), + ), ), ); - const assetsResult = flatMap(assetResults); - if (isErr(assetsResult)) { + const assetsResult = R.flatMap(assetResults); + if (assetsResult.isErr()) { const result: ProcessResult = { assetResults }; options?.afterAll && options.afterAll(result); return result; @@ -108,20 +109,22 @@ export function processAndUploadAssetsCommand( const includeSources = pluginOptions?.uploadOptions?.includeSources; - const uploadResult = await AsyncResult.fromValue(sourceMapAssets) - .then( - map( - (asset) => - AsyncResult.fromValue(asset) - .then(options?.beforeLoad ? inspect(options?.beforeLoad) : pass) - .then(loadSourceMap) - .then(options?.afterLoad ? inspect(options?.afterLoad) : pass) - .then(includeSources ? pass : stripSourcesContent).inner, + const uploadResult = await pipe( + sourceMapAssets, + flow( + mapAsync( + flow( + options?.beforeLoad ? inspect(options?.beforeLoad) : pass, + loadSourceMap, + R.map(options?.afterLoad ? inspect(options?.afterLoad) : pass), + R.map(includeSources ? pass : stripSourcesContent), + ), ), - ) - .then(options?.beforeUpload ? inspect(options.beforeUpload) : pass) - .then(createArchive(sourceProcessor)) - .then(async ({ assets, archive }) => { + R.flatMap, + ), + R.map(options?.beforeUpload ? inspect(options.beforeUpload) : pass), + R.map(createArchive(sourceProcessor)), + R.map(async ({ assets, archive }) => { // We first create the upload request, which pipes the archive to itself const promise = uploadCommand(archive); @@ -130,9 +133,10 @@ export function processAndUploadAssetsCommand( // Finally, we return the upload request promise return promise; - }) - .then(options?.afterUpload ? inspect(options.afterUpload) : pass) - .thenErr(options?.uploadError ? inspect(options.uploadError) : pass).inner; + }), + R.map(options?.afterUpload ? inspect(options.afterUpload) : pass), + R.mapErr(options?.uploadError ? inspect(options.uploadError) : pass), + ); const result: ProcessResult = { assetResults, uploadResult }; options?.afterAll && options.afterAll(result); diff --git a/tools/sourcemap-tools/src/commands/processAsset.ts b/tools/sourcemap-tools/src/commands/processAsset.ts index 562f268c..d58173ed 100644 --- a/tools/sourcemap-tools/src/commands/processAsset.ts +++ b/tools/sourcemap-tools/src/commands/processAsset.ts @@ -1,13 +1,16 @@ import { SourceProcessor } from '../SourceProcessor'; +import { pipe } from '../helpers/flow'; import { Asset } from '../models/Asset'; -import { AsyncResult } from '../models/AsyncResult'; import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; -import { Result } from '../models/Result'; +import { R, Result } from '../models/Result'; export function processAsset(sourceProcessor: SourceProcessor) { return function processAsset(asset: Asset): Promise> { - return AsyncResult.equip(sourceProcessor.processSourceAndSourceMapFiles(asset.path)) - .then((result) => ({ asset, result })) - .thenErr((error) => ({ asset, error })).inner; + return pipe( + asset.path, + (path) => sourceProcessor.processSourceAndSourceMapFiles(path), + R.map((result) => ({ asset, result })), + R.mapErr((error) => ({ asset, error })), + ); }; } diff --git a/tools/sourcemap-tools/src/commands/writeAsset.ts b/tools/sourcemap-tools/src/commands/writeAsset.ts index 9c044de4..74c2e26b 100644 --- a/tools/sourcemap-tools/src/commands/writeAsset.ts +++ b/tools/sourcemap-tools/src/commands/writeAsset.ts @@ -1,12 +1,24 @@ import { writeFile } from '../helpers/common'; -import { AsyncResult } from '../models/AsyncResult'; +import { pipe } from '../helpers/flow'; import { ProcessAssetError, ProcessAssetResult } from '../models/ProcessAssetResult'; +import { R, ResultPromise } from '../models/Result'; -export function writeAsset(result: ProcessAssetResult) { - const { source, sourcePath: path, sourceMap, sourceMapPath } = result.result; - - return AsyncResult.equip(writeFile([source, path])) - .then(() => writeFile([JSON.stringify(sourceMap), sourceMapPath])) - .then(() => result) - .thenErr((error) => ({ asset: result.asset, error })).inner; +export function writeAsset(result: ProcessAssetResult): ResultPromise { + return pipe( + result, + (result) => + pipe( + result.result.source, + writeFile(result.result.sourcePath), + R.map(() => result), + ), + R.map((result) => + pipe( + JSON.stringify(result.result.sourceMap), + writeFile(result.result.sourceMapPath), + R.map(() => result), + ), + ), + R.mapErr((error) => ({ asset: result.asset, error })), + ); } diff --git a/tools/sourcemap-tools/src/helpers/common.ts b/tools/sourcemap-tools/src/helpers/common.ts index b5e35221..c5865434 100644 --- a/tools/sourcemap-tools/src/helpers/common.ts +++ b/tools/sourcemap-tools/src/helpers/common.ts @@ -1,8 +1,7 @@ import fs from 'fs'; import { Readable, Writable } from 'stream'; import { LogLevel, Logger } from '../Logger'; -import { ResultPromise } from '../models/AsyncResult'; -import { Err, Ok, Result } from '../models/Result'; +import { Err, Ok, Result, ResultPromise } from '../models/Result'; export type ContentFile = readonly [content: string, path: string]; export type StreamFile = readonly [stream: Readable, path: string]; @@ -15,14 +14,15 @@ export async function readFile(file: string): ResultPromise { } } -export async function writeFile(file: ContentFile) { - const [content, path] = file; - try { - await fs.promises.writeFile(path, content); - return Ok(file); - } catch (err) { - return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); - } +export function writeFile(path: string) { + return async function writeFile(content: string) { + try { + await fs.promises.writeFile(path, content); + return Ok(content); + } catch (err) { + return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + } + }; } export function createWriteStream(path: string) { @@ -80,12 +80,25 @@ export function map(fn: (t: T) => B) { }; } +export function mapAsync(fn: (t: T) => B | Promise) { + return async function map(t: T[]) { + return await Promise.all(t.map(fn)); + }; +} + export function filter(fn: (t: T) => boolean) { return function filter(t: T[]) { return t.filter(fn); }; } +export function filterAsync(fn: (t: T) => boolean | Promise) { + return async function filterAsync(t: T[]) { + const results = await Promise.all(t.map(async (v) => [v, await fn(v)] as const)); + return results.filter((r) => r[1]).map((r) => r[0]); + }; +} + export function log(logger: Logger, level: LogLevel) { return function log(message: string | ((t: T) => string)) { return inspect((t) => logger[level](typeof message === 'function' ? message(t) : message)); @@ -98,3 +111,7 @@ export function inspect(fn: (t: T) => unknown) { return t; }; } + +export function not(value: boolean) { + return !value; +} diff --git a/tools/sourcemap-tools/src/helpers/flow.ts b/tools/sourcemap-tools/src/helpers/flow.ts new file mode 100644 index 00000000..a64e5044 --- /dev/null +++ b/tools/sourcemap-tools/src/helpers/flow.ts @@ -0,0 +1,201 @@ +export function flow(fnAb: (a: A) => B | Promise): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (b: B) => C | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (c: C) => D | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (d: D) => E | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (e: E) => F | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (f: F) => G | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (g: G) => H | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (h: H) => I | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (i: I) => J | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (j: J) => K | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (k: K) => L | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (l: L) => M | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (m: M) => N | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (n: N) => O | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (o: O) => P | Promise

] +): (a: A) => Promise

; +export function flow( + ...fns: [...Parameters>, (p: P) => Q | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (q: Q) => R | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [...Parameters>, (r: R) => S | Promise] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (s: S) => T | Promise, + ] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (t: T) => U | Promise, + ] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (u: U) => V | Promise, + ] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (v: V) => W | Promise, + ] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (w: W) => X | Promise, + ] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (x: X) => Y | Promise, + ] +): (a: A) => Promise; +export function flow( + ...fns: [ + ...Parameters>, + (y: Y) => Z | Promise, + ] +): (a: A) => Promise; +export function flow(...fns: ((v: unknown) => unknown | Promise)[]): (v: unknown) => Promise { + return async (a) => _pipe(a, ...fns); +} + +export function pipe(value: A, fnAb: (a: A) => B | Promise): Promise; +export function pipe(...args: [...Parameters>, (b: B) => C | Promise]): Promise; +export function pipe(...args: [...Parameters>, (c: C) => D | Promise]): Promise; +export function pipe( + ...args: [...Parameters>, (d: D) => E | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (e: E) => F | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (f: F) => G | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (g: G) => H | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (h: H) => I | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (i: I) => J | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (j: J) => K | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (k: K) => L | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (l: L) => M | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (m: M) => N | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (n: N) => O | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (o: O) => P | Promise

] +): Promise

; +export function pipe( + ...args: [...Parameters>, (p: P) => Q | Promise] +): Promise; +export function pipe( + ...args: [...Parameters>, (Q: Q) => R | Promise] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (r: R) => S | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (s: S) => T | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (t: T) => U | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (u: U) => V | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (v: V) => W | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (w: W) => X | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (x: X) => Y | Promise, + ] +): Promise; +export function pipe( + ...args: [ + ...Parameters>, + (y: Y) => Z | Promise, + ] +): Promise; +export function pipe(value: unknown, ...fns: ((v: unknown) => unknown | Promise)[]): Promise { + return _pipe(value, ...fns); +} + +async function _pipe(value: unknown, ...fns: ((v: unknown) => unknown | Promise)[]): Promise { + for (const fn of fns) { + value = await fn(value); + } + return value; +} diff --git a/tools/sourcemap-tools/src/index.ts b/tools/sourcemap-tools/src/index.ts index c1608c05..5e0f7036 100644 --- a/tools/sourcemap-tools/src/index.ts +++ b/tools/sourcemap-tools/src/index.ts @@ -6,9 +6,9 @@ export * from './SymbolUploader'; export * from './ZipArchive'; export * from './commands'; export * from './helpers/common'; +export * from './helpers/flow'; export * from './helpers/match'; export * from './models/Asset'; -export * from './models/AsyncResult'; export * from './models/ProcessAssetResult'; export * from './models/RawSourceMap'; export * from './models/Result'; diff --git a/tools/sourcemap-tools/src/models/Asset.ts b/tools/sourcemap-tools/src/models/Asset.ts index 97c3ad3f..234edc76 100644 --- a/tools/sourcemap-tools/src/models/Asset.ts +++ b/tools/sourcemap-tools/src/models/Asset.ts @@ -1,3 +1,16 @@ +import { RawSourceMap, RawSourceMapWithDebugId } from './RawSourceMap'; + +export interface SourceAndSourceMap { + readonly source: AssetWithContent; + readonly sourceMap: AssetWithContent; +} + +export interface ProcessedSourceAndSourceMap { + readonly source: AssetWithContent; + readonly sourceMap: AssetWithContent; + readonly debugId: string; +} + export interface Asset { readonly name: string; readonly path: string; diff --git a/tools/sourcemap-tools/src/models/AsyncResult.ts b/tools/sourcemap-tools/src/models/AsyncResult.ts deleted file mode 100644 index f52fe987..00000000 --- a/tools/sourcemap-tools/src/models/AsyncResult.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { Ok, Result, ResultErr, ResultOk, flatMap, wrapErr, wrapOk } from './Result'; - -export type ResultPromise = Promise>; - -export class AsyncResult { - constructor(private readonly _promise: Promise>) {} - - public static equip( - asyncResult: Result | (() => Result) | ResultPromise | (() => ResultPromise), - ): AsyncResult { - if (asyncResult instanceof Promise) { - return new AsyncResult(asyncResult); - } - - if (asyncResult instanceof ResultOk || asyncResult instanceof ResultErr) { - return new AsyncResult(new Promise((resolve) => resolve(asyncResult))); - } - - const fnResult = asyncResult(); - if (fnResult instanceof Promise) { - return new AsyncResult(fnResult); - } - - return new AsyncResult(new Promise((resolve) => resolve(fnResult))); - } - - public static fromValue(value: T) { - return new AsyncResult(new Promise((resolve) => resolve(Ok(value)))); - } - - public then( - transform: ( - data: T, - ) => - | Result - | Result[] - | Promise> - | Promise[]> - | Promise>[], - ): AsyncResult; - public then(transform: (data: T) => Result | Promise>): AsyncResult; - public then(transform: (data: T) => N | Promise): AsyncResult; - public then( - transform: ( - data: T, - ) => - | Result - | Promise[]> - | Promise>[] - | Result[] - | Promise> - | N - | Promise, - ): AsyncResult { - return new AsyncResult( - this._promise.then((result) => { - if (!result.isOk()) { - return result; - } - - const transformResult = transform(result.data); - if (transformResult instanceof Promise) { - return transformResult.then((v) => { - if (Array.isArray(v)) { - return flatMap(v.map(wrapOk)); - } - - return wrapOk(v); - }); - } - - if (Array.isArray(transformResult)) { - return Promise.all(transformResult).then((r) => flatMap(r.map(wrapOk))); - } - - return wrapOk(transformResult); - }), - ); - } - - public thenErr(transform: (data: E) => Promise>): AsyncResult; - public thenErr(transform: (data: E) => Result): AsyncResult; - public thenErr(transform: (data: E) => Promise): AsyncResult; - public thenErr(transform: (data: E) => Result): AsyncResult; - public thenErr(transform: (data: E) => N): AsyncResult; - public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult; - public thenErr(transform: (data: E) => Result | N | Promise>): AsyncResult { - return new AsyncResult( - this._promise.then((result) => { - if (!result.isErr()) { - return result; - } - - const transformResult = transform(result.data); - if (transformResult instanceof Promise) { - return transformResult.then((v) => wrapErr(v)); - } - - return wrapErr(transformResult); - }), - ); - } - - public get inner() { - return this._promise; - } -} - -export function OkAsync(data: T): AsyncResult { - return new AsyncResult(new Promise((resolve) => resolve(new ResultOk(data)))); -} - -export function ErrAsync(data: E): AsyncResult { - return new AsyncResult(new Promise((resolve) => resolve(new ResultErr(data)))); -} diff --git a/tools/sourcemap-tools/src/models/RawSourceMap.ts b/tools/sourcemap-tools/src/models/RawSourceMap.ts index c5ef98c6..8f98630e 100644 --- a/tools/sourcemap-tools/src/models/RawSourceMap.ts +++ b/tools/sourcemap-tools/src/models/RawSourceMap.ts @@ -7,3 +7,7 @@ export interface RawSourceMap { mappings: string; file: string; } + +export interface RawSourceMapWithDebugId extends RawSourceMap { + readonly debugId: string; +} diff --git a/tools/sourcemap-tools/src/models/Result.ts b/tools/sourcemap-tools/src/models/Result.ts index 1b12aa83..c49dbe1c 100644 --- a/tools/sourcemap-tools/src/models/Result.ts +++ b/tools/sourcemap-tools/src/models/Result.ts @@ -15,6 +15,44 @@ export class UnwrapError extends Error { } export type Result = ResultOk | ResultErr; +export type ResultPromise = Promise>; + +export class R { + public static map( + transform: (data: T) => Result | Promise>, + ): (result: Result) => Promise>; + public static map(transform: (data: T) => N | Promise): (result: Result) => Promise>; + public static map( + transform: (data: T) => N | Promise, + ): (result: Result) => Promise> { + return async (result) => (result.isErr() ? result : wrapOk(await transform(result.data))); + } + + public static mapErr( + transform: (data: E) => Result | Promise>, + ): (result: Result) => Promise>; + public static mapErr( + transform: (data: E) => N | Promise, + ): (result: Result) => Promise>; + public static mapErr( + transform: (data: E) => N | Promise, + ): (result: Result) => Promise> { + return async (result) => (result.isOk() ? result : wrapErr(await transform(result.data))); + } + + public static flatMap(results: Result[]): Result { + const data: T[] = []; + for (const result of results) { + if (result.isErr()) { + return result; + } + + data.push(result.data); + } + + return Ok(data); + } +} export class ResultOk implements BaseResult { constructor(public readonly data: T) {} @@ -87,24 +125,3 @@ export function wrapErr(data: E | Result): Result { return Err(data); } - -export function isOk(result: Result): result is ResultOk { - return result.isOk(); -} - -export function isErr(result: Result): result is ResultErr { - return result.isErr(); -} - -export function flatMap(results: Result[]): Result { - const data: T[] = []; - for (const result of results) { - if (result.isErr()) { - return result; - } - - data.push(result.data); - } - - return Ok(data); -} diff --git a/tools/sourcemap-tools/tests/FileFinder.spec.ts b/tools/sourcemap-tools/tests/FileFinder.spec.ts index b4f99757..7fcfb0f0 100644 --- a/tools/sourcemap-tools/tests/FileFinder.spec.ts +++ b/tools/sourcemap-tools/tests/FileFinder.spec.ts @@ -1,4 +1,3 @@ -import assert from 'assert'; import path from 'path'; import { FileFinder } from '../src'; @@ -7,57 +6,51 @@ describe('FileFinder', () => { const finder = new FileFinder(); const result = await finder.find(path.join(__dirname, './testFiles')); - assert(result.isOk()); - expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js')); - expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + expect(result).toContain(path.resolve(__dirname, './testFiles', 'source.js')); + expect(result).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); }); it('should return matching files in directory', async () => { const finder = new FileFinder(); const result = await finder.find(path.join(__dirname, './testFiles'), { match: /\.map$/ }); - assert(result.isOk()); - expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); - expect(result.data).not.toContain(expect.not.stringMatching(/\.map$/)); + expect(result).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + expect(result).not.toContain(expect.not.stringMatching(/\.map$/)); }); it('should return files in subdirectories in recursive mode', async () => { const finder = new FileFinder(); const result = await finder.find(path.join(__dirname, './'), { recursive: true }); - assert(result.isOk()); - expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js')); - expect(result.data).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + expect(result).toContain(path.resolve(__dirname, './testFiles', 'source.js')); + expect(result).toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); }); it('should not return files in subdirectories in non recursive mode', async () => { const finder = new FileFinder(); const result = await finder.find(path.join(__dirname, './')); - assert(result.isOk()); - expect(result.data).not.toContain(path.resolve(__dirname, './testFiles', 'source.js')); - expect(result.data).not.toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); + expect(result).not.toContain(path.resolve(__dirname, './testFiles', 'source.js')); + expect(result).not.toContain(path.resolve(__dirname, './testFiles', 'source.js.map')); }); it('should not return directories', async () => { const finder = new FileFinder(); const result = await finder.find(path.join(__dirname, './')); - assert(result.isOk()); - expect(result.data).not.toContain(path.resolve(__dirname, './testFiles')); + expect(result).not.toContain(path.resolve(__dirname, './testFiles')); }); it('should not return directories in recursive mode', async () => { const finder = new FileFinder(); const result = await finder.find(path.join(__dirname, './'), { recursive: true }); - assert(result.isOk()); - expect(result.data).not.toContain(path.resolve(__dirname, './testFiles')); + expect(result).not.toContain(path.resolve(__dirname, './testFiles')); }); }); diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index cfa9a1fe..547ff86c 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -2,7 +2,7 @@ import assert from 'assert'; import fs from 'fs'; import path from 'path'; import { RawSourceMap, SourceMapConsumer } from 'source-map'; -import { DebugIdGenerator, Ok, SOURCEMAP_DEBUG_ID_KEY, SourceProcessor } from '../src'; +import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY, SourceProcessor } from '../src'; describe('SourceProcessor', () => { const source = `function foo(){console.log("Hello World!")}foo();`; @@ -44,8 +44,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.source).toMatch(new RegExp(`^${expected}\n`)); + expect(result.source).toMatch(new RegExp(`^${expected}\n`)); }); it('should append source snippet to the source on the first line with source having shebang not on the first line', async () => { @@ -60,8 +59,7 @@ function foo(){console.log("Hello World!")}foo();`; sourceWithShebangElsewhereMap, ); - assert(result.isOk()); - expect(result.data.source).toMatch(new RegExp(`^${expected}\n`)); + expect(result.source).toMatch(new RegExp(`^${expected}\n`)); }); it('should append source snippet to the source after shebang', async () => { @@ -73,8 +71,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(sourceWithShebang, sourceWithShebangMap); - assert(result.isOk()); - expect(result.data.source).toMatch(new RegExp(`^(#!.+\n)${expected}\n`)); + expect(result.source).toMatch(new RegExp(`^(#!.+\n)${expected}\n`)); }); it('should append comment snippet to the source on the last line', async () => { @@ -86,8 +83,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.source).toMatch(new RegExp(`\n${expected}$`)); + expect(result.source).toMatch(new RegExp(`\n${expected}$`)); }); it('should not add any whitespaces at end if there were none before when appending comment snippet', async () => { @@ -100,8 +96,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.source).not.toMatch(/\s+$/); + expect(result.source).not.toMatch(/\s+$/); }); it('should leave end whitespaces as they are when appending comment snippet', async () => { @@ -115,8 +110,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.source).toMatch(new RegExp(`${whitespaces}$`)); + expect(result.source).toMatch(new RegExp(`${whitespaces}$`)); }); it('should not touch the original source', async () => { @@ -127,8 +121,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.source).toContain(source); + expect(result.source).toContain(source); }); it('should not touch the original sourcemap keys apart from mappings', async () => { @@ -139,8 +132,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.sourceMap).toMatchObject({ ...sourceMap, mappings: result.data.sourceMap.mappings }); + expect(result.sourceMap).toMatchObject({ ...sourceMap, mappings: result.sourceMap.mappings }); }); it('should return sourcemap from DebugIdGenerator', async () => { @@ -152,8 +144,7 @@ function foo(){console.log("Hello World!")}foo();`; const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); - expect(result.data.sourceMap).toStrictEqual(expected); + expect(result.sourceMap).toStrictEqual(expected); }); it('should offset sourcemap lines by number of newlines in source snippet + 1', async () => { @@ -165,8 +156,7 @@ function foo(){console.log("Hello World!")}foo();`; jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); const offsetSpy = jest.spyOn(sourceProcessor, 'offsetSourceMap'); - const result = await sourceProcessor.processSourceAndSourceMap(source, sourceMap); - assert(result.isOk()); + await sourceProcessor.processSourceAndSourceMap(source, sourceMap); expect(offsetSpy).toBeCalledWith(expect.anything(), expectedNewLineCount); }); @@ -180,11 +170,7 @@ function foo(){console.log("Hello World!")}foo();`; jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); const offsetSpy = jest.spyOn(sourceProcessor, 'offsetSourceMap'); - const result = await sourceProcessor.processSourceAndSourceMap( - sourceWithShebangElsewhere, - sourceWithShebangElsewhereMap, - ); - assert(result.isOk()); + await sourceProcessor.processSourceAndSourceMap(sourceWithShebangElsewhere, sourceWithShebangElsewhereMap); expect(offsetSpy).toBeCalledWith(expect.anything(), expectedNewLineCount); }); @@ -198,8 +184,7 @@ function foo(){console.log("Hello World!")}foo();`; jest.spyOn(debugIdGenerator, 'generateSourceSnippet').mockReturnValue(snippet); const offsetSpy = jest.spyOn(sourceProcessor, 'offsetSourceMap'); - const result = await sourceProcessor.processSourceAndSourceMap(sourceWithShebang, sourceWithShebangMap); - assert(result.isOk()); + await sourceProcessor.processSourceAndSourceMap(sourceWithShebang, sourceWithShebangMap); expect(offsetSpy).toBeCalledWith(expect.anything(), expectedNewLineCount); }); @@ -208,19 +193,17 @@ function foo(){console.log("Hello World!")}foo();`; const sourcePath = path.join(__dirname, './testFiles/source.js'); const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); const sourceContent = await fs.promises.readFile(sourcePath, 'utf-8'); - const sourceMapContent = await fs.promises.readFile(sourceMapPath, 'utf-8'); + const sourceMapContent = JSON.parse(await fs.promises.readFile(sourceMapPath, 'utf-8')); const debugId = 'DEBUG_ID'; const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); const processFn = jest .spyOn(sourceProcessor, 'processSourceAndSourceMap') - .mockImplementation(async (_, __, debugId) => - Ok({ - source: sourceContent, - sourceMap: JSON.parse(sourceMapContent), - debugId: debugId ?? 'debugId', - }), - ); + .mockImplementation(async (_, __, debugId) => ({ + source: sourceContent, + sourceMap: sourceMapContent, + debugId: debugId ?? 'debugId', + })); await sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath, debugId); @@ -231,19 +214,17 @@ function foo(){console.log("Hello World!")}foo();`; const sourcePath = path.join(__dirname, './testFiles/source.js'); const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); const sourceContent = await fs.promises.readFile(sourcePath, 'utf-8'); - const sourceMapContent = await fs.promises.readFile(sourceMapPath, 'utf-8'); + const sourceMapContent = JSON.parse(await fs.promises.readFile(sourceMapPath, 'utf-8')); const debugId = 'DEBUG_ID'; const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); const processFn = jest .spyOn(sourceProcessor, 'processSourceAndSourceMap') - .mockImplementation(async (_, __, debugId) => - Ok({ - source: sourceContent, - sourceMap: JSON.parse(sourceMapContent), - debugId: debugId ?? 'debugId', - }), - ); + .mockImplementation(async (_, __, debugId) => ({ + source: sourceContent, + sourceMap: sourceMapContent, + debugId: debugId ?? 'debugId', + })); await sourceProcessor.processSourceAndSourceMapFiles(sourcePath, undefined, debugId); diff --git a/tools/sourcemap-tools/tests/helpers/flow.spec.ts b/tools/sourcemap-tools/tests/helpers/flow.spec.ts new file mode 100644 index 00000000..338a0ae0 --- /dev/null +++ b/tools/sourcemap-tools/tests/helpers/flow.spec.ts @@ -0,0 +1,82 @@ +import { flow, pipe } from '../../src/helpers/flow'; + +const increment = (a: number) => ++a; +const incrementAsync = (a: number) => new Promise((resolve) => setImmediate(() => resolve(++a))); + +const multiplyBy2 = (a: number) => a * 2; +const multiplyBy2Async = (a: number) => new Promise((resolve) => setImmediate(() => resolve(a * 2))); + +describe('flow', () => { + it('should execute functions in order from first to last', async () => { + const fn1 = jest.fn(increment); + const fn2 = jest.fn(incrementAsync); + const fn3 = jest.fn(increment); + + const fn = flow(fn1, fn2, fn3); + await fn(0); + + expect(fn1).toBeCalledWith(0); + expect(fn2).toBeCalledWith(1); + expect(fn3).toBeCalledWith(2); + }); + + it('should call functions exactly once', async () => { + const fn1 = jest.fn(increment); + const fn2 = jest.fn(incrementAsync); + const fn3 = jest.fn(increment); + + const fn = flow(fn1, fn2, fn3); + await fn(0); + + expect(fn1).toBeCalledTimes(1); + expect(fn2).toBeCalledTimes(1); + expect(fn3).toBeCalledTimes(1); + }); + + it('should return result from function flow', async () => { + const fn1 = jest.fn(multiplyBy2); + const fn2 = jest.fn(multiplyBy2Async); + const fn3 = jest.fn(multiplyBy2); + + const fn = flow(fn1, fn2, fn3); + const result = await fn(2); + + expect(result).toEqual(2 ** 4); + }); +}); + +describe('pipe', () => { + it('should execute functions in order from first to last', async () => { + const fn1 = jest.fn(increment); + const fn2 = jest.fn(incrementAsync); + const fn3 = jest.fn(increment); + + await pipe(0, fn1, fn2, fn3); + + expect(fn1).toBeCalledWith(0); + expect(fn2).toBeCalledWith(1); + expect(fn3).toBeCalledWith(2); + }); + + it('should call functions exactly once', async () => { + const fn1 = jest.fn(increment); + const fn2 = jest.fn(incrementAsync); + const fn3 = jest.fn(increment); + + await pipe(0, fn1, fn2, fn3); + + expect(fn1).toBeCalledTimes(1); + expect(fn2).toBeCalledTimes(1); + expect(fn3).toBeCalledTimes(1); + }); + + it('should return result from function flow', async () => { + const fn1 = jest.fn(multiplyBy2); + const fn2 = jest.fn(multiplyBy2Async); + const fn3 = jest.fn(multiplyBy2); + + const result = await pipe(2, fn1, fn2, fn3); + + expect(result).toEqual(2 ** 4); + }); +}); From f76baf007c434f80a486e50ab71697f72b2b5977 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 14 Sep 2023 10:39:00 +0200 Subject: [PATCH 164/291] cli: remove duplicate debugIds before uploading (#131) Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 14 ++++++++++++++ tools/cli/src/sourcemaps/run.ts | 9 ++++++++- tools/cli/src/sourcemaps/upload.ts | 3 ++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index 6caa3272..4dfacea2 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -112,3 +112,17 @@ export function isAssetProcessed(sourceProcessor: SourceProcessor) { return { asset, result } as const; }; } + +export function uniqueBy(fn: (t: T) => U) { + return function uniqueBy(array: T[]): T[] { + const keys = new Set(); + return array.filter((t) => { + const key = fn(t); + if (keys.has(key)) { + return false; + } + keys.add(key); + return true; + }); + }; +} diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index b4175b77..17c2d896 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -26,7 +26,13 @@ import { import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { isAssetProcessed, readSourceAndSourceMap, toAsset, writeSourceAndSourceMap } from '../helpers/common'; +import { + isAssetProcessed, + readSourceAndSourceMap, + toAsset, + uniqueBy, + writeSourceAndSourceMap, +} from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { buildIncludeExclude, find } from '../helpers/find'; import { logAsset, logAssets } from '../helpers/logs'; @@ -302,6 +308,7 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com opts['pass-with-no-files'] ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process'), + R.map(uniqueBy((asset) => asset.content.debugId)), R.map((assets) => opts['dry-run'] ? Ok({ rxid: '' }) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index c5d253fa..9ad9aaec 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -34,7 +34,7 @@ import path from 'path'; import { Writable } from 'stream'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { isAssetProcessed, readSourceMapFromPathOrFromSource, toAsset, validateUrl } from '../helpers/common'; +import { isAssetProcessed, readSourceMapFromPathOrFromSource, toAsset, uniqueBy, validateUrl } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { buildIncludeExclude, find } from '../helpers/find'; import { logAsset } from '../helpers/logs'; @@ -264,6 +264,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process first'), ), + R.map(uniqueBy((asset) => asset.content.debugId)), R.map((assets) => opts['dry-run'] ? Ok({ From 8aae87e6750fbfa01aa24d878773a6c4be340522 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 14 Sep 2023 10:45:31 +0200 Subject: [PATCH 165/291] cli: add finding sourcemap by {filename.js}.map (#132) Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 18 ++++- .../_files/not-linked-sourcemaps/entry1.js | 6 ++ .../not-linked-sourcemaps/entry1.js.map | 11 +++ .../_files/not-linked-sourcemaps/entry2.js | 6 ++ .../not-linked-sourcemaps/entry2.js.map | 11 +++ .../processed-not-linked-sourcemaps/entry1.js | 8 ++ .../entry1.js.map | 16 ++++ .../processed-not-linked-sourcemaps/entry2.js | 8 ++ .../entry2.js.map | 16 ++++ tools/cli/tests/_helpers/testFiles.ts | 2 + .../cli/tests/sourcemaps/add-sources.spec.ts | 59 ++++++++++++++ tools/cli/tests/sourcemaps/process.spec.ts | 81 +++++++++++++++++++ tools/cli/tests/sourcemaps/run.spec.ts | 34 ++++++++ tools/cli/tests/sourcemaps/upload.spec.ts | 65 +++++++++++++++ tools/sourcemap-tools/src/SourceProcessor.ts | 14 ++-- 15 files changed, 346 insertions(+), 9 deletions(-) create mode 100644 tools/cli/tests/_files/not-linked-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/not-linked-sourcemaps/entry1.js.map create mode 100644 tools/cli/tests/_files/not-linked-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/not-linked-sourcemaps/entry2.js.map create mode 100644 tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js.map create mode 100644 tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js.map diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index 4dfacea2..789c3c74 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -14,11 +14,21 @@ import { readFile, writeFile, } from '@backtrace-labs/sourcemap-tools'; +import fs from 'fs'; export function toAsset(file: string): Asset { return { name: file, path: file }; } +export async function pathIfExists(file: string): Promise { + try { + await fs.promises.stat(file); + return file; + } catch (err) { + return undefined; + } +} + export function readSource(asset: T): ResultPromise, string> { return pipe( asset.path, @@ -45,6 +55,8 @@ export function readSourceAndSourceMap(sourceProcessor: SourceProcessor) { pipe( source.content, (content) => sourceProcessor.getSourceMapPathFromSource(content, sourceAsset.path), + (result) => result ?? pathIfExists(`${source.path}.map`), + (path) => (path ? Ok(path) : Err('could not find source map for source')), R.map((path) => ({ name: path, path } as Asset)), R.map(readSourceMap), R.map((sourceMap) => ({ source, sourceMap } as SourceAndSourceMap)), @@ -77,16 +89,18 @@ export function readSourceMapFromPathOrFromSource(sourceProcessor: SourceProcess return pipe( asset, loadSourceMap, - R.mapErr(() => pipe(asset, resolveSourceMapPathFromSource(sourceProcessor), R.map(loadSourceMap))), + R.mapErr(() => pipe(asset, resolveSourceMapPath(sourceProcessor), R.map(loadSourceMap))), ); }; } -function resolveSourceMapPathFromSource(sourceProcessor: SourceProcessor) { +function resolveSourceMapPath(sourceProcessor: SourceProcessor) { return function resolveSourceMapFromSource(asset: Asset) { return pipe( asset.path, (path) => sourceProcessor.getSourceMapPathFromSourceFile(path), + R.map((result) => result ?? pathIfExists(`${asset.path}.map`)), + R.map((path) => (path ? Ok(path) : Err('could not find source map for source'))), R.map((path) => ({ ...asset, name: path, diff --git a/tools/cli/tests/_files/not-linked-sourcemaps/entry1.js b/tools/cli/tests/_files/not-linked-sourcemaps/entry1.js new file mode 100644 index 00000000..7f7e9837 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-sourcemaps/entry1.js @@ -0,0 +1,6 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); \ No newline at end of file diff --git a/tools/cli/tests/_files/not-linked-sourcemaps/entry1.js.map b/tools/cli/tests/_files/not-linked-sourcemaps/entry1.js.map new file mode 100644 index 00000000..beb2bae4 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-sourcemaps/entry1.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/not-linked-sourcemaps/entry2.js b/tools/cli/tests/_files/not-linked-sourcemaps/entry2.js new file mode 100644 index 00000000..ac83a733 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-sourcemaps/entry2.js @@ -0,0 +1,6 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); \ No newline at end of file diff --git a/tools/cli/tests/_files/not-linked-sourcemaps/entry2.js.map b/tools/cli/tests/_files/not-linked-sourcemaps/entry2.js.map new file mode 100644 index 00000000..dfa7ab56 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-sourcemaps/entry2.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js new file mode 100644 index 00000000..06b37938 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js @@ -0,0 +1,8 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# debugId=4fe9a5c9-ab48-b240-9469-04aa2db251b6 \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js.map b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js.map new file mode 100644 index 00000000..3d5e7249 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "4fe9a5c9-ab48-b240-9469-04aa2db251b6", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 1!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js new file mode 100644 index 00000000..01807da2 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js @@ -0,0 +1,8 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# debugId=d538bdaa-8149-8111-25f0-b5c0f472366a \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js.map b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js.map new file mode 100644 index 00000000..aded2489 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "d538bdaa-8149-8111-25f0-b5c0f472366a", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 2!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_helpers/testFiles.ts b/tools/cli/tests/_helpers/testFiles.ts index ef21db28..9daf0b07 100644 --- a/tools/cli/tests/_helpers/testFiles.ts +++ b/tools/cli/tests/_helpers/testFiles.ts @@ -6,6 +6,8 @@ import path from 'path'; export type TestFiles = | 'no-sourcemaps' + | 'not-linked-sourcemaps' + | 'processed-not-linked-sourcemaps' | 'original' | 'processed' | 'processed-with-sources' diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index cc7643d1..6a3e2ef5 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -356,4 +356,63 @@ describe('add-sources', () => { }), ); }); + + describe('not linked sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemap paths', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'addSourcesToSourceMap'); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js.map`); + + for (const file of files) { + expect(spy).toBeCalledWith(expect.anything(), file); + } + }), + ); + + it( + 'should modify sourcesmaps in place', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index c948d8c3..b2370059 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -339,4 +339,85 @@ describe('process', () => { }), ); }); + + describe('not linked sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sources', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything()); + } + }), + ); + + it( + 'should modify sources in place', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + + it( + 'should modify sourcemaps in place', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index 66c3d112..7ed12755 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -463,4 +463,38 @@ describe('run', () => { }), ); }); + + describe('not linked sourcemaps', () => { + it( + 'should return processed sources and sourcemap paths', + withWorkingCopy('not-linked-sourcemaps', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = [...(await glob(`${workingDir}/*.js`)), ...(await glob(`${workingDir}/*.js.map`))]; + expect(result.data.flatMap((d) => [d.source.path, d.sourceMap.path])).toEqual( + expect.arrayContaining(expected), + ); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/upload.spec.ts b/tools/cli/tests/sourcemaps/upload.spec.ts index b187ec0c..924c436d 100644 --- a/tools/cli/tests/sourcemaps/upload.spec.ts +++ b/tools/cli/tests/sourcemaps/upload.spec.ts @@ -401,4 +401,69 @@ describe('upload', () => { }), ); }); + + describe('not linked processed sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('processed-not-linked-sourcemaps', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should append sourcemaps to archive', + withWorkingCopy('processed-not-linked-sourcemaps', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js.map`); + for (const file of files) { + expect(appendSpy).toHaveBeenCalledWith( + expect.stringContaining(path.basename(file)), + expect.anything(), + ); + } + }), + ); + + it( + 'should call upload', + withWorkingCopy('processed-not-linked-sourcemaps', async (workingDir) => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).toBeCalled(); + }), + ); + }); }); diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index de00a434..26e61f88 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -117,12 +117,12 @@ export class SourceProcessor { const source = sourceReadResult.data; if (!sourceMapPath) { - const sourceMapPathResult = this.getSourceMapPathFromSource(source, sourcePath); - if (sourceMapPathResult.isErr()) { - return sourceMapPathResult; + const pathFromSource = this.getSourceMapPathFromSource(source, sourcePath); + if (!pathFromSource) { + return Err('could not find source map for source'); } - sourceMapPath = sourceMapPathResult.data; + sourceMapPath = pathFromSource; } const sourceMapReadResult = await readFile(sourceMapPath); @@ -152,16 +152,16 @@ export class SourceProcessor { return sourceReadResult; } - return this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath); + return Ok(this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath)); } public getSourceMapPathFromSource(source: string, sourcePath: string) { const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); if (!match || !match[1]) { - return Err('could not find source map for source'); + return undefined; } - return Ok(path.resolve(path.dirname(sourcePath), match[1])); + return path.resolve(path.dirname(sourcePath), match[1]); } public async addSourcesToSourceMap( From 43995671160af11a428f1d5fad53e8f8d13466c8 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 14 Sep 2023 19:20:35 +0200 Subject: [PATCH 166/291] CLI Release (#137) --- package-lock.json | 142 +++++------------------------ tools/cli/package.json | 8 +- tools/rollup-plugin/package.json | 4 +- tools/sourcemap-tools/package.json | 2 +- tools/vite-plugin/package.json | 4 +- tools/webpack-plugin/package.json | 4 +- 6 files changed, 36 insertions(+), 128 deletions(-) diff --git a/package-lock.json b/package-lock.json index 50173449..ede65b22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4157,7 +4157,6 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -4980,7 +4979,6 @@ }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "dev": true, "license": "MIT" }, "node_modules/fastest-levenshtein": { @@ -5978,7 +5976,6 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, "license": "MIT" }, "node_modules/is-bigint": { @@ -7384,7 +7381,6 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { @@ -7418,7 +7414,6 @@ }, "node_modules/jsonc": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6", @@ -7434,7 +7429,6 @@ }, "node_modules/jsonc/node_modules/parse-json": { "version": "4.0.0", - "dev": true, "license": "MIT", "dependencies": { "error-ex": "^1.3.1", @@ -7446,7 +7440,6 @@ }, "node_modules/jsonc/node_modules/strip-bom": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7775,7 +7768,6 @@ }, "node_modules/minimist": { "version": "1.2.8", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7822,7 +7814,6 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "dev": true, "license": "MIT", "dependencies": { "minimist": "^1.2.6" @@ -9600,6 +9591,7 @@ }, "node_modules/source-map": { "version": "0.7.4", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">= 8" @@ -10008,7 +10000,6 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -12265,13 +12256,14 @@ }, "tools/cli": { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.4", + "version": "0.1.2", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.4", + "@backtrace-labs/sourcemap-tools": "^0.1.0", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3" + "glob": "^10.3.3", + "jsonc": "^2.0.0" }, "bin": { "backtrace-js": "lib/index.js" @@ -12282,7 +12274,6 @@ "@types/fs-extra": "^11.0.1", "fs-extra": "^11.1.1", "jest": "^29.5.0", - "jsonc": "^2.0.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, @@ -12292,10 +12283,10 @@ }, "tools/rollup-plugin": { "name": "@backtrace-labs/rollup-plugin", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.2" + "@backtrace-labs/sourcemap-tools": "^0.1.0" }, "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", @@ -12311,29 +12302,9 @@ "rollup": "^3.26.3" } }, - "tools/rollup-plugin/node_modules/@backtrace-labs/sourcemap-tools": { - "version": "0.0.2", - "license": "MIT", - "dependencies": { - "source-map": "^0.7.4", - "tar-stream": "^3.1.6" - }, - "engines": { - "node": ">=14" - } - }, - "tools/rollup-plugin/node_modules/tar-stream": { - "version": "3.1.6", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "tools/sourcemap-tools": { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.4", + "version": "0.1.0", "license": "MIT", "dependencies": { "tar-stream": "^3.1.6" @@ -12364,10 +12335,10 @@ }, "tools/vite-plugin": { "name": "@backtrace-labs/vite-plugin", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { - "@backtrace-labs/rollup-plugin": "^0.0.1" + "@backtrace-labs/rollup-plugin": "^0.0.2" }, "devDependencies": { "typescript": "^5.0.4" @@ -12381,10 +12352,10 @@ }, "tools/webpack-plugin": { "name": "@backtrace-labs/webpack-plugin", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.2" + "@backtrace-labs/sourcemap-tools": "^0.1.0" }, "devDependencies": { "@types/jest": "^29.5.1", @@ -12405,26 +12376,6 @@ "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" } - }, - "tools/webpack-plugin/node_modules/@backtrace-labs/sourcemap-tools": { - "version": "0.0.2", - "license": "MIT", - "dependencies": { - "source-map": "^0.7.4", - "tar-stream": "^3.1.6" - }, - "engines": { - "node": ">=14" - } - }, - "tools/webpack-plugin/node_modules/tar-stream": { - "version": "3.1.6", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } } }, "dependencies": { @@ -12879,10 +12830,10 @@ "@backtrace-labs/javascript-cli": { "version": "file:tools/cli", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.4", + "@backtrace-labs/sourcemap-tools": "^0.1.0", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", - "@types/fs-extra": "*", + "@types/fs-extra": "^11.0.1", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "fs-extra": "^11.1.1", @@ -12934,29 +12885,12 @@ "@backtrace-labs/rollup-plugin": { "version": "file:tools/rollup-plugin", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.2", + "@backtrace-labs/sourcemap-tools": "^0.1.0", "@rollup/plugin-typescript": "^11.1.2", "@types/jest": "^29.5.1", "jest": "^29.5.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" - }, - "dependencies": { - "@backtrace-labs/sourcemap-tools": { - "version": "0.0.2", - "requires": { - "source-map": "^0.7.4", - "tar-stream": "^3.1.6" - } - }, - "tar-stream": { - "version": "3.1.6", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - } } }, "@backtrace-labs/sdk-core": { @@ -12996,14 +12930,14 @@ "@backtrace-labs/vite-plugin": { "version": "file:tools/vite-plugin", "requires": { - "@backtrace-labs/rollup-plugin": "^0.0.1", + "@backtrace-labs/rollup-plugin": "^0.0.2", "typescript": "^5.0.4" } }, "@backtrace-labs/webpack-plugin": { "version": "file:tools/webpack-plugin", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.0.2", + "@backtrace-labs/sourcemap-tools": "^0.1.0", "@types/jest": "^29.5.1", "@types/webpack-sources": "^3.2.0 || ^1.4.1", "jest": "^29.5.0", @@ -13015,23 +12949,6 @@ "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0", "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - }, - "dependencies": { - "@backtrace-labs/sourcemap-tools": { - "version": "0.0.2", - "requires": { - "source-map": "^0.7.4", - "tar-stream": "^3.1.6" - } - }, - "tar-stream": { - "version": "3.1.6", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - } } }, "@bcoe/v8-coverage": { @@ -15357,7 +15274,6 @@ }, "error-ex": { "version": "1.3.2", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -15928,8 +15844,7 @@ "dev": true }, "fast-safe-stringify": { - "version": "2.1.1", - "dev": true + "version": "2.1.1" }, "fastest-levenshtein": { "version": "1.0.16", @@ -16561,8 +16476,7 @@ } }, "is-arrayish": { - "version": "0.2.1", - "dev": true + "version": "0.2.1" }, "is-bigint": { "version": "1.0.4", @@ -17468,8 +17382,7 @@ "dev": true }, "json-parse-better-errors": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "json-parse-even-better-errors": { "version": "2.3.1" @@ -17494,7 +17407,6 @@ }, "jsonc": { "version": "2.0.0", - "dev": true, "requires": { "fast-safe-stringify": "^2.0.6", "graceful-fs": "^4.1.15", @@ -17506,15 +17418,13 @@ "dependencies": { "parse-json": { "version": "4.0.0", - "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "strip-bom": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" } } }, @@ -17734,8 +17644,7 @@ } }, "minimist": { - "version": "1.2.8", - "dev": true + "version": "1.2.8" }, "minipass": { "version": "7.0.3" @@ -17766,7 +17675,6 @@ }, "mkdirp": { "version": "0.5.6", - "dev": true, "requires": { "minimist": "^1.2.6" } @@ -18908,7 +18816,8 @@ "dev": true }, "source-map": { - "version": "0.7.4" + "version": "0.7.4", + "dev": true }, "source-map-js": { "version": "1.0.2", @@ -19192,8 +19101,7 @@ "dev": true }, "strip-json-comments": { - "version": "3.1.1", - "dev": true + "version": "3.1.1" }, "supports-color": { "version": "7.2.0", diff --git a/tools/cli/package.json b/tools/cli/package.json index bd199ec1..9682cf24 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/javascript-cli", - "version": "0.0.4", + "version": "0.1.2", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -45,10 +45,11 @@ "/lib" ], "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.4", + "@backtrace-labs/sourcemap-tools": "^0.1.0", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", - "glob": "^10.3.3" + "glob": "^10.3.3", + "jsonc": "^2.0.0" }, "devDependencies": { "@types/command-line-args": "^5.2.0", @@ -56,7 +57,6 @@ "@types/fs-extra": "^11.0.1", "fs-extra": "^11.1.1", "jest": "^29.5.0", - "jsonc": "^2.0.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json index 7a7b8177..1fb5ca67 100644 --- a/tools/rollup-plugin/package.json +++ b/tools/rollup-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/rollup-plugin", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace Rollup plugin", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.2" + "@backtrace-labs/sourcemap-tools": "^0.1.0" }, "peerDependencies": { "rollup": "^3.26.3" diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 89197592..9aa651dd 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sourcemap-tools", - "version": "0.0.4", + "version": "0.1.0", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/tools/vite-plugin/package.json b/tools/vite-plugin/package.json index 088c434a..0a12ab5f 100644 --- a/tools/vite-plugin/package.json +++ b/tools/vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/vite-plugin", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace Vite plugin", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -45,7 +45,7 @@ "vite": "^4.4.9" }, "dependencies": { - "@backtrace-labs/rollup-plugin": "^0.0.1" + "@backtrace-labs/rollup-plugin": "^0.0.2" }, "devDependencies": { "typescript": "^5.0.4" diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 961cc0b0..26bedf74 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/webpack-plugin", - "version": "0.0.1", + "version": "0.0.2", "description": "Backtrace Webpack plugin", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -58,7 +58,7 @@ "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.0.2" + "@backtrace-labs/sourcemap-tools": "^0.1.0" }, "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" From 8fbb018d2e49212cfbf62edcacd291ce7df9746a Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 15 Sep 2023 10:43:19 +0200 Subject: [PATCH 167/291] cli: fix unit tests (#138) * cli: disable output messages in logger when silent is enabled * cli: add missing await in mockOptions * sourcemap tools: change error embedding in messages in common --------- Co-authored-by: Sebastian Alex --- tools/cli/src/logger.ts | 2 +- tools/cli/tests/sourcemaps/run.spec.ts | 2 +- tools/sourcemap-tools/src/helpers/common.ts | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/cli/src/logger.ts b/tools/cli/src/logger.ts index de29efd8..525e4d27 100644 --- a/tools/cli/src/logger.ts +++ b/tools/cli/src/logger.ts @@ -57,7 +57,7 @@ export class CliLogger implements Logger { public log(level: CliLogLevel, value: unknown | Error, ...args: unknown[]) { const isOutput = level === 'output'; - if (this.options.silent && !isOutput) { + if (this.options.silent) { return; } diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index 7ed12755..ea4081a0 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -16,7 +16,7 @@ import { hashFiles, withWorkingCopy } from '../_helpers/testFiles'; async function mockOptions(workingDir: string, options: CliOptions) { const configName = `${randomUUID()}.backtracejsrc`; const fullPath = path.join(workingDir, configName); - fs.promises.writeFile(fullPath, JSON.stringify(options)); + await fs.promises.writeFile(fullPath, JSON.stringify(options)); return fullPath; } diff --git a/tools/sourcemap-tools/src/helpers/common.ts b/tools/sourcemap-tools/src/helpers/common.ts index c5865434..4205e7ba 100644 --- a/tools/sourcemap-tools/src/helpers/common.ts +++ b/tools/sourcemap-tools/src/helpers/common.ts @@ -10,7 +10,7 @@ export async function readFile(file: string): ResultPromise { try { return Ok(await fs.promises.readFile(file, 'utf-8')); } catch (err) { - return Err(`failed to read file: ${err instanceof Error ? err.message : 'unknown error'}`); + return Err(`failed to read file: ${err}`); } } @@ -20,7 +20,7 @@ export function writeFile(path: string) { await fs.promises.writeFile(path, content); return Ok(content); } catch (err) { - return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + return Err(`failed to write file: ${err}`); } }; } @@ -29,7 +29,7 @@ export function createWriteStream(path: string) { try { return Ok(fs.createWriteStream(path)); } catch (err) { - return Err(`failed to create write stream to file: ${err instanceof Error ? err.message : 'unknown error'}`); + return Err(`failed to create write stream to file: ${err}`); } } @@ -52,7 +52,7 @@ export async function writeStream(file: StreamFile) { output.on('finish', () => resolve(Ok(file))); }); } catch (err) { - return Err(`failed to write file: ${err instanceof Error ? err.message : 'unknown error'}`); + return Err(`failed to write file: ${err}`); } } @@ -60,7 +60,7 @@ export function parseJSON(content: string): Result { try { return Ok(JSON.parse(content)); } catch (err) { - return Err(`failed to parse content: ${err instanceof Error ? err.message : 'unknown error'}`); + return Err(`failed to parse content: ${err}`); } } From 323a67856505e8d7f60888c3ab31f547bf3499a0 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:24:14 -0400 Subject: [PATCH 168/291] Adding sourcemap support to react example (#133) Co-authored-by: Adam Cronin --- examples/sdk/react/.backtracejsrc | 12 ++++++++++++ examples/sdk/react/README.md | 8 ++++---- examples/sdk/react/package.json | 3 ++- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 examples/sdk/react/.backtracejsrc diff --git a/examples/sdk/react/.backtracejsrc b/examples/sdk/react/.backtracejsrc new file mode 100644 index 00000000..6ee9d504 --- /dev/null +++ b/examples/sdk/react/.backtracejsrc @@ -0,0 +1,12 @@ +{ + "path": "./build/static/js/*.js", + "run": { + "process": true, + "upload": true, + "add-sources": true + }, + "upload": { + "url": "https://:6098/post?format=sourcemap&token=", + "include-sources": true + } +} diff --git a/examples/sdk/react/README.md b/examples/sdk/react/README.md index 0914846e..cf500584 100644 --- a/examples/sdk/react/README.md +++ b/examples/sdk/react/README.md @@ -1,8 +1,9 @@ ## Running the Example 1. Add your universe and token to the SUBMISSION_URL in src/consts.ts -2. `npm install` -3. `npm run serve` (this will create and serve a production build as you can't see the fallback component in +2. Update the upload url in the .backtracejsrc file. Your Symbol access token can be found in Project Settings > Symbols > Access tokens +3. `npm install` +4. `npm run serve` (this will create and serve a production build as you can't see the fallback component in development) ## Available Scripts @@ -11,8 +12,7 @@ In the project directory, you can run: ### `npm run serve` -Creates a production build and serves the demo app for testing purposes. The ErrorBoundary will not display the fallback -component in development mode and that's why this command is useful. +Creates a production build, uploads sourcemaps & source code, and serves the demo app for testing purposes. The ErrorBoundary will not display the fallback component in development mode and that's why this command is useful. ### `npm start` diff --git a/examples/sdk/react/package.json b/examples/sdk/react/package.json index a05471b6..9e342724 100644 --- a/examples/sdk/react/package.json +++ b/examples/sdk/react/package.json @@ -18,7 +18,8 @@ "clean": "rimraf \"build\"", "format": "prettier --write '**/*.ts'", "lint": "eslint . --ext .ts", - "serve": "npm run build && serve -s build" + "upload-source": "backtrace-js run", + "serve": "npm run build && npm run upload-source && serve -s build" }, "browserslist": { "production": [ From 85009bf51ca8f1b073a1ff0773ba19c624502e13 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 17:11:12 +0200 Subject: [PATCH 169/291] Single client instance (#134) --- package-lock.json | 20 +++++--------------- packages/browser/src/BacktraceClient.ts | 9 ++++----- packages/node/package.json | 2 +- packages/node/src/BacktraceClient.ts | 14 ++++++++------ packages/react/package.json | 3 ++- packages/react/src/BacktraceClient.ts | 15 ++++++++------- packages/sdk-core/src/BacktraceCoreClient.ts | 5 +++++ 7 files changed, 33 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index ede65b22..26191b63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12198,7 +12198,7 @@ "version": "0.0.3", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.2", + "@backtrace-labs/sdk-core": "^0.0.3", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -12216,17 +12216,13 @@ "node": ">=14" } }, - "packages/node/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", - "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" - }, "packages/react": { "name": "@backtrace-labs/react", "version": "0.0.3", "license": "MIT", "dependencies": { - "@backtrace-labs/browser": "^0.0.3" + "@backtrace-labs/browser": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.3" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -12847,7 +12843,7 @@ "@backtrace-labs/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.2", + "@backtrace-labs/sdk-core": "0.0.3", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -12858,19 +12854,13 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" - }, - "dependencies": { - "@backtrace-labs/sdk-core": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.2.tgz", - "integrity": "sha512-o7sWq8FzOr9FQE+8P2slJJNldQFcR6y3lwaNQDkOp/vgwD5wuSxs6GRzQecTpsxMOwCWT1wFQSO4dulZIRMfIQ==" - } } }, "@backtrace-labs/react": { "version": "file:packages/react", "requires": { "@backtrace-labs/browser": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.3", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index adc805ab..95bf6a2b 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -18,7 +18,6 @@ import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; export class BacktraceClient extends BacktraceCoreClient { private readonly _disposeController: AbortController = new AbortController(); - protected static _instance?: BacktraceClient; constructor( options: BacktraceConfiguration, requestHandler: BacktraceRequestHandler, @@ -59,13 +58,13 @@ export class BacktraceClient extends BacktraceCoreClient { options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void, ): BacktraceClient { - if (this._instance) { - return this._instance; + if (this.instance) { + return this.instance; } const builder = this.builder(options); build && build(builder); this._instance = builder.build(); - return this._instance; + return this._instance as BacktraceClient; } /** @@ -73,7 +72,7 @@ export class BacktraceClient extends BacktraceCoreClient { * Otherwise undefined. */ public static get instance(): BacktraceClient | undefined { - return this._instance; + return this._instance as BacktraceClient; } /** diff --git a/packages/node/package.json b/packages/node/package.json index 0aa16b9f..fb952c90 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.2", + "@backtrace-labs/sdk-core": "^0.0.3", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 9f405ecd..7643bcd6 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -21,7 +21,6 @@ import { BacktraceDatabaseFileStorageProvider } from './database/BacktraceDataba export class BacktraceClient extends BacktraceCoreClient { private _listeners: Record = {}; - private static _instance?: BacktraceClient; constructor( options: CoreConfiguration, requestHandler: BacktraceRequestHandler, @@ -61,14 +60,17 @@ export class BacktraceClient extends BacktraceCoreClient { * @param build builder * @returns backtrace client */ - public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceClientBuilder) => void) { - if (this._instance) { - return this._instance; + public static initialize( + options: BacktraceConfiguration, + build?: (builder: BacktraceClientBuilder) => void, + ): BacktraceClient { + if (this.instance) { + return this.instance; } const builder = this.builder(options); build && build(builder); this._instance = builder.build(); - return this._instance; + return this._instance as BacktraceClient; } /** @@ -76,7 +78,7 @@ export class BacktraceClient extends BacktraceCoreClient { * Otherwise undefined. */ public static get instance(): BacktraceClient | undefined { - return this._instance; + return this._instance as BacktraceClient; } /** diff --git a/packages/react/package.json b/packages/react/package.json index 1d971a3c..ca65e5e3 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -47,7 +47,8 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/browser": "^0.0.3" + "@backtrace-labs/browser": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.3" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index d40ff4e3..67ad8e60 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -11,8 +11,6 @@ import { AGENT } from './agentDefinition'; import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; export class BacktraceClient extends BrowserClient { - protected static _instance?: BacktraceClient; - constructor( options: BacktraceConfiguration, requestHandler: BacktraceRequestHandler, @@ -43,14 +41,17 @@ export class BacktraceClient extends BrowserClient { * @param build builder * @returns backtrace client */ - public static initialize(options: BacktraceConfiguration, build?: (builder: BacktraceReactClientBuilder) => void) { - if (this._instance) { - return this._instance; + public static initialize( + options: BacktraceConfiguration, + build?: (builder: BacktraceReactClientBuilder) => void, + ): BacktraceClient { + if (this.instance) { + return this.instance; } const builder = this.builder(options); build && build(builder); this._instance = builder.build(); - return this._instance; + return this._instance as BacktraceClient; } /** @@ -58,6 +59,6 @@ export class BacktraceClient extends BrowserClient { * Otherwise undefined. */ public static get instance(): BacktraceClient | undefined { - return this._instance; + return this._instance as BacktraceClient; } } diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 60653f55..99b0a6b2 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -24,6 +24,11 @@ import { MetricsBuilder } from './modules/metrics/MetricsBuilder'; import { SingleSessionProvider } from './modules/metrics/SingleSessionProvider'; import { RateLimitWatcher } from './modules/rateLimiter/RateLimitWatcher'; export abstract class BacktraceCoreClient { + /** + * Backtrace client instance + */ + protected static _instance?: BacktraceCoreClient; + /** * Determines if the client is enabled. */ From 97e5c4872312b7eab7781eb5d58682fa07054f9c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 17:21:57 +0200 Subject: [PATCH 170/291] Native Submission URLs (#136) * Native Submission URLs * Fix plcrashreporter submission url and modify submit url based on the expected format position * Use split to recognize valid path * Unit test --- .../model/http/SubmissionUrlInformation.ts | 37 ++++++++++ .../http/submissionUrlGenerationTests.spec.ts | 68 ++++++++++++++++++- 2 files changed, 103 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts b/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts index fb654d16..61e35107 100644 --- a/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts +++ b/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts @@ -30,6 +30,22 @@ export class SubmissionUrlInformation { return result.href; } + /** + * Converts full submission JSON URL to PlCrashReporter submission URL + * @param submissionUrl Backtrace Submission URL + */ + public static toPlCrashReporterSubmissionUrl(submissionUrl: string): string { + return this.changeSubmissionFormat(submissionUrl, 'plcrash'); + } + + /** + * Converts full submission JSON URL to minidump submission URL + * @param submissionUrl Backtrace Submission URL + */ + public static toMinidumpSubmissionUrl(submissionUrl: string): string { + return this.changeSubmissionFormat(submissionUrl, 'minidump'); + } + /** * Find the universe based on the submission URL * @param submissionUrl submission URL @@ -71,4 +87,25 @@ export class SubmissionUrlInformation { return url.searchParams.get('token'); } + + public static changeSubmissionFormat(submissionUrl: string, desiredFormat: 'json' | 'plcrash' | 'minidump') { + const submitIndex = submissionUrl.indexOf(this.SUBMIT_PREFIX); + const url = new URL(submissionUrl); + if (submitIndex !== -1) { + const pathParts = url.pathname.split('/'); + // path parts are prefixed with '/' character. Expected and valid submit format is: + // /universe/token/format + // splitting pathname should generate at least 4 elements ('', universe, token, format) + // if pathParts length is not equal to 4 then the invalid were passed. + const expectedMinimalPathParts = 4; + if (pathParts.length < expectedMinimalPathParts) { + return submissionUrl; + } + pathParts[3] = desiredFormat; + url.pathname = pathParts.join('/'); + } else { + url.searchParams.set('format', desiredFormat); + } + return url.href; + } } diff --git a/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts b/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts index 5b2c7404..43876191 100644 --- a/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts +++ b/packages/sdk-core/tests/http/submissionUrlGenerationTests.spec.ts @@ -1,7 +1,11 @@ import { SubmissionUrlInformation } from '../../src/model/http'; describe('Submission Url generation tests', () => { + const submissionTypes: Array<'plcrash' | 'minidump'> = ['minidump', 'plcrash']; describe('Submit', () => { - const sampleSubmitUrl = `https://submit.backtrace.io/name/000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111/json`; + function createSubmissionUrl(format = 'json') { + return `https://submit.backtrace.io/name/000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111/${format}`; + } + const sampleSubmitUrl = createSubmissionUrl(); it('Should use submit url from the configuration options', () => { expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(sampleSubmitUrl)).toBe(sampleSubmitUrl); }); @@ -9,12 +13,49 @@ describe('Submission Url generation tests', () => { it(`Shouldnt mix token with the submission url`, () => { expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(sampleSubmitUrl, '123')).toBe(sampleSubmitUrl); }); + + for (const submissionType of submissionTypes) { + describe(`${submissionType} submission url`, () => { + it(`Should convert submission URL to the ${submissionType} submission URL`, () => { + const expectedUrl = createSubmissionUrl(submissionType); + const submissionUrl = createSubmissionUrl(); + + expect(SubmissionUrlInformation.changeSubmissionFormat(submissionUrl, submissionType)).toBe( + expectedUrl, + ); + }); + + it(`Should convert submission URL to the ${submissionType} URL and ignore query parameters`, () => { + const queryParameters = '?foo=bar&baz=123'; + const expectedUrl = createSubmissionUrl(submissionType) + queryParameters; + const submissionUrl = createSubmissionUrl() + queryParameters; + + expect(SubmissionUrlInformation.changeSubmissionFormat(submissionUrl, submissionType)).toBe( + expectedUrl, + ); + }); + + it(`Should convert submission URL to the ${submissionType} with multiple empty path parts`, () => { + const emptyPathParts = '//////'; + const expectedUrl = createSubmissionUrl(submissionType) + emptyPathParts; + const submissionUrl = createSubmissionUrl() + emptyPathParts; + + expect(SubmissionUrlInformation.changeSubmissionFormat(submissionUrl, submissionType)).toBe( + expectedUrl, + ); + }); + }); + } }); describe('Direct URL', () => { + function createDirectUrl(format = 'json') { + return `${hostname}/post?format=${format}&token=${token}`; + } + const hostname = `https://instance.sp.backtrace.io`; const token = `000000000000a1eb7ae344f6e002de2e20c81fbdedf6991c2f3bb45b11111111`; - const fullUrl = `${hostname}/post?format=json&token=${token}`; + const fullUrl = createDirectUrl(); it('Should use the direct url if the token is not available', () => { expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(fullUrl)).toBe(fullUrl); }); @@ -33,5 +74,28 @@ describe('Submission Url generation tests', () => { expect(SubmissionUrlInformation.toJsonReportSubmissionUrl(fullUrl, testedToken)).toBe(expectedUrl); }); + + for (const submissionType of submissionTypes) { + describe(`${submissionType} submission url`, () => { + it(`Should convert submission URL to the ${submissionType} submission URL`, () => { + const expectedUrl = createDirectUrl(submissionType); + const submissionUrl = createDirectUrl(); + + expect(SubmissionUrlInformation.changeSubmissionFormat(submissionUrl, submissionType)).toBe( + expectedUrl, + ); + }); + + it(`Should convert submission URL to the minidump ${submissionType} URL and ignore query parameters`, () => { + const queryParameters = '&foo=bar&baz=123'; + const expectedUrl = createDirectUrl(submissionType) + queryParameters; + const submissionUrl = createDirectUrl() + queryParameters; + + expect(SubmissionUrlInformation.changeSubmissionFormat(submissionUrl, submissionType)).toBe( + expectedUrl, + ); + }); + }); + } }); }); From 1c09ebd20fdf254bd49cd2d4e393b3b4d996ff31 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 17:22:14 +0200 Subject: [PATCH 171/291] Allow Backtrace client to use core client attributes for any use cases (#139) * Single client instance * Allow Backtrace client to use core client attributes for any use cases --- packages/sdk-core/src/BacktraceCoreClient.ts | 16 ++++++++-------- .../src/modules/attribute/AttributeManager.ts | 5 ++++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 99b0a6b2..d3787786 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -60,14 +60,14 @@ export abstract class BacktraceCoreClient { * Available cached client attributes */ public get attributes(): Record { - return this._attributeManager.get().attributes; + return this.attributeManager.get().attributes; } /** * Available cached client annotatations */ public get annotations(): Record { - return this._attributeManager.get().annotations; + return this.attributeManager.get().annotations; } public get metrics(): BacktraceMetrics | undefined { @@ -91,10 +91,10 @@ export abstract class BacktraceCoreClient { public readonly attachments: BacktraceAttachment[]; protected readonly breadcrumbsManager?: BreadcrumbsManager; + protected readonly attributeManager: AttributeManager; private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; - private readonly _attributeManager: AttributeManager; private readonly _metrics?: BacktraceMetrics; private readonly _database?: BacktraceDatabase; private readonly _sessionProvider: BacktraceSessionProvider; @@ -124,12 +124,12 @@ export abstract class BacktraceCoreClient { attributeProviders.push(new UserAttributeProvider(this._setup.options.userAttributes)); } - this._attributeManager = new AttributeManager(attributeProviders); + this.attributeManager = new AttributeManager(attributeProviders); this._dataBuilder = new BacktraceDataBuilder( this._sdkOptions, stackTraceConverter, - this._attributeManager, + this.attributeManager, new DebugIdProvider(stackTraceConverter, this._setup.debugIdMapProvider), ); @@ -148,7 +148,7 @@ export abstract class BacktraceCoreClient { const metrics = new MetricsBuilder( this.options, this._sessionProvider, - this._attributeManager, + this.attributeManager, this._setup.requestHandler, ).build(); @@ -158,7 +158,7 @@ export abstract class BacktraceCoreClient { if (this.options.breadcrumbs?.enable !== false) { this.breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); - this._attributeManager.addProvider(this.breadcrumbsManager); + this.attributeManager.addProvider(this.breadcrumbsManager); this.attachments.push(this.breadcrumbsManager.breadcrumbsStorage); } @@ -177,7 +177,7 @@ export abstract class BacktraceCoreClient { */ public addAttribute(attributes: () => Record): void; public addAttribute(attributes: Record | (() => Record)) { - this._attributeManager.add(attributes); + this.attributeManager.add(attributes); } /** diff --git a/packages/sdk-core/src/modules/attribute/AttributeManager.ts b/packages/sdk-core/src/modules/attribute/AttributeManager.ts index 2a99d7ab..d40f812e 100644 --- a/packages/sdk-core/src/modules/attribute/AttributeManager.ts +++ b/packages/sdk-core/src/modules/attribute/AttributeManager.ts @@ -45,13 +45,16 @@ export class AttributeManager { * Gets client attributes * @returns Report attribute - client attributes and annotations */ - public get(): ReportData { + public get(attributeType?: 'scoped' | 'dynamic'): ReportData { const result = { annotations: {}, attributes: {}, }; for (const attributeProvider of this._attributeProviders) { + if (attributeType && attributeProvider.type != attributeType) { + continue; + } const providerResult = ReportDataBuilder.build(attributeProvider.get()); result.attributes = { From e026a6c6f0509f07a51a27ff7cc8c74dc1cce189 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 18:21:13 +0200 Subject: [PATCH 172/291] Feature/attachment management (#140) * Single client instance * Attachment management * Extended attachment support * Return readonly attachment type * Tests fix --- examples/sdk/node/package-lock.json | 40 +++++++++++++++++++ packages/browser/README.md | 3 +- .../browser/tests/client/clientTests.spec.ts | 18 ++++++++- packages/node/README.md | 3 +- .../node/tests/client/clientTests.spec.ts | 2 +- packages/react/README.md | 3 +- packages/sdk-core/src/BacktraceCoreClient.ts | 29 ++++++++++---- .../sdk-core/tests/client/clientTests.spec.ts | 4 +- 8 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 examples/sdk/node/package-lock.json diff --git a/examples/sdk/node/package-lock.json b/examples/sdk/node/package-lock.json new file mode 100644 index 00000000..4488c3fe --- /dev/null +++ b/examples/sdk/node/package-lock.json @@ -0,0 +1,40 @@ +{ + "name": "@backtrace-labs/node-example", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace-labs/node-example", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "typescript": "^5.1.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + } + }, + "dependencies": { + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true + } + } +} diff --git a/packages/browser/README.md b/packages/browser/README.md index 58a9e9a3..8138f21b 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -194,7 +194,7 @@ const options = { const client = BacktraceClient.initialize(options); // Later decide to add an attachment to all reports -client.attachments.push(attachment2) +client.addAttachment(attachment2) // After catching an exception and generating a report try { @@ -345,6 +345,7 @@ The following options are available for the BacktraceClientOptions passed when i | Name | Return Type | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | | `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | | `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | | `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | | `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index 950a8d08..74cad17c 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -1,4 +1,9 @@ -import { BacktraceReport, BacktraceRequestHandler, BacktraceUint8ArrayAttachment } from '@backtrace-labs/sdk-core'; +import { + BacktraceAttachment, + BacktraceReport, + BacktraceRequestHandler, + BacktraceUint8ArrayAttachment, +} from '@backtrace-labs/sdk-core'; import { BacktraceClient } from '../../src/'; describe('Client tests', () => { @@ -65,10 +70,19 @@ describe('Client tests', () => { const testedAttachment = new BacktraceUint8ArrayAttachment('client-add-test', new Uint8Array(0)); client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); - client.attachments.push(testedAttachment); + client.addAttachment(testedAttachment); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(1); expect(client.attachments[0]).toEqual(testedAttachment); }); + + it(`Should not allow to add attachments via attachments getter`, async () => { + const testedAttachment = new BacktraceUint8ArrayAttachment('client-add-test', new Uint8Array(0)); + client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); + + (client.attachments as BacktraceAttachment[]).push(testedAttachment); + expect(client.attachments).toBeDefined(); + expect(client.attachments.length).toEqual(0); + }); }); }); diff --git a/packages/node/README.md b/packages/node/README.md index 41dbc317..3983f2e3 100644 --- a/packages/node/README.md +++ b/packages/node/README.md @@ -191,7 +191,7 @@ const options = { const client = BacktraceClient.initialize(options); // Later decide to add an attachment to all reports -client.attachments.push(bufferAttachment) +client.addAttachment(bufferAttachment) // After catching an exception and generating a report try { @@ -399,6 +399,7 @@ The following options are available for the BacktraceClientOptions passed when i | Name | Return Type | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | | `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | | `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | | `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | | `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | Promise | Asynchronously sends error data to Backtrace | diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index efd67f3f..27e57e49 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -81,7 +81,7 @@ describe('Client tests', () => { const testedAttachment = new BacktraceFileAttachment(sampleFile); client = BacktraceClient.builder(defaultClientOptions).useRequestHandler(requestHandler).build(); - client.attachments.push(testedAttachment); + client.addAttachment(testedAttachment); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(1); expect(client.attachments[0]).toEqual(testedAttachment); diff --git a/packages/react/README.md b/packages/react/README.md index c701bc94..b038fcca 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -223,7 +223,7 @@ const options = { const client = BacktraceClient.initialize(options); // Later decide to add an attachment to all reports -client.attachments.push(attachment2) +client.addAttachment(attachment2) // After catching an exception and generating a report try { @@ -374,6 +374,7 @@ The following options are available for the BacktraceClientOptions passed when i | Name | Return Type | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | | `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | | `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | | `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | | `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index d3787786..c3627ab6 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -79,19 +79,24 @@ export abstract class BacktraceCoreClient { } /** - * Report database used by the client + * Client cached attachments */ - public get database(): BacktraceDatabase | undefined { - return this._database; + public get attachments(): readonly BacktraceAttachment[] { + // always return a copy of attachments + return [...this._attachments]; } /** - * Client cached attachments + * Report database used by the client */ - public readonly attachments: BacktraceAttachment[]; + public get database(): BacktraceDatabase | undefined { + return this._database; + } protected readonly breadcrumbsManager?: BreadcrumbsManager; protected readonly attributeManager: AttributeManager; + + private readonly _attachments: BacktraceAttachment[]; private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; @@ -133,7 +138,7 @@ export abstract class BacktraceCoreClient { new DebugIdProvider(stackTraceConverter, this._setup.debugIdMapProvider), ); - this.attachments = this.options.attachments ?? []; + this._attachments = this.options.attachments ?? []; if (this._setup.databaseStorageProvider && this.options?.database?.enable === true) { this._database = new BacktraceDatabase( @@ -158,8 +163,8 @@ export abstract class BacktraceCoreClient { if (this.options.breadcrumbs?.enable !== false) { this.breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); + this._attachments.push(this.breadcrumbsManager.breadcrumbsStorage); this.attributeManager.addProvider(this.breadcrumbsManager); - this.attachments.push(this.breadcrumbsManager.breadcrumbsStorage); } this.initialize(); @@ -180,6 +185,14 @@ export abstract class BacktraceCoreClient { this.attributeManager.add(attributes); } + /** + * Add attachment to the client + * @param attachment attachment + */ + public addAttachment(attachment: BacktraceAttachment): void { + this._attachments.push(attachment); + } + /** * Asynchronously sends error data to Backtrace. * @param error Error or message @@ -286,7 +299,7 @@ export abstract class BacktraceCoreClient { report: BacktraceReport, reportAttachments: BacktraceAttachment[], ): BacktraceAttachment[] { - return [...this.attachments, ...(report.attachments ?? []), ...(reportAttachments ?? [])]; + return [...this._attachments, ...(report.attachments ?? []), ...(reportAttachments ?? [])]; } private skipFrameOnMessage(data: Error | string): number { diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index 79032dab..50321203 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -81,7 +81,7 @@ describe('Client tests', () => { }, }; - client.attachments.push(inMemoryAttachment); + client.addAttachment(inMemoryAttachment); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(1); @@ -92,7 +92,7 @@ describe('Client tests', () => { const expectedAttachmentContent = 'test'; const testedAttachment = new BacktraceStringAttachment('client-add-test', expectedAttachmentContent); const client = BacktraceTestClient.buildFakeClient(disabledBreadcrumbsConfiguration); - client.attachments.push(testedAttachment); + client.addAttachment(testedAttachment); expect(client.attachments).toBeDefined(); expect(client.attachments.length).toEqual(1); From 3281527a7e626a6fee84ea4630d8ffbeef31d14f Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 18:28:34 +0200 Subject: [PATCH 173/291] Expose parsers from react client --- packages/react/src/index.ts | 2 ++ packages/react/tsconfig.json | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 5f9c366f..6fd0841f 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,3 +1,5 @@ export * from '@backtrace-labs/browser'; export { BacktraceClient } from './BacktraceClient'; +export * from './builder/BacktraceReactClientBuilder'; +export * from './converters/ReactStackTraceConverter'; export * from './ErrorBoundary'; diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index c66b8503..67296241 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./lib", - "jsx": "react" + "jsx": "react", + "composite": true }, "exclude": ["node_modules", "tests", "lib"], "references": [ From 00f5ce27d08473ae6f0f57f2889c251a2688f78e Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 18:39:58 +0200 Subject: [PATCH 174/291] Sdk-Core release 0.0.4 (#141) --- package-lock.json | 14 +++++++------- packages/browser/package.json | 2 +- packages/node/package.json | 2 +- packages/react/package.json | 2 +- packages/sdk-core/package.json | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 26191b63..12a0246a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12177,7 +12177,7 @@ "version": "0.0.3", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -12198,7 +12198,7 @@ "version": "0.0.3", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -12222,7 +12222,7 @@ "license": "MIT", "dependencies": { "@backtrace-labs/browser": "^0.0.3", - "@backtrace-labs/sdk-core": "^0.0.3" + "@backtrace-labs/sdk-core": "^0.0.4" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -12241,7 +12241,7 @@ }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", - "version": "0.0.3", + "version": "0.0.4", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", @@ -12809,7 +12809,7 @@ "@backtrace-labs/browser": { "version": "file:packages/browser", "requires": { - "@backtrace-labs/sdk-core": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", @@ -12843,7 +12843,7 @@ "@backtrace-labs/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -12860,7 +12860,7 @@ "version": "file:packages/react", "requires": { "@backtrace-labs/browser": "^0.0.3", - "@backtrace-labs/sdk-core": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", diff --git a/packages/browser/package.json b/packages/browser/package.json index 341f532a..8a03859e 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "ua-parser-js": "^1.0.35" } } diff --git a/packages/node/package.json b/packages/node/package.json index fb952c90..31e7b423 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.3", + "@backtrace-labs/sdk-core": "^0.0.4", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/react/package.json b/packages/react/package.json index ca65e5e3..82180e00 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@backtrace-labs/browser": "^0.0.3", - "@backtrace-labs/sdk-core": "^0.0.3" + "@backtrace-labs/sdk-core": "^0.0.4" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index c8f81fc6..4fe166ea 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sdk-core", - "version": "0.0.3", + "version": "0.0.4", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From 1aa7ec61e7bcbf91f8bf021cc0e967e14a21b1c8 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 18:46:38 +0200 Subject: [PATCH 175/291] Browser release 0.0.4 (#142) * Sdk-Core release 0.0.4 * Browser release 0.0.4 --- package-lock.json | 6 +++--- packages/browser/package.json | 2 +- packages/react/package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12a0246a..15dd9ab8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12174,7 +12174,7 @@ }, "packages/browser": { "name": "@backtrace-labs/browser", - "version": "0.0.3", + "version": "0.0.4", "license": "MIT", "dependencies": { "@backtrace-labs/sdk-core": "^0.0.4", @@ -12221,7 +12221,7 @@ "version": "0.0.3", "license": "MIT", "dependencies": { - "@backtrace-labs/browser": "^0.0.3", + "@backtrace-labs/browser": "^0.0.4", "@backtrace-labs/sdk-core": "^0.0.4" }, "devDependencies": { @@ -12859,7 +12859,7 @@ "@backtrace-labs/react": { "version": "file:packages/react", "requires": { - "@backtrace-labs/browser": "^0.0.3", + "@backtrace-labs/browser": "^0.0.4", "@backtrace-labs/sdk-core": "^0.0.4", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", diff --git a/packages/browser/package.json b/packages/browser/package.json index 8a03859e..86bdb82f 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/browser", - "version": "0.0.3", + "version": "0.0.4", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/react/package.json b/packages/react/package.json index 82180e00..0ba0ff8a 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -47,7 +47,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/browser": "^0.0.3", + "@backtrace-labs/browser": "^0.0.4", "@backtrace-labs/sdk-core": "^0.0.4" }, "peerDependencies": { From ae497a9aa11bf12d686261218dfec832b6f27bd8 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 18:49:28 +0200 Subject: [PATCH 176/291] Node release 0.0.4 (#143) --- package-lock.json | 2 +- packages/node/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15dd9ab8..1a430dcb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12195,7 +12195,7 @@ }, "packages/node": { "name": "@backtrace-labs/node", - "version": "0.0.3", + "version": "0.0.4", "license": "MIT", "dependencies": { "@backtrace-labs/sdk-core": "^0.0.4", diff --git a/packages/node/package.json b/packages/node/package.json index 31e7b423..45e23b97 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/node", - "version": "0.0.3", + "version": "0.0.4", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 550d6309bb0c2e629ff73f8d3baffb2fae3fafec Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Sep 2023 18:52:02 +0200 Subject: [PATCH 177/291] React release 0.0.4 (#144) --- package-lock.json | 2 +- packages/react/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1a430dcb..c90e21f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12218,7 +12218,7 @@ }, "packages/react": { "name": "@backtrace-labs/react", - "version": "0.0.3", + "version": "0.0.4", "license": "MIT", "dependencies": { "@backtrace-labs/browser": "^0.0.4", diff --git a/packages/react/package.json b/packages/react/package.json index 0ba0ff8a..4336ce61 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/react", - "version": "0.0.3", + "version": "0.0.4", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { From 19bd2485de2e753213314b906a1be448fb97ef6d Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Fri, 15 Sep 2023 16:02:03 -0700 Subject: [PATCH 178/291] Landing page readme --- README.md | 37 +++++++++++++++++++++++++++++++++++-- sl.bt.png | Bin 0 -> 65325 bytes 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 sl.bt.png diff --git a/README.md b/README.md index 492245a8..030f411c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,36 @@ -# Backtrace-Javascript +

+ + Backtrace + +

-Home of the all Backtrace's JavaScript integrations. +# Sauce Labs backtrace-javscript SDKs + +These Javascript SDKs are a radical step forward in error reporting for web applications, with a number of exciting new features. + +
+
+
    +
  • Advanced breadcrumbs
  • +
  • Attachments
  • +
  • Framework-specific attributes
  • +
  • Stability metrics
  • +
+
+
+
    +
  • Crash support
  • +
  • Persistent crash data
  • +
  • Readable callstacks
  • +
+
+
+
+ +Backtrace is truly amazing for native and mobile developers - now it's amazing for web developers too! + +## Supported JavaScript frameworks +The @backtrace-labs/browser is suitable for all JavaScript frameworks. Additional integrations are provided to take advantage of the capabilities of different frameworks. +- [@backtrace-labs/browser](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) +- [@backtrace-labs/node](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) +- [@backtrace-labs/react](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) diff --git a/sl.bt.png b/sl.bt.png new file mode 100644 index 0000000000000000000000000000000000000000..b74bf978adca3938a8e745ac4e2737f36710e811 GIT binary patch literal 65325 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

j;`Mh1FvZp2>Q%Uc(w6JASaOfvMF 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 literal 0 HcmV?d00001 From 9df6510dd6f522f5403b3df18fb835a48f49aa5c Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Fri, 15 Sep 2023 16:56:07 -0700 Subject: [PATCH 179/291] Update image to support light and dark modes. --- README.md | 4 ++-- sl.bt.png | Bin 65325 -> 52960 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 030f411c..90800084 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -

+

- Backtrace + Backtrace

diff --git a/sl.bt.png b/sl.bt.png index b74bf978adca3938a8e745ac4e2737f36710e811..8bd6160eb0b1a8b999423b89e76170cf219ed800 100644 GIT binary patch delta 50639 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 delta 63101 zcmY&<1yof1_BNdY(o!PbAl)e`Fwzau-7VoERTx6LLnMdphM~JeWN4(N8zjH+`o8!6 zzqJl$&03sw_U!$8c0GH~Y8G<&12Rp78b|>LiyR990RcxzQC0&10qp?(xdHgzM1>&KAA>7?~WedTkE!u3Gk16E3-7LaBu8Fn`10Q!C-i5z&fOg zw@QEI;3i0XFdEcK(GNA#=GUx)_1h6Uy8rp9{# zH;lq(wSQg;zbrhrmV)P8dnRv_iRpLDWCS22WNL%0InA{D$iTyK zso~0Rymvl*Zj=N6xr(~lB#v-}yxcIWK0J{Vot`G*NR9ar#+p7%&!M_*g-TnFE3KZS zcRW3vTsd#B`!Q(5?XOUfd|jKZ&-$eQ?5m&iQk(Xxj)3!i=|NARe1V}erme%Cds7}%HGo8RUmUMy*dZMF5+k4-! zX~AyGTI024kH2roocmUjw}caVv`2!;iPDU_xrxPvlB}8`SnVntvYQh8@$B%^UrYSC ztMp7mf$3tsX+7cEYGgTSdZNQoRZ=ce⪼wNp=oww9q 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

`f3`#u;zarrWfUQV9wV@um<>LZ2s++8&pTL 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 LD@heg8U_46hNsj( From 9ed0a93252b4675a7dd1ffd6368eed64303ab266 Mon Sep 17 00:00:00 2001 From: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Fri, 15 Sep 2023 17:06:56 -0700 Subject: [PATCH 180/291] Set max header image width. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90800084..e21a31b3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- Backtrace + Backtrace

From 3b4a97926f363b9edc32d913d5879ac1d569b7a6 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 27 Sep 2023 10:03:01 +0200 Subject: [PATCH 181/291] add events and modules to core client (#146) * sdk-core: add Events class, a simple event emitter * sdk-core: add reportEvents, move database, metrics, breadcrumbs to modules with event usage * sdk-core, node, browser, react: move initialize out of the constructor * sdk-core: add bind method to BacktraceModule, move initialization logic with client there * sdk-core: PR suggestions * sdk-core, node, browser, react: remove returning "this" from initialize * sdk-core: find record via uuid * sdk-core: add BacktraceModuleBindData to expose protected stuff to modules --------- Co-authored-by: Sebastian Alex --- .../src/builder/BacktraceClientBuilder.ts | 4 +- .../src/builder/BacktraceClientBuilder.ts | 4 +- .../builder/BacktraceReactClientBuilder.ts | 4 +- packages/sdk-core/src/BacktraceCoreClient.ts | 116 ++++++++------- packages/sdk-core/src/common/Events.ts | 76 ++++++++++ packages/sdk-core/src/events/ReportEvents.ts | 15 ++ .../sdk-core/src/modules/BacktraceModule.ts | 14 ++ .../sdk-core/src/modules/BacktraceModules.ts | 12 ++ .../modules/breadcrumbs/BreadcrumbsManager.ts | 11 +- .../src/modules/database/BacktraceDatabase.ts | 37 ++++- .../src/modules/metrics/BacktraceMetrics.ts | 5 +- .../breadcrumbsCreationTests.spec.ts | 4 +- .../breadcrumbsFilteringOptionsTests.spec.ts | 4 +- packages/sdk-core/tests/common/Events.spec.ts | 136 ++++++++++++++++++ .../tests/database/databaseSetupTests.spec.ts | 8 +- .../tests/metrics/summedEventTests.spec.ts | 10 +- .../tests/metrics/uniqueEventTests.spec.ts | 6 +- .../tests/mocks/BacktraceTestClient.ts | 10 +- 18 files changed, 389 insertions(+), 87 deletions(-) create mode 100644 packages/sdk-core/src/common/Events.ts create mode 100644 packages/sdk-core/src/events/ReportEvents.ts create mode 100644 packages/sdk-core/src/modules/BacktraceModule.ts create mode 100644 packages/sdk-core/src/modules/BacktraceModules.ts create mode 100644 packages/sdk-core/tests/common/Events.spec.ts diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 7a6855d4..3d273f2c 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -43,7 +43,7 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder; protected readonly attributeManager: AttributeManager; + protected readonly options: BacktraceConfiguration; + private readonly _modules: BacktraceModules = new Map(); private readonly _attachments: BacktraceAttachment[]; private readonly _dataBuilder: BacktraceDataBuilder; private readonly _reportSubmission: BacktraceReportSubmission; private readonly _rateLimitWatcher: RateLimitWatcher; - private readonly _metrics?: BacktraceMetrics; - private readonly _database?: BacktraceDatabase; private readonly _sessionProvider: BacktraceSessionProvider; private readonly _sdkOptions: SdkOptions; - protected readonly options: BacktraceConfiguration; private _enabled = false; protected constructor(private readonly _setup: CoreClientSetup) { + this.reportEvents = new Events(); + this.options = _setup.options; this._sdkOptions = _setup.sdkOptions; + this._attachments = this.options.attachments ?? []; this._sessionProvider = this._setup.sessionProvider ?? new SingleSessionProvider(); - - const stackTraceConverter = this._setup.stackTraceConverter ?? new V8StackTraceConverter(); - this._reportSubmission = new BacktraceReportSubmission(this.options, this._setup.requestHandler); + this._rateLimitWatcher = new RateLimitWatcher(this.options.rateLimit); const attributeProviders: BacktraceAttributeProvider[] = [ new ClientAttributeProvider(this.agent, this.agentVersion, this._sessionProvider.sessionId), @@ -131,6 +139,7 @@ export abstract class BacktraceCoreClient { this.attributeManager = new AttributeManager(attributeProviders); + const stackTraceConverter = this._setup.stackTraceConverter ?? new V8StackTraceConverter(); this._dataBuilder = new BacktraceDataBuilder( this._sdkOptions, stackTraceConverter, @@ -138,17 +147,15 @@ export abstract class BacktraceCoreClient { new DebugIdProvider(stackTraceConverter, this._setup.debugIdMapProvider), ); - this._attachments = this.options.attachments ?? []; - if (this._setup.databaseStorageProvider && this.options?.database?.enable === true) { - this._database = new BacktraceDatabase( + const database = new BacktraceDatabase( this.options.database, this._setup.databaseStorageProvider, this._reportSubmission, ); - } - this._rateLimitWatcher = new RateLimitWatcher(this.options.rateLimit); + this._modules.set(BacktraceDatabase, database); + } const metrics = new MetricsBuilder( this.options, @@ -158,19 +165,28 @@ export abstract class BacktraceCoreClient { ).build(); if (metrics) { - this._metrics = metrics; + this._modules.set(BacktraceMetrics, metrics); } if (this.options.breadcrumbs?.enable !== false) { - this.breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); - this._attachments.push(this.breadcrumbsManager.breadcrumbsStorage); - this.attributeManager.addProvider(this.breadcrumbsManager); + const breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); + this._attachments.push(breadcrumbsManager.breadcrumbsStorage); + this.attributeManager.addProvider(breadcrumbsManager); + this._modules.set(BreadcrumbsManager, breadcrumbsManager); } - this.initialize(); this._enabled = true; } + public initialize() { + for (const module of this._modules.values()) { + if (module.bind) { + module.bind(this.getModuleBindData()); + } + module.initialize(); + } + } + /** * Add attribute to Backtrace Client reports. * @param attributes key-value object with attributes. @@ -228,7 +244,8 @@ export abstract class BacktraceCoreClient { skipFrames: this.skipFrameOnMessage(data), }); - this.breadcrumbsManager?.logReport(report); + this.reportEvents.emit('before-skip', report); + if (this.options.skipReport && this.options.skipReport(report)) { return Promise.resolve(); } @@ -239,16 +256,11 @@ export abstract class BacktraceCoreClient { } const submissionAttachments = this.generateSubmissionAttachments(report, reportAttachments); - const record = this.addToDatabase(backtraceData, submissionAttachments); + + this.reportEvents.emit('before-send', report, backtraceData, submissionAttachments); return this._reportSubmission.send(backtraceData, submissionAttachments).then((submissionResult) => { - if (!record) { - return; - } - record.locked = false; - if (submissionResult.status === 'Ok') { - this._database?.remove(record); - } + this.reportEvents.emit('after-send', report, backtraceData, submissionAttachments, submissionResult); }); } @@ -257,34 +269,11 @@ export abstract class BacktraceCoreClient { */ public dispose() { this._enabled = false; - this.database?.dispose(); - this.breadcrumbsManager?.dispose(); - this._metrics?.dispose(); - } - - private addToDatabase( - data: BacktraceData, - attachments: BacktraceAttachment[], - ): BacktraceDatabaseRecord | undefined { - if (!this._database) { - return undefined; - } - - const record = this._database.add(data, attachments); - - if (!record || record.locked || record.count !== 1) { - return undefined; + for (const module of this._modules.values()) { + if (module.dispose) { + module.dispose(); + } } - - record.locked = true; - return record; - } - - private initialize() { - this._database?.start(); - this._metrics?.start(); - this.breadcrumbsManager?.start(); - return this; } private generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { @@ -309,4 +298,11 @@ export abstract class BacktraceCoreClient { private isReport(data: BacktraceReport | Error | string): data is BacktraceReport { return data instanceof BacktraceReport; } + + private getModuleBindData(): BacktraceModuleBindData { + return { + client: this, + reportEvents: this.reportEvents, + }; + } } diff --git a/packages/sdk-core/src/common/Events.ts b/packages/sdk-core/src/common/Events.ts new file mode 100644 index 00000000..c607c6e8 --- /dev/null +++ b/packages/sdk-core/src/common/Events.ts @@ -0,0 +1,76 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +interface EventCallback { + callback: (...args: any[]) => unknown; + once?: boolean; +} + +export class Events< + const E extends Record unknown> = Record< + string | number | symbol, + (...args: any[]) => unknown + >, +> { + private readonly _callbacks: Partial> = {}; + + public on(event: N, callback: E[N]): this { + this.addCallback(event, { callback }); + return this; + } + + public once(event: N, callback: E[N]): this { + this.addCallback(event, { callback, once: true }); + return this; + } + + public off(event: N, callback: E[N]): this { + this.removeCallback(event, callback); + return this; + } + + public emit(event: N, ...args: Parameters): boolean { + const callbacks = this._callbacks[event]; + if (!callbacks || !callbacks.length) { + return false; + } + + for (const { callback, once } of [...callbacks]) { + try { + callback(...args); + } catch { + // Do nothing + } + + if (once) { + this.removeCallback(event, callback); + } + } + + return true; + } + + private addCallback(event: keyof E, callback: EventCallback) { + const list = this._callbacks[event]; + if (list) { + list.push(callback); + } else { + this._callbacks[event] = [callback]; + } + } + + private removeCallback(event: keyof E, callback: EventCallback['callback']) { + const list = this._callbacks[event]; + if (!list) { + return; + } + + const index = list.findIndex((el) => el.callback === callback); + if (index === -1) { + return; + } + + list.splice(index, 1); + if (!list.length) { + delete this._callbacks[event]; + } + } +} diff --git a/packages/sdk-core/src/events/ReportEvents.ts b/packages/sdk-core/src/events/ReportEvents.ts new file mode 100644 index 00000000..6c8f2d81 --- /dev/null +++ b/packages/sdk-core/src/events/ReportEvents.ts @@ -0,0 +1,15 @@ +import { BacktraceAttachment } from '../model/attachment'; +import { BacktraceData } from '../model/data'; +import { BacktraceReportSubmissionResult, BacktraceSubmissionResponse } from '../model/http'; +import { BacktraceReport } from '../model/report/BacktraceReport'; + +export type ReportEvents = { + 'before-skip'(report: BacktraceReport): void; + 'before-send'(report: BacktraceReport, data: BacktraceData, attachments: BacktraceAttachment[]): void; + 'after-send'( + report: BacktraceReport, + data: BacktraceData, + attachments: BacktraceAttachment[], + result: BacktraceReportSubmissionResult, + ): void; +}; diff --git a/packages/sdk-core/src/modules/BacktraceModule.ts b/packages/sdk-core/src/modules/BacktraceModule.ts new file mode 100644 index 00000000..60489a09 --- /dev/null +++ b/packages/sdk-core/src/modules/BacktraceModule.ts @@ -0,0 +1,14 @@ +import { BacktraceCoreClient } from '..'; +import { Events } from '../common/Events'; +import { ReportEvents } from '../events/ReportEvents'; + +export interface BacktraceModuleBindData { + readonly client: BacktraceCoreClient; + readonly reportEvents: Events; +} + +export interface BacktraceModule { + bind?(client: BacktraceModuleBindData): void; + initialize(): void; + dispose?(): void; +} diff --git a/packages/sdk-core/src/modules/BacktraceModules.ts b/packages/sdk-core/src/modules/BacktraceModules.ts new file mode 100644 index 00000000..75034305 --- /dev/null +++ b/packages/sdk-core/src/modules/BacktraceModules.ts @@ -0,0 +1,12 @@ +import { BacktraceModule } from './BacktraceModule'; + +type BacktraceModuleCtor = new (...args: never[]) => T; + +export interface ReadonlyBacktraceModules extends ReadonlyMap { + get(type: BacktraceModuleCtor): T | undefined; +} + +export interface BacktraceModules extends Map { + set(type: BacktraceModuleCtor, instance: T): this; + get(type: BacktraceModuleCtor): T | undefined; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts index fd48f632..a7698c85 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts @@ -2,20 +2,21 @@ import { BacktraceBreadcrumbs, BreadcrumbLogLevel, BreadcrumbType, + BreadcrumbsSetup, defaultBreadcrumbsLogLevel, defaultBreadcurmbType, } from '.'; import { BacktraceBreadcrumbsSettings } from '../../model/configuration/BacktraceConfiguration'; import { AttributeType } from '../../model/data/BacktraceData'; import { BacktraceReport } from '../../model/report/BacktraceReport'; -import { BreadcrumbsSetup } from './BreadcrumbsSetup'; +import { BacktraceModule, BacktraceModuleBindData } from '../BacktraceModule'; import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; import { ConsoleEventSubscriber } from './events/ConsoleEventSubscriber'; import { RawBreadcrumb } from './model/RawBreadcrumb'; import { BreadcrumbsStorage } from './storage/BreadcrumbsStorage'; import { InMemoryBreadcrumbsStorage } from './storage/InMemoryBreadcrumbsStorage'; -export class BreadcrumbsManager implements BacktraceBreadcrumbs { +export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule { /** * Breadcrumbs type */ @@ -66,7 +67,11 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs { }; } - public start() { + public bind({ reportEvents }: BacktraceModuleBindData): void { + reportEvents.on('before-skip', (report) => this.logReport(report)); + } + + public initialize() { for (const subscriber of this._eventSubscribers) { subscriber.start(this); } diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts index 71ff6d53..2e52d74a 100644 --- a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -4,10 +4,12 @@ import { BacktraceAttachment } from '../../model/attachment'; import { BacktraceDatabaseConfiguration } from '../../model/configuration/BacktraceDatabaseConfiguration'; import { BacktraceData } from '../../model/data/BacktraceData'; import { BacktraceReportSubmission } from '../../model/http/BacktraceReportSubmission'; +import { BacktraceModule, BacktraceModuleBindData } from '../BacktraceModule'; import { BacktraceDatabaseContext } from './BacktraceDatabaseContext'; import { BacktraceDatabaseStorageProvider } from './BacktraceDatabaseStorageProvider'; import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; -export class BacktraceDatabase { + +export class BacktraceDatabase implements BacktraceModule { /** * Determines if the database is enabled. */ @@ -38,7 +40,7 @@ export class BacktraceDatabase { * Starts database integration. * @returns true if the database started successfully. Otherwise false. */ - public start(): boolean { + public initialize(): boolean { if (this._enabled) { return this._enabled; } @@ -59,6 +61,37 @@ export class BacktraceDatabase { return true; } + public bind({ reportEvents }: BacktraceModuleBindData): void { + if (this._enabled) { + return; + } + + if (this._options?.enable === false) { + return; + } + + reportEvents.on('before-send', (_, data, attachments) => { + const record = this.add(data, attachments); + + if (!record || record.locked || record.count !== 1) { + return undefined; + } + + record.locked = true; + }); + + reportEvents.on('after-send', (_, data, __, submissionResult) => { + const record = this._databaseRecordContext.find((record) => record.data.uuid === data.uuid); + if (!record) { + return; + } + record.locked = false; + if (submissionResult.status === 'Ok') { + this.remove(record); + } + }); + } + /** * Adds backtrace data to the database * @param backtraceData diagnostic data object diff --git a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts index fa9bc77e..dbb8653a 100644 --- a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts +++ b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts @@ -1,6 +1,7 @@ import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceMetricsOptions } from '../../model/configuration/BacktraceConfiguration'; import { AttributeType } from '../../model/data/BacktraceData'; +import { BacktraceModule } from '../BacktraceModule'; import { AttributeManager } from '../attribute/AttributeManager'; import { ReportDataBuilder } from '../attribute/ReportDataBuilder'; import { BacktraceSessionProvider } from './BacktraceSessionProvider'; @@ -8,7 +9,7 @@ import { MetricsQueue } from './MetricsQueue'; import { SummedEvent } from './model/SummedEvent'; import { UniqueEvent } from './model/UniqueEvent'; -export class BacktraceMetrics { +export class BacktraceMetrics implements BacktraceModule { /** * Returns current session id. */ @@ -38,7 +39,7 @@ export class BacktraceMetrics { /** * Starts metrics submission. */ - public start() { + public initialize() { if (!this._sessionProvider.newSession) { return; } diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts index e4db82c6..56ba993e 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts @@ -1,5 +1,5 @@ -import { BreadcrumbLogLevel, BreadcrumbType } from '../../lib/modules/breadcrumbs'; -import { BreadcrumbsManager } from '../../lib/modules/breadcrumbs/BreadcrumbsManager'; +import { BreadcrumbLogLevel, BreadcrumbType } from '../../src/modules/breadcrumbs'; +import { BreadcrumbsManager } from '../../src/modules/breadcrumbs/BreadcrumbsManager'; describe('Breadcrumbs creation tests', () => { it('Last breadcrumb id attribute should be equal to last bredcrumb id in the array', () => { diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts index 672de4b2..f0a5082d 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts @@ -1,5 +1,5 @@ -import { BreadcrumbLogLevel, BreadcrumbType } from '../../lib/modules/breadcrumbs'; -import { BreadcrumbsManager } from '../../lib/modules/breadcrumbs/BreadcrumbsManager'; +import { BreadcrumbLogLevel, BreadcrumbType } from '../../src/modules/breadcrumbs'; +import { BreadcrumbsManager } from '../../src/modules/breadcrumbs/BreadcrumbsManager'; describe('Breadcrumbs filtering options tests', () => { describe('Event type tests', () => { diff --git a/packages/sdk-core/tests/common/Events.spec.ts b/packages/sdk-core/tests/common/Events.spec.ts new file mode 100644 index 00000000..9b52f998 --- /dev/null +++ b/packages/sdk-core/tests/common/Events.spec.ts @@ -0,0 +1,136 @@ +import { Events } from '../../src/common/Events'; + +describe('Events', () => { + it('should call every callback once', () => { + const event = 'event'; + const fn1 = jest.fn(); + const fn2 = jest.fn(); + const fn3 = jest.fn(); + + const events = new Events(); + events.on(event, fn1); + events.on(event, fn2); + events.on(event, fn3); + + events.emit(event); + + expect(fn1).toBeCalledTimes(1); + expect(fn2).toBeCalledTimes(1); + expect(fn3).toBeCalledTimes(1); + }); + + it('should pass args to callback', () => { + const event = 'event'; + const fn = jest.fn(); + const args = ['a', 1, true]; + + const events = new Events(); + events.on(event, fn); + + events.emit(event, ...args); + + expect(fn).toBeCalledWith(...args); + }); + + it('should call each callback in order', () => { + const event = 'event'; + const fn1 = jest.fn(); + const fn2 = jest.fn(); + const fn3 = jest.fn(); + + const events = new Events(); + events.on(event, fn1); + events.on(event, fn2); + events.on(event, fn3); + + events.emit(event); + + expect(fn1.mock.invocationCallOrder[0]).toBeLessThan(fn2.mock.invocationCallOrder[0]); + expect(fn2.mock.invocationCallOrder[0]).toBeLessThan(fn3.mock.invocationCallOrder[0]); + }); + + it('should call once callback only once', () => { + const event = 'event'; + const fn = jest.fn(); + + const events = new Events(); + events.once(event, fn); + + events.emit(event); + events.emit(event); + + expect(fn).toBeCalledTimes(1); + }); + + it('should call callback every time', () => { + const event = 'event'; + const fn = jest.fn(); + + const events = new Events(); + events.on(event, fn); + + events.emit(event); + events.emit(event); + + expect(fn).toBeCalledTimes(2); + }); + + it('should return false from emit when there are no listeners', () => { + const events = new Events(); + expect(events.emit('event')).toEqual(false); + }); + + it('should return true from emit when there are listeners', () => { + const event = 'event'; + const fn = jest.fn(); + + const events = new Events(); + events.on(event, fn); + + expect(events.emit('event')).toEqual(true); + }); + + it('should no longer call removed callback', () => { + const event = 'event'; + const fn = jest.fn(); + + const events = new Events(); + events.on(event, fn); + events.emit(event); + events.off(event, fn); + events.emit(event); + + expect(fn).toBeCalledTimes(1); + }); + + it('should not throw when callback throws', () => { + const event = 'event'; + const fn = jest.fn().mockImplementation(() => { + throw new Error('abc'); + }); + + const events = new Events(); + events.on(event, fn); + + expect(() => events.emit(event)).not.toThrow(); + }); + + it('should execute other callbacks when callback throws', () => { + const event = 'event'; + const fn1 = jest.fn(); + const fn2 = jest.fn().mockImplementation(() => { + throw new Error('abc'); + }); + const fn3 = jest.fn(); + + const events = new Events(); + events.on(event, fn1); + events.on(event, fn2); + events.on(event, fn3); + events.emit(event); + + expect(fn1).toBeCalledTimes(1); + expect(fn2).toBeCalledTimes(1); + expect(fn3).toBeCalledTimes(1); + }); +}); diff --git a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts index 52b0097d..ba155ef0 100644 --- a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts @@ -35,7 +35,7 @@ describe('Database setup tests', () => { ), ); - const databaseStartResult = database.start(); + const databaseStartResult = database.initialize(); expect(databaseStartResult).toBeTruthy(); expect(database.enabled).toBeTruthy(); @@ -53,7 +53,7 @@ describe('Database setup tests', () => { ), ); - const databaseStartResult = database.start(); + const databaseStartResult = database.initialize(); expect(databaseStartResult).toBeFalsy(); expect(database.enabled).toBeFalsy(); @@ -75,7 +75,7 @@ describe('Database setup tests', () => { ); jest.spyOn(testStorageProvider, 'start').mockReturnValue(false); - const databaseStartResult = database.start(); + const databaseStartResult = database.initialize(); expect(databaseStartResult).toBeFalsy(); expect(database.enabled).toBeFalsy(); @@ -93,7 +93,7 @@ describe('Database setup tests', () => { ), ); - database.start(); + database.initialize(); database.dispose(); expect(database.enabled).toBeFalsy(); diff --git a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts index 7ab7f7dc..db5d4e85 100644 --- a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts +++ b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts @@ -58,7 +58,7 @@ describe('Summed events tests', () => { }, }; - metrics.start(); + metrics.initialize(); expect(testHttpClient.post).toBeCalledWith(summedEventsSubmissionUrl, JSON.stringify(expectedJson)); }); @@ -96,7 +96,7 @@ describe('Summed events tests', () => { }, }; - metrics.start(); + metrics.initialize(); expect(testHttpClient.post).toBeCalledWith(summedEventsSubmissionUrl, JSON.stringify(expectedJson)); }); @@ -132,7 +132,7 @@ describe('Summed events tests', () => { }, }; - metrics.start(); + metrics.initialize(); expect(attributeManager.get().attributes).toMatchObject(customAttributes); expect(testHttpClient.post).toBeCalledWith(expect.anything(), JSON.stringify(expectedJson)); @@ -154,7 +154,7 @@ describe('Summed events tests', () => { if (!metrics) { fail('Metrics are not defined'); } - metrics.start(); + metrics.initialize(); const addResult = metrics.addSummedEvent('test-metric'); expect(addResult).toBeTruthy(); @@ -181,7 +181,7 @@ describe('Summed events tests', () => { fail('Metrics are not defined'); } - metrics.start(); + metrics.initialize(); for (let index = 0; index < maximumNumberOfEvents; index++) { const addResult = metrics.addSummedEvent('test-metric'); diff --git a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts index 4f7998cb..f99b916e 100644 --- a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts +++ b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts @@ -59,7 +59,7 @@ describe('Unique events tests', () => { }, }; - metrics.start(); + metrics.initialize(); expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); }); @@ -88,7 +88,7 @@ describe('Unique events tests', () => { TEST_SUBMISSION_URL, ); - metrics.start(); + metrics.initialize(); expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, expect.anything()); }); @@ -164,7 +164,7 @@ describe('Unique events tests', () => { }, }; - metrics.start(); + metrics.initialize(); expect(attributeManager.get().attributes).toMatchObject(customAttributes); expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index 2552ba07..80fc3a19 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -63,6 +63,14 @@ export class BacktraceTestClient extends BacktraceCoreClient { }; }, }); - return new BacktraceTestClient(options, testHttpClient, attributeProviders, attachments, storageProvider); + const instance = new BacktraceTestClient( + options, + testHttpClient, + attributeProviders, + attachments, + storageProvider, + ); + instance.initialize(); + return instance; } } From 1bea7587e3e81190fdab644d165f739dccbde7ae Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 27 Sep 2023 12:34:26 +0200 Subject: [PATCH 182/291] node build and node example improvements (#148) * node: change webpack to not include sources in sourcemaps and to point to actual sources * node example: add breadcrumb option * node example: fix database ignore * node example: add @backtrace-labs/node dependency from file --------- Co-authored-by: Sebastian Alex --- examples/sdk/node/.gitignore | 2 +- examples/sdk/node/package-lock.json | 45 +++++++++++++++++++++++++++++ examples/sdk/node/package.json | 3 ++ examples/sdk/node/src/index.ts | 10 ++++++- packages/node/webpack.config.js | 5 +++- 5 files changed, 62 insertions(+), 3 deletions(-) diff --git a/examples/sdk/node/.gitignore b/examples/sdk/node/.gitignore index b7fd1db9..7884297d 100644 --- a/examples/sdk/node/.gitignore +++ b/examples/sdk/node/.gitignore @@ -1,2 +1,2 @@ -./database +/database ./src/consts.ts \ No newline at end of file diff --git a/examples/sdk/node/package-lock.json b/examples/sdk/node/package-lock.json index 4488c3fe..b3bc0ba9 100644 --- a/examples/sdk/node/package-lock.json +++ b/examples/sdk/node/package-lock.json @@ -8,6 +8,9 @@ "name": "@backtrace-labs/node-example", "version": "1.0.0", "license": "MIT", + "dependencies": { + "@backtrace-labs/node": "file:../../../packages/node" + }, "devDependencies": { "typescript": "^5.1.3" }, @@ -15,6 +18,32 @@ "node": ">=14" } }, + "../../../packages/node": { + "version": "0.0.4", + "license": "MIT", + "dependencies": { + "@backtrace-labs/sdk-core": "^0.0.4", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@backtrace-labs/node": { + "resolved": "../../../packages/node", + "link": true + }, "node_modules/typescript": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", @@ -30,6 +59,22 @@ } }, "dependencies": { + "@backtrace-labs/node": { + "version": "file:../../../packages/node", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.4", + "@types/jest": "^29.5.1", + "form-data": "^4.0.0", + "jest": "^29.5.0", + "native-reg": "^1.1.1", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + } + }, "typescript": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json index 6ae35f82..922eff57 100644 --- a/examples/sdk/node/package.json +++ b/examples/sdk/node/package.json @@ -36,5 +36,8 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "typescript": "^5.1.3" + }, + "dependencies": { + "@backtrace-labs/node": "file:../../../packages/node" } } diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index aea7327a..39ba20c1 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace-labs/node'; +import { BacktraceClient, BreadcrumbLogLevel } from '@backtrace-labs/node'; import fs from 'fs'; import path from 'path'; import { exit } from 'process'; @@ -65,6 +65,13 @@ function sendMetrics() { } client.metrics.send(); } +function addBreadcrumb(message: string, attributes: Record) { + if (!client.breadcrumbs) { + console.log('breadcrumbs are not available'); + return; + } + client.breadcrumbs.log(message, BreadcrumbLogLevel.Info, attributes); +} function oom() { function allocateMemory(size: number) { @@ -100,6 +107,7 @@ function showMenu() { ['Throw rejected promise', () => rejectPromise('Rejected promise')], ['OOM', oom], ['Add a new summed event', (attributes: Record) => addEvent('Option clicked', attributes)], + ['Add a breadcrumb', (attributes: Record) => addBreadcrumb('Breadcrumb added', attributes)], ['Send all metrics', sendMetrics], ] as const; diff --git a/packages/node/webpack.config.js b/packages/node/webpack.config.js index cd1aa021..73b62ed0 100644 --- a/packages/node/webpack.config.js +++ b/packages/node/webpack.config.js @@ -7,7 +7,7 @@ const nodeExternals = require('webpack-node-externals'); module.exports = { ...webpackTypescriptConfig, mode: process.env.NODE_ENV ?? 'production', - devtool: 'source-map', + devtool: 'nosources-source-map', entry: './src/index.ts', target: 'node', externalsPresets: { node: true }, @@ -20,6 +20,9 @@ module.exports = { filename: 'index.js', path: path.join(__dirname, 'lib'), libraryTarget: 'commonjs2', + devtoolModuleFilenameTemplate(info) { + return path.relative(path.join(__dirname, 'lib'), info.absoluteResourcePath); + }, }, plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], optimization: { From 5dae9c723b5c1e578dbc846d61dbaba56405c0fd Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 27 Sep 2023 17:19:56 +0200 Subject: [PATCH 183/291] cli: various fixes (#149) * cli: bring back subdomain and token options * cli: display process and add-sources messages only if enabled * cli: fix loading config for subcommands * cli: update README * cli: fix dry-run for upload in run * cli: use uploadOptions for pass-with-no-files for upload in run * cli: add note about subdomain not working on on-premise --------- Co-authored-by: Sebastian Alex --- tools/cli/README.md | 41 +++++++++++++++++++--- tools/cli/src/options/loadOptions.ts | 2 +- tools/cli/src/sourcemaps/run.ts | 52 +++++++++++++++++++++------- tools/cli/src/sourcemaps/upload.ts | 30 ++++++++++++++-- 4 files changed, 105 insertions(+), 20 deletions(-) diff --git a/tools/cli/README.md b/tools/cli/README.md index 8b1acbe0..f21d2938 100644 --- a/tools/cli/README.md +++ b/tools/cli/README.md @@ -51,9 +51,6 @@ A handy shortcut for executing all commands. Executes commands in order: 1. [`add-sources`](#add-sources) 1. [`upload`](#upload) -Requires the config file to function. `run` accepts some common options, but command-specific options are taken from the -config. - ### Options #### `--process` @@ -68,6 +65,10 @@ Runs the [`add-sources`](#add-sources) command. Runs the [`upload`](#upload) command. +#### `--dry-run`, `-n` + +Will not modify the files and not upload them. + #### ``, `--path `, `-p ` Searches for files within provided paths. This is the default positional argument. If not provided, will search in the @@ -81,6 +82,34 @@ Forces processing of already processed files. May result in duplicate appended d By default, `run` will return a non-zero exit code when no files are found. Pass this to return 0. +#### `--output `, `-o ` + +Specify this to output the archive to a file instead of uploading it to Backtrace. Cannot be used with uploading. + +#### `--url `, `-u ` + +URL to upload the sourcemaps to. Cannot be used with `--subdomain`. + +#### `--subdomain `, `-s ` + +Subdomain to use for upload. You must also specify the `--token`. Cannot be used with `--url`. + +**Warning**: this will most likely not work on on-premise environments, due to the URL having format of +`https://submit.backtrace.io/{{subdomain}}/{{token}}/sourcemap`. + +#### `--token `, `-t ` + +Token to use with the upload. Usable only with `--subdomain`. + +#### `--include-sources` + +By default, the sources in sourcemap file will NOT be uploaded to Backtrace. Specify this to include `sourcesContent` +key in sourcemaps. + +#### `--insecure`, `-k` + +Disables HTTPS certificate checking. + ## `process` Adds debug identificators to both source and sourcemap files. Searches for source files in provided paths and their @@ -180,13 +209,15 @@ current directory. #### `--url `, `-u ` -URL to upload the sourcemaps to. You can use also `BACKTRACE_JS_UPLOAD_URL` environment variable. Cannot be used with -`--subdomain`. +URL to upload the sourcemaps to. Cannot be used with `--subdomain`. #### `--subdomain `, `-s ` Subdomain to use for upload. You must also specify the `--token`. Cannot be used with `--url`. +**Warning**: this will most likely not work on on-premise environments, due to the URL having format of +`https://submit.backtrace.io/{{subdomain}}/{{token}}/sourcemap`. + #### `--token `, `-t ` Token to use with the upload. Usable only with `--subdomain`. diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts index 10b187aa..85b8c560 100644 --- a/tools/cli/src/options/loadOptions.ts +++ b/tools/cli/src/options/loadOptions.ts @@ -17,7 +17,7 @@ export function loadOptionsForCommand(path?: string) { path, (path) => (!readOptions ? loadOptions(path) : Ok(readOptions)), R.map((data) => (data ? (readOptions = data) : data)), - R.map((data) => (data ? joinOptions(key, defaults) : {})), + R.map((data) => (data ? joinOptions(key, defaults)(data) : {})), ); }; } diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 17c2d896..0d5f4ee2 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -41,7 +41,7 @@ import { CliLogger } from '../logger'; import { findConfig, joinOptions, loadOptions } from '../options/loadOptions'; import { addSourceToSourceMap } from './add-sources'; import { processSource } from './process'; -import { saveAssets, uploadAssets, uploadOrSaveAssets } from './upload'; +import { getUploadUrl, saveAssets, uploadAssets, uploadOrSaveAssets } from './upload'; export interface RunOptions extends GlobalOptions { readonly 'add-sources': boolean; @@ -52,6 +52,8 @@ export interface RunOptions extends GlobalOptions { readonly exclude: string | string[]; readonly 'dry-run': boolean; readonly url: string; + readonly subdomain: string; + readonly token: string; readonly 'include-sources': boolean; readonly output: string; readonly insecure: boolean; @@ -107,6 +109,18 @@ export const runCmd = new Command({ description: 'URL to upload to.', alias: 'u', }) + .option({ + name: 'subdomain', + type: String, + description: 'Subdomain to upload to. Do not use on on-premise environments.', + alias: 's', + }) + .option({ + name: 'token', + type: String, + description: 'Symbol submission token. Required when subdomain is provided.', + alias: 't', + }) .option({ name: 'output', alias: 'o', @@ -191,6 +205,13 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com return Err('path must be specified'); } + const uploadUrlResult = getUploadUrl(uploadOptions); + if (uploadUrlResult.isErr()) { + logger.info(getHelpMessage()); + return uploadUrlResult; + } + const uploadUrl = uploadUrlResult.data; + const logInfo = log(logger, 'info'); const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); @@ -262,7 +283,7 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com const saveArchiveCommandResult = runOptions.upload ? await uploadOrSaveAssets( - uploadOptions.url, + uploadUrl, uploadOptions.output, (url) => uploadAssets( @@ -305,12 +326,12 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com logDebug(`running upload...`), map((t) => t.sourceMap), filterProcessedAssetsCommand, - opts['pass-with-no-files'] + uploadOptions['pass-with-no-files'] ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process'), R.map(uniqueBy((asset) => asset.content.debugId)), R.map((assets) => - opts['dry-run'] + uploadOptions['dry-run'] ? Ok({ rxid: '' }) : assets.length ? saveArchiveCommand(assets) @@ -348,16 +369,23 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com R.map(flow(mapAsync(handleAssetCommand(runProcess, runAddSources)), R.flatMap)), R.map(filterBehaviorSkippedElements), R.map( - logInfo( - (assets) => - `processed ${assets.reduce((sum, r) => sum + (r.processed ? 1 : 0), 0)} source and sourcemaps`, - ), + runProcess + ? logInfo( + (assets) => + `processed ${assets.reduce( + (sum, r) => sum + (r.processed ? 1 : 0), + 0, + )} source and sourcemaps`, + ) + : pass, ), R.map( - logInfo( - (assets) => - `added sources to ${assets.reduce((sum, r) => sum + (r.sourceAdded ? 1 : 0), 0)} sourcemaps`, - ), + runAddSources + ? logInfo( + (assets) => + `added sources to ${assets.reduce((sum, r) => sum + (r.sourceAdded ? 1 : 0), 0)} sourcemaps`, + ) + : pass, ), R.map(uploadCommand ?? Ok), ); diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 9ad9aaec..0a4b0bbb 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -44,6 +44,8 @@ import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface UploadOptions extends GlobalOptions { readonly url: string; + readonly subdomain: string; + readonly token: string; readonly path: string | string[]; readonly include: string | string[]; readonly exclude: string | string[]; @@ -92,6 +94,18 @@ export const uploadCmd = new Command({ description: 'URL to upload to.', alias: 'u', }) + .option({ + name: 'subdomain', + type: String, + description: 'Subdomain to upload to. Do not use on on-premise environments.', + alias: 's', + }) + .option({ + name: 'token', + type: String, + description: 'Symbol submission token. Required when subdomain is provided.', + alias: 't', + }) .option({ name: 'include-sources', type: Boolean, @@ -227,7 +241,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command ); const saveArchiveCommandResult = await uploadOrSaveAssets( - opts.url, + uploadUrl, opts.output, (url) => uploadAssets(url, { ignoreSsl: opts.insecure ?? false }, opts['include-sources'] ?? false), (path) => flow(saveAssets(path, opts['include-sources'] ?? false), Ok), @@ -346,11 +360,23 @@ function pipeAssets(assets: AssetWithContent[], include }; } -function getUploadUrl(opts: Partial): Result { +export function getUploadUrl(opts: Partial): Result { + if (opts.url && opts.subdomain) { + return Err('--url and --subdomain are exclusive'); + } + if (opts.url) { return validateUrl(opts.url); } + if (opts.subdomain) { + if (!opts.token) { + return Err('token is required with subdomain'); + } + + return Ok(`https://submit.backtrace.io/${opts.subdomain}/${opts.token}/sourcemap`); + } + return Ok(undefined); } From 92b1ddb984608d37f80b17ccca9b0669bd0b2d49 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 29 Sep 2023 13:52:59 +0200 Subject: [PATCH 184/291] sdk-core, node: add file system abstractions (#147) * sdk-core, node: add BacktraceFileAttachment interface to sdk-core * sdk-core, node: add FileSystem and node implementation * sdk-core, node: move database file storage to core, with usage of FileSystem * node: fix crash on loadNodeCrashes without database directory * sdk-core, node: move fileSystem to builder * sdk-core: remove database provider from CoreClientSetup * sdk-core: fix database tests --------- Co-authored-by: Sebastian Alex --- packages/node/src/BacktraceClient.ts | 48 +++++++------- .../src/attachment/BacktraceFileAttachment.ts | 9 +-- .../src/builder/BacktraceClientBuilder.ts | 2 + .../NodeDiagnosticReportConverter.ts | 2 +- .../models/NodeDiagnosticReport.ts | 0 packages/node/src/storage/NodeFileSystem.ts | 62 +++++++++++++++++++ packages/sdk-core/src/BacktraceCoreClient.ts | 26 ++++++-- .../src/builder/BacktraceCoreClientBuilder.ts | 8 +++ .../sdk-core/src/builder/CoreClientSetup.ts | 4 +- packages/sdk-core/src/index.ts | 1 + .../attachment/BacktraceFileAttachment.ts | 8 +++ .../sdk-core/src/model/attachment/index.ts | 1 + .../database/BacktraceDatabaseFileRecord.ts | 20 ++++-- .../BacktraceDatabaseFileStorageProvider.ts | 59 +++++++----------- .../src/modules/storage/FileSystem.ts | 23 +++++++ .../sdk-core/src/modules/storage/index.ts | 1 + packages/sdk-core/tests/_mocks/fileSystem.ts | 58 +++++++++++++++++ .../databaseContextMemoryStorageTests.spec.ts | 23 ++++--- .../databaseContextValidationTests.spec.ts | 4 +- .../database/databaseRecordBatchTests.spec.ts | 6 +- .../tests/database/databaseSendTests.spec.ts | 10 +-- .../database/databaseStorageFlowTests.spec.ts | 57 ++++------------- .../tests/mocks/BacktraceTestClient.ts | 28 +++------ 23 files changed, 296 insertions(+), 164 deletions(-) rename packages/node/src/{database => converter}/models/NodeDiagnosticReport.ts (100%) create mode 100644 packages/node/src/storage/NodeFileSystem.ts create mode 100644 packages/sdk-core/src/model/attachment/BacktraceFileAttachment.ts rename packages/{node/src => sdk-core/src/modules}/database/BacktraceDatabaseFileRecord.ts (58%) rename packages/{node/src => sdk-core/src/modules}/database/BacktraceDatabaseFileStorageProvider.ts (60%) create mode 100644 packages/sdk-core/src/modules/storage/FileSystem.ts create mode 100644 packages/sdk-core/src/modules/storage/index.ts create mode 100644 packages/sdk-core/tests/_mocks/fileSystem.ts diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 7643bcd6..90cfac56 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,22 +1,20 @@ import { BacktraceAttributeProvider, - BacktraceConfiguration as CoreConfiguration, BacktraceCoreClient, BacktraceReport, BacktraceRequestHandler, BreadcrumbsEventSubscriber, + BacktraceConfiguration as CoreConfiguration, DebugIdContainer, + FileSystem, VariableDebugIdMapProvider, } from '@backtrace-labs/sdk-core'; -import fs from 'fs'; -import * as fsPromise from 'fs/promises'; import path from 'path'; -import { AGENT } from './agentDefinition'; import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { NodeOptionReader } from './common/NodeOptionReader'; import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; -import { BacktraceDatabaseFileStorageProvider } from './database/BacktraceDatabaseFileStorageProvider'; export class BacktraceClient extends BacktraceCoreClient { private _listeners: Record = {}; @@ -26,6 +24,7 @@ export class BacktraceClient extends BacktraceCoreClient { requestHandler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[], breadcrumbsEventSubscribers: BreadcrumbsEventSubscriber[], + fileSystem?: FileSystem, ) { super({ options, @@ -36,8 +35,12 @@ export class BacktraceClient extends BacktraceCoreClient { breadcrumbsSetup: { subscribers: breadcrumbsEventSubscribers, }, - databaseStorageProvider: BacktraceDatabaseFileStorageProvider.createIfValid(options.database), + fileSystem, }); + } + + public initialize(): void { + super.initialize(); this.loadNodeCrashes(); @@ -219,7 +222,7 @@ export class BacktraceClient extends BacktraceCoreClient { } private async loadNodeCrashes() { - if (!this.options.database?.captureNativeCrashes) { + if (!this.fileSystem || !this.options.database?.captureNativeCrashes) { return; } @@ -228,35 +231,30 @@ export class BacktraceClient extends BacktraceCoreClient { ? process.report.directory : this.options.database?.path ?? process.cwd(); - const databaseFiles = fs.readdirSync(databasePath, { - encoding: 'utf8', - withFileTypes: true, - }); + let databaseFiles: string[]; + try { + databaseFiles = await this.fileSystem.readDir(databasePath); + } catch { + return; + } const converter = new NodeDiagnosticReportConverter(); - - const recordNames = databaseFiles - .filter( - (file) => - file.isFile() && - // If the user specifies a preset name for reports, we should compare it directly - // Otherwise, match the default name - (reportName - ? file.name === reportName - : file.name.startsWith('report.') && file.name.endsWith('.json')), - ) - .map((n) => n.name); + const recordNames = databaseFiles.filter((file) => + // If the user specifies a preset name for reports, we should compare it directly + // Otherwise, match the default name + reportName ? file === reportName : file.startsWith('report.') && file.endsWith('.json'), + ); for (const recordName of recordNames) { const recordPath = path.join(databasePath, recordName); try { - const recordJson = await fsPromise.readFile(recordPath, 'utf8'); + const recordJson = await this.fileSystem.readFile(recordPath); const data = converter.convert(JSON.parse(recordJson)); await this.send(data); } catch { // Do nothing, skip the report } finally { - await fsPromise.unlink(recordPath); + await this.fileSystem.unlink(recordPath); } } } diff --git a/packages/node/src/attachment/BacktraceFileAttachment.ts b/packages/node/src/attachment/BacktraceFileAttachment.ts index 99037066..6d2d61b0 100644 --- a/packages/node/src/attachment/BacktraceFileAttachment.ts +++ b/packages/node/src/attachment/BacktraceFileAttachment.ts @@ -1,12 +1,13 @@ -import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace-labs/sdk-core'; import fs from 'fs'; import path from 'path'; import { Readable } from 'stream'; -export class BacktraceFileAttachment implements BacktraceAttachment { +export class BacktraceFileAttachment implements CoreBacktraceFileAttachment { public readonly name: string; - constructor(public readonly filePath: string) { - this.name = path.basename(this.filePath); + + constructor(public readonly filePath: string, name?: string) { + this.name = name ?? path.basename(this.filePath); } public get(): fs.ReadStream | undefined { diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index bf8d6e89..ed883259 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -17,6 +17,7 @@ import { ProcessInformationAttributeProvider, ProcessStatusAttributeProvider, } from '../attributes'; +import { NodeFileSystem } from '../storage/NodeFileSystem'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { constructor( @@ -51,6 +52,7 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + return fs.promises.readdir(dir); + } + + public readDirSync(dir: string): string[] { + return fs.readdirSync(dir); + } + + public createDir(dir: string): Promise { + return fs.promises.mkdir(dir, { recursive: true }) as Promise; + } + + public createDirSync(dir: string): void { + fs.mkdirSync(dir, { recursive: true }); + } + + public readFile(path: string): Promise { + return fs.promises.readFile(path, 'utf-8'); + } + + public readFileSync(path: string): string { + return fs.readFileSync(path, 'utf-8'); + } + + public writeFile(path: string, content: string): Promise { + return fs.promises.writeFile(path, content); + } + + public writeFileSync(path: string, content: string): void { + fs.writeFileSync(path, content); + } + + public unlink(path: string): Promise { + return fs.promises.unlink(path); + } + + public unlinkSync(path: string): void { + fs.unlinkSync(path); + } + + public async exists(path: string): Promise { + try { + await fs.promises.stat(path); + return true; + } catch { + return false; + } + } + + public existsSync(path: string): boolean { + return fs.existsSync(path); + } + + public createAttachment(path: string, name?: string): BacktraceAttachment { + return new BacktraceFileAttachment(path, name); + } +} diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 11f8afbc..3cbc989c 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -5,6 +5,7 @@ import { BacktraceConfiguration, BacktraceSessionProvider, DebugIdProvider, + FileSystem, SdkOptions, } from '.'; import { CoreClientSetup } from './builder/CoreClientSetup'; @@ -22,6 +23,7 @@ import { BreadcrumbsManager } from './modules/breadcrumbs/BreadcrumbsManager'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; import { BacktraceDatabase } from './modules/database/BacktraceDatabase'; +import { BacktraceDatabaseFileStorageProvider } from './modules/database/BacktraceDatabaseFileStorageProvider'; import { BacktraceMetrics } from './modules/metrics/BacktraceMetrics'; import { MetricsBuilder } from './modules/metrics/MetricsBuilder'; import { SingleSessionProvider } from './modules/metrics/SingleSessionProvider'; @@ -104,6 +106,7 @@ export abstract class BacktraceCoreClient { protected readonly reportEvents: Events; protected readonly attributeManager: AttributeManager; protected readonly options: BacktraceConfiguration; + protected readonly fileSystem?: FileSystem; private readonly _modules: BacktraceModules = new Map(); private readonly _attachments: BacktraceAttachment[]; @@ -119,6 +122,7 @@ export abstract class BacktraceCoreClient { this.reportEvents = new Events(); this.options = _setup.options; + this.fileSystem = _setup.fileSystem; this._sdkOptions = _setup.sdkOptions; this._attachments = this.options.attachments ?? []; this._sessionProvider = this._setup.sessionProvider ?? new SingleSessionProvider(); @@ -147,14 +151,16 @@ export abstract class BacktraceCoreClient { new DebugIdProvider(stackTraceConverter, this._setup.debugIdMapProvider), ); - if (this._setup.databaseStorageProvider && this.options?.database?.enable === true) { - const database = new BacktraceDatabase( + if (this.options?.database?.enable === true && this._setup.fileSystem) { + const provider = BacktraceDatabaseFileStorageProvider.createIfValid( + this._setup.fileSystem, this.options.database, - this._setup.databaseStorageProvider, - this._reportSubmission, ); - this._modules.set(BacktraceDatabase, database); + if (provider) { + const database = new BacktraceDatabase(this.options.database, provider, this._reportSubmission); + this._modules.set(BacktraceDatabase, database); + } } const metrics = new MetricsBuilder( @@ -179,6 +185,16 @@ export abstract class BacktraceCoreClient { } public initialize() { + if (this.fileSystem && this.options.database?.createDatabaseDirectory) { + if (!this.options.database.path) { + throw new Error( + 'Missing mandatory path to the database. Please define the database.path option in the configuration.', + ); + } + + this.fileSystem.createDirSync(this.options.database?.path); + } + for (const module of this._modules.values()) { if (module.bind) { module.bind(this.getModuleBindData()); diff --git a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts index bea1a777..c8a079a4 100644 --- a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts +++ b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts @@ -4,9 +4,11 @@ import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttrib import { BreadcrumbsEventSubscriber } from '../modules/breadcrumbs'; import { BacktraceStackTraceConverter } from '../modules/converter'; import { BacktraceSessionProvider } from '../modules/metrics/BacktraceSessionProvider'; +import { FileSystem } from '../modules/storage'; export abstract class BacktraceCoreClientBuilder { protected stackTraceConverter?: BacktraceStackTraceConverter; + protected fileSystem?: FileSystem; constructor( protected handler: BacktraceRequestHandler, @@ -39,5 +41,11 @@ export abstract class BacktraceCoreClientBuilder this.stackTraceConverter = stackTraceConverter; return this; } + + public useFileSystem(fileSystem: FileSystem): this { + this.fileSystem = fileSystem; + return this; + } + public abstract build(): T; } diff --git a/packages/sdk-core/src/builder/CoreClientSetup.ts b/packages/sdk-core/src/builder/CoreClientSetup.ts index c7b86c06..7c96c11b 100644 --- a/packages/sdk-core/src/builder/CoreClientSetup.ts +++ b/packages/sdk-core/src/builder/CoreClientSetup.ts @@ -3,8 +3,8 @@ import { BacktraceRequestHandler } from '../model/http'; import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttributeProvider'; import { BreadcrumbsSetup } from '../modules/breadcrumbs'; import { BacktraceStackTraceConverter } from '../modules/converter'; -import { BacktraceDatabaseStorageProvider } from '../modules/database'; import { BacktraceSessionProvider } from '../modules/metrics/BacktraceSessionProvider'; +import { FileSystem } from '../modules/storage'; import { DebugIdMapProvider } from '../sourcemaps'; import { SdkOptions } from './SdkOptions'; @@ -17,5 +17,5 @@ export interface CoreClientSetup { readonly sessionProvider?: BacktraceSessionProvider; readonly debugIdMapProvider?: DebugIdMapProvider; readonly breadcrumbsSetup?: BreadcrumbsSetup; - readonly databaseStorageProvider?: BacktraceDatabaseStorageProvider; + readonly fileSystem?: FileSystem; } diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 0b19f1ca..8c4dc6dd 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -17,4 +17,5 @@ export * from './modules/converter/V8StackTraceConverter'; export * from './modules/database'; export * from './modules/metrics/BacktraceSessionProvider'; export * from './modules/metrics/SingleSessionProvider'; +export * from './modules/storage'; export * from './sourcemaps/index'; diff --git a/packages/sdk-core/src/model/attachment/BacktraceFileAttachment.ts b/packages/sdk-core/src/model/attachment/BacktraceFileAttachment.ts new file mode 100644 index 00000000..6b2aa072 --- /dev/null +++ b/packages/sdk-core/src/model/attachment/BacktraceFileAttachment.ts @@ -0,0 +1,8 @@ +import { BacktraceAttachment } from './BacktraceAttachment'; + +export interface BacktraceFileAttachment extends BacktraceAttachment { + /** + * File path to attachment. + */ + readonly filePath: string; +} diff --git a/packages/sdk-core/src/model/attachment/index.ts b/packages/sdk-core/src/model/attachment/index.ts index 3f4b4798..ee4a208e 100644 --- a/packages/sdk-core/src/model/attachment/index.ts +++ b/packages/sdk-core/src/model/attachment/index.ts @@ -1,3 +1,4 @@ export * from './BacktraceAttachment'; +export * from './BacktraceFileAttachment'; export * from './BacktraceStringAttachment'; export * from './BacktraceUint8ArrayAttachment'; diff --git a/packages/node/src/database/BacktraceDatabaseFileRecord.ts b/packages/sdk-core/src/modules/database/BacktraceDatabaseFileRecord.ts similarity index 58% rename from packages/node/src/database/BacktraceDatabaseFileRecord.ts rename to packages/sdk-core/src/modules/database/BacktraceDatabaseFileRecord.ts index 43afd4d8..adb896c0 100644 --- a/packages/node/src/database/BacktraceDatabaseFileRecord.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabaseFileRecord.ts @@ -1,5 +1,7 @@ -import { BacktraceData, BacktraceDatabaseRecord } from '@backtrace-labs/sdk-core'; -import { BacktraceFileAttachment } from '../attachment'; +import { BacktraceAttachment, BacktraceFileAttachment } from '../../model/attachment'; +import { BacktraceData } from '../../model/data'; +import { FileSystem } from '../storage'; +import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { public readonly data: BacktraceData; @@ -9,7 +11,7 @@ export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { public readonly timestamp: number; public locked: boolean; - private constructor(record: BacktraceDatabaseRecord, public readonly attachments: BacktraceFileAttachment[]) { + private constructor(record: BacktraceDatabaseRecord, public readonly attachments: BacktraceAttachment[]) { this.data = record.data; this.id = record.id; this.count = record.count; @@ -24,19 +26,25 @@ export class BacktraceDatabaseFileRecord implements BacktraceDatabaseRecord { public static fromRecord(record: BacktraceDatabaseRecord) { return new BacktraceDatabaseFileRecord( record, - record.attachments.filter((n) => n instanceof BacktraceFileAttachment) as BacktraceFileAttachment[], + record.attachments.filter(BacktraceDatabaseFileRecord.isFileAttachment), ); } - public static fromJson(json: string): BacktraceDatabaseFileRecord | undefined { + public static fromJson(json: string, fileSystem: FileSystem): BacktraceDatabaseFileRecord | undefined { try { const record = JSON.parse(json) as BacktraceDatabaseFileRecord; const attachments = record.attachments - ? record.attachments.map((n) => new BacktraceFileAttachment(n.filePath)) + ? record.attachments + .filter(BacktraceDatabaseFileRecord.isFileAttachment) + .map((n) => fileSystem.createAttachment(n.filePath, n.name)) : []; return new BacktraceDatabaseFileRecord(record, attachments); } catch { return undefined; } } + + private static isFileAttachment(attachment: BacktraceAttachment): attachment is BacktraceFileAttachment { + return 'filePath' in attachment && typeof attachment.filePath === 'string'; + } } diff --git a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts b/packages/sdk-core/src/modules/database/BacktraceDatabaseFileStorageProvider.ts similarity index 60% rename from packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts rename to packages/sdk-core/src/modules/database/BacktraceDatabaseFileStorageProvider.ts index 288ead44..be812428 100644 --- a/packages/node/src/database/BacktraceDatabaseFileStorageProvider.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabaseFileStorageProvider.ts @@ -1,18 +1,15 @@ -import { - BacktraceDatabaseConfiguration, - BacktraceDatabaseRecord, - BacktraceDatabaseStorageProvider, - jsonEscaper, -} from '@backtrace-labs/sdk-core'; -import fs from 'fs'; -import * as fsPromise from 'fs/promises'; -import path from 'path'; +import { jsonEscaper } from '../../common/jsonEscaper'; +import { BacktraceDatabaseConfiguration } from '../../model/configuration/BacktraceDatabaseConfiguration'; +import { FileSystem } from '../storage'; import { BacktraceDatabaseFileRecord } from './BacktraceDatabaseFileRecord'; +import { BacktraceDatabaseStorageProvider } from './BacktraceDatabaseStorageProvider'; +import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; + export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseStorageProvider { private _enabled = true; private readonly RECORD_SUFFIX = '-record.json'; - private constructor(private readonly _path: string, private readonly _createDatabaseDirectory: boolean = false) {} + private constructor(private readonly _fileSystem: FileSystem, private readonly _path: string) {} /** * Create a provider if provided options are valid @@ -20,11 +17,13 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt * @returns database file storage provider */ public static createIfValid( + fileSystem: FileSystem, options?: BacktraceDatabaseConfiguration, ): BacktraceDatabaseFileStorageProvider | undefined { if (!options) { return undefined; } + if (!options.enable) { return undefined; } @@ -34,7 +33,8 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt 'Missing mandatory path to the database. Please define the database.path option in the configuration.', ); } - return new BacktraceDatabaseFileStorageProvider(options.path, options.createDatabaseDirectory); + + return new BacktraceDatabaseFileStorageProvider(fileSystem, options.path); } public start(): boolean { @@ -43,14 +43,6 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt return false; } - const databaseDirectoryExists = fs.existsSync(this._path); - if (this._createDatabaseDirectory === false) { - return databaseDirectoryExists; - } - if (databaseDirectoryExists) { - return true; - } - fs.mkdirSync(this._path, { recursive: true }); return true; } @@ -62,12 +54,9 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt public add(record: BacktraceDatabaseRecord): boolean { const recordPath = this.getRecordPath(record.id); try { - fs.writeFileSync( + this._fileSystem.writeFileSync( recordPath, JSON.stringify(BacktraceDatabaseFileRecord.fromRecord(record), jsonEscaper()), - { - encoding: 'utf8', - }, ); return true; } catch { @@ -76,28 +65,24 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt } public async get(): Promise { - const databaseFiles = await fsPromise.readdir(this._path, { - encoding: 'utf8', - withFileTypes: true, - }); + const databaseFiles = await this._fileSystem.readDir(this._path); const recordNames = databaseFiles - .filter((file) => file.isFile() && file.name.endsWith(this.RECORD_SUFFIX)) - .map((n) => n.name); + .filter((file) => file.endsWith(this.RECORD_SUFFIX)) + .map((f) => this._path + '/' + f); const records: BacktraceDatabaseRecord[] = []; for (const recordName of recordNames) { - const recordPath = path.join(this._path, recordName); try { - const recordJson = await fsPromise.readFile(recordPath, 'utf8'); - const record = BacktraceDatabaseFileRecord.fromJson(recordJson); + const recordJson = await this._fileSystem.readFile(recordName); + const record = BacktraceDatabaseFileRecord.fromJson(recordJson, this._fileSystem); if (!record) { - await fsPromise.unlink(recordPath); + await this._fileSystem.unlink(recordName); continue; } records.push(record); } catch { - this.unlinkRecord(recordPath); + await this._fileSystem.unlink(recordName); } } @@ -105,12 +90,12 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt } private unlinkRecord(recordPath: string): boolean { - if (!fs.existsSync(recordPath)) { + if (!this._fileSystem.existsSync(recordPath)) { return false; } try { - fs.unlinkSync(recordPath); + this._fileSystem.unlinkSync(recordPath); return true; } catch { return false; @@ -118,6 +103,6 @@ export class BacktraceDatabaseFileStorageProvider implements BacktraceDatabaseSt } private getRecordPath(id: string): string { - return path.join(this._path, `${id}${this.RECORD_SUFFIX}`); + return this._path + '/' + `${id}${this.RECORD_SUFFIX}`; } } diff --git a/packages/sdk-core/src/modules/storage/FileSystem.ts b/packages/sdk-core/src/modules/storage/FileSystem.ts new file mode 100644 index 00000000..6ab747b8 --- /dev/null +++ b/packages/sdk-core/src/modules/storage/FileSystem.ts @@ -0,0 +1,23 @@ +import { BacktraceAttachment } from '../../model/attachment'; + +export interface FileSystem { + readDir(dir: string): Promise; + readDirSync(dir: string): string[]; + + createDir(dir: string): Promise; + createDirSync(dir: string): void; + + readFile(path: string): Promise; + readFileSync(path: string): string; + + writeFile(path: string, content: string): Promise; + writeFileSync(path: string, content: string): void; + + unlink(path: string): Promise; + unlinkSync(path: string): void; + + exists(path: string): Promise; + existsSync(path: string): boolean; + + createAttachment(path: string, name?: string): BacktraceAttachment; +} diff --git a/packages/sdk-core/src/modules/storage/index.ts b/packages/sdk-core/src/modules/storage/index.ts new file mode 100644 index 00000000..69ca1723 --- /dev/null +++ b/packages/sdk-core/src/modules/storage/index.ts @@ -0,0 +1 @@ +export * from './FileSystem'; diff --git a/packages/sdk-core/tests/_mocks/fileSystem.ts b/packages/sdk-core/tests/_mocks/fileSystem.ts new file mode 100644 index 00000000..6ba97b7a --- /dev/null +++ b/packages/sdk-core/tests/_mocks/fileSystem.ts @@ -0,0 +1,58 @@ +import path from 'path'; +import { BacktraceFileAttachment } from '../../src/model/attachment'; +import { FileSystem } from '../../src/modules/storage/FileSystem'; + +type MockedFileSystem = { + [K in keyof FileSystem]: jest.Mock, Parameters>; +} & { files: Record }; + +export function mockFileSystem(files?: Record): MockedFileSystem { + const fs = Object.entries(files ?? {}) + .map(([k, v]) => [path.resolve(k), v]) + .reduce((obj, [k, v]) => { + obj[k] = v; + return obj; + }, {} as Record); + + function readDir(dir: string) { + return Object.keys(fs) + .filter((k) => path.dirname(k) === path.resolve(dir)) + .map((p) => path.basename(p)); + } + + return { + files: fs, + + readDir: jest.fn().mockImplementation((dir: string) => Promise.resolve(readDir(dir))), + readDirSync: jest.fn().mockImplementation(readDir), + + createDir: jest.fn().mockReturnValue(Promise.resolve()), + createDirSync: jest.fn(), + + readFile: jest.fn().mockImplementation((p: string) => Promise.resolve(fs[path.resolve(p)])), + readFileSync: jest.fn().mockImplementation((p: string) => fs[path.resolve(p)]), + + writeFile: jest.fn().mockImplementation((p: string, c: string) => Promise.resolve((fs[path.resolve(p)] = c))), + writeFileSync: jest.fn().mockImplementation((p: string, c: string) => (fs[path.resolve(p)] = c)), + + unlink: jest.fn().mockImplementation((p: string) => { + delete fs[path.resolve(p)]; + }), + unlinkSync: jest.fn().mockImplementation((p: string) => { + delete fs[path.resolve(p)]; + return Promise.resolve(); + }), + + exists: jest.fn().mockImplementation((p: string) => Promise.resolve(path.resolve(p) in fs)), + existsSync: jest.fn().mockImplementation((p: string) => path.resolve(p) in fs), + + createAttachment: jest.fn().mockImplementation( + (p: string) => + ({ + filePath: p, + name: path.basename(p), + get: jest.fn().mockReturnValue(fs[path.resolve(p)]), + } as BacktraceFileAttachment), + ), + }; +} diff --git a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts index 2e032f78..e498ecac 100644 --- a/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseContextMemoryStorageTests.spec.ts @@ -2,8 +2,8 @@ import path from 'path'; import { BacktraceData, BacktraceDatabaseRecord, BacktraceReportSubmissionResult } from '../../src'; import { TimeHelper } from '../../src/common/TimeHelper'; import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { mockFileSystem } from '../_mocks/fileSystem'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; -import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database context memory storage tests', () => { const testDatabaseSettings = { @@ -29,7 +29,7 @@ describe('Database context memory storage tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { @@ -56,13 +56,15 @@ describe('Database context memory storage tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { throw new Error('Invalid database setup. Database must be defined!'); } + const removeSpy = jest.spyOn(database, 'remove'); + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( Promise.resolve(BacktraceReportSubmissionResult.Ok({})), ); @@ -72,21 +74,21 @@ describe('Database context memory storage tests', () => { const records = database.get(); expect(records.length).toBe(0); - expect(testStorageProvider.add).toHaveBeenCalled(); + expect(removeSpy).toHaveBeenCalled(); }); }); describe('Record load on the database start', () => { it('Shouldn not fail when no records are available in the database dir', () => { - jest.spyOn(testStorageProvider, 'start').mockReturnValue(true); - jest.spyOn(testStorageProvider, 'get').mockResolvedValue(Promise.resolve([])); + const fileSystem = mockFileSystem(); + const client = BacktraceTestClient.buildFakeClient( { database: testDatabaseSettings, }, [], [], - testStorageProvider, + fileSystem, ); expect((client.database as BacktraceDatabase).get().length).toBe(0); @@ -102,15 +104,16 @@ describe('Database context memory storage tests', () => { id: '123', locked: false, }; - jest.spyOn(testStorageProvider, 'start').mockReturnValue(true); - jest.spyOn(testStorageProvider, 'get').mockResolvedValue(Promise.resolve([record])); + const fileSystem = mockFileSystem({ + [path.join(testDatabaseSettings.path, 'abc-record.json')]: JSON.stringify(record), + }); const client = BacktraceTestClient.buildFakeClient( { database: testDatabaseSettings, }, [], [], - testStorageProvider, + fileSystem, ); await new Promise(process.nextTick); diff --git a/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts b/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts index cc39c5ee..894e40b0 100644 --- a/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseContextValidationTests.spec.ts @@ -1,8 +1,8 @@ import path from 'path'; import { BacktraceDatabaseConfiguration, BacktraceReportSubmissionResult } from '../../src'; import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { mockFileSystem } from '../_mocks/fileSystem'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; -import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database context validation tests', () => { describe('Record overflow tests', () => { @@ -38,7 +38,7 @@ describe('Database context validation tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), diff --git a/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts b/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts index 9e016284..ef0b5663 100644 --- a/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseRecordBatchTests.spec.ts @@ -1,8 +1,8 @@ import path from 'path'; import { BacktraceReportSubmissionResult } from '../../src'; +import { mockFileSystem } from '../_mocks/fileSystem'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; import { testHttpClient } from '../mocks/testHttpClient'; -import { testStorageProvider } from '../mocks/testStorageProvider'; jest.useFakeTimers(); @@ -32,7 +32,7 @@ describe('Database record batch tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database; if (!database) { @@ -65,7 +65,7 @@ describe('Database record batch tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database; if (!database) { diff --git a/packages/sdk-core/tests/database/databaseSendTests.spec.ts b/packages/sdk-core/tests/database/databaseSendTests.spec.ts index 919219ba..d2de3674 100644 --- a/packages/sdk-core/tests/database/databaseSendTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseSendTests.spec.ts @@ -1,8 +1,8 @@ import path from 'path'; import { BacktraceDatabaseConfiguration, BacktraceReportSubmissionResult } from '../../src'; import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { mockFileSystem } from '../_mocks/fileSystem'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; -import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database send tests', () => { afterEach(() => { @@ -26,7 +26,7 @@ describe('Database send tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { @@ -51,7 +51,7 @@ describe('Database send tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { @@ -82,7 +82,7 @@ describe('Database send tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { @@ -108,7 +108,7 @@ describe('Database send tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { diff --git a/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts b/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts index 7682e5be..7c707dda 100644 --- a/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseStorageFlowTests.spec.ts @@ -1,8 +1,8 @@ import path from 'path'; import { BacktraceReportSubmissionResult } from '../../src'; import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; +import { mockFileSystem } from '../_mocks/fileSystem'; import { BacktraceTestClient } from '../mocks/BacktraceTestClient'; -import { testStorageProvider } from '../mocks/testStorageProvider'; describe('Database storage provider flow tests', () => { const testDatabaseSettings = { @@ -19,45 +19,6 @@ describe('Database storage provider flow tests', () => { jest.clearAllMocks(); }); - describe('Setup', () => { - it('Should initialize correctly after database storage initialization', () => { - const client = BacktraceTestClient.buildFakeClient( - { - database: testDatabaseSettings, - }, - [], - [], - testStorageProvider, - ); - const database = client.database as BacktraceDatabase; - if (!database) { - throw new Error('Invalid database setup. Database must be defined!'); - } - - expect(testStorageProvider.start).toHaveBeenCalled(); - expect(database.enabled).toBeTruthy(); - }); - - it('Should not initialize if storage is not setup correctly', () => { - jest.spyOn(testStorageProvider, 'start').mockReturnValueOnce(false); - const client = BacktraceTestClient.buildFakeClient( - { - database: testDatabaseSettings, - }, - [], - [], - testStorageProvider, - ); - const database = client.database as BacktraceDatabase; - if (!database) { - throw new Error('Invalid database setup. Database must be defined!'); - } - - expect(testStorageProvider.start).toHaveBeenCalled(); - expect(database.enabled).toBeFalsy(); - }); - }); - describe('Add', () => { it('Should call add on client.send method', async () => { const testingErrorMessage = 'testingErrorMessage'; @@ -67,21 +28,22 @@ describe('Database storage provider flow tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { throw new Error('Invalid database setup. Database must be defined!'); } + const addSpy = jest.spyOn(database, 'add'); + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( Promise.resolve(BacktraceReportSubmissionResult.OnInternalServerError('test')), ); await client.send(new Error(testingErrorMessage)); - expect(testStorageProvider.add).toHaveBeenCalled(); - expect(testStorageProvider.delete).not.toHaveBeenCalled(); + expect(addSpy).toHaveBeenCalled(); }); it('Should call delete after successful client.send', async () => { @@ -92,21 +54,24 @@ describe('Database storage provider flow tests', () => { }, [], [], - testStorageProvider, + mockFileSystem(), ); const database = client.database as BacktraceDatabase; if (!database) { throw new Error('Invalid database setup. Database must be defined!'); } + const addSpy = jest.spyOn(database, 'add'); + const removeSpy = jest.spyOn(database, 'remove'); + jest.spyOn(client.requestHandler, 'postError').mockResolvedValue( Promise.resolve(BacktraceReportSubmissionResult.Ok({})), ); await client.send(new Error(testingErrorMessage)); - expect(testStorageProvider.add).toHaveBeenCalled(); - expect(testStorageProvider.delete).toHaveBeenCalled(); + expect(addSpy).toHaveBeenCalled(); + expect(removeSpy).toHaveBeenCalled(); }); }); }); diff --git a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts index 80fc3a19..b38cb675 100644 --- a/packages/sdk-core/tests/mocks/BacktraceTestClient.ts +++ b/packages/sdk-core/tests/mocks/BacktraceTestClient.ts @@ -5,6 +5,7 @@ import { BacktraceCoreClient, BacktraceDatabaseStorageProvider, BacktraceRequestHandler, + FileSystem, } from '../../src'; import { testHttpClient } from '../mocks/testHttpClient'; export const TOKEN = '590d39eb154cff1d30f2b689f9a928bb592b25e7e7c10192fe208485ea68d91c'; @@ -20,17 +21,15 @@ export class BacktraceTestClient extends BacktraceCoreClient { handler: BacktraceRequestHandler, attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], - storageProvider?: BacktraceDatabaseStorageProvider, + fileSystem?: FileSystem, ) { super({ options: { - ...{ - url: TEST_SUBMISSION_URL, - token: TOKEN, - attachments, - metrics: { - enable: false, - }, + url: TEST_SUBMISSION_URL, + token: TOKEN, + attachments, + metrics: { + enable: false, }, ...(options ?? {}), }, @@ -42,17 +41,16 @@ export class BacktraceTestClient extends BacktraceCoreClient { }, requestHandler: handler, attributeProviders, - databaseStorageProvider: storageProvider, + fileSystem, }); this.requestHandler = handler; - this.storageProvider = storageProvider; } public static buildFakeClient( options: Partial = {}, attributeProviders: BacktraceAttributeProvider[] = [], attachments: BacktraceAttachment[] = [], - storageProvider?: BacktraceDatabaseStorageProvider, + fileSystem?: FileSystem, ) { attributeProviders.push({ type: 'scoped', @@ -63,13 +61,7 @@ export class BacktraceTestClient extends BacktraceCoreClient { }; }, }); - const instance = new BacktraceTestClient( - options, - testHttpClient, - attributeProviders, - attachments, - storageProvider, - ); + const instance = new BacktraceTestClient(options, testHttpClient, attributeProviders, attachments, fileSystem); instance.initialize(); return instance; } From eb27c2a30d60aa8c823b0c5c6c1a25f923ba7e5a Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Fri, 29 Sep 2023 11:30:32 -0700 Subject: [PATCH 185/291] BT-700 Added feature descriptions and light/dark images. --- README.md | 89 +++++++++++++++++++++++++++++++++---------------- sl.bt.png | Bin 52960 -> 0 bytes slbt.dark.png | Bin 0 -> 56374 bytes slbt.light.png | Bin 0 -> 65147 bytes 4 files changed, 61 insertions(+), 28 deletions(-) delete mode 100644 sl.bt.png create mode 100644 slbt.dark.png create mode 100644 slbt.light.png diff --git a/README.md b/README.md index e21a31b3..925cab4b 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,69 @@ -

- - Backtrace - -

+![GitHub-Mark-Dark](./slbt.light.png#gh-dark-mode-only) +![GitHub-Mark-Light](./slbt.dark.png#gh-light-mode-only) -# Sauce Labs backtrace-javscript SDKs +# Sauce Labs Web SDK -These Javascript SDKs are a radical step forward in error reporting for web applications, with a number of exciting new features. - -
-
-
    -
  • Advanced breadcrumbs
  • -
  • Attachments
  • -
  • Framework-specific attributes
  • -
  • Stability metrics
  • -
-
-
-
    -
  • Crash support
  • -
  • Persistent crash data
  • -
  • Readable callstacks
  • -
-
-
-
- -Backtrace is truly amazing for native and mobile developers - now it's amazing for web developers too! +Backtrace's first-class support for JavaScript platforms offers a robust solution for error monitoring and debugging in production web applications, ultimately improving the quality and reliability of your software. ## Supported JavaScript frameworks The @backtrace-labs/browser is suitable for all JavaScript frameworks. Additional integrations are provided to take advantage of the capabilities of different frameworks. - [@backtrace-labs/browser](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) - [@backtrace-labs/node](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) - [@backtrace-labs/react](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) + +## Web SDK Features + +Backtrace is an advanced Error Reporting service, with industry-leading features to correlate, explore, manage and resolve production issues. The Backtrace Web SDK directly connects your applications to those advanced features. These SDKs specifically provide the following: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source map supportSource maps can be used to convert minified/transpiled production code into the original source code so error data can contain functions, line numbers, and more. In addition, the report can show the failing function in the user source code.
Advanced breadcrumbsYou can include helpful breadcrumbs for tracing application flow. Backtrace will also include useful default breadcrumbs for browsers, like http requests, navigation changes, and more.
PII/Data managementError reports can be scrubbed for PII and otherwise altered before submission.
Attachment supportFile attachments can be added to error submissions.
Default and dynamics attributesThe SDK provides accurate information about the browser and OS of users by default, including additional attributes specific to each Javascript framework. + +You can also add dynamic attributes resolved every time when the library generates a report.
Application Stability MetricsBacktrace SDKs have built in functionality to generate application session and user stability metrics like “Error free sessions” in the Backtrace Web Console.
(Node) Persistent crash dataError data is stored locally when access to the internet is disrupted or the application is not able to send data. Data will be sent on restart.
(Node) Crash and Out of Memory (OOM) detectionThe Node SDK can submit crash data and out of memory exceptions.
(React) Redux supportBacktrace will capture redux actions and states in our breadcrumb system. This allows for tracing the user journey when debugging an error
(React) Error Boundary supportThe error boundary component can capture the error and provide options to render a fallback component.
Build system pluginsWebpack, Vite and Rollup plugins to support Backtrace integration with common build systems of JavaScript projects. The Backtrace plugins: +
    +
  • Allow generation and upload of multiple source maps to Backtrace.
  • +
  • Allow multiple source maps per application.
  • +
  • Allow source content to be included in source maps, simplifying source integration.
  • +
diff --git a/sl.bt.png b/sl.bt.png deleted file mode 100644 index 8bd6160eb0b1a8b999423b89e76170cf219ed800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52960 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%0D>Z*g?e%@uKt18Qk7 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 PZNS>{gvC>HkJ$eMWy}Y( diff --git a/slbt.dark.png b/slbt.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a75a126e9a62445bebb3fb848e91eba047598b27 GIT binary patch literal 56374 zcmY&;bwE^G_x1$c-6bs@(k&n%A&oR5A&qo564Kp>NDQeGLyxqipmcXLARr(D-|>2{ z-~0Om7|uC!_S$PbtDd!Eo@glHVo_m%KpmH8>U{6NiSbmBkjKR-JJZ+XIM0Aff6tuPX8V}p~lK?6Lx z10_e7kZ`%3R&~ZMI zR3Y&4KGC)z$RUbx^7z!kkrt`cM3#xZ5j4 zCZYST#vd!i6RIzgl9H8jH)uAMbd2fC6I^tU|{5@oZktTAI9mrDzdjNX6PuX0>T3q@O5cMQbSH zMM{k*utZ`oL*hb+4=~Ik2)Z1@l9H4R)ePm!Sq_-$iCQoWFvBDGyVw|0%Qfp+{D`i4 ze4dHFPcnQ|#d>s)?p^_l85;YZAX#whN+bsMn7d=Cc z9~=Rs$%91c;_3S7LFwBtT|IX_nMq$5wr-^!ex;dyVCf^hk5ASsFu##iPFB$BwN?n% zjB0ypCq5a|GJo4)eiQc73im@)+H`g)u?C|9w+2Q^i($h6xHlHj1T--_g!V|MaxJ9cavSr?LY)|^D)xPg8=K0_` z-tOYK(z(;w+jH_g

t8UWD%fhHw(4BfqHC@o`M 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ⅆuT`88@GH1^K+)`%mUl3{P}d| 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⪙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�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 literal 0 HcmV?d00001 From 86990c771c8696ef82c297da3aabe9526d2b87f2 Mon Sep 17 00:00:00 2001 From: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Fri, 29 Sep 2023 13:42:56 -0700 Subject: [PATCH 186/291] Copy edit --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 925cab4b..9b40dc38 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Backtrace is an advanced Error Reporting service, with industry-leading features - + @@ -32,14 +32,14 @@ Backtrace is an advanced Error Reporting service, with industry-leading features - - + - + @@ -51,7 +51,7 @@ You can also add dynamic attributes resolved every time when the library generat - + @@ -59,11 +59,11 @@ You can also add dynamic attributes resolved every time when the library generat -
Source map supportSource maps can be used to convert minified/transpiled production code into the original source code so error data can contain functions, line numbers, and more. In addition, the report can show the failing function in the user source code.Source maps can be used to convert minified/transpiled production code into the original source code so error data can contain functions, line numbers, and more. In addition, the report can show the failing function in the your source code.
Advanced breadcrumbsFile attachments can be added to error submissions.
Default and dynamics attributesThe SDK provides accurate information about the browser and OS of users by default, including additional attributes specific to each Javascript framework. +Default and dynamic attributesThe SDK provides accurate information about the browser and OS by default, including additional attributes specific to each Javascript framework. You can also add dynamic attributes resolved every time when the library generates a report.
Application Stability MetricsBacktrace SDKs have built in functionality to generate application session and user stability metrics like “Error free sessions” in the Backtrace Web Console.Backtrace SDKs have built in functionality to generate application session and stability metrics like “Error free sessions” in the Backtrace web console.
(Node) Persistent crash data
(React) Redux supportBacktrace will capture redux actions and states in our breadcrumb system. This allows for tracing the user journey when debugging an errorBacktrace will capture redux actions and states in our breadcrumb system. This allows for tracing the user journey when debugging an error.
(React) Error Boundary support
Build system pluginsWebpack, Vite and Rollup plugins to support Backtrace integration with common build systems of JavaScript projects. The Backtrace plugins: +Webpack, Vite and Rollup plugins are provided to support Backtrace integration with common build systems of JavaScript projects. The Backtrace plugins allow:
    -
  • Allow generation and upload of multiple source maps to Backtrace.
  • -
  • Allow multiple source maps per application.
  • -
  • Allow source content to be included in source maps, simplifying source integration.
  • +
  • Generation and upload of multiple source maps to Backtrace.
  • +
  • Multiple source maps per application.
  • +
  • Source content to be included in source maps, simplifying source integration.
From 2ff8e6d43a39c1f4d27e9de92e4e18478e0a8459 Mon Sep 17 00:00:00 2001 From: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Fri, 29 Sep 2023 13:54:16 -0700 Subject: [PATCH 187/291] Update header image light/dark display --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9b40dc38..dac7b3cb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ -![GitHub-Mark-Dark](./slbt.light.png#gh-dark-mode-only) -![GitHub-Mark-Light](./slbt.dark.png#gh-light-mode-only) +

+ + + + + +
# Sauce Labs Web SDK From 7a3f5022384c4095c0906f4d48c2706a8ba10f78 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 2 Oct 2023 10:28:40 +0200 Subject: [PATCH 188/291] node: breadcrumbs from previous session in database (#150) * sdk-core: add getAttachments from BreadcrumbStorage, move initialization to BreadcrumbsManager * sdk-core: add SessionFiles * node: add FileBreadcrumbsStorage with AlternatingFileWriter * sdk-core: export Breacrumb type and TimeHelper * sdk-core: make generateSubmissionData protected * node: load breadcrumbs from previous session with native crashes * sdk-core: add session locking to database * sdk-core: add limit of maximum previous locked sessions * node: add sessionId to loaded native crashes * sdk-core: add SessionFiles tests, remove clearSession without marker * sdk-core: add maximumOldSessions option to database configuration * sdk-core: unlock sessions in database on remove * node: add _testOutput to .gitignore * sdk-core: fix breadcrumbs manager tests * node: fix _testOutput dir not creating in tests * sdk-core, node: PR changes * sdk-core: dont filter sessionMarkers if currentSessionMarker is undefined * sdk-core: remove addAttributeProvider from client * sdk-core: fix unit tests --------- Co-authored-by: Sebastian Alex --- packages/node/src/BacktraceClient.ts | 82 +++- .../src/breadcrumbs/FileBreadcrumbsStorage.ts | 81 ++++ .../node/src/common/AlternatingFileWriter.ts | 46 ++ packages/node/tests/.gitignore | 1 + .../node/tests/common/alternatingFile.spec.ts | 96 ++++ packages/sdk-core/src/BacktraceCoreClient.ts | 30 +- packages/sdk-core/src/index.ts | 1 + .../BacktraceDatabaseConfiguration.ts | 8 + .../sdk-core/src/modules/BacktraceModule.ts | 3 +- .../modules/breadcrumbs/BreadcrumbsManager.ts | 36 +- .../sdk-core/src/modules/breadcrumbs/index.ts | 1 + .../breadcrumbs/storage/BreadcrumbsStorage.ts | 7 +- .../storage/InMemoryBreadcrumbsStorage.ts | 7 +- .../src/modules/database/BacktraceDatabase.ts | 36 +- .../src/modules/storage/SessionFiles.ts | 235 ++++++++++ .../sdk-core/src/modules/storage/index.ts | 1 + .../breadcrumbsCreationTests.spec.ts | 50 ++- .../breadcrumbsFilteringOptionsTests.spec.ts | 85 +++- .../breadcrumbsInterceptorTests.spec.ts | 33 +- .../tests/storage/SessionFiles.spec.ts | 423 ++++++++++++++++++ 20 files changed, 1164 insertions(+), 98 deletions(-) create mode 100644 packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts create mode 100644 packages/node/src/common/AlternatingFileWriter.ts create mode 100644 packages/node/tests/.gitignore create mode 100644 packages/node/tests/common/alternatingFile.spec.ts create mode 100644 packages/sdk-core/src/modules/storage/SessionFiles.ts create mode 100644 packages/sdk-core/tests/storage/SessionFiles.spec.ts diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 90cfac56..232e4213 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -4,14 +4,17 @@ import { BacktraceReport, BacktraceRequestHandler, BreadcrumbsEventSubscriber, + BreadcrumbsManager, BacktraceConfiguration as CoreConfiguration, DebugIdContainer, FileSystem, + SessionFiles, VariableDebugIdMapProvider, } from '@backtrace-labs/sdk-core'; import path from 'path'; import { BacktraceConfiguration } from './BacktraceConfiguration'; import { AGENT } from './agentDefinition'; +import { FileBreadcrumbsStorage } from './breadcrumbs/FileBreadcrumbsStorage'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { NodeOptionReader } from './common/NodeOptionReader'; import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; @@ -37,19 +40,32 @@ export class BacktraceClient extends BacktraceCoreClient { }, fileSystem, }); + + const breadcrumbsManager = this.modules.get(BreadcrumbsManager); + if (breadcrumbsManager && this.sessionFiles) { + breadcrumbsManager.setStorage( + FileBreadcrumbsStorage.create(this.sessionFiles, options.breadcrumbs?.maximumBreadcrumbs ?? 100), + ); + } } public initialize(): void { - super.initialize(); + const lockId = this.sessionFiles?.lockPreviousSessions(); - this.loadNodeCrashes(); + try { + super.initialize(); + this.captureUnhandledErrors( + this.options.captureUnhandledErrors, + this.options.captureUnhandledPromiseRejections, + ); - this.captureUnhandledErrors( - this.options.captureUnhandledErrors, - this.options.captureUnhandledPromiseRejections, - ); + this.captureNodeCrashes(); + } catch (err) { + lockId && this.sessionFiles?.unlockPreviousSessions(lockId); + throw err; + } - this.captureNodeCrashes(); + this.loadNodeCrashes().finally(() => lockId && this.sessionFiles?.unlockPreviousSessions(lockId)); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { @@ -222,7 +238,7 @@ export class BacktraceClient extends BacktraceCoreClient { } private async loadNodeCrashes() { - if (!this.fileSystem || !this.options.database?.captureNativeCrashes) { + if (!this.database || !this.fileSystem || !this.options.database?.captureNativeCrashes) { return; } @@ -245,17 +261,61 @@ export class BacktraceClient extends BacktraceCoreClient { reportName ? file === reportName : file.startsWith('report.') && file.endsWith('.json'), ); + if (!recordNames.length) { + return; + } + + const reports: [path: string, report: BacktraceReport, sessionFiles?: SessionFiles][] = []; for (const recordName of recordNames) { const recordPath = path.join(databasePath, recordName); try { const recordJson = await this.fileSystem.readFile(recordPath); - const data = converter.convert(JSON.parse(recordJson)); - await this.send(data); + const report = converter.convert(JSON.parse(recordJson)); + reports.push([recordPath, report]); + } catch { + // Do nothing, skip the report + } + } + + // Sort reports by timestamp descending + reports.sort((a, b) => b[1].timestamp - a[1].timestamp); + + // Map reports to sessions + // When the sessions are sorted by timestamp, we can assume that each previous session maps to the next report + let currentSession = this.sessionFiles?.getPreviousSession(); + for (const tuple of reports) { + tuple[2] = currentSession; + currentSession = currentSession?.getPreviousSession(); + } + + for (const [recordPath, report, session] of reports) { + try { + if (session) { + const breadcrumbsStorage = FileBreadcrumbsStorage.createFromSession(session); + if (breadcrumbsStorage) { + report.attachments.push(...breadcrumbsStorage.getAttachments()); + } + + report.attributes['application.session'] = session.sessionId; + } else { + report.attributes['application.session'] = null; + } + + const data = this.generateSubmissionData(report); + if (data) { + this.database.add(data, report.attachments); + } } catch { // Do nothing, skip the report } finally { - await this.fileSystem.unlink(recordPath); + try { + await this.fileSystem.unlink(recordPath); + } catch { + // Do nothing + } } } + + await this.database.send(); } } diff --git a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts new file mode 100644 index 00000000..1cdb66cf --- /dev/null +++ b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -0,0 +1,81 @@ +import { + BacktraceAttachment, + Breadcrumb, + BreadcrumbLogLevel, + BreadcrumbType, + BreadcrumbsStorage, + RawBreadcrumb, + SessionFiles, + TimeHelper, + jsonEscaper, +} from '@backtrace-labs/sdk-core'; +import path from 'path'; +import { BacktraceFileAttachment } from '../attachment'; +import { AlternatingFileWriter } from '../common/AlternatingFileWriter'; + +const FILE_PREFIX = 'breadcrumbs'; + +export class FileBreadcrumbsStorage implements BreadcrumbsStorage { + public get lastBreadcrumbId(): number { + return this._lastBreadcrumbId; + } + + private _lastBreadcrumbId: number = TimeHelper.toTimestampInSec(TimeHelper.now()); + + private readonly _writer: AlternatingFileWriter; + + constructor( + private readonly _mainFile: string, + private readonly _fallbackFile: string, + maximumBreadcrumbs: number, + ) { + this._writer = new AlternatingFileWriter(_mainFile, _fallbackFile, maximumBreadcrumbs); + } + + public static createFromSession(session: SessionFiles): FileBreadcrumbsStorage | undefined { + const files = session + .getSessionFiles() + .filter((f) => path.basename(f).startsWith(FILE_PREFIX)) + .slice(0, 2); + + if (!files.length) { + return undefined; + } + + return new FileBreadcrumbsStorage(files[0], files[1], 1); + } + + public static create(session: SessionFiles, maximumBreadcrumbs: number) { + const file1 = session.getFileName(this.getFileName(0)); + const file2 = session.getFileName(this.getFileName(1)); + return new FileBreadcrumbsStorage(file1, file2, maximumBreadcrumbs); + } + + public getAttachments(): BacktraceAttachment[] { + return [ + new BacktraceFileAttachment(this._mainFile, 'bt-breadcrumbs-0'), + new BacktraceFileAttachment(this._fallbackFile, 'bt-breadcrumbs-1'), + ]; + } + + public add(rawBreadcrumb: RawBreadcrumb): number { + this._lastBreadcrumbId++; + const id = this._lastBreadcrumbId; + const breadcrumb: Breadcrumb = { + id, + message: rawBreadcrumb.message, + timestamp: TimeHelper.now(), + type: BreadcrumbType[rawBreadcrumb.type].toLowerCase(), + level: BreadcrumbLogLevel[rawBreadcrumb.level].toLowerCase(), + }; + + const breadcrumbJson = JSON.stringify(breadcrumb, jsonEscaper()); + this._writer.writeLine(breadcrumbJson); + + return id; + } + + private static getFileName(index: number) { + return `${FILE_PREFIX}-${index}`; + } +} diff --git a/packages/node/src/common/AlternatingFileWriter.ts b/packages/node/src/common/AlternatingFileWriter.ts new file mode 100644 index 00000000..39476acd --- /dev/null +++ b/packages/node/src/common/AlternatingFileWriter.ts @@ -0,0 +1,46 @@ +import fs from 'fs'; + +export class AlternatingFileWriter { + private _fileStream?: fs.WriteStream; + private _count = 0; + private _disposed = false; + + constructor( + private readonly _mainFile: string, + private readonly _fallbackFile: string, + private readonly _fileCapacity: number, + ) { + if (this._fileCapacity <= 0) { + throw new Error('File capacity may not be less or equal to 0.'); + } + } + + public async writeLine(value: string): Promise { + if (this._disposed) { + throw new Error('This instance has been disposed.'); + } + + if (!this._fileStream) { + this._fileStream = fs.createWriteStream(this._mainFile, 'utf-8'); + } else if (this._count >= this._fileCapacity) { + this._fileStream.close(); + await fs.promises.rename(this._mainFile, this._fallbackFile); + this._count = 0; + this._fileStream = fs.createWriteStream(this._mainFile, 'utf-8'); + } + + await this.writeAsync(this._fileStream, value + '\n'); + this._count++; + + return this; + } + + private writeAsync(fs: fs.WriteStream, data: unknown) { + return new Promise((resolve, reject) => fs.write(data, (err) => (err ? reject(err) : resolve()))); + } + + public dispose() { + this._fileStream?.close(); + this._disposed = true; + } +} diff --git a/packages/node/tests/.gitignore b/packages/node/tests/.gitignore new file mode 100644 index 00000000..209046be --- /dev/null +++ b/packages/node/tests/.gitignore @@ -0,0 +1 @@ +_testOutput \ No newline at end of file diff --git a/packages/node/tests/common/alternatingFile.spec.ts b/packages/node/tests/common/alternatingFile.spec.ts new file mode 100644 index 00000000..00b5bb98 --- /dev/null +++ b/packages/node/tests/common/alternatingFile.spec.ts @@ -0,0 +1,96 @@ +import fs from 'fs'; +import path from 'path'; +import { AlternatingFileWriter } from '../../src/common/AlternatingFileWriter'; + +function unlinkSafe(file: string) { + try { + fs.unlinkSync(file); + } catch { + // Do nothing + } +} + +describe('AlternatingFileWriter', () => { + const dir = path.join(__dirname, '../_testOutput'); + const file1 = path.join(dir, 'alternating_file1'); + const file2 = path.join(dir, 'alternating_file2'); + + beforeAll(() => { + fs.mkdirSync(dir, { recursive: true }); + + unlinkSafe(file1); + unlinkSafe(file2); + }); + + afterEach(() => { + unlinkSafe(file1); + unlinkSafe(file2); + }); + + it('should add line to the main file', async () => { + const writer = new AlternatingFileWriter(file1, file2, 10); + await writer.writeLine('value'); + writer.dispose(); + + const mainFile = await fs.promises.readFile(file1, 'utf-8'); + expect(mainFile).toEqual('value\n'); + }); + + it('should not move main file to fallback file before adding with fileCapacity reached', async () => { + const count = 5; + const writer = new AlternatingFileWriter(file1, file2, count); + for (let i = 0; i < count; i++) { + await writer.writeLine(`value-${i}`); + } + writer.dispose(); + + await expect(fs.promises.stat(file2)).rejects.toThrowError(); + }); + + it('should move main file to fallback file after adding with fileCapacity reached', async () => { + const count = 5; + const writer = new AlternatingFileWriter(file1, file2, count); + for (let i = 0; i < count; i++) { + await writer.writeLine(`value-${i}`); + } + + const mainFile = await fs.promises.readFile(file1, 'utf-8'); + await writer.writeLine('value-x'); + writer.dispose(); + + const fallbackFile = await fs.promises.readFile(file2, 'utf-8'); + expect(fallbackFile).toEqual(mainFile); + }); + + it('should add line to the main file after adding with fileCapacity reached', async () => { + const count = 5; + const writer = new AlternatingFileWriter(file1, file2, count); + for (let i = 0; i < count; i++) { + await writer.writeLine(`value-${i}`); + } + + await writer.writeLine('value-x'); + writer.dispose(); + + const mainFile = await fs.promises.readFile(file1, 'utf-8'); + expect(mainFile).toEqual('value-x\n'); + }); + + it('should throw after adding line when disposed', async () => { + const writer = new AlternatingFileWriter(file1, file2, 10); + writer.dispose(); + await expect(writer.writeLine('value-x')).rejects.toThrowError('This instance has been disposed.'); + }); + + it('should throw when fileCapacity is 0', () => { + expect(() => new AlternatingFileWriter(file1, file2, 0)).toThrowError( + 'File capacity may not be less or equal to 0.', + ); + }); + + it('should throw when fileCapacity is less than 0', () => { + expect(() => new AlternatingFileWriter(file1, file2, -1)).toThrowError( + 'File capacity may not be less or equal to 0.', + ); + }); +}); diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 3cbc989c..4a01c00c 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -7,6 +7,7 @@ import { DebugIdProvider, FileSystem, SdkOptions, + SessionFiles, } from '.'; import { CoreClientSetup } from './builder/CoreClientSetup'; import { Events } from './common/Events'; @@ -103,6 +104,10 @@ export abstract class BacktraceCoreClient { return this._modules; } + protected get sessionFiles() { + return this._modules.get(SessionFiles); + } + protected readonly reportEvents: Events; protected readonly attributeManager: AttributeManager; protected readonly options: BacktraceConfiguration; @@ -157,8 +162,23 @@ export abstract class BacktraceCoreClient { this.options.database, ); + if (this.fileSystem) { + const sessionFiles = new SessionFiles( + this.fileSystem, + this.options.database.path, + this.sessionId, + this.options.database.maximumOldSessions ?? 1, + ); + this._modules.set(SessionFiles, sessionFiles); + } + if (provider) { - const database = new BacktraceDatabase(this.options.database, provider, this._reportSubmission); + const database = new BacktraceDatabase( + this.options.database, + provider, + this._reportSubmission, + this.sessionFiles, + ); this._modules.set(BacktraceDatabase, database); } } @@ -176,8 +196,6 @@ export abstract class BacktraceCoreClient { if (this.options.breadcrumbs?.enable !== false) { const breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); - this._attachments.push(breadcrumbsManager.breadcrumbsStorage); - this.attributeManager.addProvider(breadcrumbsManager); this._modules.set(BreadcrumbsManager, breadcrumbsManager); } @@ -199,8 +217,11 @@ export abstract class BacktraceCoreClient { if (module.bind) { module.bind(this.getModuleBindData()); } + module.initialize(); } + + this.sessionFiles?.clearPreviousSessions(); } /** @@ -292,7 +313,7 @@ export abstract class BacktraceCoreClient { } } - private generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { + protected generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { const backtraceData = this._dataBuilder.build(report); if (!this.options.beforeSend) { return backtraceData; @@ -319,6 +340,7 @@ export abstract class BacktraceCoreClient { return { client: this, reportEvents: this.reportEvents, + sessionFiles: this.sessionFiles, }; } } diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 8c4dc6dd..91798c53 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -2,6 +2,7 @@ export * from './BacktraceCoreClient'; export * from './builder/BacktraceCoreClientBuilder'; export * from './builder/SdkOptions'; export * from './common/IdGenerator'; +export * from './common/TimeHelper'; export * from './common/jsonEscaper'; export * from './model/attachment'; export * from './model/configuration/BacktraceConfiguration'; diff --git a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts index f5a131a2..2ed41cae 100644 --- a/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts +++ b/packages/sdk-core/src/model/configuration/BacktraceDatabaseConfiguration.ts @@ -43,6 +43,14 @@ export interface EnabledBacktraceDatabaseConfiguration { * A crash report is generated, stored locally, and uploaded upon next start. */ captureNativeCrashes?: boolean; + + /** + * Controls how much previous session caches to preserve before sending data from previous sessions. + * This does not remove unsent reports, only session files, like breadcrumbs stored on disk. + * + * The default value is 1 + */ + maximumOldSessions?: number; } export interface DisabledBacktraceDatabaseConfiguration diff --git a/packages/sdk-core/src/modules/BacktraceModule.ts b/packages/sdk-core/src/modules/BacktraceModule.ts index 60489a09..e8aceef9 100644 --- a/packages/sdk-core/src/modules/BacktraceModule.ts +++ b/packages/sdk-core/src/modules/BacktraceModule.ts @@ -1,10 +1,11 @@ -import { BacktraceCoreClient } from '..'; +import { BacktraceCoreClient, SessionFiles } from '..'; import { Events } from '../common/Events'; import { ReportEvents } from '../events/ReportEvents'; export interface BacktraceModuleBindData { readonly client: BacktraceCoreClient; readonly reportEvents: Events; + readonly sessionFiles?: SessionFiles; } export interface BacktraceModule { diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts index a7698c85..dc45a1e1 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts @@ -3,6 +3,7 @@ import { BreadcrumbLogLevel, BreadcrumbType, BreadcrumbsSetup, + BreadcrumbsStorage, defaultBreadcrumbsLogLevel, defaultBreadcurmbType, } from '.'; @@ -13,47 +14,43 @@ import { BacktraceModule, BacktraceModuleBindData } from '../BacktraceModule'; import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; import { ConsoleEventSubscriber } from './events/ConsoleEventSubscriber'; import { RawBreadcrumb } from './model/RawBreadcrumb'; -import { BreadcrumbsStorage } from './storage/BreadcrumbsStorage'; import { InMemoryBreadcrumbsStorage } from './storage/InMemoryBreadcrumbsStorage'; +const BREADCRUMB_ATTRIBUTE_NAME = 'breadcrumbs.lastId'; + export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule { /** * Breadcrumbs type */ public readonly breadcrumbsType: BreadcrumbType; - public readonly BREADCRUMB_ATTRIBUTE_NAME = 'breadcrumbs.lastId'; - /** * Breadcrumbs Log level */ public readonly logLevel: BreadcrumbLogLevel; - - get type(): 'scoped' | 'dynamic' { - return 'dynamic'; - } - - public readonly breadcrumbsStorage: BreadcrumbsStorage; - /** * Determines if the breadcrumb manager is enabled. */ private _enabled = true; private readonly _eventSubscribers: BreadcrumbsEventSubscriber[] = [new ConsoleEventSubscriber()]; - private readonly _interceptor?: (breadcrumb: RawBreadcrumb) => RawBreadcrumb | undefined; + private _storage: BreadcrumbsStorage; constructor(configuration?: BacktraceBreadcrumbsSettings, options?: BreadcrumbsSetup) { this.breadcrumbsType = configuration?.eventType ?? defaultBreadcurmbType; this.logLevel = configuration?.logLevel ?? defaultBreadcrumbsLogLevel; - this.breadcrumbsStorage = options?.storage ?? new InMemoryBreadcrumbsStorage(configuration?.maximumBreadcrumbs); + this._storage = options?.storage ?? new InMemoryBreadcrumbsStorage(configuration?.maximumBreadcrumbs); this._interceptor = configuration?.intercept; if (options?.subscribers) { this._eventSubscribers.push(...options.subscribers); } } + public setStorage(storage: BreadcrumbsStorage) { + this._storage = storage; + } + public dispose(): void { this._enabled = false; for (const subscriber of this._eventSubscribers) { @@ -61,13 +58,14 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule } } - public get(): Record { - return { - [this.BREADCRUMB_ATTRIBUTE_NAME]: this.breadcrumbsStorage.lastBreadcrumbId, - }; - } + public bind({ client, reportEvents }: BacktraceModuleBindData): void { + for (const attachment of this._storage.getAttachments()) { + client.addAttachment(attachment); + } + client.addAttribute(() => ({ + [BREADCRUMB_ATTRIBUTE_NAME]: this._storage.lastBreadcrumbId, + })); - public bind({ reportEvents }: BacktraceModuleBindData): void { reportEvents.on('before-skip', (report) => this.logReport(report)); } @@ -136,7 +134,7 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule return false; } - this.breadcrumbsStorage.add(rawBreadcrumb); + this._storage.add(rawBreadcrumb); return true; } } diff --git a/packages/sdk-core/src/modules/breadcrumbs/index.ts b/packages/sdk-core/src/modules/breadcrumbs/index.ts index 21c86c6b..b3445298 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/index.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/index.ts @@ -2,6 +2,7 @@ export * from './BacktraceBreadcrumbs'; export * from './BreadcrumbsManager'; export * from './BreadcrumbsSetup'; export * from './events/BreadcrurmbsEventSubscriber'; +export * from './model/Breadcrumb'; export * from './model/BreadcrumbLogLevel'; export * from './model/BreadcrumbType'; export * from './model/RawBreadcrumb'; diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts index 08af8b2d..313f04a8 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/BreadcrumbsStorage.ts @@ -1,7 +1,7 @@ import { BacktraceAttachment } from '../../../model/attachment'; import { RawBreadcrumb } from '../model/RawBreadcrumb'; -export interface BreadcrumbsStorage extends BacktraceAttachment { +export interface BreadcrumbsStorage { /** * Id of the last breadcrumb added to the SDK */ @@ -12,4 +12,9 @@ export interface BreadcrumbsStorage extends BacktraceAttachment { * @param rawBreadcrumb breadcrumb data */ add(rawBreadcrumb: RawBreadcrumb): number; + + /** + * Gets attachments associated with this storage. + */ + getAttachments(): BacktraceAttachment[]; } diff --git a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts index 00ffc248..cc9a4fed 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage.ts @@ -1,13 +1,14 @@ import { jsonEscaper } from '../../../common/jsonEscaper'; import { TimeHelper } from '../../../common/TimeHelper'; import { OverwritingArray } from '../../../dataStructures/OverwritingArray'; +import { BacktraceAttachment } from '../../../model/attachment'; import { Breadcrumb } from '../model/Breadcrumb'; import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; import { BreadcrumbType } from '../model/BreadcrumbType'; import { RawBreadcrumb } from '../model/RawBreadcrumb'; import { BreadcrumbsStorage } from './BreadcrumbsStorage'; -export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { +export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage, BacktraceAttachment { public get lastBreadcrumbId(): number { return this._lastBreadcrumbId; } @@ -23,6 +24,10 @@ export class InMemoryBreadcrumbsStorage implements BreadcrumbsStorage { this._breadcrumbs = new OverwritingArray(maximumBreadcrumbs); } + public getAttachments(): BacktraceAttachment[] { + return [this]; + } + /** * Returns breadcrumbs in the JSON format * @returns Breadcrumbs JSON diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts index 2e52d74a..5b21bec2 100644 --- a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -5,6 +5,7 @@ import { BacktraceDatabaseConfiguration } from '../../model/configuration/Backtr import { BacktraceData } from '../../model/data/BacktraceData'; import { BacktraceReportSubmission } from '../../model/http/BacktraceReportSubmission'; import { BacktraceModule, BacktraceModuleBindData } from '../BacktraceModule'; +import { SessionFiles } from '../storage'; import { BacktraceDatabaseContext } from './BacktraceDatabaseContext'; import { BacktraceDatabaseStorageProvider } from './BacktraceDatabaseStorageProvider'; import { BacktraceDatabaseRecord } from './model/BacktraceDatabaseRecord'; @@ -30,6 +31,7 @@ export class BacktraceDatabase implements BacktraceModule { private readonly _options: BacktraceDatabaseConfiguration | undefined, private readonly _storageProvider: BacktraceDatabaseStorageProvider, private readonly _requestHandler: BacktraceReportSubmission, + private readonly _sessionFiles?: SessionFiles, ) { this._databaseRecordContext = new BacktraceDatabaseContext(this._options?.maximumRetries); this._maximumRecords = this._options?.maximumNumberOfRecords ?? 8; @@ -54,9 +56,13 @@ export class BacktraceDatabase implements BacktraceModule { return false; } - this.loadReports().then(async () => { - await this.setupDatabaseAutoSend(); - }); + const lockId = this._sessionFiles?.lockPreviousSessions(); + this.loadReports() + .then(() => { + this.setupDatabaseAutoSend(); + }) + .finally(() => lockId && this._sessionFiles?.unlockPreviousSessions(lockId)); + this._enabled = true; return true; } @@ -88,6 +94,7 @@ export class BacktraceDatabase implements BacktraceModule { record.locked = false; if (submissionResult.status === 'Ok') { this.remove(record); + this._sessionFiles?.unlockPreviousSessions(record.id); } }); } @@ -124,6 +131,7 @@ export class BacktraceDatabase implements BacktraceModule { } this._databaseRecordContext.add(record); + this.lockSessionWithRecord(record); return record; } @@ -162,6 +170,7 @@ export class BacktraceDatabase implements BacktraceModule { } this._databaseRecordContext.remove(record); this._storageProvider.delete(record); + this._sessionFiles?.unlockPreviousSessions(record.id); } public addStorageProvider(storageProvider: BacktraceDatabaseStorageProvider) { @@ -224,13 +233,17 @@ export class BacktraceDatabase implements BacktraceModule { } } - private async loadReports(): Promise { + private async loadReports() { const records = await this._storageProvider.get(); if (records.length > this._maximumRecords) { records.length = this._maximumRecords; } this.prepareDatabase(records.length); this._databaseRecordContext.load(records); + + for (const record of records) { + this.lockSessionWithRecord(record); + } } private async setupDatabaseAutoSend() { @@ -244,4 +257,19 @@ export class BacktraceDatabase implements BacktraceModule { this._intervalId = setInterval(sendDatabaseReports, this._retryInterval); await this.send(); } + + private lockSessionWithRecord(record: BacktraceDatabaseRecord) { + if (!this._sessionFiles) { + return; + } + + const sessionId = record.data.attributes?.['application.session']; + if (typeof sessionId !== 'string') { + this._sessionFiles.lockPreviousSessions(record.id); + return; + } + + const session = this._sessionFiles.getSessionWithId(sessionId); + session?.lock(record.id); + } } diff --git a/packages/sdk-core/src/modules/storage/SessionFiles.ts b/packages/sdk-core/src/modules/storage/SessionFiles.ts new file mode 100644 index 00000000..e3f3699a --- /dev/null +++ b/packages/sdk-core/src/modules/storage/SessionFiles.ts @@ -0,0 +1,235 @@ +import { Events } from '../../common/Events'; +import { IdGenerator } from '../../common/IdGenerator'; +import { BacktraceModule } from '../BacktraceModule'; +import { FileSystem } from './FileSystem'; + +interface FileSession { + readonly file: string; + readonly sessionId: string; + readonly escapedSessionId: string; + readonly timestamp: number; +} + +type SessionEvents = { + unlocked(): void; +}; + +const SESSION_MARKER_PREFIX = 'bt-session'; + +const isDefined = (t: T | undefined): t is T => !!t; + +export class SessionFiles implements BacktraceModule { + public readonly marker: string; + + private readonly _events = new Events(); + private readonly _escapedSessionId: string; + private readonly _locks = new Set(); + private _previousSession?: SessionFiles; + private _cleared = false; + + constructor( + private readonly _fileSystem: FileSystem, + private readonly _directory: string, + public readonly sessionId: string, + private readonly _maxPreviousLockedSessions = 1, + private readonly _timestamp = Date.now(), + private readonly _lockable = true, + ) { + this._escapedSessionId = this.escapeFileName(sessionId); + this.marker = this.getFileName(SESSION_MARKER_PREFIX); + } + + public initialize(): void { + this.createSessionMarker(); + } + + public getPreviousSession() { + if (this._previousSession) { + return this._previousSession; + } + + const directoryFiles = this.readDirectoryFiles(); + if (!directoryFiles.length) { + return undefined; + } + + const sessionMarkers = directoryFiles + .filter((f) => f.startsWith(SESSION_MARKER_PREFIX)) + .map((f) => this.getFileSession(f)) + .filter(isDefined) + .sort((a, b) => b.timestamp - a.timestamp); + + const currentSessionMarker = sessionMarkers.find((s) => s.sessionId === this.sessionId); + + const lastSessionMarker = currentSessionMarker + ? sessionMarkers.filter(({ timestamp }) => currentSessionMarker.timestamp > timestamp)[0] + : sessionMarkers[0]; + + if (!lastSessionMarker) { + return undefined; + } + + return (this._previousSession = new SessionFiles( + this._fileSystem, + this._directory, + lastSessionMarker.sessionId, + this._maxPreviousLockedSessions - 1, + lastSessionMarker.timestamp, + this._maxPreviousLockedSessions > 0, + )); + } + + public getSessionWithId(sessionId: string) { + // eslint-disable-next-line @typescript-eslint/no-this-alias + let session: SessionFiles | undefined = this; + while (session && session.sessionId !== sessionId) { + session = session.getPreviousSession(); + } + + return session; + } + + public getPreviousSessions(count = Infinity) { + const result: SessionFiles[] = []; + let current = this.getPreviousSession(); + while (current && count > 0) { + result.push(current); + count--; + current = current.getPreviousSession(); + } + + return result; + } + + public lockPreviousSessions(lockId?: string) { + lockId = lockId ?? IdGenerator.uuid(); + for (const session of this.getPreviousSessions(this._maxPreviousLockedSessions)) { + session.lock(lockId); + } + return lockId; + } + + public unlockPreviousSessions(lockId: string) { + for (const session of this.getPreviousSessions(this._maxPreviousLockedSessions)) { + session.unlock(lockId); + } + } + + public clearPreviousSessions() { + for (const session of this.getPreviousSessions()) { + session.clearSession(); + } + } + + public getFileName(prefix: string) { + this.throwIfCleared(); + + return this._directory + '/' + `${this.escapeFileName(prefix)}_${this._escapedSessionId}_${this._timestamp}`; + } + + public getSessionFiles() { + this.throwIfCleared(); + + const files = this.readDirectoryFiles(); + return files + .map((file) => this.getFileSession(file)) + .filter(isDefined) + .filter(({ sessionId }) => sessionId === this.sessionId) + .map(({ file }) => this._directory + '/' + file); + } + + public clearSession() { + if (this._locks.size > 0) { + this._events.once('unlocked', () => this.clearSession()); + return; + } + + if (this._cleared) { + return; + } + + try { + const sessionFiles = this.getSessionFiles(); + for (const file of sessionFiles) { + this._fileSystem.unlinkSync(file); + } + } catch { + // Don't propagate errors + } finally { + this._cleared = true; + } + } + + public lock(lockId?: string) { + if (this._cleared || !this._lockable) { + return; + } + + lockId = lockId ?? IdGenerator.uuid(); + this._locks.add(lockId); + return lockId; + } + + public unlock(lockId: string) { + this._locks.delete(lockId); + if (this._locks.size === 0) { + this._events.emit('unlocked'); + } + } + + private getFileSession(file: string): FileSession | undefined { + const [escapedSessionId, rawTimestamp] = this.splitByOneChar(file, '_').slice(-2); + const timestamp = parseInt(rawTimestamp); + if (isNaN(timestamp)) { + return undefined; + } + + return { file, escapedSessionId, timestamp, sessionId: this.unescapeFileName(escapedSessionId) }; + } + + private readDirectoryFiles() { + try { + return this._fileSystem.readDirSync(this._directory); + } catch { + return []; + } + } + + private createSessionMarker() { + this._fileSystem.writeFileSync(this.marker, ''); + } + + private escapeFileName(name: string) { + return name.replace(/_/g, '__'); + } + + private unescapeFileName(name: string) { + return name.replace(/__/g, '_'); + } + + private splitByOneChar(str: string, char: string) { + const result: string[] = []; + let start = 0; + let index = str.indexOf(char); + + while (index !== -1) { + if (str[index + 1] === char) { + index = str.indexOf(char, index + 2); + } else { + result.push(str.substring(start, index)); + start = index + 1; + index = str.indexOf(char, start); + } + } + + result.push(str.substring(start)); + + return result; + } + + private throwIfCleared() { + if (this._cleared) { + throw new Error('This session files are cleared.'); + } + } +} diff --git a/packages/sdk-core/src/modules/storage/index.ts b/packages/sdk-core/src/modules/storage/index.ts index 69ca1723..28c0e8bd 100644 --- a/packages/sdk-core/src/modules/storage/index.ts +++ b/packages/sdk-core/src/modules/storage/index.ts @@ -1 +1,2 @@ export * from './FileSystem'; +export * from './SessionFiles'; diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts index 56ba993e..07c1cdc8 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts @@ -1,45 +1,46 @@ import { BreadcrumbLogLevel, BreadcrumbType } from '../../src/modules/breadcrumbs'; import { BreadcrumbsManager } from '../../src/modules/breadcrumbs/BreadcrumbsManager'; +import { InMemoryBreadcrumbsStorage } from '../../src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage'; describe('Breadcrumbs creation tests', () => { it('Last breadcrumb id attribute should be equal to last bredcrumb id in the array', () => { - const breadcrumbsManager = new BreadcrumbsManager(); - breadcrumbsManager.info('test'); + const storage = new InMemoryBreadcrumbsStorage(100); + storage.add({ level: BreadcrumbLogLevel.Info, message: 'test', type: BreadcrumbType.Manual }); - const attributes = breadcrumbsManager.get(); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const lastBreadcrumbId = storage.lastBreadcrumbId; + const [breadcrumb] = JSON.parse(storage.get() as string); - expect(breadcrumb.id).toEqual(attributes[breadcrumbsManager.BREADCRUMB_ATTRIBUTE_NAME]); + expect(breadcrumb.id).toEqual(lastBreadcrumbId); }); it('Each breadcrumb should have different id', () => { - const breadcrumbsManager = new BreadcrumbsManager(); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); breadcrumbsManager.info('test'); breadcrumbsManager.info('test2'); - const attachment = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const attachment = JSON.parse(storage.get() as string); expect(attachment[0].id).toBeLessThan(attachment[1].id); }); it('Should update breadcrumb id every time after adding a breadcrumb', () => { - const breadcrumbsManager = new BreadcrumbsManager(); + const storage = new InMemoryBreadcrumbsStorage(100); - breadcrumbsManager.info('test'); - const attributes1 = breadcrumbsManager.get(); - breadcrumbsManager.info('test2'); - const attributes2 = breadcrumbsManager.get(); + storage.add({ level: BreadcrumbLogLevel.Info, message: 'test', type: BreadcrumbType.Manual }); + const breadcrumbId1 = storage.lastBreadcrumbId; + storage.add({ level: BreadcrumbLogLevel.Info, message: 'test', type: BreadcrumbType.Manual }); + const breadcrumbId2 = storage.lastBreadcrumbId; - expect(attributes1[breadcrumbsManager.BREADCRUMB_ATTRIBUTE_NAME] as number).toBeLessThan( - attributes2[breadcrumbsManager.BREADCRUMB_ATTRIBUTE_NAME] as number, - ); + expect(breadcrumbId1).toBeLessThan(breadcrumbId2); }); it('Should set expected breadcrumb message', () => { const message = 'test'; - const breadcrumbsManager = new BreadcrumbsManager(); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); breadcrumbsManager.info(message); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const [breadcrumb] = JSON.parse(storage.get() as string); expect(breadcrumb.message).toEqual(message); }); @@ -47,9 +48,10 @@ describe('Breadcrumbs creation tests', () => { it('Should set expected breadcrumb level', () => { const message = 'test'; const level = BreadcrumbLogLevel.Warning; - const breadcrumbsManager = new BreadcrumbsManager(); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); breadcrumbsManager.log(message, level); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const [breadcrumb] = JSON.parse(storage.get() as string); expect(breadcrumb.level).toEqual(BreadcrumbLogLevel[level].toLowerCase()); }); @@ -58,9 +60,10 @@ describe('Breadcrumbs creation tests', () => { const message = 'test'; const level = BreadcrumbLogLevel.Warning; const type = BreadcrumbType.Configuration; - const breadcrumbsManager = new BreadcrumbsManager(); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); breadcrumbsManager.addBreadcrumb(message, level, type); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const [breadcrumb] = JSON.parse(storage.get() as string); expect(breadcrumb.type).toEqual(BreadcrumbType[type].toLowerCase()); }); @@ -69,9 +72,10 @@ describe('Breadcrumbs creation tests', () => { const message = 'test'; const level = BreadcrumbLogLevel.Warning; const attributes = { foo: 'bar', baz: 1 }; - const breadcrumbsManager = new BreadcrumbsManager(); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); breadcrumbsManager.log(message, level, attributes); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const [breadcrumb] = JSON.parse(storage.get() as string); expect(breadcrumb.attributes).toMatchObject(attributes); }); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts index f0a5082d..300e8e01 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts @@ -1,16 +1,23 @@ import { BreadcrumbLogLevel, BreadcrumbType } from '../../src/modules/breadcrumbs'; import { BreadcrumbsManager } from '../../src/modules/breadcrumbs/BreadcrumbsManager'; +import { InMemoryBreadcrumbsStorage } from '../../src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage'; describe('Breadcrumbs filtering options tests', () => { describe('Event type tests', () => { it('Should filter out breadcrumbs based on the event type', () => { const message = 'test'; - const breadcrumbsManager = new BreadcrumbsManager({ - eventType: BreadcrumbType.Configuration, - }); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager( + { + eventType: BreadcrumbType.Configuration, + }, + { + storage, + }, + ); const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, BreadcrumbType.Http); - const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const breadcrumbs = JSON.parse(storage.get() as string); expect(result).toBeFalsy(); expect(breadcrumbs.length).toEqual(0); }); @@ -18,12 +25,18 @@ describe('Breadcrumbs filtering options tests', () => { it('Should allow to add a breadcrumb with allowed event type', () => { const message = 'test'; const allowedBreadcrumbType = BreadcrumbType.Configuration; - const breadcrumbsManager = new BreadcrumbsManager({ - eventType: allowedBreadcrumbType, - }); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager( + { + eventType: allowedBreadcrumbType, + }, + { + storage, + }, + ); const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, allowedBreadcrumbType); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const [breadcrumb] = JSON.parse(storage.get() as string); expect(result).toBeTruthy(); expect(breadcrumb.type).toEqual(BreadcrumbType[allowedBreadcrumbType].toLowerCase()); }); @@ -32,12 +45,18 @@ describe('Breadcrumbs filtering options tests', () => { describe('Log level tests', () => { it('Should filter out breadcrumbs based on the log level', () => { const message = 'test'; - const breadcrumbsManager = new BreadcrumbsManager({ - logLevel: BreadcrumbLogLevel.Error, - }); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager( + { + logLevel: BreadcrumbLogLevel.Error, + }, + { + storage, + }, + ); const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, BreadcrumbType.Http); - const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const breadcrumbs = JSON.parse(storage.get() as string); expect(result).toBeFalsy(); expect(breadcrumbs.length).toEqual(0); }); @@ -45,12 +64,18 @@ describe('Breadcrumbs filtering options tests', () => { it('Should allow to add a breadcrumb with allowed log level', () => { const message = 'test'; const allowedLogLevel = BreadcrumbLogLevel.Debug; - const breadcrumbsManager = new BreadcrumbsManager({ - logLevel: allowedLogLevel, - }); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager( + { + logLevel: allowedLogLevel, + }, + { + storage, + }, + ); const result = breadcrumbsManager.addBreadcrumb(message, allowedLogLevel, BreadcrumbType.Http); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const [breadcrumb] = JSON.parse(storage.get() as string); expect(result).toBeTruthy(); expect(breadcrumb.level).toEqual(BreadcrumbLogLevel[allowedLogLevel].toLowerCase()); }); @@ -91,9 +116,15 @@ describe('Breadcrumbs filtering options tests', () => { describe('Breadcrumbs overflow tests', () => { it('Should always store maximum breadcrumbs', () => { const maximumBreadcrumbs = 2; - const breadcrumbsManager = new BreadcrumbsManager({ - maximumBreadcrumbs, - }); + const storage = new InMemoryBreadcrumbsStorage(maximumBreadcrumbs); + const breadcrumbsManager = new BreadcrumbsManager( + { + maximumBreadcrumbs, + }, + { + storage, + }, + ); for (let index = 0; index < maximumBreadcrumbs; index++) { breadcrumbsManager.error(index.toString()); } @@ -103,7 +134,7 @@ describe('Breadcrumbs filtering options tests', () => { BreadcrumbLogLevel.Debug, BreadcrumbType.Configuration, ); - const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const breadcrumbs = JSON.parse(storage.get() as string); expect(addResult).toBeTruthy(); expect(breadcrumbs.length).toEqual(maximumBreadcrumbs); @@ -111,9 +142,15 @@ describe('Breadcrumbs filtering options tests', () => { it('Should drop the oldest event to free up the space for the new one', () => { const maximumBreadcrumbs = 2; - const breadcrumbsManager = new BreadcrumbsManager({ - maximumBreadcrumbs, - }); + const storage = new InMemoryBreadcrumbsStorage(maximumBreadcrumbs); + const breadcrumbsManager = new BreadcrumbsManager( + { + maximumBreadcrumbs, + }, + { + storage, + }, + ); const expectedBreadcrumbMessage = 'after free space'; for (let index = 0; index < maximumBreadcrumbs; index++) { breadcrumbsManager.error(index.toString()); @@ -124,7 +161,7 @@ describe('Breadcrumbs filtering options tests', () => { BreadcrumbLogLevel.Debug, BreadcrumbType.Configuration, ); - const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string); + const breadcrumbs = JSON.parse(storage.get() as string); expect(addResult).toBeTruthy(); expect(breadcrumbs[breadcrumbs.length - 1].message).toEqual(expectedBreadcrumbMessage); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts index 0e3a25b1..f049d437 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts @@ -1,26 +1,39 @@ import { BreadcrumbsManager } from '../../src/modules/breadcrumbs/BreadcrumbsManager'; import { Breadcrumb } from '../../src/modules/breadcrumbs/model/Breadcrumb'; +import { InMemoryBreadcrumbsStorage } from '../../src/modules/breadcrumbs/storage/InMemoryBreadcrumbsStorage'; describe('Breadcrumbs interceptor tests', () => { it('Should filter out the breadcrumb', () => { - const breadcrumbsManager = new BreadcrumbsManager({ - intercept: () => undefined, - }); + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager( + { + intercept: () => undefined, + }, + { + storage, + }, + ); breadcrumbsManager.info('test'); - const breadcrumbs = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string) as Breadcrumb[]; + const breadcrumbs = JSON.parse(storage.get() as string) as Breadcrumb[]; expect(breadcrumbs.length).toBe(0); }); it('Should remove pii information from breadcrumb', () => { const expectedBreadcrumbMessage = 'bar'; - const breadcrumbsManager = new BreadcrumbsManager({ - intercept: (breadcrumb) => { - breadcrumb.message = expectedBreadcrumbMessage; - return breadcrumb; + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager( + { + intercept: (breadcrumb) => { + breadcrumb.message = expectedBreadcrumbMessage; + return breadcrumb; + }, + }, + { + storage, }, - }); + ); breadcrumbsManager.info('test'); - const [breadcrumb] = JSON.parse(breadcrumbsManager.breadcrumbsStorage.get() as string) as Breadcrumb[]; + const [breadcrumb] = JSON.parse(storage.get() as string) as Breadcrumb[]; expect(breadcrumb.message).toEqual(expectedBreadcrumbMessage); }); }); diff --git a/packages/sdk-core/tests/storage/SessionFiles.spec.ts b/packages/sdk-core/tests/storage/SessionFiles.spec.ts new file mode 100644 index 00000000..994548d6 --- /dev/null +++ b/packages/sdk-core/tests/storage/SessionFiles.spec.ts @@ -0,0 +1,423 @@ +import assert from 'assert'; +import { SessionFiles } from '../../src/modules/storage/SessionFiles'; +import { mockFileSystem } from '../_mocks/fileSystem'; + +describe('SessionFiles', () => { + it('should create empty session marker on initialize', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + expect(fileSystem.readFileSync(session.marker)).toEqual(''); + }); + + describe('getPreviousSession', () => { + it('should return undefined if no previous session marker exists', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const previous = session.getPreviousSession(); + expect(previous).toBeUndefined(); + }); + + it('should return previous session if previous session marker exists', () => { + const fileSystem = mockFileSystem(); + const previousSession = new SessionFiles(fileSystem, '.', 'previousSessionId', undefined, 10); + previousSession.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, 20); + session.initialize(); + + const previous = session.getPreviousSession(); + expect(previous?.sessionId).toEqual(previousSession.sessionId); + }); + + it('should return previous session if previous session contains underscores', () => { + const fileSystem = mockFileSystem(); + const previousSession = new SessionFiles(fileSystem, '.', 'previous_session_id', undefined, 10); + previousSession.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, 20); + session.initialize(); + + const previous = session.getPreviousSession(); + expect(previous?.sessionId).toEqual(previousSession.sessionId); + }); + + it('should return session older than current if multiple previous session markers exist', () => { + const fileSystem = mockFileSystem(); + const oldPreviousSession = new SessionFiles(fileSystem, '.', 'oldPreviousSessionId', undefined, 5); + const previousSession = new SessionFiles(fileSystem, '.', 'previousSessionId', undefined, 10); + const nextSession = new SessionFiles(fileSystem, '.', 'nextSessionId', undefined, 25); + oldPreviousSession.initialize(); + previousSession.initialize(); + nextSession.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, 20); + session.initialize(); + + const previous = session.getPreviousSession(); + expect(previous?.sessionId).toEqual(previousSession.sessionId); + }); + + it('should return previous session of each session', () => { + const fileSystem = mockFileSystem(); + const session1 = new SessionFiles(fileSystem, '.', 'session1', undefined, 5); + const session2 = new SessionFiles(fileSystem, '.', 'session2', undefined, 10); + const session3 = new SessionFiles(fileSystem, '.', 'session3', undefined, 15); + session1.initialize(); + session2.initialize(); + session3.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, 20); + session.initialize(); + + const actualSession3 = session.getPreviousSession(); + const actualSession2 = actualSession3?.getPreviousSession(); + const actualSession1 = actualSession2?.getPreviousSession(); + const notExistingSession = actualSession1?.getPreviousSession(); + + expect(actualSession3?.sessionId).toEqual(session3.sessionId); + expect(actualSession2?.sessionId).toEqual(session2.sessionId); + expect(actualSession1?.sessionId).toEqual(session1.sessionId); + expect(notExistingSession).toBeUndefined(); + }); + + it('should return non-lockable session when maxPreviousLockedSessions is 0', () => { + const fileSystem = mockFileSystem(); + const session1 = new SessionFiles(fileSystem, '.', 'session1', undefined, 5); + const session2 = new SessionFiles(fileSystem, '.', 'session2', undefined, 10); + const session3 = new SessionFiles(fileSystem, '.', 'session3', undefined, 15); + session1.initialize(); + session2.initialize(); + session3.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', 0, 20); + session.initialize(); + + const previousSession = session.getPreviousSession(); + assert(previousSession); + + expect(previousSession.lock()).toBeUndefined(); + }); + + it('should return lockable session when maxPreviousLockedSessions is larger than 0', () => { + const fileSystem = mockFileSystem(); + const session1 = new SessionFiles(fileSystem, '.', 'session1', undefined, 5); + const session2 = new SessionFiles(fileSystem, '.', 'session2', undefined, 10); + const session3 = new SessionFiles(fileSystem, '.', 'session3', undefined, 15); + session1.initialize(); + session2.initialize(); + session3.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', 1, 20); + session.initialize(); + + const previousSession = session.getPreviousSession(); + assert(previousSession); + + expect(previousSession.lock()).not.toBeUndefined(); + }); + + it('should return non-lockable session from previous session when maxPreviousLockedSessions is 1', () => { + const fileSystem = mockFileSystem(); + const session1 = new SessionFiles(fileSystem, '.', 'session1', undefined, 5); + const session2 = new SessionFiles(fileSystem, '.', 'session2', undefined, 10); + const session3 = new SessionFiles(fileSystem, '.', 'session3', undefined, 15); + session1.initialize(); + session2.initialize(); + session3.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', 0, 20); + session.initialize(); + + const previousSession = session.getPreviousSession()?.getPreviousSession(); + assert(previousSession); + + expect(previousSession.lock()).toBeUndefined(); + }); + }); + + describe('getPreviousSessions', () => { + it('should return all previous sessions', () => { + const fileSystem = mockFileSystem(); + const session1 = new SessionFiles(fileSystem, '.', 'session1', undefined, 5); + const session2 = new SessionFiles(fileSystem, '.', 'session2', undefined, 10); + const session3 = new SessionFiles(fileSystem, '.', 'session3', undefined, 15); + session1.initialize(); + session2.initialize(); + session3.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, 20); + session.initialize(); + + const previousSessions = session.getPreviousSessions(); + + expect(previousSessions.map((s) => s.sessionId)).toEqual([ + session3.sessionId, + session2.sessionId, + session1.sessionId, + ]); + }); + + it('should return previous sessions limited by count', () => { + const fileSystem = mockFileSystem(); + const session1 = new SessionFiles(fileSystem, '.', 'session1', undefined, 5); + const session2 = new SessionFiles(fileSystem, '.', 'session2', undefined, 10); + const session3 = new SessionFiles(fileSystem, '.', 'session3', undefined, 15); + session1.initialize(); + session2.initialize(); + session3.initialize(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, 20); + session.initialize(); + + const previousSessions = session.getPreviousSessions(2); + + expect(previousSessions.map((s) => s.sessionId)).toEqual([session3.sessionId, session2.sessionId]); + }); + }); + + describe('getFileName', () => { + it('should return file name with escaped session ID', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + + const filename = session.getFileName('file_name'); + expect(filename).toContain('file__name'); + }); + + it('should return file name with escaped file name', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'session_id'); + + const filename = session.getFileName('file_name'); + expect(filename).toContain('session__id'); + }); + + it('should return file name with session timestamp', () => { + const fileSystem = mockFileSystem(); + const timestamp = 123812412; + const session = new SessionFiles(fileSystem, '.', 'session_id', undefined, timestamp); + + const filename = session.getFileName('file_name'); + expect(filename).toContain(timestamp.toString()); + }); + + it('should throw after clearing', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'session_id'); + session.initialize(); + + session.clearSession(); + + expect(() => session.getFileName('filename')).toThrowError('This session files are cleared.'); + }); + }); + + describe('getSessionFiles', () => { + it('should return files matching session', () => { + const fileSystem = mockFileSystem(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const files = [session.getFileName('file1'), session.getFileName('file2'), session.getFileName('file3')]; + for (const file of files) { + fileSystem.writeFileSync(file, ''); + } + + const actual = session.getSessionFiles(); + expect(actual).toEqual(expect.arrayContaining(files)); + }); + + it('should not return files not matching session', () => { + const fileSystem = mockFileSystem(); + + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const session1 = new SessionFiles(fileSystem, '.', 'session1'); + const session2 = new SessionFiles(fileSystem, '.', 'session2'); + const session3 = new SessionFiles(fileSystem, '.', 'session3'); + + const files = [session1.getFileName('file1'), session2.getFileName('file2'), session3.getFileName('file3')]; + for (const file of files) { + fileSystem.writeFileSync(file, ''); + } + + const actual = session.getSessionFiles(); + expect(actual.length).not.toEqual(expect.arrayContaining(files)); + }); + + it('should throw after clearing', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'session_id'); + session.initialize(); + + session.clearSession(); + + expect(() => session.getSessionFiles()).toThrowError('This session files are cleared.'); + }); + }); + + describe('clearSession', () => { + it('should remove all files matching session', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const files = [session.getFileName('file1'), session.getFileName('file2'), session.getFileName('file3')]; + for (const file of files) { + fileSystem.writeFileSync(file, 'abc'); + } + + session.clearSession(); + + for (const file of files) { + expect(fileSystem.files[file]).toBeUndefined(); + } + }); + + it('should not remove files not matching session', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const session1 = new SessionFiles(fileSystem, '.', 'session1'); + const session2 = new SessionFiles(fileSystem, '.', 'session2'); + const session3 = new SessionFiles(fileSystem, '.', 'session3'); + + const files = [session1.getFileName('file1'), session2.getFileName('file2'), session3.getFileName('file3')]; + for (const file of files) { + fileSystem.writeFileSync(file, 'abc'); + } + + session.clearSession(); + + for (const file of files) { + expect(fileSystem.readFileSync(file)).toEqual('abc'); + } + }); + + it('should remove session marker', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + session.clearSession(); + + expect(fileSystem.readFileSync(session.marker)).toBeUndefined(); + }); + }); + + describe('locking and unlocking', () => { + describe('lock', () => { + it('should return non-empty lock id when lock id is not provided', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + + session.initialize(); + const lockId = session.lock(); + + expect(lockId).toMatch(/.+/); + }); + + it('should return provided lock id when lock id is provided', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + + session.initialize(); + const lockId = session.lock('lockId'); + + expect(lockId).toEqual('lockId'); + }); + + it('should return undefined after cleared', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + + session.initialize(); + session.clearSession(); + const lockId = session.lock(); + + expect(lockId).toBeUndefined(); + }); + + it('should return undefined when not lockable', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId', undefined, undefined, false); + + session.initialize(); + session.clearSession(); + const lockId = session.lock(); + + expect(lockId).toBeUndefined(); + }); + }); + + describe('clearSession', () => { + it('should not clear files when session is locked', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const expected = { ...fileSystem.files }; + + session.lock(); + + session.clearSession(); + + expect(fileSystem.files).toEqual(expected); + }); + + it('should clear files after unlocking when clearSession is called before', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const expected = { ...fileSystem.files }; + + const lockId = session.lock(); + assert(lockId); + + session.clearSession(); + session.unlock(lockId); + + expect(fileSystem.files).not.toEqual(expected); + }); + + it('should not clear files after unlocking when clearSession is not called before', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const expected = { ...fileSystem.files }; + + const lockId = session.lock(); + assert(lockId); + session.unlock(lockId); + + expect(fileSystem.files).toEqual(expected); + }); + + it('should not clear files after unlocking when locked with other locks', () => { + const fileSystem = mockFileSystem(); + const session = new SessionFiles(fileSystem, '.', 'sessionId'); + session.initialize(); + + const expected = { ...fileSystem.files }; + + session.lock(); + const lockId = session.lock(); + assert(lockId); + + session.clearSession(); + session.unlock(lockId); + + expect(fileSystem.files).toEqual(expected); + }); + }); + }); +}); From 0002adedf8257b6036c1ab0c2fc2c1f37f6fbda0 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 2 Oct 2023 11:13:46 +0200 Subject: [PATCH 189/291] node: attributes from previous session in native crashes (#152) * sdk-core: add AttributeEvents to AttributeManager * sdk-core: make initialize method in module optional, add AttributeManager to module bind, add addModule method * sdk-core: add FileAttributeManager * node: use FileAttributeManager for native crashes * node example: add random attribute option to showcase attributes from previous session * sdk-core: PR changes in FileAttributeManager --------- Co-authored-by: Sebastian Alex --- examples/sdk/node/src/index.ts | 1 + packages/node/src/BacktraceClient.ts | 8 +++ packages/sdk-core/src/BacktraceCoreClient.ts | 13 +++- .../sdk-core/src/events/AttributeEvents.ts | 5 ++ packages/sdk-core/src/index.ts | 1 + .../sdk-core/src/modules/BacktraceModule.ts | 4 +- .../sdk-core/src/modules/BacktraceModules.ts | 2 +- .../src/modules/attribute/AttributeManager.ts | 6 ++ .../modules/attribute/FileAttributeManager.ts | 66 +++++++++++++++++++ .../sdk-core/src/modules/attribute/index.ts | 1 + 10 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 packages/sdk-core/src/events/AttributeEvents.ts create mode 100644 packages/sdk-core/src/modules/attribute/FileAttributeManager.ts create mode 100644 packages/sdk-core/src/modules/attribute/index.ts diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index 39ba20c1..f9c79e77 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -108,6 +108,7 @@ function showMenu() { ['OOM', oom], ['Add a new summed event', (attributes: Record) => addEvent('Option clicked', attributes)], ['Add a breadcrumb', (attributes: Record) => addBreadcrumb('Breadcrumb added', attributes)], + ['Add random attribute', () => client.addAttribute({ random: Math.random() })], ['Send all metrics', sendMetrics], ] as const; diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 232e4213..06cbb319 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -7,6 +7,7 @@ import { BreadcrumbsManager, BacktraceConfiguration as CoreConfiguration, DebugIdContainer, + FileAttributeManager, FileSystem, SessionFiles, VariableDebugIdMapProvider, @@ -47,6 +48,10 @@ export class BacktraceClient extends BacktraceCoreClient { FileBreadcrumbsStorage.create(this.sessionFiles, options.breadcrumbs?.maximumBreadcrumbs ?? 100), ); } + + if (this.sessionFiles && this.fileSystem && options.database?.captureNativeCrashes) { + this.addModule(FileAttributeManager, FileAttributeManager.create(this.fileSystem)); + } } public initialize(): void { @@ -296,6 +301,9 @@ export class BacktraceClient extends BacktraceCoreClient { report.attachments.push(...breadcrumbsStorage.getAttachments()); } + const fileAttributes = FileAttributeManager.createFromSession(session, this.fileSystem); + Object.assign(report.attributes, await fileAttributes.get()); + report.attributes['application.session'] = session.sessionId; } else { report.attributes['application.session'] = null; diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 4a01c00c..1d1e8bb2 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -15,8 +15,8 @@ import { ReportEvents } from './events/ReportEvents'; import { AttributeType, BacktraceData } from './model/data/BacktraceData'; import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; import { BacktraceReport } from './model/report/BacktraceReport'; -import { BacktraceModuleBindData } from './modules/BacktraceModule'; -import { BacktraceModules, ReadonlyBacktraceModules } from './modules/BacktraceModules'; +import { BacktraceModule, BacktraceModuleBindData } from './modules/BacktraceModule'; +import { BacktraceModuleCtor, BacktraceModules, ReadonlyBacktraceModules } from './modules/BacktraceModules'; import { AttributeManager } from './modules/attribute/AttributeManager'; import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; import { UserAttributeProvider } from './modules/attribute/UserAttributeProvider'; @@ -218,7 +218,9 @@ export abstract class BacktraceCoreClient { module.bind(this.getModuleBindData()); } - module.initialize(); + if (module.initialize) { + module.initialize(); + } } this.sessionFiles?.clearPreviousSessions(); @@ -313,6 +315,10 @@ export abstract class BacktraceCoreClient { } } + protected addModule(type: BacktraceModuleCtor, module: T) { + this._modules.set(type, module); + } + protected generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { const backtraceData = this._dataBuilder.build(report); if (!this.options.beforeSend) { @@ -340,6 +346,7 @@ export abstract class BacktraceCoreClient { return { client: this, reportEvents: this.reportEvents, + attributeManager: this.attributeManager, sessionFiles: this.sessionFiles, }; } diff --git a/packages/sdk-core/src/events/AttributeEvents.ts b/packages/sdk-core/src/events/AttributeEvents.ts new file mode 100644 index 00000000..fa8ba6a1 --- /dev/null +++ b/packages/sdk-core/src/events/AttributeEvents.ts @@ -0,0 +1,5 @@ +import { ReportData } from '../model/report/ReportData'; + +export type AttributeEvents = { + 'scoped-attributes-updated'(attributes: ReportData): void; +}; diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 91798c53..98672897 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -11,6 +11,7 @@ export * from './model/data/'; export * from './model/http'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; +export * from './modules/attribute'; export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/breadcrumbs'; export * from './modules/converter'; diff --git a/packages/sdk-core/src/modules/BacktraceModule.ts b/packages/sdk-core/src/modules/BacktraceModule.ts index e8aceef9..7244debf 100644 --- a/packages/sdk-core/src/modules/BacktraceModule.ts +++ b/packages/sdk-core/src/modules/BacktraceModule.ts @@ -1,15 +1,17 @@ import { BacktraceCoreClient, SessionFiles } from '..'; import { Events } from '../common/Events'; import { ReportEvents } from '../events/ReportEvents'; +import { AttributeManager } from './attribute/AttributeManager'; export interface BacktraceModuleBindData { readonly client: BacktraceCoreClient; + readonly attributeManager: AttributeManager; readonly reportEvents: Events; readonly sessionFiles?: SessionFiles; } export interface BacktraceModule { bind?(client: BacktraceModuleBindData): void; - initialize(): void; + initialize?(): void; dispose?(): void; } diff --git a/packages/sdk-core/src/modules/BacktraceModules.ts b/packages/sdk-core/src/modules/BacktraceModules.ts index 75034305..9b2872f0 100644 --- a/packages/sdk-core/src/modules/BacktraceModules.ts +++ b/packages/sdk-core/src/modules/BacktraceModules.ts @@ -1,6 +1,6 @@ import { BacktraceModule } from './BacktraceModule'; -type BacktraceModuleCtor = new (...args: never[]) => T; +export type BacktraceModuleCtor = new (...args: never[]) => T; export interface ReadonlyBacktraceModules extends ReadonlyMap { get(type: BacktraceModuleCtor): T | undefined; diff --git a/packages/sdk-core/src/modules/attribute/AttributeManager.ts b/packages/sdk-core/src/modules/attribute/AttributeManager.ts index d40f812e..56e25000 100644 --- a/packages/sdk-core/src/modules/attribute/AttributeManager.ts +++ b/packages/sdk-core/src/modules/attribute/AttributeManager.ts @@ -1,11 +1,16 @@ +import { Events } from '../../common/Events'; +import { AttributeEvents } from '../../events/AttributeEvents'; import { ReportData } from '../../model/report/ReportData'; import { BacktraceAttributeProvider } from './BacktraceAttributeProvider'; import { ReportDataBuilder } from './ReportDataBuilder'; export class AttributeManager { + public readonly attributeEvents: Events; + private readonly _attributeProviders: BacktraceAttributeProvider[] = []; constructor(providers: BacktraceAttributeProvider[]) { + this.attributeEvents = new Events(); for (const provider of providers) { this.addProvider(provider); } @@ -38,6 +43,7 @@ export class AttributeManager { type: 'scoped', get: () => attributes, }); + this.attributeEvents.emit('scoped-attributes-updated', this.get('scoped')); } } diff --git a/packages/sdk-core/src/modules/attribute/FileAttributeManager.ts b/packages/sdk-core/src/modules/attribute/FileAttributeManager.ts new file mode 100644 index 00000000..a38dc8ce --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/FileAttributeManager.ts @@ -0,0 +1,66 @@ +import { jsonEscaper } from '../../common/jsonEscaper'; +import { AttributeType } from '../../model/data'; +import { BacktraceModule, BacktraceModuleBindData } from '../BacktraceModule'; +import { FileSystem, SessionFiles } from '../storage'; +import { AttributeManager } from './AttributeManager'; + +const ATTRIBUTE_FILE_NAME = 'bt-attributes'; + +export class FileAttributeManager implements BacktraceModule { + private _attributeManager?: AttributeManager; + + constructor(private readonly _fileSystem: FileSystem, private _fileName?: string) {} + + public static create(fileSystem: FileSystem) { + return new FileAttributeManager(fileSystem); + } + + public static createFromSession(sessionFiles: SessionFiles, fileSystem: FileSystem) { + const fileName = sessionFiles.getFileName(ATTRIBUTE_FILE_NAME); + return new FileAttributeManager(fileSystem, fileName); + } + + public initialize(): void { + this.saveAttributes(); + } + + public bind({ attributeManager, sessionFiles }: BacktraceModuleBindData): void { + if (this._fileName) { + throw new Error('This instance is already bound.'); + } + + if (!sessionFiles) { + return; + } + + this._fileName = sessionFiles.getFileName(ATTRIBUTE_FILE_NAME); + this._attributeManager = attributeManager; + attributeManager.attributeEvents.on('scoped-attributes-updated', () => this.saveAttributes()); + } + + public dispose(): void { + this._fileName = undefined; + } + + public async get(): Promise> { + if (!this._fileName) { + return {}; + } + + try { + const content = await this._fileSystem.readFile(this._fileName); + return JSON.parse(content); + } catch { + return {}; + } + } + + private async saveAttributes() { + if (!this._fileName || !this._attributeManager) { + return; + } + + const reportData = this._attributeManager.get('scoped'); + await this._fileSystem.writeFile(this._fileName, JSON.stringify(reportData.attributes, jsonEscaper())); + } +} diff --git a/packages/sdk-core/src/modules/attribute/index.ts b/packages/sdk-core/src/modules/attribute/index.ts new file mode 100644 index 00000000..05a8b330 --- /dev/null +++ b/packages/sdk-core/src/modules/attribute/index.ts @@ -0,0 +1 @@ +export * from './FileAttributeManager'; From 75d7f2c5601e6c672eb2a9c6257a75054b4c965b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 2 Oct 2023 12:26:19 +0200 Subject: [PATCH 190/291] Error event callback if the error object is not available (#154) --- packages/browser/src/BacktraceClient.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index 95bf6a2b..abac6b6a 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -88,9 +88,9 @@ export class BacktraceClient extends BacktraceCoreClient { if (captureUnhandledExceptions) { window.addEventListener( 'error', - async (errorEvent: ErrorEvent) => { - await this.send( - new BacktraceReport(errorEvent.error, { + (errorEvent: ErrorEvent) => { + this.send( + new BacktraceReport(errorEvent.error ?? errorEvent.message, { 'error.type': 'Unhandled exception', }), ); @@ -104,8 +104,8 @@ export class BacktraceClient extends BacktraceCoreClient { if (captureUnhandledRejections) { window.addEventListener( 'unhandledrejection', - async (errorEvent: PromiseRejectionEvent) => { - await this.send( + (errorEvent: PromiseRejectionEvent) => { + this.send( new BacktraceReport( errorEvent.reason, { From 4134891e8a5971c9df445203b845716419d72897 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 2 Oct 2023 12:26:39 +0200 Subject: [PATCH 191/291] Do not use unsupported URL API in the react-native API (#153) --- .../model/http/SubmissionUrlInformation.ts | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts b/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts index 61e35107..38b829f3 100644 --- a/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts +++ b/packages/sdk-core/src/model/http/SubmissionUrlInformation.ts @@ -48,7 +48,7 @@ export class SubmissionUrlInformation { /** * Find the universe based on the submission URL - * @param submissionUrl submission URL + * @param submissionUrl submission URL - full submission URL to Backtrace. * @returns universe name */ public static findUniverse(submissionUrl: string): string | undefined { @@ -63,13 +63,22 @@ export class SubmissionUrlInformation { } // the universe name should be available in the hostname // for example abc.sp.backtrace.io or zyx.in.backtrace.io or foo.backtrace.io - const hostname = new URL(submissionUrl).hostname; - if (!hostname.endsWith('backtrace.io')) { + const domainIndex = submissionUrl.indexOf('.backtrace.io'); + if (domainIndex === -1) { return undefined; } + const protocolSeparator = '://'; + let protocolEndIndex = submissionUrl.indexOf(protocolSeparator); + if (protocolEndIndex === -1) { + protocolEndIndex = 0; + } else { + protocolEndIndex += protocolSeparator.length; + } + + const hostname = submissionUrl.substring(protocolEndIndex, domainIndex); const endOfUniverseName = hostname.indexOf('.'); - return hostname.substring(0, endOfUniverseName); + return endOfUniverseName === -1 ? hostname : hostname.substring(0, endOfUniverseName); } public static findToken(submissionUrl: string): string | null { @@ -80,7 +89,7 @@ export class SubmissionUrlInformation { // submit.backtrace.io/universe/token/format // by spliting the submission URL by `/` and dropping the last // part of the URL, the last element on the list is the token. - return submissionUrlParts[submissionUrlParts.length - 2]; + return submissionUrlParts[submissionUrlParts.length - 2] ?? null; } const url = new URL(submissionUrl); @@ -90,22 +99,33 @@ export class SubmissionUrlInformation { public static changeSubmissionFormat(submissionUrl: string, desiredFormat: 'json' | 'plcrash' | 'minidump') { const submitIndex = submissionUrl.indexOf(this.SUBMIT_PREFIX); - const url = new URL(submissionUrl); + if (submitIndex !== -1) { - const pathParts = url.pathname.split('/'); + const queryParametersIndex = submissionUrl.indexOf('?'); + const queryParameters = queryParametersIndex === -1 ? '' : submissionUrl.substring(queryParametersIndex); + const pathname = submissionUrl.substring( + submitIndex + this.SUBMIT_PREFIX.length, + queryParametersIndex === -1 ? undefined : queryParametersIndex, + ); + const pathParts = pathname.split('/'); // path parts are prefixed with '/' character. Expected and valid submit format is: // /universe/token/format // splitting pathname should generate at least 4 elements ('', universe, token, format) // if pathParts length is not equal to 4 then the invalid were passed. - const expectedMinimalPathParts = 4; + const expectedMinimalPathParts = 3; if (pathParts.length < expectedMinimalPathParts) { return submissionUrl; } - pathParts[3] = desiredFormat; - url.pathname = pathParts.join('/'); + pathParts[2] = desiredFormat; + return ( + submissionUrl.substring(0, submitIndex + this.SUBMIT_PREFIX.length) + + pathParts.join('/') + + queryParameters + ); } else { + const url = new URL(submissionUrl); url.searchParams.set('format', desiredFormat); + return url.href; } - return url.href; } } From f66863b26a137c17e3f5f4360d0acd8263694dc8 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 2 Oct 2023 12:41:18 +0200 Subject: [PATCH 192/291] add NestJS library for handling NestJS errors (#151) * nestjs: add initial package code * nestjs: add nestjs package as peerDependency * nestjs: add packages required for unit tests * nestjs: change tsconfig of webpack build * nestjs: add Backtrace interceptor for errors * node: export BacktraceClientBuilder * nestjs: add BacktraceModule * nestjs: add additional attributes to intercepted errors * sdk-core: add use static method for global clients, fix builder returning this * nestjs: use global instance in BacktraceInterceptor * nestjs: add jsdocs * nestjs: add e2e tests * nestjs: add default options to BacktraceInterceptor * nestjs: add README * set explicit workspace order for building * nestjs: change Nest.JS to NestJS * nestjs: update tsconfig.json * nestjs: change module to use global or passed client * nestjs: update README * sdk-core: remove use function * nestjs: add express attributes to http interceptor * nestjs: add buildAttributes function to interceptor options --------- Co-authored-by: Sebastian Alex --- build/common.js | 33 +- package-lock.json | 2108 ++++++++++++++++- package.json | 12 +- packages/nestjs/.npmignore | 0 packages/nestjs/LICENSE | 21 + packages/nestjs/README.md | 508 ++++ packages/nestjs/jest.config.js | 6 + packages/nestjs/jest.setup.js | 2 + packages/nestjs/package.json | 65 + packages/nestjs/src/backtrace.interceptor.ts | 201 ++ packages/nestjs/src/backtrace.module.ts | 37 + packages/nestjs/src/index.ts | 3 + .../tests/backtrace.interceptor.spec.ts | 513 ++++ .../nestjs/tests/backtrace.module.spec.ts | 59 + packages/nestjs/tests/e2e.spec.ts | 131 + packages/nestjs/tsconfig.build.json | 4 + packages/nestjs/tsconfig.json | 14 + packages/nestjs/webpack.config.js | 31 + packages/node/src/index.ts | 5 +- .../src/builder/BacktraceCoreClientBuilder.ts | 8 +- 20 files changed, 3713 insertions(+), 48 deletions(-) create mode 100644 packages/nestjs/.npmignore create mode 100644 packages/nestjs/LICENSE create mode 100644 packages/nestjs/README.md create mode 100644 packages/nestjs/jest.config.js create mode 100644 packages/nestjs/jest.setup.js create mode 100644 packages/nestjs/package.json create mode 100644 packages/nestjs/src/backtrace.interceptor.ts create mode 100644 packages/nestjs/src/backtrace.module.ts create mode 100644 packages/nestjs/src/index.ts create mode 100644 packages/nestjs/tests/backtrace.interceptor.spec.ts create mode 100644 packages/nestjs/tests/backtrace.module.spec.ts create mode 100644 packages/nestjs/tests/e2e.spec.ts create mode 100644 packages/nestjs/tsconfig.build.json create mode 100644 packages/nestjs/tsconfig.json create mode 100644 packages/nestjs/webpack.config.js diff --git a/build/common.js b/build/common.js index 7c387e91..c64e9f87 100644 --- a/build/common.js +++ b/build/common.js @@ -1,19 +1,24 @@ const path = require('path'); /** @type {import('webpack').Configuration} */ -const webpackTypescriptConfig = { - resolve: { - extensions: ['.js', '.ts', '.jsx', '.tsx'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - loader: 'ts-loader', - }, - ], - }, -}; +const webpackTypescriptConfig = getWebpackTypescriptConfig(); + +function getWebpackTypescriptConfig(options) { + return { + resolve: { + extensions: ['.js', '.ts', '.jsx', '.tsx'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: 'ts-loader', + options + }, + ], + }, + }; +} function minifiedAndUnminified(/** @type {import('webpack').Configuration} */ config) { const { name, ext } = path.parse(config.output.filename); @@ -41,4 +46,4 @@ function minifiedAndUnminified(/** @type {import('webpack').Configuration} */ co ]; } -module.exports = { webpackTypescriptConfig, minifiedAndUnminified }; +module.exports = { webpackTypescriptConfig, minifiedAndUnminified, getWebpackTypescriptConfig }; diff --git a/package-lock.json b/package-lock.json index c90e21f6..f0149ef2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,16 @@ "version": "0.0.1", "license": "MIT", "workspaces": [ - "packages/*", - "tools/*" + "packages/sdk-core", + "packages/node", + "packages/browser", + "packages/react", + "packages/nestjs", + "tools/sourcemap-tools", + "tools/cli", + "tools/rollup-plugin", + "tools/webpack-plugin", + "tools/vite-plugin" ], "devDependencies": { "@types/node": "^14.18.51", @@ -701,6 +709,10 @@ "resolved": "tools/cli", "link": true }, + "node_modules/@backtrace-labs/nestjs": { + "resolved": "packages/nestjs", + "link": true + }, "node_modules/@backtrace-labs/node": { "resolved": "packages/node", "link": true @@ -1334,6 +1346,152 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nestjs/common": { + "version": "9.4.3", + "license": "MIT", + "peer": true, + "dependencies": { + "iterare": "1.2.1", + "tslib": "2.5.3", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "cache-manager": "<=5", + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "cache-manager": { + "optional": true + }, + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/common/node_modules/tslib": { + "version": "2.5.3", + "license": "0BSD", + "peer": true + }, + "node_modules/@nestjs/core": { + "version": "9.4.3", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.5.3", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^9.0.0", + "@nestjs/microservices": "^9.0.0", + "@nestjs/platform-express": "^9.0.0", + "@nestjs/websockets": "^9.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/core/node_modules/tslib": { + "version": "2.5.3", + "dev": true, + "license": "0BSD" + }, + "node_modules/@nestjs/platform-express": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", + "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", + "dev": true, + "dependencies": { + "body-parser": "1.20.2", + "cors": "2.8.5", + "express": "4.18.2", + "multer": "1.4.4-lts.1", + "tslib": "2.5.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^9.0.0", + "@nestjs/core": "^9.0.0" + } + }, + "node_modules/@nestjs/platform-express/node_modules/tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true + }, + "node_modules/@nestjs/testing": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", + "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", + "dev": true, + "dependencies": { + "tslib": "2.5.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^9.0.0", + "@nestjs/core": "^9.0.0", + "@nestjs/microservices": "^9.0.0", + "@nestjs/platform-express": "^9.0.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + } + } + }, + "node_modules/@nestjs/testing/node_modules/tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -1366,6 +1524,23 @@ "node": ">= 8" } }, + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "license": "MIT", @@ -1549,6 +1724,16 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, "node_modules/@types/command-line-args": { "version": "5.2.0", "dev": true, @@ -1559,6 +1744,21 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", + "dev": true + }, "node_modules/@types/decompress": { "version": "4.2.4", "dev": true, @@ -1587,11 +1787,34 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/@types/express": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", + "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, "node_modules/@types/fs-extra": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz", - "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", "dev": true, + "license": "MIT", "dependencies": { "@types/jsonfile": "*", "@types/node": "*" @@ -1605,6 +1828,12 @@ "@types/node": "*" } }, + "node_modules/@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", + "dev": true + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "dev": true, @@ -1685,13 +1914,18 @@ }, "node_modules/@types/jsonfile": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz", - "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/mime": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", + "dev": true + }, "node_modules/@types/node": { "version": "14.18.58", "license": "MIT" @@ -1701,6 +1935,18 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", + "dev": true + }, "node_modules/@types/react": { "version": "18.2.21", "dev": true, @@ -1729,6 +1975,27 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, "node_modules/@types/source-list-map": { "version": "0.1.2", "dev": true, @@ -1739,6 +2006,25 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/superagent": { + "version": "4.1.19", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.19.tgz", + "integrity": "sha512-McM1mlc7PBZpCaw0fw/36uFqo0YeA6m8JqoyE4OfqXsZCIg0hPP2xdE6FM7r6fdprDZHlJwDpydUj1R++93hCA==", + "dev": true, + "dependencies": { + "@types/cookiejar": "*", + "@types/node": "*" + } + }, + "node_modules/@types/supertest": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.13.tgz", + "integrity": "sha512-Vc/5/pRwSC055fU7Wu8erTj4gLpID9SdG2zRMuqaHLni3GTsrJ8gyB6MbFZZGLW6vQaGPhiUWRB6uWglv87MEg==", + "dev": true, + "dependencies": { + "@types/superagent": "*" + } + }, "node_modules/@types/tar-stream": { "version": "2.2.2", "dev": true, @@ -2229,6 +2515,19 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.10.0", "license": "MIT", @@ -2368,6 +2667,12 @@ "node": ">= 8" } }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, "node_modules/aproba": { "version": "1.2.0", "dev": true, @@ -2429,6 +2734,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, "node_modules/array-includes": { "version": "3.1.7", "dev": true, @@ -2534,6 +2845,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, "node_modules/asn1.js": { "version": "5.4.1", "dev": true, @@ -2818,6 +3135,72 @@ "dev": true, "license": "MIT" }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "dev": true, @@ -3036,6 +3419,27 @@ "dev": true, "license": "MIT" }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dev": true, + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/cacache": { "version": "12.0.4", "dev": true, @@ -3563,6 +3967,11 @@ "typedarray": "^0.0.6" } }, + "node_modules/consola": { + "version": "2.15.3", + "dev": true, + "license": "MIT" + }, "node_modules/console-browserify": { "version": "1.2.0", "dev": true @@ -3572,11 +3981,53 @@ "dev": true, "license": "MIT" }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, "node_modules/copy-concurrently": { "version": "1.0.5", "dev": true, @@ -3633,6 +4084,19 @@ "dev": true, "license": "MIT" }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/create-ecdh": { "version": "4.0.4", "dev": true, @@ -3955,6 +4419,15 @@ "node": ">=0.4.0" } }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/des.js": { "version": "1.1.0", "dev": true, @@ -3964,6 +4437,16 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "dev": true, @@ -3972,6 +4455,16 @@ "node": ">=8" } }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, "node_modules/diff-sequences": { "version": "29.6.3", "dev": true, @@ -4057,6 +4550,12 @@ "version": "0.2.0", "license": "MIT" }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, "node_modules/electron-to-chromium": { "version": "1.4.508", "license": "ISC" @@ -4103,6 +4602,15 @@ "node": ">= 4" } }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "dev": true, @@ -4317,6 +4825,12 @@ "node": ">=6" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "dev": true, @@ -4662,6 +5176,15 @@ "node": ">=0.10.0" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/events": { "version": "3.3.0", "license": "MIT", @@ -4874,6 +5397,135 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend-shallow": { "version": "3.0.2", "dev": true, @@ -5048,6 +5700,39 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/find-cache-dir": { "version": "2.1.0", "dev": true, @@ -5283,6 +5968,30 @@ "node": ">= 6" } }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fragment-cache": { "version": "0.2.1", "dev": true, @@ -5294,6 +6003,15 @@ "node": ">=0.10.0" } }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/from2": { "version": "2.3.0", "dev": true, @@ -5310,9 +6028,8 @@ }, "node_modules/fs-extra": { "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -5324,9 +6041,8 @@ }, "node_modules/fs-extra/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -5738,6 +6454,15 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/hmac-drbg": { "version": "1.0.1", "dev": true, @@ -5764,6 +6489,22 @@ "dev": true, "license": "MIT" }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "dev": true, @@ -5935,6 +6676,15 @@ "node": ">=10.13.0" } }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", "dev": true, @@ -6427,6 +7177,13 @@ "node": ">=8" } }, + "node_modules/iterare": { + "version": "1.2.1", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, "node_modules/jackspeak": { "version": "2.3.3", "license": "BlueOak-1.0.0", @@ -7447,9 +8204,8 @@ }, "node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -7459,9 +8215,8 @@ }, "node_modules/jsonfile/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -7670,6 +8425,15 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/memory-fs": { "version": "0.4.1", "dev": true, @@ -7679,6 +8443,12 @@ "readable-stream": "^2.0.1" } }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, "node_modules/merge-stream": { "version": "2.0.0", "license": "MIT" @@ -7691,6 +8461,15 @@ "node": ">= 8" } }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/micromatch": { "version": "4.0.5", "dev": true, @@ -7720,6 +8499,18 @@ "dev": true, "license": "MIT" }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/mime-db": { "version": "1.52.0", "license": "MIT", @@ -7870,6 +8661,24 @@ "dev": true, "license": "MIT" }, + "node_modules/multer": { + "version": "1.4.4-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", + "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", + "dev": true, + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.6", "funding": [ @@ -7926,6 +8735,15 @@ "dev": true, "license": "MIT" }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/neo-async": { "version": "2.6.2", "license": "MIT" @@ -7944,6 +8762,44 @@ "node": ">= 10.13" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-gyp-build": { "version": "4.6.1", "license": "MIT", @@ -8235,6 +9091,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "dev": true, @@ -8380,6 +9248,15 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/pascalcase": { "version": "0.1.1", "dev": true, @@ -8441,6 +9318,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-to-regexp": { + "version": "3.2.0", + "dev": true, + "license": "MIT" + }, "node_modules/path-type": { "version": "4.0.0", "dev": true, @@ -8697,6 +9579,19 @@ "node": ">= 8" } }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/prr": { "version": "1.0.1", "dev": true, @@ -8840,6 +9735,42 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "18.2.0", "license": "MIT", @@ -8932,6 +9863,11 @@ "redux": "^4" } }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "license": "Apache-2.0", + "peer": true + }, "node_modules/regenerator-runtime": { "version": "0.14.0", "dev": true, @@ -9149,6 +10085,19 @@ "aproba": "^1.1.1" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD", + "peer": true + }, "node_modules/safe-array-concat": { "version": "1.0.0", "dev": true, @@ -9283,6 +10232,51 @@ "node": ">=10" } }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "node_modules/serialize-javascript": { "version": "6.0.1", "license": "BSD-3-Clause", @@ -9290,6 +10284,21 @@ "randombytes": "^2.1.0" } }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/set-value": { "version": "2.0.1", "dev": true, @@ -9328,6 +10337,12 @@ "dev": true, "license": "MIT" }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, "node_modules/sha.js": { "version": "2.4.11", "dev": true, @@ -9770,6 +10785,15 @@ "node": ">=0.10.0" } }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "dev": true, @@ -9823,6 +10847,15 @@ "dev": true, "license": "MIT" }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/streamx": { "version": "2.15.1", "license": "MIT", @@ -10008,6 +11041,52 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/supertest": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + }, + "engines": { + "node": ">=6.4.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "license": "MIT", @@ -10311,6 +11390,15 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, "node_modules/tough-cookie": { "version": "4.1.3", "dev": true, @@ -10524,6 +11612,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.0", "dev": true, @@ -10626,6 +11727,16 @@ "node": "*" } }, + "node_modules/uid": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "dev": true, @@ -10695,6 +11806,15 @@ "node": ">= 4.0.0" } }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/unset-value": { "version": "1.0.0", "dev": true, @@ -10843,6 +11963,15 @@ "dev": true, "license": "ISC" }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -10861,6 +11990,15 @@ "dev": true, "license": "MIT" }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/vite": { "version": "4.4.9", "license": "MIT", @@ -12193,6 +13331,36 @@ "webpack-cli": "^5.1.4" } }, + "packages/nestjs": { + "name": "@backtrace-labs/nestjs", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace-labs/node": "^0.0.4" + }, + "devDependencies": { + "@nestjs/core": "^9", + "@nestjs/platform-express": "^9", + "@nestjs/testing": "^9", + "@types/express": "^4.17.18", + "@types/jest": "^29.5.1", + "@types/supertest": "^2.0.13", + "jest": "^29.5.0", + "supertest": "^6.3.3", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@nestjs/common": "^9" + } + }, "packages/node": { "name": "@backtrace-labs/node", "version": "0.0.4", @@ -12840,6 +14008,26 @@ "typescript": "^5.0.4" } }, + "@backtrace-labs/nestjs": { + "version": "file:packages/nestjs", + "requires": { + "@backtrace-labs/node": "^0.0.4", + "@nestjs/core": "^9", + "@nestjs/platform-express": "^9", + "@nestjs/testing": "^9", + "@types/express": "^4.17.18", + "@types/jest": "^29.5.1", + "@types/supertest": "^2.0.13", + "jest": "^29.5.0", + "supertest": "^6.3.3", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + } + }, "@backtrace-labs/node": { "version": "file:packages/node", "requires": { @@ -13344,6 +14532,80 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@lukeed/csprng": { + "version": "1.1.0" + }, + "@nestjs/common": { + "version": "9.4.3", + "peer": true, + "requires": { + "iterare": "1.2.1", + "tslib": "2.5.3", + "uid": "2.0.2" + }, + "dependencies": { + "tslib": { + "version": "2.5.3", + "peer": true + } + } + }, + "@nestjs/core": { + "version": "9.4.3", + "dev": true, + "requires": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.5.3", + "uid": "2.0.2" + }, + "dependencies": { + "tslib": { + "version": "2.5.3", + "dev": true + } + } + }, + "@nestjs/platform-express": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", + "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", + "dev": true, + "requires": { + "body-parser": "1.20.2", + "cors": "2.8.5", + "express": "4.18.2", + "multer": "1.4.4-lts.1", + "tslib": "2.5.3" + }, + "dependencies": { + "tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true + } + } + }, + "@nestjs/testing": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", + "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", + "dev": true, + "requires": { + "tslib": "2.5.3" + }, + "dependencies": { + "tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true + } + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -13364,6 +14626,15 @@ "fastq": "^1.6.0" } }, + "@nuxtjs/opencollective": { + "version": "0.3.2", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + } + }, "@pkgjs/parseargs": { "version": "0.11.0", "optional": true @@ -13477,6 +14748,16 @@ "@babel/types": "^7.20.7" } }, + "@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, "@types/command-line-args": { "version": "5.2.0", "dev": true @@ -13485,6 +14766,21 @@ "version": "5.0.2", "dev": true }, + "@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", + "dev": true + }, "@types/decompress": { "version": "4.2.4", "dev": true, @@ -13509,10 +14805,32 @@ "@types/estree": { "version": "1.0.1" }, + "@types/express": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", + "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, "@types/fs-extra": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz", - "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", "dev": true, "requires": { "@types/jsonfile": "*", @@ -13526,6 +14844,12 @@ "@types/node": "*" } }, + "@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "dev": true @@ -13589,13 +14913,17 @@ }, "@types/jsonfile": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz", - "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", "dev": true, "requires": { "@types/node": "*" } }, + "@types/mime": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", + "dev": true + }, "@types/node": { "version": "14.18.58" }, @@ -13603,6 +14931,18 @@ "version": "15.7.5", "dev": true }, + "@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", + "dev": true + }, "@types/react": { "version": "18.2.21", "dev": true, @@ -13627,6 +14967,27 @@ "version": "7.5.1", "dev": true }, + "@types/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-static": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, "@types/source-list-map": { "version": "0.1.2", "dev": true @@ -13635,6 +14996,25 @@ "version": "2.0.1", "dev": true }, + "@types/superagent": { + "version": "4.1.19", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.19.tgz", + "integrity": "sha512-McM1mlc7PBZpCaw0fw/36uFqo0YeA6m8JqoyE4OfqXsZCIg0hPP2xdE6FM7r6fdprDZHlJwDpydUj1R++93hCA==", + "dev": true, + "requires": { + "@types/cookiejar": "*", + "@types/node": "*" + } + }, + "@types/supertest": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.13.tgz", + "integrity": "sha512-Vc/5/pRwSC055fU7Wu8erTj4gLpID9SdG2zRMuqaHLni3GTsrJ8gyB6MbFZZGLW6vQaGPhiUWRB6uWglv87MEg==", + "dev": true, + "requires": { + "@types/superagent": "*" + } + }, "@types/tar-stream": { "version": "2.2.2", "dev": true, @@ -13971,6 +15351,16 @@ "version": "2.0.6", "dev": true }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, "acorn": { "version": "8.10.0" }, @@ -14050,6 +15440,12 @@ "picomatch": "^2.0.4" } }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, "aproba": { "version": "1.2.0", "dev": true @@ -14088,6 +15484,12 @@ "is-array-buffer": "^3.0.1" } }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, "array-includes": { "version": "3.1.7", "dev": true, @@ -14150,6 +15552,12 @@ "is-shared-array-buffer": "^1.0.2" } }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, "asn1.js": { "version": "5.4.1", "dev": true, @@ -14341,6 +15749,61 @@ "version": "5.2.1", "dev": true }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "dev": true, @@ -14494,6 +15957,21 @@ "version": "3.0.0", "dev": true }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dev": true, + "requires": { + "streamsearch": "^1.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, "cacache": { "version": "12.0.4", "dev": true, @@ -14842,6 +16320,10 @@ "typedarray": "^0.0.6" } }, + "consola": { + "version": "2.15.3", + "dev": true + }, "console-browserify": { "version": "1.2.0", "dev": true @@ -14850,10 +16332,43 @@ "version": "1.0.0", "dev": true }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, "convert-source-map": { "version": "2.0.0", "dev": true }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, "copy-concurrently": { "version": "1.0.5", "dev": true, @@ -14895,6 +16410,16 @@ "version": "1.0.3", "dev": true }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "create-ecdh": { "version": "4.0.4", "dev": true, @@ -15127,6 +16652,12 @@ "delayed-stream": { "version": "1.0.0" }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "des.js": { "version": "1.1.0", "dev": true, @@ -15135,10 +16666,26 @@ "minimalistic-assert": "^1.0.0" } }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, "detect-newline": { "version": "3.1.0", "dev": true }, + "dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, "diff-sequences": { "version": "29.6.3", "dev": true @@ -15200,6 +16747,12 @@ "eastasianwidth": { "version": "0.2.0" }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, "electron-to-chromium": { "version": "1.4.508" }, @@ -15233,6 +16786,12 @@ "version": "3.0.0", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, "end-of-stream": { "version": "1.4.4", "dev": true, @@ -15387,6 +16946,12 @@ "escalade": { "version": "3.1.1" }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, "escape-string-regexp": { "version": "4.0.0", "dev": true @@ -15614,6 +17179,12 @@ "version": "2.0.3", "dev": true }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, "events": { "version": "3.3.0" }, @@ -15758,6 +17329,118 @@ "jest-util": "^29.6.3" } }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + } + } + }, "extend-shallow": { "version": "3.0.2", "dev": true, @@ -15883,6 +17566,38 @@ "to-regex-range": "^5.0.1" } }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "find-cache-dir": { "version": "2.1.0", "dev": true, @@ -16032,6 +17747,24 @@ "mime-types": "^2.1.12" } }, + "formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "requires": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, "fragment-cache": { "version": "0.2.1", "dev": true, @@ -16039,6 +17772,12 @@ "map-cache": "^0.2.2" } }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, "from2": { "version": "2.3.0", "dev": true, @@ -16053,8 +17792,6 @@ }, "fs-extra": { "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -16064,8 +17801,6 @@ "dependencies": { "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true } } @@ -16324,6 +18059,12 @@ "minimalistic-assert": "^1.0.1" } }, + "hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true + }, "hmac-drbg": { "version": "1.0.1", "dev": true, @@ -16344,6 +18085,19 @@ "version": "2.0.2", "dev": true }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, "http-proxy-agent": { "version": "5.0.0", "dev": true, @@ -16441,6 +18195,12 @@ "version": "3.1.1", "dev": true }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, "is-accessor-descriptor": { "version": "1.0.0", "dev": true, @@ -16730,6 +18490,9 @@ "istanbul-lib-report": "^3.0.0" } }, + "iterare": { + "version": "1.2.1" + }, "jackspeak": { "version": "2.3.3", "requires": { @@ -17420,8 +19183,6 @@ }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", @@ -17430,8 +19191,6 @@ "dependencies": { "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true } } @@ -17568,6 +19327,12 @@ "safe-buffer": "^5.1.2" } }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, "memory-fs": { "version": "0.4.1", "dev": true, @@ -17576,6 +19341,12 @@ "readable-stream": "^2.0.1" } }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, "merge-stream": { "version": "2.0.0" }, @@ -17583,6 +19354,12 @@ "version": "1.4.1", "dev": true }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, "micromatch": { "version": "4.0.5", "dev": true, @@ -17605,6 +19382,12 @@ } } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, "mime-db": { "version": "1.52.0" }, @@ -17706,6 +19489,21 @@ "version": "2.1.2", "dev": true }, + "multer": { + "version": "1.4.4-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", + "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", + "dev": true, + "requires": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, "nanoid": { "version": "3.3.6", "peer": true @@ -17741,6 +19539,12 @@ "version": "1.4.0", "dev": true }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, "neo-async": { "version": "2.6.2" }, @@ -17754,6 +19558,31 @@ "propagate": "^2.0.0" } }, + "node-fetch": { + "version": "2.7.0", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "node-gyp-build": { "version": "4.6.1" }, @@ -17953,6 +19782,15 @@ "es-abstract": "^1.22.1" } }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "once": { "version": "1.4.0", "dev": true, @@ -18049,6 +19887,12 @@ "entities": "^4.4.0" } }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, "pascalcase": { "version": "0.1.1", "dev": true @@ -18084,6 +19928,10 @@ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, + "path-to-regexp": { + "version": "3.2.0", + "dev": true + }, "path-type": { "version": "4.0.0", "dev": true @@ -18227,6 +20075,16 @@ "version": "2.0.1", "dev": true }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, "prr": { "version": "1.0.1", "dev": true @@ -18323,6 +20181,35 @@ "safe-buffer": "^5.1.0" } }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, "react": { "version": "18.2.0", "peer": true, @@ -18393,6 +20280,10 @@ "dev": true, "requires": {} }, + "reflect-metadata": { + "version": "0.1.13", + "peer": true + }, "regenerator-runtime": { "version": "0.14.0", "dev": true @@ -18517,6 +20408,19 @@ "aproba": "^1.1.1" } }, + "rxjs": { + "version": "7.8.1", + "peer": true, + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "peer": true + } + } + }, "safe-array-concat": { "version": "1.0.0", "dev": true, @@ -18596,12 +20500,70 @@ } } }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, "serialize-javascript": { "version": "6.0.1", "requires": { "randombytes": "^2.1.0" } }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, "set-value": { "version": "2.0.1", "dev": true, @@ -18629,6 +20591,12 @@ "version": "1.0.5", "dev": true }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, "sha.js": { "version": "2.4.11", "dev": true, @@ -18935,6 +20903,12 @@ } } }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, "stop-iteration-iterator": { "version": "1.0.0", "dev": true, @@ -18976,6 +20950,12 @@ "version": "1.0.1", "dev": true }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "dev": true + }, "streamx": { "version": "2.15.1", "requires": { @@ -19093,6 +21073,42 @@ "strip-json-comments": { "version": "3.1.1" }, + "superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "dev": true, + "requires": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "dependencies": { + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + } + } + }, + "supertest": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", + "dev": true, + "requires": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + } + }, "supports-color": { "version": "7.2.0", "requires": { @@ -19285,6 +21301,12 @@ "is-number": "^7.0.0" } }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, "tough-cookie": { "version": "4.1.3", "dev": true, @@ -19406,6 +21428,16 @@ "version": "0.20.2", "dev": true }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, "typed-array-buffer": { "version": "1.0.0", "dev": true, @@ -19459,6 +21491,12 @@ "ua-parser-js": { "version": "1.0.35" }, + "uid": { + "version": "2.0.2", + "requires": { + "@lukeed/csprng": "^1.0.0" + } + }, "unbox-primitive": { "version": "1.0.2", "dev": true, @@ -19511,6 +21549,12 @@ "version": "0.2.0", "dev": true }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, "unset-value": { "version": "1.0.0", "dev": true, @@ -19612,6 +21656,12 @@ "version": "1.0.2", "dev": true }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, "v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -19627,6 +21677,12 @@ } } }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, "vite": { "version": "4.4.9", "peer": true, diff --git a/package.json b/package.json index 23b65161..46e5eb5c 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,16 @@ "test": "npm run test --ws --if-present" }, "workspaces": [ - "packages/*", - "tools/*" + "packages/sdk-core", + "packages/node", + "packages/browser", + "packages/react", + "packages/nestjs", + "tools/sourcemap-tools", + "tools/cli", + "tools/rollup-plugin", + "tools/webpack-plugin", + "tools/vite-plugin" ], "repository": { "type": "git", diff --git a/packages/nestjs/.npmignore b/packages/nestjs/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/packages/nestjs/LICENSE b/packages/nestjs/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/nestjs/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/nestjs/README.md b/packages/nestjs/README.md new file mode 100644 index 00000000..977c8d6a --- /dev/null +++ b/packages/nestjs/README.md @@ -0,0 +1,508 @@ +# **Backtrace NestJS SDK** + +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/node](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and +easy, after which you can explore the rich set of Backtrace features. + +## Table of Contents + +1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Install the package](#install-the-package) + - [Integrate the SDK](#integrate-the-sdk) + - [Upload source maps](#upload-source-maps) + - [Add a Backtrace error interceptor](#add-a-backtrace-error-interceptor) +1. [Error Reporting Features](#error-reporting-features) + - [Attributes](#attributes) + - [File Attachments](#file-attachments) + - [Breadcrumbs](#breadcrumbs) + - [Application Stability Metrics](#application-stability-metrics) + - [Metrics Configuration](#metrics-configuration) + - [Metrics Usage](#metrics-usage) + - [Offline Database support](#offline-database-support) + - [Database Configuration](#database-configuration) + - [Native crash support](#native-crash-support) + - [Manual database operations](#manual-database-operations) +1. [Advanced SDK Features](#advanced-sdk-features) + - [Manually send an error](#manually-send-an-error) + - [BacktraceClient](#backtraceclient) + - [BacktraceClientOptions](#backtraceclientoptions) + - [BacktraceClient Methods](#backtraceclient-methods) + - [BacktraceDatabase Methods](#backtracedatabase-methods) + - [BacktraceReports](#backtracereport) + +## Basic Integration + +### Install the package + +``` +$ npm install @backtrace-labs/nestjs +``` + +### Integrate the SDK + +Add the following code to your application before all other scripts to report NestJS errors to Backtrace. + +```ts +// Import the BacktraceClient from @backtrace-labs/nestjs +import { BacktraceClient, BacktraceConfiguration, BacktraceModule } from '@backtrace-labs/nestjs'; + +// Configure client options +const options: BacktraceConfiguration = { + // Submission url + // is the subdomain of your Backtrace instance (.backtrace.io) + // can be found in Project Settings/Submission tokens + url: 'https://submit.backtrace.io///json', +}; + +// Initialize the client with the options +BacktraceClient.initialize(options); + +// By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections +// For capturing NestJS errors, see "Add a Backtrace error interceptor" in this README + +// Register BacktraceModule in your base module +@Module({ + imports: [BacktraceModule], + controllers: [AppController], +}) +class AppModule {} + +@Controller() +class AppController { + // Inject BacktraceClient into your services or controllers + constructor(private readonly _client: BacktraceClient) {} + + @Post() + public endpoint() { + // Manually send an error + this._cclient.send(new Error('Something broke!')); + } +} +``` + +### Upload source maps + +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to +your original source identifiers. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + + + +### Add a Backtrace error interceptor + +While processing requests, NestJS will handle all exceptions thrown by controllers using the exception filters. This +means that the exceptions will not be unhandled, and thus not captured by Backtrace. To capture these errors, you can +use the `BacktraceInterceptor` class. + +To add the interceptor globally, you can register it as `APP_INTERCEPTOR`: + +```ts +import { Module } from '@nestjs/common'; +import { APP_INTERCEPTOR } from '@nestjs/core'; +import { BacktraceModule, BacktraceInterceptor } from '@backtrace-labs/nestjs'; + +@Module({ + imports: [BacktraceModule], + providers: [ + { + provide: APP_INTERCEPTOR, + useValue: new BacktraceInterceptor(), + }, + ], + controllers: [CatsController], +}) +export class AppModule {} +``` + +Or, use `app.useGlobalInterceptors`: + +```ts +const app = await NestFactory.create(AppModule); +app.useGlobalInterceptors(new BacktraceInterceptor()); +``` + +To use it on a controller, use `UseInterceptors` decorator: + +```ts +@UseInterceptors(new BacktraceInterceptor()) +export class CatsController {} +``` + +For more information, consult [NestJS documentation](https://docs.nestjs.com/interceptors#binding-interceptors). + +#### Configuring the interceptor + +By default, the interceptor will include: + +- all errors that are an instance of `Error`, + +and exclude: + +- all `HttpException` errors that have `status < 500`. + +To include or exclude specific error types, pass options to `BacktraceInterceptor`: + +```ts +new BacktraceInterceptor({ + includeExceptionTypes: [Error], + excludeExceptionTypes: (error) => error instanceof HttpException && error.getStatus() < 500, +}); +``` + +As shown in the example above, `includeExceptionTypes` and `excludeExceptionTypes` accept either an array of error +types, or a function that can return a `boolean`. The array types will match using `instanceof`. The function will have +the thrown error passed as the first parameter. + +## Error Reporting Features + +### Attributes + +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, +sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of +the advanced Backtrace features detailed in +[Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). By default attributes such +as application name and version are populated automatically based on your package.json information. If Backtrace cannot +find them, you need to provide them manually via userAttributes attributes. + +There are several places where attributes can be added, modified or deleted. + +#### Attach attributes object to BacktraceClient + +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of +attributes will be included with every error report, referred to as global attributes. + +```ts +// Create an attributes object that can be modified throughout runtime +const attributes: Record = { + release: 'PROD', +}; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: attributes, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +You can also include attributes that will be resolved when creating a report: + +```ts +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: () => ({ + attribute: getAttributeValue(), + }), +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Add attributes during application runtime + +Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute({ + "clientID": "de6faf4d-d5b5-486c-9789-318f58a14476" +}) +``` + +You can also add attributes that will be resolved when creating a report: + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute(() => ({ + "clientID": resolveCurrentClientId() +})) +``` + +#### Add attributes to an error report + +The attributes list of a BacktraceReport object can be directly modified. + +```ts +const report: BacktraceReport = new BacktraceReport('My error message', { myReportKey: 'myValue' }); +report.attributes['myReportKey'] = 'New value'; +``` + +--- + +### File Attachments + +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the +BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be +uploaded with each report. + +```ts +// Import attachment types from @backtrace-labs/nestjs +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/nestjs"; + +// BacktraceStringAttachment should be used for text object like a log file, for example +const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") + +// Buffer attachment is an attachment type dedicated to store buffer data +const bufferAttachment = new BacktraceBufferAttachment('buffer-attachment.txt', Buffer.from('sample')); + +// File attachment is an attachment type dedicated for streaming files +const fileAttachment = new BacktraceFileAttachment('/path/to/sample/file'); + +// BacktraceClientOptions +const options = { + url: "https://submit.backtrace.io///json", + + // Attach the files to all reports + attachments: [path.join('/path/to/attachment'), stringAttachment], +} + +const client = BacktraceClient.initialize(options); + +// Later decide to add an attachment to all reports +client.addAttachment(bufferAttachment) + +// After catching an exception and generating a report +try { + throw new Error("Caught exception!") +} catch (error) { + const report = const report = new BacktraceReport(error, {}, [fileAttachment]) + client.send(report); +} +``` + +--- + +### Breadcrumbs + +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, +and manual breadcrumbs can also be added. + +[(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) + +#### Breadcrumbs Configuration + +| Option Name | Type | Description | Default | Required? | +| -------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
  • - [ ]
| +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
  • - [ ]
| +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
  • - [ ]
| +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
  • - [ ]
| + +```ts +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/nestjs'; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // ignoring all but breadcrumbs config for simplicity + breadcrumbs: { + // breadcrumbs configuration + }, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Default Breadcrumbs + +| Type | Description | +| ------- | ------------------------------------------------------------------------ | +| Console | Adds a breadcrumb every time console log is being used by the developer. | + +#### Intercepting Breadcrumbs + +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter +out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no +breadcrumb will be added. + +#### Manual Breadcrumbs + +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of +your own. + +```ts +client.breadcrumbs?.info('This is a manual breadcrumb.', { + customAttr: 'wow!', +}); +``` + +--- + +### Application Stability Metrics + +The Backtrace NestJS SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. + +[(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) + +#### Metrics Configuration + +| Option Name | Type | Description | Default | Required? | +| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------ | +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
  • - [ ]
| +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
  • - [ ]
| +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
  • - [ ]
| +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
  • - [ ]
| + +#### Metrics Usage + +```ts +// metrics will be undefined if not enabled +client.metrics?.send(); +``` + +--- + +### Offline database support + +The Backtrace NestJS SDK can cache generated reports and crashes to local disk before sending them to Backtrace. This is +recommended; in certain configurations NestJS applications can crash before the SDK finishes submitting data, and under +slow internet conditions your application might wait in a closing window until the HTTP submission finishes. In such an +event occurs cached reports will be sent on next application launch. + +With offline database support you can: + +- cache your reports when the user doesn't have Internet connection or the service is unavailable, +- capture crashes, +- manually decide when to send them or not. + +By default the offline database support is disabled. To enable it, please add "enable: true" and the path to the +directory where Backtrace can store crash data. + +```ts +const client = BacktraceClient.initialize({ + // ignoring all but database config for simplicity + database: { + enable: true, + path: '/path/to/the/database/directory', + captureNativeCrashes: true, + }, +}); + +// manually send and keep the data on connection issue +client.database.send(); +// manually send and remove all data no matter if received success or not. +client.database.flush(); +``` + +#### Database Configuration + +| Option Name | Type | Description | Default | Required? | +| ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | +| `enabled` | Boolean | Enable/disable offline database support. | false |
  • - [x]
| +| `path` | String | Local storage path for crash data. | - |
  • - [x]
| +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory.. | true | +| `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | +| `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | +| `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | +| `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | +| `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | + +--- + +#### Native crash support + +The Backtrace NestJS SDK can capture native crashes generated by a NestJS application such as Assert/OOM crashes. In +order to collect them, the SDK uses the NestJS's `process.report` API. After setting up the native crash support, your +`process.report` settings may be overridden and your crash data might be created in the database directory. + +Database records sent in the next session may not have some information about the crashing session such as attributes or +breadcrumbs. To reduce database record size, attachment support was limited only to file attachments. + +#### Manual database operations + +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually +operate on database records. Options are detailed in [BacktraceDatabase Methods](#backtracedatabase-methods). + +## Advanced SDK Features + +### Manually send an error + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` + +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and +send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from +exceptions and rejection handlers. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
  • - [x]
| +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
  • - [ ]
| +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
  • - [ ]
| +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
  • - [ ]
| +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
  • - [ ]
| +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
  • - [ ]
| +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
  • - [ ]
| +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
  • - [ ]
| +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
  • - [ ]
| +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
  • - [ ]
| +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
  • - [ ]
| +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
  • - [ ]
| +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
  • - [ ]
| +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
  • - [ ]
| + +#### BacktraceClient Methods + +| Name | Return Type | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | +| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | +| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | +| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | +| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | +| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | Promise | Asynchronously sends error data to Backtrace | + +#### BacktraceDatabase Methods + +| Name | Return Type | Description | +| ----------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | Boolean | Determines if the database is enabled | +| `start()` | Boolean | Starts the database | +| `add(backtraceData: Backtracedata, attachments: BacktraceAttachment[])` | BacktraceDatabaseRecord \| undefined | Adds manually a data object to the database. If the database is not available or the record cannot be stored on the hard drive, the add method can return undefined. | +| `get()` | BacktraceDatabaseRecord[] | Returns all records stored in the database | +| `count()` | Number | Returns the number of records stored in the database | +| `dispose()` | void | Disables the database integration | +| `remove(record: BacktraceDatabaseRecord)` | void | Removes the record from the database | +| `flush()` | Promise | Sends all records to Backtrace and remove them no matter if the submission was successful or not | +| `send()` | Promise | Sends all records to Backtrace. If the submission process fails, the retry information is being increased by the records are not removed from the database. | +| `dispose` | void | Disposes the client | + +### BacktraceReport + +A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in +`BacktraceReport.ts`. diff --git a/packages/nestjs/jest.config.js b/packages/nestjs/jest.config.js new file mode 100644 index 00000000..463cbb9b --- /dev/null +++ b/packages/nestjs/jest.config.js @@ -0,0 +1,6 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + setupFiles: ['./jest.setup.js'], +}; diff --git a/packages/nestjs/jest.setup.js b/packages/nestjs/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/nestjs/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json new file mode 100644 index 00000000..d11bbcaf --- /dev/null +++ b/packages/nestjs/package.json @@ -0,0 +1,65 @@ +{ + "name": "@backtrace-labs/nestjs", + "version": "0.0.1", + "description": "Backtrace-JavaScript NestJS integration", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "build": "webpack", + "clean": "rimraf \"lib\"", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", + "watch": "webpack -w", + "test": "NODE_ENV=test jest" + }, + "engines": { + "node": ">=14" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Nest", + "Nestjs" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/lib" + ], + "devDependencies": { + "@nestjs/core": "^9", + "@nestjs/platform-express": "^9", + "@nestjs/testing": "^9", + "@types/express": "^4.17.18", + "@types/jest": "^29.5.1", + "@types/supertest": "^2.0.13", + "jest": "^29.5.0", + "supertest": "^6.3.3", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, + "dependencies": { + "@backtrace-labs/node": "^0.0.4" + }, + "peerDependencies": { + "@nestjs/common": "^9" + } +} diff --git a/packages/nestjs/src/backtrace.interceptor.ts b/packages/nestjs/src/backtrace.interceptor.ts new file mode 100644 index 00000000..fbb1a2d4 --- /dev/null +++ b/packages/nestjs/src/backtrace.interceptor.ts @@ -0,0 +1,201 @@ +import { BacktraceClient } from '@backtrace-labs/node'; +import { CallHandler, ExecutionContext, HttpException, Injectable, NestInterceptor, Optional } from '@nestjs/common'; +import { HttpArgumentsHost, RpcArgumentsHost, WsArgumentsHost } from '@nestjs/common/interfaces'; +import { type Request as ExpressRequest } from 'express'; +import { Observable, catchError, throwError } from 'rxjs'; + +type ExceptionTypeFilter = (new (...args: never[]) => unknown)[] | ((err: unknown) => boolean); + +export interface BacktraceInterceptorOptions { + /** + * If specified, only matching errors will be sent. + * + * Can be an array of error types, or a function returning `boolean`. + * The error is passed to the function as first parameter. + * + * @example + * // Include only InternalServerErrorException or errors deriving from it + * { + * includeExceptionTypes: [InternalServerErrorException] + * } + * + * // Include only errors that are instanceof InternalServerErrorException + * { + * includeExceptionTypes: (error) => error instanceof InternalServerErrorException + * } + */ + readonly includeExceptionTypes?: ExceptionTypeFilter; + + /** + * If specified, matching errors will not be sent. + * Can be an array of error types, or a function returning `boolean`. + * The error is passed to the function as first parameter. + * + * @example + * // Exclude BadRequestException or errors deriving from it + * { + * excludeExceptionTypes: [BadRequestException] + * } + * + * // Exclude errors that are instanceof BadRequestException + * { + * excludeExceptionTypes: (error) => error instanceof BadRequestException + * } + */ + readonly excludeExceptionTypes?: ExceptionTypeFilter; + + /** + * This method will be called before sending the report. + * Use this to build attributes that will be attached to the report. + * + * Note that this will overwrite the attributes. To add you own and keep the defaults, use `defaultAttributes`. + * @param context Execution context. + * @param defaultAttributes Attributes created by default by the interceptor. + * @returns Attribute dictionary. + * + * @example + * buildAttributes: (context, defaultAttributes) => ({ + * ...defaultAttributes, + * 'request.body': context.switchToHttp().getRequest().body + * }) + */ + readonly buildAttributes?: ( + context: ExecutionContext, + defaultAttributes: Record, + ) => Record; +} + +/** + * Intercepts errors and sends them to Backtrace. + */ +@Injectable() +export class BacktraceInterceptor implements NestInterceptor { + private readonly _client?: BacktraceClient; + + /** + * Creates an interceptor with the global client instance. + * + * The instance will be resolved while intercepting the request. + * If the instance is not available, an error will be thrown. + */ + constructor(options?: BacktraceInterceptorOptions); + /** + * Creates an interceptor with the provided client instance. + */ + constructor(options: BacktraceInterceptorOptions | undefined, client: BacktraceClient); + constructor( + private readonly _options = BacktraceInterceptor.getDefaultOptions(), + @Optional() client?: BacktraceClient, + ) { + this._client = client; + } + + public intercept(context: ExecutionContext, next: CallHandler): Observable { + const client = this._client ?? BacktraceClient.instance; + if (!client) { + throw new Error('Backtrace instance is unavailable. Initialize the client first.'); + } + + return next.handle().pipe( + catchError((err) => { + if (!this.shouldSend(err)) { + return throwError(() => err); + } + + let attributes: Record = { + ...this.getBaseAttributes(context), + ...this.getTypeAttributes(context), + }; + + if (this._options.buildAttributes) { + attributes = this._options.buildAttributes(context, attributes); + } + + if (typeof err !== 'string' && !(err instanceof Error)) { + client.send(String(err), attributes); + } else { + client.send(err, attributes); + } + + return throwError(() => err); + }), + ); + } + + private shouldSend(error: unknown) { + if (this._options.includeExceptionTypes && !this.filterException(error, this._options.includeExceptionTypes)) { + return false; + } + + if (this._options.excludeExceptionTypes && this.filterException(error, this._options.excludeExceptionTypes)) { + return false; + } + + return true; + } + + private getBaseAttributes(context: ExecutionContext) { + const controller = context.getClass().name; + const contextType = context.getType(); + + return { + 'request.controller': controller, + 'request.contextType': contextType, + }; + } + + private getTypeAttributes(context: ExecutionContext) { + const type = context.getType(); + switch (type) { + case 'http': + return this.getHttpAttributes(context.switchToHttp()); + case 'rpc': + return this.getRpcAttributes(context.switchToRpc()); + case 'ws': + return this.getWsAttributes(context.switchToWs()); + default: + return {}; + } + } + + private getHttpAttributes(http: HttpArgumentsHost) { + const request = http.getRequest(); + const expressRequest = request as ExpressRequest; + return { + 'request.url': expressRequest.url, + 'request.baseUrl': expressRequest.baseUrl, + 'request.method': expressRequest.method, + 'request.originalUrl': expressRequest.originalUrl, + 'request.protocol': expressRequest.protocol, + 'request.hostname': expressRequest.hostname, + 'request.httpVersion': expressRequest.httpVersion, + }; + } + + private getRpcAttributes(rpc: RpcArgumentsHost) { + return { + ['rpc.data']: rpc.getData(), + }; + } + + private getWsAttributes(ws: WsArgumentsHost) { + return { + ['ws.data']: ws.getData(), + }; + } + + private filterException(exception: unknown, filter: ExceptionTypeFilter): boolean { + if (Array.isArray(filter)) { + return filter.some((f) => exception instanceof f); + } + + return filter(exception); + } + + private static getDefaultOptions(): BacktraceInterceptorOptions { + return { + includeExceptionTypes: [Error], + excludeExceptionTypes: (error) => error instanceof HttpException && error.getStatus() < 500, + }; + } +} diff --git a/packages/nestjs/src/backtrace.module.ts b/packages/nestjs/src/backtrace.module.ts new file mode 100644 index 00000000..0e43f6f5 --- /dev/null +++ b/packages/nestjs/src/backtrace.module.ts @@ -0,0 +1,37 @@ +import { BacktraceClient } from '@backtrace-labs/node'; +import { ConfigurableModuleBuilder, Global, Module } from '@nestjs/common'; + +const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE } = new ConfigurableModuleBuilder< + BacktraceClient | undefined +>().build(); + +/** + * Registers `BacktraceClient` and exports it. If the client is not passed, the global one is used. + * If using the global instance, make sure to call `BacktraceClient.initialize` first. + * + * This module is global, you need to register it only once in your application. + */ +@Global() +@Module({ + providers: [ + { + provide: MODULE_OPTIONS_TOKEN, + useFactory: () => BacktraceClient.instance, + }, + { + provide: BacktraceClient, + useFactory: (instance?: typeof OPTIONS_TYPE) => { + if (!instance) { + throw new Error( + 'Backtrace instance is not available. Initialize it first, or pass it into the module using register/registerAsync.', + ); + } + + return instance; + }, + inject: [MODULE_OPTIONS_TOKEN], + }, + ], + exports: [BacktraceClient], +}) +export class BacktraceModule extends ConfigurableModuleClass {} diff --git a/packages/nestjs/src/index.ts b/packages/nestjs/src/index.ts new file mode 100644 index 00000000..b80f4bbc --- /dev/null +++ b/packages/nestjs/src/index.ts @@ -0,0 +1,3 @@ +export * from '@backtrace-labs/node'; +export * from './backtrace.interceptor'; +export * from './backtrace.module'; diff --git a/packages/nestjs/tests/backtrace.interceptor.spec.ts b/packages/nestjs/tests/backtrace.interceptor.spec.ts new file mode 100644 index 00000000..e0a26507 --- /dev/null +++ b/packages/nestjs/tests/backtrace.interceptor.spec.ts @@ -0,0 +1,513 @@ +import { BacktraceClient } from '@backtrace-labs/node'; +import { + BadRequestException, + Controller, + Get, + HttpException, + InternalServerErrorException, + NotFoundException, + Type, +} from '@nestjs/common'; +import { Test } from '@nestjs/testing'; +import request from 'supertest'; +import { BacktraceInterceptor, BacktraceInterceptorOptions } from '../src/backtrace.interceptor'; + +describe('BacktraceInterceptor', () => { + function createMockClient() { + const send = jest.fn(); + const client = { send } as unknown as BacktraceClient; + return { client, send }; + } + + function createInterceptor(options?: BacktraceInterceptorOptions) { + const { client, send } = createMockClient(); + const interceptor = new BacktraceInterceptor(options, client); + + return { client, send, interceptor }; + } + + async function createAppWithInterceptor(interceptor: BacktraceInterceptor, controller: Type) { + const module = await Test.createTestingModule({ + controllers: [controller], + }).compile(); + + const app = module.createNestApplication({ + logger: false, + }); + + app.useGlobalInterceptors(interceptor); + + return { module, app }; + } + + it('should send report to Backtrace', async () => { + const error = new Error('foo'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({}); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + expect(send).toBeCalledWith(error, expect.anything()); + }); + + it('should not change the error', async () => { + const error = new Error('foo'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { interceptor } = createInterceptor({}); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + const filterPromise = new Promise((resolve, reject) => { + app.useGlobalFilters({ + catch(exception, host) { + try { + expect(exception).toBe(error); + resolve(); + } catch (err) { + reject(err); + } finally { + host.switchToHttp().getResponse().sendStatus(500); + } + }, + }); + }); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + await filterPromise; + }); + + it('should not report to Backtrace when error is not thrown', async () => { + @Controller() + class TestController { + @Get('ok') + public ok() { + return 'ok'; + } + } + + const { send, interceptor } = createInterceptor({}); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/ok').expect(200); + + expect(send).not.toBeCalled(); + }); + + describe('include', () => { + it('should not send when error type is not on include list', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + includeExceptionTypes: [NotFoundException], + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + + it('should send when error type is on include list as a type', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + includeExceptionTypes: [BadRequestException], + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).toBeCalled(); + }); + + it('should send when error type is on include list as a subtype', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + includeExceptionTypes: [Error], + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).toBeCalled(); + }); + + it('should send when include resolves to true', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + includeExceptionTypes: () => true, + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).toBeCalled(); + }); + + it('should not send when include resolves to false', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + includeExceptionTypes: () => false, + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + }); + + describe('exclude', () => { + it('should not send when error type is on exclude list', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + excludeExceptionTypes: [BadRequestException], + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + + it('should send when error type is not on exclude list as a type', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + excludeExceptionTypes: [NotFoundException], + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).toBeCalled(); + }); + + it('should not send when error type is on exclude list as a subtype', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + excludeExceptionTypes: [Error], + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + + it('should not send when exclude resolves to true', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + excludeExceptionTypes: () => true, + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + + it('should send when exclude resolves to false', async () => { + const error = new BadRequestException('abc'); + + @Controller() + class TestController { + @Get('error') + public error() { + throw error; + } + } + + const { send, interceptor } = createInterceptor({ + excludeExceptionTypes: () => false, + }); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).toBeCalled(); + }); + }); + + describe('attributes', () => { + it('should by default add request attributes for class and contextType', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const { send, interceptor } = createInterceptor(); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + const actual = send.mock.calls[0][1]; + expect(actual).toMatchObject({ + 'request.controller': TestController.name, + 'request.contextType': 'http', + }); + }); + + it('should use attributes from buildAttributes if available', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const attributes = { + foo: 'bar', + xyz: 'abc', + }; + + const { send, interceptor } = createInterceptor({ + buildAttributes: () => attributes, + }); + + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + const actual = send.mock.calls[0][1]; + expect(actual).toEqual(attributes); + }); + + it('should pass default attributes to buildAttributes', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const buildAttributes = jest.fn().mockReturnValue({ + foo: 'bar', + xyz: 'abc', + }); + + const { interceptor } = createInterceptor({ + buildAttributes, + }); + + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + expect(buildAttributes).toBeCalledWith( + expect.anything(), + expect.objectContaining({ + 'request.controller': TestController.name, + 'request.contextType': 'http', + }), + ); + }); + }); + + describe('include and exclude default behavior', () => { + it('should by default send Error exceptions', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const { send, interceptor } = createInterceptor(); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + expect(send).toBeCalled(); + }); + + it('should by default send InternalServerErrorException exceptions', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new InternalServerErrorException('foo'); + } + } + + const { send, interceptor } = createInterceptor(); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + expect(send).toBeCalled(); + }); + + it('should by default send HttpException exceptions with 500 status', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new HttpException('foo', 500); + } + } + + const { send, interceptor } = createInterceptor(); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + expect(send).toBeCalled(); + }); + + it('should by default not send HttpException exceptions with 400 status', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new HttpException('foo', 400); + } + } + + const { send, interceptor } = createInterceptor(); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + + it('should by default not send BadRequestException exceptions', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new BadRequestException('foo'); + } + } + + const { send, interceptor } = createInterceptor(); + const { app } = await createAppWithInterceptor(interceptor, TestController); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(400); + + expect(send).not.toBeCalled(); + }); + }); +}); diff --git a/packages/nestjs/tests/backtrace.module.spec.ts b/packages/nestjs/tests/backtrace.module.spec.ts new file mode 100644 index 00000000..36aa308f --- /dev/null +++ b/packages/nestjs/tests/backtrace.module.spec.ts @@ -0,0 +1,59 @@ +import { Test } from '@nestjs/testing'; +import { BacktraceClient, BacktraceModule } from '../src'; + +describe('BacktraceModule', () => { + beforeEach(() => { + BacktraceClient.instance?.dispose(); + }); + + it('should export global BacktraceClient instance', async () => { + const instance = BacktraceClient.initialize({ + url: 'https://test', + }); + + const module = await Test.createTestingModule({ + imports: [BacktraceModule], + }).compile(); + + const client = module.get(BacktraceClient); + expect(client).toBe(instance); + }); + + it('should export passed BacktraceClient instance', async () => { + const instance = BacktraceClient.builder({ + url: 'https://test', + }).build(); + + const module = await Test.createTestingModule({ + imports: [BacktraceModule.register(instance)], + }).compile(); + + const client = module.get(BacktraceClient); + expect(client).toBe(instance); + }); + + it('should export BacktraceClient using options asynchronously', async () => { + const instance = BacktraceClient.builder({ + url: 'https://test', + }).build(); + + const module = await Test.createTestingModule({ + imports: [ + BacktraceModule.registerAsync({ + useFactory: () => instance, + }), + ], + }).compile(); + + const client = module.get(BacktraceClient); + expect(client).toBe(instance); + }); + + it('should throw an error when instance is not initialized', async () => { + await expect( + Test.createTestingModule({ + imports: [BacktraceModule], + }).compile(), + ).rejects.toThrowError(/Backtrace instance is not available\./); + }); +}); diff --git a/packages/nestjs/tests/e2e.spec.ts b/packages/nestjs/tests/e2e.spec.ts new file mode 100644 index 00000000..910c7d3c --- /dev/null +++ b/packages/nestjs/tests/e2e.spec.ts @@ -0,0 +1,131 @@ +import { BacktraceReportSubmissionResult } from '@backtrace-labs/sdk-core'; +import { Controller, Get, UseInterceptors } from '@nestjs/common'; +import { APP_INTERCEPTOR } from '@nestjs/core'; +import { Test } from '@nestjs/testing'; +import request from 'supertest'; +import { BacktraceClient, BacktraceInterceptor, BacktraceModule } from '../src'; + +describe('e2e', () => { + beforeEach(() => { + BacktraceClient.instance?.dispose(); + }); + + it('should send an error when interceptor is added to controller', async () => { + @Controller() + @UseInterceptors(new BacktraceInterceptor()) + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const postError = jest.fn().mockResolvedValue(BacktraceReportSubmissionResult.Ok({})); + + BacktraceClient.initialize( + { + url: 'https://test', + }, + (builder) => + builder.useRequestHandler({ + postError, + post: jest.fn().mockResolvedValue(BacktraceReportSubmissionResult.Ok({})), + }), + ); + + const module = await Test.createTestingModule({ + controllers: [TestController], + imports: [BacktraceModule], + }).compile(); + + const app = module.createNestApplication({ + logger: false, + }); + + await app.init(); + await request(app.getHttpServer()).get('/error').expect(500); + + expect(postError).toBeCalled(); + }); + + it('should send an error when interceptor is added globally via useGlobalInterceptors', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const postError = jest.fn().mockResolvedValue(BacktraceReportSubmissionResult.Ok({})); + + BacktraceClient.initialize( + { + url: 'https://test', + }, + (builder) => + builder.useRequestHandler({ + postError, + post: jest.fn().mockResolvedValue(BacktraceReportSubmissionResult.Ok({})), + }), + ); + + const module = await Test.createTestingModule({ + controllers: [TestController], + imports: [BacktraceModule], + }).compile(); + + const app = module.createNestApplication({ + logger: false, + }); + app.useGlobalInterceptors(new BacktraceInterceptor()); + await app.init(); + + await request(app.getHttpServer()).get('/error').expect(500); + + expect(postError).toBeCalled(); + }); + + it('should send an error when interceptor is added globally via APP_INTERCEPTOR', async () => { + @Controller() + class TestController { + @Get('error') + public error() { + throw new Error('foo'); + } + } + + const postError = jest.fn().mockResolvedValue(BacktraceReportSubmissionResult.Ok({})); + + BacktraceClient.initialize( + { + url: 'https://test', + }, + (builder) => + builder.useRequestHandler({ + postError, + post: jest.fn().mockResolvedValue(BacktraceReportSubmissionResult.Ok({})), + }), + ); + + const module = await Test.createTestingModule({ + controllers: [TestController], + providers: [ + { + provide: APP_INTERCEPTOR, + useValue: new BacktraceInterceptor(), + }, + ], + imports: [BacktraceModule], + }).compile(); + + const app = module.createNestApplication({ + logger: false, + }); + await app.init(); + + await request(app.getHttpServer()).get('/error').expect(500); + + expect(postError).toBeCalled(); + }); +}); diff --git a/packages/nestjs/tsconfig.build.json b/packages/nestjs/tsconfig.build.json new file mode 100644 index 00000000..4e9464b9 --- /dev/null +++ b/packages/nestjs/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/packages/nestjs/tsconfig.json b/packages/nestjs/tsconfig.json new file mode 100644 index 00000000..394015f9 --- /dev/null +++ b/packages/nestjs/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "exclude": ["node_modules", "lib"], + "references": [ + { + "path": "../node/tsconfig.json" + } + ] +} diff --git a/packages/nestjs/webpack.config.js b/packages/nestjs/webpack.config.js new file mode 100644 index 00000000..1a065bf4 --- /dev/null +++ b/packages/nestjs/webpack.config.js @@ -0,0 +1,31 @@ +const path = require('path'); +const { getWebpackTypescriptConfig } = require('../../build/common'); +const agentDefinitionPlugin = require('../../build/agentDefinitionPlugin'); +const nodeExternals = require('webpack-node-externals'); + +/** @type {import('webpack').Configuration} */ +module.exports = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.build.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'nosources-source-map', + entry: './src/index.ts', + target: 'node', + externalsPresets: { node: true }, + externals: [ + nodeExternals({ + additionalModuleDirs: ['../../node_modules'], + }), + ], + output: { + filename: 'index.js', + path: path.join(__dirname, 'lib'), + libraryTarget: 'commonjs2', + devtoolModuleFilenameTemplate(info) { + return path.relative(path.join(__dirname, 'lib'), info.absoluteResourcePath); + }, + }, + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], + optimization: { + minimize: false, + }, +}; diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index a568584e..7ee08e68 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -6,11 +6,12 @@ export { BacktraceStackFrame, BacktraceStackTraceConverter, BreadcrumbLogLevel, + BreadcrumbType, BreadcrumbsEventSubscriber, BreadcrumbsManager, - BreadcrumbType, RawBreadcrumb, } from '@backtrace-labs/sdk-core'; -export * from './attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; +export * from './attachment'; +export * from './builder/BacktraceClientBuilder'; diff --git a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts index c8a079a4..b49fbec3 100644 --- a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts +++ b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts @@ -22,22 +22,22 @@ export abstract class BacktraceCoreClientBuilder return this; } - public useBreadcrumbSubscriber(breadcrumbSubscriber: BreadcrumbsEventSubscriber): BacktraceCoreClientBuilder { + public useBreadcrumbSubscriber(breadcrumbSubscriber: BreadcrumbsEventSubscriber): this { this.breadcrumbsSubscribers.push(breadcrumbSubscriber); return this; } - public useSessionProvider(sessionProvider: BacktraceSessionProvider): BacktraceCoreClientBuilder { + public useSessionProvider(sessionProvider: BacktraceSessionProvider): this { this.sessionProvider = sessionProvider; return this; } - public useRequestHandler(handler: BacktraceRequestHandler): BacktraceCoreClientBuilder { + public useRequestHandler(handler: BacktraceRequestHandler): this { this.handler = handler; return this; } - public useStackTraceConverter(stackTraceConverter: BacktraceStackTraceConverter): BacktraceCoreClientBuilder { + public useStackTraceConverter(stackTraceConverter: BacktraceStackTraceConverter): this { this.stackTraceConverter = stackTraceConverter; return this; } From 66e5be78db1833be1d90b415e09baa92016ab628 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 2 Oct 2023 19:06:14 +0200 Subject: [PATCH 193/291] Bigint serialization --- packages/sdk-core/src/common/jsonEscaper.ts | 11 ++++++++++- .../tests/http/dataSerializationTests.spec.ts | 9 +++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/sdk-core/src/common/jsonEscaper.ts b/packages/sdk-core/src/common/jsonEscaper.ts index 1a57e54c..c07ed8cf 100644 --- a/packages/sdk-core/src/common/jsonEscaper.ts +++ b/packages/sdk-core/src/common/jsonEscaper.ts @@ -8,7 +8,16 @@ export function jsonEscaper() { if (!key) { return value; } - if (typeof value !== 'object' || value === null) { + if (value === null) { + return value; + } + const valueType = typeof value; + + if (valueType === 'bigint') { + return (value as bigint).toString(); + } + + if (valueType !== 'object') { return value; } diff --git a/packages/sdk-core/tests/http/dataSerializationTests.spec.ts b/packages/sdk-core/tests/http/dataSerializationTests.spec.ts index fd4988ad..1e614e0b 100644 --- a/packages/sdk-core/tests/http/dataSerializationTests.spec.ts +++ b/packages/sdk-core/tests/http/dataSerializationTests.spec.ts @@ -31,4 +31,13 @@ describe('Data serialization tests', () => { const data = dataBuilder.build(new BacktraceReport(new Error(), annotation)); expect(() => JSON.stringify(data, jsonEscaper())).not.toThrow(); }); + + it('Should serialize correctly big ints', () => { + const annotation: Record = { + bigint: BigInt(9007199254740991), + }; + annotation['circular-reference'] = annotation; + const data = dataBuilder.build(new BacktraceReport(new Error(), annotation)); + expect(() => JSON.stringify(data, jsonEscaper())).not.toThrow(); + }); }); From 6ebbdc59bd125ccdc57604d9cf3986877e85fa96 Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 2 Oct 2023 14:55:31 -0400 Subject: [PATCH 194/291] SDK-Core version bump to 0.0.5 (#156) * SDK-Core version bump to 0.0.5 * Updating package-lock * Including node --------- Co-authored-by: Adam Cronin --- package-lock.json | 14 +++++++------- packages/browser/package.json | 2 +- packages/node/package.json | 2 +- packages/react/package.json | 2 +- packages/sdk-core/package.json | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index f0149ef2..3d5889c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13315,7 +13315,7 @@ "version": "0.0.4", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -13366,7 +13366,7 @@ "version": "0.0.4", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -13390,7 +13390,7 @@ "license": "MIT", "dependencies": { "@backtrace-labs/browser": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4" + "@backtrace-labs/sdk-core": "^0.0.5" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -13409,7 +13409,7 @@ }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", - "version": "0.0.4", + "version": "0.0.5", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", @@ -13977,7 +13977,7 @@ "@backtrace-labs/browser": { "version": "file:packages/browser", "requires": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", @@ -14031,7 +14031,7 @@ "@backtrace-labs/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -14048,7 +14048,7 @@ "version": "file:packages/react", "requires": { "@backtrace-labs/browser": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", diff --git a/packages/browser/package.json b/packages/browser/package.json index 86bdb82f..438cd5a1 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "ua-parser-js": "^1.0.35" } } diff --git a/packages/node/package.json b/packages/node/package.json index 45e23b97..34ddd479 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.5", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/react/package.json b/packages/react/package.json index 4336ce61..39774509 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@backtrace-labs/browser": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4" + "@backtrace-labs/sdk-core": "^0.0.5" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 4fe166ea..d7ad8ef1 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sdk-core", - "version": "0.0.4", + "version": "0.0.5", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From f0efc81b43dc3b32227661f52b59d61d5e49b99f Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 2 Oct 2023 15:01:22 -0400 Subject: [PATCH 195/291] Adding jsonEscaper to JSON.stringify() and not assuming action exists (#157) * SDK-Core version bump to 0.0.5 * Updating package-lock * Including node * Adding jsonEscaper to JSON.stringify() and not assuming action exists --------- Co-authored-by: Adam Cronin --- packages/browser/src/redux/BacktraceReduxMiddleware.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/browser/src/redux/BacktraceReduxMiddleware.ts b/packages/browser/src/redux/BacktraceReduxMiddleware.ts index 565938c1..f552f272 100644 --- a/packages/browser/src/redux/BacktraceReduxMiddleware.ts +++ b/packages/browser/src/redux/BacktraceReduxMiddleware.ts @@ -1,5 +1,6 @@ import type { Middleware, Action } from 'redux'; import { BacktraceClient } from '../BacktraceClient'; +import { jsonEscaper } from '@backtrace-labs/sdk-core'; /** * @@ -20,12 +21,14 @@ export const createBacktraceReduxMiddleware = ( const interceptedAction = interceptAction(action); // If the user returns undefined for an action, we skip the breadcrumb if (interceptedAction) { - client.breadcrumbs?.info(`REDUX Action: ${JSON.stringify(interceptedAction)}`); + client.breadcrumbs?.info(`REDUX Action: ${JSON.stringify(interceptedAction, jsonEscaper())}`); } return response; } catch (err) { const message = err instanceof Error ? err.message : err?.toString() ?? 'unknown'; - client.breadcrumbs?.warn(`A problem occurred during action ${action.type}. Reason: ${message}`); + client.breadcrumbs?.warn( + `A problem occurred during action ${action?.type ?? 'unknown'}. Reason: ${message}`, + ); throw err; } }; From 760bf4bc6cced994f767516f97b70502047a70ae Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 2 Oct 2023 15:09:59 -0400 Subject: [PATCH 196/291] Browser release 0.0.5 (#158) * SDK-Core version bump to 0.0.5 * Updating package-lock * Including node * Adding jsonEscaper to JSON.stringify() and not assuming action exists * Browser release 0.0.5 --------- Co-authored-by: Adam Cronin --- package-lock.json | 6 +++--- packages/browser/package.json | 2 +- packages/react/package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3d5889c8..b8538166 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13312,7 +13312,7 @@ }, "packages/browser": { "name": "@backtrace-labs/browser", - "version": "0.0.4", + "version": "0.0.5", "license": "MIT", "dependencies": { "@backtrace-labs/sdk-core": "^0.0.5", @@ -13389,7 +13389,7 @@ "version": "0.0.4", "license": "MIT", "dependencies": { - "@backtrace-labs/browser": "^0.0.4", + "@backtrace-labs/browser": "^0.0.5", "@backtrace-labs/sdk-core": "^0.0.5" }, "devDependencies": { @@ -14047,7 +14047,7 @@ "@backtrace-labs/react": { "version": "file:packages/react", "requires": { - "@backtrace-labs/browser": "^0.0.4", + "@backtrace-labs/browser": "^0.0.5", "@backtrace-labs/sdk-core": "^0.0.5", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", diff --git a/packages/browser/package.json b/packages/browser/package.json index 438cd5a1..72d53342 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/browser", - "version": "0.0.4", + "version": "0.0.5", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/react/package.json b/packages/react/package.json index 39774509..7ca2314f 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -47,7 +47,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/browser": "^0.0.4", + "@backtrace-labs/browser": "^0.0.5", "@backtrace-labs/sdk-core": "^0.0.5" }, "peerDependencies": { From dcf43e31ef1ce909933ed325dc052a01a1a905be Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 2 Oct 2023 15:10:30 -0400 Subject: [PATCH 197/291] React release 0.0.5 (#159) * SDK-Core version bump to 0.0.5 * Updating package-lock * Including node * Adding jsonEscaper to JSON.stringify() and not assuming action exists * Browser release 0.0.5 * React release 0.0.5 --------- Co-authored-by: Adam Cronin --- package-lock.json | 2 +- packages/react/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8538166..2a84969f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13386,7 +13386,7 @@ }, "packages/react": { "name": "@backtrace-labs/react", - "version": "0.0.4", + "version": "0.0.5", "license": "MIT", "dependencies": { "@backtrace-labs/browser": "^0.0.5", diff --git a/packages/react/package.json b/packages/react/package.json index 7ca2314f..1193eabd 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/react", - "version": "0.0.4", + "version": "0.0.5", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { From d5218ab9d27cacdfe7a88d0d6faec1099fc0c50e Mon Sep 17 00:00:00 2001 From: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Mon, 2 Oct 2023 15:22:26 -0400 Subject: [PATCH 198/291] Adding real dependencies to example apps (#160) * SDK-Core version bump to 0.0.5 * Updating package-lock * Including node * Adding jsonEscaper to JSON.stringify() and not assuming action exists * Browser release 0.0.5 * React release 0.0.5 * Adding real dependencies to example apps --------- Co-authored-by: Adam Cronin --- examples/sdk/browser/package.json | 3 ++- examples/sdk/react/package.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index 38734f39..f7260afc 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -40,6 +40,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@reduxjs/toolkit": "^1.9.5" + "@reduxjs/toolkit": "^1.9.5", + "@backtrace-labs/browser": "^0.0.5" } } diff --git a/examples/sdk/react/package.json b/examples/sdk/react/package.json index 9e342724..95354ea6 100644 --- a/examples/sdk/react/package.json +++ b/examples/sdk/react/package.json @@ -10,7 +10,8 @@ "react-scripts": "5.0.1", "react-toastify": "^9.1.3", "typescript": "^4.9.5", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "@backtrace-labs/react": "^0.0.5" }, "scripts": { "start": "react-scripts start", From 836f6328723d5397bcd6c834fa856f8cc05d558d Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 3 Oct 2023 15:00:37 +0200 Subject: [PATCH 199/291] React native support (#119) React native support --- package-lock.json | 22216 ++++++++++++++-- package.json | 3 +- packages/react-native/.gitignore | 70 + packages/react-native/.watchmanconfig | 1 + packages/react-native/LICENSE | 21 + packages/react-native/README.md | 7 + packages/react-native/android/build.gradle | 104 + .../react-native/android/gradle.properties | 5 + .../android/src/main/AndroidManifest.xml | 3 + .../android/src/main/AndroidManifestNew.xml | 2 + .../backtrace/library/AttributeReader.java | 43 + ...idBackgroundUnhandledExceptionHandler.java | 103 + ...BacktraceApplicationAttributeProvider.java | 57 + .../backtrace/library/BacktraceDatabase.java | 12 + .../BacktraceDeviceAttributeProvider.java | 72 + .../library/BacktraceReactNative.java | 101 + .../BacktraceSystemAttributeProvider.java | 71 + .../MemoryInformationAttributeProvider.java | 86 + .../library/ProcessAttributeProvider.java | 81 + .../backtrace/library/ReactNativePackage.java | 37 + .../java/backtrace/library/UnwindingMode.java | 9 + .../backtrace/library/base/BacktraceBase.java | 5 + .../jniLibs/arm64-v8a/libbacktrace-native.so | Bin 0 -> 1845648 bytes .../jniLibs/arm64-v8a/libcrashpad_handler.so | Bin 0 -> 3037656 bytes .../main/jniLibs/arm64-v8a/libnative-lib.so | Bin 0 -> 350528 bytes .../armeabi-v7a/libbacktrace-native.so | Bin 0 -> 1292044 bytes .../armeabi-v7a/libcrashpad_handler.so | Bin 0 -> 2497128 bytes .../main/jniLibs/armeabi-v7a/libnative-lib.so | Bin 0 -> 188508 bytes .../main/jniLibs/x86/libbacktrace-native.so | Bin 0 -> 337340 bytes .../main/jniLibs/x86/libcrashpad_handler.so | Bin 0 -> 2833752 bytes .../src/main/jniLibs/x86/libnative-lib.so | Bin 0 -> 342908 bytes packages/react-native/babel.config.js | 3 + .../backtrace-react-native.podspec | 42 + packages/react-native/ios/BacktraceApi.h | 10 + packages/react-native/ios/BacktraceApi.mm | 110 + .../BacktraceApplicationAttributeProvider.h | 12 + .../BacktraceApplicationAttributeProvider.mm | 14 + .../ios/BacktraceCpuAttributeProvider.h | 12 + .../ios/BacktraceCpuAttributeProvider.mm | 36 + .../react-native/ios/BacktraceCrashReporter.h | 6 + .../ios/BacktraceCrashReporter.mm | 230 + .../ios/BacktraceDeviceAttributeProvider.h | 12 + .../ios/BacktraceDeviceAttributeProvider.mm | 23 + .../BacktraceMemoryUsageAttributeProvider.h | 11 + .../BacktraceMemoryUsageAttributeProvider.mm | 58 + .../react-native/ios/BacktraceReactNative.h | 12 + .../react-native/ios/BacktraceReactNative.mm | 42 + .../project.pbxproj | 327 + .../ios/BacktraceSystemAttributeProvider.h | 12 + .../ios/BacktraceSystemAttributeProvider.mm | 50 + packages/react-native/ios/CrashUtils.h | 8 + packages/react-native/ios/CrashUtils.mm | 78 + packages/react-native/ios/OomWatcher.h | 29 + packages/react-native/ios/OomWatcher.mm | 156 + packages/react-native/package.json | 98 + packages/react-native/src/BacktraceClient.ts | 138 + .../src/BacktraceClientBuilder.ts | 43 + .../src/BacktraceConfiguration.ts | 2 + packages/react-native/src/ErrorBoundary.tsx | 63 + .../src/attributes/NativeAttributeProvider.ts | 16 + .../ReactNativeAttributeProvider.ts | 19 + .../react-native/src/common/DebuggerHelper.ts | 5 + .../react-native/src/common/hermesHelper.ts | 5 + .../react-native/src/common/platformHelper.ts | 6 + .../src/crashReporter/CrashReporter.ts | 75 + .../src/handlers/ExceptionHandler.ts | 7 + .../src/handlers/UnhandledExceptionHandler.ts | 126 + .../AndroidUnhandledExceptionHandler.ts | 42 + packages/react-native/src/handlers/index.ts | 15 + packages/react-native/src/index.ts | 4 + packages/react-native/src/types/Hermes.ts | 8 + packages/react-native/tsconfig.json | 29 + 72 files changed, 23605 insertions(+), 1498 deletions(-) create mode 100644 packages/react-native/.gitignore create mode 100644 packages/react-native/.watchmanconfig create mode 100644 packages/react-native/LICENSE create mode 100644 packages/react-native/README.md create mode 100644 packages/react-native/android/build.gradle create mode 100644 packages/react-native/android/gradle.properties create mode 100644 packages/react-native/android/src/main/AndroidManifest.xml create mode 100644 packages/react-native/android/src/main/AndroidManifestNew.xml create mode 100644 packages/react-native/android/src/main/java/backtrace/library/AttributeReader.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceAndroidBackgroundUnhandledExceptionHandler.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceApplicationAttributeProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceDatabase.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceDeviceAttributeProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceSystemAttributeProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/MemoryInformationAttributeProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/ProcessAttributeProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/UnwindingMode.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/base/BacktraceBase.java create mode 100644 packages/react-native/android/src/main/jniLibs/arm64-v8a/libbacktrace-native.so create mode 100644 packages/react-native/android/src/main/jniLibs/arm64-v8a/libcrashpad_handler.so create mode 100644 packages/react-native/android/src/main/jniLibs/arm64-v8a/libnative-lib.so create mode 100644 packages/react-native/android/src/main/jniLibs/armeabi-v7a/libbacktrace-native.so create mode 100644 packages/react-native/android/src/main/jniLibs/armeabi-v7a/libcrashpad_handler.so create mode 100644 packages/react-native/android/src/main/jniLibs/armeabi-v7a/libnative-lib.so create mode 100644 packages/react-native/android/src/main/jniLibs/x86/libbacktrace-native.so create mode 100644 packages/react-native/android/src/main/jniLibs/x86/libcrashpad_handler.so create mode 100644 packages/react-native/android/src/main/jniLibs/x86/libnative-lib.so create mode 100644 packages/react-native/babel.config.js create mode 100644 packages/react-native/backtrace-react-native.podspec create mode 100644 packages/react-native/ios/BacktraceApi.h create mode 100644 packages/react-native/ios/BacktraceApi.mm create mode 100644 packages/react-native/ios/BacktraceApplicationAttributeProvider.h create mode 100644 packages/react-native/ios/BacktraceApplicationAttributeProvider.mm create mode 100644 packages/react-native/ios/BacktraceCpuAttributeProvider.h create mode 100644 packages/react-native/ios/BacktraceCpuAttributeProvider.mm create mode 100644 packages/react-native/ios/BacktraceCrashReporter.h create mode 100644 packages/react-native/ios/BacktraceCrashReporter.mm create mode 100644 packages/react-native/ios/BacktraceDeviceAttributeProvider.h create mode 100644 packages/react-native/ios/BacktraceDeviceAttributeProvider.mm create mode 100644 packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.h create mode 100644 packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.mm create mode 100644 packages/react-native/ios/BacktraceReactNative.h create mode 100644 packages/react-native/ios/BacktraceReactNative.mm create mode 100644 packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj create mode 100644 packages/react-native/ios/BacktraceSystemAttributeProvider.h create mode 100644 packages/react-native/ios/BacktraceSystemAttributeProvider.mm create mode 100644 packages/react-native/ios/CrashUtils.h create mode 100644 packages/react-native/ios/CrashUtils.mm create mode 100644 packages/react-native/ios/OomWatcher.h create mode 100644 packages/react-native/ios/OomWatcher.mm create mode 100644 packages/react-native/package.json create mode 100644 packages/react-native/src/BacktraceClient.ts create mode 100644 packages/react-native/src/BacktraceClientBuilder.ts create mode 100644 packages/react-native/src/BacktraceConfiguration.ts create mode 100644 packages/react-native/src/ErrorBoundary.tsx create mode 100644 packages/react-native/src/attributes/NativeAttributeProvider.ts create mode 100644 packages/react-native/src/attributes/ReactNativeAttributeProvider.ts create mode 100644 packages/react-native/src/common/DebuggerHelper.ts create mode 100644 packages/react-native/src/common/hermesHelper.ts create mode 100644 packages/react-native/src/common/platformHelper.ts create mode 100644 packages/react-native/src/crashReporter/CrashReporter.ts create mode 100644 packages/react-native/src/handlers/ExceptionHandler.ts create mode 100644 packages/react-native/src/handlers/UnhandledExceptionHandler.ts create mode 100644 packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts create mode 100644 packages/react-native/src/handlers/index.ts create mode 100644 packages/react-native/src/index.ts create mode 100644 packages/react-native/src/types/Hermes.ts create mode 100644 packages/react-native/tsconfig.json diff --git a/package-lock.json b/package-lock.json index 2a84969f..bdb193ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,11 @@ "license": "MIT", "workspaces": [ "packages/sdk-core", - "packages/node", "packages/browser", "packages/react", + "packages/node", "packages/nestjs", + "packages/react-native", "tools/sourcemap-tools", "tools/cli", "tools/rollup-plugin", @@ -148,7 +149,7 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.9", + "version": "7.22.20", "dev": true, "license": "MIT", "engines": { @@ -156,7 +157,7 @@ } }, "node_modules/@babel/core": { - "version": "7.22.15", + "version": "7.22.20", "dev": true, "license": "MIT", "dependencies": { @@ -164,12 +165,12 @@ "@babel/code-frame": "^7.22.13", "@babel/generator": "^7.22.15", "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.20", "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.15", + "@babel/parser": "^7.22.16", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^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", @@ -184,11 +185,6 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, "node_modules/@babel/core/node_modules/json5": { "version": "2.2.3", "dev": true, @@ -259,7 +255,7 @@ "license": "ISC" }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", + "version": "7.22.20", "dev": true, "license": "MIT", "engines": { @@ -301,15 +297,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.15", + "version": "7.22.20", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", + "@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.15" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -357,7 +353,7 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.15", + "version": "7.22.20", "dev": true, "license": "MIT", "engines": { @@ -386,11 +382,11 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.13", + "version": "7.22.20", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -463,7 +459,7 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.15", + "version": "7.22.16", "dev": true, "license": "MIT", "bin": { @@ -661,18 +657,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.15", + "version": "7.22.20", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/generator": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", + "@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.15", - "@babel/types": "^7.22.15", + "@babel/parser": "^7.22.16", + "@babel/types": "^7.22.19", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -689,12 +685,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.15", + "version": "7.22.19", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.15", + "@babel/helper-validator-identifier": "^7.22.19", "to-fast-properties": "^2.0.0" }, "engines": { @@ -721,6 +717,10 @@ "resolved": "packages/react", "link": true }, + "node_modules/@backtrace-labs/react-native": { + "resolved": "packages/react-native", + "link": true + }, "node_modules/@backtrace-labs/rollup-plugin": { "resolved": "tools/rollup-plugin", "link": true @@ -754,7 +754,7 @@ "node": ">=10.0.0" } }, - "node_modules/@esbuild/linux-x64": { + "node_modules/@esbuild/darwin-x64": { "version": "0.18.20", "cpu": [ "x64" @@ -762,7 +762,7 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "darwin" ], "peer": true, "engines": { @@ -784,7 +784,7 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.8.0", + "version": "4.8.1", "dev": true, "license": "MIT", "engines": { @@ -814,7 +814,7 @@ } }, "node_modules/@eslint/js": { - "version": "8.48.0", + "version": "8.49.0", "dev": true, "license": "MIT", "engines": { @@ -989,15 +989,15 @@ } }, "node_modules/@jest/console": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0" }, "engines": { @@ -1005,14 +1005,14 @@ } }, "node_modules/@jest/core": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.6.4", - "@jest/reporters": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", @@ -1020,21 +1020,21 @@ "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.6.3", - "jest-config": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-resolve-dependencies": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "jest-watcher": "^29.6.4", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", "micromatch": "^4.0.4", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -1062,7 +1062,7 @@ } }, "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -1080,33 +1080,33 @@ "license": "MIT" }, "node_modules/@jest/environment": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.6.4", + "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.3" + "jest-mock": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "expect": "^29.6.4", - "jest-snapshot": "^29.6.4" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -1117,44 +1117,44 @@ } }, "node_modules/@jest/fake-timers": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", "@jest/types": "^29.6.3", - "jest-mock": "^29.6.3" + "jest-mock": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", @@ -1168,9 +1168,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -1232,11 +1232,11 @@ } }, "node_modules/@jest/test-result": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.6.4", + "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" @@ -1246,13 +1246,13 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.6.4", + "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", + "jest-haste-map": "^29.7.0", "slash": "^3.0.0" }, "engines": { @@ -1260,7 +1260,7 @@ } }, "node_modules/@jest/transform": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -1272,9 +1272,9 @@ "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", + "jest-haste-map": "^29.7.0", "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -1284,6 +1284,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, "node_modules/@jest/types": { "version": "29.6.3", "dev": true, @@ -1348,14 +1353,16 @@ }, "node_modules/@lukeed/csprng": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", "engines": { "node": ">=8" } }, "node_modules/@nestjs/common": { "version": "9.4.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", + "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", "peer": true, "dependencies": { "iterare": "1.2.1", @@ -1387,14 +1394,16 @@ }, "node_modules/@nestjs/common/node_modules/tslib": { "version": "2.5.3", - "license": "0BSD", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "peer": true }, "node_modules/@nestjs/core": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", + "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "@nuxtjs/opencollective": "0.3.2", "fast-safe-stringify": "2.1.1", @@ -1429,8 +1438,9 @@ }, "node_modules/@nestjs/core/node_modules/tslib": { "version": "2.5.3", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true }, "node_modules/@nestjs/platform-express": { "version": "9.4.3", @@ -1526,8 +1536,9 @@ }, "node_modules/@nuxtjs/opencollective": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "consola": "^2.15.0", @@ -1640,7 +1651,7 @@ } }, "node_modules/@testing-library/dom": { - "version": "9.3.1", + "version": "9.3.3", "dev": true, "license": "MIT", "dependencies": { @@ -1688,7 +1699,7 @@ "license": "MIT" }, "node_modules/@types/babel__core": { - "version": "7.20.1", + "version": "7.20.2", "dev": true, "license": "MIT", "dependencies": { @@ -1700,7 +1711,7 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", + "version": "7.6.5", "dev": true, "license": "MIT", "dependencies": { @@ -1708,7 +1719,7 @@ } }, "node_modules/@types/babel__template": { - "version": "7.4.1", + "version": "7.4.2", "dev": true, "license": "MIT", "dependencies": { @@ -1717,7 +1728,7 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.1", + "version": "7.20.2", "dev": true, "license": "MIT", "dependencies": { @@ -1735,7 +1746,7 @@ } }, "node_modules/@types/command-line-args": { - "version": "5.2.0", + "version": "5.2.1", "dev": true, "license": "MIT" }, @@ -1812,7 +1823,7 @@ } }, "node_modules/@types/fs-extra": { - "version": "11.0.1", + "version": "11.0.2", "dev": true, "license": "MIT", "dependencies": { @@ -1856,7 +1867,7 @@ } }, "node_modules/@types/jest": { - "version": "29.5.4", + "version": "29.5.5", "dev": true, "license": "MIT", "dependencies": { @@ -1876,7 +1887,7 @@ } }, "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -1904,7 +1915,7 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", + "version": "7.0.13", "license": "MIT" }, "node_modules/@types/json5": { @@ -1913,7 +1924,7 @@ "license": "MIT" }, "node_modules/@types/jsonfile": { - "version": "6.1.1", + "version": "6.1.2", "dev": true, "license": "MIT", "dependencies": { @@ -1927,7 +1938,7 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.18.58", + "version": "14.18.61", "license": "MIT" }, "node_modules/@types/prop-types": { @@ -1971,7 +1982,7 @@ "license": "MIT" }, "node_modules/@types/semver": { - "version": "7.5.1", + "version": "7.5.2", "dev": true, "license": "MIT" }, @@ -2017,16 +2028,16 @@ } }, "node_modules/@types/supertest": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.13.tgz", - "integrity": "sha512-Vc/5/pRwSC055fU7Wu8erTj4gLpID9SdG2zRMuqaHLni3GTsrJ8gyB6MbFZZGLW6vQaGPhiUWRB6uWglv87MEg==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.14.tgz", + "integrity": "sha512-Q900DeeHNFF3ZYYepf/EyJfZDA2JrnWLaSQ0YNV7+2GTo8IlJzauEnDGhya+hauncpBYTYGpVHwGdssJeAQ7eA==", "dev": true, "dependencies": { "@types/superagent": "*" } }, "node_modules/@types/tar-stream": { - "version": "2.2.2", + "version": "2.2.3", "dev": true, "license": "MIT", "dependencies": { @@ -2034,7 +2045,7 @@ } }, "node_modules/@types/tough-cookie": { - "version": "4.0.2", + "version": "4.0.3", "dev": true, "license": "MIT" }, @@ -2517,9 +2528,8 @@ }, "node_modules/accepts": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -2793,13 +2803,13 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.1", + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -2810,13 +2820,13 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -2827,13 +2837,14 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", + "version": "1.0.2", "dev": true, "license": "MIT", "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" @@ -2847,9 +2858,8 @@ }, "node_modules/asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/asn1.js": { "version": "5.4.1", @@ -2868,25 +2878,25 @@ "license": "MIT" }, "node_modules/assert": { - "version": "1.5.0", + "version": "1.5.1", "dev": true, "license": "MIT", "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "object.assign": "^4.1.4", + "util": "^0.10.4" } }, "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", + "version": "2.0.3", "dev": true, "license": "ISC" }, "node_modules/assert/node_modules/util": { - "version": "0.10.3", + "version": "0.10.4", "dev": true, "license": "MIT", "dependencies": { - "inherits": "2.0.1" + "inherits": "2.0.3" } }, "node_modules/assign-symbols": { @@ -2940,11 +2950,11 @@ "license": "ISC" }, "node_modules/babel-jest": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^29.6.4", + "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.6.3", @@ -3116,13 +3126,13 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "1.2.3", + "node_modules/bindings": { + "version": "1.5.0", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "file-uri-to-path": "1.0.0" } }, "node_modules/bluebird": { @@ -3159,6 +3169,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3186,6 +3205,18 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -3285,18 +3316,24 @@ "safe-buffer": "^5.2.0" } }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, "node_modules/browserify-zlib": { "version": "0.2.0", @@ -3431,15 +3468,6 @@ "node": ">=10.16.0" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/cacache": { "version": "12.0.4", "dev": true, @@ -3558,7 +3586,7 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001525", + "version": "1.0.30001535", "funding": [ { "type": "opencollective", @@ -3879,11 +3907,6 @@ "version": "1.1.4", "license": "MIT" }, - "node_modules/colorette": { - "version": "2.0.20", - "dev": true, - "license": "MIT" - }, "node_modules/combined-stream": { "version": "1.0.8", "license": "MIT", @@ -3934,10 +3957,6 @@ "node": ">=12.17" } }, - "node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, "node_modules/commondir": { "version": "1.0.1", "dev": true, @@ -3967,11 +3986,39 @@ "typedarray": "^0.0.6" } }, - "node_modules/consola": { - "version": "2.15.3", + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", "dev": true, "license": "MIT" }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, "node_modules/console-browserify": { "version": "1.2.0", "dev": true @@ -3993,6 +4040,26 @@ "node": ">= 0.6" } }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", @@ -4003,7 +4070,7 @@ } }, "node_modules/convert-source-map": { - "version": "2.0.0", + "version": "1.9.0", "dev": true, "license": "MIT" }, @@ -4136,6 +4203,26 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-jest": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "license": "MIT", @@ -4273,6 +4360,59 @@ "node": ">=4" } }, + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/decompress-tar/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/decompress-tar/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/decompress-tar/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/decompress-tarbz2": { "version": "4.1.1", "dev": true, @@ -4385,19 +4525,33 @@ "node": ">=0.10.0" } }, - "node_modules/define-properties": { - "version": "1.2.0", + "node_modules/define-data-property": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -4421,9 +4575,8 @@ }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4439,9 +4592,8 @@ }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -4546,18 +4698,44 @@ "stream-shift": "^1.0.0" } }, + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.508", + "version": "1.4.523", "license": "ISC" }, "node_modules/elliptic": { @@ -4604,9 +4782,8 @@ }, "node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4671,17 +4848,17 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", + "version": "1.22.2", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", @@ -4697,23 +4874,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "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.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "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.10" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -4742,7 +4919,7 @@ } }, "node_modules/es-module-lexer": { - "version": "1.3.0", + "version": "1.3.1", "license": "MIT" }, "node_modules/es-set-tostringtag": { @@ -4827,9 +5004,8 @@ }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", @@ -4880,15 +5056,15 @@ } }, "node_modules/eslint": { - "version": "8.48.0", + "version": "8.49.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@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", @@ -5178,9 +5354,8 @@ }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5383,15 +5558,15 @@ "license": "MIT" }, "node_modules/expect": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "^29.6.4", + "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3" + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5463,6 +5638,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/express/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -5472,6 +5656,24 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -5490,6 +5692,18 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -5526,6 +5740,35 @@ "node": ">= 0.8" } }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend-shallow": { "version": "3.0.2", "dev": true, @@ -5689,6 +5932,12 @@ "node": ">=4" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -5700,39 +5949,6 @@ "node": ">=8" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/find-cache-dir": { "version": "2.1.0", "dev": true, @@ -5913,7 +6129,7 @@ } }, "node_modules/flatted": { - "version": "3.2.7", + "version": "3.2.9", "dev": true, "license": "ISC" }, @@ -5926,6 +6142,33 @@ "readable-stream": "^2.3.6" } }, + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/for-each": { "version": "0.3.3", "dev": true, @@ -6005,9 +6248,8 @@ }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6021,6 +6263,33 @@ "readable-stream": "^2.0.0" } }, + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "dev": true, @@ -6039,14 +6308,6 @@ "node": ">=14.14" } }, - "node_modules/fs-extra/node_modules/universalify": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", "dev": true, @@ -6058,11 +6319,49 @@ "readable-stream": "1 || 2" } }, + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "dev": true, @@ -6432,25 +6731,31 @@ "node": ">=4" } }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, @@ -6491,9 +6796,8 @@ }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -6505,6 +6809,14 @@ "node": ">= 0.8" } }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "dev": true, @@ -7179,7 +7491,8 @@ }, "node_modules/iterare": { "version": "1.2.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", "engines": { "node": ">=6" } @@ -7201,14 +7514,14 @@ } }, "node_modules/jest": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^29.6.4", + "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", "import-local": "^3.0.2", - "jest-cli": "^29.6.4" + "jest-cli": "^29.7.0" }, "bin": { "jest": "bin/jest.js" @@ -7226,12 +7539,12 @@ } }, "node_modules/jest-changed-files": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "execa": "^5.0.0", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "p-limit": "^3.1.0" }, "engines": { @@ -7239,27 +7552,27 @@ } }, "node_modules/jest-circus": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", - "@jest/test-result": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "p-limit": "^3.1.0", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" @@ -7280,7 +7593,7 @@ } }, "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7298,21 +7611,20 @@ "license": "MIT" }, "node_modules/jest-cli": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^29.6.4", - "@jest/test-result": "^29.6.4", + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "chalk": "^4.0.0", + "create-jest": "^29.7.0", "exit": "^0.1.2", - "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "prompts": "^2.0.1", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "yargs": "^17.3.1" }, "bin": { @@ -7331,30 +7643,30 @@ } }, "node_modules/jest-config": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.4", + "@jest/test-sequencer": "^29.7.0", "@jest/types": "^29.6.3", - "babel-jest": "^29.6.4", + "babel-jest": "^29.7.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.4", - "jest-environment-node": "^29.6.4", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", "jest-get-type": "^29.6.3", "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -7405,7 +7717,7 @@ } }, "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7423,14 +7735,14 @@ "license": "MIT" }, "node_modules/jest-diff": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7448,7 +7760,7 @@ } }, "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7466,7 +7778,7 @@ "license": "MIT" }, "node_modules/jest-docblock": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7477,15 +7789,15 @@ } }, "node_modules/jest-each": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", - "jest-util": "^29.6.3", - "pretty-format": "^29.6.3" + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7503,7 +7815,7 @@ } }, "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7521,17 +7833,17 @@ "license": "MIT" }, "node_modules/jest-environment-jsdom": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/jsdom": "^20.0.0", "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", "jsdom": "^20.0.0" }, "engines": { @@ -7547,16 +7859,16 @@ } }, "node_modules/jest-environment-node": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7571,7 +7883,7 @@ } }, "node_modules/jest-haste-map": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7582,8 +7894,8 @@ "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -7595,12 +7907,12 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7618,7 +7930,7 @@ } }, "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7636,14 +7948,14 @@ "license": "MIT" }, "node_modules/jest-matcher-utils": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.6.4", + "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7661,7 +7973,7 @@ } }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7679,7 +7991,7 @@ "license": "MIT" }, "node_modules/jest-message-util": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7689,7 +8001,7 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -7709,7 +8021,7 @@ } }, "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7727,13 +8039,13 @@ "license": "MIT" }, "node_modules/jest-mock": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", - "jest-util": "^29.6.3" + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7764,16 +8076,16 @@ } }, "node_modules/jest-resolve": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", + "jest-haste-map": "^29.7.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" @@ -7783,41 +8095,41 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.6.4" + "jest-snapshot": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.6.4", - "@jest/environment": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.6.3", - "jest-environment-node": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-leak-detector": "^29.6.3", - "jest-message-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-util": "^29.6.3", - "jest-watcher": "^29.6.4", - "jest-worker": "^29.6.4", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -7826,16 +8138,16 @@ } }, "node_modules/jest-runtime": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/globals": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", @@ -7843,13 +8155,13 @@ "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -7885,7 +8197,7 @@ } }, "node_modules/jest-snapshot": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7894,20 +8206,20 @@ "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.6.4", + "expect": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.4", + "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "natural-compare": "^1.4.0", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "semver": "^7.5.3" }, "engines": { @@ -7926,7 +8238,7 @@ } }, "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7944,7 +8256,7 @@ "license": "MIT" }, "node_modules/jest-util": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7960,7 +8272,7 @@ } }, "node_modules/jest-validate": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -7969,7 +8281,7 @@ "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "leven": "^3.1.0", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7998,7 +8310,7 @@ } }, "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { @@ -8016,17 +8328,17 @@ "license": "MIT" }, "node_modules/jest-watcher": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.6.4", + "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "string-length": "^4.0.1" }, "engines": { @@ -8034,12 +8346,12 @@ } }, "node_modules/jest-worker": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -8213,14 +8525,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/keyv": { "version": "4.5.3", "dev": true, @@ -8443,6 +8747,33 @@ "readable-stream": "^2.0.1" } }, + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -8500,15 +8831,14 @@ "license": "MIT" }, "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "version": "2.6.0", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, "node_modules/mime-db": { @@ -8679,6 +9009,12 @@ "node": ">= 6.0.0" } }, + "node_modules/nan": { + "version": "2.18.0", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/nanoid": { "version": "3.3.6", "funding": [ @@ -8737,9 +9073,8 @@ }, "node_modules/negotiator": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8864,6 +9199,28 @@ "dev": true, "license": "MIT" }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/node-releases": { "version": "2.0.13", "license": "MIT" @@ -9091,18 +9448,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "dev": true, @@ -9197,6 +9542,33 @@ "readable-stream": "^2.1.5" } }, + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "dev": true, @@ -9250,9 +9622,8 @@ }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -9320,8 +9691,9 @@ }, "node_modules/path-to-regexp": { "version": "3.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", + "dev": true }, "node_modules/path-type": { "version": "4.0.0", @@ -9656,7 +10028,7 @@ } }, "node_modules/pure-rand": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "funding": [ { @@ -9737,9 +10109,8 @@ }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9759,6 +10130,15 @@ "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -9801,29 +10181,18 @@ "license": "MIT" }, "node_modules/readable-stream": { - "version": "2.3.8", + "version": "3.6.2", "dev": true, "license": "MIT", "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" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/readdirp": { "version": "3.6.0", "dev": true, @@ -9865,7 +10234,8 @@ }, "node_modules/reflect-metadata": { "version": "0.1.13", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "peer": true }, "node_modules/regenerator-runtime": { @@ -9886,13 +10256,13 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", + "version": "1.5.1", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -9942,7 +10312,7 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.4", + "version": "1.22.6", "dev": true, "license": "MIT", "dependencies": { @@ -10041,7 +10411,7 @@ } }, "node_modules/rollup": { - "version": "3.28.1", + "version": "3.29.2", "license": "MIT", "peer": true, "bin": { @@ -10087,7 +10457,8 @@ }, "node_modules/rxjs": { "version": "7.8.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "peer": true, "dependencies": { "tslib": "^2.1.0" @@ -10095,16 +10466,17 @@ }, "node_modules/rxjs/node_modules/tslib": { "version": "2.6.2", - "license": "0BSD", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true }, "node_modules/safe-array-concat": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -10116,21 +10488,7 @@ } }, "node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "version": "5.1.2", "license": "MIT" }, "node_modules/safe-regex": { @@ -10207,6 +10565,11 @@ "seek-table": "bin/seek-bzip-table" } }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, "node_modules/semver": { "version": "7.5.4", "dev": true, @@ -10234,9 +10597,8 @@ }, "node_modules/send": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -10258,24 +10620,51 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { "version": "6.0.1", @@ -10286,9 +10675,8 @@ }, "node_modules/serve-static": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -10299,14 +10687,27 @@ "node": ">= 0.8.0" } }, - "node_modules/set-value": { + "node_modules/set-function-name": { "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "engines": { @@ -10339,9 +10740,8 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sha.js": { "version": "2.4.11", @@ -10785,15 +11185,6 @@ "node": ">=0.10.0" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "dev": true, @@ -10814,6 +11205,33 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-each": { "version": "1.2.3", "dev": true, @@ -10835,6 +11253,33 @@ "xtend": "^4.0.0" } }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-read-all": { "version": "3.0.1", "license": "MIT", @@ -10865,16 +11310,30 @@ } }, "node_modules/string_decoder": { - "version": "1.1.1", + "version": "1.3.0", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, "node_modules/string-length": { @@ -10945,13 +11404,13 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", + "version": "1.2.8", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -10961,26 +11420,26 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", + "version": "1.0.7", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", + "version": "1.0.7", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11062,18 +11521,6 @@ "node": ">=6.4.0 <13 || >=14" } }, - "node_modules/superagent/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/supertest": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", @@ -11154,20 +11601,12 @@ } }, "node_modules/tar-stream": { - "version": "1.6.2", - "dev": true, + "version": "3.1.6", "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, "node_modules/terser": { @@ -11243,6 +11682,10 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "license": "BSD-3-Clause", @@ -11309,6 +11752,33 @@ "xtend": "~4.0.1" } }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/timers-browserify": { "version": "2.0.12", "dev": true, @@ -11392,9 +11862,8 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6" } @@ -11413,6 +11882,14 @@ "node": ">=6" } }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/tr46": { "version": "3.0.0", "dev": true, @@ -11527,6 +12004,11 @@ "node": ">=6.9.0" } }, + "node_modules/ts-loader-webpack-4/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { "version": "0.5.0", "dev": true, @@ -11539,6 +12021,28 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, + "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/ts-loader-webpack-4/node_modules/tapable": { "version": "1.1.3", "dev": true, @@ -11711,7 +12215,7 @@ } }, "node_modules/ua-parser-js": { - "version": "1.0.35", + "version": "1.0.36", "funding": [ { "type": "opencollective", @@ -11720,6 +12224,10 @@ { "type": "paypal", "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } ], "license": "MIT", @@ -11729,7 +12237,8 @@ }, "node_modules/uid": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", "dependencies": { "@lukeed/csprng": "^1.0.0" }, @@ -11799,18 +12308,17 @@ } }, "node_modules/universalify": { - "version": "0.2.0", + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -11915,12 +12423,12 @@ "license": "MIT" }, "node_modules/url": { - "version": "0.11.1", + "version": "0.11.3", "dev": true, "license": "MIT", "dependencies": { "punycode": "^1.4.1", - "qs": "^6.11.0" + "qs": "^6.11.2" } }, "node_modules/url-parse": { @@ -11965,9 +12473,8 @@ }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -11985,16 +12492,10 @@ "node": ">=10.12.0" } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12210,6 +12711,23 @@ "node": ">=0.10.0" } }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", "dev": true, @@ -12277,6 +12795,12 @@ "node": ">=0.10.0" } }, + "node_modules/watchpack-chokidar2/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", "dev": true, @@ -12301,6 +12825,21 @@ "node": ">=0.10.0" } }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", "dev": true, @@ -12315,6 +12854,15 @@ "node": ">=0.10" } }, + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { "version": "2.1.1", "dev": true, @@ -12383,7 +12931,7 @@ }, "node_modules/webpack-4": { "name": "webpack", - "version": "4.46.0", + "version": "4.47.0", "dev": true, "license": "MIT", "dependencies": { @@ -12590,6 +13138,11 @@ "node": ">=0.10.0" } }, + "node_modules/webpack-4/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, "node_modules/webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", "dev": true, @@ -12681,6 +13234,11 @@ "node": ">=0.10.0" } }, + "node_modules/webpack-4/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, "node_modules/webpack-4/node_modules/loader-runner": { "version": "2.4.0", "dev": true, @@ -12725,8 +13283,22 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/schema-utils": { - "version": "1.0.0", + "node_modules/webpack-4/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { @@ -12754,6 +13326,14 @@ "node": ">=0.10.0" } }, + "node_modules/webpack-4/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/webpack-4/node_modules/tapable": { "version": "1.1.3", "dev": true, @@ -12826,7 +13406,7 @@ } }, "node_modules/webpack-4/node_modules/webpack": { - "version": "4.46.0", + "version": "4.47.0", "dev": true, "license": "MIT", "peer": true, @@ -12927,6 +13507,11 @@ } } }, + "node_modules/webpack-cli/node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, "node_modules/webpack-cli/node_modules/commander": { "version": "10.0.1", "dev": true, @@ -13194,7 +13779,7 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.13.0", + "version": "8.14.1", "dev": true, "license": "MIT", "engines": { @@ -13407,659 +13992,18865 @@ "react": ">=16.8.0" } }, - "packages/sdk-core": { - "name": "@backtrace-labs/sdk-core", - "version": "0.0.5", + "packages/react-native": { + "name": "@backtrace-labs/react-native", + "version": "0.0.1", "license": "MIT", + "dependencies": { + "@backtrace-labs/react": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.4" + }, "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "@react-native-community/eslint-config": "^3.0.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + }, + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "tools/cli": { - "name": "@backtrace-labs/javascript-cli", - "version": "0.1.2", + "packages/react-native/node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "bin": { - "backtrace-js": "lib/index.js" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, - "devDependencies": { - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "@types/fs-extra": "^11.0.1", - "fs-extra": "^11.1.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/@babel/code-frame": { + "version": "7.22.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" } }, - "tools/rollup-plugin": { - "name": "@backtrace-labs/rollup-plugin", - "version": "0.0.2", + "packages/react-native/node_modules/@babel/compat-data": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/core": { + "version": "7.22.20", + "dev": true, "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0" + "@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" }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "packages/react-native/node_modules/@babel/eslint-parser": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" }, "engines": { - "node": ">=14" + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { - "rollup": "^3.26.3" + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" } }, - "tools/sourcemap-tools": { - "name": "@backtrace-labs/sourcemap-tools", - "version": "0.1.0", + "packages/react-native/node_modules/@babel/generator": { + "version": "7.22.15", + "dev": true, "license": "MIT", "dependencies": { - "tar-stream": "^3.1.6" + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, - "devDependencies": { - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "@types/tar-stream": "^2.2.2", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" } }, - "tools/sourcemap-tools/node_modules/tar-stream": { - "version": "3.1.6", + "packages/react-native/node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "dev": true, "license": "MIT", "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "tools/vite-plugin": { - "name": "@backtrace-labs/vite-plugin", - "version": "0.0.2", + "packages/react-native/node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "dev": true, "license": "MIT", "dependencies": { - "@backtrace-labs/rollup-plugin": "^0.0.2" + "@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" }, - "devDependencies": { - "typescript": "^5.0.4" + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" }, "peerDependencies": { - "vite": "^4.4.9" + "@babel/core": "^7.0.0" } }, - "tools/webpack-plugin": { - "name": "@backtrace-labs/webpack-plugin", - "version": "0.0.2", + "packages/react-native/node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "dev": true, "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "^5.85.0 || ^4.46.0" - } - } - }, - "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.1", - "requires": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" - }, - "dependencies": { - "typical": { - "version": "7.1.1" - } + "@babel/core": "^7.0.0" } }, - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", + "packages/react-native/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "license": "MIT", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "@babel/code-frame": { - "version": "7.22.13", + "packages/react-native/node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { + "version": "1.22.6", "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, + "license": "MIT", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@babel/compat-data": { - "version": "7.22.9", - "dev": true + "packages/react-native/node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/core": { - "version": "7.22.15", + "packages/react-native/node_modules/@babel/helper-function-name": { + "version": "7.22.5", "dev": true, - "requires": { - "@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.15", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.15", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "dev": true - }, - "json5": { - "version": "2.2.3", - "dev": true - }, - "semver": { - "version": "6.3.1", - "dev": true - } + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/generator": { + "packages/react-native/node_modules/@babel/helper-member-expression-to-functions": { "version": "7.22.15", "dev": true, - "requires": { - "@babel/types": "^7.22.15", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-compilation-targets": { + "packages/react-native/node_modules/@babel/helper-module-imports": { "version": "7.22.15", "dev": true, - "requires": { - "@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" - }, + "license": "MIT", "dependencies": { - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true - } + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "dev": true + "packages/react-native/node_modules/@babel/helper-module-transforms": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "@babel/helper-function-name": { + "packages/react-native/node_modules/@babel/helper-optimise-call-expression": { "version": "7.22.5", "dev": true, - "requires": { - "@babel/template": "^7.22.5", + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-hoist-variables": { + "packages/react-native/node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-imports": { - "version": "7.22.15", + "packages/react-native/node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", "dev": true, - "requires": { - "@babel/types": "^7.22.15" + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-module-transforms": { - "version": "7.22.15", + "packages/react-native/node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@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.15" + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-plugin-utils": { + "packages/react-native/node_modules/@babel/helper-simple-access": { "version": "7.22.5", - "dev": true + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-simple-access": { + "packages/react-native/node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { + "packages/react-native/node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-string-parser": { + "packages/react-native/node_modules/@babel/helper-string-parser": { "version": "7.22.5", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.15", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-validator-option": { - "version": "7.22.15", - "dev": true + "packages/react-native/node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helpers": { + "packages/react-native/node_modules/@babel/helper-validator-option": { "version": "7.22.15", "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/highlight": { - "version": "7.22.13", + "packages/react-native/node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/parser": { + "packages/react-native/node_modules/@babel/helpers": { "version": "7.22.15", - "dev": true + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", + "packages/react-native/node_modules/@babel/highlight": { + "version": "7.22.20", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", + "packages/react-native/node_modules/@babel/parser": { + "version": "7.22.16", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", + "packages/react-native/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", + "packages/react-native/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", + "packages/react-native/node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", + "packages/react-native/node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", + "packages/react-native/node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.22.17", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", + "packages/react-native/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", + "packages/react-native/node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", + "packages/react-native/node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", + "packages/react-native/node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", + "packages/react-native/node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", + "packages/react-native/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", + "packages/react-native/node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/runtime": { - "version": "7.22.15", + "packages/react-native/node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { - "version": "7.22.15", + "packages/react-native/node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/traverse": { - "version": "7.22.15", + "packages/react-native/node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", - "@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.15", - "@babel/types": "^7.22.15", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "dev": true, + "license": "MIT", "dependencies": { - "globals": { - "version": "11.12.0", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/react-native/node_modules/@babel/preset-env": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/preset-flow": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "packages/react-native/node_modules/@babel/preset-react": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/preset-typescript": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/register": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/@babel/regjsgen": { + "version": "0.8.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@babel/runtime": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@babel/template": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/traverse": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@babel/types": { + "version": "7.22.19", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.19", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/@backtrace-labs/browser": { + "version": "0.0.4", + "license": "MIT", + "dependencies": { + "@backtrace-labs/sdk-core": "^0.0.4", + "ua-parser-js": "^1.0.35" + } + }, + "packages/react-native/node_modules/@backtrace-labs/react": { + "version": "0.0.4", + "license": "MIT", + "dependencies": { + "@backtrace-labs/browser": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.4" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "packages/react-native/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.4", + "license": "MIT" + }, + "packages/react-native/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "packages/react-native/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/@eslint-community/regexpp": { + "version": "4.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "packages/react-native/node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/@eslint/js": { + "version": "8.49.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "packages/react-native/node_modules/@hapi/hoek": { + "version": "9.3.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "packages/react-native/node_modules/@hapi/topo": { + "version": "5.1.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "packages/react-native/node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "packages/react-native/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "packages/react-native/node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause", + "peer": true + }, + "packages/react-native/node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/@jest/environment": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/@jest/fake-timers": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/@jest/schemas": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/@jest/types": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "packages/react-native/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "packages/react-native/node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "packages/react-native/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-clean": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-config": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-server-api": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "7.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@react-native-community/cli-types": { + "version": "11.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "joi": "^17.2.1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/@react-native-community/cli/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@react-native-community/eslint-config": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.14.0", + "@babel/eslint-parser": "^7.18.2", + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" + } + }, + "packages/react-native/node_modules/@react-native-community/eslint-plugin": { + "version": "1.3.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native/assets-registry": { + "version": "0.72.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native/codegen": { + "version": "0.72.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "packages/react-native/node_modules/@react-native/gradle-plugin": { + "version": "0.72.11", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native/js-polyfills": { + "version": "0.72.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native/normalize-colors": { + "version": "0.72.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@react-native/virtualized-lists": { + "version": "0.72.8", + "dev": true, + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "react-native": "*" + } + }, + "packages/react-native/node_modules/@sideway/address": { + "version": "4.1.4", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "packages/react-native/node_modules/@sideway/formula": { + "version": "3.0.1", + "dev": true, + "license": "BSD-3-Clause" + }, + "packages/react-native/node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "packages/react-native/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "packages/react-native/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "packages/react-native/node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "packages/react-native/node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "packages/react-native/node_modules/@types/json-schema": { + "version": "7.0.13", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/node": { + "version": "20.6.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/parse-json": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/prop-types": { + "version": "15.7.5", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/react": { + "version": "17.0.65", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "packages/react-native/node_modules/@types/react-native": { + "version": "0.70.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "packages/react-native/node_modules/@types/scheduler": { + "version": "0.16.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/semver": { + "version": "7.5.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/stack-utils": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/yargs": { + "version": "17.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "packages/react-native/node_modules/@types/yargs-parser": { + "version": "21.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "license": "BSD-2-Clause", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/react-native/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "license": "BSD-2-Clause", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/react-native/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/abort-controller": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "packages/react-native/node_modules/accepts": { + "version": "1.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/acorn": { + "version": "8.10.0", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "packages/react-native/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "packages/react-native/node_modules/aggregate-error": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/react-native/node_modules/anser": { + "version": "1.4.10", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/ansi-fragments": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "packages/react-native/node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/appdirsjs": { + "version": "1.2.7", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0", + "peer": true + }, + "packages/react-native/node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/array-includes": { + "version": "3.1.7", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "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" + } + }, + "packages/react-native/node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/asap": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/ast-types": { + "version": "0.15.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/astral-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/async": { + "version": "3.2.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/async-limiter": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/asynciterator.prototype": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "packages/react-native/node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "packages/react-native/node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "packages/react-native/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "packages/react-native/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "packages/react-native/node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "packages/react-native/node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "packages/react-native/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "packages/react-native/node_modules/bl": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "packages/react-native/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "packages/react-native/node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/browserslist": { + "version": "4.21.10", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "packages/react-native/node_modules/bser": { + "version": "2.1.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "packages/react-native/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "packages/react-native/node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/bytes": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/caller-callsite": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/caller-path": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/caniuse-lite": { + "version": "1.0.30001535", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "packages/react-native/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/ci-info": { + "version": "3.8.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/clean-stack": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/cli-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/cli-spinners": { + "version": "2.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "packages/react-native/node_modules/clone": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "packages/react-native/node_modules/clone-deep": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "packages/react-native/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/colorette": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/command-exists": { + "version": "1.2.9", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/commander": { + "version": "9.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "packages/react-native/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/compressible": { + "version": "2.0.18", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/compression": { + "version": "1.7.4", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/connect": { + "version": "3.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "packages/react-native/node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/core-js-compat": { + "version": "3.32.2", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "packages/react-native/node_modules/core-util-is": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/cosmiconfig": { + "version": "5.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "packages/react-native/node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "packages/react-native/node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/csstype": { + "version": "3.1.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/dayjs": { + "version": "1.11.9", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "packages/react-native/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/dedent": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/deepmerge": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/define-data-property": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/del": { + "version": "6.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/denodeify": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/depd": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/deprecated-react-native-prop-types": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "packages/react-native/node_modules/destroy": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "packages/react-native/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/ee-first": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/electron-to-chromium": { + "version": "1.4.523", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/encodeurl": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "packages/react-native/node_modules/envinfo": { + "version": "7.10.0", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/error-ex": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "packages/react-native/node_modules/error-stack-parser": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "packages/react-native/node_modules/errorhandler": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/es-abstract": { + "version": "1.22.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/es-iterator-helpers": { + "version": "1.0.15", + "dev": true, + "license": "MIT", + "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" + } + }, + "packages/react-native/node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + } + }, + "packages/react-native/node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/escape-html": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "packages/react-native/node_modules/eslint": { + "version": "8.49.0", + "dev": true, + "license": "MIT", + "peer": true, + "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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/eslint-config-prettier": { + "version": "8.10.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "packages/react-native/node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "packages/react-native/node_modules/eslint-plugin-ft-flow": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "@babel/eslint-parser": "^7.12.0", + "eslint": "^8.1.0" + } + }, + "packages/react-native/node_modules/eslint-plugin-jest": { + "version": "26.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "packages/react-native/node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "packages/react-native/node_modules/eslint-plugin-react": { + "version": "7.33.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "packages/react-native/node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "packages/react-native/node_modules/eslint-plugin-react-native": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-plugin-react-native-globals": "^0.1.1" + }, + "peerDependencies": { + "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "packages/react-native/node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "packages/react-native/node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "packages/react-native/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/eslint/node_modules/globals": { + "version": "13.21.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/react-native/node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "packages/react-native/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "packages/react-native/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "packages/react-native/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/etag": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/event-target-shim": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/execa": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "packages/react-native/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/fast-diff": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0" + }, + "packages/react-native/node_modules/fast-glob": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "packages/react-native/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "packages/react-native/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/fast-xml-parser": { + "version": "4.2.7", + "dev": true, + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "packages/react-native/node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "packages/react-native/node_modules/fb-watchman": { + "version": "2.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "packages/react-native/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "packages/react-native/node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/finalhandler": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/find-cache-dir": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/flat-cache": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "packages/react-native/node_modules/flatted": { + "version": "3.2.9", + "dev": true, + "license": "ISC", + "peer": true + }, + "packages/react-native/node_modules/flow-enums-runtime": { + "version": "0.0.5", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/flow-parser": { + "version": "0.206.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "packages/react-native/node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "packages/react-native/node_modules/fresh": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/fs-extra": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "packages/react-native/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/fsevents": { + "version": "2.3.3", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "packages/react-native/node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "packages/react-native/node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "packages/react-native/node_modules/get-intrinsic": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/get-stream": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/get-symbol-description": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/react-native/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "packages/react-native/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/has": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "packages/react-native/node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/has-tostringtag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/hermes-estree": { + "version": "0.12.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/hermes-parser": { + "version": "0.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.12.0" + } + }, + "packages/react-native/node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/http-errors": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/human-signals": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "packages/react-native/node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "packages/react-native/node_modules/ignore": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "packages/react-native/node_modules/image-size": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "packages/react-native/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "packages/react-native/node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "packages/react-native/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/invariant": { + "version": "2.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "packages/react-native/node_modules/ip": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/is-absolute": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-array-buffer": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/is-async-function": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-core-module": { + "version": "2.13.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-directory": { + "version": "0.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-finalizationregistry": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/is-generator-function": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-git-dirty": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^4.0.3", + "is-git-repository": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/is-git-dirty/node_modules/execa": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "packages/react-native/node_modules/is-git-dirty/node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/is-git-dirty/node_modules/human-signals": { + "version": "1.1.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "packages/react-native/node_modules/is-git-repository": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^4.0.3", + "is-absolute": "^1.0.0" + } + }, + "packages/react-native/node_modules/is-git-repository/node_modules/execa": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "packages/react-native/node_modules/is-git-repository/node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/is-git-repository/node_modules/human-signals": { + "version": "1.1.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "packages/react-native/node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/is-map": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "packages/react-native/node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-path-cwd": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-relative": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-set": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-typed-array": { + "version": "1.1.12", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-unc-path": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/is-weakmap": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-weakset": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/is-wsl": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/iterator.prototype": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "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" + } + }, + "packages/react-native/node_modules/jest-environment-node": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-get-type": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-message-util": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-mock": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-regex-util": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/react-native/node_modules/jest-util": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-validate": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-worker": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "packages/react-native/node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/react-native/node_modules/jetifier": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "jetifier": "bin/jetify", + "jetifier-standalone": "bin/jetifier-standalone", + "jetify": "bin/jetify" + } + }, + "packages/react-native/node_modules/joi": { + "version": "17.10.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "packages/react-native/node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "packages/react-native/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "packages/react-native/node_modules/jsc-android": { + "version": "250231.0.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "packages/react-native/node_modules/jsc-safe-url": { + "version": "0.2.4", + "dev": true, + "license": "0BSD" + }, + "packages/react-native/node_modules/jscodeshift": { + "version": "0.14.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "packages/react-native/node_modules/jscodeshift/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/jscodeshift/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/jscodeshift/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/jscodeshift/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/jscodeshift/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jscodeshift/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/json-parse-better-errors": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/jsonfile": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "packages/react-native/node_modules/jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "packages/react-native/node_modules/keyv": { + "version": "4.5.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "packages/react-native/node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/kleur": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/leven": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/lodash.debounce": { + "version": "4.0.8", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/lodash.throttle": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/logkitty": { + "version": "0.7.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/camelcase": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "packages/react-native/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "packages/react-native/node_modules/make-dir": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "packages/react-native/node_modules/makeerror": { + "version": "1.0.12", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "packages/react-native/node_modules/memoize-one": { + "version": "5.2.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/metro": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-babel-transformer": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-cache": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-cache-key": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-config": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-config/node_modules/metro-runtime": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-core": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-file-map": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/@jest/types": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/@types/yargs": { + "version": "16.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/jest-util": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/react-native/node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/metro-file-map/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/metro-inspector-proxy": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-inspector-proxy/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/metro-inspector-proxy/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "7.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "packages/react-native/node_modules/metro-minify-terser": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "terser": "^5.15.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-minify-uglify": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "uglify-es": "^3.1.9" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-react-native-babel-preset": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "packages/react-native/node_modules/metro-react-native-babel-transformer": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "packages/react-native/node_modules/metro-resolver": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-runtime": { + "version": "0.76.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-source-map": { + "version": "0.76.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-source-map/node_modules/metro-symbolicate": { + "version": "0.76.8", + "dev": true, + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/metro-symbolicate": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-symbolicate/node_modules/metro-source-map": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-symbolicate/node_modules/ob1": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/metro-transform-plugins": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-transform-worker": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-transform-worker/node_modules/metro-source-map": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-transform-worker/node_modules/ob1": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro-transform-worker/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/metro/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/metro/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/metro/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/metro/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/metro/node_modules/metro-runtime": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro/node_modules/metro-source-map": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/metro/node_modules/ob1": { + "version": "0.76.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/metro/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/metro/node_modules/ws": { + "version": "7.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "packages/react-native/node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "packages/react-native/node_modules/mime": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "packages/react-native/node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "packages/react-native/node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/mkdirp": { + "version": "0.5.6", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "packages/react-native/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/negotiator": { + "version": "0.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/nocache": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "packages/react-native/node_modules/node-abort-controller": { + "version": "3.1.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/node-dir": { + "version": "0.1.17", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "packages/react-native/node_modules/node-fetch": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "packages/react-native/node_modules/node-int64": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/node-releases": { + "version": "2.0.13", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/node-stream-zip": { + "version": "1.15.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "packages/react-native/node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/npm-run-path": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/nullthrows": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/ob1": { + "version": "0.76.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "packages/react-native/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/object.entries": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/object.fromentries": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/object.hasown": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/object.values": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/on-finished": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/on-headers": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "packages/react-native/node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/open": { + "version": "6.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/optionator": { + "version": "0.9.3", + "dev": true, + "license": "MIT", + "peer": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/ora": { + "version": "5.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/p-map": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/parse-json": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/parseurl": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "packages/react-native/node_modules/pify": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/pirates": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "packages/react-native/node_modules/pkg-dir": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/pod-install": { + "version": "0.1.39", + "dev": true, + "license": "MIT", + "bin": { + "pod-install": "build/index.js" + } + }, + "packages/react-native/node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/prettier": { + "version": "2.8.8", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "packages/react-native/node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/@jest/types": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/@types/yargs": { + "version": "15.0.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/pretty-format/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/pretty-format/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/promise": { + "version": "8.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "packages/react-native/node_modules/prompts": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "packages/react-native/node_modules/prop-types": { + "version": "15.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "packages/react-native/node_modules/pump": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "packages/react-native/node_modules/punycode": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/queue": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "packages/react-native/node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "packages/react-native/node_modules/range-parser": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/react-devtools-core": { + "version": "4.28.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "packages/react-native/node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "packages/react-native/node_modules/react-is": { + "version": "16.13.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/react-native": { + "version": "0.72.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": "18.2.0" + } + }, + "packages/react-native/node_modules/react-native-builder-bob": { + "version": "0.21.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.18.5", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/preset-env": "^7.18.2", + "@babel/preset-flow": "^7.17.12", + "@babel/preset-react": "^7.17.12", + "@babel/preset-typescript": "^7.17.12", + "browserslist": "^4.20.4", + "cosmiconfig": "^7.0.1", + "cross-spawn": "^7.0.3", + "dedent": "^0.7.0", + "del": "^6.1.1", + "fs-extra": "^10.1.0", + "glob": "^8.0.3", + "is-git-dirty": "^2.0.1", + "json5": "^2.2.1", + "kleur": "^4.1.4", + "prompts": "^2.4.2", + "which": "^2.0.2", + "yargs": "^17.5.1" + }, + "bin": { + "bob": "bin/bob" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "jetifier": "^2.0.0" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/cosmiconfig": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/fs-extra": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/kleur": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/universalify": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/yaml": { + "version": "1.10.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "packages/react-native/node_modules/react-refresh": { + "version": "0.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/react-shallow-renderer": { + "version": "16.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "packages/react-native/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "packages/react-native/node_modules/readline": { + "version": "1.3.0", + "dev": true, + "license": "BSD" + }, + "packages/react-native/node_modules/recast": { + "version": "0.21.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "packages/react-native/node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/regenerate": { + "version": "1.4.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/regenerator-transform": { + "version": "0.15.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "packages/react-native/node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/regexpu-core": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/regjsparser": { + "version": "0.9.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "packages/react-native/node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "packages/react-native/node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/require-main-filename": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/resolve": { + "version": "2.0.0-next.4", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/restore-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/react-native/node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "packages/react-native/node_modules/safe-array-concat": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "packages/react-native/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "packages/react-native/node_modules/send": { + "version": "0.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/react-native/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/send/node_modules/mime": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/send/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/serialize-error": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/serve-static": { + "version": "1.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/set-function-name": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/setprototypeof": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/shallow-clone": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/shell-quote": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/sisteransi": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/slice-ansi": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/source-map": { + "version": "0.7.4", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/source-map-support": { + "version": "0.5.21", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "packages/react-native/node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "packages/react-native/node_modules/stack-utils": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/stackframe": { + "version": "1.3.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/stacktrace-parser": { + "version": "0.1.10", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/statuses": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "packages/react-native/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "packages/react-native/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "packages/react-native/node_modules/string-natural-compare": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/string.prototype.matchall": { + "version": "4.0.10", + "dev": true, + "license": "MIT", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/string.prototype.trim": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/strip-final-newline": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/react-native/node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/react-native/node_modules/strnum": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/sudo-prompt": { + "version": "9.2.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/temp": { + "version": "0.8.4", + "dev": true, + "license": "MIT", + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/react-native/node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "packages/react-native/node_modules/terser": { + "version": "5.19.4", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "packages/react-native/node_modules/throat": { + "version": "5.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/through2": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "packages/react-native/node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "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" + } + }, + "packages/react-native/node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "packages/react-native/node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "packages/react-native/node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "packages/react-native/node_modules/toidentifier": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "packages/react-native/node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "packages/react-native/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "packages/react-native/node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "packages/react-native/node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/react-native/node_modules/type-detect": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/type-fest": { + "version": "0.7.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "packages/react-native/node_modules/typed-array-buffer": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "packages/react-native/node_modules/typed-array-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/typescript": { + "version": "5.2.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "packages/react-native/node_modules/ua-parser-js": { + "version": "1.0.36", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "engines": { + "node": "*" + } + }, + "packages/react-native/node_modules/uglify-es": { + "version": "3.3.9", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "packages/react-native/node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/unc-path-regex": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "packages/react-native/node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "packages/react-native/node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "packages/react-native/node_modules/unpipe": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/update-browserslist-db": { + "version": "1.0.11", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "packages/react-native/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "packages/react-native/node_modules/use-sync-external-store": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "packages/react-native/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/utils-merge": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "packages/react-native/node_modules/vary": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "packages/react-native/node_modules/vlq": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "packages/react-native/node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "packages/react-native/node_modules/webidl-conversions": { + "version": "3.0.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "packages/react-native/node_modules/whatwg-fetch": { + "version": "3.6.19", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/whatwg-url": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "packages/react-native/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "packages/react-native/node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/which-builtin-type": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/which-collection": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/which-module": { + "version": "2.0.1", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/which-typed-array": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/react-native/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "packages/react-native/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/react-native/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "packages/react-native/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/write-file-atomic": { + "version": "2.4.3", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "packages/react-native/node_modules/ws": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "packages/react-native/node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "packages/react-native/node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/yaml": { + "version": "2.3.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "packages/react-native/node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "packages/react-native/node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "packages/react-native/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/sdk-core": { + "name": "@backtrace-labs/sdk-core", + "version": "0.0.5", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "tools/cli": { + "name": "@backtrace-labs/javascript-cli", + "version": "0.1.2", + "license": "MIT", + "dependencies": { + "@backtrace-labs/sourcemap-tools": "^0.1.0", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" + }, + "bin": { + "backtrace-js": "lib/index.js" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "@types/fs-extra": "^11.0.1", + "fs-extra": "^11.1.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + } + }, + "tools/rollup-plugin": { + "name": "@backtrace-labs/rollup-plugin", + "version": "0.0.2", + "license": "MIT", + "dependencies": { + "@backtrace-labs/sourcemap-tools": "^0.1.0" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "^3.26.3" + } + }, + "tools/sourcemap-tools": { + "name": "@backtrace-labs/sourcemap-tools", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "tar-stream": "^3.1.6" + }, + "devDependencies": { + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "@types/tar-stream": "^2.2.2", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "source-map": "^0.7.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + } + }, + "tools/vite-plugin": { + "name": "@backtrace-labs/vite-plugin", + "version": "0.0.2", + "license": "MIT", + "dependencies": { + "@backtrace-labs/rollup-plugin": "^0.0.2" + }, + "devDependencies": { + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vite": "^4.4.9" + } + }, + "tools/webpack-plugin": { + "name": "@backtrace-labs/webpack-plugin", + "version": "0.0.2", + "license": "MIT", + "dependencies": { + "@backtrace-labs/sourcemap-tools": "^0.1.0" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "webpack": "^5.85.0 || ^4.46.0" + } + } + }, + "dependencies": { + "@75lb/deep-merge": { + "version": "1.1.1", + "requires": { + "lodash.assignwith": "^4.2.0", + "typical": "^7.1.1" + }, + "dependencies": { + "typical": { + "version": "7.1.1" + } + } + }, + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.13", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.22.20", + "dev": true + }, + "@babel/core": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "dev": true + }, + "semver": { + "version": "6.3.1", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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-plugin-utils": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.15", + "dev": true + }, + "@babel/helpers": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/highlight": { + "version": "7.22.20", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.22.16", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/runtime": { + "version": "7.22.15", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.22.19", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.19", + "to-fast-properties": "^2.0.0" + } + }, + "@backtrace-labs/browser": { + "version": "file:packages/browser", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.5", + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "ua-parser-js": "^1.0.35", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + } + }, + "@backtrace-labs/javascript-cli": { + "version": "file:tools/cli", + "requires": { + "@backtrace-labs/sourcemap-tools": "^0.1.0", + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "@types/fs-extra": "^11.0.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "fs-extra": "^11.1.1", + "glob": "^10.3.3", + "jest": "^29.5.0", + "jsonc": "^2.0.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "@backtrace-labs/nestjs": { + "version": "file:packages/nestjs", + "requires": { + "@backtrace-labs/node": "^0.0.4", + "@nestjs/core": "^9", + "@nestjs/platform-express": "^9", + "@nestjs/testing": "^9", + "@types/express": "^4.17.18", + "@types/jest": "^29.5.1", + "@types/supertest": "^2.0.13", + "jest": "^29.5.0", + "supertest": "^6.3.3", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + } + }, + "@backtrace-labs/node": { + "version": "file:packages/node", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.5", + "@types/jest": "^29.5.1", + "form-data": "^4.0.0", + "jest": "^29.5.0", + "native-reg": "^1.1.1", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + } + }, + "@backtrace-labs/react": { + "version": "file:packages/react", + "requires": { + "@backtrace-labs/browser": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.5", + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" + } + }, + "@backtrace-labs/react-native": { + "version": "file:packages/react-native", + "requires": { + "@backtrace-labs/react": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.4", + "@react-native-community/eslint-config": "^3.0.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "peer": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.13", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.22.20", + "dev": true + }, + "@babel/core": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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": { + "version": "7.22.15", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "resolve": { + "version": "1.22.6", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.15", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/highlight": { + "version": "7.22.20", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.16", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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-async-generator-functions": { + "version": "7.20.7", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.22.17", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "dev": true, + "requires": { + "@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-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "dev": true, + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "dev": true, + "requires": { + "@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": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "dev": true, + "requires": { + "@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": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.11", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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-jsx-development": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.10", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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-flow": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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": { + "version": "7.22.15", + "dev": true, + "requires": { + "@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/register": { + "version": "7.22.15", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "dev": true + }, + "@babel/runtime": { + "version": "7.22.15", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.0", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.22.20", + "dev": true, + "requires": { + "@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": { + "version": "7.22.19", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.19", + "to-fast-properties": "^2.0.0" + } + }, + "@backtrace-labs/browser": { + "version": "0.0.4", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.4", + "ua-parser-js": "^1.0.35" + } + }, + "@backtrace-labs/react": { + "version": "0.0.4", + "requires": { + "@backtrace-labs/browser": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.4" + } + }, + "@backtrace-labs/sdk-core": { + "version": "0.0.4" + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.8.1", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "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" + }, + "dependencies": { + "globals": { + "version": "13.21.0", + "dev": true, + "peer": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true, + "peer": true + } + } + }, + "@eslint/js": { + "version": "8.49.0", + "dev": true, + "peer": true + }, + "@hapi/hoek": { + "version": "9.3.0", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.11", + "dev": true, + "peer": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "peer": true + }, + "@jest/create-cache-key-function": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3" + } + }, + "@jest/environment": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.3", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@react-native-community/cli": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@react-native-community/cli-clean": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-config": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "dev": true, + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-doctor": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@react-native-community/cli-hermes": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-android": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "metro-runtime": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-server-api": { + "version": "11.3.6", + "dev": true, + "requires": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + }, + "dependencies": { + "ws": { + "version": "7.5.9", + "dev": true, + "requires": {} + } + } + }, + "@react-native-community/cli-tools": { + "version": "11.3.6", + "dev": true, + "requires": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@react-native-community/cli-types": { + "version": "11.3.6", + "dev": true, + "requires": { + "joi": "^17.2.1" + } + }, + "@react-native-community/eslint-config": { + "version": "3.2.0", + "dev": true, + "requires": { + "@babel/core": "^7.14.0", + "@babel/eslint-parser": "^7.18.2", + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + } + }, + "@react-native-community/eslint-plugin": { + "version": "1.3.0", + "dev": true + }, + "@react-native/assets-registry": { + "version": "0.72.0", + "dev": true + }, + "@react-native/codegen": { + "version": "0.72.7", + "dev": true, + "requires": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + } + }, + "@react-native/gradle-plugin": { + "version": "0.72.11", + "dev": true + }, + "@react-native/js-polyfills": { + "version": "0.72.1", + "dev": true + }, + "@react-native/normalize-colors": { + "version": "0.72.0", + "dev": true + }, + "@react-native/virtualized-lists": { + "version": "0.72.8", + "dev": true, + "requires": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + } + }, + "@sideway/address": { + "version": "4.1.4", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "dev": true + }, + "@sinclair/typebox": { + "version": "0.27.8", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.13", + "dev": true + }, + "@types/node": { + "version": "20.6.2", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "dev": true + }, + "@types/react": { + "version": "17.0.65", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-native": { + "version": "0.70.0", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "dev": true + }, + "@types/semver": { + "version": "7.5.2", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "dev": true + }, + "@types/yargs": { + "version": "17.0.24", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "dev": true + } + } + }, + "abort-controller": { + "version": "3.0.0", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "dev": true, + "peer": true, + "requires": {} + }, + "aggregate-error": { + "version": "3.1.0", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "anser": { + "version": "1.4.10", + "dev": true + }, + "ansi-fragments": { + "version": "0.2.1", + "dev": true, + "requires": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "appdirsjs": { + "version": "1.2.7", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "dev": true, + "peer": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.7", + "dev": true, + "requires": { + "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": { + "version": "2.1.0", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.2", + "dev": true, + "requires": { + "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": { + "version": "1.0.2", + "dev": true, + "requires": { + "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": { + "version": "2.0.6", + "dev": true + }, + "ast-types": { + "version": "0.15.2", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "dev": true + }, + "async": { + "version": "3.2.4", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "dev": true + }, + "asynciterator.prototype": { + "version": "1.0.0", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "dev": true + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "dev": true, + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + } + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "dev": true + }, + "babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "dev": true, + "requires": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "babel-preset-fbjs": { + "version": "3.4.0", + "dev": true, + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "dev": true + }, + "bl": { + "version": "4.1.0", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.10", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "bser": { + "version": "2.1.1", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001535", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "ci-info": { + "version": "3.8.0", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.9.1", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "dev": true + }, + "colorette": { + "version": "1.4.0", + "dev": true + }, + "command-exists": { + "version": "1.2.9", + "dev": true + }, + "commander": { + "version": "9.5.0", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "dev": true + }, + "connect": { + "version": "3.7.0", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "convert-source-map": { + "version": "1.9.0", + "dev": true + }, + "core-js-compat": { + "version": "3.32.2", + "dev": true, + "requires": { + "browserslist": "^4.21.10" + } + }, + "core-util-is": { + "version": "1.0.3", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "import-fresh": { + "version": "2.0.0", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "dev": true + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "csstype": { + "version": "3.1.2", + "dev": true + }, + "dayjs": { + "version": "1.11.9", + "dev": true + }, + "debug": { + "version": "4.3.4", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "dev": true, + "peer": true + }, + "deepmerge": { + "version": "4.3.1", + "dev": true + }, + "defaults": { + "version": "1.0.4", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-data-property": { + "version": "1.1.0", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-properties": { + "version": "1.2.1", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "del": { + "version": "6.1.1", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + } + }, + "denodeify": { + "version": "1.2.1", + "dev": true + }, + "depd": { + "version": "2.0.0", + "dev": true + }, + "deprecated-react-native-prop-types": { + "version": "4.1.0", + "dev": true, + "requires": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "destroy": { + "version": "1.2.0", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ee-first": { + "version": "1.1.1", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.523", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "envinfo": { + "version": "7.10.0", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "dev": true, + "requires": { + "stackframe": "^1.3.4" + } + }, + "errorhandler": { + "version": "1.5.1", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "es-abstract": { + "version": "1.22.2", + "dev": true, + "requires": { + "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-iterator-helpers": { + "version": "1.0.15", + "dev": true, + "requires": { + "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": { + "version": "2.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "dev": true + }, + "eslint": { + "version": "8.49.0", + "dev": true, + "peer": true, + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true, + "peer": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "peer": true + }, + "eslint-scope": { + "version": "7.2.2", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "peer": true + }, + "globals": { + "version": "13.21.0", + "dev": true, + "peer": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "dev": true, + "peer": true + } + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-eslint-comments": { + "version": "3.2.0", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + } + }, + "eslint-plugin-ft-flow": { + "version": "2.0.3", + "dev": true, + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-jest": { + "version": "26.9.0", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.10.0" + } + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.33.2", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "dev": true, + "requires": {} + }, + "eslint-plugin-react-native": { + "version": "4.1.0", + "dev": true, + "requires": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "eslint-plugin-react-native-globals": { + "version": "0.1.2", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "dev": true + }, + "espree": { + "version": "9.6.1", + "dev": true, + "peer": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "peer": true + } + } + }, + "esprima": { + "version": "4.0.1", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "dev": true, + "peer": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "dev": true + }, + "etag": { + "version": "1.8.1", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "dev": true + }, + "execa": { + "version": "5.1.1", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "peer": true + }, + "fast-diff": { + "version": "1.3.0", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "peer": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "peer": true + }, + "fast-xml-parser": { + "version": "4.2.7", + "dev": true, + "requires": { + "strnum": "^1.0.5" + } + }, + "fastq": { + "version": "1.15.0", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "dev": true, + "peer": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.1.0", + "dev": true, + "peer": true, + "requires": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "dev": true, + "peer": true + }, + "flow-enums-runtime": { + "version": "0.0.5", + "dev": true + }, + "flow-parser": { + "version": "0.206.0", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fresh": { + "version": "0.5.2", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "6.0.1", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "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" + } + }, + "glob-parent": { + "version": "6.0.2", + "dev": true, + "peer": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "dev": true + }, + "has": { + "version": "1.0.3", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hermes-estree": { + "version": "0.12.0", + "dev": true + }, + "hermes-parser": { + "version": "0.12.0", + "dev": true, + "requires": { + "hermes-estree": "0.12.0" + } + }, + "hermes-profile-transformer": { + "version": "0.0.6", + "dev": true, + "requires": { + "source-map": "^0.7.3" + } + }, + "http-errors": { + "version": "2.0.0", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "dev": true + } + } + }, + "human-signals": { + "version": "2.1.0", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "dev": true + }, + "image-size": { + "version": "1.0.2", + "dev": true, + "requires": { + "queue": "6.0.2" + } + }, + "import-fresh": { + "version": "3.3.0", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true + }, + "internal-slot": { + "version": "1.0.5", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "invariant": { + "version": "2.2.4", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.8", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "dev": true + }, + "is-async-function": { + "version": "2.0.0", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "dev": true + }, + "is-finalizationregistry": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-git-dirty": { + "version": "2.0.2", + "dev": true, + "requires": { + "execa": "^4.0.3", + "is-git-repository": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "dev": true + } + } + }, + "is-git-repository": { + "version": "2.0.0", + "dev": true, + "requires": { + "execa": "^4.0.3", + "is-absolute": "^1.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "dev": true + } + } + }, + "is-glob": { + "version": "4.0.3", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "dev": true + }, + "is-map": { + "version": "2.0.2", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-cwd": { + "version": "2.2.0", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-relative": { + "version": "1.0.0", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-unc-path": { + "version": "1.0.0", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-unicode-supported": { + "version": "0.1.0", + "dev": true + }, + "is-weakmap": { + "version": "2.0.1", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-windows": { + "version": "1.0.2", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "dev": true + }, + "isarray": { + "version": "2.0.5", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "dev": true + }, + "iterator.prototype": { + "version": "1.1.2", + "dev": true, + "requires": { + "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" + } + }, + "jest-environment-node": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-get-type": { + "version": "29.6.3", + "dev": true + }, + "jest-message-util": { + "version": "29.7.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "pretty-format": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + } + } + }, + "react-is": { + "version": "18.2.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "dev": true + }, + "jest-util": { + "version": "29.7.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "pretty-format": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + } + } + }, + "react-is": { + "version": "18.2.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jetifier": { + "version": "2.0.0", + "dev": true, + "optional": true + }, + "joi": { + "version": "17.10.2", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-tokens": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "peer": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsc-android": { + "version": "250231.0.0", + "dev": true + }, + "jsc-safe-url": { + "version": "0.2.4", + "dev": true + }, + "jscodeshift": { + "version": "0.14.0", + "dev": true, + "requires": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "dev": true, + "peer": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "peer": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "json5": { + "version": "2.2.3", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "keyv": { + "version": "4.5.3", + "dev": true, + "peer": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "dev": true + }, + "leven": { + "version": "3.1.0", + "dev": true + }, + "levn": { + "version": "0.4.1", + "dev": true, + "peer": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "dev": true, + "peer": true + }, + "lodash.throttle": { + "version": "4.1.1", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "logkitty": { + "version": "0.7.1", + "dev": true, + "requires": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "dev": true, + "requires": { + "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-parser": { + "version": "18.1.3", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "loose-envify": { + "version": "1.4.0", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "memoize-one": { + "version": "5.2.1", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "metro": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "2.0.0", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "metro-runtime": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "ob1": { + "version": "0.76.7", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "ws": { + "version": "7.5.9", + "dev": true, + "requires": {} + } + } + }, + "metro-babel-transformer": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + } + }, + "metro-cache": { + "version": "0.76.7", + "dev": true, + "requires": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" + } + }, + "metro-cache-key": { + "version": "0.76.7", + "dev": true + }, + "metro-config": { + "version": "0.76.7", + "dev": true, + "requires": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" + }, + "dependencies": { + "metro-runtime": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + } + } + }, + "metro-core": { + "version": "0.76.7", + "dev": true, + "requires": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" + } + }, + "metro-file-map": { + "version": "0.76.7", + "dev": true, + "requires": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.5", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "metro-inspector-proxy": { + "version": "0.76.7", + "dev": true, + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "ws": { + "version": "7.5.9", + "dev": true, + "requires": {} + } + } + }, + "metro-minify-terser": { + "version": "0.76.7", + "dev": true, + "requires": { + "terser": "^5.15.0" + } + }, + "metro-minify-uglify": { + "version": "0.76.7", + "dev": true, + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" + } + }, + "metro-resolver": { + "version": "0.76.7", + "dev": true + }, + "metro-runtime": { + "version": "0.76.8", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.76.8", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "dependencies": { + "metro-symbolicate": { + "version": "0.76.8", + "dev": true, + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "dev": true + } + } + }, + "metro-symbolicate": { + "version": "0.76.7", + "dev": true, + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "dependencies": { + "metro-source-map": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "ob1": { + "version": "0.76.7", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } + } + }, + "metro-transform-plugins": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + } + }, + "metro-transform-worker": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, + "dependencies": { + "metro-source-map": { + "version": "0.76.7", + "dev": true, + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "ob1": { + "version": "0.76.7", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } + } + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "2.6.0", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "dev": true + }, + "mkdirp": { + "version": "0.5.6", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "dev": true, + "peer": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "dev": true + }, + "nocache": { + "version": "3.0.4", + "dev": true + }, + "node-abort-controller": { + "version": "3.1.1", + "dev": true + }, + "node-dir": { + "version": "0.1.17", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-fetch": { + "version": "2.7.0", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-int64": { + "version": "0.4.0", + "dev": true + }, + "node-releases": { + "version": "2.0.13", + "dev": true + }, + "node-stream-zip": { + "version": "1.15.0", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nullthrows": { + "version": "1.1.1", + "dev": true + }, + "ob1": { + "version": "0.76.8", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.fromentries": { + "version": "2.0.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.hasown": { + "version": "1.1.3", + "dev": true, + "requires": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.values": { + "version": "1.1.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "on-finished": { + "version": "2.3.0", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "dev": true + }, + "once": { + "version": "1.4.0", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "6.4.0", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "dev": true, + "peer": true, + "requires": { + "@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": { + "version": "5.4.1", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "pify": { + "version": "4.0.1", + "dev": true + }, + "pirates": { + "version": "4.0.6", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "dev": true + } + } + }, + "pod-install": { + "version": "0.1.39", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "dev": true, + "peer": true + }, + "prettier": { + "version": "2.8.8", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "26.6.2", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.15", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "react-is": { + "version": "17.0.2", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "dev": true + }, + "promise": { + "version": "8.3.0", + "dev": true, + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "pump": { + "version": "3.0.0", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "dev": true, + "peer": true + }, + "queue": { + "version": "6.0.2", + "dev": true, + "requires": { + "inherits": "~2.0.3" + } + }, + "queue-microtask": { + "version": "1.2.3", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "dev": true + }, + "react": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-devtools-core": { + "version": "4.28.0", + "dev": true, + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + }, + "dependencies": { + "ws": { + "version": "7.5.9", + "dev": true, + "requires": {} + } + } + }, + "react-is": { + "version": "16.13.1", + "dev": true + }, + "react-native": { + "version": "0.72.4", + "dev": true, + "requires": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + } + }, + "react-native-builder-bob": { + "version": "0.21.3", + "dev": true, + "requires": { + "@babel/core": "^7.18.5", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/preset-env": "^7.18.2", + "@babel/preset-flow": "^7.17.12", + "@babel/preset-react": "^7.17.12", + "@babel/preset-typescript": "^7.17.12", + "browserslist": "^4.20.4", + "cosmiconfig": "^7.0.1", + "cross-spawn": "^7.0.3", + "dedent": "^0.7.0", + "del": "^6.1.1", + "fs-extra": "^10.1.0", + "glob": "^8.0.3", + "is-git-dirty": "^2.0.1", + "jetifier": "^2.0.0", + "json5": "^2.2.1", + "kleur": "^4.1.4", + "prompts": "^2.4.2", + "which": "^2.0.2", + "yargs": "^17.5.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "dev": true, + "requires": { + "@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" + } + }, + "fs-extra": { + "version": "10.1.0", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob": { + "version": "8.1.0", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "kleur": { + "version": "4.1.5", + "dev": true + }, + "minimatch": { + "version": "5.1.6", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "parse-json": { + "version": "5.2.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "universalify": { + "version": "2.0.0", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "dev": true + } + } + }, + "react-refresh": { + "version": "0.4.3", + "dev": true + }, + "react-shallow-renderer": { + "version": "16.15.0", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readline": { + "version": "1.3.0", + "dev": true + }, + "recast": { + "version": "0.21.5", + "dev": true, + "requires": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "dev": true + } + } + }, + "reflect.getprototypeof": { + "version": "1.0.4", + "dev": true, + "requires": { + "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": { + "version": "1.4.2", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.2", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.5.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, + "regexpu-core": { + "version": "5.3.2", + "dev": true, + "requires": { + "@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" + } + }, + "regjsparser": { + "version": "0.9.1", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "dev": true + }, + "resolve": { + "version": "2.0.0-next.4", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.0.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true + }, + "safe-regex-test": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + }, + "send": { + "version": "0.18.0", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "dev": true + }, + "ms": { + "version": "2.1.3", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "dev": true + } + } + }, + "serialize-error": { + "version": "2.1.0", + "dev": true + }, + "serve-static": { + "version": "1.15.0", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "dev": true + }, + "set-function-name": { + "version": "2.0.1", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "source-map": { + "version": "0.7.4", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "dev": true + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "dev": true + }, + "stack-utils": { + "version": "2.0.6", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "dev": true + } + } + }, + "stackframe": { + "version": "1.3.4", + "dev": true + }, + "stacktrace-parser": { + "version": "0.1.10", + "dev": true, + "requires": { + "type-fest": "^0.7.1" + } + }, + "statuses": { + "version": "1.5.0", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "dev": true + } + } + }, + "string-natural-compare": { + "version": "3.0.1", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true + } + } + }, + "string.prototype.matchall": { + "version": "4.0.10", + "dev": true, + "requires": { + "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": { + "version": "1.2.8", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "dev": true, + "peer": true + }, + "strnum": { + "version": "1.0.5", + "dev": true + }, + "sudo-prompt": { + "version": "9.2.1", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true + }, + "temp": { + "version": "0.8.4", + "dev": true, + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "terser": { + "version": "5.19.4", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "dev": true, + "peer": true + }, + "throat": { + "version": "5.0.0", + "dev": true + }, + "through2": { + "version": "2.0.5", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "tmpl": { + "version": "1.0.5", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "dev": true + }, + "tslib": { + "version": "2.6.2", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "dev": true + } + } + }, + "type-check": { + "version": "0.4.0", + "dev": true, + "peer": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "dev": true + }, + "type-fest": { + "version": "0.7.1", + "dev": true + }, + "typed-array-buffer": { + "version": "1.0.0", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "dev": true, + "requires": { + "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": { + "version": "1.0.0", + "dev": true, + "requires": { + "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": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "5.2.2", + "dev": true + }, + "ua-parser-js": { + "version": "1.0.36" + }, + "uglify-es": { + "version": "3.3.9", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "dev": true + } + } + }, + "unbox-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "peer": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "dev": true, + "requires": {} + }, + "util-deprecate": { + "version": "1.0.2", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "dev": true + }, + "vary": { + "version": "1.1.2", + "dev": true + }, + "vlq": { + "version": "1.0.1", + "dev": true + }, + "walker": { + "version": "1.0.8", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "wcwidth": { + "version": "1.0.1", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "dev": true + }, + "whatwg-fetch": { + "version": "3.6.19", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.3", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-module": { + "version": "2.0.1", + "dev": true + }, + "which-typed-array": { + "version": "1.1.11", + "dev": true, + "requires": { + "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" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "6.2.2", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "dev": true + }, + "yaml": { + "version": "2.3.2", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", "dev": true } } }, - "@babel/types": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.15", - "to-fast-properties": "^2.0.0" - } - }, - "@backtrace-labs/browser": { - "version": "file:packages/browser", - "requires": { - "@backtrace-labs/sdk-core": "^0.0.5", - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace-labs/javascript-cli": { - "version": "file:tools/cli", - "requires": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "@types/fs-extra": "^11.0.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "fs-extra": "^11.1.1", - "glob": "^10.3.3", - "jest": "^29.5.0", - "jsonc": "^2.0.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace-labs/nestjs": { - "version": "file:packages/nestjs", - "requires": { - "@backtrace-labs/node": "^0.0.4", - "@nestjs/core": "^9", - "@nestjs/platform-express": "^9", - "@nestjs/testing": "^9", - "@types/express": "^4.17.18", - "@types/jest": "^29.5.1", - "@types/supertest": "^2.0.13", - "jest": "^29.5.0", - "supertest": "^6.3.3", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - } - }, - "@backtrace-labs/node": { - "version": "file:packages/node", - "requires": { - "@backtrace-labs/sdk-core": "^0.0.5", - "@types/jest": "^29.5.1", - "form-data": "^4.0.0", - "jest": "^29.5.0", - "native-reg": "^1.1.1", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - } - }, - "@backtrace-labs/react": { - "version": "file:packages/react", - "requires": { - "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5", - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - } - }, "@backtrace-labs/rollup-plugin": { "version": "file:tools/rollup-plugin", "requires": { @@ -14093,16 +32884,6 @@ "tar-stream": "^3.1.6", "ts-jest": "^29.1.0", "typescript": "^5.0.4" - }, - "dependencies": { - "tar-stream": { - "version": "3.1.6", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - } } }, "@backtrace-labs/vite-plugin": { @@ -14137,7 +32918,7 @@ "version": "0.5.7", "dev": true }, - "@esbuild/linux-x64": { + "@esbuild/darwin-x64": { "version": "0.18.20", "optional": true, "peer": true @@ -14150,7 +32931,7 @@ } }, "@eslint-community/regexpp": { - "version": "4.8.0", + "version": "4.8.1", "dev": true }, "@eslint/eslintrc": { @@ -14169,7 +32950,7 @@ } }, "@eslint/js": { - "version": "8.48.0", + "version": "8.49.0", "dev": true }, "@humanwhocodes/config-array": { @@ -14277,25 +33058,25 @@ "dev": true }, "@jest/console": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0" } }, "@jest/core": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/console": "^29.6.4", - "@jest/reporters": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", @@ -14303,21 +33084,21 @@ "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.6.3", - "jest-config": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-resolve-dependencies": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "jest-watcher": "^29.6.4", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", "micromatch": "^4.0.4", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -14327,7 +33108,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -14342,60 +33123,60 @@ } }, "@jest/environment": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/fake-timers": "^29.6.4", + "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.3" + "jest-mock": "^29.7.0" } }, "@jest/expect": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "expect": "^29.6.4", - "jest-snapshot": "^29.6.4" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" } }, "@jest/expect-utils": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "jest-get-type": "^29.6.3" } }, "@jest/fake-timers": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" } }, "@jest/globals": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", "@jest/types": "^29.6.3", - "jest-mock": "^29.6.3" + "jest-mock": "^29.7.0" } }, "@jest/reporters": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", @@ -14409,9 +33190,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -14449,27 +33230,27 @@ } }, "@jest/test-result": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/console": "^29.6.4", + "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/test-result": "^29.6.4", + "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", + "jest-haste-map": "^29.7.0", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -14480,13 +33261,19 @@ "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", + "jest-haste-map": "^29.7.0", "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "dev": true + } } }, "@jest/types": { @@ -14533,10 +33320,14 @@ } }, "@lukeed/csprng": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" }, "@nestjs/common": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", + "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", "peer": true, "requires": { "iterare": "1.2.1", @@ -14546,12 +33337,16 @@ "dependencies": { "tslib": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "peer": true } } }, "@nestjs/core": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", + "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "dev": true, "requires": { "@nuxtjs/opencollective": "0.3.2", @@ -14564,6 +33359,8 @@ "dependencies": { "tslib": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } @@ -14628,6 +33425,8 @@ }, "@nuxtjs/opencollective": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -14685,7 +33484,7 @@ } }, "@testing-library/dom": { - "version": "9.3.1", + "version": "9.3.3", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -14716,7 +33515,7 @@ "dev": true }, "@types/babel__core": { - "version": "7.20.1", + "version": "7.20.2", "dev": true, "requires": { "@babel/parser": "^7.20.7", @@ -14727,14 +33526,14 @@ } }, "@types/babel__generator": { - "version": "7.6.4", + "version": "7.6.5", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.4.1", + "version": "7.4.2", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -14742,7 +33541,7 @@ } }, "@types/babel__traverse": { - "version": "7.20.1", + "version": "7.20.2", "dev": true, "requires": { "@babel/types": "^7.20.7" @@ -14759,7 +33558,7 @@ } }, "@types/command-line-args": { - "version": "5.2.0", + "version": "5.2.1", "dev": true }, "@types/command-line-usage": { @@ -14830,7 +33629,7 @@ } }, "@types/fs-extra": { - "version": "11.0.1", + "version": "11.0.2", "dev": true, "requires": { "@types/jsonfile": "*", @@ -14869,7 +33668,7 @@ } }, "@types/jest": { - "version": "29.5.4", + "version": "29.5.5", "dev": true, "requires": { "expect": "^29.0.0", @@ -14881,7 +33680,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -14905,14 +33704,14 @@ } }, "@types/json-schema": { - "version": "7.0.12" + "version": "7.0.13" }, "@types/json5": { "version": "0.0.29", "dev": true }, "@types/jsonfile": { - "version": "6.1.1", + "version": "6.1.2", "dev": true, "requires": { "@types/node": "*" @@ -14925,7 +33724,7 @@ "dev": true }, "@types/node": { - "version": "14.18.58" + "version": "14.18.61" }, "@types/prop-types": { "version": "15.7.5", @@ -14964,7 +33763,7 @@ "dev": true }, "@types/semver": { - "version": "7.5.1", + "version": "7.5.2", "dev": true }, "@types/send": { @@ -15007,23 +33806,23 @@ } }, "@types/supertest": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.13.tgz", - "integrity": "sha512-Vc/5/pRwSC055fU7Wu8erTj4gLpID9SdG2zRMuqaHLni3GTsrJ8gyB6MbFZZGLW6vQaGPhiUWRB6uWglv87MEg==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.14.tgz", + "integrity": "sha512-Q900DeeHNFF3ZYYepf/EyJfZDA2JrnWLaSQ0YNV7+2GTo8IlJzauEnDGhya+hauncpBYTYGpVHwGdssJeAQ7eA==", "dev": true, "requires": { "@types/superagent": "*" } }, "@types/tar-stream": { - "version": "2.2.2", + "version": "2.2.3", "dev": true, "requires": { "@types/node": "*" } }, "@types/tough-cookie": { - "version": "4.0.2", + "version": "4.0.3", "dev": true }, "@types/ua-parser-js": { @@ -15353,8 +34152,6 @@ }, "accepts": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { "mime-types": "~2.1.34", @@ -15521,32 +34318,33 @@ } }, "array.prototype.flat": { - "version": "1.3.1", + "version": "1.3.2", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, "array.prototype.flatmap": { - "version": "1.3.1", + "version": "1.3.2", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, "arraybuffer.prototype.slice": { - "version": "1.0.1", + "version": "1.0.2", "dev": true, "requires": { "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" @@ -15554,8 +34352,6 @@ }, "asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, "asn1.js": { @@ -15575,22 +34371,22 @@ } }, "assert": { - "version": "1.5.0", + "version": "1.5.1", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "object.assign": "^4.1.4", + "util": "^0.10.4" }, "dependencies": { "inherits": { - "version": "2.0.1", + "version": "2.0.3", "dev": true }, "util": { - "version": "0.10.3", + "version": "0.10.4", "dev": true, "requires": { - "inherits": "2.0.1" + "inherits": "2.0.3" } } } @@ -15619,10 +34415,10 @@ "version": "1.6.4" }, "babel-jest": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/transform": "^29.6.4", + "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.6.3", @@ -15733,12 +34529,12 @@ "dev": true, "optional": true }, - "bl": { - "version": "1.2.3", + "bindings": { + "version": "1.5.0", "dev": true, + "optional": true, "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "file-uri-to-path": "1.0.0" } }, "bluebird": { @@ -15769,6 +34565,12 @@ "unpipe": "1.0.0" }, "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -15793,6 +34595,15 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -15874,17 +34685,12 @@ "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "dev": true } } }, @@ -15966,12 +34772,6 @@ "streamsearch": "^1.1.0" } }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, "cacache": { "version": "12.0.4", "dev": true, @@ -16061,7 +34861,7 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001525" + "version": "1.0.30001535" }, "chalk": { "version": "4.1.2", @@ -16259,10 +35059,6 @@ "color-name": { "version": "1.1.4" }, - "colorette": { - "version": "2.0.20", - "dev": true - }, "combined-stream": { "version": "1.0.8", "requires": { @@ -16295,9 +35091,6 @@ } } }, - "commander": { - "version": "2.20.3" - }, "commondir": { "version": "1.0.1", "dev": true @@ -16318,10 +35111,38 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "consola": { "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", "dev": true }, "console-browserify": { @@ -16339,6 +35160,14 @@ "dev": true, "requires": { "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "content-type": { @@ -16348,7 +35177,7 @@ "dev": true }, "convert-source-map": { - "version": "2.0.0", + "version": "1.9.0", "dev": true }, "cookie": { @@ -16457,6 +35286,19 @@ "sha.js": "^2.4.8" } }, + "create-jest": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + } + }, "cross-spawn": { "version": "7.0.3", "requires": { @@ -16552,6 +35394,53 @@ "file-type": "^5.2.0", "is-stream": "^1.1.0", "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "tar-stream": { + "version": "1.6.2", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } } }, "decompress-tarbz2": { @@ -16633,10 +35522,20 @@ "version": "4.3.1", "dev": true }, + "define-data-property": { + "version": "1.1.0", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "define-properties": { - "version": "1.2.0", + "version": "1.2.1", "dev": true, "requires": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } @@ -16654,8 +35553,6 @@ }, "depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "des.js": { @@ -16668,8 +35565,6 @@ }, "destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-newline": { @@ -16742,6 +35637,32 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "eastasianwidth": { @@ -16749,12 +35670,10 @@ }, "ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "electron-to-chromium": { - "version": "1.4.508" + "version": "1.4.523" }, "elliptic": { "version": "6.5.4", @@ -16788,8 +35707,6 @@ }, "encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "end-of-stream": { @@ -16828,16 +35745,16 @@ } }, "es-abstract": { - "version": "1.22.1", + "version": "1.22.2", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "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.5", + "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", @@ -16853,23 +35770,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "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.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "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.10" + "which-typed-array": "^1.1.11" } }, "es-get-iterator": { @@ -16888,7 +35805,7 @@ } }, "es-module-lexer": { - "version": "1.3.0" + "version": "1.3.1" }, "es-set-tostringtag": { "version": "2.0.1", @@ -16948,8 +35865,6 @@ }, "escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { @@ -16978,14 +35893,14 @@ } }, "eslint": { - "version": "8.48.0", + "version": "8.49.0", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@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", @@ -17181,8 +36096,6 @@ }, "etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "events": { @@ -17319,14 +36232,14 @@ } }, "expect": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/expect-utils": "^29.6.4", + "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3" + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" } }, "express": { @@ -17388,6 +36301,12 @@ "unpipe": "1.0.0" } }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -17397,6 +36316,21 @@ "ms": "2.0.0" } }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -17412,6 +36346,15 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -17438,6 +36381,18 @@ "iconv-lite": "0.4.24", "unpipe": "1.0.0" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -17559,6 +36514,11 @@ "version": "5.2.0", "dev": true }, + "file-uri-to-path": { + "version": "1.0.0", + "dev": true, + "optional": true + }, "fill-range": { "version": "7.0.1", "dev": true, @@ -17566,38 +36526,6 @@ "to-regex-range": "^5.0.1" } }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, "find-cache-dir": { "version": "2.1.0", "dev": true, @@ -17710,7 +36638,7 @@ } }, "flatted": { - "version": "3.2.7", + "version": "3.2.9", "dev": true }, "flush-write-stream": { @@ -17719,6 +36647,32 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "for-each": { @@ -17774,8 +36728,6 @@ }, "fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "from2": { @@ -17784,6 +36736,32 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "fs-constants": { @@ -17797,12 +36775,6 @@ "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "dev": true - } } }, "fs-write-stream-atomic": { @@ -17813,12 +36785,42 @@ "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "fs.realpath": { "version": "1.0.0", "dev": true }, + "fsevents": { + "version": "2.3.3", + "optional": true + }, "function-bind": { "version": "1.1.1", "dev": true @@ -18040,14 +37042,9 @@ "safe-buffer": "^5.2.0" }, "dependencies": { - "readable-stream": { - "version": "3.6.2", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "safe-buffer": { + "version": "5.2.1", + "dev": true } } }, @@ -18087,8 +37084,6 @@ }, "http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { "depd": "2.0.0", @@ -18096,6 +37091,12 @@ "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "dev": true + } } }, "http-proxy-agent": { @@ -18491,7 +37492,9 @@ } }, "iterare": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" }, "jackspeak": { "version": "2.3.3", @@ -18501,45 +37504,45 @@ } }, "jest": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/core": "^29.6.4", + "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", "import-local": "^3.0.2", - "jest-cli": "^29.6.4" + "jest-cli": "^29.7.0" } }, "jest-changed-files": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "execa": "^5.0.0", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "p-limit": "^3.1.0" } }, "jest-circus": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/environment": "^29.6.4", - "@jest/expect": "^29.6.4", - "@jest/test-result": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-runtime": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "p-limit": "^3.1.0", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" @@ -18550,7 +37553,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18565,47 +37568,46 @@ } }, "jest-cli": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/core": "^29.6.4", - "@jest/test-result": "^29.6.4", + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "chalk": "^4.0.0", + "create-jest": "^29.7.0", "exit": "^0.1.2", - "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", - "prompts": "^2.0.1", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "yargs": "^17.3.1" } }, "jest-config": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.4", + "@jest/test-sequencer": "^29.7.0", "@jest/types": "^29.6.3", - "babel-jest": "^29.6.4", + "babel-jest": "^29.7.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.4", - "jest-environment-node": "^29.6.4", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", "jest-get-type": "^29.6.3", "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runner": "^29.6.4", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -18627,7 +37629,7 @@ } }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18642,13 +37644,13 @@ } }, "jest-diff": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "dependencies": { "ansi-styles": { @@ -18656,7 +37658,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18671,21 +37673,21 @@ } }, "jest-docblock": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", - "jest-util": "^29.6.3", - "pretty-format": "^29.6.3" + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "dependencies": { "ansi-styles": { @@ -18693,7 +37695,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18708,29 +37710,29 @@ } }, "jest-environment-jsdom": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/jsdom": "^20.0.0", "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", "jsdom": "^20.0.0" } }, "jest-environment-node": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.3", - "jest-util": "^29.6.3" + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" } }, "jest-get-type": { @@ -18738,7 +37740,7 @@ "dev": true }, "jest-haste-map": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -18749,18 +37751,18 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", - "jest-util": "^29.6.3", - "jest-worker": "^29.6.4", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "dependencies": { "ansi-styles": { @@ -18768,7 +37770,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18783,13 +37785,13 @@ } }, "jest-matcher-utils": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.6.4", + "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "dependencies": { "ansi-styles": { @@ -18797,7 +37799,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18812,7 +37814,7 @@ } }, "jest-message-util": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", @@ -18821,7 +37823,7 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -18831,7 +37833,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -18846,12 +37848,12 @@ } }, "jest-mock": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", "@types/node": "*", - "jest-util": "^29.6.3" + "jest-util": "^29.7.0" } }, "jest-pnp-resolver": { @@ -18864,65 +37866,65 @@ "dev": true }, "jest-resolve": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", + "jest-haste-map": "^29.7.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.3", - "jest-validate": "^29.6.3", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.6.4" + "jest-snapshot": "^29.7.0" } }, "jest-runner": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/console": "^29.6.4", - "@jest/environment": "^29.6.4", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.6.3", - "jest-environment-node": "^29.6.4", - "jest-haste-map": "^29.6.4", - "jest-leak-detector": "^29.6.3", - "jest-message-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-runtime": "^29.6.4", - "jest-util": "^29.6.3", - "jest-watcher": "^29.6.4", - "jest-worker": "^29.6.4", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/environment": "^29.6.4", - "@jest/fake-timers": "^29.6.4", - "@jest/globals": "^29.6.4", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", @@ -18930,13 +37932,13 @@ "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-mock": "^29.6.3", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.6.4", - "jest-snapshot": "^29.6.4", - "jest-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -18960,7 +37962,7 @@ } }, "jest-snapshot": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -18968,20 +37970,20 @@ "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.4", - "@jest/transform": "^29.6.4", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.6.4", + "expect": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.4", + "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.6.4", - "jest-message-util": "^29.6.3", - "jest-util": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "natural-compare": "^1.4.0", - "pretty-format": "^29.6.3", + "pretty-format": "^29.7.0", "semver": "^7.5.3" }, "dependencies": { @@ -18990,7 +37992,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -19005,7 +38007,7 @@ } }, "jest-util": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -19017,7 +38019,7 @@ } }, "jest-validate": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -19025,7 +38027,7 @@ "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "leven": "^3.1.0", - "pretty-format": "^29.6.3" + "pretty-format": "^29.7.0" }, "dependencies": { "ansi-styles": { @@ -19037,7 +38039,7 @@ "dev": true }, "pretty-format": { - "version": "29.6.3", + "version": "29.7.0", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -19052,25 +38054,25 @@ } }, "jest-watcher": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { - "@jest/test-result": "^29.6.4", + "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "29.6.4", + "version": "29.7.0", "dev": true, "requires": { "@types/node": "*", - "jest-util": "^29.6.3", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -19187,12 +38189,6 @@ "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "dev": true - } } }, "keyv": { @@ -19339,6 +38335,32 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "merge-descriptors": { @@ -19383,9 +38405,7 @@ } }, "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "version": "2.6.0", "dev": true }, "mime-db": { @@ -19504,6 +38524,11 @@ "xtend": "^4.0.0" } }, + "nan": { + "version": "2.18.0", + "dev": true, + "optional": true + }, "nanoid": { "version": "3.3.6", "peer": true @@ -19541,8 +38566,6 @@ }, "negotiator": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { @@ -19635,6 +38658,26 @@ "punycode": { "version": "1.4.1", "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, @@ -19782,15 +38825,6 @@ "es-abstract": "^1.22.1" } }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, "once": { "version": "1.4.0", "dev": true, @@ -19850,6 +38884,32 @@ "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "parent-module": { @@ -19889,8 +38949,6 @@ }, "parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "pascalcase": { @@ -19930,6 +38988,8 @@ }, "path-to-regexp": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", "dev": true }, "path-type": { @@ -20142,7 +39202,7 @@ "version": "2.3.0" }, "pure-rand": { - "version": "6.0.2", + "version": "6.0.3", "dev": true }, "qs": { @@ -20183,8 +39243,6 @@ }, "range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { @@ -20199,6 +39257,12 @@ "unpipe": "1.0.0" }, "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -20231,26 +39295,12 @@ "dev": true }, "readable-stream": { - "version": "2.3.8", + "version": "3.6.2", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "dev": true - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "readdirp": { @@ -20282,6 +39332,8 @@ }, "reflect-metadata": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "peer": true }, "regenerator-runtime": { @@ -20297,12 +39349,12 @@ } }, "regexp.prototype.flags": { - "version": "1.5.0", + "version": "1.5.1", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" } }, "remove-trailing-separator": { @@ -20331,7 +39383,7 @@ "dev": true }, "resolve": { - "version": "1.22.4", + "version": "1.22.6", "dev": true, "requires": { "is-core-module": "^2.13.0", @@ -20388,7 +39440,7 @@ } }, "rollup": { - "version": "3.28.1", + "version": "3.29.2", "peer": true, "requires": { "fsevents": "~2.3.2" @@ -20410,6 +39462,8 @@ }, "rxjs": { "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "peer": true, "requires": { "tslib": "^2.1.0" @@ -20417,22 +39471,24 @@ "dependencies": { "tslib": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true } } }, "safe-array-concat": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "requires": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "isarray": "^2.0.5" } }, "safe-buffer": { - "version": "5.2.1" + "version": "5.1.2" }, "safe-regex": { "version": "1.1.0", @@ -20482,6 +39538,12 @@ "dev": true, "requires": { "commander": "^2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "dev": true + } } }, "semver": { @@ -20502,8 +39564,6 @@ }, "send": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", @@ -20523,8 +39583,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -20532,16 +39590,27 @@ "dependencies": { "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, + "mime": { + "version": "1.6.0", + "dev": true + }, "ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", "dev": true } } @@ -20554,8 +39623,6 @@ }, "serve-static": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", @@ -20564,6 +39631,15 @@ "send": "0.18.0" } }, + "set-function-name": { + "version": "2.0.1", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "set-value": { "version": "2.0.1", "dev": true, @@ -20593,8 +39669,6 @@ }, "setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { @@ -20903,12 +39977,6 @@ } } }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - }, "stop-iteration-iterator": { "version": "1.0.0", "dev": true, @@ -20922,6 +39990,32 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-each": { @@ -20941,6 +40035,32 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-read-all": { @@ -20964,14 +40084,14 @@ } }, "string_decoder": { - "version": "1.1.1", + "version": "1.3.0", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" }, "dependencies": { "safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "dev": true } } @@ -21017,30 +40137,30 @@ } }, "string.prototype.trim": { - "version": "1.2.7", + "version": "1.2.8", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimend": { - "version": "1.0.6", + "version": "1.0.7", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimstart": { - "version": "1.0.6", + "version": "1.0.7", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "strip-ansi": { @@ -21089,14 +40209,6 @@ "mime": "2.6.0", "qs": "^6.11.0", "semver": "^7.3.8" - }, - "dependencies": { - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - } } }, "supertest": { @@ -21147,16 +40259,11 @@ "version": "2.2.1" }, "tar-stream": { - "version": "1.6.2", - "dev": true, + "version": "3.1.6", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, "terser": { @@ -21168,6 +40275,9 @@ "source-map-support": "~0.5.20" }, "dependencies": { + "commander": { + "version": "2.20.3" + }, "source-map": { "version": "0.6.1" }, @@ -21243,6 +40353,32 @@ "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "timers-browserify": { @@ -21303,8 +40439,6 @@ }, "toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "tough-cookie": { @@ -21315,6 +40449,12 @@ "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "dev": true + } } }, "tr46": { @@ -21374,6 +40514,10 @@ "tapable": "^1.0.0" } }, + "isarray": { + "version": "1.0.0", + "dev": true + }, "memory-fs": { "version": "0.5.0", "dev": true, @@ -21382,6 +40526,26 @@ "readable-stream": "^2.0.1" } }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "tapable": { "version": "1.1.3", "dev": true @@ -21489,10 +40653,12 @@ "version": "4.0.0" }, "ua-parser-js": { - "version": "1.0.35" + "version": "1.0.36" }, "uid": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", "requires": { "@lukeed/csprng": "^1.0.0" } @@ -21546,13 +40712,11 @@ } }, "universalify": { - "version": "0.2.0", + "version": "2.0.0", "dev": true }, "unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "unset-value": { @@ -21614,11 +40778,11 @@ "dev": true }, "url": { - "version": "0.11.1", + "version": "0.11.3", "dev": true, "requires": { "punycode": "^1.4.1", - "qs": "^6.11.0" + "qs": "^6.11.2" }, "dependencies": { "punycode": { @@ -21658,8 +40822,6 @@ }, "utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "v8-to-istanbul": { @@ -21669,18 +40831,10 @@ "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" - }, - "dependencies": { - "convert-source-map": { - "version": "1.9.0", - "dev": true - } } }, "vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "vite": { @@ -21817,6 +40971,15 @@ } } }, + "fsevents": { + "version": "1.2.13", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, "glob-parent": { "version": "3.1.0", "dev": true, @@ -21867,6 +41030,11 @@ } } }, + "isarray": { + "version": "1.0.0", + "dev": true, + "optional": true + }, "micromatch": { "version": "3.1.10", "dev": true, @@ -21887,6 +41055,20 @@ "to-regex": "^3.0.2" } }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "readdirp": { "version": "2.2.1", "dev": true, @@ -21897,6 +41079,14 @@ "readable-stream": "^2.0.2" } }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "to-regex-range": { "version": "2.1.1", "dev": true, @@ -21942,7 +41132,7 @@ } }, "webpack-4": { - "version": "npm:webpack@4.46.0", + "version": "npm:webpack@4.47.0", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -22104,6 +41294,10 @@ } } }, + "commander": { + "version": "2.20.3", + "dev": true + }, "enhanced-resolve": { "version": "4.5.0", "dev": true, @@ -22170,6 +41364,10 @@ } } }, + "isarray": { + "version": "1.0.0", + "dev": true + }, "loader-runner": { "version": "2.4.0", "dev": true @@ -22202,6 +41400,19 @@ "to-regex": "^3.0.2" } }, + "readable-stream": { + "version": "2.3.8", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "schema-utils": { "version": "1.0.0", "dev": true, @@ -22222,6 +41433,13 @@ "version": "0.6.1", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "tapable": { "version": "1.1.3", "dev": true @@ -22269,7 +41487,7 @@ } }, "webpack": { - "version": "4.46.0", + "version": "4.47.0", "dev": true, "peer": true, "requires": { @@ -22327,6 +41545,10 @@ "webpack-merge": "^5.7.3" }, "dependencies": { + "colorette": { + "version": "2.0.20", + "dev": true + }, "commander": { "version": "10.0.1", "dev": true @@ -22495,7 +41717,7 @@ } }, "ws": { - "version": "8.13.0", + "version": "8.14.1", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 46e5eb5c..766d314f 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,11 @@ }, "workspaces": [ "packages/sdk-core", - "packages/node", "packages/browser", "packages/react", + "packages/node", "packages/nestjs", + "packages/react-native", "tools/sourcemap-tools", "tools/cli", "tools/rollup-plugin", diff --git a/packages/react-native/.gitignore b/packages/react-native/.gitignore new file mode 100644 index 00000000..75356714 --- /dev/null +++ b/packages/react-native/.gitignore @@ -0,0 +1,70 @@ +# OSX +# +.DS_Store + +# XDE +.expo/ + +# VSCode +.vscode/ +jsconfig.json + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + +# Android/IJ +# +.classpath +.cxx +.gradle +.idea +.project +.settings +local.properties +android.iml + +# Cocoapods +# +example/ios/Pods + +# Ruby +example/vendor/ + +# node.js +# +node_modules/ +npm-debug.log +yarn-debug.log +yarn-error.log + +# BUCK +buck-out/ +\.buckd/ +android/app/libs +android/keystores/debug.keystore + +# Expo +.expo/ + +# Turborepo +.turbo/ + +# generated by bob +lib/ diff --git a/packages/react-native/.watchmanconfig b/packages/react-native/.watchmanconfig new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/packages/react-native/.watchmanconfig @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/packages/react-native/LICENSE b/packages/react-native/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/react-native/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/react-native/README.md b/packages/react-native/README.md new file mode 100644 index 00000000..27188fde --- /dev/null +++ b/packages/react-native/README.md @@ -0,0 +1,7 @@ +# **Backtrace React SDK** + +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. + +The [@backtrace-labs/react-bative](#) SDK connects your React-native application to Backtrace. The basic integration is +quick and easy, after which you can explore the rich set of Backtrace features. diff --git a/packages/react-native/android/build.gradle b/packages/react-native/android/build.gradle new file mode 100644 index 00000000..764da383 --- /dev/null +++ b/packages/react-native/android/build.gradle @@ -0,0 +1,104 @@ +buildscript { + repositories { + google() + mavenCentral() + } + + dependencies { + classpath "com.android.tools.build:gradle:7.2.1" + } +} + +def isNewArchitectureEnabled() { + return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true" +} + +apply plugin: "com.android.library" + + +def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') } + +if (isNewArchitectureEnabled()) { + apply plugin: "com.facebook.react" +} + +def getExtOrDefault(name) { + return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["ReactNative_" + name] +} + +def getExtOrIntegerDefault(name) { + return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["ReactNative_" + name]).toInteger() +} + +def supportsNamespace() { + def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.') + def major = parsed[0].toInteger() + def minor = parsed[1].toInteger() + + // Namespace support was added in 7.3.0 + if (major == 7 && minor >= 3) { + return true + } + + return major >= 8 +} + +android { + if (supportsNamespace()) { + namespace "com.backtrace.reactnative" + + sourceSets { + main { + manifest.srcFile "src/main/AndroidManifestNew.xml" + } + } + } + + compileSdkVersion getExtOrIntegerDefault("compileSdkVersion") + + defaultConfig { + minSdkVersion getExtOrIntegerDefault("minSdkVersion") + targetSdkVersion getExtOrIntegerDefault("targetSdkVersion") + buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() + + + ndk { + abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' + } + } + buildTypes { + release { + minifyEnabled false + } + } + + lintOptions { + disable "GradleCompatible" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +repositories { + mavenCentral() + google() +} + + +dependencies { + // For < 0.71, this will be from the local maven repo + // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin + //noinspection GradleDynamicVersion + implementation "com.facebook.react:react-native:+" +} + +if (isNewArchitectureEnabled()) { + react { + jsRootDir = file("../src/") + libraryName = "ReactNative" + codegenJavaPackageName = "com.backtrace.reactnative" + } +} diff --git a/packages/react-native/android/gradle.properties b/packages/react-native/android/gradle.properties new file mode 100644 index 00000000..c307ca3b --- /dev/null +++ b/packages/react-native/android/gradle.properties @@ -0,0 +1,5 @@ +ReactNative_kotlinVersion=1.7.0 +ReactNative_minSdkVersion=21 +ReactNative_targetSdkVersion=31 +ReactNative_compileSdkVersion=31 +ReactNative_ndkversion=21.4.7075529 diff --git a/packages/react-native/android/src/main/AndroidManifest.xml b/packages/react-native/android/src/main/AndroidManifest.xml new file mode 100644 index 00000000..f3e28adc --- /dev/null +++ b/packages/react-native/android/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + diff --git a/packages/react-native/android/src/main/AndroidManifestNew.xml b/packages/react-native/android/src/main/AndroidManifestNew.xml new file mode 100644 index 00000000..a2f47b60 --- /dev/null +++ b/packages/react-native/android/src/main/AndroidManifestNew.xml @@ -0,0 +1,2 @@ + + diff --git a/packages/react-native/android/src/main/java/backtrace/library/AttributeReader.java b/packages/react-native/android/src/main/java/backtrace/library/AttributeReader.java new file mode 100644 index 00000000..dc8600cd --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/AttributeReader.java @@ -0,0 +1,43 @@ +package backtrace.library; + +import android.util.Log; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +public class AttributeReader { + private final static transient String LOG_TAG = AttributeReader.class.getSimpleName(); + + public static Map readAttributesFromFile(String path, HashMap attributeMapping) { + File file = new File(path); + Map attributes = new HashMap<>(); + + try { + BufferedReader br = new BufferedReader(new FileReader(file)); + String line; + + while ((line = br.readLine()) != null) { + String[] entry = line.split(":", 2); + String key = entry[0].trim(); + if(!attributeMapping.containsKey(key)){ + continue; + } + key = attributeMapping.get(key); + String value = entry[1].trim(); + if(value.endsWith("kB")){ + value = value.substring(0,value.lastIndexOf('k')).trim(); + } + attributes.put(key, value); + } + br.close(); + } catch (IOException e) { + Log.d(LOG_TAG, "Cannot read process information. Reason:" + e.getMessage()); + } + + return attributes; + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceAndroidBackgroundUnhandledExceptionHandler.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceAndroidBackgroundUnhandledExceptionHandler.java new file mode 100644 index 00000000..22c92869 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceAndroidBackgroundUnhandledExceptionHandler.java @@ -0,0 +1,103 @@ +package backtraceio.library; + +import android.content.Context; +import android.util.Log; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.module.annotations.ReactModule; + +import java.io.PrintWriter; +import java.io.StringWriter; + +/** + * Handle unhandled Android exceptions from background threads. + */ +@ReactModule(name = backtraceio.library.BacktraceAndroidBackgroundUnhandledExceptionHandler.NAME) +public class BacktraceAndroidBackgroundUnhandledExceptionHandler extends ReactContextBaseJavaModule implements Thread.UncaughtExceptionHandler { + private final static transient String LOG_TAG = BacktraceAndroidBackgroundUnhandledExceptionHandler.class.getSimpleName(); + + private Thread.UncaughtExceptionHandler _rootHandler; + + private Thread _lastCaughtBackgroundExceptionThread; + private Throwable _lastCaughtBackgroundException; + + /** + * Check if data shouldn't be reported. + */ + private volatile boolean _shouldStop = false; + + /** + * React native callback method + */ + private Callback _callback; + public static final String NAME = "BacktraceAndroidBackgroundUnhandledExceptionHandler"; + + public BacktraceAndroidBackgroundUnhandledExceptionHandler(ReactApplicationContext reactContext) { + super(reactContext); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + + @ReactMethod + public void start(Callback callback) { + Log.d(LOG_TAG, "Initializing Android unhandled exception handler"); + _callback = callback; + _rootHandler = Thread.getDefaultUncaughtExceptionHandler(); + Thread.setDefaultUncaughtExceptionHandler(this); + } + + @Override + public void uncaughtException(final Thread thread, final Throwable throwable) { + _lastCaughtBackgroundExceptionThread = thread; + _lastCaughtBackgroundException = throwable; + if (_shouldStop == true) { + finish(); + return; + } + if (throwable instanceof Exception) { + String throwableType = throwable.getClass().getName(); + _callback.invoke(throwableType, throwable.getMessage(), stackTraceToString(throwable.getStackTrace())); + } + finish(); + } + + private static String stackTraceToString(StackTraceElement[] stackTrace) { + StringWriter sw = new StringWriter(); + printStackTrace(stackTrace, new PrintWriter(sw)); + return sw.toString(); + } + + private static void printStackTrace(StackTraceElement[] stackTrace, PrintWriter pw) { + for (StackTraceElement stackTraceEl : stackTrace) { + pw.println(stackTraceEl); + } + } + + public void finish() { + if (_lastCaughtBackgroundExceptionThread == null || _lastCaughtBackgroundException == null) { + Log.d(LOG_TAG, "The exception object or the exception thread is not available. This is probably a bug."); + return; + } + if (_shouldStop) { + Log.d(LOG_TAG, "Backtrace client has been disposed. The report won't be available."); + return; + } + _rootHandler.uncaughtException(_lastCaughtBackgroundExceptionThread, _lastCaughtBackgroundException); + } + + @ReactMethod + public void stop() { + Log.d(LOG_TAG, "Uncaught exception handler has been disabled."); + _shouldStop = true; + } +} \ No newline at end of file diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceApplicationAttributeProvider.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceApplicationAttributeProvider.java new file mode 100644 index 00000000..ef505e98 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceApplicationAttributeProvider.java @@ -0,0 +1,57 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.module.annotations.ReactModule; +import android.util.Log; +import android.content.pm.PackageManager; +import android.content.Context; + +@ReactModule(name = BacktraceApplicationAttributeProvider.NAME) +public class BacktraceApplicationAttributeProvider extends ReactContextBaseJavaModule { + private final static transient String LOG_TAG = BacktraceApplicationAttributeProvider.class.getSimpleName(); + public static final String NAME = "BacktraceApplicationAttributeProvider"; + + private final Context context; + + public BacktraceApplicationAttributeProvider(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public WritableMap get() { + WritableMap map = new WritableNativeMap(); + map.putString("application", this.readApplicationName()); + map.putString("application.version", this.readApplicationVersion()); + return map; + } + + private String readApplicationName() { + return this.context.getApplicationInfo() + .loadLabel(this.context + .getPackageManager()).toString(); + } + + private String readApplicationVersion() { + try { + return this.context.getPackageManager() + .getPackageInfo(this.context.getPackageName(), 0).versionName; + } catch (PackageManager.NameNotFoundException e) { + Log.d(LOG_TAG, "Could not resolve application version"); + e.printStackTrace(); + } + return "Unknown"; + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceDatabase.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceDatabase.java new file mode 100644 index 00000000..00a0f152 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceDatabase.java @@ -0,0 +1,12 @@ +package backtraceio.library; + +public class BacktraceDatabase { + public static native boolean initialize(String url, String databasePath, String handlerPath, + String[] attributeKeys, String[] attributeValues, + String[] attachmentPaths, boolean enableClientSideUnwinding, + backtraceio.library.UnwindingMode unwindingMode); + + + + public static native void addAttribute(String name, String value); +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceDeviceAttributeProvider.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceDeviceAttributeProvider.java new file mode 100644 index 00000000..1d328a97 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceDeviceAttributeProvider.java @@ -0,0 +1,72 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.module.annotations.ReactModule; + +import android.content.Context; +import android.os.Build; + +import java.util.Locale; + +@ReactModule(name = BacktraceDeviceAttributeProvider.NAME) +public class BacktraceDeviceAttributeProvider extends ReactContextBaseJavaModule { + public static final String NAME = "BacktraceDeviceAttributeProvider"; + + private final Context context; + + public BacktraceDeviceAttributeProvider(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public WritableMap get() { + WritableMap map = new WritableNativeMap(); + map.putString("culture", this.readCulture()); + map.putString("device.model", this.getDeviceModel()); + map.putString("device.brand", this.getDeviceBrand()); + map.putString("device.product", this.getDeviceProduct()); + map.putString("device.sdk", this.getDeviceSdk()); + map.putString("device.manufacturer", this.getDeviceManufacturer()); + map.putString("cpu.boottime", String.valueOf(java.lang.System.currentTimeMillis() - android.os.SystemClock + .elapsedRealtime())); + return map; + } + + + private String readCulture() { + return Locale.getDefault().getDisplayLanguage(); + } + + private String getDeviceModel() { + return Build.MODEL; + } + + private String getDeviceBrand() { + return Build.BRAND; + } + + private String getDeviceProduct() { + return Build.PRODUCT; + } + + private String getDeviceSdk() { + return String.valueOf(Build.VERSION.SDK_INT); + } + + private String getDeviceManufacturer() { + return Build.MANUFACTURER; + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java new file mode 100644 index 00000000..a9cb862c --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java @@ -0,0 +1,101 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.module.annotations.ReactModule; + +import android.util.Log; + +import android.content.Context; + +import java.io.File; +import java.util.HashMap; + +import backtraceio.library.base.BacktraceBase; +import backtraceio.library.BacktraceDatabase; +import backtraceio.library.UnwindingMode; + + +@ReactModule(name = BacktraceReactNative.NAME) +public class BacktraceReactNative extends ReactContextBaseJavaModule { + static { + System.loadLibrary("backtrace-native"); + } + public static final String NAME = "BacktraceReactNative"; + private final String _crashpadHandlerName = "/libcrashpad_handler.so"; + public native void Crash(); + + private final Context context; + + public BacktraceReactNative(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + + @ReactMethod(isBlockingSynchronousMethod = true) + public Boolean initialize(String minidumpSubmissionUrl, ReadableMap readableAttributes, ReadableArray attachmentPaths) { + Log.d(this.NAME, "Initializing crashpad"); + + String handlerPath = context.getApplicationInfo().nativeLibraryDir + _crashpadHandlerName; + + if (!(new File(handlerPath).exists())) { + Log.d(this.NAME, "Crashpad handler doesn't exist"); + return false; + } + HashMap attributes = readableAttributes.toHashMap(); + + String[] keys = attributes.keySet().toArray(new String[0]); + String[] values = attributes.values().toArray(new String[0]); + + // Create the crashpad directory if it doesn't exist + // to do: + // on this stage the database directory should exists. Because the database + // implementation is in progress, crashpad database directory is created here manually. + String databasePath = context.getFilesDir().getAbsolutePath(); + File crashHandlerDir = new File(databasePath); + crashHandlerDir.mkdir(); + + Boolean result = BacktraceDatabase.initialize( + minidumpSubmissionUrl, + databasePath, + handlerPath, + keys, + values, + attachmentPaths.toArrayList().toArray(new String[0]), + false, + null + ); + + return result; + } + + + @ReactMethod() + public void useAttributes(ReadableMap readableAttributes) { + HashMap attributes = readableAttributes.toHashMap(); + + String[] keys = attributes.keySet().toArray(new String[0]); + String[] values = attributes.values().toArray(new String[0]); + for (int attributeIndex = 0; attributeIndex < attributes.size(); attributeIndex++) { + BacktraceDatabase.addAttribute(keys[attributeIndex], values[attributeIndex]); + } + } + + + @ReactMethod() + public void crash() { + BacktraceBase.crash(); + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceSystemAttributeProvider.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceSystemAttributeProvider.java new file mode 100644 index 00000000..9846f5a8 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceSystemAttributeProvider.java @@ -0,0 +1,71 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.module.annotations.ReactModule; + +import android.os.Build; +import android.text.TextUtils; +import android.provider.Settings; + +import java.util.UUID; + +import android.content.Context; + +@ReactModule(name = BacktraceSystemAttributeProvider.NAME) +public class BacktraceSystemAttributeProvider extends ReactContextBaseJavaModule { + public static final String NAME = "BacktraceSystemAttributeProvider"; + + private final Context context; + + public BacktraceSystemAttributeProvider(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public WritableMap get() { + WritableMap map = new WritableNativeMap(); + map.putString("guid", this.readMachineId()); + map.putString("uname.machine", this.readSystemArchitecture()); + map.putString("uname.sysname", "Android"); + map.putString("uname.version", this.readSystemVersion()); + map.putString("uname.release", this.readSystemRelease()); + return map; + } + + private String readMachineId() { + String androidId = Settings.Secure.getString(this.context.getContentResolver(), + Settings.Secure.ANDROID_ID); + + if (TextUtils.isEmpty(androidId)) { + return null; + } + + return UUID.nameUUIDFromBytes(androidId.getBytes()).toString(); + } + + private String readSystemArchitecture() { + return System.getProperty("os.arch"); + } + + private String readSystemRelease() { + return Build.VERSION.RELEASE; + } + + private String readSystemVersion() { + return System.getProperty("os.version"); + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/MemoryInformationAttributeProvider.java b/packages/react-native/android/src/main/java/backtrace/library/MemoryInformationAttributeProvider.java new file mode 100644 index 00000000..b9b2ff25 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/MemoryInformationAttributeProvider.java @@ -0,0 +1,86 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.module.annotations.ReactModule; +import android.content.Context; +import java.util.HashMap; +import java.util.Map; + +import backtrace.library.AttributeReader; + +@ReactModule(name = MemoryInformationAttributeProvider.NAME) +public class MemoryInformationAttributeProvider extends ReactContextBaseJavaModule { + public static final String NAME = "MemoryInformationAttributeProvider"; + + private final Context context; + private final String attributePath = "/proc/meminfo"; + + private static HashMap _attributeMapping = new HashMap(); + static { + _attributeMapping.put("FDSize", "descriptor.count"); + _attributeMapping.put("VmPeak", "vm.vma.peak"); + _attributeMapping.put("VmSize", "vm.vma.size"); + _attributeMapping.put("VmLck", "vm.locked.size"); + _attributeMapping.put("VmHWM", "vm.rss.peak"); + _attributeMapping.put("VmRSS", "vm.rss.size"); + _attributeMapping.put("VmStk", "vm.stack.size"); + _attributeMapping.put("VmData", "vm.data"); + _attributeMapping.put("VmExe", "vm.exe"); + _attributeMapping.put("VmLib", "vm.shared.size"); + _attributeMapping.put("VmPTE", "vm.pte.size"); + _attributeMapping.put("VmSwap", "vm.swap.size"); + + _attributeMapping.put("State", "state"); + + + _attributeMapping.put("voluntary_ctxt_switches", "sched.cs.voluntary"); + _attributeMapping.put("nonvoluntary_ctxt_switches", "sched.cs.involuntary"); + + _attributeMapping.put("SigPnd", "vm.sigpnd"); + _attributeMapping.put("ShdPnd", "vm.shdpnd"); + _attributeMapping.put("Threads", "vm.threads"); + + _attributeMapping.put("MemTotal", "system.memory.total"); + _attributeMapping.put("MemFree", "system.memory.free"); + _attributeMapping.put("Buffers", "system.memory.buffers"); + _attributeMapping.put("Cached", "system.memory.cached"); + _attributeMapping.put("SwapCached", "system.memory.swap.cached"); + _attributeMapping.put("Active", "system.memory.active"); + _attributeMapping.put("Inactive", "system.memory.inactive"); + _attributeMapping.put("SwapTotal", "system.memory.swap.total"); + _attributeMapping.put("SwapFree", "system.memory.swap.free"); + _attributeMapping.put("Dirty", "system.memory.dirty"); + _attributeMapping.put("Writeback", "system.memory.writeback"); + _attributeMapping.put("Slab", "system.memory.slab"); + _attributeMapping.put("VmallocTotal", "system.memory.vmalloc.total"); + _attributeMapping.put("VmallocUsed", "system.memory.vmalloc.used"); + _attributeMapping.put("VmallocChunk", "system.memory.vmalloc.chunk"); + } + + public MemoryInformationAttributeProvider(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public WritableMap get() { + WritableMap map = new WritableNativeMap(); + Map memoryAttributes = AttributeReader.readAttributesFromFile(attributePath, _attributeMapping); + for (Map.Entry entry : memoryAttributes.entrySet()) { + map.putString(entry.getKey(), entry.getValue()); + } + return map; + } + +} \ No newline at end of file diff --git a/packages/react-native/android/src/main/java/backtrace/library/ProcessAttributeProvider.java b/packages/react-native/android/src/main/java/backtrace/library/ProcessAttributeProvider.java new file mode 100644 index 00000000..87a2a49d --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/ProcessAttributeProvider.java @@ -0,0 +1,81 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.module.annotations.ReactModule; + +import android.content.Context; +import android.util.Log; + +import java.util.HashMap; +import java.util.Map; + +import backtrace.library.AttributeReader; + +@ReactModule(name = ProcessAttributeProvider.NAME) +public class ProcessAttributeProvider extends ReactContextBaseJavaModule { + public static final String NAME = "ProcessAttributeProvider"; + private final static transient String LOG_TAG = ProcessAttributeProvider.class.getSimpleName(); + + private final Context context; + private static HashMap _attributeMapping = new HashMap(); + + static { + _attributeMapping.put("FDSize", "descriptor.count"); + _attributeMapping.put("VmPeak", "vm.vma.peak"); + _attributeMapping.put("VmSize", "vm.vma.size"); + _attributeMapping.put("VmLck", "vm.locked.size"); + _attributeMapping.put("VmHWM", "vm.rss.peak"); + _attributeMapping.put("VmRSS", "vm.rss.size"); + _attributeMapping.put("VmStk", "vm.stack.size"); + _attributeMapping.put("VmData", "vm.data"); + _attributeMapping.put("VmExe", "vm.exe"); + _attributeMapping.put("VmLib", "vm.shared.size"); + _attributeMapping.put("VmPTE", "vm.pte.size"); + _attributeMapping.put("VmSwap", "vm.swap.size"); + + _attributeMapping.put("State", "state"); + + + _attributeMapping.put("voluntary_ctxt_switches", "sched.cs.voluntary"); + _attributeMapping.put("nonvoluntary_ctxt_switches", "sched.cs.involuntary"); + + _attributeMapping.put("SigPnd", "vm.sigpnd"); + _attributeMapping.put("ShdPnd", "vm.shdpnd"); + _attributeMapping.put("Threads", "vm.threads"); + } + + public ProcessAttributeProvider(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public WritableMap get() { + WritableMap map = new WritableNativeMap(); + int processId = android.os.Process.myPid(); + if (processId < 0) { + Log.d(LOG_TAG, "Failed to read process id"); + return map; + } + map.putInt("process.id", processId); + String processAttributes = String.format("/proc/%d/status", processId); + Map memoryAttributes = AttributeReader.readAttributesFromFile(processAttributes, _attributeMapping); + for (Map.Entry entry : memoryAttributes.entrySet()) { + map.putString(entry.getKey(), entry.getValue()); + } + return map; + } + +} \ No newline at end of file diff --git a/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java b/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java new file mode 100644 index 00000000..1743ab6d --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java @@ -0,0 +1,37 @@ +package backtraceio.library; + +import androidx.annotation.NonNull; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; + +import java.util.List; +import java.util.ArrayList; +import java.util.Collections; + +public class ReactNativePackage implements ReactPackage { + @NonNull + @Override + public List createNativeModules(@NonNull ReactApplicationContext reactContext) { + List modules = new ArrayList<>(); + modules.add(new backtraceio.library.BacktraceReactNative(reactContext)); + modules.add(new backtraceio.library.BacktraceApplicationAttributeProvider(reactContext)); + modules.add(new backtraceio.library.BacktraceSystemAttributeProvider(reactContext)); + modules.add(new backtraceio.library.BacktraceDeviceAttributeProvider(reactContext)); + modules.add(new backtraceio.library.MemoryInformationAttributeProvider(reactContext)); + modules.add(new backtraceio.library.ProcessAttributeProvider(reactContext)); + modules.add(new backtraceio.library.BacktraceAndroidBackgroundUnhandledExceptionHandler(reactContext)); + + // modules.add(new backtraceio.library.BacktraceFileSystemProvider(reactContext)); + // modules.add(new backtraceio.library.BacktraceDirectoryProvider(reactContext)); + return modules; + } + + @NonNull + @Override + public List createViewManagers(@NonNull ReactApplicationContext reactContext) { + return Collections.emptyList(); + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/UnwindingMode.java b/packages/react-native/android/src/main/java/backtrace/library/UnwindingMode.java new file mode 100644 index 00000000..e75f2d5c --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/UnwindingMode.java @@ -0,0 +1,9 @@ +package backtraceio.library; + +public enum UnwindingMode { + LOCAL, + REMOTE, + REMOTE_DUMPWITHOUTCRASH, + LOCAL_DUMPWITHOUTCRASH, + LOCAL_CONTEXT +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/base/BacktraceBase.java b/packages/react-native/android/src/main/java/backtrace/library/base/BacktraceBase.java new file mode 100644 index 00000000..2bb8cbf4 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/base/BacktraceBase.java @@ -0,0 +1,5 @@ +package backtraceio.library.base; + +public class BacktraceBase { + public native static void crash(); +} diff --git a/packages/react-native/android/src/main/jniLibs/arm64-v8a/libbacktrace-native.so b/packages/react-native/android/src/main/jniLibs/arm64-v8a/libbacktrace-native.so new file mode 100644 index 0000000000000000000000000000000000000000..df12e44936cb2059f9ee021c20efc8d234c1fa7f GIT binary patch literal 1845648 zcmbTfe|*l>|3Ci3VrsZ(Fpu~HbTMJ|U&96|`R`>= zme9)lhq)W@U-j==3RIStxe@Z2FL?jAmi1HrRrQ;BJ~`gxMb*Q?&eG3dFVz^){CCL_ zZOy;X|C_N8^6I~`4EfCv|4!QZ|M!#sUjCm`R`eSGtpRMP|Elt2J=4VhNxR1`jbFZO zalCPp_}|M14_P4o^Z)z}8#ZkC(7}%X=YKC*leSHsHgWp+C10-tSx@3p|+v%o*Kz)xD>-&^26 zS>V4};Fm1$CJTJ-)P^1Eb#v<@HShnt*5;O?r(v2v%rHa@ZJ`9s0BX6 z0v~RHkF~%jTj0?a_-uh+E6$g`a&6v{E%4PA_#+nh6BhU;3w*l;zQY3FV}XBQfmd7L z^%i)O1#axPHlMx%zgC{HS>RnP@E{Akmjxbbfe*33$6DZ%E$|r@c$@`(p9Q|m0#C8P zpR~ZAv%t4m;JFs~YZiE+1zuu-cX<8Ue!s~A546C0Sm1pv@H7j&G5^~3w14B;cn=G_ zj|D!!0v~FDM_Ax3_FUVZb{6;~3p~aGpKpOLv%uF_;E!71EsL≥W(Dy#?-Xfp@pS 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
  • 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 z

    Sp7_N~MG)2RHzW2R1nD=G?jehKQyVe8V%$@u5d%ySI@BQBI{oe28$SR#7T%GtE z=VmSxp*k#;Pxpg$hd=1@WHBQ$5e|tN;fI{Mgz5yMb2+}Yo9sM*v8)4Oa8DPcCC^}$ z`2$%Ru)uCXEF*T(ngSzJyIE9}gC)W=tLM}iF%nC|WPC$*!GUkl<2Kqd(quxgLfsKL zCe5xU6Nq}>9Nv5pWQwI^d^q^@9a)0N05QAGf!ad;bcWG00&-EQVq~FXc`r`!e1TD` zF_;cXAvCQW zFh^fD^!vIFIzD?SLKBWrL%~(L~a(;u(ow;fg%J zePpzx3VI4^7M!`o(gM^yy5nSw{F*+5Ks|5eSEOpt`n&~MGo_2ES;&*0w=ox8s4)Bf zS4(Kj-W4%9T=rf1K;*!t@QmS!&BHIzKSXsYuX5;{(YOrdk?+?C<@%A~r%e$Rs6pu7wwh#>g*keVYW4h|;j;cud%Z5F%f` zELJOT-#Fq6jsrxqMA>#Rg)y=1IyZ%K-f$7K+x`@qQ*vg-Xl`+8&B#7Pe@yJ^Gi8N` zUW^_jtsNjq6`TJOW=2z19MaTC9axuvDd*Q*ta7)E!G>>N9W*ZpIo6B9sZb@OxfcTf# zqKTO^46`JMSjf&uZqhi% zwkK5atbbh0*VZop!r$+G@x>rKSQh)lQy93wtS)0YGXI5)8PeV&|1)S2hg7R@K)rqS z9n2~Tp$Syhw>hu;Oqov?@FanjYq-)0+gD7W`FcWkn-u@|n;B0Co!P?`>@ zj3Uvz!gHpQ=h zh%tJRr*9835Q#Sbom=pdW@r}*oYhm#;k_?#r2z})=j9rr3~wE8cvX~tyOu(r?uSXF zqrBl&SRGf}Uug-#_)_83S#pJwTnClqm9%MIdG2+zzanv-j@ z{>GP7AF|6Q#}dw6d+m+OxtuJ&FSBofky?gh{w>*#X{ypA@59LjXmw8^&u6oIK)$jBDvb?zefN!(5WUji3 z$)1*Q5at>#|6tqeFTd1w`SNSj@`Mnl$jJt(m5DjJciX@i2Hh!_d(9O=D@?e9FeCzdb7E#`8aRaw|5B(EMXrj=g78Ii435v7kx~ z$6t}9Wl2`05X{`k67kL`l+?`yME)Uq(c{?0)^1rhWZ}xbc>`pB?T(m#^vgd})H){x zaXvF-uyTVv_9$2qL2LnDzgsdwLsPLx%g-;8O?JDSh<~JaG~~8p6|{dOfdSZ`-O7f? zj~>a!z*EA%R4e2fqBz`cfs&1OJj8W4Uc&E({__*Lz{3zD+)o9+9}6SKzQ4rp6TAm` zKhG;;x9|z+QIP*bxr*-Bcx8Nd5_mO;d@=YA;|D)g2+yIw^-PK`S#=tp`& zBuTE(=PUw#Vdsd9ud8g?-h9bFvYwAGAmy(J{DIG(+;{Fj^A)=AKg=sQdogf-xxoEK z;P*D)F9hz60`~`j-`Dv*7PuvD=$5#GSHY0WD=^r+(ig%$vj?}dfy`SqypQt=v6m|f z<@!ZwZ)rn8d%>L5tzDjxE!e?Z6rA>VrB051BEt$ygsxPCzXqqWX86apN_N$#Y%&F{=jbN*HKzRq^s zJy(pM+;J1{4W!d(Mwn`sh}2LRsi-JFG$^W68O&J6DG6|KW0wH9M5HK4 zB_b4oBysl8Jp1+MRj%cENbZr?&nWs^Or2i2akWH+PnfXR@01AIPF4(5K3Q>4E@!g* zvbiurdh+*wr7HakJWu?!>mS^1Qor*D|7_+_RZ+cHeShU6>Zf>~_{v|qeZ5JI{a-=q%+|Dmd z;vr@K_A_Ur`}&Po8i>b-K7MMm>y~>r5*yHJ0_9{s_+C7CPhoIFQEDp^T$H-1Fu18G zwH*mAN?lzT+)|X~`v_Z^kN3 z!m4e^k=qnyUcH^V?L#okf7FN20-(-!)?;pG#V1aKG$(H;W;EbUXFEo5h76hy-8F z=NdQ;ZU^5l0ebCrFqTN;iPd9ThePoCj}?Wg&uyn>OQ`61ydbz3r>br{7zt6)^F%># ziPTSS2cw~1^n89h_}({Bg^oQLm9H3D%-L9|dP+R}CLuUnm*itbgB$Yxfg>8+xO;HZ z?!nEw2Or-(SXP&jCkmPfzamdG_+%uEAJJeWm(eE{97kI$IF7bha2##1;5gc1!Ev<3 zg5zk51;^1A3yz~L792-gG#Dl0=o1Ux9cxI6qfadL?pQ+|CHllt?~XNg1*1 z?>73xQtys6G(4kEG&OdZqfbFF!uNP$^|ZwH$2Y<8#IfKw%45NCl*fYOD31llQ63A9 zqdXQIM|mtbj`CP=9Obd#qVXNWS{!Y$;5gc1!Ev<3g5zk51;^1A3yz~L792-gEI5v~ zSa2L|(cq%-9ShzaYenNbmU?%r6^-v$>fNzcG`?f0cgI@M_>QIC9cxA7JDR#^d=~`E zp~(0Euis|CB{+`rSa7_j#)9KGj|InjYAiU8^H^}ar^bTgIFAL#dul8=j`LV>e1OM; zV`z&9$IuoJj-f3c979_?IEJ=(a13qn;27HC!7;SOgJWom1;+d^N3+Z>9Hg+Ch|{_*68 zm8C2F+28Ce7pD%_V`d3#%*buWv2=9x7d+1 zrqtB4+re@_NNk7^tn(5Rf@5Pyg7YE~f-#sL5%&~ijxO8Vm%BRe6_ZW+Ti1wVwC?;kfEFUvNaG8`By(Mm)o0GnFz^`$KEuFg z82AhWpJCuL419)x&oJ;A2EGe0@K1heT)p7#Rj)jI?bglH>L35?NWo8df3fUaYSEJi z-7>BqCTE4^Bu+js;;>i{BxRu_c@|u{8(UqI#$vryQ6gr1?Iba+k}>1UD2Zur$Bfz1 zh=8dqRz2DZ;EbOdjYK6P8~H)Zyluuvl;B4s=Jt)dC89=RvQRdr3QEMIMgpg-&jg?0 ziQCKOq(&@$q>aKFm5LbXdjxp~r;=is1wSKLil1MKB#G20jOn*PB%ZX927+km1(pj6 zVq55Cna%#F<>`VLp%XawYA47u*6!F)38V2%%t~#?N{_?{BbSUB_ zkc^A|ju9{lt&=NmvBhvNDxnN&6QQ5GU4|P_n;_X|U!P&%yA%TzP6d#O#(Pw!HrHIJ z(kx~aV-Z?H(~6=3TU(cTs!~0oDr1ov$t0dI*ZhN>x8J^c7Us^v#d^(J4QF=By!m`LchNrPvDR(l!d?EKhs1?j}3Y zIB$ZP5`(au=k4Tb?sIQ6T#g?`GhR}3zKo(&B{C-gcaz<{eXFA(8d@H5UMfb;&I#Wx zz^b1x4{8h@<{A_*dS2?@P=Sjbz0q{}+#4rA6IJ}Xe^*sL`uT|oRh40%B)RYD zqqv`VzByXuCjUf0)H9d;D*Dx3*Gq@J{O*k#*YB1LYcYomzII2B4s%#Ph?B2z?!=p% zl??An=VYciAGaM${|Ey)rYO#HKN^M1fZN=D_3pjvXWl#0SbsSSwhB%sf`Bt;UVZPY z=U+R4KBqKsix>tG>nJCH<{aM!IRzaiS}1tGey)rRJ`}FPJ{c{dRK0T9ZLAhnui@iW zF9zL?xyJ}buEE!<_hE^Xj^m-yeY8n(Ip6;kv9}selWQ&rd>PypMF@)YJ6us{khkep zMS(4T-f~j!rLNa+++cZL6eq}l+uPpSxoin6I%tz?^s^^p3d+yz=Q$*a=YRC}2ZiovIVavQSG5*d+ zIS(plKlkxI!h4YS30^rPdYJb)-Y@dX8C1~{lC#I($NLKJ5AvSleVz9W-mmkD(#Lh) zw|M1@$=kd?#`_bzf1CHGd4HDo7kPh~_g8uUKJRbv{xG@Y@e}w3{~|1tvuG*a4DV^)ZrpJ}@v$LAug>Z)ETmM1EgrNW^x< z`*Bup+f)Uohu_@ER7IqKTv3`b$_Wk~2X^Gks75Z9qWm&$?{?fcT9crRFhv<2|y^cZjyycZM>W!}4aqf)5Xheaf6g8(#>5ua#)(TGPpXdEE-rrRJB*>>L z_&%j4)Bhj)|1-v4@=6&vei3?dN9a- z#!fa5GC>?kFLBTE7RH76(E>jG6o=5zkfvsE{{XLv5cuEx2(P2 z4BV2xJi8|oh8hOIJ-@z^MWxqt+5LWq?I3d1TabM?^wv_KuIDb6|57S6~f-`wu5C@m1I+0-Lm#Jc0+wQ~HTKg>5P6OVwY}Nd5x9)L-Jo+o!M| zJK;g{k@SM=c={0D5dL=Jgg7eflX#b07ZkR$#1R}z9R*f-1ZU#DB|mry!^JNgn}zX8 z!6^VY?RM2k*$3kl%uju>3e|ujM5-$I*?v+IhWM zHil&-Ob$yKc0cYkM0LXHg(ZMG9=A{c?!)4= z-YX*`iS*$)-6|(1BE@o&UA98xN>fP%BM8_bQfm}VJH?73I~*&B%ig{d85T{~Zg*mX zIJ`Ml4DJ?;8k*UJ#=LX!R8h$DsiNM&xQv#NYbd;aHeOCNFq&OUX!<;sXxl#;Ki3>4 z2yV%Zr7I4PrawXQ%NRBH1*|6naVv7&%jTL-F5B5j^cq1aBFlV6k$@ZnA_yrGVdu*> zV$_ml?;v1}6j4xiiMri+H>_JAQvJAfGZ{q+4(mop>AFc0ziy?<{s?t58AZx&k;^bY zjfOM%#5WgY{DlQvzJ{jZ?Yme*k9DnW5I$M^?NC^>EpyFzc;5U#Ov!)34x4K!sA1{) zPu{$nO)vm*v8w>mS^a>silTE1u^3;G)5tizSOqe39T1^Lb%vg5#-AY{QhtS}|y) zW0jFt34luERSefj1JIzM^HrLeJiELRjRH7&$0nxtI+eEsS-Md!AVZVCqwXyabH z{q8#vnwoOxbjGRc_fWIl1?5;E03g?$K)Xn z$w!_rua)Wxmi%6Q@2u#bsMN17tjhQB-PdX>`9A&QslWVDzPta~$ba&4QpoS${y+cD zA-;d+uirm&jY2wp<9Gg>z})YR16biCPna^hr5wk6ln(9+n_)Y9B?yyZkoOUucV zfOwMPPm=XXlAXkh#tiQXX$WpfG}k#s`;YM|*yS%wb@_6~?aRR^ElkxwuM2Nx**Sef zBmM6K^ab9Q%g}D$Eht1i)$mfJe{Wx!c01a?Syh|ch~=Jn|G-HE5Q->FT3Cdd5B`2t z|DF!r+uuw2|Hk)o)=6vIuh8{%>-W{qTK_`*EB&+9U+TZWEq`bqS^plNC#}=`x@z@U zk7((xerWWw&3<0LWxuL_(Rx)~)xT{$(6glZW&Jmh*8L;$klg-P>pxnL*}tIvNayS? zs^281XDt7(G58LDZ-1X4nE&V#`TY^Kg`GcU&!&_n_rLGjn*;yj2ThiQXM>= ze3&QqBdWEwzLw{LeAIUEHc@i?`5FD;e?P6FaeglLdpqJW$dH)M_K>bVHhfU0X zt#0Tx^&ga{pVasD%lbVv5`fWehV`!cy=ZWE-um&N;BS%V&lW%%h37X+$d9Z4!5%Or*6$cIny&cQ=S|8l*e}=z%YglK zzJ-f(YO-Fn8j8K~>7osPk@t5C+ES@M<(IUu|NK9ROcE(>QuOGe&+l1(La9rUk~b~U zzw@8>ckDw-JuqQ^yF`q?SKv2N;6|-S)$@1Fe2S~|-+gVGV~k$$`!}@Z2Tu6+?{w%Y|GUQ8j(gbpnltr@{@6D$>3hv5 z6F*q)vE}c7wtDQo!0r1Ke*SNS_ShDE^tbHavj3?ipC9M%ADi^QqW+X#G;e>{-?uD3 z#;*q7h4Fva`eX8V=oJ6muzkNj*M(s}8Tc0Z4N;%}ppQHIt>e!2-xsV_`*6blyOei@ zKHJ}2CX8K@Anx`z9i(#q-_Z2x?Yr+^z1wlY zsGfIm2NuVxxCOJUvYOBIIbltq(b?aK#R-EX$`gXa= zb5d3$W$X28MsN8DC?YNgGs~n9O|RU3hdVz^CCf~bZ8Zma%PpbtEAL+I zymjN&^^P(JT1zWbzRb7{4cqX)j_~3tNu|S<(_qa3xe3#iljfvEDE0ZnEslciFoyx3lM({pkMT$}$_jL2k8gW3R4Um~!p6?{$^m z(NDZ~{rz&YZanjjTwBcjr{$(-rnhw566$fa>=APE4Rf)&Aq)XgC~NL*6t2d!W0~yD zNsf@-F1zyCuYK)Y>+3hlta-x;B66hqdPl%GN#E+a)x|~gMuLWHt86>mx_0LNwd;3e1eBRD*AUjF+&QN4^*6uq zN;?-{-7dF>p7>!d>O~ZKzf0P*%yL>jLfl+)`>p%eJAas)63d?}vmYt?NkjI^ggtk% z-M1ui;kG|XmYJ@Bdn2#DiFN?T(j*COXl}SHqXXoal#KC`GKFqyHkkJE z1Jh5a+(#Z$Z9K<6e^{x_U;`!m{*S@$t(bop{$bxcrQgZ_!}1HmcS`@7Z0cXTfB)*6 zx8BQ%+TFdIx3Ka~V_X)K9nuno5s>I#>qMr%Ym7Uh5VCU&cD4c=3OmLTr4BLDAp?8o zNQD{6R)?@>g|P!6VB{;@?}}7QHajS;1L`gNW`%jYr`q{H|DI}nN43j)o{u+GJOAh3 zRPU>H{?EUUNU)v%^K#O$o&WPUQ3!44|NK?7YTNlge-9PfcK*+Ip@-Ve|M^?$8>*fE z^WQ)NwVnU-ov0AE^MC$rbzimffBrs7z3u#;{{YR?b}9ZH)Ii($KYv@bQj)yq`M9Cl z`9FU{b*Og!&v&5d+s^;_>!?|`^MC#=)%q^+dC&9F3QY2z=c5&9)_wifrVCe7`dEI@> z%%vukpTTylhTEv7+`fVNG|ZKlY>aC=LgQVwaYePt?3qc7Cb^FBMkk7_d9P+M*nWP3yO;e`6iB%m4d^{Wt9aTiMC|ANK6EG2goXaplz3srx*c<1Z>peW~)*ue2x+ zdG>pJ{8JHc{Sr0#ivGI3qHpQD$gX?z&*@*n66YuTix7a1@nb(Y|0I9^P#?6uPd#n@7g|00 ztuK7*Ti-f{dA#89_8 zmIZrE4<}T2!oR!*|9(r2BcmR-yun(vU>%)3sK(hRnyXbqi2*%PtLBp4K&@IydegOP zv?8@yt7a-vYqe^*BDG$twkpyCpHr)@J725TU2+|*?AM#MYQE|S{##YGq?)ewwhpS5 z>eR+T)$OI$4yrlNouo9cp6Sx_77nVh8gJ&H+NeqOJ*N8ir1~FIqkGP7kmVkZa7^y? z)*e&yd%cBPwYs++_jt;iKd7csmy{aZcVrfj_BrDR)#^TP_@Elv@66Py&He5)#XXXx zZjaQj98i<#HoPYfxGO+(z+J9YvjZ64ce17N{cquN`x)V%ga=xch$q#*7K7t>=&D({UZ)tvSQ zlWNOKZ6(yC?F}T=vh8&z)tYm9BB{m_6O!oR&>4Na$(yzGO%Eu#GNYEBqKcMY)y{~e z*EFY1mMv$?QY#j?>$aUfTld&r1WE(vKA=~;-k7bn^qgObheMBH-?;ZHDIm=zN^or%K zTZ}lj$JTvzYQ)wfy`-CboYTTB?vhp)Qqx-9OigLsM`g7d(lp78PAzJ^qTLNm zy`wdJNV|PrT~X>vc1@zE`YZ-Iu&?V>ucf=KRAJ2ouM+>FQWvu;nl?-ISb9X_uj*7c z@am%YPv}&A>LTD>P?y|J-4QSUDV;WTVCbE4FRCl<9hxjs=)<9>^rPw&CLB_CRJ+@$ zy4)VEA4DS2M;=#Hm^VWQT-5c7#-balL95;Lhp*_?3vFvQgM!hws8bBgHSNyZ3YhU8 zv{I|KUbZr`j5j+yVXFa~YAxFC3f^{xF5;vH9E>~XAIjV#2cK@%Q*fV*WYb@2g<8?hOa*|SUBGR5ixsNRcBd;K zpw3i2(ZhJoaN;H(EdzVD7& zkejoU7TNciT09(T*3UM%!;U_c>38(aG_G##^*OYtyJ71o%Uie6NugsD^ls?`v{`*> zN$XSIg4P}M1U(?*DTqKY@Wr5OfoCeIWUMDb<~D(D=PQ`&EY zcq2MZ{U`NV6R*Z}{WJlcWah&dwD%D0O(fqh1tGf;9>NiN@_fr>JnDQ31 z%S^Z=kg?*x{T`NoLxO-EbG*m*`Lb$5FG)xQ-AE++&uwrz~;LSx4bDtkecGvn?$qupfjK zh1Ai7TOIt`QnbV+8R;Jq_Lzae*|b!A>oat;N6!XY>LXFz)ass;I z%_r1~og#j}<4z>>ptDR}HWTh(QgNlXYSBmnrotbagdh4EkpJe8InPhacs=-|CN1z`mEL7|L7ujjQpU_l=qz*}1G z8XSa0ift$)zwgsI)9IKl)ddg2MmA(Nsq0pR_PawCJWn5K*3A655zRs9-VuXvZ(Xai z?yOerb&&A;E>n58jIKE*Wz9+lmn+_w>Ta8kt9xxaZX_?-^u2(Pr4|!XBrUO^JzAKldL*HGEU&wQvFL3jrOVC3 z`B?6BQuwa%q*}GSp`@Uh7VWlEn+Y{$OUIb9-O&UbQ5`-5j8>XAXcDv* zfFb?z8Px$B1N#F4wuDG{Ys{K-Bx#o{BW*#0Cew}|=x>^NSPE_RRubx>0DYxy3_ej) zE=)#x(_uz+>5JW#M_(MUvRjVKWwQ>WFg1z4?F~C>#C917whMzWZ%2j%eetjBue1p( z-|23_l52O<41_6%f#8l(XYGwUv}F_ZpS0XTM+jH1BdyqjzwORA@ORS`Fz2{ij$Ux6 z!#3a#;U&NB6DYdGDQ_SF2hloEE(xO8*OV2pa(xa5HWO-whY^8>11yjP1EfCGv zE}?Tay`XwS+h4L7-Aop6X3{Bjl5G zhdect^!h!un5^%vQQZ}_L)B`i!tL|)bcMH3t>!9HE7fYL!kepB{jNJhZmu_7t;XE? zHBT+LwF_0OHr**8f&3`dSM3f~>vhlF@^nv)J6WUqYM|rW4P(Z`fY#rF^A?g1F+J@u zj@yNxLeF5!CUgq6YzB%@A>9CW4JNa%LNLLQo?v(+)gt&vs(#y@Nmd)2mJR7LDF*1U<;|ICV%iK-LN~4U$%K^JpU_*TYfdHHrG%bI#QMJQO@kCO zs4qex)@4ycKk}Co!gF>CQGVd{T0$M*z(%zUB#E;hB}7%9Vluwqk;4@RtI+jst?wGH zCIyA-lw}?Xd%>0VAZOF`uY_O{G>=+G!Sf;v1mx06L4Y^Ziu5>SF#$8MMU|4eCmAIZ0^6Po9>b)=1-MQk8hC3A>8JzzwodVqcn1{d zI4a<`WLOV*O!Xa14kj!G;EMMGe8z^s%g{dU)Vr;b^@H!%7V&$i4?%*M`?O1gtZ4`8 zF=IK5_Ib-;3@=zvrvRo4vd$>rJ0-uYb2gHn_#JhM%RTCxj>MC-jO14j#P|E9nG7y` z9&=H6OjB{{ec15zX}VOeh5)NgJKaqub1o_tBIzv%j{}{R^q&l#y@n5~?~^HsO6~~H z9s^GkJ#bX}{b+kFSj#*yFVlFpp<3fsz>7VG@LS!_0{*D*&Z{~rbDouN+kFB5-lL}} z-mD;l^6wzSY1-5b@vv|BYrrNN&2Z*HJVI~A{UmKG<6t5W=W~X5c;t6hSkj9wwe9qn zuOG0QX5iNHd&F=uAwFxJqp@~N5kuA~S?Jb+u=TXj(+m??!)HfjfXnO(chJWSWP8j~ zGq#{X;sxs&I%}utx_+C3hR$?kT~TZLzXOOZE~T})1B`@evNdajqb{O?rY^%+BM%st zu0mM&P|oL6J6vB1PVGvH%J%4bxTH}%VPX;fh>>48G;_V%t<}*U33xd4W4Z%mDWRm$ z$5}06o&|(YhDBNzTHq`}uXGwJ*=I@2X*)ZMzi?Y{KX?y0-VEf_@gRN+_#~K2+;RBa zggcf%ayd>SDJ*yltfvq)2pe}NHE7Wh5QM<&&X`z)zwEO>BV38(F)LnhnGPR#D~2Ii zhG#I$@u+rYg`+sNCSnHRC3>t{vnY|-#o&IwnQvu%+~EweVDtMEYvigncw&8NBMMnT zd!=ZCn^z3Pz|&}GsmCPT_C6&8c#R|$}vLA;VtfG&mmkblIQYkzUY{Y_- zW_lh^c*~V)Igwt0QAj#Vm1Y90l8Jv9wj=4nD2!CNtCec1!da};W3IDQt*2aPv08Um zx-*rkw-SgpE8V^-yy6;X3t!y{HMJ9SlRyp?_8gyE_w8yN_jd9CGGC3JtmPq>74ZTgn zFx&xy%x~%83KlU(nPcr1CjKQm0|T)I<0P`5G(L+?eGfiPQ-6h8NVKgnWhT>0Oqof) zogeCYpI-Nh1R1y%87)#3NWh9EBG*le!9v-Onl-xzP3&gP$ePNU_8XqCFJExyz&A`x zrLe}nbP8EipY3f{2+IPyL+g!K!p?a^mGJfT3oa9F8iCYe!W$%J((S<~+3yHyq`ZUl z16e?(!7mI6@bw!;Tf+93K2}SAZCf-z82Ii$KRuYzUP~4y{RQy7^uQZV(n_)>g7sWx zWdxKkR#rV2nXueGSIt_PnF?5gG*aRb$AguC609egw7T;!?Gb}HZM7?m$$Yu57(W*_ z?WQ-AggKs0(!y!VTcQlu2?h;x#!C0edQ8~AY1^9x4p~pDWoIUsub((7YoH;WUKI(2 z^qxMemPPW2#cDFZNlHNucx5t}(X9qgrTw~zhp>+5eL=hf!PrYr1Z!YQ@o9>T%Vo-7 zX++OmwHS=x^9isHi)cxG`mHhCQ;tI|r=9scJdc@i;LO6Jc@V%+U5j&C7#be(sG|(> zg)j@RvVfbq_sU8`U>`#E+tR+GHG->o%_I(Ti4s00eb5J{5#4?mrtQMS^{jhvO??x+} zq5W#Q!WrDpz7q%3hi6Zlu9 z$M>-Xa0+^71z)Y5)6>1EdTsYNfnx=;1hWES?Z6Lq?0zv|uN zPVG~Jdop9B+LIpLr`GnkBkV2g%?yz?RX5B&TPof6h?+^I7x$~hlt+bDQfVr&neqU( zXI~n?2lw?$>pUE~s=ww_)scki5C*?ryUcMz+GCCzW6FU&*50%*`z~y7pC#BGursjy z6LxxmwW96LJ9@oRLk;q*m~)CU=Vdo6i9kUSVAWHPRgM&Ln?^!+|DV+alF zrb!t{nF%4uX@=9N-Kuzt++jTA)n<~X5)EQ@SCY)48n{CSH_J$W06(gGgj-!^9VUBcEfHv>tXl+c0^ugROi4)d5t-iVH(9nKi-1zvRAA9g zv36ax2Z`66@Q4TdHGw!P;o(1>aL1E+HqlM!Y|>pw>eZyXk<{zS2)NSs>J>ewGY!Mi zEwpV_r?*5_15^{1%+Rye6@!yKhQAl-dtW#gvkpqTO_91j1WnA`O|se8m0_M9&~4Dc zfNV;6{@McK1#JZjChwn-30{bA(`YrEDMMxu+K(u~%E~#xrV%6zHd7VL&z@?yP)e9} znue?CH2AJ1(wp!;N#I;grZ=k8Mv`PB6-^=vsc45jx#_JcHRa;F=B9;DssyE@l}+8q zFDj|&KvjCJN{v z4rHc6*eMx5PeHd^(+|`|3gY(x(~U;04G4(cW5IIwC+-LNUsHFOkKJWz&Q2x*80IvO z*(|kGE%Ls3KJC! z)LIpz+rW_S6nT1AJ$2MaaGB{xU~3gIEHrLG1g`aqvViLfU~Be;GEhIWx!o@E)DB_( z@5mh7qwAQlVR_fhHUiSKIg4dckoI(Iy1N37o-Rzq=&MWc@*;M1*I~e{y5$PQb}8I_ zPHGAHj^o0NjU^;>B7v+;@b+Rh1;OY@!89SHW9ZLlXSh<0B)l=$*@UpFgUQ-yrCpkKpV*k6>@mSZ)I%YBCa~Gsxu4Ve7BlKA5 zHAfFx;6wR+!Q`3W=S{Kujp(!+p{bBpwl|ni7Nz~SV@rPQ@f~%Cv_8uohQ4@FdXh7V z^?Aw7fBZGX5I#d}Tf)yGytY^;$?VI1I$S2~@qlb!dy&kk-xI9L(Uj2cjNyf#T)jw$ z5yx6vegVXJ60U*KJ*8`DX4sT<5%Y?KcGQ9|vqK3v? zbvD8_uj-Oj^#f@`1LFat{_td0W)61Us-Am;%O!TdfU^E){hzvpCXhp87)0$eov&cp0AR6twVK|p9* z3+KCFPlHH5{vlcos$_Y?6+kO{7Aux;%cD*$tuiet7AD_}&#sI*XhOgu!sJpV5QxBf zQ_mCWq3rD<-FEfG1&}i4xN8VY*%e@IkzkM)c2Lp3s5&dc^L80>ey1@InX-J{5(mL% zlk`U91Pt;GEsfq|ix{ofUNmX^J`DYbaJA87Op&8WJ>kd>$CLw}x)ToKhMol6Z(%9I ze|?n(rW0H4cnyqy-B695wCe_HkY(5P*XSvyt_QbM*N1_FK2+>1n5K8MjlnihrVR z#nX!kCSmHaX**=d8+*=s}+bllhv%SYQt>N!HL=)9us!GfslBNZCKU^Q=rDQYmL-`Icd#? z9S;1eyN=KfLs}3eWAodY_rZ{c0aZU65hD5#L@)+(`tTiZ4L%%tfZTo1V!~~eX~m(b z`z(je*?ud+m;viPW++)*$iCl@y-mYe1L2Pj%PKp81$cvJ!5^-aZHQr8=!akD9}IXF z7h=i$JS(~|GX9}10~IpVpfSCMlrsMz30ZPHR`A^k*hMv$s3+BW!sG@_pJraqL!yKl zx?`@)R6|HIEQltXg3bi9hCM;UcDvrVtNL69xoN+TljaKY3B~J9>_v#_E;6d@^zdFt zkvm-@>;qe9BT091FY>MwJk(}VC`b=$j2fg{{d#$?8mjUZ_p)Ghr}wJa>NG4?ujei8 zRRi7vK!TS;%#^}Qc@S9`90nHi@UUn=wG835hNX8CukE79OgqxOvb0RWJ2AC(vxj1d zjGwJ&HhN+6kiV{5=^3-}JceA>PSK=WcI_z21r9q%h+e13ko>-v>xK+~c4Mo5S*DgX z!Jw)0PX3{+Ms)UAu`de;4pB8}%HfUn!56Y>w_MtE%PK6dG@aUsejN<<4rJU;=vJC; z6M`SYUOKN@7$z2=tO$XDH8*_OIBb)Fy`H_^O;~<*!xF`#4 zk&G|t)RIU|MVds|--2Ui{?_S%YLQ0vBhzLIsRp7n>zg(7E@Znp#TsZdAvyL{$O>_? z!ey1WT9INYw`qJvm^rJ}v@1UIuEg0gKEsvbGhQh^OO+C*zsh4ZIaDQlvkzZ$2m>r7 zFd*#&2591p8Nn-ddY(De5l(Ez@nAUTokf86)9zNca{Aw1BP%}2Vi}EYfe4)JF>9_m zc=HQBkoX<)<=M>PcT$WGoo13j(UDG>TS6!-w9#WjIO$V;}KZRt?GwE(Fg{`{~2Z zstOL|6zu8rXRy;ZO5@#acRSR@cKVj+oCcfm>E+1sRr=N;7&gPSvC^KmMd4t{Xq3y; z#dvajo(NgP#X5)~b0!^NL3cvzr$xcY^xfwIagetTpQ7(ZF0M=t>MWh?} zhx=4sza!LPQ+6sArNZQ~TbQpGD;l5|Ojn^Vp47*nd_w&k_}?jwbVT^6ezKHxgI*Bv zEt;8AwjQ^kl0Iw!9JOXmkB*{hYZ6-Oj*C?Cw1ML(U*5$$*2ng<^i+4j5UEiiQrmOJ zQ6ulQjX|zG&#lkC2>FLI}qCk zGJPV+r#H-+#r`~Ec^_}S{36|{&a%n?kM2?Lf@*1#G9J~H+13fIyFf)j{iWcH!ZLS*KY)?Ru)Q~oANWz1c6yy(mooAI>h_*6egGTkIip&B z9uZsxaBPx?Kf!~)-QeH^7=2-b{a9o;j>|Ho&mlw87SI!V;~ZyhL~oLT62Nr2{lc)z zdes?3aNFZLhDGSAi))BR)1?1>2a6UUoEKy<-i&+?Sl`I{q+>Q z$c8nR&-=R#9(EOht;d?wqe$fJe0!JnM?UwtQ|SM2lEy3`agAtJ3y?E*>r6WvBnp0a zlh28q?}EEjp)Wxo5QloK^HDJzXUJyrv<|;}m(mFLp}zxF zLiN~4WUgZKa9wxn@hTQFY1uur-R>#`25F?sTQ-^~2uKI?Br2|~Rw_kHqK|EYq=(OR z(wQ)NExo9wCe!G(^i+84I?h(O1C?sNLO4Mw_X+3=eGT0d#K~ItnO?`65Z-@NYGdLw zcX}+v(UNCH&w7(3Ju82f^ou&hVt&=|@Iz>k!$sRE7Wvb*j150+RlDdzUK%zCpgfOi zt;!TElpxqcY%OekiNi$6{4%Fywli^3>8ReCIma_dC{q=)G9;9}-!;t%DZK%D3(!sa zoPIiBnlk=cY)sTvTn@!ev5Ae$&W@&#GUc3*z>ID;vs<6#PFTneMK6EeipB=s1FQvQ zJ&5YKFfCMXAitO7wt4J_oi=z(w|UbjGYLYvQcSBo8Zs;OH9STtf37nAJAS6+&`pmO zE>&j$u#jek?6$J3MJL!d6W)?;W%4bIw_qeTn_A+HnRt^{pXsmgu{UM)N`5P{RAsvx z_>VyPrV-Exb5W2VTnzEnMN3`M5O2tlc;q_gQ!47Se+6zpgn}NuY&2LDgfxb>yhD!#aDF zrdZ>#NHTp^bU=ti{wvMxD>qXI^m~~_aZ{9)sopUh} zApCth$S};YV@i{fCoGwhR%{1i#&{*4^`d?*cpD-Xd)CY~!&=;wKW(u%M)Qq1B2tjS zlcX6S-T;$kxoMy|$P1wxx}7;^N`wIewk-RGWEkq`aboX%RN`-0PPgn5JN-7ujK!Ba`137G5^62H-iYPE_l^lEq`e{u z^7WQ@Fb=C4D$J_h+sjd7TrRKf_;BUxI*k?8eLCynsf(&eG` z!n$fIF3)GQ{xe#?%UoL~Z53MH5tu3JStB@0mEfy%g(E1S;wn*t5XVTFKAtO0SK0DER;lJ1QDTvuvnY2EjZ%}#k zgRn3#Cp;BrDxvk$j;Lrr@fRFD7X>0h>nW3Y3O&ye7Om_T*|Jpx#V4QDD9M8sd?#uB zI?$}^cB~sr3$2H0vzrP_$K-^5d?8YO+U?JKD6;E7P)wzSMH{y@vd`l9Bhpgl+`yR7 zdJqU}UQ)rzulM&5trtD=D{W&M9tUYd2|cuzbi+lb*VYd>rpoS1hWT%cy*XGBS-{ZQ zuE34ka5thAPQP1=B3Q}1@se)5C=)a1eGtFS=nM@pY_ST`12+4eOxR@7?ZBw8zILz# z(iiQeejY_|bYn8$|EF*i)#YR0^m{swkI}ZD3O+8t=IQ&=ucmZ{Zf_KOWr?|EVKInq zx@bEr`|0s;^(!U&`X`6uEBed@vA{B<`{3DS4UG*M&KJ&#IHn0@8Q4%qn*pO4FdXym z6B)sr((8n0J z#kBDM8#s#k>Bqq7_jDc~qisJGe8g$c24|I-SU(XB`p9kjHT`OzhScdLJpiE-#%U1^ zQQ10%CP9QCJUIK!e2vAdbw>{g5n2-RqgIRuo9uC?;}^Vc_64b(z$*LjIGf~PUYo4Xjh}nUZB?yl<36e8@SfA6lDDF-2!*Ug_=-mS zurULK^cIa=@BvXK%AzBp*(Es&=I2#EW;LN>FlLLg{5&dGXdNV+MK(>6r@>TbP8;t2M87rc zs)-7RNV64bbmo>SMAGP=P4gRB>?4h8HaqbTAK-S+rthdrM?al@H)&lOf6I5)RvAy%nd~Dx0m46&GcG0a2ca^U~;l^joKfA3C!S9AqHbwr(HNYw+r*9Kfo_mwumdi?U2*AmC@b~p3lI$Y9lZ<_KwI=a zJG)8mbJ}o^C1y2LWv#*?QnxFc>H}hILfSZE&huRu7i*1OY)qMTvcFXVVS;-zak{WK zcmWCPhQ7kuyU$2lk)h%q$j4#7?*1pwClm+QPKgfnG(fJQfhj8g4nC7M1H-`dI5J$3 z<7UtU7`JaC7I4H^)0o4I;?FZ|Au8UwRZ#(USLD#^X%QsIM(8H{iUk9VIv%1NDeJ+i z=#;rDXmuv!l*~dhy-aH+WpD~E9;f!Acb^gUD=8P1uW7d0{Bk9n9aP>7JHB%gKH;R9 z0cN+uM+qObGwjdJO8B^wrV2A*_?MtqocnMbC zqAJqBH&u}a;`s_QLHY8JK(4&3nKFE8LcLK{V}owJsNP>j(4~0Y365Oa*(p@|9Cs3h zVkd1hZQW_KXcK9SJ}qGWQgm$H*=n`nrieL#?FW1+TO?JLPX+`>UjlN&3JeJJ-lS;S zWgvOOiS#g<9Le;S!7Jns?Op0KQz7+P4C){@R?wH?t!0m5&Kd>tY!2e?bnJVZj2!N0nW!Bh_6`YS^_5#s%i1U2g)9RBvMw~RQIvJMtI6anz zw=-Mp!ASU|lU|{!+u^(Sp-`n0Mp&>5}W z6kR=mZ(TM==ozta6jH?Gx{P_Yk%{Gpf6mauT6DU6doFCs;2z7bWAo+rV|Yz3SHlU{ zIJo<2!u$jHP)QlpsGX{ zad2~xE`ToxUzG4Mp+&HySoksF!oLTLd{H=uu5JlkMJkJ)Je#GQcq$wXMn5IvosQ_R zh`wQwA2N@N-aLa%*Fw}*P{j~6U$OEwmuSL0k#y!NU^g5>hbqM4+h~O|>NaOO)+8 z1Fr6KV`X#1_UCk0%gWOnusqU#h@%ZhMh23&VIl{&*s3|C#=TU}AvN#0V}#ap zjUG}Xd&IrCw`+hnDW~_4n%Xy}i8_Em+2yCz@PSQhkc5v-T6p$8F|PX#sg0++rKk1O z)85b_HT!g`n+%?Y2CK<>ceY+n*GHf;xb{>=73gz(S)ab>p{g;cYsXn9=x#kGCfLLR z1we;wW zp08Ic2M6pvB0N525o6`aIlWb{W}our>NSY$rL1~)9iMs`+QZLy6VK?eXQDL+x7f1) zm!k%kbnYeH!%0#2GmnKC`@JA}&c1+;S(51iGXe$$mx~E!C4rI5XpW5AAMoh{JpPP9 z=YVx#g&EDxE@JtHy%n((bcs1`BkADZTOoSj;}xR2lm(u-!{<)wOhAX5wkA z-# z?(>-t_d>$mYUHe{xCgNfh5cGr+)J*z(5Tic#XZAOxkfcnE$&{1S0l7Y+;en@Mm4ub z+{1g_o<=p268C1xU2ouK0C7+4cb6K}*dyZZPP?-WYCSFPnMd7;1~qX&+`R|g;RdyN zP~3C1ZeN3%dQ9B?pK~{Js{3(qFFfw9tToN-5U zs{bi*uRP@r9;=q#b za-rA5x*fAxoCw5XCK~Lx2Q4OHcICv)G4P3MG%3W59?Ez%f}vC5Z@a_QNM<^4Z#d3M zmELqD&TPV&uhMgvi>lTu*!RRfmvLj?bGAwkB*lL$>CIH>N#kb1pT>BKaSv3ulU2|M ziL+MWj#oiq#XaI;YeA12_pFO~F{Zgo_%Bta2gtvYi9smqsHes}httmEUTcIhnXyoL zHrDb2Pe_-(F;x}G3_{9@y)y9Mfxi#XX;LmyYSted6xh?=BqEEBnPg`-nS#Ob@5U-SenB zcT6umDsHZ3nLefm4~l#1pgVO;FVu>A@-cVfm>&9^xVs;BXOHQ{$HhHW=gu6{15b#1 z^9gtIn4W)9+!LR7$B*g0jJVgK#mDsQQ{oOeL+;oyJy$R8@x$)OG2Q!& zxYwR>VM=G775C^7x0igL6ZiUaZXfx4LEK|sbbH9>=pEeM$Hr-c@#mej=hgc2&g2Vv zbW0v?%6r>edws$GCW8(Senqt4bo2nHFi^vf&Mz|&V z=v=m|qEav-&Y(yAiBESLq0Eb7M;`PLl*x4zO!wj&-#%{u#=mkj!coC%g zw&G|A%-EvP>tYd)QNzK$|e%k5Y$ z%dR;iOhd{yhwQ=OMh@f;)K}IT%Ly1)cPpVe$1{|KagF6Kw)I+-YUP$C?vFrYp+m?# z1aySG#;8!j^p%tP3w6%C*7e-wq)*B96c^>^6$~ZoPIpjRiBq6@S}gk(_9*FR(iTwI zOQ~gP3$|-Y%T`6Np_cxbaW3eiZo9rj9|5NDk@FTcs*^#KqRa>M`0YUYt=rs2Lfv$_D<~E#egnFe-{V@0(sFWWIth(-@!_n`h%udob@o|H;;djt zL<|OE3m=^;i8BnLkS#K9nb7ESv#%*kD414(x{ z$!fvH#?V~ST}-m=h?!TtCe{RdIXhJ$9MM>X9;t}5jv2S^S?7{!lloA%Q&@UDZR*CT z_{pGdEXQv;tj{slMKiPbMC`#~FD6`$-8e9O;?rx1q!i{5#dY*i@S$sRxkbNyYETyS zz`bsZKz_)PJ0eCzq>9mqO-J`&8;*QMjD_VZ?qlIx+*|_F`z2s)bFOfyrh(PFIAnD@ zh!00-9$+v2y<)SgJLPnT;nCmK7mu?1??ISD!;?P#n{`kx>mUmA!$0cp1A$0dtbg`k zFGCJwh4WTuhmiivES#Zyp^+&k6X}N!^@$*lMLp~>?Rnh!FpkAjcTB$C$w=>ni8s1#2T%`@kF_hp}p8ExT2NP@!(K z2EnV>y@#!oejBfuYqP-Jbr+0vB zT;L*8;9A$f#Q<1g`6qJ^aP?VY*Bk8;h}u92xI~`}Hh{OxeveJN)66AY#RkQR;SUN= zCxK9$blKJ&y71x17ZSKR z`^Y?UIBej%So(4CpTowwSkl6VA>tVEfe1}w%Oc_SROq$DDNaC-ChK9_l45XtlOw9^ z7*_zvY=s=mU9MmUQg^%9*w%wCr>6C=3v#Aich1#ouDj*xji`WDNq_iWtIw9k3bo%p z!ztQl6+0K$;L=^S{KTZ<=w5dJ+{Hae(8LFsKtD#g*frim`#AV8MGU6UbWG1<`-{%M z7jfB)9!k+1>5V;XOSnmEPQ5jN2dSPO0%KcXqE{ z^4yudYQ^)&b=|8a&P0v)Ox4hq%Qfk7s2XDKJ!)VN<78!zyS_(n?Qwhe>cPG4$X-3Z z*PYs{C->5pi!8tQ>h-f7R>H*kw?{BXK)meC(Fs`Tcc3lwTK_ z8=N7pERcs~Rm|K`+K-8pZIU$WkcE7_Qhrb{=x3U>?Myyiv0pV8cOlZ;Gz(an|6{*X z(08*i9+qWw2-gOa%?1lrG5FRQz>4TWCag8#ZNv|I9&}I+6UK3}lmBDdt99W;op#;C znx%jWmgEZrkDgOs6wh<&K7n5>KVV7&PaW`__S&QQKEY!20me?G?Ym_yQUI}Ee>d%1 zf_uLhO&8>Oq*R`}l_zuE1zE4LX5j22lkSwX+BzosETQ_co^XcIp%!NhmM8SyI>K%Iu1eWbDl z##BnFjB_+vU*P(*!&v*a)b?P%g!xnEL9u;PdtbHk6ZdXmo`Mo*^5^QsM#V5~F|6ez z<_LYEu({2+>)}R#XcL1MIR~~vTu%6}$}t&C0chE8oG$N`^G<|>kH2QTskn%k9(JGEW;;;&m_J^;5v_Z5rZA8UK0KWM z5Wpelp1BhU7HmPc73CxGkje34*N90M1qrz7D5O$e{vKzBgcunwgjMobz+(XdCV6nF z8O!L>WwCyOE0hz&sBM9j9ue1VXJ+aqw#aCEUW8eNT@5%yXF=MKF};et0PVr@Zt5#c zzG9C;uUIkIBrn!vyxv?qFKj4XOm)LYGC;RMDAeB+3kqWzLcSgRA-It8`iR{}?c(Ka z!;&h3g|I=5dMk3J)<|)b#~e_yk0O(}k6Cgc^!kL#U5X@>Hj^Dl)Au)Gu!u}`f}ja~ zaYI&_AQ06&oJO@q#@G+7>GZe*sf32~Va8OfKGv=y$F#)T92r@Xkw6MD57}pnw>hqj z#B~L0zjp1i&B4PvG^xq&&L9E_rbY6DpJN%0Az^Z5cL#4;PtHGcpEAd@rI-O*yit_^ zMk6%k+G2`X$>-O|+&eFdj>KTCJSb*3YWtD&!WkkOmi!iA4{hpI+iP>&n~^4PG~VfF zg_Exr%4F1w)YJ>_uwDbEUS!wz|MGVK@r`eD;`rY)lRLNf-po}Lb#E?3Py}UzBAE5b zQnu_M7zDLqjqeTSuAm5N1!EP1U=UZ?utn|Giq$0;6k`=dP!vT_1hs;)#rJtSonO7Z zm+$wFPalt&XV2^WKJW8>=iM|-PS;!Ae2cD)(4QZ=yeQ1OrzxW816EK z=fiPd+}&emuI}!y*pH{z<#6~zvFQKvKD&OV*R84FHhO-*lWa%B+X{s(81}q8X_pBl zJayyd`NWyL;qbw2)8P{0>6P%=Tl2dLoAq34ZydQvIN(iqc8!JII<+h1%wFGoU1nuZ z`JBtm=CygNygxM=JNd45DSN={I8A6`=klXbG%9;nKAg43cBO2=wavE~-`G9At^IJ1 zUvtg!%=>!y9fvE6xm`DMTbB+`-)7^UCO!}z%tHJITV=x=_?h{%Up(vzPalQ6Yo&TU z;gAV$l{#{&{BrM_9Y#r`pN%cKkg__;{&< zr^=svKf~~Omj_&rLmQj--aUh7Kad$i&q%r)mHSWTpO^E-u4fgHzi)G1;iKdB7f-em z=C4`*!t1@gxNdWN7f1U&)fC?EaAYD3D~$Q%XP*00V8>Od%~-EFgn5Mb;PZ~YTjd<- z!hutf&Diy~9(u!P;dv5geV2!84}e>3oP1agp9MV`ZW8nrKY5#-kMeG$!@T-?MxufJ zz7MalEyw+pu*Y71iS8c69~rm&CSu!hb+2>n&1VGq$2NcOQjAr$twntE>93wc(V?wA zhT^3tW9x+e&iZ~|Yftt3Iq!0O;hLYhPLBEXdpd{bbM|z$UZbO4*5}NOm|1A!>b@WH z+;%#-)sLs2)9w^D`#kggwWEf`Z1ne>xL4Hduio-hzc*_7z;^dBdwRU|cK-bEV%)YT z)V=NT`6mab9q%viJvmS84WH`g>G!&i?cM7^ZnKX|_aE?WYxCWwR>EFi+@0!#tLXTt zdDSoRbnGQPi?@zuE}88;)o*Hlc)O`$cv)O!SJt;Db~#b!caQjXGMs})V&O%I)tH?X z<}xrGKE>{!`zXKs8}aRlUG`hUJ7T$3>`p1;6B``V1G@&CXwTp5=4329_uQx7)3Iys zitmpV{MdA8*XY1G@eBL?ZfRE{Y|yRJq20^eH%X@4Ykc-N?( z<#G=6>9{$^W2s%eXU}6Zmh_9Dv&!9X*FB<9*RUQx@_REbml^Z$y`R1OwIf7+wPteju3J9S?`3&$p((^%c&S{%APzvD>Z%+5O@E*T;+Q@(R*(PMFQ}DjJHS zq4<hY8kixI4-)y41&ghBPajWsOZXIGpg_P|UK+1B^ex zuLzms7&B}z&!d-l_M25!d5klxah~gJbKpkC^ADbwW|A|^vc&?2Z@fE7J!4mNVqkZa z5-ZX@8SQg|^Q_&&x-oMv>-Hq`+`l^- zRet#1yQ8%9=>M^9Jj4=9oa8vm$}O`ly~ZZ{vW^EAxxu4{N9&I@*2U|O(I5LBYyEhH ziDw(vnDyuQW{If*&oa@{$xKSGR4`F@p7Jd_C4LW zSz)~FgT9}kJ?ZYaemMIq<;5qT?Kn%1JV$xyWZ8V4V!t!N8q-{2U4HX<<{`cKeB%z~ zCd`8?FObjK7g}F-Uu6DF9nt?&ou^E3_@(M|=%4k+X;zthnQ`$5TO4#_yulM}>38Yn z#`Rp|d!_O4uv_aw@Kx$_@YVJ$m)K_GHTr#?U$(jVPILIRj)O<6Ec4RiuX8<-ZZXgL z>&=6nw~6YkvKs2Y!F-r`qjhJSea|9OutQg>@XkF|6<>=%J2w&sP1?%`3~1j@e<3@qtp76USgZMcUq@^blqZI z{`|YNFP(e0b(EfCPI`?crf00Pc=6vHpBLW1JLE{)hf};QiKv z*$)`sKUwcN<74K7)`R;$WSs0Y?OXNNgVMF*#wk6`*bDXhamR;8KIwRJ^wav`$Y=D! zrO#R~)<16^?t{k{ji2SODaYbBtuyoAR*r|hquh&(XGJ+4{;qZ6V%t3R+v1G$^bf2D z$9`xWFWwc!e`NkltUA6=GjA58$2rL*HaPiH<>aq&l>Hs$7(S!D%rvVU<_yD&vAXJY zI4|AhGJAd|&I5E?9ZfLt64xna+4pnn$b+nM>=){Dbj|#f&oRS1b3Duhf3$u+_43%C ztOutfZy(R4U3;Rm_EuPx?%nOlCJyiM+!Raa?THdEbKThMqtdy`QRP$Tt1ms=L+OL8 zN|!EBpNki&&xwonMB!y(ix;cUWUunfUB^>mA$?uXKB=GMf^@ylQ(n?DY;y2=o~Gj{ zH&|xkna;D2R(|aId!ppaofkJS5AoT4K7CCTh>&DJ)trw5n-a7EW9klaG>wjnUIXG-w9KEaYFmZR| z;KaR@^TSnhzjfhQ*0YH0+{b#edtXmua$`h4`j6kwI&qMFud;8M;r_qX52FX@her<> z4~q}d56cgcR`hT_lg3{~EOD{Y^J6wOHdTc++yhA?o?9H2}_}mj5 zkJs48hxE_llN<;6$;;K}T+wl0=_%&Tp2OCiwJVH^YfrQ8&++*Gbn{k!<{9SABhNH% zE|1Hv>gQSdVdFW*q5O1Nf6@d0WL=nlp|too%Ph0X@N8Lw3tUic_Qm>_9)5}OOGhuY zzxFT8U(A%L!Iq{WO>5tKCoG0vgt^Lc?>$J}*6VEk{ z*K3Cp%yaCR_BhEJkFvoTwm8cUd){FF&vV?_(Qo68+IyYj`zGTRuQ4m#VkVTUX`f}5 zIms%gIKw)N%6HzZUoKwhxQH(WrK@%0=An03@7M2&Hb19He($v7#U$f??oG2OKlM)I zkgl;7((f`J=>zY!-qHvEO}UWI3XlK0ad4IM?47m#$J}pz!1&oa=lF^nLSYlN&tHR{w?CWrh2E7y-jZMKtq(Vt zc%^YZ%JJbEi_GTDmm8d6{4vJM?qeN~qkNoka{3AS;T+36!77(H!_+^h$2E4@ev7xB1ed5Vpv=icNu=gp(&lKAn;RYw@73hA}G%j}8_i8_f z9hTITTC9; z4@Ve(z3VlToc@^dOn<^UGBs~}th34FC$%5)*=3gTWA3+^?i5*tV=iq-k4$`^L+P@tAob}^8JIsDwdvBD_Bn!;2 z#2m+2Kd0GZx*PVLb@_GJU)GhQjQ>V`&iqzArhca$r#9?w?*F6y z-{SG-PwKI6*LhK%O;+_+-E&@4mhQyPi)Pr`>u(ywCok{@9MUJ^=Q#&l7p`?)6q~Yc zz2`;gx4PfH&UsNv`r!4>i*lS|iK%{nNW&(Z9KE4-xXccVm-w}h`bQGVv2mGp-|F%3 zM(0II9ve6>%CdSBA6LuCoB0h92b0FfgE!Y+NZ-N-jIhYQw>h6~d0v#^67x(9nimIH zWs);IdaF?1eRhf=ep~G@aeM9ji~TZWew?|3alK8s^m);!bn;Hd&BR^&f{F)*m6IR4 zyLm`Q8GpFK^?P^&4G!N^{knBvl0Ek_FHW++-u>pqD(jqMlgn%|m$mL(XY%ci-`^Mq z58uZ)*u0;4ag8%PIO-3ixcUJ3#?^U{{@=AtaD?+b zz-1m}mj%ZE)&6IaYs_+;c@E{wi$@=-9cCY9K5Vhe;fGu2X=$ceJE$I4Sz_)H)|W?E zXY!H8!4}&*{3!E!r+8lfJkBiFnCHNwwZkT>JouRNJhx{&Twv<4_90I&{x0(wvyT}) z&bqM1A~Sz)99-rM%a2!|iGuoUGX8Flhfh$SWo8-ugLUO3E9`%wd9d%0`s{s@bqI0B zXB-D6nP-MGm+POIC#&Z;?!Ur3qzjy3k@GBZnPqlaVf;P%Ws+59SYwWL7CFNT=UC$j zHkkcK$BCot@W|5~r+;%@C~1dtPd6`)K0|%Zvd#m~G#)0#)nl2le>cx(*>}t`%@yW& z^x2LNQ_nH45NCtsvi>>44wo65bv{1VeAxFq>&sE*xymvt&o>VaOgMko< zCf@71@=xZ$;TNjUC6+l}QJ?)UQa|Lg#pCSqz>BTJe;6mz!I!Ad_7UsA4r|=tvg0-W za`TZs`bud|zsfw`XZ>DdpYX(M!*#~!?64i;$}j(yalK!f2@ZWw`^+=PHI`Uz zI!^5QuzB$iTijrm{U0%(|FrH*bM&L?bMmj>j z439Fe{E_e2$05ySE^~wN732Fa<7Jw|-!neWv&7{0wZ}O&*kX(0ZS!N#57hsl>*){G z=aC<&&w*9-*zeKuKQ?iY@`@t^pmsXNarxOBY3HN%%Z>HV;hXG@vMkS z`kY{s6}DI|TPGHuYn|q;6H_cc&wO~8g%D?%@aap8H>~eGVNn9uBh+(r+*hrrBYWRqYSejQ7*l>q_e_-Fd6_ z-|fEg?dB<7euw?Y*?+a(;(hOQoH+F^?Q`SZ>M{Qw{VF%|Z{ke-yY=S;m$}RhuCVWf z^sISu;l0{ti$yN}$KGf%q*-VFed=j{@%`38dSFhy89yId{PX&ePJGGu z|4sW}weDR0hW_Lq{HF6rdT7~tNDqBWT)O&gk;BVvpzihb8-2{n4Gn5eqmopch;=0^uTY8Lwbx| zt}^ji{V~n)b^S2=SO+2vdrS`wZ|pS zbNsK==Um!&zofrA$=7a!3mm?)d`5RMKKV)JxXdyS4lB&EU)|uiwvs~sFyDTvNRsA!?DQ4MZp2t~Yn^kUbhW+={9ur*V zes1s}`@Uvfnc_GT?{ghtmizBT@lob^fJN~Wf2|+s`Frb!&8+!z?QhJV>ufW+kM&W0 z?7sSwKF+=+$Ab&vJtO*+9=f0Nhtn)_mK8Qx;|Vs{;sRILW^{k;GWP&#ughe^_3(k_ z@pbph2ed1_#;o+vgB(8&v&;;u%yNdKoM(y49A{bmi3eMM>BK{f{~PuLQygNJ8RmI{ zWu|h*&0#i}=K^~lr628Wu*F*5eiP3=+Hw7+v(!wT0~V|dG$279@{Iy)S!=tp~fFS0Hx9)B47fa~~+jbD1{CFUnRcf|gbUT0o< z`DKnP$6jF{a`x4ZI}g0pc;>9fG5eQuZ`40~-r_iO`mOr;FURFy>_-m0!+5n@VTJww z>i99kc^+n)>x_NZdcV`YRj>bD#wR^6Yu;?XS3B%`pYw#r8rF$}bLPv+f0-{QKk9t@ zo^|_}adP70=EK;$>jbNxR!{rOpRq1%eolMhbDy_<-1wq(|DfNqf5m#R@pa=9?|jqv zrAJpBN6!7&@#5l7jPpZ&epoZ_?>ldpk90%qmye z2=#tvJ=wFNf8{3sVEv_+nP_|5`lE3+z21Wv>7&eX@K4g>wWud5Nw2af-M_0Rs!I3n zrgYz)o~SA9&+?*q>521t{Cw&0d#^X87cZXQ6UBaD-b}IB(-V!da)I=R{l5Mp?Ml~~ zm(IlfAq9u``7i?3*kW|C{*)VHgV}3oKiI23`Tf`KiQ+#r4kkb1bxzmS9#hv>kEMQZ zvcb+J#`974I|=fN^Nk_Ml<|>;ZKSlYyx9^GC(*4|EmWfr@qoJNC%PjMpV3{q}*=Cbn zwivsEPj6r!V?TD?V1gq|bCEf2u*iWsnlFb~;~_S9j0;?3n=9O4@~^b_6XRfpi_CLA ztsO40##J`B!3DchOGAdBPOO znPr0o_6+;T3-+_lK{h$e7Dw3OLB@V&UQ954SM%dAbIh~IA}gF?jf-qBx|?~jmu==4 z`?<$`CK=t`xY%WpJ{%~ju%9)i*kFbW%(BfEXNe6~ zd7O#k&ZB!epQNWb&&<8F&l8NTnFkYGW}01&GP&P)ndc-IIjX(xz3oHp&uUlv0OvzF zF0;xFE`)sL7Vo3|U)mpBmOe0|AL)aPf6V^BzjmejnUOyFw~n9mF&3qB573`O(R(Qn9SUb>a@2HYW^lOg|M#_>P$*$nv)cig0x z*$MfNFs_i##3$rG(s;Q)Z-0oFS&|-ow0*|O$LcSn$Fw`|y72evbBRR`KS4RBpJ*TQ z$RXqA@{^4BlhT(PCx@PFe4KxZ{lVz4cDerw$L&)dcmB~ja=4^_<5*yo2cNDy$GE^E z+pKVd4JLl&y37p6o?*SUQyW*GtIyKEc$X!no-NJ-=j9(NYhU^>yP^DZ^&`E;gssYM%}1V#U0rOKgYy7unw-pM59fzr=V#KC{xDBgPf- zgCYN)ty9QnJ>~|8mDQz%5#U*x`^2SkR?X9x!H|jCP)O)nY z0_*bg|88GOPjXqh{$AxjXP)mv&|BKd#Wj46Tg7zlAq(A9n?1VVu>#oaRHZJ+mSL}24f6cyS z@7Imvi}vw1trG{nW!&ulj`d>icdgf#oaf)SUW|TVy}15E>&3NI>&2Cy81I)I?~eV< z(O>9~%{ArN|3B8#I7;kD*MDVSv|Mkx+7+MqwRv&$H|E70XE?@r7P-s{yKJ!UckUCI zX5zQjheuiB6el^bt{u*BfgN_3`ki(8z57HaImS`r=`t(b_j~hT;(yJT$qnr=_6O_B zA$D0}S-k^)G@k$Ua~o64{z-d05nT|K*ybdAcU=(8FwF&K*yac~m}lRH@iNU-=GeDe zJ4|zuCC=z~At>GE0y}K8f6oQR>N>^*6R``TEOX2=&k~QY$`#JAcAif~V~fk$ul5+v zR~)~6J|RtffTPkUdbR&Y`->In@jm@XPp~OH*l+yOL+nZ~U8dEf<6M*0AgUw8lg zV8=x|&AfE)!!C%5(*3MTFF(S%NVmBlJ^g6&lAdMk8^--O?J@Na`V&9;B*#Pg;N{9o z&p*{XLb)p(PiCG*@%l5Z^EX{jpQV3hpQ9hnJ=gw`f8cr6Kjc5(af@7+*^yp&p>Z#3 z=f%d$g(JqvgD=w`=U(Z!D1Z2K-d@Hi_hf77~f^4rGyUB~(R<|W-=mx;Fi_lUD9fB1*i zRl3Us>4{bCNe}Pn_Slm{~y%TU*}KOMS3Z^(6zw2?z%9lix*-SdLvxd_46)_ zmZcBv^=J1XpRv8h$pnuw%_)v@mIcnU%tcnY!Wpj7yCp{(TxQSt7y1Ah<6-=K`+`Xh zGs98lc#uUNqIZ(?^pf$i!Um6Wfm3XAmK!|I`1h?x&xKK6kK@V|2bkp$^UScs5qj@Q ze@A2;c!*7oGp(H_Thb@k;SysPIDSm9%QT}4tOt8p-~h`UVwL+j!%@!jAbo;@vetu# z8NbkeW0I51u*Mu`SY(qvslhwPS`W796CHe9ne||YZLV{JJr`Psi>xma?(s&w`y#>r#svXm5; z-@1i$3H5JjoNeow(hi63Wu6?kxAl@gku@IarAGam7y1@n=vF?O-_Wr7W+d7PtMWPwX8bA?sLpJ3hDM{lGV?PrH0j9tsT zm}Hq5PP3uk!3pJ9d$If<`Z?+)`r+6S?Q`;__6g_y*?if4nfd(4zIwTKn0bYLz(cRJ zF03BaKaao4@n+}M)??N2u38UnaFTRjYBX86{Q*Y8g57zY0 z%A5876X(~J`scB?=%4db`sd7B_0OfZ>7TK>{(owJyj}mCez)~v;SuX3FVmkjCt?~m*v;kWHbVUK&KItI!F~~MESeujzNkOOzU2J*x&8KK<)sg>#W8kRVMhLXOFfQ$#e6yV zRr{G`cDTg8UpP)n)|>O+FdhysYnOfBG7cW1_kM`xndZWGw9D>yt=qMo2j8=AILZw3 z%yF7Uc3I)@_npV;t#W}U+Kvy$f1v&^9p4{XZ{-SXaFPqGvCTt2Ql548UB~(`&FrfF zeksi|7k+HNaQr9Mg}I-~S8j|&raH#M{j71|XXf!g#`AOSap@P%FCJVo4*3&oahV&8 z{nBx~uJ$;oTwMjPQB+`juaBi<`uvNc1@`t_vvw(a zFuH+u7-xa~EHlk2hi+(G%+T9`M@#Imbjd|gU%%tU6pu2?8uM(j#3fF02<_c$6L17`vfy-`My#z%-l8^WcDW;vsqqm8ir9C%C{Vw%O!HNZ-WxE^%GEsqwMN zEKe}c7E8gK86VeJ=X}!mxOj8p;|e?MFm|c^#6<8G#>c)}T0d4<;NYP3<1nkta)t*u z&s8onb}Pq&6O1RcbL)$uB$Lc=h&g6hWQP^@+{XMvnhma}%s<3$YyRxx1_#)88Ek@nKsW0N@!-^KVi!U}V&af}U4aDg?p zIXrB>H@5Cfv&~VivA_+MnYgR<<1lB~VvC3GW`3Mt-+=2KQ#{5j=a^@UB}RAG4pVIK zAX}`k%UQ;6;y5$O!Hjk|&H|6K!rpsWA12u3AX`kc!~Kli)Ny8lV@z{`qpULjYvu2$ zUFm}?v&c#D4jZi9TYF6XALEu^X5VkjBWqu9@jm9o!hMyO-(ZXDtcmyD-#+8usCL+X zp!&acK0HW$)*q~YPCrDxdg+}0rCW^O%(x$_UFqmy)>XR7W$E<8%|rSGW9!btgYr55 z2=n6jBelaC8(bRGK2rtj`aApMa^-mJDfWwYhOaO`>FBxk2XhmSD;Jpjz4N|vQ{)>vSZH7;|ST{alMrG3jJ7ntD^b8NH7HCDL68pDSw zH`vDo4zSG>H#p3`LF>m94=~FK7C6TW=UL+-8(iiBSJ`Hl8;m}ty<2(QVT%3CGRZuL zSYn2g9ATX~HaW%?i|nw@_^quQQ;dJy`ZL2KOPu5kXSl=##y+7whZw(&c{0fYvs`C^ z$$9hR9P4azp5vc1FV^WD)uQ1~sm}tlJjw!_tZlKsKmO5>G*Qw+t!bZE5`jN$MyTlap(uy)Bi9hS>Oyy zoM)NKtgy>T#&55ECfQ|{y+1S$rdVQwRjzV|nICD7BP{E8ignI&S$tqs`y8ZqgNufk z%5?TRlm5qVD+E=Ujl#5ko#Sma@L#3xymUT2eypNg}u zW8d%E9UWrq4(88{^co9H{9HXY+2rsq90wj+)9-F?yw5DBS>!saod2cr%>9pkSYqEE z?`gw?eioSF@UJL-h_;Yfm>Jf%to`(F z$cc69Bi`T)6TfrZm}ZBgtSL9ec-nmaSA8DeP(P&qU_Y?`kLq)dEyn-kI>s3$?_}Ij zJQ`(|1+H+C;T@bC?AsHM+8p5qmzcb>{TYi#S&sN{ry}QBVV@7CYH*qJ#y5OHJX)5H zT^NsIcd?Ea#iJCDaFqFYJSuUKRgUe8M@`PK&7q6q{-)k}&NSz)6_4`l@fjW^9=LWq zsxfsP{V{!AfhCIx}N$hGROVbk4I(p`JA9S=Q+=Xe)TwW!+6wpH{-rU zJ+3j&+@nz>bIwjZhT)nUQT)Ch5bMbGj7f(FE{4TN%f2Uv0J;=CO ze~5l~?4kA_D-X91;`)1pd)F-hSZz zg8n)G1na<&Cu;Xz_S+%zWaml7%lPHaKcPg9Q5 zPd9G$R@h?u8OFutGxf9IaeJ2i!KLSzFV|S)IxCEqjgtr2WSK3_JXgPetsN#f^gQF` zQRX?t68oNSo!MoBxe4`om>o`rv~f>_Db!t#$~Q>gB|u|tt(T^9@P(XEU^75iM=uq|CXrvJZjfAI!hdv`SOM)QzPGb>$Z zUV4s2>HasFw{($J>GYfJQ#RS<@Rj27$C$W|^N9`V-nVE^`WRc%Gwg7K@%xy^l=*Xp zqg-NskhqEkcx96S4e_#9V{rchY&#BLzuRA_m|Aujf{BNqqg>Ts> zBl=;2ZKk=#QLeKP^1rQruCN~R*$nw?v9RJevdF&s>91{^#xuTZ9i<04+TqC0w8Pn7 zSPu^V()u&@EAzj<`(dUz%~8&>5bUbQdDgkWCXfDF{V?y}sDE9L|4eh8c^>$!SW?8zgPu^si z6;6z(&m+w0Z}|Z}qfmO_@3g}~Zm`4T1C9H^#=&tG7<-6zc!>3o&nA<(eO}9Ey&3yE z*CQraf9Sp_!=8uji}LJci9-)ppYxpO5|_EcF4K=t|A6y{X)Zi+pV!DK|0wlCnv)^_ z(fgtXvs_^6G3qnT_=Ds#$=ValgLRh8``8oBM|z57_FQf}>}8XcqV?b;H@N>P+Ig`3 z#tidMRi6cxnLeyOYgZTt>uiVk)2zosjDrboFw5dI9GBquzNi{}mVPW_Gk7|cG=9zkxaWKs)yKJ!M)yBhKwwZj5b{?uclRRFvEZ$Z&05_wmI=e^&e(@Omh8A>eCCIqXI|XqCO9>&dQYfoMf9P-lqP;UFVr(yskd` zSl|H59AuU2Y%qGecG&+8>%jrW4vN21I~-(&L(B!=r5z5l%A@bLzC6Yj56##oJk0nb z_#XR=;~Zsn*70GH6_!}zG8-ZPy~e{Cwzk&ub^- zGyWL+;tST92RX_L3!G({%dCd{FKUNHF0jNlC%@#lKh`*yVEfC)!w&OYXNj?vbzwj2 ztbav2oMD?w++g)<+8ML%OV)+s%yIhb#=}`wxy%{%e#`ps;J3|-V~jt}xY%~S4t>`; zU(e(J_Z&CzIx`&ozIigoGRIhDkuyBXta@!0+0%Ai6wk8FQEqU7$-j61&8l*_A822C zoOxE*6d(AZdZC>k8Q=BYPq8Gw!L;<$s`}E$S&+{B*m`m7C+c&FZT9?B{TrAUXOz!z zf#Xbzw>s*x@-yvm@aN7?`H5dx*T*{#*%U7^Eq#0dg@I)~Y0{+IGu zrcY1szC_w(i)q$>W!{|po%(Dt-tWHg55^nv|7g4+&JJ6QKf!hCPu5$xOmuOSlAdCY z3oMGac2PRoeQ{J_4{PjYgZ*6K0NWg8>>sQPldLn#MHaZh3J3RG?EUJkBj-86HfI=n zqJ7CE*O=i3bL@#34+mHY>GLj*W?0}nm$=M>doPZ@uRcdEx!C*9+lQB$ zKg$XALYfs$vc?)4taE`4wzyNU7e5aUnQ50e~chDVv>F%~(`Nw!#LhfQ|b;=oNE z7Y;H06vy{wjtd8q+F^l3c39>7&CQ3aw{To}_?Fg%xk2N2s_QIA*(b;s$5gci29;wf;HJJZrbH4veMjD;C*enH@G6zryigihZ}$KQk9lbq!Y zr|zsB&alJ9yJ)9mzIQW!9(aIpF#SN|5AnY~r%l;h~AKv?_r%8TE8aD;Byzq)MTHM?uEEBC%Rj4$-R z;a~p;ToZWeE5!S>8{ZZW{iZ^H;^k0SzXwkDd*QM88+xz2&YSx-+s!GL+g3lc>oko< zc8FKRGdsj<;zQ!G(BIZqn3tuA65_cK8x8Y1HLH`ytR??|{4oEmc~?)B2;=C=4<8(U zcDo_&X`^U;TYn**6mM^fhjC=Y7sd0wk4EB`^0Ao!pWGkkw4d1H_39sXEeQELtaC>G zs{EPL`R9%=FTeB=*8=Ok)B2R<&wSLiFVx?m|C;;_`Dcyq^#0wPzx?szTj%Ev>%T1j zko^A8{to#Y^2e^Be!{^#a1He{@<*o3=a@75{;~v)S zYR zH=evAgvuwcH$~;AoSajk{MJ{J-eS$`@9cvR*U!o8o$J}=74KxhP|jPLdCvmZ(NNBH z@yvD4^=IqK7uL0<-0Ihj>txl<|3lncWJMkE?bo~5UVjH6ZaGeWh4KmUp>Ldf-41Q0 z#Z%&8OgpWsw`AI^*9`eP>^pCvq-mAc4UC7`1+MK`m;cpxNRpx(c z_9xf5rQD$(U3ESk@tk@iJkAbi0=>a9j-G;`IVn;)!R0oFy5^E6Y@8&bD<4i zVZ7d=AzBj8g}~Ju*U*1Ox$qj(&3)*&Zoi(_<@d?oX}v@L^YZ)UpM6|IyUXI?HJ&Bk zZ{NQm-=C^SbHCVme~0{p2g-q8Zk=B{tV>3IUjEg!pO;_%t$WQK`VZqS%MY)K3E!Xk z3g1`7Pl%sApAh#ab$)I-Hy*}0FW&m&);x9?XIuWN-xUvrPIk!mr$*7D-vLgB{L{zj z{LT8O9>q@Xzl!`J`6D~zhk4iK zAC#Xw>$(x*P4R-?&4uqzeTDD+DT%l7@Eq`|AVa((eoTDx@n$P8?5Ws=%KM#|U)yiH zuADiqLOCySkB0q@s~PH^bKiC5`V-3Kl$&-laZTmIc*@H4`<+cDw72yY;$8wCWp;?q zh>vZHhvPFZe#q}KHm{4@j!$UMONpbr-%T9d>LU>9d1-9a5}!Edx_johCoXcW^IZAj z4*4ndGxEc8DcP`Y`S@jH=iCpv{=cd3%Im**^U-&6{fo-4d#++Ql;8Ra)G5Pha{Il<4!+Lv(j@N{G?my(8eOzj1j$i1uzG7>hd@D&9ef772-MZ`q1uZ;8c(yUKF1ZAKezOh_8rmZ>J`{C_a2v`OW!@uZhov_~y9J zz3=o?VszvVJ6}&i{jU63`D3BJ^JV*ed*8+WZZf@f{n)lHVSW9`8XdXw*7frAx}1Bz z68iBYY1C1!9Qrw3?#%gBmOpZro!395N=^PTC(Ehz-|2oQG#$P|e+$az@4B^KJ6vZw z@=Nlwp~4Q=iTJhLPv7IJ`z>!0`m@w4X@zR!wJe|_ucn{EAs{aBEHLVnuwP3PVhp82^U^gF3sYx%0z ziMsgQx6WO+P`)XC?7Qcd594WxSH(B4$2+W7SN`hH-9LqWzx5T`i{HR~&6=O%w#Ad; zvH$V&%(i$&JbaGj_VPLLw<5m09)6c6F}Bms5!b1m`AOpB zfWthS>K%%Fu2~3eTlX-ZW%+C8`+TsFzx5U3UGc8?_WcsKU@PLaPS~!j=`S~87 zBX&;yRj)retOS-Ojn?!kEg+b>n+Z-iPjRoNDsZ`+R;}=x^&QjK3j1aIHP( zJU)lyo7aQ!`g zrz%mn=Hn9D9aTQn@AKWRq1`a=l5&GL+;jTpy|eG#}npJ6OVk3>E=APo!{X&H|4L$KegY^+3#olKB}!;`*uFhPn}a=q5ekb_x5M% zpZWRf%+Kqa^Ea6I(4KRi-`t$Pcw$>T?4_J|YS_51_IZ&r*RwE=it;Oew7W!M3KlCu`x^+F;XV0HM`IWrSs|*cnyB>sjRpn1UW=}M6I{(c18}b|SJMyn?AGG8T zJof7ML05iW{@B&D-{)80HThS!57P46@;4vfwjJj%zMTBgu{~G&d~!+tocwC&|MWgM z^Snq^e(G^opWl!_CBL>q{ct>6@)LjW^F+6f`?<&C%;VsOa^pTHxOeNgUtPK6KopHV z@z0kVRc_=-d%WhzAg=QB#F>6e$_-!s=i93(H}K>?-`>1(y-(eK9-Mo=g#Fu5ZuE++ z^H(~2g?Q{HhAY1PI-U?8*&&`5AKoE8Dn7VFydd5$9*)hauh4HI3-uP{pO8Nq^0&T1pKb9C@uRyWuI9Le_TxA8c>A=i`-UCbPsvY~ zt~%bVc>fOZym)+vcu73kAwDVI)&H36D0}hd!(o_LT|A@w{t(~#O0y|m5YL5q?fCrr zna7z^^+J1H^(LNv)p^8kW?0+eVf~Wghs3YxIvUy?Rc`2+=iVoT>tjJYA)eVI@n`Pu z!*Qr8Klp5)&+Ge>_kZU;pV5%tkssPV^%eSG5Raa-bziiV5#nv}(U+b(uF%hh_^^0q zx5T#N9r6<HWo;#ne{FeOUU(nv>{BP;;$pDRE47wo@Kz7qPGwO@UI z)yJoE?;k_?hVpggkN*Yb!#vu`r{8<-`4r}{AwDQx2<@D{zMQ-d+noQc+_TG1hy1Ot z5KoIA5#Rjz^Q`!&__TN^bLuPfQxLD8D!*+%hV!~2zZv=o>*aCm>h8m4lsoYs9v?$F zkK;Str-%Mp%K78;lg|sCzD}H(S66;Zeve|OzQQ=-xAy#r_@S`RuVx&Z$6vYF2Yilv zsJwZ8pSeE|bI-}2l^+lJTVJ7GQM@ib7Gm4hAsp99`EB|8cU*^yx1PZXmF-Rcn#ypw&ejQ#I zcUFEw{_Ob@f9CuQ?Uj^Ie`0IDZyQ%=uPT2@{#-afe?fcm%8xDVe7y_(wdI%P=X}5Y zaVzAy!9{Xw zzl~kx^%H0A-$MBr|IK~T@%#&}t6?85E1&s_ar^$%SBQ7T(>uiDxAhpmExtK_@uc|X z`fcvBGyDBiyI~zil{=u^dm$>z7k*^1D~v zcSZ5aws`2bB3}LJo|CVWJAGWv%&RVcq_gw$PGOzr<&Vmbg>i3vh4`}g@DA~=cye2O zbN+6;dat3Ml>EMJ^+G>cac=^APXD33y!hHL_H4e+KCI{2>mBNqH@10 z;L3trSbz!v3Pg61DAh%|N_17imkL3uM5!*g!UDTLiLAINRRSv#q)L$DA`}QvA-F3< zRwcTAAwreFzR&kLpOc*PIiHi{cOI~&uh;AS{=7f$&)@SoCnwGX#%B!*lZy`w4RQ!0=>UoR^Ob`opWLyczi@qC10b zUOsB*4#mQ*d0;xg+{4so)>Y0OIzb5QkcZ=W$4R{6ofB~GZ>lnhu}^0#~hG91rM_ki#;*y+1JT9i-RY?x7GY( zuixHrCb|r|`jhZGLnrf85#8uI=Jf^Eb@5wAfAGok%kQ8&oo4-HLv z-#lqQpOAKn{Uq)5H2RD9v*rhF{KMzgS%0AQ{w(#(!MC2S=55OHubAG~h&;rAai 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%0DOEqoc}OQ-Nd7|bZ-3v$C&zbP@}CWU*AHxba$TuQ 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�uraDZViH`Qyo$9=tGf&&jp3-Kf%t&BN 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 z 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�c~n$-1B1Z?BQ=*hu@5b>~rD|Bqpu#53zX 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

    v0uLj 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∨!%#K1gSO{Wjh>ApJj$Y^W3XmmXEDVjI5 z3XQ(OTEx5X#3JNnCi$Ad>hbov$>d?*INL5RXt^C*xVLLm;8@KAmVGe8+R34x(RWxQ zx%17w9aeq)@^O5AMEhn9C)3(~6yAIX-t2oKDUxJY2?HNUvA*_3hZa zhPA@xG9zE|t%*Gm;JQ`s-CAb$p5=4?x&G67O~=AA{Grp#@6YP@kLep9-g~B6|IN_v zJoC(__$_@AUHj={8e27Mn9>926B~U(p6X@jnM=_(3(-55pnqgb{KELgvL!s8-wVy@ zItbnUg6r#%OTV}cJ;K;r+j@t=BV&rtr~dC^%%OnB48JhuLdM(${nrdK=JN!5!kB03 zKi`WTXU11MGlFab=kRw1 zJY2afP*(;1D^EuTAiHO9uj-S|?*e3k?sr~K4m>qMRv?cukXhv;1IsEKthz4b&=P3A z_UqH_^{k8BOdk09(8%WcfU_+&`F}$y!@xPc6?yma`uNp1;W_3(}d3T4cfcG|s!9 zVy&j$;Lg4k#2;=c>s`63thaNa0~fJq&ca;yNEdwY`=Aq3ZmF=g-^_D0Jg5D(PX~hg z*71yZ>f88)wO5t(-m<)`cXPlxJUTFP--E52|ND9T*{wS^Ki-Fod1Kf5$JYc#^$4z8 zppQ|@t?lbST=<)(@6GzgdSIG~jQcxd&0c-$v0nuu(J{n0Eo;=i(oyw2*jyFAT3vVS zFk>ubJ@C!xnZ-LYxGhjx+0)!^pfVS6}XDgOM1Rc*XX56beiO9F?y*Ioz|f1 zLauqYP}k_CO6i4BT%(sN(OuQLMlV%y3(9{noMLo~b`8mV7sZU4gKicd#QvC`SUt?>iM^~BH%d=jY1yx0&uUFAC^~>2)pvw>3~G$82I`Km zcR~5vntRcS=0ELFU&T@0JA$m%_`l0o3odr@Sl=N=)xID(+(*V*b38pa2H4v#IRV&b zW%q~uGRtlQ2GLU&@wub=CjX-A3bTJb?N;W2@kk%{!!geZkJyjfy2nR$_N?FxO>kb`d9f|qv7CIIVyor$ z3~b2UWr1k^y=l>l!Q(r?wFkPo2>v(?{- ztoC&4)HOF+b=~+fvE$y2gp<(4?>6AV)M~3um60kwCowcMEu@fA~}FucmnxQj$A0`cO`OxxiNJg zrN<-q(AW+0DxYI-C9?4#dW&}tNMDbQ+e~jliuskZEO z_+riYV&t#)76Eq;GO!ez68+g$k3N$98R2`8E4y}~mliQL$!_8LD(I{r-P(SaE4#a7 z3pAjweR^sEa7N@`(Wd7&8e4$pj-Zz$*Mij(>^A&G`HJ1H4ItPa{b(SX23&$CXnY)} zhIJ=#7{xOE`z+r3+-2DRTBo2c%ffh$w`A=~bj~ZT&Jo;&fpN`EXFGaFuuHB7`A>RB zV^B_C;y5xH2YNf{IC@>1CRn(@E-s9ZqiA&CSaGJcbME!zXnoi>{uE?QomT_I%?&tK ziLdMJnZhRbas%XZDbB83l3+z78l~o7JN9%YbFm6~l0CYJ-%HU6>syO#Y~k#O@IAJM zMm4v%zQ>xq_!MTZXGTvqbeFYq)ja(-1HDw6+dOeIHr}ehx{3G>#hUjh&t$HwowsIY zpl(U-x{3H0=Km&qO7s7OKwZm4*vMnBZPD`wd5?I5@wHb<@6L10<_lMbDS>8Gf0 z&*OamI$YJRea{D5ORNg%2+>gV5^LjUu;2CjPUay6F?x_%iU%Jl&4rs?f3zr`XqJ^i>s2sjoP$o}6I6 zl4AQa)&6%=YJYzWS35`8tRow`%BRjndy7>u9@=_7ZG6vN&{qpSbT{$cFg|tZRI9ED zA6vgm<&S-oHBZSKY^cAuFp4fcnWwx;t+5o;SldOjhE{j=mwA@(-!c$p*{50PbNNAA zWRn+8u%CjC*7u%a&wz%6f7z-{;GZ>d$CmQ-{g%7V9{J4ReRooGq~n`|_PuRD-&+&< z4pZj?-ymmJAQ~Ej@96T3YNxIckK-c-H^Jj&{djz0*lJuJ#;<_KS2fIZ{Lee_3!F7b zaQjyV6kd~uvtnXgk)?CTTsWvxHK zzOI}W?`tIM5U!7LJb7J8UoDL(^%dt^){FM1*#302|G?1g8=t|OqnoGnpQFnx``Hxx z%A&8xeM9%<&QW|UH|NChcDiMM%k4{iH05$9)*?9*MqieqFSlHVoro?kuPe66Vb5Ml zy^h*YR&$lB%O!ulQEF}cnoq7-Ulc#aWz#`yTnqcv;kmJGf8}@m7{@-7zD#DHy<7|Z z-Q$cc(LR$c7A4-^;n+9u(y7EYsL2972D1XkG77Ac%p7ZV=uE35ry>xoOCqyg00zO+ zak`{{`>@M z=Osztc*2FF>cYX{_$qK%pC25KCi<2PH?q4m*RBPIv*=$kI}=#4fWyEr)hhX+JKz5K zxzB|ma{k~j)B!`sErY`VE;a}U9zK%cLNMfmhx|ILBm-C;_R*gF5y|ixas%@ZV8<23 z?XkIK^o_k)FpIr6-yTMuDRmL?<&LCBdLKxUSIPuGx>5Fi;#|72dH(=;);Zh$u{&qS zlPh7he`8AR$9XZpUOLYXBv$b6DfTsrzUprnx-U;IYfQB-BbugJE~q`vy|_%h*{8Q|U#F8qaFJG)J1RcH~8f`7v|qt}*8_KX=PtBSxF( zCzkTX1}58U(9a)`^~?;DyDEz9o+;o~aiFIXSL-}hiESQv+G*CqY++_@hR z%lYp<6L%O)ujLDWmpX7H>NQuNZFmuy3|42`8NeZ3XLMSSxcD`J=zsh}HHXKx?K1KY z{S|cV*BW9np8aZ(_h8l|v_`{PqMj!PR{Racj7JQuci&wJe5C{7D<&TD)S2isbYz!& zgw6}>iOk6n)^4_>jyh& zhKmQI&*TGKOC1gL!M)&O6K9v)2|cL4)(`ri75c_+-{Z^iE5o;U;xf)&gJYF$zTd)l ze!1uSe>_BObJ~sh{?OcDzW>vVK{_)9of4N+|jZO0oUVsQsBKwI9dNfeH5CKS&KfOVxhy3AR78$o^i6 z@Xt~EZv1~Jo1tI4<@JF5aEk3uQv2js9S{E|w(H^lXvqHQ`>Ek)nA$Hq!S?r_W1r>1 z@2xqB{(IkZ;|s6%#p4SJ_HtJZ`up^O{UJN{i=T~sT6nR&1UVv}mhBVcX>7yH6#3#; z^i$6oMhbX~(^a69Tgv<<<|EW3P)qhFhR zdTo3V9Y-A6#JSKJ!i{v6=)2TUM z3Pih^H}&_Q8PM-H<90|puy}SzHP`Cj?>Ef>w#YYz*7s9@tzftV+hF=$a0LY)JTVO3 z(?0s2yD*)m@qcaT@n>lK?ixTMy&iY`pA1B!^feq=aogwIyrp#IEv1o@l}>KfF!Gj$ zvlif<1-`a_-jep`D0eBNAQG+Anlg5op_^GwZelq!C3+&yvL}-3h;J;SZI8Addxy9LIVh{h&oTFjbr{&mRVmXo&&rPT zU}=xIu)M^5)*A$icTc%322R+XKf;^Vxsk1 zRPph9nFFoYcJo^`uyrk3=^#dK=##az2IeCSeU-C!PJCqU^PjoT8e9CnW$u$`yM5g$ z)=oWF1)rK6lLgGN+m6~`Z|C-M=4~DO9<%7zJhQm}Gry&sV)q&40jpi@lT@x>KD?^^ zqAQsHB6uMm8VcyzrHfYNg<>#8t`6Gb&Hr@VD&^*2m*E z$Z58GjP>`9>c74L&kBcGQ}Hi=rG)q1WBvDf)<*6m?o{&HB>O_}eb4S0_Hf{rE)Z>Y zWl|fGT#cBI2s}owD(8(nZgcI@zW0v&rF!sZ?#*TWlJh9S;I{>PLI0I2kMlCCu87~w z#9eQyT{X`ica>~gK~A4?1kJ6XJ!D}%`ywK5^;L9EVUM&6mtc6q;0PGlv%H1> zyU1OZe7J-B&bP5s4a_6a1JJ1FJ4#k%jBsGD8tcH#-uOY`o&?Jv=%x zb6nd^(4ORFgnW4ij@&l*Xk&@NnZqyd0OuF5*H(UexyjAzAm1cdXdS3|-0HnjV*?+O z1?60a;e}EgIRc*j`Zj_MZRFKX$Ie&`?@A7dud1*Iip4|dT;mOG%PtUpOm4g{ z2c?kylxKhBYNwXovC7M^;V#9NTS$IAwPMrbIVc`}g5XPVsojE8=+lRj74&m1{nP@d z^1OrKvK(9skHTT%v&yrVERkGHCQHaQ+StKL9zuhfh`E$OwDBMs!r%kFi5}1whHF1dtA>MIh{ndT?9PnGy_kf zeIBzJI?uH;T;HMFZ!;_pL|f@k{S?v9&$ylqPyg#@y!?OFVHmv5hL=kd!gf}Ecssh) z&~zBR0o|=ZXUGRxQw{xtcaIJ=mhT{E>e0C|ox>c4#4G3=*}y^OQ_l$xqR-H~eUJHL zV%5-=S3@{i?Tt!g^Au12Vy`R5st7!*Ew#JnZTylC`gZg%X4w))_+R|D&X)szZIT@D z0>-E|o+V$QgBV`b`+eKBo}>8OIpl4vboU^5IpBKsQ=_eo2k1wB(SPzSJScZ+N59;u z+~y0X#&f5PuNKISUAO4E;=Y z=ljEZlGh+}_P;tc$Qr<7H)FcsfwE(LtWV?y#_zM3+t&Bikb6A7Z7utaB(I^#Ugmd) zVyrFPv+1J)Saoj)c9T;>c)U3){X$~O)bi=w@{fg&ME`NgBYQ>#oA-`l@4_L%ysz;6(`@9u@2ACItbICL8_TCm`S0=Q! z2HC6JJnaox0&T#H*pit&Ezs5~?tAj3h~Krmue~9RT{uMsBHp@LO>+Fm6SzJl ztmoUn1D}fzkX^;{4MVguH{l)0Pxa9O|1OeU!#m_$RLlrj2Nr>&HQW;pncLVngug|| zRQ)gg)533!(UZBXX;l;m9`;3vubq5IYSZz&Xs3&@Wg)ZIGZyW)(^z=!KpL<~79t-H z+DZ~s0x*azg{cCfiftfk{U@1G0*Gn$L*-MRR~4Gzwe)#CDU zRlBhJy|@%MhZEbuuWZmYv@W?UnI=9Kze@MkJ`h-@eG)6-6aAKMM?Y26e0O=Y9R8K< zsCTN6UpWD4XhOSd7F%^%ck1FfYV#cmhR(8^@Y%A+Sq+mbQ{d*x$bXd#kpA2PzCvY= zK3YLsO#W-$3iJ{A@v@CrpDsR=whavKeh%erzsCNnmBRze!sKn23Qm3}Tl4B1D?O`R zHac#hnFjX|D{;E5tT6kC*E6#=fH-hTp^^!{J;KK_W__ugGhJF+K- zdVdN&uipQy-gjfl-uq$6u;aYH0{x`-f3ElOL;U@(={$*m$$)#vQcMXtIBSXKiE7i5T1@dn~!Rdz0;1bsrS7+mbXmq zO>Wx;q=L5$bfvC6&V+O?gErS}fv69(bc zGHL_Xu-CKdh75eZklnc(o?0I0?Pl-v*kR~}$?OrG79f9~TyE^qF7A&*Mo#Qx4;*~= zQ5MC{4zGeuUUf#YZKe{0-4gnDrA+0<3=C^4?{P0fnyiHlERF4L^7 zf+IgLzQ;nhby(Lk@xqY^#5PkulL&$O_%B$&1D@pk6_ zFW{|)eXD7-Q^mZdGyk4_x0(IUtGK6rx~aES&K#9vR}Z62Vtc0EZa4m3cw|O1d%Jpt z2ldrKUtK)k!M<^m>tNud1_bTrTjP6bfG+~f9cy>bulXprY^z_;#h5tzBKoyq)M4ZZ)4if=++Hsw=}Ty9b&2UiyT# zNuMi=)+C7y?S>Y;b*a;kU+;_ewCA${AA&g#6XUBPMij1|V`5jKOY4^}jySQa@Z0zP zM*DLo-57`x!`QBPK~MUmwwoS^99z%c*v-Q&6Dut*v<_EebBzpJB?F#g-|T?rW?Cf} zGuzjFC338MD*N@^cEVme-kvqSOgVv6kX-i9jL+r;&XZ{LulFZ*OXU}sHd7Hu3GwgNHeK~Zm`I8P) z-qWTp2cnzrbNA-oE;$$KDFf!a*nhwB+nKiKzqX_AJ^%GL>@hI@>nh~SXlsYYBKSRD zW)Hf#N4P>K)l#QfIIRUwtlw5#$+&I?Pgn8$X8jMIc<(?v^WEm*8yp=>AK4~6>3bpV zi$7K&OM-z6Bg-|vlcBG2bl5@otbAr9TFbrXM>QLtqhj@)#}@FOo|Emg2syH9U0H7> zvYDgA=&XKSz1y=k182G1C~4cXz3BeX%Emd{Qw`rVZ=u8pvP91fE!VDd4^ z0n++e)WvlTHnZ@pJ#XWIOSFN%Xx0xUqgOKaQrV%5Np|ZheZZ6GqY%9>87w^Mw{R8H z@m$}@vv(jHG*0bR>qaJM9!1l~%ZXCl;q#2GV34?j;@4kbo)hB^D{rSBQX%q{z3-|S z_hR~#_*Z;^ zj~k0k{eiiP5F7XOxMB^S9Lu{9(Ylhxvz46Yo1 zdSE=M$da5^jenh8X0?S1!NHT%fM7nyjg0KvlfnM>k?etiZXRQtT|Pg<+td9I=Aj_l zkqKVRvmSaaW=!%)oczA9orz65gE4hOrzTJ5x)v`TY{9jEw4CiA2J6?;(Z`wQIL^9x|*Jc=%OzlL`kxqm18T7=Hsl4dzICU{qL zs@lS@62okP&o&LhhkF=TRRSMsTp94IY;$kkR^cNDTW8oy-0^9?_WsOTmdRY@S6LO0K>wKnie)rH;|`tu z1pOO85Bv6fBKJb*O67M*9)j13x#$Y<^-Qc4n(hGzt$q#x_dEp&r0IEM_7kZn=RnCSTquXMsy7gcsjNN`Yq?4 zr(lVt_p6ABEj$tcM&v>8OzJzvE1LGK< z{PYPulCP@qut>HeOY6G*u}e3xBmF+1CozsZ5a7)`0ZL~(D23Bwy9&RjaoA+e}T2GLiTIB|Cbb6 z8?WGhvrbG5)uUa`taR$Bz_YE$Skb6r_u#j86TZ@2#BF3#g?V58Y6tnkU1_=da`8E| z=B;~^-Fp`Iq#rfj2zg4LyzKxVp1f_~+Kbi0Cq_og4po0w<)2u*e*dR|iCCa)QBQ7p zwtS}}lhLu~*e}A@(yx+RMes#2d@+Z3y$AnJ;0JE%b}5cNwoP@p{c9tlCDkpjSG zCk~oR>_4aNBI05CFGyR8yCu^n4*{3rl)+*01)Q^a^*ig+$>Wx}!HDqP%tSs=OcFg0Vq3jH9Oa)~)5&Ih z4lTydnh4fAd#vE0V##ieL*tjut-;nu)|BLjoOro#5)3$T;x5i=kdMw;Aay#Yc@591 zMk+jXs{h<4{a>>5B>F8%=y&*u_j}sO^m|r9zr@)U7eA5lez+w0c!gW+#JN?-)EIt+ zQ|iF04}(LVkqq+Jo0V?Xy}u38uG$-abA9NqV2hB1cSBrJnc!2y!T0m zS2(-X?y{Iy)>sP4Zmv;4uD4+uF)wk{zw@ zJ3ju>Q=AyM#=GWQ*aMqBY$*{ z`~d7=zu)@7C-IXG4U7%o2W-%@%IPZa%&{}^Z)9ig_51+xezXVY5$qu0NAsaMyy=0! zvdy1j&+y?s2fv4B+gBa#8-U+64+QFtNrwCZTrhV1?!=E3-rfav;jJ56M788rLML;u zJ!HGp^Q^He@P%8Rb8vKn@(9qg9dD9Huu%5J__ouJVT%;Yr_AV){h?ZNv3aCMK;>d& z81UA-;m+ggv+b-mlFy@XDR>sqPs?0u$F*)-`u~Cv*oVWNxz+E=_xm3Eru*B_ObLBG zIi3d1zCbREzMsQ(?I7Qdd`!)EVa2)j5+BZ#!(DYI&uxOg|K!jFytLoo zWnRd>%a4~U!OH_Ke*fs=<<+_N(|;If-0u?zqOBV?X%oO z+&AdFJ2d#aX|WnH`7^DAjB`ygGDnP z-%7Ok(3|XQ;4H^tvzKIS+Y98ee*vEKU~Blf=!7TbZt1*gAJ{?ZVceYr)n{`?~hQ_KtES+lSuI^3m&wh5W>!Re$U)L$wBroV}r2 zq?-zh?1}J>_$gJoE4ad;yIaxkqPv2h#_8^1XfcuQL_bDO-89=S6b|VtMpG5D?T5#W^f+>$;1Op>r%T`GGedoR!IZ zDA!uLTYFYCUg4}Ui7m62v2;Y8vH15+FpmA`EtC7-XlTaG{l7NH=&dH#rfH&10WnIG z`~NBSq8WRE{=Bg*f^OT}67bp3-=5k64DC-2#HVoCGu=nG)zj>olHl(g`e^yyiQ%tf zy@S63-W5H!JQ>H|?~lgu2Msy&vT=cZYZ7|N*7%-C7+-=8xlQBy*W}|{!uZ%@VeA7# zE3E;8-}N_U+kbM$dM9<3yg6JmIg9w|*tQkWjOgS}ez$M#+phSai4ET2#s(!nxegOM zO0~{#!3GB>zt?&@II+GJ$H}AM#OuRv8^-W+B+n*aBgRkq-|*=-7uX+nYmLO7oqv`+ z$@i@6O+9N}MqCYlL-MutQe-phe;ytE8!*);?&nLu^EmKa|HujA`OWF}&+vIfx1FB6 zxIf$W>hcKh9t@{|^Qw(;d%_l;9vRv$JbWGe^^gOTe;rt~?alih@t0>8-kjavE-bU` zi(NVZK1Ze&jkbU3;{))z&EUFfiv6KG7QxN)&i~(;Xus?G-y2W0;D2yv+TA7i8wba! zXWRCp-J^N-xjy*3{w|}xs&zy6_ayyQJuqZ{hh%g0>+kgGc21K1!W!SdB=nac%bPU5 zhJpQgvfT9JTdzWDa z@#HMd{_?@?@j=VdI3JX8?dO9d_)3xbgfS)XK?P%qxHX^>?EuLe=4`_N93Gu#*5tHa z)dcPAcE{nT|Ci~z>PtiSJy-LWr1q2O-Ia9%`^J9!PLlq1(qG5jaemvO{`uX{H%}OQ zuKNFca(=5tC&P2wGGL1*Zu*t@~LclULq`?d;d zZ6JS6)gI`$j?%inybWXPC`}+6f;%(rlr8-XM?`!WmzlWmp>*=%LlgVkUAB}r@<;~gs^$Nbl zmL#zJkM`z&YUuIKr|-ze2hIuO-M@r11D$ zdp`!ImX9aElt3rrfvM#q17Y&$#IwoCC)w}GbYqiKb4#%GljDWhwCrVFjO~;IFJ?TM z7X2=8X}&fJKNShEB=Y~qz|YkKVG%vdaAZ)Nr#hWFJ?pVU`jX7Y-SpRfjYA8v_magU ze@B1qOOn$gvI<6RcE^OfFxFq>pxVkVt7oP3C z;Hsc{Rf{G`{BFWAK!q;CqB<~VwCm}P8va&Fu+mYn+I z0oDzUTzxs~E|;${7w^K_Uy&;0H|$_-dZ}|u}i#orq)%xy63;|LhqjA_=SpXvQKiK z_9ni@zWQQxT_x)&4Z0@orn71axvniPiyj+o?bOYcFPS-Iy>O9469!wUpKBIH^ie0>GuVftWPX5LJj&ty?{jrkC zW-panYd%>n@NK})>*DzrUVV_?Qg}Hfj-4@$y)V|71X+{N_kYv3m6e2Fcuu%AGREh-9&i44 z6Tj0~J^Xw2sm@oJb%MD65wH~~2Pz5f#d|T_!;7*J{dmzDsc^CwTzK&0v8NyoPhRs# z7arxHss09eYO!;Mjv)sV=jmbKNtTnQ=ahrjJvy>eI5TGr`R2>BTQyfYVwfNTEEB}Vhr?lXY$^L-TYI@U&b>U1XEDsQrS} zwM2(Rsp%HpWtlqtds*L69fof5q?DikCu&ieoY5stE_n;z9xoPhJ%ASzW@)vqStn9`fdJR09-Q`iB2OBs09GSzs=3YoGe#O|ok}x>;rD<^ub64^P0fcD{=z>Le6$9rVR}zx*2X zb5R_w0_ui&aP7K~XI+{6TQ}x_t+%ak{n>U9+hy`umi;g8|C*15C2l{vIKOum*Y13@ zo||Mo%HRp#e88g{BlD8X2hVx)5iFc+7rQj&&4cD3|6Hr&={S7*3$K~(z?W^=pLYLO z&BNkA&OT}u9ai1L*T`|nV4jx1BWuF$c|)rwo?4DPsLW;E6b~k`u+^=vj#fo{bKIV9O8bM`<$~l z==(+7pF70;>D(_F;y$?;84HHEKb8AsL)<@;`i4BWJlF2ZkAvdH)~WVCT>mXbgAX_~xI16+j=jfC zmaTlSa(IngkHZDj18-inYTixI=4NPfA$#{~p-rQ!pv}GH4E;T^&8beCQ%+~xL(p{* zXGaf3*G2R_6kQiln|vs`E@DsYP;^~{|1%U_7qQoED7r3U-`h}hUBq6u+;DteTXN#_ zTE?}RS8Q_y11**MEhd zar|QG>px>NT@-(Bn{$7Irh}<9cESF*v`j$V68#S2-Tvx1{^%gKI+{4-QTr|E2!jeK3RY{f3M% z^ie(C*lv4Wd%@Ul*gk3WE!#^tONJZe*1iZ0dO7;AwVt$nJp1H-_%nKf(0Nb1QgT8ut6{UH+-Gu9p&#Za^tVqJnQ8G)9P z*^<{{OU~hW)t}T}Fk=U^cS!xPcgysln!<%#Q+MP*1vX?U_k@#r_NEwoxOl7}C&RLG_w$!GF$1cvjPaI1J^N?&TFJa>yWgI3S0opY-yz&uTI+jm2n4Fsm9k;uChX$kL zVC#kUDtt)U@PpB@_H+2_(TIL0#_0DaQ3{~-Chpq`l3%SgSoZHYwk9;(pljeYG|aq& z@X1XF4pIDv9>nkJv_?(h4;)RA6(DH;M$+}v2#sZ&-tE<^|>I{*0#Kl&9;B!dnVT3 z3%+Mo%(mOSXTC+wBKS7rqi@ZRf&HS8%{(|b;F%as55!>FmUruH1Cw%4%sk?=CAJ0b z59R&mH09yPo~iccI*!jnc?)yw2Yk=O=Gi}oUzu-D7;V{K@;#Rb7qIWo`};ft*X`bO z%x?@2PsZTikoRt$d9KFyoOs{hVrmRu8}hy}%Ko(PnHb&~FF2}Tj2rSw&oXUY>w7NN z=PX}an-|ziyl0^Gr1<*YMEer&8E7B|6W0w+fBW;MoNkx+o{7PPY!yt$1k;~}8JM)+ z)yxm?$6#9QYpe2HTQx?_Gsy1PGx725&#QIl@APEP#mBcl@1AUXtoIDC#M*Ls47j%C z%@}Rq%J4nc@P|GJ?{j&F*b+EBl=u5-_JmCALUf2{4}F@tgpvPo)@}OAiSaYmzVjUV z)H5H|{onU(Cnv40@znaq$7OGPTxV>{Zcq$Iv6*D?(Pyq9rk`x@A#t}3#~;}cte$Vb z=*shMzg_b2Ks4_&Y0=zvtK=udqYWMzd*>_em|Qx4R%2Q*#nfO6BO6P3X4lK?r9?KC zLg&?7Gw%I)U&*#FM>lLruQj+T2KT>H^CQ4IRT}W81OG7I8E)VY5@&SciNSq}eSDjFRQ#t3 zyW?GSk9a&o`UBi`LJt{Q{{dgsy2d}NME;9T{IQrV?3Hcj%yh*T#}fn8n#a3;z5x4! zx(V=gkoNN7Ysnwc3UQ_4Uy(;!!1?2{TL;@mQw**mJd?NvDPMIDw9!T`f%N-$*5{?` z6&DuGWw1V$2OO_bWBT8DCT~TCUBdkf`P}4<57}BRJ*4q5R`HAcmtt~ig^vr+!LmVa z06!P-j&S4Q#o)rli@^o&X{>r)F-(ou+jA7g-qe^Y!BGqAPQsD!V{n5X9m5UR9&Wy( z9AkX+p>XpWwOOi?`0>Q3O-`=x9Noi_))4>5xYQ?gGR!_otwH_x3~Nqo zJqbMfV+X&WPj8*d@56X~Hmc9+G4?)iuD+Vwe%04F@;Vd;{R4dtHlKns4>%`iebb#w z;Y)i#>%prR-{Xu9gR577+oF!Oo)HZRr}aL1EA-LZdEit$sTxtLZB!%POc>uo8lQVU zNn%YS)iPQMFN)T3snaa`Rdt#*M}B|&33reCJ!%`0>e zs&@Q%YL5>}YcpuG%B?Zyr!~!)=n5NlgXk>`y{R_(UT_%(Z`jN`wH_=vFqaxB9{sf7 zpLq0B#L^QJ3GYT{CD6$*;m@tL+;1I$=d@nChxsi6 zmTutu9c$6l4%s=0{?w0Tg!*cxAL)vr`Z;(N@{ebP*JS+|T~VE3zes=HdWC;o*wejE z-RjHG1DB!?7NQp}K|e@${32GT_Vxt!P?!;?`MiOAY2bc?ztZz!s$L*RtyWE9YwBqS`ovo_1Cgsog;rj3pxiZj$2iHd6 z5Pb}VyX$}he{>*k4uU(yo%SZck_rBj;Y~jCl|H&jw3WsY_mREi$hZLOchsuGU)xLE zKx<#BuUCy+r$3tjlc}Fnj~9`owa zV|;2KebN}j$J`nw@A6(>8Z~rjuK-$=Z0$gAn3zPaW3xOfIZC@*XfK$=rnA7Y*GI)D!Yz7&H~tjxrY zh+D5?zGCx1e90d#i}{zdQ%DTk#LMtscJW*h?W}Zbh<%YdV3K`Z>?ICUGfXwWRP!;T zjNjxCoz{xK(HgKjr|{0YK=0er1JU*HLvJJJ#OM=K((dGXEg@>DIqX&y8(+ znf*|b@v5(4<__E7x7hLVEkob|F|1{D$29RHp zm$FSK!!LUF+gfX-Hb~Io9LC|+GgaV5{9j5f%no2E;7m5bEBX2g`Ba{6F5|q!8ggU4 zAbKPg=+WaU#$P}zE?G=W@jb=YMf;WDau@Q`;IfJN(Y2Wqw$(r+&K(vrCo^0%I8gQ^KGEkN^SoZH+ID(zU z_Bz*hGIEUm)pri@Xw9$c6BYT+btp5oWFGZru7r=4!cR-!t8(~jG5T>)6n=~4`2CqZ z@Lkvp-PG+7&Ca9tV}QI8(L~)yC+ADDSvg)_zDWb;il~lWu#j^&;6ZG{ZPsn<`G6h| zE^}y6beL}uJ480Bts{RVZ%*{ZSsosJUF_1A<~OkpknD=ljI9M)-Anu7x^tlgi<+9j zwzHUL)nnfr7+G6L4Tmt#vR-$%mhVF70UM%O`8?`Z{8`9&F4kDS8;O328Z+-QmN5V2 z2PXAU6WRDTP3iHt?@D|@$>474cYeUPc(4jNYUC&M72q12^vb7@3{@Y7#_;duTP%cj zRYz5Ifxl0k5$p;xzoIkMAaZnFp2^qoXf0Sh*VurftuD^0Zgb~b^BiQJE$VGeqGqZ$ z-(Azoq8V3~^)4P6Y7Q-23P@e%l>Qk@})^9ESO2(+~-4}YcSN}TiAzz($bC%N>autvtrq(;S zRDAyi#!xjxEuhP^-vyj&ZLmhXJ)GRCnxc8S7Tu^0(4*7JqI0Qxik(ogihV4p){#Hk zZM#5z3GMmo$oGi0)rV?Q(T8a_MVRy4cB}9y)J8Z7%$ul7zXiRN@5b`{IJpm+5>6Bk zYvjDzajFmH;f-81;q5+jf}W9$rSHTV`R}q{KzPHBH84bzz_4!GCHP_)Js%yu?s0=Z zXuTi)z^B^QSrf_n_@mp0?8G?!RDWt*+c#qP8;7fq{QX~f@53|k_s5yDE1F~PJNVx; z+0@C}*LVtN7NGOGfXz8GAhlXqKXUt$K8*L})XKUo)>ph%R^r;qZg{(rHI2)bc=ewW zYE_;aDUs~LAv+X)d6-?kH_x6y{BbF3RjQ42ZJ_D##z6DqCtK@l?GW%slECk;k1sp- z5f}bk7yiDrs>zccJvv3T!HBKx=A0|)Zf}9!oVwd(sx7xq^0t&5hlN>=zm$ocQA~Zm zH-^`rdN%s|Rz824YSq1zQGe=H4Vx$SalJPX%KU!A`ic7jnVBocgfhFQSS6Xn-bN9x zRP8Xmv!9Qiy_$FOr&)D9Jo^LQ`QN~(%za}rGkd1<4tYMK$mL1t`58PzixyctLHO&vkW80CR< zWJaFbO>BHcOSavy(6X)e$!7%8>zAkT>01+s_EC?S8q2by=ZG$Iz7%;R)jDoj?%cw! zaoVI0)p6TP3{mvz)p67Oc(sxh^E-0&Wz3=0&laNV03Vn9jv0Cr>NWXW_tZspI%Fy zOl)yv>Cf1r ze*w2GUsZzS{?hCUBMpASJ}KXB=DAM|;)OP{|CWM$scux{c@fsvU{kIBk>gSpRw zK1aIr>3?s~cc9NK=yN3WnbPynXBPB168cQ(dFV2$kmskS`21|15A*!Y6raDqDj7*0 z*(h?w{yxRBpLTh2GdwxV<(1pO(af}wnWNH1Wxh0KWagU}StX;$9Sf2l_6Gd*=I}K? z6d#L!v-$q}6majpyNY+i@EGTHW(JV~U8R=zvgGf4Z(*LA;Il^fEDE1t+x4vX_-sVv z!zZxC1Nc@ezBJSDT3{G_#;5Zu*4C?t8JrA{&1Mgd^kFg{J46g%Xdb&9Iuwsx8l{$5 zj8-qkW{NI$cQCOb2qJhz^e#q+SC?ErZk>YMu5&5N-Kwcc0I5Lx=?;elJb=_~y^!CQxYCwR_O zzNhhhMfPXTzBKzYw_KCG;_QXlD{fhq{n@iG&;IN!%d>Ah`;zP%Z<#vWx;p#(CvRCX z=gC|C#wWYDder@V-&Rz8)oVr7qt^0$3BQ-~%rE$!s%MJ|N2M1RUUd!6KFKp@zHVK8 z4bQ#6XT_v5ulf%6NBs4at0%uc{OVymx8nYStNuLcFSo3y$htamf8kZu{Zp>$NUvXz zIX{1tah)|{f5n-(G%vn3wvMpN?9-JNw-QCtqjjwf$S_|+|0v)#n5sFcvS7! zVrViGniTG(`;6>QZ(k6j$$1kTn#7(;nSISZtUB5smHk$|6q>Ix(o;CCZWU zojpSQ$vY#+v4Ko|T@z!OGS!V26OY+-rV}q#jH>i?d_-apcTQZmQ}I*-19E1|Db|>p ziRnALz?E62@#S2f$=tM@>G+9>aq%Ng9Dw~&XW6TKXA7Fz`;2YVshrhLZjU+pVIg)1 zXFq&CFnA665Pd}ooxT!t*MH>pwGJC5SbcVE&qEC{|5e2N@8GPhH;@Tt-GOlj$Z<7s za(tFn#a+(mKW1$6F*Ro-AM@W9VH*)|O12ho)P;lb{#xTE2L4vD)&5pD{saB z&bU=K*FSF7NAN+Z$@t&I;EC@D|Dx#_&V4bU|4;q1)|RaQw>_K}o@=*(3vVsL!^54N z=csis4-dP@0W^3x03KK$y<_sion{|_=#RNKc$l2Nb4!xBe-b#_-55~fd_0>359Qz? z%J>y4$RMVYGuGO9%!h|Ni9`0fbZ{8^Q}wP?V{H}j#9HDuHxWC%;0envdLm%I`$U?l zuemaiwXaz3pkpTx2P)#@#A$Nd5@VHb6Z3i(+x8%RU&0>tm(k5T-kVOYt>TfnZ7XHh z5s&m@Kw;#n=42Xr8oRPrYa>qEIc?9e=ix2l4fXJDH}iB5+pvc=ZbJ56$;ZTa&`FBz zAbSr>M=8dm_|9DRM+J%XsBN!K^v|hZrn(hcC)B)q`xJ|aahrXLyO3=@8n_(Xcd!m3 z8tAuf$aAwD-aRPZZJlk80k3Z}u01{*Td{EU z=RZ%ScZuv6;(`m~aY4QJBJXD)EAG6)+UUi9B;N+ce;6yadk^!jwl6(D9{cgvweF{5 z3RBZDFA}eoF06Os3Ekg$=+}E++WJ=b>6hM$u7Be#;y%Y}B``#TL%K!iy~=S;IWR+R}Fci&;k(K7HqfKEV8fukE_GgS8d!JgGl3{<9hTKU-UR zHDfXU8$RHN_xR2YSR0Qoh~7;NaeT^PR%9pfoVpg~kTr_B2sGOmwB~AUWY0s9V=qdE zy0!sp9u86Bt*|?X?Z~Y?^rg1gx0v+V zGu&sZSlczv-oMV+B8!lXgT=hYcpr1u_>c|`8vHD;*5rXwYrA)Sz}avyyiX9 zC#Obs>MS4Vrw$vlqWf=YKUB^|S9-8G`t`5BRgSHWU2A9EyZ0OGKV0~meBw2Ytr@4? z3=Ic|PdabQGOL9A@&jGzS#4d&*X^?5%z2wR`-GFp;9R&6%>Fp!&zKYaFI* z7QYfNH++OlXKgH}89v%qcrE&cv3;F5gv(F+MEhFfOxD&uw=K(!frQ`{V)MPBQyd-| z8251Uht1j53*$c7tI+qQmplCQiOW5Hiq|>!IxBExH<>V*C?eMXto_>IJ3)#z@z3JBJMxUCqNn4S#iMFiwtj-YB zJ)KMH*}7hh`boZVdp5s#PW9ZycR>p{-M;Fv6N1!sZzOIdK2%&r_l1Say&k^yUlykm4__Xg z2ydyqhjamHHc~VW)X_X@>RFjRwy%Q=`p)um+?43S6Es zw0Rk4qBC#BPd~U^vZXESJGYBAGwLjJ7Hg2U9Uask|CurT|KHQ+9Wi_-KVK#|44T9S zn8&wl5ap|CjZQg@Umt$|a^;qN4IUG}y+ZDV@-phl+j%cNukFXsY7;hLko;e*HQon3 z*TY|3+{@rSU57bWO#XdfR@37R_&864$9nK6d!UgvCvet;zR8cXA6GxTBYw+W{e@#& z46h#V+zWhPw?@9&sZ0kxYQrlBQ)kZn8e7XdFXUL|C9KzKE?$V)16z<^o~(EqTVH#S zEM!F@?;2Y1^cv%oT-6wp$=A=jwBoIQh&J{Tzj*P52jY4MSd|x>On$9(Wvbwid=MXb z{6k&K90%V1>wo=th<)3s#2FU5a4KI(^BcW#{qlqNJG9(%*3-8aKfU$#&@Ag&^yE(6 z57MsSeRSHwlUf6u>GoIO&lYsnpbio@FnyfF8sPW@eEV%d#YV*UT4RdK!?;bTJ*m@O zd`BqSORaVD0=*Mwa1?9}>8T$zOa6<){T$DN4m zf7NZfo%}+zz1P>aH`Wt@^#!**&sGol)-mhv>kn%WKGli9`hBL+C_w`!KE+E%zhjX5&Xy#tc2Y59&WNk4O zp1Q;BtHT}Vs{eez=!WQM@jvHuk1=+q!%wuSz7xm2mT}8R86Km@{(8C}uR}Yjz;%@e zm&@z^xixyxrNNUvzdS`a&T`>sab-Xp!FE*ZA9JzK1xYX{w9& z?=AG?zz}#(k@gO;rfB%z9q-<(hX&Bz$@x@{*L@1rSe|v5mvcvN2u@S;lTJ{9uAO4i_diO)Vs-5>b9&6 zVQOG@V4nyN-QcSWd*v45vR%_1AEq64mLNJx^UGO_lGOSr}AY} zoab2{{)*ylnR!lvzX&xK{P_DBd8WeO3xnWqqKCh!PTT%`qW>Z;BAhBl83a$sbl_m) zALfmJa&njrF5Ugo9xey70}r#NB;GG5aN637{kL~GK0-~=vj#re5qzSflgX)i)oY(v zzuNQT;L(2q2fN*Nt2l>U?P|UaZF;`t3DCecw=Ih`gMMwDAf0c=U;F=)&eyqcMc8NK z!6n)}89KkqZL5QQGRfMK%=Gd|I!8NsB;NiC6H{3mkEtZ{Cn~-6iIb^)|2$7hHqR;2 z=VG_r0`|@rxPK0P%0_`cL-bSR(&swl@Va;VjNKbfu!9EUqw_rcVsH3y;>9QW$F5!RT}^og}CtWj3;zxsZj_7wB(P^`qX z=j2fyPhLLBnvUdU#Pw(5_S?9&i@}{^zfm`mF??~NwewMQK|G$F&U#-tVh0 z_YF?s_f=;t8J|7i_3y@bRA)vo6oMzMSDYS$!O2~`>xT63P_YFzh@15tJ@@iC&fI6m z=DxrG9%^xNfMr*ieHX0B6|&By*a<#U1-Xvf%5SEwF>7~A`K$?K)oPt9jBHly#aq8i zrt1gOPmA60wop$~xb^HWgJ;?mo=>E`xo&#}N%DscKe%n4w2zUZ%{|tIL$x$DmN0QF zWSTkC)XQ6V6d&VcbnXYN+lWRjWU<=z%i^8Ty}_M7hLIx7e|6jSa)?92h!rI{hjkOW zL^42p=Eap0Wq`;3L)m|W(ZtWa@wq(c>BE(bwaA^n=C-ov(m>|E%`T0uVO>KsN!DHYA$W+-^MO%@MzzLV8OStwXIf*HJr+(8FVuZB_^ux^ZZNPu%MV>yJ164F+W!1D z?#!}i5pq>>Pds-rw6NNP&Go7Mv~YehS^y8J`06X%cH7-}g`Y3|e6*3g_C`Ys19ee5 z^4`1W*F`77&t=~DlHh)@c$$34kGQyhx%B@I_Y*zX+?;zq?*9uvegGe)i2Gq4?%j3q zCSOd=kNbLXuh^`|g9fiD(sU2&bdn)n3}o+!m$Ywb;6Szi{?4ah8DnrBZUG7^Ccz+z9?4 zdzspyjU(g{XwRzl!)m|N?L5c-CZERJ*KGEU(yr<^LGe!|1!JQkxL+7kWDJ3;z+ zpIl_|Z!+E*ihf4A^z-n=o?P^;GgL)Nq>sF~8XMB)n7BoX<9)@2iTZBFF7cn^?%6!1 zy$Px5pr5(z6}WP6-P7w$9J}fJ>zA+F`m|~%tk$}au?uKZcwF~c&S++B+vxYHsr9qP z?T46^fm>^3@)1`lM(^clz(d|z*+y&!$ze~odGfb$h;@ALS-qER9shgqmg1jbcV7C^ zl}|(6j28kB_o1 z@xyz{qQDx+J__VlB6lJzmsqc4~>++@%@ms63ME1_Tddy`=jh)_-2sWAHQ|-F*gJYv+Pw< z3r_JjFbh7_r>2fd z+|MPC(##+Gqs{zLb7&X-t@~{8Gt5^3GOS;{ga+{7%NZQWc*wi#CzG`g^&qiY1@Vi>;d2s9tB%FwMRVIs=4-HTL)~Smxx=>K|03dJ^Nt$E3{y_`HY^vNCh_4 zrq`Zp)!}(aYv21o#);1Js$vkM2RNs+8hOf7(V&QRht{XFz(m-PIj_oo8%y@jq}YZs+NMM13KdA-qX% z`}0J-=N+AKiOK!)Kcjq%35;KQL%CkE)3YZK58!|O_vn02#}Bj-C6CGB?ooYw$u9AP z=CAw#>at&J)h+rSIltt-)mG29*Q@^L>Q#5E{%3t4|CPTnmkxgzr2|~ zL>r=uT55kcy5}JaE>j;L-C^Lm&Vg%Biwjpn+DXCnBjB=Hjt>|7vMmPJljqv6`QTbR z$JGs;@FmyB!v*uVvFe*C^=Ww2;NqD~TXmnkIeLxy_|iuP7o1IB+DdKLuNhqIFJFA| zN#Wu);A(j+CAfUJINi?o!8L`t`9@E^jNGF}{_$|}5#fL13HI4N%ue(5xwgoMi@8pn z+u#Nl7h@Kj6fR~0SLET8;MyOfi|QQvQ$DzMPjPWUUB7CskB5tF;lKI#eZnL0KA#EM zBYk~NDe&Rq8E}C<+wv8cN19HKcMo2KE%GnNhYKEw)9a@)?TJ3PR!|q;&;>fMU^=nq z7Xo$dVZNWkre%Hhc(~aM4DI)&1VfxQH_f;2cF%7%@`H6>1H%DepwH4x=w0dx9j|W+ z&Ts7a^6~rbH!nx0*#GV8dj&PdWBht0^YQ>^WPH(`m%6}7(dhlaRq(|j;o2{m%Dlws zW%zKL{VXv#@&xt7V{lCcF59Xr`hq7%tdoN4)4)}AXG(Cz=jz5e_Cr3nUc+{d!G-QB zy$<W^5#%@tBo$`Zx@xI^L;Sx#s)L=v^Y=~fsRV4PfC3v zL(}+J$EB+r&EHK!!{g3hoUdNZwlDR;@B}u7V8Bi_XBDmFw{!ybd%v1(Gdcgg>T^Ty zQ#wTbmlmGUzN*B1N-eJ4whp`mJ4f0&v*&nx^FOp#aO3gE2hI=0WN1^S-RzzRbiDR| zuJ&&@e*4gW9DmPb+n-Od{ioHwdtUA!HjBq!aXRL_?dwy(%_iE8xaZ;y)i$_^!yYKH zUr3?tFVl9_b;rj`KfJ$mhW-5%+Ws7E*MIc*ZG-bTPW~{_ek_Hyuc7T0_iWtb;ADS{ zUhbS=_fa2ScG2FKmpJSVA$u;cr_w&>ly1~nV&b2a;omzoc3$@J;18<( z@)Ktar}{8)Oa-N&ZO=$}Vs6`L4M^_SdF}i%s+snV%9a;PkDgFDRuHX$R_BEcq>ZwsaRA1`D8=LX{uAE@bhe$;R z_06OGa7yjR=Y3|0eU1yi;+o`G4AA!SP%pIA zzH1U}8%Ra)0f_?nf7k3i$@k=WFl0HDZ?Vz8Qai<`_aCEi%rb2$!T4p-@Jd0bGHGuUnlK5c@bjBtrK;X7c+w|4zT?i zY2W!a?kU>uxQ_ z^)k+@%i3g%m4WA-&B za5n0Wf!1)+wzhKvr?Fc{+PT-T=ZuUqGIebm_lfb%vz@W+opOq?L7xK|+xgDe0?yc$ zqSxfVo~p-Ie$`|8e7QUh|9Gn}hE|V{_Wu*(%Xh~2{ZoyP^>!fR`v4zb?H6#W^N5dm zo{qqiLW8~WqONm@`+CRL-~a93Iiq=IZE+~gvU9*{zZ(xy-$x(MWnW=QfeKLrr~~rtNbZcO5yO`M!g%^If?4 zfLI#y4Z<^#B@dXfIsRyFetnBx8I59P63cJMHHFJ*b!^WIVev0wfM>T&Fr#=w*x6y&itX;;JC*eEfuZ!Z# zqx*C4t7$VLw$Jdm``lIh)y$m8J92g_@$v3D!sGu#t|XC(lTJcM#@EWw&>V+;V$Ij1 z&iE91smQ92m1ZL1YGTRITg}`Pvm-Dh5VK?O92sA%aq7evyK!w~X|v-qCH(Hj>B;y# z7H+1PxyK*IjT=MDItTZ^L0e-@`_9^7#vGHj?3~}4cRz008tu^5wv?^ z+(yv&$ASCb<8Li;#PD4&T{`-#@pn9aAiAGytU2A{v|HuKaMP~wmynot(U;wR6Th2m z^W6uLv%K6%%-mgu?tch^>D4Ke&5i}xON;AnDaFyE24T5mBhoMG(x=bg4& z99-MFk)0=PJT_(B$4O$>A8_#Aby0Mh^tbl+FRgL>H2nkA-6j4?Xe_`t&jc2|FPR*# zb@ycl?3^LxL;LIQCjX80J00K}a+cGNa$<;t&-V=_cfz{my=zDf{pZo1=rPOw5h%n7 z%=S4QpbSlP`jB`{8B4T$5E|wPx`@RmNAT+v+=y?Zv}gFl@5IaESJvGiu^dt2W@FJ> zyVGWiBj?@vWMtkDUktvE)%Gr@ZNpDd=@|Jbyk%t9K-UcX<4$|5-!u4g_^RJn*Y?jl z@+#lvI~_c(aN4eQ_$u01jXZP9v9*(IId+zdpWHr<>8|f>oXK8jo&%TIYJ_Iod!bKY zf0lb@FC=T{nasu0YfD1%4TM%=4(xr}z;ZU0II~0m_b}_=*d!D~B%&h%MB*2y4Oq!N@;XeisebzpH-@5Uw{IxJ>M< z8?N$`!1bSwAzSaj6^;K+wh!ETk{pgLuo)iI_Nbp<&}(bkNz6z>idy8y9wq!Z<19NLM=QShKKhXL2mj%2$e$bG{Ehe#y=8HNL@jI4m>&d>K*ntnvfo z4|C!~WIUQ5oLCWw<7m)(zY}8@&%{w*|MH>_GRx33fBkv3h`To(pZAshyUt&9&trnT~%4lyX_{R9UzlLzV1GNKk9a(> zFAD89v%feU{(O(v3K>_96Tj^~S2DTorch-!uAy(^oWI z?P=^3wjSB1tGVrDf`blcjhGh$4}t?ZR}egCcpdwN#>W74lOH-Tk|RW~YxB;vV+m(K zE9K|0M!0k)pV61ja38(W=_}yuCEWYyYa{RxZI2gg&m{3WGN(q5F?KD%@5%I-6%Kxf z_u@Ck`QQNenzuS|nDy4|HI3cc>6uP;^8P{Jv z8J&OJHn3*+^|Wp1oKp-$hs$u_ZaLMN+kYqqD8s?Ss$M+w&97Nkp=o;+@TzG;96D7;W9} zw542YYW`O~5lo6vzs9Lw>#V1G47s1Q`zFp>)<4O?n;_q*r~d}}mYe|5@Nt9FR*til z>b9=OC+1q0zH+UtuQb!n$=1-h6Kq}4Swq*ehOW=g%?g&cWkp>>|9pYHzsSqt`vUQ5 zViU2Pc^QGtk~>%8Sa(qNvxej>s_r88jkrp+a5nd3JxRu|LC$NWuK33ko#oA!cN&QA z#0R86WKA~TbZi~DI@7G#1L`L)qM!KxP(SBI^y5GCegYAAt8wE^a5W@)+wz@(NZg#V zEm_B-;Qfr+l00XpXloWUa?<@~#QGO&9sZ`otsp-FjxMp(m7m3|eMZOHD&Ik7eeQrK zglFKP#(cgzR@AK)7Mq-NPQT;9b>tqP&gqN&zSdj(jy+fFRJ!FMI(fr9z4+^|r~W(Z?5XnE#X5f#Icf50$2xx%-8z~-%I@<|K?eiWDKi~h z8a-&<6HjP)DLUn{E5FxIr*zxlK5n~1hBH6W#`-j4)p)?}lHFn3T~?fG{LWf?sMpX;n!;K8gNLbJX6K_5c9AO7?7bi|)KeIi?Iet-wWXF_N; znvS^V0(%{~&cQfuT+xU%UUYxTzzw2BwGH?5%G3Gp$ybU;QS2^c#`L4E&oRv9gB5tF1u4Fx6 zPup;DU~`#QP0{<10ooJKa{4o8a|w6YdQc7gz5mtz_C%j!OO$@9y*|62vj?_sNO1aT za`O0v#GdjMTkjLSD~w&nZQt|JuD18;F(sc?U+-{cqSq|P&u6LlbpCvLuPt#I=bKUc zde_!1a#)+>drfuZoY1&*_C_YJb?>)?oHJGrYn!ZhBV*`_yBv6okC^|Lc7DV%_%qhG zlz!p7ljF!6!O;%!MU{7rZx8S5vsr92f~%FB1x`X%xYrAFj;M2FFs3u%o1dO<%au#c zGi%AmwfAHn;7oJb&oMOP;M;A-$i~K{br8oN;B<75E1h<0 z9U1QC=abnnZg+6rdajLgzRjz1Bz-i3b>s`)P*-JK=^N0TqflKkX^ z5xt(ZqoP3a^$>^KhAljwHRKyYH|TWoT-sm_d6lGohBx~{Q(u|( z&bRab*w2-I?x7v|-nh=EN^Xj|L!7o!$m=4%CC3r5?Q5Jk;5_)M8aNunwk^4ST=`mt zpGT}yPIMps|03?TIWk|%5KnJBLLT3ftj@(&%Q?}xeB-ekxb&ESLvjvjIEcC5LaegD zU}Afgzs7eR#YcghK(a1M-lzcI!1RN^qBQVFE@}NOOmHG_HygNJd4S$Jmslh6c+1`@ zGWKV)9WT7zH`^0TApS?l)0;AF7tpj8(0@_IN2Q^UOpdT^edmH7!B_H4r%y4qTlkkT z$@R1R%eOz@cvrstndyA{lU&P;^;ezfiLCJt5sxXhX`jXYp{l!#z7Jy;_FJ6axM=PQ zXs*?XLCGYa;fK7Va|=-~z_&lQb5`nWix2L{4pE?*?wuj|)QAsCAfHicg%wIqR^1tS zYV+vzs&G_>>i#w3&0`(~zKy_V_(Q%;`fUd`$#W!grhO)WZ9DU(ze_57?1C)^*pMlj zAKZDdgx~*Y^TP^XZd|ay;fEb=ez?&JeHK_oBMZJ-V05>ifo}`EdyswPii4&TkaZ&W zD&c_^cv{ok_13~-=5+?+5V{ebfd?uipYwe30xUk8I9bY_%xPN*5;m6Yg)7J6s%j6Gv9(sG0{8y#Sr|!>@ujTajG;=HTFYpNc z*?A?i3#8l%ZR+}te3kkeJ=qtU`a<7jz?hAE6&fwm&((!O7cvjO`@g%K8Q=a(8-gt? zs2)r@Ulo3pvC6l~_|_L^?!Iu3C%w~Ry;#isBUs65Idcmv3w_c*W9%$Y!7HJQ`M|pXnt0Qb*jYX~={f4{VXsuNz(o&xp@%O)5Ar=p znWyW?&zFOq@}S{i`CiMG{=9KBb0l^ZnWGH&w#)D>^->+aEzgnfSNrwa=7(>4^Yh(q zg`VM?y}26q>ET`Aak1Eyfy<5insF-B${Yzy6M(4}UOX90lYpto;n$cjaOjqVQ72_okC&3t4a^<- z#Fo9Z!bo`m;et{vB!^nDpjIPCq%0A2xQ8g9Ea`=rNt14dw}hKh7OxO!T#4KsK2F`Ony3<~i^LObpimY%sSu z?=(3+!vnFwh(C6-*fpd0p2y5n|N+IDt2Hl5!)?bbSS zd4~(;li76k<=Hr&|Nj{0-*ezMYnY)kjSokzohi;&IBmB$xN+OjJ`;iSXmJ2d4vxlw zquw(u=L}o+Lq64ah8=lMt&N+0{y3Sd0Z(Zjs*8Hx^k3$yk9+2GEV>&&#pX~Id*h2_Cp+6oRh}@6V+r~O{ z(0k73oOugPJa>+fSuu1u$2aCw_T<0g!|c{|^%@oQ_4DBnxtrklacKUaZEb5mi9a>= zqY5LdwXWdk2GQ1pSo+5=9N3JmYtH-JJQ|6!J)f}U%XPi@`Iu#TZhyTs7VKY-z^nh4 zPy8ly=L_#HJ@D$gGw$kqml(z_Jr3H_xWtb6JLE+_oH^%@4X&8ke$USUr!@{-MsB-t zdNR5Fu!GlQXUEp7du5f#C&$;rmL2`)ATO@(n-klyGuCK73BTj_kkEiN- ztT{f*t|vDA-g>h3NIj2pemg+@X@i5KDrf#hN0oh$*c?ws-mG=n$#LnrS}(9vq426b zmVZ*_IA!JN57*qKb(eoNa%E7Nk$ycP;Z8LXgFjrzrj+`ra)jpRV;9Sjc z#?|WRM(#bO;Vq#N!L^J@`jcD>W{)qld=q06S@Wl}%o^A~&&CdBoGTy; zD(0~tE{~rOlyAeB?@O-XzR-c3<;l5#e7o-mw9rBP5BBhGzu_OwQpFZ?FFfAN)qH=- z;7eqo$Ri_X`q8c5)-SnKEcPCsH-koNlcI5oVV{lD&mwxo|}d>pIY zkp_PB7X!cSfq#mff5O?u&flk-i)~-@c*#ZU%dvSyctd=Y4X+4qxOpY_6ugofg;yfi zf#_>8@sF-Gxhf_tQqM(;4H5R7TJS0Ok*nJ#T9=@@{||reT5u|Iz5%{9a$bH5oirdf zrQbIFZK>#T{%>d5a=vQ($0M(N_XG+%hO5aUxAL$H`|eSNBk>t;27Z|zJvaC}i!2d6 zM9ktdaAlzW8jWb8koxa4_tKWgAX^^U_nQmIgW>2qTR6Ydb-=&7 zP76M3RmelNsW4a!Y>n*wny485+{M*p`$?(3=!F!d&I)Lk9_MSrXxwPBvO%MCW ztCe~VXiw%qV5@e?s%WqwtEV<|Mry_&XN|fZv=L!eMgQQ8$6 zt?Hd$hem~`&;i}FX5;%rJ!lW~Ezi;&TyuV?b;Ya4_34W4ynC^1Sx=L1@J#Yp1Q}Zu zV{3_G`@0I7sTTR?*juC7{?-7$=w{=ASFV=ivZ$I*+oZapmWPg(`0F1UzeRe@R_s7zAt;Z9LTtgn= zeh+%9-R8^M-$W_To^uDQmB$|5(s#}sStq%6)(`0`hkn#s>TadH>v)fUi+{Dw{q9_6 z-06eOJe{a-zUTF587(s9P5Khrd&%S3)5`BAPi9v;*9}({hJIA9_B7RJcF9wI{F2+T%Y~xgDRtL;hn4+rvFQlSOCGtNm3Z6rA{yF7Jv)(`(R^s_}u&i|d+7{|l=xR+~j%uI5ar!Gm91eKFt4 zQ-=i4!e7!>s^!_UL~zX7Tm?;6k5j?Oc@h1on!TobULN2b@pV`UJ*=kf$nntsMCrej zeTnH`r>=TeroMGlm4^-shP zk~yBo9Pea~=P}2XxidOvgA>I%EqU2P7@+{hV_}5%urLRcYCURG7 zkaf^bRsAhp!V9Sb=CjoBBjB_O+H>Xx8 z{~POv2j6H<;jDr^6!m@9*bA|J71}ykdibBT*Nq&Mm=WOx=@S}CeOCFVO1sb6?G}`= z7T-5WZI*X0;buwJd06wFPY6kNbsE&8aw_h7ufSIs@W zk2H-Ctn6d1wx3Jv26mc*GG z{H;&|BliY7FzR{&Blnnxm8lMlJxc}=$B`B~`h|3SB}Zb*%)pO%6fqp}!NY@UpX|V& zdEa?BR6vI7XG_gKV|LNF8=42m2|6PZ*Dj1&GD;W4i!p!$OzGeeuNy< z^=8=h@aYs86^!E>ZGoP_Q$*)W=ib(gW6y5k-z^`M;@m`N=MQ6p-^0h%{Y>M*>H9sN z2|W6q(~p7Y*u%dF8NEf?3ost_mrn+t;+-$$*z>F=c!FQ2EIjZG_k@SO4J_Z{U)l|U z^Zd`0bmy@a<*>f)ME`BYFIxKO?U(0nJRE!Y=b@vCBL6*lZ_!hlyyrdWPw*mo$V%`c zbf-2Y2k)Wpr@)Ey`-`J|yUtQm$s|Hn7^-SN$#XEEC6FMs%97N|j$)#` zV%C*@d%PZaH7<1IT-AN}#zFAuVCKl`jkS_>xC(lgJb1apgS_YUhW8R@^S(DO{2i{> z|K-6a>y(;0+v}Su^{xST>CDpu=#hufBcDN!d>KFZc5*GWj#t6GjQK5ac|COAdJ*ev z2I~p&N>V46YX?5$Ewod;bK zeN1=tA%6Alz3_hzQ7hZ&E0@0H{#wdy^drB=(1+-}_iz2yrVj?Q@A3R?daJi?`UB$@ zhYpYTgyif;#v-!8j3<}AI%GVf*e|ko`9R`Woc3%vG9tW`K1_dN=lTj|8>aN|3i%Bz z5`SZI@y!N?_piPJ`FT0>BWGlnhM2G5%gme1wdAr8nfD0#%#ks+4%OrJGM|G&NADg? zyp9j~>*xIh<~5Q0hE{KW!z0Y!VXvn^=w0^iHS{fWoK2jJV(;$HQ=8kESIhEE>G0+j zWXF%aS9CF1-$k!0@@3!4+E-Ccxw=4YcIOamD-gJ6(r-Ea&j5}x;JJc*@=YZ^b84=gv`qCzt2$ zT(#8lhs($Co%o)jsacl4QTYETb<(h7Z=}Br&aWg^Lf-q7H?@(mPD|w7`Mg`>yj#t? zQy&dHxxq8CaUXNL@y1VwWS_a%JF0VA4&Mgl+w=8Yo0cfnoQ#4a%$bbMl;5K)F-@lY z4&{*d_AcpHeCp42!P{W@df_edj_wS3$98Q$+EY>P9o4wlo6tFj-`_92ZBrmkZ4ln^ zD}Q4dzvsng5C4}pv7i%P+J_tr0qg#eYV-U$73@Stet*erU18=^@}MoX5)vL75_t0a zOP0*qH(qV7Ir~qULsadPqly2RY^mXb3xVr>@96L{@G(>4W5=p$V9N)W^T0=uWgRNF zGKY75Vs&OHcgL#5qsr&yr>tHz3Y--UR)=Q7lShd!ue^vnfqbL)>5*#Ec61M4G5f1U z4|O$_sy%CfDLcpedfpd(&oz6qyF%b42VY0wwe5*&%3;PLw9txO@soVFEZQ2;ft)Tz zXWh;|LfXg!7h61^?P?=-$mb1ouce<>Z${Y2cJkp(X$F7IJ~gG0IlS5GdI|ZnS^OSE zMtzZc9pl*#C#uO(uVHY;)W_u>Fy#%hVG?)}UGN+M24icIbxYv+J@EVnBOzmoslOjtIkT58cdQb+l(`o^ zlDVJf%)QW!d;WdQKWpuV=ZFcpi#-MF*esEk2aflQlxsC~D!5()juv}Vca6l}L6`sF zxzv4&>-)@m2XnXRE@FRxLt+Pi_+j+@&>JTtIX|IG?X-@l}9p_ewsq2MRhl$G*3 zhi9zYE9Ke-4Pk@R_eIu=j{RuXiF;-Ca|NyJm1VyiKUS^0PjS}7K6eRvrIhtLzfIQp zc;xUPGfeY-h1;99^Ve4(1YHxWY z^i=)rUEg4D-QmqE82M=6DX|kie7kOUz>{HQWBJ){Wd0W3Gd%H-mDO0m ze15USqhqRsA8ujYDwzLJKN(rhIJRSZ!p^<00hw~2Pfe&CD~m~0CE1~<%Ad#+;)GG>84L&N{z3GnA3gI1pl{OAFE zTY1uqhaZUwzvy8bPJlmM!{5T$qv>1v5%}BSQKA3Kp+#BW*>G_@RR_F{j;Y80%X8b8jl?F1fX&`!LTW4sIWFm{(}qFY^l3=6&#Vo?pwjlsw|j zZl$gFSSN4M?W2=(?aWmxMHX88i;g64v=gH%v@UoN9l<=i(s^%Tf?9c9TK|1pewG@J z{;@Cz9PxdD;n|!wHxQGX$XxCO_vL<1a5;H#KSN&J<^Ca!wN~~UtJ!Dm_a=tRz7ps< zZ&ciMuf(az`Sd5efh|Di()$;`r7ZP6gAD!weDYfEE3396gO@XB3!pFdlDe*L>+HaT z(iZW*ll$GjEU-!Lzkq!pxnKQSUH@O~iNpt>7pBWjQmAzUAvg9+8`+%{FtdX-Pp@UY|A$dpWN_?NTAUDMRbL`>b5bgKs zyF*7C82k3&LR;8ycB`rp!9U@51~2VSsw?SU$~C_@HTVK@dH)jsg%X?Xuk&;lSZeb! zk6K?|oW=K-6Lc<%c|(cqK34KuiSrhps`n(mJ3g?e(n{(qMduYgeZD8KX#NLZ{_SGR zcj!FksuTFP5YLMpFDyLLU?t2%PA{r1$ZN#*xhNrCEgF%c`6_juyvy9q zW%1?eL14#LG9vgxU>BT3o_T#e)$l`q`?s8T%Q@dDeg2@x1+6x&{BqiJvgW)5-)o+u zPifQMKc$8bfIlfmv#nJ^1K@7G51fg9wN2K1UCz?w63Q}H=jWR9$NqM-)MT~CjO9Ul z9@hJr2R|~-;9LANs8g|=c115=PG6nO%K~tH7rgr>I(`+;?`p4n@aqXf8+(Wom-0L- zu&5l|KW-&75+8p^__5PFBwP&s?Y8B6g$XnBAN5?vye~=xw<*9{O*=koNMbc}0j;I( z;CD@X_JjMuiy3Q!$2Zf*du7ax?91fcYWm~(A~T*c#uI7h%V%B&g0qeASZj`bR{h`P zX_0qwRL<|@YU~YiwRx;RU9Xay4G}c)xy(NN8(Wmj_1B}+y(LE7$D-7|I!4_^QR-eA zqwZZ%>K4YRJ2y(*3u4s0DN5b(G3ttZiNsk(jJhRJ>JEufcWRWn9_q?G`r`24;$LK! z@h_13qH~%#cK?o6U+b8qqGJvUeefx<_4)eQ8$_RRzZbCAjootQ@0*Q{jhxygca-RS z8=}j$v3Bf*$3i)FT)B_6KiJ(XecyFTpGVE%?5b_N z3XT^&dW`7SMQ?O`ioF|am5gnTqtjKhuMl}4dPYCng_hlAj6v)z*ego=>@D9OW!vKN zlG#IW9+ho*I?-P$@}>ti&!C+G{_`gQ2j^pX)79pJX;z`&FOU1eF`HZu z?JBq(pNrRBcrb7nJhXT!yQEENTiTO$rOk5M4AADAo{Y||jH~+M;=(u3i5rgfOiBPI zp+ELv-S+{nz$!Xy^@TS56*Jdz-<-)s=C&|$-S~C*0`i?q+m|vse$2f&^tafPs=o(R zh0VN<|AXk==uev8Qt69@cLRL4doBODRp{o`CFq8!n!jH}Z>xfrq+Mxm4YXNJ8%y~Y zdGrqJkMOAAKx9zlI;Q2$5?k&ZLGB#B(T6VQ*Rsdt3k%V&$QhAAc_Ql;l<2kttj*G| z-2L9YM{s1nTg|(i$xbv*MgzWgy`fONmCiZNJxoGBJWD9w&kSz(FEsPcB+FgEsiR_*9+-MyK`?btf z2{4EZE~9_+;0+BWfx?DkgQu*aox9L|J6yKvT>SNwQp3epLvZ1KR-7dI@C@t?WuYTR zt}f}5tGcfTWxTe`Kac)I{}y?DfcY2LYmfExr=dq|*m9}c;=tD2HF%2faufB{(dhNl zsGsvu&xY;b%%2?CTx8|VYdhRiv0ZRO?2O2WeEx;@a^*h!PrZKk1+MK5TrFJ@{ji1! z&OXBK(t4yv`*;XEwfyckzfQeF)N4B2v%&Xou5UHahFRnC-|yKVzuVsH(e?|WlWzj= zfstna(LbJsJ=_M)CUw%I-WfdF>+pzhyThx$23BZhgWyf@C$uQ|6Cbk{ z#u(y1LHG;&Rf0d^r9A9LBBM+j8)>5!J`fs`KH!6mHea9U>nU{fA#h9EswV<}&it>T zy&UX6dcQ!umKb#MEcIHUiE7up7sG?%9~L?9b@&`nFY3I%0X#+~8vS(*IAPt|-K)m{ zo517NW4=WHBIn%wx52B?`fuUB;3RS{6$>WGZD+&Oe~%?{&&WH0M`#+{S5(8tvi}l! z*Tfu&{Kg-tq6%3g^1GIO7Cbe18oXQueq_xQU+sSM3%?4T7t6SiP0gI&`nC{P990I| zvVID6-7-+)pZ<)juSM?k>jONRb>b7e3#=PhuQ%5)heqBNGae)FV&PN9EcldlPs3^X zgUyc2j<%PKh35|(Jlkic&RHpTN3j_!MHY5|W6@DVtTW=TR$wg-wLh;yZC^)Mb@Wux zSw#lVY#ma z7G_^LxueMLU+~*eYX7bi8pW>Wtjl4sf0%R2Ej*KROZ&X9PtL!VZtKso*AN)ww6Q>4DAp)XhhiHhQ(usaJD0Eqe7?6KuV@jWsl{%z;mS z8~u9%_c%|OE%1Be3Z#BM^@_lq(4gSZ;%e&4-beUG^!ots=>8_z?KX+NKFQYCZJzr{ z=p%d^KKz0Qo4S`ZE)M-8Ui&$S{`mp@9Y+6rA084N^awO^X`GtU! z`P14={8bY8E)cR@o{J7*o;}Ai_+zrrW;S+)CeD4T!MXen$nVPon;*a@FFQpo45Ty8 zbYwKS^E!t6$VZo5Ah}Pw=cr&Nx~Al56kTN>eVctot?0J&YsxL)ql3P>Xh-y7bdD*@ zcrJQzD>9+p(QnIWOY~5$^-Sh>JZiYsaiLwKf=|QZRccWlw!6r2=3v(oeR~P;+%fVw z4bOL-G0J*Y4nGM@0*jBhj_N7Jg=Og6)fX1)SQ@QkYyJcW$lPg+a|-`?M~6+lO!$p^ z)q~X(x&IeneshpoxCML&Z-{^8OzH@3nz50eeLDC-mTUYB1}5+<^ey~q;Avv64c@BJ z=ghoz0K-7%KyvU&A7#iR(?=`v$+WxO)ov&4{sH>w@}?JvpH72}?{e9%+rPzbB{-<& z|1f9c^6VMLT(kCy{QJ@sG^tXAR;o+XW|1v=91cI{$$RX*-oN@Xc<)kpu$1$y5_nSf z@4xPiT`+bIGsp9wS)pac)$A?jI(y4F>#@x5qRU>x{L0=p^4;<%@4EM;kIB2xtGsK= zi0FIM!^nmYB4tCoEgNJ#cFTt6usx{3(PhI*p4G}cII^Kdc-fH+Rq`9zaK9rP{{Uej|8^=g=xyg_QR(4t#*h@9>xJJ6q`{a?Cx zMcUuXS(e#nCW9aMUQ=*Y?eMGx9T}cw&9As0o*hA-FT)?XvL@&`SDR&j-XOn$>-1

    L@!A1EJik?>vdOOXch83RCI#0&RX`8B5(4A9^reD4Pw){ z8uoY`o9P{{0KBW8s80}d7t>gIBVHXXDw5lHExSo%i^q+nZRkUW$=RdYRP&g za=nK37Gt}~v_=&aT3H2ing4_lqZ@B!Z5#c(3QA6js=>uwGl5U!inJ~3;~lOxW!;cA z_1aFlCxdIW0Codg~wvi%w3l%Y4`}DqZ{&wVX<3o+9(TikvbuY3r$Jn#ZHjq~wH+g}dLM1a}s( zEe3aMx^3L;>cw6Ey}K=&`tw;lbRcJ70p>`d#|n=ng0CucdEs-neOcDiNF26sPxeKT zIVc7??n5UT_x_WNd$#Py4b8}JXhv`->#xk8TwfnypILB@yFw+U2hIKebM9A(Z*3sC z_kJ_q8S`JIZQtm$9Uo;Z*9>$lr!g;|a{Akc-68TkZW8^) z9Mfs^G0y2@ca%OxpQMj}4!3<$20~wcr;nGS^x=u#$BNUX;e*3%9DO@VANznc3a;!v zPJ_07@AUDND1GeynELpI)5o1r`grMM>f^gkAJ;|c6E6VsmIS9^T#J^EV< zc`Ek6^&$g^J@6%^HTu12yW}0kvvGWjS$swAfacF(ox6|rSI)@_THr7Dp5gl4MG^zg z*;o($T@SEFIgEczHTC?#((ZZOpMw8PdeGZ_!?D%dtGKV4vVvXIHL(61SX+ogb;Fhh zY)!n&{H@HvPO9NythV0@dLHnI9?;-X-QO65Z#!d_c#^HOwSAD<^UP3R6ujP?V2ie)(~^{ zD)$t2yk_rhU3?dF!yM-HEuQ7*_wY$(Y_j*x&f)wNy;d@ol{k5gUQmfkG7tuzu z_p@CBPaF5ewk!V6KF1%eine-6M+A>X#Oll3*tY9jqk7QX=#V^3h>Ha?GWwA z?{CvjEBpWJY3~jGZ8{ne{s#ARxZe`rHC2331tzIKg!=-I{ClafaIFdNI z-nsV<@16VBWVLcGG6UbTjc(kN1L9ff=MG?Y-^Z_Rr5pAV8}@^}u&>Ap&Ryx(u;1;# zJ{#EIO11ef+FZ$5wLMp9%vBur2(QHPgt0j>_O$Rs#wTa*k0USI#>-r!g(q+i`kA~H zTFYVV#mJYv_*=ilv%fPBRUUFyu$Ss!f84?OS+sg)emFy`(D>9ena1}lh@*m!df)M$ z*!IbBO>7|F!0C+*1mAM5D0npaKERs5$f9WPyeaRnua5POtlP<~Un`Kk zGCzW6*((~|x@U>)XDU9X?Z8kX^QGIvM|4S_kEpbB1GHqr(El9^KAUus_u8QisdKsW zzRBPSy-r)9O4)+)w2GXSjdmx;oEL%0t#wef8>fbC+GU?y=!1>uLuj zuUnEZY+c-oOQt_IeE7O=5~C%)8*&ck&L1MuH>N?Kp@JE)pL#VjZCg>CZl&>EB-!=QP#2 zKk-3LBNiCjDE{}-C$`9mxni5+xy@(TP|tSkroHcE7x*SSFmhHV>yy+s^3uRB_rynC z?o0c8gHeAgOZt&<^^NI@&<7XUG>B~IN3W;EA+`)@54%l&9EzRV>4!D@SYKZy%!%~X zpO-p@jXCP}mloXlvYM`v^^r5>0%JRte)@2iTA;=>UuFF9`j5%>lkON?dh}&S{}3LK zc9U~~t=ER$x6hVmLbJX2W-XVqa{QJLHC%{hWJ%rzTQ@NLckE$1$AgA9-yU-nbmGq2 zVAGb8z(=$8-Tg!&GS750C3yS?KnbdSf?&-r#gk?+~<_va14v*=dp znlZr(Ij65Cw*-3binJF?yBmI7+WoSl@2ugwX3u-JHdi6r&HcHYT^hbHZJ7BTJ=&2u zr4m0nm^dLHwp~BxDGBHbiO7+p(6MdEPt$*3OmOWswP!D~>>^|m`oP8?qtm>!_sb#E zb^`D%0=9?v&wHt~d&W;o^_sqyHD2Hz0nC%F5xbfWfBCmRJ$~6!KRaIf)T_fphZv!C zSK$|j(`l1)#`_YX{)3X|9{M1XVt~!{0n+j#zY=wMv zDkyl$d&%3qm-Ey2ufCG8%w$aEjBN&EEMu*>0w2%5m{c3*vCnkZ5JT1l?Tx%5u!(bB z*5AIIRXxarO+0Vm3~#FJPrT&I=RDW)`gX}WEV<7X3_{pPEVB>;mFMULbDuiL-aEdea)xS;u+M{4r{T#O_H9ti%xIqi>&k zyl3i1UjMG20^`ol2MRMS|E@~nSQK+t3LFL|1J9e}3WMi2Nd0Zpk9_`no>u`cydUoH zr0&Z1W;8xD#|quYx4UZaO-w*;KU)&$`o@LifuN14hkG{a{p4GjI*v;Jo-~>@{^aL; z4dRDm>x%2qw|1i|?$&zZSyO_dcg?+KN>KWWQtx2Ddd(?XFY`lZLT?|jK7N_KluaLf zvdH1b-9l$qL1QzZzcT*wq3y(trQPD+(T=XPpEv=ry_Q3h`TWcM67HXeAKz-pp#yJ< zK8&AJMXnWC#~IB!@i&q8M7BZKx{rj7USzT@+r-~oWQ(zBnrl&#npgv$hz_FV-y_yS zDU00I1&*t*hbkGh!gu}sxK!_ za)J<-9~YD{7Cl0qAjamqGPhCeu8J{6`ZBrkKL>q&JoD767k7Ek>Ce*m51|VS{+|Q? zW24~z--S)!@>r@Dr!sywY|v1D*cy_0VXJpwyARlourHLk(73et4ktc>(w3I}ujDo= zYu3^J<>9()WPJbp7`{EerWx9YfcfWC32pd zT`*qDQF|};GvqU}v_Nt>h<~lb`&7>gghW>q+!{S(&IQHz6RYrC_Rn|xx9m$&!-rk( zZV|sYTYn*E0`EDxP4(Ith1);unJm6>dc45Cofs+cg(}Js-&kv14mky6{Hmel66o#{ z--P0BOU+v6S>AF<9(8i5GcK<75`!a!{iJG$P2cJ}GqfMQjjO(OQ{XqS3vIjC++Mu8 z_ZHhS_xR8qvYY+l|5jk$7yM}*$b84i6L>OJ`FAN~$^Pf9pt|RhVB1_zu;cs0%igHE z|Ah?CUdB6rjmU;L`wZ7#Yu~fDC-fqAGHJKUGkjf@CuLoA*k9vq zPv{PR%YyAmHqH1SV{Vw&f^XrI>QmhXYq%zH{VvyJt|6|eT-R~sd$0vBa?Rqpkt_6A zu$k*wTz}3rkLwn$=W+cN*9lyAaGk{URj$*x?%_I}>+4(tT>r@RQm%jHTE?}F>y=#p z&h;9u`?ywceVgk|Tn}-*mFovwtGIS^y@Ts9uGL(v;_ieyxyEz7hpV6KeO!ldeUNJk z*GIUfajoS#itA&lJAX`Zx5TCR8-x$>)%vdA#Y;ay2a0}%-%~n{_-;A37yE)07G3Z8 z=OxFI4?RDQeVGbxBwoA83*8}`4Bd6{I}X}gL;bbX|2t)&JKL8%J^VECL_vFP+_!b2 z5#dY7)n@w}8~HUNj6M^5BS~^%*xzD(cwAgCW3CEHTwD%1KJcBO3q+n<*I-wj%Gx73 zP302nP)4Z=ieHT%y{rcQE&BrN9BxhO@TVD{`2Fd#%tm!c`irc? z!R*S`uc_|Wk)evdg|Ee~Cw7`k$r-6s;8@M7*1M7})^q2sC+ohh z!+LM~h4s_j>}RaEMmI1z!FSLD1eRx@vr(+QwyZxHEoX`iFF50cK&TA)pMbCZPxq=l z8|gpK@-=?{`RSqjCixzEytbuD{(;2r1ShlG8<*_*9%r;6Xs!*f+|F|dx_U3&%+b!J6_G*wd#jw?^@Mk4ei{rL{&V&zN49a2m24% zbLhRtmFztZ9P61XapG_DFYQae%a*7OFVm*4UR7LBbLX_(v^Q+rtE{pzYBPjY8* zovL_^_ByS^@H*OCPJ5iU@41S7%q`xe#_T%lkhD{Ouc}yzPwdVMYB%feUB6m9ZQi2^ z&pm#(n*2qtJ$93iV80$uLTA%ra&Z^ieV9=)-~YI}Vx0pA0mx2>~*4cha}>l^=-%+Gnw{48gF zYMGxqnV<8Sj|OLcKEwPpIP-IEiqd>M{wpB>(;@X;k1dsZXYTKVmJOm*37 zFgD6WbU%mpm)xu>{^q=M^z&*%-FRdj>H*9BrOM+58>tQmCx{tXt`40Puee7E8 zQJYt>-elv)UVDq(myh}Gv-9-HsAA^U-IwS@A|FLYWm*ZljBNLosft-H8W4Mu$o38` z3-Kuf&%$fluU8fOknKrPWP2O<5gG_v30k)M9C>)2Bik#DEM{Df4^JQ$#gOow4o{RL zvzGHcb;A=Ezyr&OlL;WR?t&)-9$6cNK7YWoA0Q)s0)H%>MJ^iP@-g>AYUWM*A?w2d z@`mg_`;}GMo?)HE*Qg5Cg%P`0A0$7D$Y`;1eTMO0XW4Q;8qK#{ZI8E%d5*P~&Hl{E zX+HZ=d+lkyR8^QYO~w$uN^Q8HX2G;|&RX?_)FSsX%o#6cy`mP)`Q*zm5lFO{1;Zfgc!>is4R7Jhhr_d@nBEyMp z{<*}q$8Kj#`^W>5*sD+U*<{-;hToypdds72vW9=og!NZrl*dJSPvZBN?$b> z+dR-QO?Y7b2|SR?ec^$f@TK5-zKaKL@g_Dl4EJc->O=?K0X+#%&Un=SoUB#l|LV_| zvQ`boBi57Ny~2_-RY4wKO$P<>nZqmDZ|9{2o(yom((*2>jhCxup*2qE zz|OJBcLoYN^?H-o*)rbdmolE;*}K;4WFN6p?<4AR$;SgthfEGnv(_Njg?E=BFJFO{ zJG}|v1<-T;qe;)5A4T^vdY9l*a7 zd~~)PbU1SHXx&WM%(Ls!>H)G#g>fz>%DtVB6w*SZtE6He5&FG zr;liS+CpAVq0us83S;r3(a5pIrAdYoYAp zWc_=b`JHzxp?7}WdmoWkX7BU3GrzL;DPVp@pB8-A*Y{LZk~dIv9q(g370KXb2Ycl_ zc*&q=$Nx}H&gy{bMtxW##PiR+o}^Ug^@d8ZAS zru2WdLOqf#x!wEsbCkUMe!HK7$Y-x)>9%rdYrN}OuAHyEFe<3%=hN6@B>vdIuHnl{ z4Awa~Npn5Z@VyluT;n{mW4T}6;xSF`to_#NScBxhPCf08*X#And1&sm+Z@f2ad%(KYpoaApr z?vMkjcC);zEPtbUPtIf9V*+Q|wioTJ?iYFDCtT&&x@s6#PEB=}j8kBA!zcHuc}|S?#8waA zAH_ziuYAj=jk4fql!LD->g`3pc}MKf;ztstEvX~-rJm_$FYgQ9g%-;k9E$z7n)ZF< zeJ)Ev_JhM{?YZ&Sk0w@}W7|d_nPASO-89!{L&ZL-&#s*_(K{SG-vFNf$R7R#JSVB) zMdX?E5hpD+Oz^zBd`x<<5n3{MHhA5~7<0%od9i~ZS%U@da=%iM4~!V~N|Djn#LtbQ ztFB@FkbPyXrL?XpcD$Lay&}V8UUd89o)kNJZ<(BvA}6G5^di$=6YZUcUj8_Hp>^zK z%pUSQbaHg!YhOkeU+(0Fd>dVS7j<49b>%$S^90yC_}u-RUHhQev-|q3-87GUoHNNE zxfmMESDa-HVs8O{@~=(Tymmf%vzyoCyLIw@xtfLujXuAZ;_IPQTw?+-icc}~y+YOm zWaB~jWd$#wb)XfIVHA^)ErP1Ny^xu zcc44&(7Iz=k*zy6v*(k&pNg|>BIiNB?|2h-`LK&*Tf;i{4#vJPU33=}d^{K1GH}g6 z29zTYW+Gdb*Q5szc!%}U-mntu+N*E6yX%LKtFAZ6;r5PqXm}2Ly4}!q%24Fr<(`FQ zz|?fSC%JCX!UvVlf;DZM{;;iTkE{=ZH{ru~_)pntUE4+*oK|;Vw5(EDD)@CZEbN8;tSs7pi`-%=b9fy4*EV>hmO4clrSnws>Q&k0o`r4bO9AA5 z_Ae}cCx*qRBl{=vJ0V=l@1idwJAk+N%888=pm}o9hlhEFHOje@z;!Ss&~@N!6m$%4;F5@0g8*`m;FH|XEi*YA2ZZG4_{s%GQ zjQt*-w=(wZjN*C8!}0HxHNhEo59>m!GwvQ)Gn{evAkWL#a|W*bWaBW#J;9S4e#c5~ ze8L&y50UTh@PE6rmLB9R`BI3=satxdviMe9(Og>t)9;JP&7R?S#M4ke9OHb zTG?F}m^Pg`_~GN(UHPti|MynUkKgeQ+jYdj`#aba4?bSm^&<7(hBuQvDa#Jx=ac2U zbHekXdsfNw)L73wDZAu(QjF({_mf*vo|8K45%d^N=;O=w^N$?+s-`Dk-s!+>mp>W) zb?h;OrG0Y-a6l0XR)3a*v~h_dhSWtDPw!VdA|NDm0j<^R}+S+4X;_Xiw;;r8^0Ul-E2=v z=Ry3jKG*~#jB&8|~-vO4gS!1LhA>I}B)-0jpkkb*2>oUbwN zdFCE`1+QQG<`}hbJNs*yry%Ro#1AurP3U{M^X{4^>x=MQ?;3*)Ip3MbNE)d{{}LMU zp`S;ikz(|vSTrIs_Ml6~9(2jrgDx4HN88tkjP(S%r!o#%JEu6~;ohP_4s871Y~-ZW z{UP{bZ65hNV{FAQrDsXf2{BHQ`VM-Dt!ub+r5L)`3bVh{I#r*aXs_<&=yG;@MwfH^ zL>HrPiSD%!Uyb+ib#=qRd%JZ3HQSa~6lR7vm%J(s+ehC_= z!slCjZRg|PSVkW18It4M@u?GEx^dVO@xy*`4SJ0D3i%u#yE*vEBtSQn*2vD;V#A4- z-|3ycUVppv&JcbW39fgxvbQt!`uy_JwO`&y+b>VUawV|*9={raUB+p~D6qeUZ;iwb zwdnju*#(k^#f;(8ychkQ?C@`Rrz*kD4Yi1Iw|e`0`(D7uL*8oxNA2L~?>w`8`_jXg z9Kk1x@75fiN>2K1!B^-``V# z&8yF`I7jnr7W?CoPh1v~IG|@Qu)6*D`u!I^dEt09Rr1nQo4;Z&DZ}o-u}M+w@_w3&G&!$`}*Tguje|_*T2=`=CACkRA&o+q{v+#}c5GUXzULcORfp}sd2I+4E zWKIYy`Vha*8RRUHZ;%L$3%wUvqdVuIS4&^-Uwt|6T*kYX(ncw5nePGg#hEoEke377 zo$R@1E>3(-_NwJ=_zU3&F0r3UHS;#Dj>lIU8Xba7{RR9&ms_LB8JN_$4O(577U=$g zl|*@HX9?x`65|D3%xCY3kJIp>;cw2$qWveHc;Vg~_?FQ9*tgD`tU^1!9C)(e(X8hZ zXur}LI)4jvo|l{ToS*jR@%~i$xDmT(2JN#y4&H?Sr_f*r`=Aci4v7VBWt?K)TN7{F z;P_Gq{-|kTKXWDhN}rsqU0YeC?j`qWg^cwLVwu~JHysIl|B-JNNPBzvrsh7b?c=2Z#g$+pjnMUewE^Oyp4XclP7wWh`_}X0uf7Sx2_cC>=f!&X;Ds!H8wiOcp zw1LbgI?bVK;%Z5&FR?J3Xbg3!I+7Z7${D{Rqb*yJ&hxh_&oY?Ur*wA%bOXdU$#ovourO!6-Tl@=6Jv&ZBWKVW@ z5zl)(qdM1;Q)V==;_^MRQhrP9NCUAWU9_LqFK#4bm*kN~-r8{^toMmt^_;Qe)Qhy2cBcIRUxx|fZ z_hjyR@OCToFtH*J5i{cE>w)lEwG%@u_G(#Ud)GI!jyvmpWWCuJX&9m!f>bi${UQ4cD{hhgOw{Q9xan|qup9)>Z`uY*{^8xcw$#>b7 zvQ|FN^NOD0-+qH!10%jT`Z;%d((jLet)2GdJ5FWfAIQd5n0C?At1>69T-630i;iV* zsm}qB4tJ?KcboGb%JSAeU_!P#Zt?owj1O8e#A|IxjppOgN61WX_NHV|^d zLcF{l+snWb?fz!&+qPuEh4|;Eg}?SLG)Lay27D(4e$gA6iEU_LZ8PP3%0gp*aAe4_ zhkqLCP9*lL(gVC+<}^;{2Jp46o>lpZDy)3O6RNCIi;9)%F3V7xB~GjZSs^mP9U~^P zLE^p?@>Aphe#jgA$OQ36=1gP-k~p{t+$|**s)1N2sXK-9#eK(hp5*Y0JmZW#7~;M^ zB~VykWnWl1ggmC`?IW=xEJOa4TR!}CMuz2G`OYC{e|se7kl0$q7ej1HuXudBUyIHN-O{{2Fp%7`BC1u;V5J=W1-Z?_kSK;`ssgLvN0{ zTE6jvPeo$m3szDAxLPPM-gyD|1YZfX$H!{OkHK2OexhclD%{6Ba_RaasqSsWR=`)*j-GxnVuWR13M z^~)y*6B(1V8(Ek2%--9Xy1VW8#XqtimGSK&{{AY)Rmr|$Fes~Hf$yyA7bKi_!-Awq zH!c`D{iX%Um)^W!_?5RTNUiwng7jN&U666dZ3{B*ynR8|eU%Hws^VkWamB}yACYzf zp==K}VPF&3Rh$ZWk}P2I0FxJ(;(#e0m<9pU;860VKH%~LR|0S)0#_1n4FRs9p|Qlt zuoeU@;$+6wB7@^nfN?l5jsV6~U`zwXbYL6_j2XZ<3K%niaWpVy0pl2891D!uz-R%Z zbxf(+-w15E$ndO3kByYvZ=>EOhQsxDkl1tbLaazxRnncjH8q$+OnY{Y_jU8HpM9HW z?e;TWUQ5}Nrt9kRe^VakDu*eTxXM4EJjYf3AIkNv@{cL6b(McYd8@1Z3(D=T@>a^8 z^uGRoO?jNFypwW?tNa?}Ij-_=DA&8nZ%|(AD*uV{R#*9Nl-ph9cFLZSef|G~@;Fy{ zKjjiv`2giPuJXH->s{r;l-Ih-A5z}xDj%oZ?kamq=|7{d|3Q?;xylKYOI+oll;^n0 z!ztIh%ITEXy2_c9x4Oz>DYv`I<0yMZ_4R)a<#DcZ0p$```2xywT;&TX*SpG7D6e&u zFQ&ZJRsJ;Pc2~KCvL~~z|H~T zd7P`fj52w!gqJmcK0$eotNbM8dRO@w%4=QaRg|~7%HO8k?kcaP>_IM@_WzsmIJ;8UCd7P`flX8ix z{2JvsuJUgv*SpGZP+sdQ|B3QeSNU(0+g;^$%AV}L{{KOFoU6Q_a*3;afbtwy`CZEO zuJU2ZYhC3JDQ|U^k5g`Ul|7fze@FRB*h}1ldEyal63^f*u>Wa4eyD+fe*wU3Gsh+ivJkwC1zlr_;J`IegfVSKMC)MpMv+qPs0ad zFYNitQ~YOOFY&W5PkakDiCK6{9EEqpx8XhUbMS$fhds}p;wND*aR%mzRoEof;4N_l z-Vrz8J@NDKf!KsSzEk`*>?Q8OJn;xNiD&SZ*nxM%8+cFr0(>Ce!k)i6#eWg@62AoV z#4p1p@hk9__*HmE{2II`ejPp#?_kf*Px0S?y~JtwN&GgvC4L9q5x)!XiQj_{ z#CzCt>lFWe*h~BY%oBeIo5UZ%TjG!59q}jdp7>MvKzx8b{!{$VU@!6KFi-piY!ZJ7 zZ;8Kxcf?=Ad*W~41FXW$6zlp1M|d>!zS?)@Rs;Vct`vcyeEDdJ`j6hPw*7~ z8Q4qwEX)(%f=yx;-V#UQ9r0~=Py8HwAm(8Ydy1cgy~G)qCstvTScA936?jM7fcM1D z!v|s$_JmIH+pw3o2lK=u*d(68TVe;^5pUo<@eA;Qcnf>Nr}!_zUgDQvp7>?hBz^_n z62A)Xh+l*E#IM5#;vMXXoZ`O$dx_tKdE&QVllX0TOZ*PJBYqd&6Tb%^i1)B3dW!!( z>?QsH=7~RqP2!K>E%C?jj`$OJPy8u-AU?pJ*eU*Ju$TCAm?!=MHi^H4x5Qt;JL0e5 zJ@Gg2f!LEm{P-#UW3ZQ)fqCM`VUzd?cuV{wyd!=J-V;9!ABerMCvl4Z4D2O-7Uqd> z!6q>aZ;7Muj`%jbCw>k-5c9C-_9=c6_7Z1co>+xVVh!FBSKu9S1Ktxq4QhY!Ri?D_3e{5I?*?!i3q2sVjl@Rrztcf=cbPy7OWAl|~B z-#Nv95yo#&-8mj!f_dVXVUze3cuV{$yd!=M-V?tLABcCb=XX!>-hjQtZ^AtBTd+y| zHoPT%2i_6C3-5{FgAc@e*z?#a{`;_(_yd?H{tz~aKZ3W!AHzH1PvAZAr|^OJ0DFG# z6#p~WOZ+*^6Mq4l#9zW&;;-Nx@z?O4_#5~@?BNjq_fPR3gT2HI%o9Hjo5WARTjD3- z9r07}p7?3_K#Y5Vf9&~#Q~YOOFY&W5PmJGg{IN;Q!dv1fyd%C1?}?v-55zp|VNUUr zu$MRk^TaA_5^M05xB~Bp8}Od^dH6tV!k#}o#c#u2;vUQsk6@E{25*TSct^Z}_rx#2 z2jVU4`Dds2FT!5pmtdawW!NNs1>O?B3h#(tgZIR*!w2FW?D^-X_;0{o;x}QQ_$}BZ zejDBrzXR`x--Y+Y@4*M+J?we>6#sqLOZ)-M6MqPs#2>+1;*a4S@h9+}_*3{me1JXw z;uQZg*h~C5%oBeBo5WwjTjHaL}Vg}}kABRoiC*Upd zlkkrCDR@u(G<+cT!k(X;;y(j>iJyge;#;su%)(pZD7+)S4eyDcgAc?!?0Mo8KM8w@ zGcZrA!X~i>Z;31Lj<^BuiJylL#3t0I;#c4;@vHET_%(P>{5pIf-oc)Kb&CH6>?M8^=84~eP2#uV zE%7_>j`&@8Py8NyAl}2CCr|O;hrPrfz&!DXuu1$8ye0k^-VuKS?}L>?LMkp7?RtBz^+k5O-i;63s4@PXKbJ%4tJ--f-!J(wpR!6xwx-V!_Tj(7v_iC=&Z#9P?& z=co8D!d~K+V4nD8*d%@h-V(nG?}%T6_r$Nm2jU&<`PZlTZ@}I=M*AP;iQj@v;$Qdx;sCCw?3@iJySC#81LI z;-}y}@zd~u*b969yHosUU@!5rFi(67Hi=nyOB{uF#JAx+@pJHjn1?;yQ~V_CCCvF}x%G1l|*W3Ll6Mu;(vM@jrvT z#Gk`F@fWa3{3X04{tDg^e+}=6zkv_L9*hTies+rg80;lxV4nDK*d%@e-V#3v?}(p* z_ry=b2VyVm`O8!MXJ9Y!voKG53pR;acuO3Gcf_~hJ@Iq!ftZIq&z|BZVJ~q8=809< zB-Y?9aRuHHH{d<-^YDS#ggw4f{5I?*?!i3q2sVjl@Rrztcf=cbPy7OWAl|~BzdFT# z5%v?M8{=812?CNT?diKFn2_%^&Jehxkm^RS0K#ZSUs;tb3atFTF|!CT@A zyd!SFd*bKe1F;EvLZ|p`*h}1ldEyal63^f*u>G#Bahp@msJ-{5HHLeh1zWzYFh)--8dt zd)N~_#eX065`O^m#2>;Y@kj8M_+xlS{0Y1#{uDkCA7D@H6#p~WOZ+*^6Mq4l#9zW& z;;-Nx@z?O4_#5~@?7?`TCw_|m80;lxV4nDK*d%@e-V#3v?}(p*_ry=b2VyVmNu1(8 z1AB>|g?Zvzuu06qTjD6ZBfbsqiJyZH#60Y|eTtuiy~G)qCstvTScA936?jM7fcM1D z!v|s$_Wb)({5I?*?!i3q2sVjl@Rrztcf=cbPy7OWAl|~B|8R=`BJ3r83Fe7khE3vE z;4Sg1@Q(O3cu)K~d?4Pzp1(fDe*^a3@h|Qf|Nq5L-ooo9dHrp8OZ*PJBYqd&6Tb%^ zi1)DPxtsXExM%$T7eDy`uk+;f4`Gw|BX~>vF}x%G1l|*W3Ll6Mu;)LX;(rEvi9d&V z;xAy6_)B<8{1v<-{u?~iV_=Wl<)z&!Eeuu1#`yd{1T z-Vr|q?}?v=55!*B^INBQ&%j>dXJMZB7Hkr;@Rm3V?}%^1d*bKd12GSKJg4|c*h`#& zd14hdi8XjjT!DAQ4R}xdJbWNFVb5=$;N&F?eCH@ND5q}NuiNApl#2$D|1sE0%)mVH#3R@wp21sU2i_5H;63pR@PT*>d;Zxe z{)@1e_$8Ppei=52UxBy8ufjXx*Wf+z>+pei2YdecDgGObyiQk5|#P7g6 z;&Tf=_z8GR{3N_1ehS_b zKMfy9ydE%F0llT>QOZ+OlBYq9u6Tc20hXYz*h`#&d14hdi8Xjj zT!DAQ4R}xdJbWNFVb7nP;6`dy|HEG54`817L)aw#2;LHZ4DX0Pf%n9p!Uy65?D;pR_@BXE;?H58 z_zT!1{u162e+BQZOn#c>k)C4y|0DhV=fAu9yLo)1H{EBYUw6FwY{GfbIRobmd`AX; zi@f&R|HsvNPZph@{u9r@Z`$`u_s8@5Kg^ed-?eRkNPjy`*;7f@C$y|uirdAXua=y`QJR^ z2Y%oC@u+cc@^SO{pv}G6z6ZU2v;3xBeDip-{QP*%z&Qiw44gA?&cHbX=M0=PaL&Lv z1Lq8!GjPtpIRobmoHKCFz&Qiw44gA?&cHbX=M3DNf&cd*<2(1R|H~NvhU}d``uw=? zhZ;}4vq3-5lkX$%G?(=G_nFs!D%<%3eU0a^=M0=PaL&Lv1Lq8!GjPtpIRobmoHKCF zz&Qiw44gCYJ!as?kN8a2kNb73_o&Cy&GB*bc)#sEF1tDI9`yRn@|*MO z=J96v!ybPdE6_ex`uzA_&!ZL~4-0gD{hWbw2F@Ay4a@*7GwJi=uHNe(a`)-B(C0t& zcG7L3&(GWSLmn;X*gsST=s7^2|Ip{d50#H|+;axb88~O)H#GyajHl0!`+Ki{Q*-c} zxL>rt>AUuie#i9rcfIEy!)w2(`}do&U;mW$<6-^kzslqN*av#^cklUkuOE3p<>mu_ z$;V%3KK?Q8|1X)gAN@M>_MmN~#|(Xbx&EUL5IpF^f5ppxi2TtU(dWPFe9>6+`DNVi zaomG`Hhunm$N3c>8bA2Q)7;VL#|^vJKjg;JZK2Q4+xg3VD>R4n`9HRN{&IVFe%C+s z4A5heKL2&?7mZ1upX2|!GH?}#=AJ%3zIv~}&n=^$O`rd&<9?s}aQ>`w2F@Ay&C0-| z_CNh*?e%$Y&KWpo;GBVT2F@8cXW*QHa|X^CIA`FTfpZ4V88~O)oPl!&&KWpo;GBVT z2F@8cXW*QHa|X^CIA`FTfpZ4V88~O)oPl!&&KWpo;GBW~e`VnNo-20#ynop7bI#v6 ze}A70oR62kPqx0j?m2(o&dJ|r$vJ<2pKN`5-S0bp-;Quza?Zdx1Lq8!GjPtpIRobm zoHOv7oPnGA+fDZyIJo?|Krsfe{lW!&Cl`t*X#G!u2%oiAK$#cdG$#*_f`L_bM?Z_ zZzf&*PgkGtN7w7$#C`1M^RHL@!y8{eUWfV7e|D}unYnrWdjI~PZ?5*I^FLf|@9$i{ zKKXA~{?lv!&1+Zj|Loc~KU?$E&HC4`|M@+y<9B{8^Yz~^u0HRZYya#z9{w4N%hzxA z`}*zYhjRwb88~O)oPl!&&KWpo;GcX3e(}Ft)%4Df=R6z_=JRoIJ`T>u!TCHmmjmZ= z;9L%z%Ykz_a4rYV<-oZdIF|$Ga^PGJoXdf8IdCoq&gH z2hQcdxg0o`1Ltz!Tn?PefnQfSfcd$9cRb#%X78RJkIU%a!(P8xw`CNBIB>K6&GLsm z9_Km#^ry^Ee|o_$N3DT%F>YT7+=VtCFD?XYw&=FIO=DrrvBq&Fvgo2^ER2ixY&^VB z#+&Y7U|bk;y#4ltzO*hf#^@p#xCn%A2ieq75XbL+yjX4ZwVT#Sdt0vkRU ztS_w9VrDcKR_m^9{fqgtZpptlP)W>MRzM`E9?yW8b=7<<@v+`)Ag`GUnFYf4%VM z*9-hJ!~OX&h`(jEjpbnBpIgl(_H*qY&FB6>*Yr30ZP#xuyMsk{H22f3yw0nPJsOV| z24240G`f4o%`Hd@wta@|To~8^Z2ioFt>fli?^>%nvziMeZaGKJ-0q@tfvp%^_%E;p z*Uu)M$$vUN{i}=d>~fXk`;i%LVl+FJZ#ZuKr}=zxr^qYYmE>a z-yj~3hgNqyx^;YaW;wsy_IB4^;yYa2$v6(GW0LW1ffG&#M-quTzVY~8VLU>RIX>#5 zH6Gz8IBxW?|MRBt^Q*(_)?{#Tvqtb1o4AZvN^@)^dix>~Xoh0}D;9{DVKdSWMcaWy zG#+j>BLRywV~J+mj7Jmkgb@$N%_!S!1&x^5iiV>B%Zf(Y(c?xiOlmMTjX|kvkFHN1 zj`{0v{V_j3{_#>uRxboe)8(WraJqE4lu=|^Z0Ul)4Op9VWuCL;9M4_;@yYVSa3e)m zEY>sGaYODnO_eK3NxsOrm5r2BxPFQYmL6l4% z(qO~3IjS$3thACuE`PPoT<3!s#|#ziVnAA@HeBOsxuQ$`)|{blE)Nq=4xt3(KuJMFW1RQZmVRniGVDryrRwBRIx5Hcr#*W?tXLf&aSw& zEp-(xkP=GMR7o~NVo~C`VwvN@GB3K^@%1b>My`vZ!H7$v(Q8I~;eapOcAQl=tPBj_ zL{9sq={z^ANX1ejo+@bJVQaWqZCabvLeBc4YPTLWX6qr>Fr3M19Vo4%^CqLGx%5~M zWECY)>6QKAP^+Yr`EoNB6qhR@7V_r@rT8S72&Y07RTuKLzPgF`)01Fz)|-#}(Mqo$ zHr;x>n;Mu*wjWAPf~Bx2kCdUmA73wPiEg`GDr7R@!NP2|Qc+z?rL`WO%}3>YXK6RO zi^{@OE8*m%+Ko2tY(DR-GrU@0n!%DTh0D=Y%(c{9HOJT2kyd!QVpnmyZ_G1gHd@?_ z=Al+@;A#=6Tdpcq%ZRRKeQ78tb|aferl$Q~wIR%EjJ?tQIbp_|{6H+(Rx*-MIv(hJk1Jdr8fgtHw&N17b0Swv z`xQQLwX$8T^1NnSY~9d`Y;8Rr6my|~w9!jrzkib`Z8(*;`_oRpn@YHW<2RgSI4&>X z6ybuS!l*4J*nrIXW4US9>FLR=m<_fItNBQ9XHIcwm1BunZ93LUIddRn^P6=q*wI^R zN-!0l8x?y@JyXFqqU6^prst2VvGqDq518!K*|eS1D3R-AowjLHZ zQ>rYAZfnwxOmeAy-{Pa2$!fK#FJswt#+oOCY}R!;X{Iv_PglwMYS7|G-FkWEtFDK& zve6Q=Qz4QWXrY=AVuSTW-O{Gv%BGrd!ii8nt?NRa*qL44vDgh&vSQ|AhA`A9f5sTsMO_{ArYo%9QG3uu5s(SLO(AK%oaiJ!iwn^GpSC`FJXn|@39 zl5G9z&4Y$0ZEzX7d=D-@Q@Y;q+q8>pW!*{*hDKHG;L$O=Jm0EmV>6VQw9TjSX*7 ziyY^d1W{ejCS|VAr4xZcHq{b@;ik(u!A{6(Rhpr`8;aG8VQI#6v{GtNS=N*R?-ZKd zXv5z0{5dvUY9`rkx!>?Ng|Sl~_8Mz{Y7|?oQdJ?Gv-BDlqf8e-$aOoS|n$8=T$A*L^c% z!43k6cr&t0bjsR5mX%n~SDCF+GcnP0LY=tS3pVHJ`7k!@Or!z6e?3}nGn-nlCJ8>1 z=LSY6S6Q-rAR2BNR-n3y)JFYgQmOR<(pt~6<#?;@rCB=} zHCoF-qpwur_NJ^gD$;jeF?a**nju;v7sA@KX8Q5+aaozZPfhyz3h}Tjg4o&|E7ZO_ zR|L-HxTSvY>0M58sJbe}xhtSniArTkax)oCmrAIRT$U*eE)kjHFgZuru|SzIP&CDr zu2x3XbRt^S%%C~Ax;iK&*_FA=55l1^5KyfR7}cQD9G2~3XwXH0lqp|bYxv7Lt-^a*mz1$Clu^}B<0?>1 ztQ)$dD`;;V+Xli)$sVKM2`-{;EL`m#ip<7w@0gq2LoGW}A6C|ttLu?{S?w2*OYGV` zjSwDg&`j7KyJc*tNaf471(36Ag6LaVfg#&E!UiE0*RwQywklRzhj^;#PE7?*6 zt(a|V8)ee%l|qA_yBwC)?6|BbT(rDbg>`WDlA(x1~?e6TMBll}TIRR~V1 z1-s9!5=_mMQRi$<)D7-{=gwS{4BaLsD0Tg^nM+z)Nm4Q{^FLxXim)eEb5 ze<&oIe55~dn)PTb-&%HhlNmDzX+0$t9H+#zYso>@@vp7kATaGrTWVi*N2y+4KuO1O z2F^lBanr|RPz&UFzAh#6)m9ZPNG;e?W`(iLR74|XZKgq93c1&HotAV}^OhB^ek@P% zjVV`cEGs&$xVE+Eyb<5IWNt_ZVG(h>Q1aM@Qfbv9L$ z{PRs#_2rd%NGkgmp{l*=^*5!tn+(Kekzmbk$*3~B{#B#dQTPbcG3}(k=JPeQR8Nd^ z!lKYAshhqOH2N#6)Af&qSwNbMLgN6gc$<}#Xt36z*|pk2OrB&SsJv-8vmJEJ>fB)J zv0y*a@r5>yxE`&eu~e+RF3X)wf1c}xSB5(5$-*=ou7|9CQL-XF)mRp1o3J}b&x*>1 z9W{#npkIz!^?4%AXoAbv%z0~}=So^a4(Ar4&u+PEqZ19rdYg(rZ}Djq*cmA|t#5{t zN2pNW+c$UY^|H^J|`xTl3KNs&Vjw%&pmF#il z>&og_7t435gmYO!6>uF!ZI=sO6<2dzNk6D+t=L8l|5YPB6u2&f|3l5K(!W!`M)B0Z zizwsT*Db|k8CSikF3KoO>!iBq+9j-;>q!emn5URyfrvt{f2t>5mBc9bzOyQQT~f2? z8Ck0v1nDUOMj2cd)pr)Ex)Q)L*EYF3{T`Ry9)pUmXmvMvb!|YEI(Vv53w*{LDoaK| zIj>&zi{zvYk4klOiQT-@HbG_9DF%5R)oE0judCFk=%eC4Xb5~4H6Em;F+lZt$<*2M zDt%oi;<>q=>|QoEP#@=5(%iW7#pHBucJ;-e32w z$zUsm?x^7)U>y&eN4!2TT+XO0`l{fYHx}7pLJmbVC0}VKV{wN)Z9!}o+~52QlD=aF0l;Rp}9|%H7jOjs@ZHi9L^26rru7j z1I_$kJsG<~wo>oZOf4}A1_Z}%_npj4k6F69EZRxVFVv?Jmv>!8=mqL%lqa%iEXa{^ zEhkm2G#kMcKA_YxJzpu?PRfB+v*rYskySL17vUnH0K- zu-I?3=K<9XPwX_WGP6xLm77HTm8j23Mq{(IG9SwoADdQtqp@A=`dS5pRp!^%hdjnk>CRo$MdMXcjj`X*IX+4IFRe1yT~pT@4aFjFIdd6rw>;w zJtzup&{gd0LX6aXT}|Z5_OudjtVfHrz9_BOgi!SbH6vAW6`^3Q9l1Il)e?(*FuTbv zoKa9NDNNm8FRa&fzF*HU!u$kB-ZfRoAk~K}7`e!j#ERNJtH#&_?)}unA zT5Jmakmh8k^U-=%^oJ6Db`+Y?prX;qfmzZj(D^`~4raD)K;ZB-u1p2N1bgB4! zj^A2Flci~^XcvT0O`4W-gLrbNuS!KrR2Qj2fh*^uBe~G*v0N-3oCcUhdbwonWig+w zIkpxY2Ao!{DH$X0ywybzB&X6ncJAl{M*c zPK#ViN7a3Z3r}Cs#%}7m*cSPuXtF`4k%}Mt%WZ~qLZChpzv_f=-8#A<`Fk!X137uT zz#I$E%I5lF5sROXvEi+xj$;m`yRQR{60hUBz@lqq&^)%c9^o3mTs9JN5pLAhmSJncc2+A@E0^+4 z-;{0FXt|}CFU9-v5iS>vM;EQKJgzFmrGb9CWK+ngrBbk5kFQyC*hw)$urOT*+`gMz zt@Y(>l{8|3N@iRV=4y1_Q|<6#nyIvvZnaRbLWVj!Ae7fj1dt7)d8n!Ce*G5_kG{v!#W7V}OpaOS!x+Hq_ z((!q~Ii4AJ_sCW5970TU9qBcPuB%SDz*t0eF4YON(p)sRP8^pXI}tAr)ay=I6!Xcu z>LrcJ=@esfLu|qQ>aN$r147b_bBddx}EMtX2Kvg^Tk_9jd%Q^xHRjf_24Yft#ZjWD}?y+Y?E-( zf)g)ATC#z0t>A2<<~EGB2so=HKXv0ufLpH;gGJDA?dV9DjL?`{&P2h#sfn|KDYhy? zy=|2P{Jfg?#~0JZz_fK1LmlyOa$H$WVhtu<8OVx|9B}Mr9xWv|vCLc?TU=;naFvwo zk1p+8ezIOqBwm>Z^JO_Rop%SU815${fnYXklw+awwA!=B!Zza+uGO4wXi->AL-QdjDX50o3vJ3t$zog|ilazvqE3vuX@B?dKyf*) z7%dE|UrjaOF4+5A6&`jyNG^`WP2^7Zj=&fD_jXTQj*+4(=bkarz={r$GEy=bG=q&! z<5;UE{qA>-g$~F%r$I&=HK5~AsH^sl!=UI^&x@!QU5$mJ2)|m0WgBIq8j4iDyG_u~ zsP_zoYOQLbTCZvo3>qj5I*umCX3x!-=k<^$UFpuasEkf*+m;_R0KPx{RXpi6+-Jxo~QsbfQIV=IeF3btCOWd}-c} zGPTUgPOit%maJ@)bg)z5)47=8*pWrH+jc55bJYzA_I%;D`o5SuOU+l}B&1|gNq?v1 zH*~`viDasi%~0{x`^>;;`j>Sw^hGS zooiCO)NF-Jel}|g#yA5Vw6jm$?3Yp`er_>wq7vN zs6UjPJLaZTo<%f&Y&h|E%S|_0c2{!5jwaTo#`1&QP}1_r<`4%_o|Dw>+)fp9<5srW zUd#v8hJ(@i)@sC{`@B<^yPLuyHTGu`H#LcxetGcic-kJQDQz~*iLCf{Mi*m$1QYSTfiP#VvwzW8`uO?Re+bamaY>sF*Q zQZ{&Jb<|Z8_Eb}BE87W}lTj^FPLJ13E!L?Qt=KAA>aW)fuV(SB)e>SdoiC@xGWy*$ z)?ODHNp#z9ra4(mEPK^vBEK+w?aESKS7NbED&6dE)KDN$T&u-Fm(R#m?7PKe0_|9S zo$mSa^H$Zp9vKLyT#QgH6z=|4CgJMJR5*_8U-o8Q4<$3=^MmDhHcGZ~ZrNcPzPhf}3zCXM%@yj3XjamVWGK8y=Q7%~ET)83rCaMHTFYrw zmARU%Zbr7htNJ-B%nlN2ZfLDLg-}B)tU^p#P7m8TJtGzu>$1PY@@|XQB6Tz_1R*m~ zE4@Ovo5o?=PWnfgSs|oMgnC&mhMJWc+wUgBiAW{lbL>TC+!`{K9v_$Z&FsL#U8o>!+Oje6awg+?gjI{4i`4HWu-H=H>pIuX9bp8 z-CvD16n`Wp%|n}6m66ArW+ylAnh7x+QReF`-=b zISFjVs>Rx>S}pcwxlUzVENFTe9oB_Tkf~OTp3mrHtajHCXMJs)UWbfjAP~sahxMLq zblgoiS_muy5#G;7q-na<@YUq1I5fGiAo?dYryt~fdZs>%)R=a(RUEXf=sM#JdsCTT zwHiYwH0Z=PZZm8Sg<6ueUEio)$^{zZj#N%nqw7v*F)sA&P-@%_)fx?Jq_mw3E6YrH zA~kAiZY8(aXflu$2B8#R-lQfYe*?k?n;DEVc~#5@U6xDEwD3fqrgfRk zPFj`Jz%S3G+%V2mgdE3J_(?Gm3(S{^g)hG`;#PhYOZc>2us9XgH9pfBN#zcgY_zI^ zl%EMoGqC)wX5+W22BBY~YLFVCH;R|5H%&!>Z(_*sPEW#V`qabD-G5lsU~_NP;IcZP z9!K0yRRf)4RZ;s@R}GZEPt`zFF#n)h$!vy0wV>-(%ol4~?c!#TZJ32|a%=}!H`wUc z^g@4TOT}zJC~ZMy9a|rHA5rfLS`ps#Pw}(ve8ClJEAItX>&UxMV?$7MH3oZaThvLCSX4 z(_p6-36@f8WrTSx<2gHE^JZ_|D=cO)ds%D62kSMjt4_CP<^#N%_s0@hMiez=GFLiI zg_A1QaO7`DOr?Hb0;}V zS%x@InbAmM7&#fkZo?aVSI>+OzZF4~P`D%?=m;V2(2W%_YVuW0#B zxz^!)xn5?xjKr3Mj9^E?% zH}4DDMjX|%jJ__I>DZ)Mo@0#GO6KIa5?QubL7FW4(^gkpR5_`}D4D_}HFoSKTWA=Q zY`Ij924>}Ha+OuOO2N&Ep~= zVNz}1CSY&o{gRRH&hp)GO(^8J*oxSII~2`=2t$%~xU*Aqsx zUABGGR9^|kmZ@fQuwj;BJT@v-a;%f!qIaqWGCw$WMK`1e%n=ay@YSf9&CBVABB!hP zPiHWN485O{#F>#g$KiBomR-A{qy!8Y9H*4=t}LL=kxF53u2_v=l22uWz7MC- zRgXKO6-^e?WI}yAcm3kcYnQ$8Nq$|gA|QHV(9sk)ZiHFI_=^yBbH%!xb?f|b950P3 zQB|(qX;xnjGBj%yr!`FWjhZ^Tnv8kX)J7ZLZEm>SWv!@)*?HIVFODOR%$=b}e1{UM z1I0}&7V9QP%A_8wsmt&hah257oIlysMoJ3J;s>nD99JHfhkb3sC-3RO6Lei_D17s( zx2mHQ%h=k=<<=^6640GqJ_e&ZCA!j`iK}SequP{QeQS~rW&s>K1#F4aqpXd=m#ACF zI0?2|8Y$GeKlqm`>GA$KtFo$_Im(8)J2c{<Wovcg4<< zWz7a+!n^ob-$8C^)H9i%vzXWaJgj zmU!34t*r67ES5`yb&L;VSXvHuw0y?D#%vZg;wH2~v{J&1uS~g7W|@NN>y})%n64WQ zJv&2nD5Xd8Gj^Dmj%%0&vxtO+*+}8m>bS@GdXZ>n5UATidA*ixXHptf&8lF`q7ADy zoiOqKxLDrR9{Z+T#8x_oCyQ`~N4AMq|S$=6a{(w>R zr?V~pJl11VVWVVMi?(KA-c(a=bqirL(5tS4fnp}tsIU5JGZCCHPAZdj@_Zm0%gx$m zgipn4oHnm^gEa6B3W!#T7sbafSu8M--R zrj1A^eeBj8qkcRp`YgBKXYFK2ix*>*R74q*7|SnVX3=tBBsHs=>?AM)X3XTXE5+q0!xJv3zN!Fbm~zd+bM;luw|@k{UPQX z)?!oCrBg$`RP7`(9d))^WP*lO@x?edX(p7pug}&oAuM63(?X%1!TXpPx3O)yCAX7Aqln9tcb;WwZqoV=LU}5^Ow}ST?fU zNNl$lG1KUeS}qETQZB@%tz<(hB@I4No)22$t?5_8if z@!OZd2MwftYexFbgmgm^CexhL*Mq^x+^q(aG1ZoQPO3i$*-W6NPW{f(H)L7=%B?J_ zD4f#;OyM4Db#7RQmUz?Aqvc#8Fs;XXJ}VUsrVX}`7o_&A+)IQ<*@QZCdKEqHGnk<; zE*AAcX{Cl5LpSF1-PCg4jb$-wr(Ybd-T7wh+gKx`q!cS_-zdVnzEW8lWXjn4IUvpX*P7U|k}p_SSLMM+xm z#aLgjD?+(Z!9lc|%gt4wxD4v(smk@-1WMStvx%C^b&cyX$y_Mm3|-9D`tC00nq~|q z7gsmx+}z}L-=gnf-OiG7oawg0@c7kjIz{aGJjVB?!Ny7rHrh_B?z1uQ{_R5mgE2Ol zzsDT!*E!CZN%y$s)w~PL(WqTchzU1`$wf1*4(g%GybF!lR* z6VRg;$Mp;!O(e}yG!(a#Ny%dK++q@sHS$xzT{5y3Y-(z}Q>%r0twO|V&$R3!YAn*x zn9X<0?hs?fjgU60)rCT~!KPA)VN+~$7Of69uI9DDJe|l6(bX1Kloit+bF)Q#gZ|68 z)>(+T@wm>`(G*tX%z~}PisDL^lt`YK*U`XsMrnN+k1D9etOJ2|J|ow)bw17} zC1#WI*`?{QJeNX7B#LP?BRM?9EgpqTQEOX{JQ=S;ow<`$Hcq3UTRC57?CW$lqh_L+ ztwdM-;c7HXaB)eHr*qV-n~g?6Gcu*DstW6MVraLdVMysDWv;b+Tf-*wi|IYx?ERsG3f)%70kaC z)KyWy{3(m)c#)GN_wLT!6s9U(bpkWja~toBPu?{-QfU;%y#Quz7c(Oz(v5JXd9Sh# zqHE8@RIy_vq?LAyjw0Y}iEq4qHkb z-SRT_KoJ<+iFCi-r>ptqm}!;AEdnXF9V>M<5n;%iZmTsVL zW+SsE>7d##<lOmH1m-_wOwx4RNthn z*Xkv8Hg5-`DV~?=_ISNopvoEMF*q{W*n%GNW2(a_pXpXhR%Gq;(-~}2sjxU)7jd_cSxcu1 z%h>|sMviHWxq@tNCT!FQ6$_(_HmE~iW0l;$_{L5{bUrjptiof33Q(#>Ha*c9%}w_GX0 z<=J_hn>p6lxXoy(WWRx1Zi?)x(+nxL(!F~=$^GXQUfr-k?$@}ScYd5lqFzlrx34Ci ztI<}_H>sthVF#V`wOXK?iq2v!zfX4>s|{|Z>TW8blwBKHu~=h~iPi+JP^s7JZpUF* zC#M9&gr6G}yA@un&&TO9Cd?#CA%D6RSA14>Zg8=(ZLAa1Y%HBb4}i2>MP0YmNoH8z zR1Nk*owZrRus_R8H7k@3$*exD*9vU4-e1gdiw2A7$UR#~L@@dmsDv#imtWMn(p1)S zt!{o6jF$=qC-cQFTgz4kc}`0XwJ2^tO!0wLIfYrBvRR*(+h#Cs6lY-!L{xDryizxu zRhWwo)OJ`Deba^E&nCHvGDhD)bd6@T)pSG4R*W?gqhXzKa#Fexl`A4fFRDsIvRvHH zh?&^SzLYKpdj+W$4!4wA*dMD*`m#@I<)^h&^f*;K-?N(-K{hWZRwJ5#`KrsolDDoh7zs{b1{>P$8y=iBpsLLMu!it^Q|bi;X7Kh z&xh*?w>xAC#W4oxEKWk(HIk{%-vhX#|L*=6-+te`97jqJ0V-7I=<1IcA_-nVfdhqcii zqgiPAhNZflOcn=IHnQnhhAB4!SyPtt(?U-W3*#b_91JTFdgPlm9lR_c?nx(RoMl`bn0VcFKKx;k2Sn{%^2tq!b(>iV2? z&2KVJBmSMGd1+zH+FfhVdPs5p(C!RLJWeWcu-R9&`v;Zh#(IK}p=4`iiG?s|`;&g(TyGZ$r>xqG_Qw{Bp( zsib2TiX1^DeS>nGy{e=a?_Sp9$IQbv{jRNe$d+GT98kDFaMK^Q}1%o+E@ZP))f|f+P@-=85>HkgJcf0)N`krS14KO@-OV$Sck5k%JM2_$R@3ov1D?md+XAwq z&uzJ-9qJOg7zl^?>Z}m3?Cp@0S3CU#Mkjw zP1t7P6+8?z68hl9^UB-~)nOt=PHwmdf2KFx;_M@H7sfYyQP(Z%+j~SLnI)Fn)&x~7KgkfJ`lj<`*^*`^E@TTOCf_a%uB-FQJ&p=G2Sw7vP3ltu8j z%G_`L5cISKkJW%>#dwUoaEbAm=lH%+sD)#zcfDW`Qy*rp1T&TBOBx-2jSR@^sYrhN&puL(t56+tRns|Kup+A*G zKdO%VRl&jq>q?$96ET~wWmr2(fC^5D(PY* zDPT_cVk4clScM<1v1ED0WhANdgXyk^)pJ?fVk7TrcXibbX+~RTY68B>nn15ixdhI-0Ju}>)CufyM zz!oZVd&02%u4enPR>F=QRJW+3n#LUaCeYz9?w8BKx$Z}Y!eb4}Q|q8AH~Vnid#N_0 z^)OgklwH<{#fnl>&=lWjC>ZAMB)7{%%KF3s(f=C@+#>%sEZxBZ{KYvk|V_J8`WUlshnZNChBaWY|| z&75>e2G?`GItg|cZez8xm40+ggti$<6N{WbTo|ISyxLKVgYM6oVrww}$bf{vi|hVS zX-|z>*U+1k1Z_MY8eSoi`;xAmXWKsLe)W`}h}+27^~s;)l{OO@c@Fl9?c*rrvpGHr z*}iomDqN%PozGz_82OSv1O&G`qnG?}-=sW#-#-9pQtX4XkDzrEU)I5ZqY}*6up2rJ zPokr8OxalbI3T@qoVPJrN7hZTPt)A+aEg93GRCW6duyG%kO%XaCXLfQkv5Gs-Tvx{ zi-_M^k5+mTWnADrTng%`%ONGk&>kRT{>EXjclq}%@vK)w-=W-k4s*0VMi#mOnb1^Z zh$JUpjFvMLs^2kMiVsH1KOkB}5IAZht?D|oIS2RrxOPt|*%9E0U;g9{694Afx7I20 zGtlL;ectAq-Fl@DJ9Gbx*IiZX=sIqqv++1`iLX71)d)kxYwF$1Y%xez(<|tturVT3 z^O@QkbdJ@cuf}+I1mer8^XF@G6NciNpPek5s$Fe{q?m~8{Ag}6r zOJ@0cCteXd+9#W>qG}KD?Vm2I%-P*`+Zg2dcy_TQ!uB2+WBF0PVD%J3Lwu*tfR~b1 z&9U8(!cdz7H=w;C5BLSyMU(}Yi2Ddk8kx8o`#kouCE4}fFr=ek9~+LxpRq7jqgija zd;oSfAz3lhG%dkx=kUkl1FDkjJTob>YB6xY;rDXmug{h=W4+O|M|Qr3>&t{*`Nosh z+7v6xW!t#Ac3tJ2sBiRX_YZ>YueJB1f&QV}{;p&48Xo@RntOXy+1*!_ZE^gVdmYOi zZ&Hzfb=wbQ+5T=u&%+)1lT-h{am@wyjr_IdCO@yaAAqUp-3R{zfAy~U{;=-+BKd~L zkoWZ#zygx+tLFR72kO3hobULnY5w`eUOv#D)aiFe0E;XF_?hap3xI&+35=STjba8Z zZ2DgP7>cf-UUQrlPkUF> zUKgMo#kxaU;^`sI3>4s(S)C+it(s5IPvwQm;#1T1a-NSQNBg9#Tn+~ zL-&JwEZ*1WtJu=pYq9Y_)VQ{xZX|{fPFxd(Ky{4THI|KRM)uq7L)#}&qiP4(jJBvH%dmJM(b&{T~^iKoM9RaS;MsvjC9q$P|A zIB36+P2Pkx(1`jAXXYyx(+Sh5*RffD2cFw(kcgyX8>fo+_n%T4z+a-(b5K9?3~Y zM~9X1Qh!K9oL-%4!!+X{C?1`TP_FF5Dehz^-Y+9vJx+1$EpS+W+9jDR-5N`FLu6G52l$ySwA{HZEsi)x z_1WRpFoJ!HFUs8I*onlngAsLj;CoR*{<|7izU0Mwp&MQSD=B#Yrqun=ZT#cvJHG^S z{TFD^V){8&n^w2f2Yk`NW?G%=4w46on^3&S(&QE#yl;_VP_rpkOyvpIP2VVe{=$o^r=rGRvLJGhF;pc@E4EA8# zM!uwHvthw_7C={T7r~5G1sK@dVD@Hk?*>yCl3so(`d`KUSKThYx$^U)cm8QJfgi@d zFik?G3}4I0piYNoMcZ4-#s9d4c zNvGAU@7$cV>iCEKfSKA+TLi4m$3*Kq!$zP1xj>0KS0}0*`bTrxnN@Kp4(D20t&G#1 zSS~g>0VGcqjF~G~FB^5gt-S0ixBH0R$9YAMWlOr^uttpIV}IYp)iLO=Hwj}zu@#1G z>uhjAYrsdUR8)P2sh;I=P3k?>bx~^`?LH{LrMb^})fiaF7GV|22MYn*rE}868N<7s zmkeoO3hQEFeb#i30|#HWQKZcC<-!!=4y>r_i=L3Xd#m;Q<;FD*HxfZopB=Wf-4rQs zEOg=MEZk@IL6ExZTu6KOX`J7euwj4WgZwdQ{CUoZ07T_i3X3kRCZgh3IxRDaeO8NB zVIFiDa3lZW4o(1T1tcsA&x3Nk<`-?v@+9ubhA#wLyc7$YHjP7=1K6T`n%N~d zo|or#7fKt3UKw3_StR|;TvV`@N+(fU&v5oan!VtisGU7tC*r(Z=%aQ-DeipZ?)E9P zz#n3QoK#H7r+l_6@AR~#>v`l_&Yx%j2k8ZY+MAdQl1k!IWEAcv&R${9nc_nOhL$_o zJ{_`NiRxD9rrlLvrKrNj4RP3Sg|t`g(@jw2MzOya)KY$LT!RNr!Gw}ER!EcY1f0F0&AXECK>EW)E4&3Macbuyr%Es~ITk=M14Ssp2 zM}mHJ`Cx+142lpxp%UeOXYjoy=pXvr9rL>2jll=gncK>FWbM7;3-!@^%pg_(=Q1zoYD6bvZI71m5^Z=b>@_oj@<@ zH9eLldl48d+cT>Q50u4CHmfq~g|uOI;qb^bP;squ0gbA4?JAKzXi$&}yofyO-XI3$ zmTBeV#fRhi*6fm<=-v`D#=;>2=*H8S|r(jImy^7~W-&ByFL@aFT+(YP~f?ZOSDii5am*=k+&@B|)j*0d2g|UJKwyeH_wu42cO*F!g3onJv zFFS!j6)Mh$jnW#23!EwFGTrUg{s}vU^AXuTZRXZ@J{VD`+i4x1oz*#6o^=(S`y!WaNb0!TgE_B_0UxSX_=xs$(V<`xM|3>k?feWnIT4%ZrqE4 z$&R|=yzrWFF3~%k+}_O?3M_+OBmw*RISPryQfkC#Dvf5q*Q6HAqb=|<-=9+o zBCOrTjOUg@s2cQW*n3MR=R^5C@QEOnvgo%kURjYa z2wqU&qKId+x^Y|qexK)4t&ou;NHy_XfYnQzp0GR4&Zl#T+r_?zpVNcGL(nXaW-|ba zKntG)CMd-vS<^(HTcE=> zcWnkW(^=>`J=xUhK9-24Pwjx8qX61?-&E8g#%v>NI*TXZ=ouqP9JRPkZHwMH&pLY6yDwcD8X^O>XY zRq0-zg3zHW@FVMUW4BO2sQq(W@=L?tW|^hu#m&Si;C9L?I?A%c-jSo(c6-vdLn#C% zEePnB>Ve_>B%?!m*2AtF+pCpHkt73c=6uBLdwm6_!NZoEtlW!_JG%x+&rXrMCPw14 zHVEysKF&&(>_s?pgW0}UN{bm50(&&n+K}KZnQvk-xCvnPyrAT=mf~YWP&4cAO}XNa zZaL24`h;-iMmB9=N$1$X7Y=JkFH!Vy4JKC*UcCW7P4?fG3xI0+o`)=M`2Ca~*`e$} zL@>a8g~d}>f{!czQ@QYYE%M#Pe^V|1x%scl1>}ti^j|3#Xc zhBNmQ4*3ybBZWpAr=bOj+igc4kyXbsXhL(hY_fDIPY+s+%?O9&a zB2xL+AiE7@d9p}JLR*u}Ef_Hn?OISX%nmV_*FKYq zPOeVX@@VzgXez#L$jnCB89^WWYut15h(C4e&7L@NV$+MyYN`U4M?x*$w%k3s$6gD;_d*F0LXPH z&wLO9IAepe#$hi>q;K5_AIBrP66=9Xj>IW#@SwN*0|Fu%z97L&;?~ef$m!7&@Pxa0 zyA#z(&wguevHGEQ;o+nfl@!X`eDR&cIws7}qxqdjwY}$&*Oh&LJP?15#pglWD~sru zdu0HC0{1v$N;oE|bviz#SzNK3sXMCzY8u^1UT298&lXCu7Q zY#w`)np9IW4*i}Ax|?W;X0W-1=lTphh@!#n7LkSVN;o_fau1VZi=+E-Z?gS<6OIr& z^e|Ls^@so(A^<*SwaxZR9I?_#jr8Xr87`KeK|cKij`y}_=}Q~ zJ}yLcd?5V`gxP%OT7yRI#kT_-CePq|;M+k5;TJ^H%NFyRZ+#UlBL3qQK3)J08!Vtl z-%+H-F`mTF2J-Z26!bnp+h7XhK!^Wt+pO9H&T_uDWG6yYwj7LiUGjSIe02u%I1yN! zbwbQQSb|5hBG2Y{uAjiEnJS-<7LpZ?)^SRrks}{q@9#)y(^aK(1udTYOXKj0D&1xwaYG=WwEY6cNt}=KG^M_qD{Q@e$cQ9{jCyyhwZV>SdXrC`;J1=>v@v@pgC~8}9MYhliB6Wv zEg!leI0HLfzVeq9n?5u=Zlken9{P>}o7H3i(ZM$5tMmS0ygw^z z5vGQ0K?;muK*#qtyWMZYvA^8rpm{@xV=JH;mDuYWk7kKsv3O{0cGLbvaXexf`|^1# zOb0fPTs@yl)^&#UCRq0vMaQJz)#{FOSvblzo;_5-ow6zmSM9aF~@&w+s^nyicfdBIi3 z8)kFg>NUDPb>k^9V*0RBSRXn)7Ib*@^sYYg$DqtTx|ZXIE@wy+%{#@jZj^YrJn*=? zb(^jQhYwFxpz7sE)W04;q@b3mdA&YIbzdI0s=g;3)jf60xsh){<(5Hqma+i38m^cy z<2865Yz|h@O}Npsl`zqKvO?qYleiE-Hf5&BB<1y>VCY^)twW&GQXsLl-Rw$5J3r4; zNI`>Xt-Qda5{3JK0qA)wm^@O0(|I&G{>li9mg;Aq9PTN*(B*)zSoCo|K(No2d55}OQ46o z{D3dd1@ZxDcri#n)W0w77o@m26=swQ`PREFp+!}`hF}#AT1mn$*&^^X1nS=YF?x96KQd!ZG~)N$X!{dRx>d2vL`89DP8^-rB*ArI3(Z`?+!Zzjpm{oiAdeHR%tt83|W3{|0qTG(jQSmuzVAYAm zb7Z#%jf8r-(fx_7`hz(2v2tecoMkyb4M-^P!)_Sc`siGNpmm}u)bDqm4wCSk?#_UW z2H)fgUKhM=9wPG+v)#1k5QNG&eKS{%k>i<9hov#(mb1N!i+hDZ|A}3fy{qD<>*yw{ z9p&jaurue8(ABC=7CP#&7X&*UuI0J|^x1p#RvuvBs%!r@xau?-kdi8!RTm!8ohat9 z+za{EEcXWLPV3WE_kylZTF6|%Rp(0z@kJhabJfKkb;f7-(F^dY<9iuyqsMuz-d`ac zoc)5ZK*&WId+_@U>IPXne>ovzODQjy4BQ9qgo9taf5;PPH;!k1I~O}JT8v?RaYTtb z-diWW2%8mRp4$z$rn!p;u%NAZQ#F9zcM9%Top7qC)9QLMWvn!V(b@qz(Qc$E+QOih zXVb;)Pf-V!t!2raXcb=(j_*tf4(}aa#Nv*o4&+#Mv;mT73=%Pl4h8+zec<*N%0xAn z=Am;6%;xdHl1l^L0~}yw{NUaPQAH_a&7Jq-CXf>*I$!p}Msqk}8GsikDN%1ECp(&Z z&l9hr+pqRkR^ccAyoX>Qaewcw{vw7j2=YQ@qIYwQfD(;w*!kuZA+rHtP2l<$hV4fv z!@Ph$Di2kocF`+VLp>-n8b;cb9Zfk=*2U4^#s1&bvYcs{y!lgD=YJAT@K39-AivsR z(^nhJa$uZ%Y1Nu!?yv`tI8#M6w64E*UH=3CeREy^hEIM49sUWQ{3m+yZ2XCy{O*2$ zq(Td$_YQVE{Ekmn7pDF!lI03uS}rX(-?4juqz~~cpD6t=ZWy>jKIOb0>58xPuI2U1 zrS?w!3hH8i-eh1&f8$-llKug_W)1t_@U9_Y(fN*dEzBa1I2e8a=;j;n`X}D?)!^JW z?+UaH)1Uqc{x(G6Eko<~0pHhr&w88hePwK60;gZrdRZOEwHphO$Jl3V)1XrtY9|M3 z-PQI1=~U}dUv`k|#a%Ry3vR=G+j{Agh~m7YI9Itii}qIq!jGf`vw><5o?O6x;@mtP z4K&h}t{C}3E#T}W#3FY&ntaq}yDOGj-%;)gj7s1Y=?w-F*AA40^;gZrwLKq%a zBfH8#)W3qr)SS>k?K*``VY3c3Lig#95Il4LUZ=rYl{%)GI=W><^ z3`A!y?1nO2OE@P4Si99&Uj%{q9vIebAV3C+6I13@183Gvzc=(3FH17v9@2j`eOS70 z`ubc=-hOjrdWY+jhyofx=R?NUFS50N2;^eb*WE84cfwo#BfrTH8nY?NqD|!EWL|dT zYl(lG68Ut6M8v*$9~serf_dF@^e=GdmpSxj?*?4^mwe~f%$PZJmlV)U(FOuthxO$l zpOmwmm@>%7p?pBqe)QWRrM-+3?I62)d@9~)eq&T?^QZ#_%E^;C+HnWOlmw+`H!$~P zMunr<3nj<4;O};Els>M(&DiCP4qJ+2u3yPSN__x4qZqYd!*3qIAUF5BKBO^wF=7-s z&WX|9A-^NP`UFa%2O(hBcnR4^yPdfc;%Yesrl{Sw_wufntXcCurn0o2N>^xHD&(Si zc7?KFH-J8*B4xsMY;=#1vFaMo2hs*@VAfLM;_WhEX!Jq2qL}zb9RNDJxB-$YFYX8bMn%D0UVB3R!?_`2=?KOoCKg%OVWhMn%s?v{4Mvv`4_casSLpz* zrQ)ak;ALz^{=4=A@DK^Fu&}?}4_;@^&;3C8u^)&QX8ck~qm|NWNtpMJy_jpG&X^9o{|lD89Dzb1IrQvRDlZvG>qf=J|;0_XPr;ry0eesVBgN&6+b|`oV`;lBd<;fX|>gX#aPxP zX{^Q6dRp=%b%4sBYTD@XXW>p<=5s0b7=ZMT8qF2faM&oaM4}P58#%9zI`6I<)b)Z) z3!$$3_P*Wf4*O`{b8LT&rp4nhhBH~SyTUo%axH+I_Yo2{eM_2f4fnqeG7ui znkfZlJME*if38!edk$oofj3)1M4)c1dcMi55~zeJEosF915fSDJVBn?WD7n4z*bs` zyxcPo%0#Qi&JN=x?O5r!-Iq|k7u_a`$>2>H9p_1+r~xbp=q}Ou*7xYf zHk0$;3RmC4x$|rIb-ezkf{yQB$Lj8@d8smoZA?zkjde@(yV4#G6u;`|tH6eTXOKXB zCUY>g03^mC^=W`E8nfWMCkumW(%?Snj06R<&bPe1H}(PeWFha=n4kyw%G(3k;yVQ4 z^Fc@j{k1U(T*sgD_MiYdwg73TqBRiP7vcCpBY|k+N%?f`UZdteIT7d0#4ht-osEXJJP}sancz#Xs18g7XbCS(S z(hB~?;OP9y+-BJCwA~+(7)W6mX?2wet4E8LkkSnb*^a1Iv5jlh5l%w26 zpm7(Gx2fIcUjC7t3INXi-!fqS! z8fS4x@my`Rj(OP-@g_JsPW{k_r1GY6>)zI5RpM3sKn|>p&mGY0Yu=j9bRP>AcZS)K z>=!KbF;5%Ogh7lV(Sr*KbdMvmcJGm_;pf1IH~oMRuMA(~&VK!f&Iq1YN=+Q<$=*x@ z2FevKVs5xQUCYtiU)q2@9AkMzp$(Lw*nyBOR`vwj+}Z|H^r6-28Ro5Y*3?iiYx+;% zJp=*<(3~-)h*OfSU>L~xK8N-XEIK__PN4sT#VS2$%7@4wOs<#g6Vvz~#QXiznkzyk z7$jzV!D=iqzR-c2#JBC`#E9F99kku`+e0*){(Q;=*{SM!i%`PC`VKFE)E(Y<_Qu2Va5WEoS_kX_d?C4dr2F6qIPksiRJ+gC{)U_xS^`dZ4aB)UNU%C$M@w4!f0*}b16%W zwjm9til`}3vnB3Vr-WQ^XYjEwX+f)3xd#@nhfLJ_tZT9Ah`|7At&sOJxI<(}fO(jS z_*Q=lvkavFM=`A}=60hT`gXd4t#j8dvfXE7;Wmy4wbPVXu~f4*>&53Q#YhKnC-!lY zu59$-`ZB&k1jn4MF}Xx+=`T~=97%W1^b zOrYCW2UEn*wHTXNjBD5;wM9T#cH6QrUle?_c*WfEPd9{VdJWJqwn=tHu>vYl(`t8^ z+a=A3Fz>6wxrhVc_q5CLX6G|m%+Du^j3ZrydUBPv1L>UCCPWKV(|H3hqUdrBSbVQu zy8Yz=*|;`!1wz5)CX?#9j{Vyij(YTv+V<6LO1|Jv5LVpcC4ceu__29X*J|B8wZ!8; zHLUv{1TMe&A6U|$x50JykZkpZx)ohYzs9Il^%v;aLX6sPm<7{13&FFMp}K#;q5uN@ z3bkOMZ{Xhe+~A}f)bC(wx4?+LR$6qNY`fx zlI2g=Cb~{-A8gL`VG26$df+cjpsbz^>#Z&6*)2VynK>Ce&o}V2;lO@!R(z0@EwQ&a z2+~e(qq<{Wgph-J8d_IAdRJx+GOwkrz^dK6%#Tl)njWv-I3*r3-|qGhWZ)t*#m7}< z2_Lv$r?bZ0I5h9F^`=~JR*z}u?Tc&TQG(UNYsyMGubQpMY7U52GU zp6S&Mk@n4odeqvc<}{v=9QmOPQmRbQt*}qlhF~|l0QAuy91(TBS_5T5x4Bx;MC!Ja zZs0V0xGXp!*9s(9BeOajo13oN;`=@e%H(%wz%(6f6>H4y| zQ^_$olZ)dM$o(!`Fr?J_hy7$AW1z%W0UQbkg3OBz1?`iTUkq)}Qym9eird;L9^sqH zGMVkF#OA2MqTb5Oo1ftN|T{Udu#XC>bslyl?w~~ zVP=IDPgO5ZyOn%`h7CA=4#%fsRCmBDnL8Q_Qa7c`a)6^EZP~WvgtH~ZkDZEbq=Ll2 zUX;dX;|f8jwnQGT*yz&p)~U##@>Iy*sCmze(T$=ST-yO{irSlE?GdfaQc;W*@@_Zk z(G-wmKCd8pA%`Dfy$LX6CU|Hq&!_UH;^-0l1<4RZYt0F>c(#&IG4+*vzhQowH9e)n z-=E+Gq-(?jzyer4#H5a+TlqMy$hhK6c@KHE$Rd!qpWl<)gq%?IB)`F$BwB z01Z*_lha=zh8Itq3hgFP4VjSK6$SXZtIHxiZTAb}w7D11n=~odi=xADJb-9$P=C>n z&E!{IlSFd>d@;pnxx(2l#^QYWkZi0FP66SwC?!akB@tpVO&N~eg zx;xg@tIj93j@Qs#oH)wJE;6t4Kwz~kr8SnbuX;@|N?&|#7_A368JSkaRSsEfdWG^yw7(*W{9f;et}4+-$~2wb3JNftm2BC$HXzbNwatG*Z*|8_7rbC3+NrF4KW@NMRlHN`# z^bbsh$ZM9m(RWBW!s`SYD^O~(H+*}i+x3iYK;n1dLL6UiXn)S2UsM9C$b;0cEd($= zisz~A`&~9SM@i9>34vs`)ZRaQcN=$x)@}H}%bo9lQ)QEJ@fT&r)x=llL z`C%6U{L+(Wf>npx%4HLVcVxY*apao%3IjN!6?3pHa5_k@!K8N4Tg;uTg|S~h*-!2e z_d+FFG79n!5D32K%J7rGqSISn3({@MUz5d`LwBuEj(F_3dSbVWixP%QuXvpLQydsX zaeSaJv;o}~lMigH)zB5~+YIJ zEvSa71I(k=SBkvh6q;-F_F~(ztrJ8GF$LN7beOL0I*@RL=@zT>ZiN@`t>OljY*?Cz zke@@#XyFZr$_0n?*TJp5^Tj{zU>Vxw2cNj?Z)Dl(;$w(}>tTT;ue84*;iJIrceOq# z8#FWaWML4gI4-ze?Q$)@WC?l@<+~la%{jG2P=qq!K>;CPa3-UZy>HCzr8a6=Df%Al zNdff9I*>Fp&$X5D-jg|#)L+W(`(3#KU(02r7N=heZyMt*5Gl?wikm<_`HYYiMc5$Bp)n9-z7)o9Y1hER1YUd&<53sVE8p7iz>fd*F+nr%qTfPYR$7zzj5N-RnFeoT`y?4ySkMyVcKPlwUQwlAwr^Py> zjySJ?L`Wh$hR(HOqvIOSY~{#RBD&6Q`*YTJl&^xgVa|^YSdf z`{WtPjge6Oaqb%FysXf5VDw17DG0zxW`IgCt=2y%kN6>tpmvKCad3}785i;q&Qng_ z(XO_}Sqm2(ESOO{U%BXA04V(_ID(7}y@8l%%gjybJ)X*4!XVFK*IAIF`<%fY!KCf= zvNK{Zq`-%JT&~9L&@=)k%`tWbEs&A!Hqg?aFJ~q$50`;KqRwVGpCIl8P=*&*aSwN{ z*tx5V1$(5$uq_6>8~)e23|icKXRFo4U~RBbESnyRqAWNe15JKE$^46?=idQlKZ-c6 zKuk7h^gi+Brxdeen{1;B>~?uW2-IP#?a?%$Bqam@Cb^S2FpqYIKk|!q21;h5MPZcL zo^87jbit7~B)WFfZ9W58LA|el`Xs5iNQkf_@xba`$(WwsJx(c{F@c2ZbVOD zt;0zY65&d#R@eT1>o<+hTp*FtQ-jS3!;$B%u%Fiziw^Y-Lm`XXK4mL2qq;-)tVuYZ zgeS`=iepk&Zp5Ist+--J+2iw_DK-b%xL&Y5C8vCaZE&Q{Q(a>rNtJE(mYt}UxlJjM z9h;CK4yL>f;4}VK2Vz{}TYFFAKhpnUFPHqAhS7gj%YD>z|Fk#?+zXonvV;#f zy9(cc%m`IDa4 zkgNCSk+%yZcW~DoKp3gkQ%@RR{NgjVP44+-Iuqdmk2G(t#Le5K+jM|NVoI%(=C9Nw%jvF z<`V#070jc#Ed+{ity&AmlP@ORv*ioI8H&rgg#TX9A&#SKxP^IZ)}oa@6VG0T>873* zlrtV0x09gzX#`o!6+-d!BKL+7Mp`?L@hF^{Nlv7jDGY3_ylnX?*(z+|X~EqoU@%~j z@+NLJ#wuIE)T`AQjX}Ek3ec??u#Dyj1j!0YUAKF(t!5F-Q!HDSecwqp7^1fkb=p24 z;2KKwG@ciwAXAGc3u^i-k2gIz8~!%>^&yhpRm2+11DW0{HW{v-FRci*Ge0 z*xL+`&n=&29i87r8Ddoj;}Ab^n==dP+Be$mj)na1%-{Em|Ki%{{h%)hhzRv?eq_6- z0kZ{st$_3U_O;TR0{`wy{%YoeG*HDXD%A(T!>^~+6P;*u!k}^mD#%ku!{yYF7R67U zz8!ZDfDq`5i;I{jWNm@Mq>Z)EI@5)=X$#9G7Xg0?JUXlxF{v|F7O&5hj#gXSyPOnf%3$0K zVnPZTp2Bfq4A#4HS3y-$X#raoBo9b;LpXr3?VJD|Z`@~Qn>{sD6pNJ$s3ckTNE^bC zw-CqN5E7wI+=3Cv)778GkZjIr1T*C|R1;UVp_j-PoKv)1#%x_W?FNSB@NOq3*p)Li z$OcSxdlF~Eh&b_Bv8@3+b5<^he(KzQ&GVTJX{A^0Z%rTXJm9ag_Z@d~{4TToZH@n@ z6`nu6z`)fP7+7avegOYt6|ZnOP5J!*|LWRI0B!u?T%HXu)664sZp8a%`TD9}KVfGs z_~8VgZhfBax$1+K3#5|(Y|THOGn~)okm&u%kB(^t3S3azet>^JjCQ|1RODh{k zYD{&~u@nm+KXC-3_%;-tmrIIT9wEg3fLvsKcg$6O-f9}0pfc6CKkStVTC=Ed`@505 z$rSBzNRS(G9gOvPi5c2vbHcZ0w|ahUrv_(=DuOlLMW5+()dlUEtgf{KvPBp; zJmY)gTlfObTxDaQ&3rydTl}E|hc16Y+^BX4IuiwtJ$E@$0im4%_l4YK%U#P(Za#o; z{@lbXpskLmOEab*8LJDYZ78RM@SvDn637P2%{vFJN4dLKD+~IgIk1NH2TX86sjLx` z3-Tn=plz@^istH}2v;z8GoHN{xEI*)bc4jx4Za=-J4|nMHXRRR1Mv#Hzksl*@_XwL zMvsQC)*^w-O(W(-{6XpXm}7mnZvI6D`|}tJ5fyZ@*Q-{q-0D{0)~YeX3p82QfcXCF zrH|FE{m8i5ZS`c95u)GRquXqulw(vYe8R07N*WU{&t_~Az1c9(5AB$nLuc~LlRX*} ziI(pYAzhdGjiBz)1SZPTppG#>&h+{eX}29BbkW`2od*g$bC2LyuISkbrNlq9Cb=wb zG41LWf|J9kHv2_|pGU?f$M)%gGx@Bs?I>lq8O(f`5^S1sMVpFI@=5 zAq5f5M?(T~STb6tCRVaE-&NQk;G=V2iqHb~`?vw)icBZE}BeLL7m+@N(*W z=u-{DbVW$7r=Ot@sdSL{0y_7f2UO*ITwBn^4R{@8bqpF0z;E>9>_fCDR!fQ?5HL$R zFF<-AOdvWy9s5etc=?fG;AFru>b;5hU~cv@wtYQjh`(XeE6*`ps2r_#xi=488Wy|* zK!B(#2pY))$^E6*aVFkklBDpY4$x(IMg(B2UXQ`X0Gok&yuio|@{$N+d1WN!;8|Aw zDvE;Rr&kb>qCpT5l&8E_HxF|&mOwgHa8jlX;=%KXJ0$c_@Cs9J7VCKv9HM_di#gHM zjs&c5=X=l~v{{Z)?gwgsA}u#<9d(bCq@RqdKoXW^#NnNGPvik%X}V;+r322)IN1$1 z=}zcIJbTa|!yfA(dP~&7S5);|6lAp--HSYSPcuoUmBByb8?M^;p{H~tVcCd^ zVeDsAt;z(&A%uX6ZHnYc3~e&(&_qWJJu(XpXFZ0V*pkd8@n+I%1>yvrPQuzwyEbRO z?`1^b_QC1Nh?1KPAuQp-y-U#j`F8J=onoNHX|v16o+Yw%RBzc{Iy=UST0gMEh5>nz zMuiOkF`rP|`A-GufT|fbhE4~DFU`&2{ve`e*I2YA80)#B`Gq7EU`&+La%4s_@{+*B z6l{0HR@DyOfa2H?uP-2ZJe&|Cvg4=9JpfalT%zc&mkn>*ZF4LUcbNde9^gm@Cn{(*-ObX0}TYiG+uD7>Lo~ z@=#fB&|wiopG0`Pitvr92`EayyhsX%)Chi^ zS)g9aHuD;;A6}`D959nW0VA>yv?gBmUxvVUz;*xt**`BSZ}B*Q=$PV#g~;TefRrU1 zh$;}^Gi<@gkW65)Bf~K;F9ib){EkGgC*VJ<9G;L!=4`PKM%n>^{{8Vi!>m7^hra-X zP!s$?X=0-3b)CQ{42Tc;9HfZMj4*usdm#!~%-8r3P9khVw}%E>$0vw5!F5&l3#K0- zx}nhSIiM|{!>Q!Q+DO)`nb&88!iTCZ&rivG*2eY!=k86~)kc%(&pn@__Im!U2??}B z^E^v{b`qcofzUjB`VQ{3owmzPXH{4Cq8IsOCQj$o#g};Bh&bnWQlQ0q1gspJOuxe? zgW5kBt49s{SR>J0JFV{4&u&>UqAGD5k@+0X95v?_B-5bHedF%%yU~uoPW1|4ljDjG z=$QH7!iOgu?wX_Zs<4gD4?rgDc=8?Ss$OAqb;+~i-CYV*YAi5}{=xP8LpbGLb?%J3gd>fOgyLa;!lGeK} zSRs^(eD=CnZR*b3@1qiHo(K87^R`6U8_4}o7-HwX#)HUrXYPO%ZT=cW@(RSwMkO-Y zWSD3YX5na3AUrOpU4xS+cXMgw+cof?&XX)cqGw3;vA54gP1l?cya6M+h+r1UwkS}~ zyYbAM!fk2ou3)?FM!Hv77MaIzHR8Ij-AxyJdu9K;k9CR;kw+jRmU+FKQail95vN6j z@toD%d-|FKV_-QQ1y^oCNV50D3f>mWlpwa8@ydk4TGT_n?P?AhFLFMdzS%+UP`({%*gY*u9+wB7|xMUka80`*__8U!q^Z5>YhZQvXBG1{i*jP#vi$ z0#Fa6q`3OQKDTjlZzM_E5#gf+$j+C%(U{`i&u^o2Kn`pW;oeFC~Aveo#R z?q1uZ79U~LT@;X(sB?9FB7!&?Epn@Fj${`XTiaLR4A^1hO8Fp#cRJTBZueIgSdIKt z)q@7o=-8UC*`u=L$g_mr?rZJR6XnA_#aXP$jNA`^mR64%2_aC+;+$S<@*tDjGiPb1 zfPRRU^~c#g6LYXZ*5!KXxV=82T+d+Ubuefgy_cVS%pCwwYGFUFkU;UpaHyVyE* z4!>~Weme1qg*vJpI!{lV#_a`SNV-zL-=UGV{7bnr4Hmf_RABm2#m7&lf0JlpZc&xni%yRm9i^-~~*=k-*msxJ28)+E~5S*Q3tXEaadf0u6IG z9mJ}B;nvqkCq`+9^_1MF(mqS0D24(QAP-Z#^x8sKqiY3;b3yaGNwp0oHR&iUCR>_u zU7xBuf6UIn+w&nNtR8D#YMlOJTl%CcQ0MRkJcH_5zL#Qj^68F*FZL) z3U0PcQ%%_QB@BE5#VINf9CSe!4j%|v;xbrGyT%o9l_GB?i)sUY-_qABBngX+c}oy| z1-eL+C+wyI(Vwr>h)BsnchswFI38Hd;nSKxi6>I<)Yaxq!$g=AQoaEwY~&=04>1qe z12#yieViQuqkk9SKJivivJe|dz=dLkV}1HM!pmZ~O~*%;C#oTOFo*c`s*)!Ry5CtD zvB%y4{Z*ELg%`fa;y|~(`RPNQ!B~X%f-}%>VCbF5DSrr_JdGSSsWd=lvp z53 zNfvMJ0tCNgw!8}zcFoXpmo~+H5VItv=y-ZGbMYKvp?Vq$4CqSXXoWqpcc+0oPHLMf z^K@3NAsMN$-8Y-uM-Pr>(8qL+ymhKobHK#Y5mHPGT7TMyF)U;XhL$uA#JciOJT4sx z*`#>_chm8KJ*a%WI}rEi?znD~;nk$`r(?UGvEIOT2(Q&U#M~C?V7lHKKlL1O*g2T$y!ZKS4-+nLnnc~YG-9YePpGoD1AK?gO_ z{ApsZQZrh1vK+vWWD^|GsYy^CVQAF!LwWQS`jUDkhP$s~5v20|@?{Rnb~Z?7!C68U zN3B;Zc3T%mc4MGq{W;yE&J!H2f*qFSY#sbMdby0`KU3#)JF-e4$tb*#n+15fqZ;h_ z#X=xG=$LPAihK9IJ|NH7*n{j2>Z+IF#l;W3?xGJV zI(x`~rj3aU)HN6V_TJo(~tm05xr9J>&p6qJHlDxtCZs6e$Z1lQ4(#Cs&)KRX$Y zeaF24fBCPla$Z<+8Oo7xKDzhYulA1L>d!PuG_Wl3A1!4CX|V3re52`SV-K_1oI@5u+|ZF|S<$nAxB2!#APa z_vTL+GQCGT^%p9{`zVl&p9bBKE_{JlAmP`WL!Ft=Sve!s9b@KEl{6b7GO9D}X}mxu z(EAtwhwx{r4%O$9HXEjP62IXv0%%+Fs<53CAS?zMAok1F@jKWnZ>OL?fHJvN(P8U z#icli%oCEU3Eb?@DuL>NdT4fe>W-^5vmI|Ao~`GL7vO}hTj8%k_vW8CHhy&kLQbC` z@=csO7bjXkbB4yuh7H6)F{FUV(A#g0Kv?o|5rN|ro<2^;9_zhsc>WNrG(#=t4r`ZEK^$G3slOH+V}epDu+5gr%@u2)xrk z;Sq>Le{N6kJ>8hz0Y{9X@&f4YhyjC}eYHFrWjm9FY+4)(g%l}oK{!;+?JAWLi;qL;-4gaSAa_`I1@q3^64|RJ3R*lcV zqc4T~pVjUCFY7iysy}M*x5E9$y6pv%@}^(BoqO}_gFj?}i1Z2!64?ga`z1ucNHGc#;ncR# z$O9oBCBu{S=TY@8rf5K)$6Lf!jYhM%6e7C*FtjFyh3)wvG(Cl zGk;Kpw_b8_46kW%+LLBY(QN)!09>J6nS8c8T-5`2fW% z|2!EcI_L$&1i;rv!Df|iBA?&Bc31OS)we5ZH&(Y{k8c zNJHa=tNVz2w;s&$I8{U+M#VPhF*!1JJ(u-F`x*^lpE%aQ`Fc-Pbw} zE#F_g%ts-YC&S2*C*iZ`EaP=eXmx#|TNdx0zpvv5_n6kz#-GfwQt!J*j&QmE46fNR zI1NI5C-CCrJh@scgH8^%d*5xIH!m&f^CP&OJM41qlUI;=FNNLdg%*+ByxBf3L#YP5 zT2NqEtY;>pab6$DE$lm#wm#GowF}0+9oA96NWijogu_S|S-NC<2yZYCCsI6G*Pf~& zR!yWpqr>tUYXckLi3Uy9qD~HY?Z~ep@$M<|Ws9u}VkshCJ#9Kxka^i})A_d2PkCp< zIBsSa0!~v@+q?jKTuq@iTJ>2wXwDeATh4;2e)5YoPaT!;gPH#zFu(G|J1 zKV<2ZNqL|=8?STu#G2iUjX-SXQ|8mXsj-YlSumvQJ#4%dnzjKVlAhQP+!m9pQ=HG6-M+HuA z(~|pab^8> zMZ3p#ZfH3=4{_O_E2Wad5%dfySfjRfyvad)G7+~M3t=uKP>zo|uK9q8y!+!b>_G@^ z^xp2-Gi}*EM_#7fG~v$BX&)V>1%v|TGO+)Au~p*e_C{Bw$7@J$xtpu06j}B9>Kh;g znH){?js^4#My7XSTY9jq+|w);gp%=!rkvSw{JrAy1X8qj{hfY@?4~uIL1-c%+qo27 zkr+?B3St%Ak3|i+GQs5vCMIzkaH0Ru(<%5-r1BH{>a7T5f5v-$q*DJ}^3^##m`HQD zUVx!rD0Q3n-fLZiNCLac=k#jxHN5i6_zLdstZp{3a3!8sYks5=kJ*!7dMqVy)3^gvPlf2+;djq#_enk`ryz;K{0$>a@zb)p89dERktSYvDNu0hT zIOhqGWbGwO17d%x0&mJs&6r-B%A>lgirTX7FB@=hm-&@l>;_+(X-KZl+`Gxms; zuFf!JAG*`7q!s&GqU7i}BDr$6*SQYXeR)xKq-=u>>b9`=>!uKRI}OfPbl%C^%MMkT zQ9^1w^qV_JVHejecNm)BJI#xC%@Nj|(C_G8O8^DpzMMEH>I4a-9EvVi@CYu)6g?KC zVa*dl9<`ppvuLN>7XA4mw0u0&{gV%{M@Y&sjImj-;!KDnrT?zvAJP=GC|?3b>c`^- zsnl`x-6rQ--G+boW9jza@{;l!3SYUB7YVL1ukJMcyb%3R=DEKp;ct287kNo-aG3aj zYv+f*%gI^j}*l&)XFu}k>cuS+fkaC{Bub~Rp5)7D=G%j8{;MbXPb_sz-rLaxDtY&WvxTn9leBC}Q)KV1s_VU~y8dzP zEV5ZM&}@08B`Ll&5GzQXCPJGUL^MzLMNhiRxlETX>^1w+nwJoL zIV~N~MhVO!Rf&wGYWC+gi7|0+x8a5Z*g2K5;D+vYE)Ane@1g6+Owp3XEo>8c62 z6E3o=_owsqGM|=;_V7i1fkIn@`#W<%yY0iL%}3@RM^}fW&m17k#^ZRU%EdobtaW?u znxvf}jU$DXw?XBaHk^z?JK*Z|gpiu~!pH5dBo7p2{K9Xtk)5p|W=`;oY$@3GH;98p zpEGd(L8mlwK2a&4i~6Y${;m#w+Gdo|`ltO9iiLCvY-y7hTja7+9%+F1O_B)Os{w?_CFriSfzg91z8A!%Ka0)o z`~v!aic8kc&Dbt7%Q0C2gviCvidYWBwrrXcCaEXvS*O&vgFhqHg!2Or;sf8|JwHY` zj!o!U00ky^sfw|W_MWu_ppKKeuyC~fd7LefK(4UXA2-<407}RvECd*OhMq)a@iHKJ zc7MbYV~d$3&txV=`pW}H-k!TBsRB-QNG~JqnSm%CUguHPwfKVF^Gz32vK!nmh@ZoR zOJxE`GU}N#_$6OflpKRLA5$$k9QVl{<}MdnBs`qegA(eaR{6szwf2AOH~GH4nYVtb z+k5fM{#W%a753mNSc8X${aoMPf{));mH)QBSpZ5PVd@Dy2^@?v8^JR!Bw~GnUtF572$w%N@#~@RmdU$k&=*&DLC>2|LBE9rH zKDM5)kqdG;tJvgsi;&-xZk_2HTE?wGUT_!OvsGR*=8)5TUxqF%Ht~6kP`#tuXBFeA zf4n3^eCN#e(cYBJRk;{)g#f{qq#N95NxdiRmuUd+$dG}OC!225dK&$3gdsVe^s#Us zq37z3;LQ?~=2LxwK-vRp--zu7ZVt18+n13zo)YFsIkIG?2@&E3jnv}ysW3a{)gK<9 z4|>t-EbVzb8&}4``sv|>5(Fe)IaV{Lkj|1#j$l3V9EbAImd!C%rAyBuS6nb3(9b`w z(jt=tqiU=_R&H;Ql|TZ(n3h zP~Vj5)a4P~fK(6fAIW3&xu@)@QRnLsWWUEOos5oy2xdfSM9 zn#+wCcR|N{+AVuPz6dEDOS7S>W02d~eN>`UJju5ZSerGPKz0#x3)EhkVT0OcVnE2( zBSCJCY7~=4(mQB8_P`2cT5tEEOtMtDi4_<&>wY`b)xflKN!=ma`XWBJDghVI{VikH z7eL(SYr@{?s12D78i`}pN(iUgi72FVU8b@dZK039jgeOPBpSW4t(xuca9OkP_#k?s z%$|vRHeZk??nkEk$Mwx_Z;xX5UWW7S^7f~jo9MpRCky>mkE0~#DR5iq!3|)zbk3?) zN6MGB%y?He=OGts{?7vpE_oWRK9B^v`e9Pyp&H1aU zeZKbFr}(+5y)SJrXnfxv|KU^olp6bUXzV+r;#4&kvATeyqdtWF4hy5OgZPZs9Xbu2 zoZcVGzF4_9e(Z+kT$@IJh-kwAmb?p{27&rzl?5QP9Y3L_ASm|uXJ zd6z;bW*plCJ7r$#*uG;-W#b{bg2;&1$dLqQtI7tP!{mU;`F;i^RJ!&I#G`xiIP|k| zP}7~L22W#$)(&=+u&jv0$6@z)?mTM1wi|kwSh<{)@P3E)e9(xL2!LE;Q1&?lbG|&y z*4mt76fkm&mU9!fy)+VRg83(F60z#8X9r6eVx$!T*w76-6rr1@-XP{mbkBzdsD>X} z{jcJakAba9!k_EeQ2P6W36AXxjy(a+U^kx2?|pz9fa?6c5%4FW3J>DjPoWC8h8X6Y z?^~MER!HVt#*IiKj)^RX9g*PF7*(?mNUoX zOYeC%8*H$P-A~Vg*;X}-oy?xv^TgeUuov8XWy-5d($?6OM>8hvo`xK!4s*<+$kK3Y zFKGBm*QoB@8++KE+LU7V)^WLvFCi;UZbNhUnZaY@Tq3m7f&@aG5&aQ7PNE6zj=D`7 zIGH`d99Y5v+3AEHdB@P;`h0MU=HmC}m7*&Ivn-MJHacZaulR9+yb(s2ab(VNr338=AR^2f3Cl1ms z?@F{5vyC#pMAZ&AvFB2MZYq}Go-gK>-|{euxQ8!*|NY>W zFpNtq*Y=`;Q~NMX_UaeV%^-c+vYr7F4$3RvQa z1Blf7I9^K(n23O2{moJQJ_KPn{EH#VU(Q3GXRp6KiWMQ`0kQSArr2yTy$YqvI^~{#9>rO zk4|tx3QLN+QNNdumd*K_wmPtcw_v4@b<{mAq#-H?9vgHLT$ap;@qmNzMSvMm!PU=m zt~!;5xi0SZ)x&`B-{U_(&*#N0Og2EW57NU30w8!k9;pK!?~XSAnLzOs?8EvXZw7wZ zub@7FF4LfG{4S_wGM|wDafj%R6PH?YA+mA1FAq-3$R{-H;yQsP!4;$U+{dR7l~y0( zdO)q4-S^O*pElGkm-Z=;OUoX>7VL$BtIg>cTulhKtca)|1ney=>}u zM25(IovCwo+rk8(Kg(t^X~yREr@$Y8(GHJ)eGD3J*MEI!#eYSm{l|A!et0j68tdzw zm1luB_;tYib-v6xfNPY0#=XDYw+aLueD1e5!d!(3sF|R<1~`KYtoM9Kz+oE^Rdrdw z#C{hB!@EqN<$Ev0!LCbvnB1;M><3HPSN!1j;-ndff!XJM)bOR?O|5a?KhK{dODVi7 zZzQ371)o~?&QJRyNC)a7uPh+^QXm`I0BQWie1G~r(>lMrR)RC%=_c;;sU#4jJ79G# zpojhH6OO_o^|}EA5(Hzx27vqZTc+?urH};+#R7fuTS^=EPHB7ZZ{+Zey8m98@J@8j zzE9TLeD?G1hI1_COxg=xO9tQAzQ560Pl# zIus zmVtp~DQiXC?^s$l{F9yRY092)fFU-wW0AINLzIECjUsiwS2yZz>5`|$%RIY~2v^Wo zJ-^C9G~Y_m!y3ZhEl-jlP1#B6aV#+Z_>4w>$gRxTqDL4?*Q^G!^UU?Sj-Pd>(F$)qxQ8RWb#MmGz{3wfS;l5Mn0#jhOH*U|(>su+9GP_*;ab@s#4{*$2O4Y-cq;zwYI zXxrDp3aAD?GvG_{AQB{}ulwWC32wW<6-*KtnbTpwlOp#{n0Zow3k#`tH&HlTG)#uU z?8eC>Iroj?+A3Nyp_Li}jP@KOBb5z;bO8;#Am-T-pvF%pl{2SP*h`PdvPPctR7F6O zDqTTMRlb;++tdXC8n51&P7tP?k7}5Cx{hl}8&^mABBSv4bH0N3GQFMLbc({YYZJtk z8MPA8oSYH$Ru-@tk;TQ{Y~^$HsNnK0`lze2gu*Dx+*#0Fpdf)o*Y-qs=S)qstAW>) z1%Weec1m>G7@^o}jOj=%H6!+@pm@7kkiah1%-m%yQ2UYd6aM(g;|wW}4?Rn^#nzqA zhh5`J+q?WV7V0CT@)y9xH&^ysE&Y%}{j!w0jU{%E@=EK+QMGTC$4hQma{TcD!`^Sf zw42XaQy_lwHX)*%`O$%mcCyX(2ok}pgLgFmeR`_r};s(CbP-0jvTlJ5~>aA3KA^Wx7qNhF1t1-*9+CjG{IMS&hTvzSZ9CM zEU*<&)J}fBmSb(Lw<9|C_Udp=c!tc_Bt;0EI;NVSRNBDr*Imkw&$xr;@nX`5X~B;U zvQ-p6H!J5jWBkq9zE;viB`#P~pkbr9Xma%hFyQALE3$Pt&FMWl7q>3*^b@wO5_P7R zU_YyCJ5A`bvkZ#gL6BW=clUDpho0_(*jV(-zc|>756`c8OP};c;&-jxm+R}F2Cn?| zT`;R}*_6LgIkDHD3g(;RSQ*?W;Tt%Pmra0$kcEn6-+Cspdi$MvxVZ8@L@W8CEBt)R z`@(O0M=C-EV*2D14sU+;*Mj*`Y2h-ud_mJv06Tm08-Xo;Siv9g&cgfowdwRzAG-0X z!~B!B3c5I$w~3$2d;phIZ?9AWS|JD94{)yzT%dpd1ySpKx%$ks-+;l2f_vnc9C1jI z0z>r4{kW8V=t|%B%b)cBztRwWl@M(X<{`8~Z4O$Cp2G(>i@4X8FFrc6`iyGF(d>u{ z+|`k?)F<%darsJ;)P(^$2mzd~ybq*yO)BL2LXZvOZwXU7?56ZQ3vd?QSNxP2C#r~^ z05j+tTt7i{{lS^8$31?~ zLPh{vs_5ZTw(;wA4f;dRJvv;>?oMv94cuiV;HJowOr87{(P`qgEi{nAR?z&zCrL^3u0c%!XGPFSF!wDitY{h7#SJke-iHXZ`pUlZg zMsaN;SiP0yXBuW;Mu18^?s-!@na<>4d$EW86bI(vwEO*F@z99P=~}T-zTY^CyydA& zXW4?b<5&AP9q+G;>Q95k&376i!)i>S)hn^P-2Al5bPlKsAfmeLs;cAkMm-U&=Dm)$ zTfGNb+Dp9D>dcp|w@S#f*MxF2py&H@-<{BUft-5XBle4l%JTlOJlRCVRybpb$RE^X z&WW3Sy43e9m3+jyBjb$Z>97X7l4Vt3W1j9CGVKudv=(x>lU}>!z z=fwpN?i`cp6~m%!YCeu({6u$3OFe=Vh1^Q6$$Y)22FN3RxMS>LkV4ID9%Fb?CLkHO z7t|}CE*sqS*X~Th)cIO!^?Is>I@PX>igbsz#>l_b5MBBhrc)oDtlP8yzEJ*cga1(~ z|5PZ&k1n77cC%E%sdg(&7qtC%hh~cK2a|GGvaR%1P=ba5~<=EF00=UQhbzS`w zB0)!gha5V9C=Ny^`mp=ej9s` zeKhXhR$;GwBD}oEUAKVKU>v7FGsnOmQouc^o9UiyxlXy%EXXgDqdWu$lyvc0o(dj^ zpUXnywe$L?8krRhR`g<2m30)9l*wz?E#*E7NGP=E&6=`|fTxGk zRfBkx+?cf?&BRw?wWRu56g1;tf(Xe^MK)jA^`b1q>fHbl;qoVOHKw8LL4BRT@-M^F z4Wv;Op*xl??5jYwjh|m_($2neq-CQ3l(oSn`&#YNECx2jN0CtA%Ho0k%M=(#cswX@LdOrz`?Y-=+%gKcSgqc9t zI)r85DWstG=2jeOLwfEDe7!j-K3^pM)P&$-GGq3Q4`cfxf=t`3ddw!!PlOW|P%S1R zyCS7}MBl;?CWZ4JOiu?>JOJSM;03a9GW7OwlOT#mho#msz%^E&HYI>nxP=SI=fDp( zT81@2f+c-d+S)vYV9`1BhQ>S~825-jv2Q0Uz%GN`!SUD zr{nD}gZDwdks8PWxrY}38tG`AuZ4XHBB6K?Vy5x;y>DJ2{`BhiY$+?5Pc`@z+exK9 z+h|u@t~)l<1vZRK5#@E(JL6)py`22)># zM`9x7*JFLjFJSUrki+(|B0FRNzTyQYZ$MRrZpN)9ZQf|4%Ej7}jR7RJ8um-!9Nj%0iwH?Q*yD*K-#J$mUd~DGnDlUy<(E zohe^a#c?j=Txm}Zm@T&6u?NBx0h{uo4;}B*OU9~Ij!iJ^S0034r5KeaT?1QrZnIsM z(+S%`m*CTAv6O^-jt7BQECET799Pcr{jnWwrnz!4EpxVaf*6bh0*m^t-){+&hJzl2 zY;tvy>kZME`}v}8uc{(QTj*Oj)pzu`L+>-OLJp+S9q=c4Mj@}uNgD2NX=xgL8Uje+3!s_i(?GLO0dqt$r23@x8L!fS};dW5SGJ2rvt-_K%h`3c% zccFfNQWeS={WhtrQAX~LCpqBuerzlkZJvXbVp24+AZolmX*8bWjNZXrPF2BI-?{1% zkT+p=?zBSgLef8TG$XY*jRhGXBSAzxM)H}UCn}Q9bH&GW!T;FGVuwWFR=w`Eo z>p*$=KHI|(F%`c7qy9od4@1l!e>Z+Q`!{bDGRRmK^No;MvkAr%aQMIFEI+(9K`fqb z9PS@a!NNJ=-}kfZA3o5x??s*n8A_XPUoA9x%gOy$#~2~^L{sq z+CUmp1Tc??21w)lCyM1SyUR_>8ifIc@M8;BhZj+4f(_UB4M>yq;FkI9Tms--XfY5ZfZ-%( zc95L(xE7~pn$@6)>-!2&8v)&7e(!Zh5Xscf)CzH&ZgusRrki+b6YvN7egpH1Q#b6Z zJFM|8=5V;NY29t5wR~{ZEwXRhoYridXOk;P(l9844P>H*;ufznMxCB>rfgPMtRYgP z4LVYAYxL5m_BkYt8yz`toke{TG(x>-cd@$^Y3JF1h@09}E0A;~#fSTdBSsBky?_uS z5GCDTD1KaUKQY#=B)6wz_j(-m3qIqz%~A0o)LbsrQ@SS4ESMG>2=7KagM8+$XQO_x z+G>7hWF{iU(m2pE6`5cN+uQ;Ys2ShE#&hZgU{8;R0Lg*|Pe2 zhZ#bA!$9`6+-BGj)7O)e=!bT6y5lvHA;V==Lg8f?uPkpEshP>%s)ngDDPfBV3J}rc zPQE6Lze|oTa|pP7`v73-?n+XujMIShjSVY`C!2~PJBrER{H>9+D=ycH=~i4Ccb?Ev zhYP>mdz-jH$6Zd*ZKi5Perc~G-G$2it_yp#Z?&giFZDf2ciJV|oj8I50wU4Vc_LJj z*gF*rTk{ERs^+YpuNxjB7|~1Hs0zDG)CJu?Z>_T^+KdbYuXvoUu&r~hmB|{am_Z_; z8#Fwm;T@GTHOmOkIMEg?*U{z3Z(ssVk4(#yBV8>Rm_zrT63`UM_mBA69W9+D%Ar4X zMzcFK%}Qb?_!(mWK~P7$br8bf5U~|) zj}VOMh!DnLge0WP-r%i14p-gd*;um9T5^l+t*PyR*c zayB=unjORD@V7G4AJ1v>|0n14@?($w<2hYsxb-2X|L&areC_}3a~e3>|J6CIonr14 z90Lnb{}tf9N?>0b>&T`?$43F#LU=+w`&1Pys6Nc?bf~~S!3NV zy4i1q8=$2{A-r_yYQTND7BT%~vB1f#CkQl#P12?I-NM~aEgA+RKI^9gLP7Um3^wfM zMqrT@U}3q2U0M664vf+D29iXp_Lp`%>mAdtPoB?28N>;m4{_H>b;~!q^l=??5mY~r zT&eX}v2G@Fo=?x14#f>{(H zJGayKz9Vml`9k5$1dPTJf1<`P1^bhh!_C=fYZ~@R%|b)E4#6dv9|W1?>pmf&@@`K8 ziCm7OcDDmX_jqG!?G|p(IDHfz+}o51ODv_-nY$+y5*312oTEfaau)F9XZpobX)N2F zW1)bc27?mB@V;WYk|(#bXov}PZ(bXX_F;2+K^fWm<3!GFvA!tSvZ(7y7Da?) zhA@ajv;?aBu+!u4a*vseDAo{hst-R+ZWs|k@V z8dj(uplP2uYHDYK9N_LXI*|}EZsmXoishx^MK0xX2f+)ui!I6{Wyq-OqxGpB ztJCo{__w<;Nt1m#cliOVXZuZLxf)K1{vpn?LZUAx%!7lSV@+!wF_Mfu5p8=FIFRxE z!qL+Ok0JY6IS7zyH6L=%)#nQhlI)G<0TQw=h5a*x)e1daAEtJ@vk;4#ZsnRY z^5H1q_1;27qk{;5OJ@WN5Pg=o4 z%KIG>Ib=B+jYkxKB3Z{FOVbZu43C9t7FYUVk1(}FSNg~gI|$S>HR+Zzsx>z}Z}Yd! z%~}CYjT=%=b6Q%m$G+`%0FyoqIW&&gC5ZF7!Tb_adYDgSz>}IyobZ<***%&D;*@-O zVB2{eXS3LFFH|0)%io^U{{QiT0}7kVe|-jTyqA?tDiI z0gU!j59@*^R9g?P&-rz2Y?R7@B&2UUN|*(?pfqCvmIkJU?^4|q;o6^}Xv*tnHW+*8 z0B`rh?+rdhq|ng5NAJ-|`EK247_#W}fH3Hy5LSo_`!!(W>sY?~XpVW~s~`mAt)Ovz zx8xS&+kGlRKn?PKt%N0jA5ce#IsVhP_w~DjP3p%A_W#kh_aTvm?+%oE|NXc3vw{TV zSzy-!S>!tx=aXA6yt(yn1qpMF?CD&nqpIz)8?53}*gvY~aoeM-xfgWc8x%@d(XfDZ zuD-Kq8>YAIi|u;-weVS>6X#D606F8N6?1rCB4q-BlVy?1iJwqcUwr#0wSI@0<9Nta zJhNPR58+0jc%#n2#su}22cHdCBgQe{qF6eLXpA*9pY$bf zNd?rsg(|iwkyI1W96Aov?b}G)6gC#6@-40!7;7{%v&pXRNx1AJ8jd5fT^YS|f>e zyE!aUFrqta`NcW+RY4M#BedfiX0MY3Nmi%-<(8&esYs`{BU~Q z8#QJwcuvOH^QrEs%L|+-GMTv%kBSj4d7?)>Mipd3OAx;*hUU5)>=)EZw4^YTr%rr% ztG^i_BZKMMg&A)B5M=1c#^iJ)F*3Dm=P$R(Q;~n&hSJftlYx4kt9d-*} zh{MyIx11sJW0!A$^)0&-gl48EpMhOS=EI3|Y#_6K@7TAb1+2cJ0LgPT_N)=J%&oAaSXyo6VRCqLe-W_+tokpTe~C_T{DXpo|3AJPc>b4esd^7O$#()0@vr|y*q!mN z$n&>~%yVaZ{aOC}ULF_%_Mm!r+g^rmX@!2Eq}H_AT_&kk>e|bz>d)jo@Nra41qgc-0jI{{)N_oasvzHs~!l zm7P|St0w?ZHfvM2g2ZfsQ3V_0bEzx^20Q)NlQxTaY?G}*d4=;z^MP}_E zJ=^l+5)#!ppM8mv<$=~T;F;IStx)%3%ZD@LE}mUqns-9xSxsj^Md;GF(V~O4geQY% zEO58rvKhX#T{N#OCp%3GW29YhSc<5dAxNweo3Jup&SL~Ptk*w`*jFu$2a75K1ghP- zc_H~TXogTmSjp~-`?P<>;72^rLIHAO_l4%LYLv}=c4>}ez3V&Jo=0Z~qlScmtv&k6zgdeHSqf2pCy0quTR5x2&`envD zfG=6>a|f5QimU^BS^@U-p_XZI@J4hZx%q{!N1bpXlqM{%Ky?Px9(C7GpQ|c}sUB#3VMw5<3=xN8pVtCv zh)&K30hFCiIQ>;tanMqwm-pmAWXg}vC%y-{ikY8QHGO|RHx@AOFOOf!CO#n*GIAnT zULk1@@WUdV$-E`9>I?Q6A#jJ;R@Yw!Y{~*deQXGsHVqwU8#m~^FX?(QyA0UvfC}f3 z_8{WWuOd&3Kzrh_d)l@p-_%=d7UeTaD@WozvydSt)!T~93r1}u8jw5gd}!t|Cb~}b z+ywv`gBrFKRqD@u4+ApL<^yNBBp{%U!sjyzpp0s_Gf-};tz6KUj=w#tLI@F=IEyYu zDqZr9-l{&Uf$f}AO$gDT*Q#H4k{bjP385^fT?`cCX}j!g<@kuF`oV*6_91aY+MVy! z_LXl=lw?IOMa|d5EZ#i75n^&hK7gZu$xsNgmwP{dkY}~dCmdbyWm1422*(u6L- zonH}quSV&paePC(fv=cPdQKilCPDno?s%TF?J8Y-PxkY)X}1Gx@#muxZwnLOlKY&D zFb^|zqHhY>;T5CyJYUNzCIRui5sTCjQcm%6v2RQzE>~0pxk9WX)m$G#PDczW# zxE?zGJ*@W;S>wb_?Tw^1I4+Yh{gp{(!5Qwn zPmSy!of@VU6!*ChmO9cq@E2d|7i0FfST<+CPHx{D)+_&+Yy=)k1(H@dmi#<+-ls+g zr-lcohFmL>0DrOhlj$N!1kUDu+(0nE0$wT%KrFzq{#tvTA%R(@j+vJI*C(Jd%Fh|| z`w;lDABNWsK+S`H$Ak*BUx(%6gb2^?Uw|XzK*1h`aXI`8)#`o3e6+%y1E-4XGXU39 zL1^|4KNsH#1=aPzeCT1{H0}=i==ZKDb2XOB@9a;xNk2U;VJ->Bd^`J25N8Z<@)UwS z^38=bQv-+pbGTnl1k6fcTnT5}@IG>WRXN`MBqTmyyHg+Animw-J{C^k9o*T-##f6ps^4jS2||&5^=eyYzxS)-*nuigR36lI-!(?EvqAG?Cs+{}_h_U@$$;=KLGmy1 zJ~Ktm8>H)LO;1F10xfVq5L&b-_uhd{HvZycmncP+s+S z&v<^_Bn+~XC_(MfmMR&g6A#|5rZE{ zn6*UTW8yWy#0&8HD_YoGe;R|~-Y4;WYjYfM6M{g&V?Ta<1OLJ2z(!QQh|xim&R=FY zI4E%Htj6bx=I7U@;HNQEfB^#b2M+%ol085}et{qL>ko|n8ggCVuUAj_@DG<|J4^oI z^yPT-g?GaPK`{VYh5z7-iwAgA|3N$;SJZpwz+GeUVTLIM z7SE%);q>4v3BmZyi&ZJvaE!)<0enr%2 zuL**HMUY&{k*o$HIfw|7{Q5WC+1Y2G?8d!u+iUGbWyNxPTe_esJ>vl-B zrKh*Y;V!oLc%c!Nwz=q5TSHEYArrH4ThF@`6lDgZt4B0z0uv*hAWpdCZn-%|J>CpR zj0I5=Mk}CR3y~TtE?!X__y-dA68yH3)|*R>i;=gNn|-D;-(wc0D>56@S!hv{^`!~5 zyRg5r_PIS%HxBw=z<&Uih`xKyaH#2>r-$T>?h4kj$=0;mJ#SmpU|1664cSg=&iK@j zj*dM1OYXh*_S@8n5Ew{yj2yUow;u7md}Jd?Zhmoz>36&v zHsewhFnBo#mZC9oJXuA9pQ%;PiD9ZriZ}eEnE?wIBr*&?ld>jOU1{g;HNuZ#2eH<2f%&%9z+(nl-$j9f=#tB5ZwZ zEV;PZIIpy52uH_vZJ&#zh=!7A25;Hblr2S<1Fv2)!+v!a%`okI`Kl}j@2K@Dv@{kx z9v0*=A!4!14*V?>0+X)UzOg7phY^9qdf=!@SbYL*&+zn49x?BQaG?XpS?a>&(EW*V z6!|aO*3-|e^BuG|MjbiOr|a>q<#_%axBB4sr^AF;(;pCO-{5($tDFFe*YRECno8c% zQODgViRi&FE${FA*azkAxx;7}nZxA06*Xi$Sq=m?LZFjNbeG_K7}mQ=9yIAz_U~X| z@hvox&|6_?hA>!Sk9K;M(aUtV@>>@^GwA_6p0T9&t_Lm(TNWX=;Uh9WfUy^}Jv4VL zRHsBAuZZ4I9Sk3nwzFSY>ljC^=leQo-f1y`FbGcGB;YuzWXB&dTD>Ew4Ia=KSb*bD zEUrkSM^Snm&rC$yrFVI#$GtJv)H#MYFX!?YbK&`Bjy~tp3wJ9S3wFnq_xF~u(msRW z^^VKHG}>Cq+Do8&@2c^$s&fh#}|dvXG|B6C2@{@bY*^vIaO{+mWf| zgoU8wty+*)mW7dE3^8S!7HMSsm0i&L)2~(94VNqojt3j|@>66b&hb!{jTA zL@~7?rIO>VrvfJy3`eF>A@Z$o4L+o|{nn%Y%fQT+KnX_z-(R`A0ylU?7U3J%u7sei z5g>Y~97dKtnmhy)XZS%nu026XOJItOf8`QeO_lesj zY}FCR{uDs-g4oG~@!B+_p?v0C0h<9tqv9AFFyC1&nir-8LrRk%M8*4R6_chMQ|*YV zd_c+U&1g3W$C;SrLar}i0L1I5V$S|O13j1-l@QaibiG{G9zvth2pW?y+7VmAjS!b^ zHcpZCy?(p=tz+VJ@@!U#@ZW@v|Fl2L7#!eWl=Xc8qXfVJ?Q4D48=xcpJ)!Fhd(f(W zbJl|1U$w3}?=>n1L0XUH7iX>IU=3$sy02N-eEPZ%1FggU_So+j1CX}&4G98%Flcr_ zo6m&+nGLqH8QZ=gL4G`@3Cbb>l;Zp8@N^ZSvWgt*+Qg7*12XC_#kg>qXBh#x{@2Td zQK82EP-6;TF8!Ac9g>LucFRS6AIW=4o-tT^uFqgt(ID!3EI9H}^CnC<@U-;8WcFsB z?6aA*Bbkk!n~K5G>$dowm|R1u_7TcsY3}Wq5rljnm|XQbaB*<52%Iwgb#8!gDR8%k zGiT|j1E+|A-iM0n&prRRICkhiq<#4??-hpF(t3Q{E*F-jG_%myLO-4zjfY4w&=R=! zP7>DTWMP%pF@l@cLBW;Hs`qRoo5PkL0uy3}j2=5byp%`ccnK1aG~OZN6HuPvCsyu! zmbwRZr`VcoFy}eZG07`KF(@oEpGC*ZP+(`|ecPoXd-2I~0N=`NT_eb3-?2=;Bk#0! zvfiWhw6PI-e$|snIR0?iVPFY8dYXE(x1DVp0(ji+sBuzcc3{LIe%$7mWF$jipS*!%RVi^!u-M@DN)<)jmva9 z=;96%jl!1LDBRSHmheHda_OB5?Et^ zleb=yjE+}0!-6~_=<9fdT>_#d_RK*=jv#g>@P@ut4Ur*i{zDhJeeL=}sIbDtA2+BU!U`dlzXb~`oc{q-gW}@H z=QS&*&wnd&6ttxw2iUSWoRzIluJ6i9^(P>>U?mIkeSx$iT|Zy>&(~YdVPF0oj&7_3 zp(l`{`uU#uwo-N59#YEQMLu)69t!pQ2lc^Sa8MPZoeNJ_4jnLZ)_AO zan;+x_P{Z`>YW1{-r>|j(Bk}v#*?Y1y&fj%xxx1M{s5sP4rwf1XEA-+^E4(P_OV6x z^tIpj?`U|o5e`8znrh0i@nEa$E7T(95^;vcyh3WX7a1Lp87}tiQX9D z&vwy~5dIdOt9}iSpa8q{?csV9?#(-jAHrbiAIzlyXP8Z)uce*wXbUYD2k@qF#eDDOz0Rj(XWh$jU-$&_I+^L2s@#3)%QO(=Yyo%@e1sNi52%=% z0rW-#ue1h#*p}7KxlmwFJfRq-gZOfp%ip<=w+B+NFNXqAsIBiEM-#%+)d#T4bnTou z-RvI47QtEXQk+br7ZkHGn0)BgfJ`sJi+A^&t3 zBM>_K6^mD~d$0t}kS7by9{uMMc+o*Jq`Oe&io!3AG8=9eWfp$m$L8h=^>APTfgXCo zKjlciTn_)niGjy~{t^FZL*aG+&&_SXl!dMM`re5G&7bhMb@4A{F(i?`6^h)1r53}!0?S!A<3eS>q??NMya-_0b3h9qLTF5}p0HGVDWRML9VH?*XvP@N4yWPJ!7101ei+HI);{tH5z>+I41PwmKmN;AVBS; zy_66@^TzxhRvmd$AggN_U)&o_Afqs#CFyw!Hc5^z;1-5s+~|U@(U)-{yNSs{9EF62 zgGqJ*@Vx4l$&IAWkJ^7^b1#aexHaviSbF;!0dE8sZp)lPP++_4ZQI0sDC7+gvc1rX8@!kyK&h=JCx+HsRDTmokZteptIxSI8w$UhMb; z0*3SgRVcq@6XzI|j`o$mbVyxk>3qo?=+!Ilyxjq5K};a%x0_Jr4KWHn!&wz3&bROm z_|Tj144q1Qq7&V|f|5QjyLKyTWmTSP3dSWkS+6@y+HiP}^?8wt192g#{Lm`~_nt*% zR9X^1CYgJ=@sKS2r7T{dDF6cQuiYhv`&|UtUog%8palM+kOIR_usK{hp}q{RxiPIz zA!$KmFO?%VQR?L5phIw z$w@DBI?G_v1C4fNb3Zbo9df(-KA+Z0;1iG}>>hT}VR_hTE;c#Rn83bP7!bb7qouOI ztG6o^%!)S)l93KpT=GCX>#TBk`t2U%1+H|e*a_N#x?R=zcz>72eM}j9bpYrSd(6)a zoC)m#JA{+(Q=1Kq4cM47X{6EJEeD_*b)8761!iTovcR%Y?5usw(Jq?qeOW5Bz+5L@ zcoHpAf;X&tU50!qvv_zVs>E(LZF@nbw}Jfhklj%@qS30tXf<8<&dc4~?ix#PKiX8z zeD>!|mnc>`?+z8a|US=M=;>-v% zAdt3Lk}bQ8d&Ps?&--gy(2+p4XGo2fwz))NgSg?!dc@^!x+)BDP2oWX7e{|I#(mg5 z+ZFs|7N=o1nTCr@1J z1QPAq)9wAdY*F~5y!{5>`O=31Y{pgNK!F2$Dgxfx%SV$7`8>cBhGHBhFTV+VA;_Qs z9FWu$*ZmQWt7`FmTl;Kva18yX)xCi(Kp?-sF+csMuUcK@%Yz?a=9kARmeB0qp=YlV zusT8y5JIiDhOUr(JEFo(Jo}$a%b&06$5s#9|6coMm;I&9_Du`$i(6JZqX@NTGfY{w z*onNXCq&PV?Z7173K;Nm`7vU>q=lP2(42I%fGT`u z5km4H;I-ESMv{*X*PKb|VQ-YG9Imt2b301B$&PW0U=%7wv_MERWJ`|pVUYJcOkLn* zpy5RyF4Y6C5e~nRo?k;s3+6(%+9XHFm3X?QG^BUEG663XA0<{krlf7LLV#By@lfam z1*T>JVc_)BJ?T=asZ|RW(I8=%W+~ihZOY}=-)}EjZbmn`#3xMN*F0?u5V|R7rg?fX zxHd8{?xp?tU<3v$z6u9waGm7o8{sZ8^0>V4ayo~xGNFg$xYFZ=>hG9CXKN^(>o$e( z7H46>@~`j2?l#gs${w*64oN;8_?3)n1uj;o>ObBDB4XLqHD#v^YSeZ2;Zu_DMnOBM zNb;m6tFi(#+$-TWZoKKA8Ta9}i6%ROeAmsCR?}YUMDtj|@|}u2{HnYv+Vp}Yo!R1i zI03$74;TllKA0e3n3A#Ej|-&HL=glI@dt;`;nvLyN43GyzfDKXyHJ1#&Qlu6ui>6k zlJxEda^uYO>#PO(-P>f^zWMiEOch*nCk87!pxX#0X@fXjT6{XdnC$gx1gF8Z-XGmr zDEJ!$WS(iESKi@h?c%G>@M*&M@|7!9JQVBqeS%`ho+XuQhkZbwEeK0F_4!$O)4B|~ zUlE@5k2~+_A9*sESEb6_SYT=Xxn1^4Ul?E&Fy!ai9K2<}@9@kOUX$zvPMwFRkMMdh zpxyKoL8%M<-(NP~Z*V)-yl4{AmAYZaH<5aI94S2CS`~LI z*Xr|Id(mqv^N~K;DXsq=7p`lc*rx^Iy&+y{a&Gx9eXuRNhCRtc)NjeT-jEb>r!eao7TB=Bu(^i7E`CcAvY3-I4dZsr-L};5xA~4_vL|kwR$QB_vBlvrtd?*W)UX~WaB2bo@whv9dGk1SIfa_H++^$`?ZDX9(me#e`FXP0v!wq z*u73F-FGb~+`s`R-HFrDl^2ljDD}z4JuV)%w@b#hT^rd{O_zSQv|A@%c7oTK6cX+O zi&#tI&ZQGIjpa68aTh-(Rf&Kd`hhSJ&(YeusG*EL5)RJ>W=kZ z;%$F#Ux@FE*Ognr{wtr!q|RN1p=z>)P=R%a?IOIFeLwNSzukC+|Km@015tNuiOdxX8jT!`wzc5^2aZb z>=-)A2<+88xcMQ#x&YoZ4qmAR_I7{^I<(l8fb^@_`s)k7;I#dDVXuQ9m;;FL8?6;C zfcOGy)juybL_yzc4gg`lqT_*RaTGy~i$`Cs=BHluHw@sf?0Q$gQsos zzB3bOWE_eaRaQ~%9HVZr#L^`QI2rNeRrc{=U<+P)ueEuBI}sp3Xb{g*f?J0(ays`( z-8rIlG}z%O0aJ_GsD{3X;Lx|VvN$&OV;d>6StrVeRw6H1!F=)E?Jh5n0b}rT_r@aO z@x;*_5gKK_Ev-?Zu$NI6e!_;CDgc0Gkj-|sC6s%Wpf5Ho`tedPm3V=eJ=rYM=tA%{ zPCojL>6nnbV{30AT&#Qh+q*M7lWkQ>^Q7}d9e5%Oaps`K_oxQ=ZJl+mrqrYNP0mgv z)V~1l2Jf?~`MaV{4=>H2oJ~c7+?z zyCi~Gb3u9XR~{$I`*rtB6kmGBWxGu-HKWpo3?s<^{`VpfGnbK;5qQ$ID>Q8^sm3+y z!;O#L&FcY2B->kV0~J_cUN}Z|B|bOSdiJB$%i<22s#g{~y-)BWR8k1&F=m4_N)Jk+ zDdmc`JvNDv@auNKos2Sj^sFv^2F~r!bt`cXwu-GQ#HM(TJ9;6mDC999gV^6jSXBct zFucSnZ{C=kcDzZPxgs*2J-*M+A(iF4i{``8cw!y>zQ%lebw;l)uECX=h$ug_u2~(B z6sTH5j$$Ddia!0+`(_1xDa92jbCfQCs@k*qyjRnUD3!H}|^TQ$fn zfdwP=Jb6FgmlR7+LuNn(L@g8~eFePlp+nEo$p$`9I!QY7G(vpL1~&|n7SGem+O{!h zBB>N6pd$PxRQ(hR%VjrF?6kWcv|?8oNN|3J(j36pCprV|r_sn4RGb)z9e0g6btsB= zX&Blj);PYf7hLm!vT;JWHVs~&qZ&^eexqsqWHT5IBo$41v0bwBAsh0MpIiTkk~cEB z?t20DS>VD=jE|qo9axnOfh#KP=}#(4pi%@{3tD}u6srw0n`9fID1(2JaYNNR^dcv1)F<;eA*opXv7f^Sj&K3u-1Gy@(OXY=bKjCeCx=+MmUdy zMd$G8fi2i$07FpjBK$(Coxe9(l{xK!pDaVn>IpP)he!Tw4yao0Fe1PiYO9KsFuLa(+;e5NsJN{UAUWbWmNs$$%UQDM`eH0 z1tI`Zj@K#ueu7^ZP<)tFzwA&2XuMd}QKp4S$cc6ngEEE$pVP5}6_8XgfE(RZ_InPn zp!5Gafx=1=l@sd<|L5~R1o;~W@*hR1Kgu5XKmSzu{D12}R{r2X{sik_|GzkpKgw7L zCHZL${5uCSh*Td5h(Ndc9>js^ln}zxF#Ey_*=x!^ovp>YO@2Jz`k7$(+a*FAuAAa; zrz+-LJaZrpCEN|HH*$btfVdf%i~aVep=IZyJc$n%Vi{RwX{;*0yZUqmSbBY&bS!@u z>`p}9Q~J1>*rCA)XE~Ji^*q3YPpdMwktt6t@#5?T!)k21>>Ni@STHU|;JO+7%&`P0~Y4B#Hrw=S=!BS6Ve zb-`Z6$*xBwGuQ7@I0}z3_#MOkf8s#i`3}ec-DdKwWndWHZ_j0?-Q?8|gH zR1aXDiElabW<`KK7No?x#b*!65ZuQiNrPFumyMi(78i!u#CB!rQ55AnBmt0+)Q%86 z-eStz^Q45z@!*+hN)I^K9=rwynft=(Fz8+J%H-8#b5K;NSg{V5YpvT2y*9^V(8QJP z-}aoPBggI`d(5o_)Zl2UuLkl>!WY%>;L}r{d&lIT#;)V0RMX!v#?{la+7@&(V5@ia z!EQ{>xf=o{PV+zT71{Ce`X0LUg$1$4@W1E+|Ks}m3$b1ac=HmLO9r0LKRtPxyl{uv z-Pd92JbM#A+vrmm3qBUkM0+rSiLA|e=ev~QSv$S3+H-3QMN40^xn4Utce8d}uCmrMPHBMl&n zKdfYbgHrGi=!*u)`k*h>+w9+3uft!8be_@Y*pY6`qEdZ7ywxFNpnf##>~Zgtld6#T z@eDvT<#J4JAkQlAN2+}f$blSyRzO)-4TWs;fQAf-6V8Fi7gi9}1HP%p?_UyE`*3as ztvQj*dvvW1?^M1#pB4MO?a!zai3M;lP=wF5=MlVR1gm(wN5aTas&qtg7$RSq^6ZC?b;yc(=hqEuL{k82 z+k2!?58T@6-F=f7nIEyst>3d67s`#xJa}LZrq`p3cTNm??WxLPth*73*e(YzRe|=L z$S`0O!2Egfnj+5_(JJqc`Nv9@xg7ob9;DOt78F_MPz?>*MjEu4hhe5Ae@kFe_~$Tr zkhH;XJ^i6FJKq~_5MF)WVN7z#vnhDH+}71-b)a7r zZqN}^y`yZ4@eNQ|INOhCfz*_6E+8{N(YXVg;N)@XLKO-KNY!bl!jI=QyX^(W+@R#% z9qJFdU`XwxP_ivlU#UD&;B^2NTs8~^;zpiqFzq{uC2YR0>T$3jJS2di*}2)MB%u!A znvP}hq|?X4ICwblEqTo$W{CWtY0KWtq&H>(zGvbiLgCMj5ySH7Lcp390$F-5buY*W zX$$HWN-Al+3#t&3n60!p0yhN26xiT$xKC&K)Corlwc}pDB+HGE5TfOFQ>L3Xn8VJ) zEi|9E2#n9imz#1B%t?hDvF`HPewiovPTkY5>)D?dsn+!H;uMheU->xfzwm!af5FH3 zr)5zLKeI7NANkk_*<88a#UcZ#{R^-hl@1sr0H{OKWpa(8KX1@E{8#Afm&NBpeYI-r zC&$sl6+{s9<52;&L%=O8JxDjP2s*$&t!|J=_|tP>WkbGX3&GG#1NDmbU9kOSsZ$nU z!V)_FEyD4a$20*#12*!mat; z!R7t@obSXP07VEnVgoQ8u(H3a2!C2fPrnFM@;C5UtEpQP;e>JODo!p$4V{Quh-(2c zxzU@Ur4H*rJ!<)b#*%36VrYYa^o-Cwiq`dy%c!KU&j z37?R5_?Ho%zw=5x4w=v3R4EwJU`Gri?k$GS#ktddLpXdFlK$qE;ws7~0>F!!n%ui)s4275OZ@lL2CeiFmoq)LSM_d`@F}eZ% zVdtviaT^vIWaB4tw98{3y|kp-(Jyl}&&}nyKb2Sg8N5#N8Pp~?bAd7)oE2{IrfwtR z4!FMPdB2oOh-v=omY+{1^`IV5);F7+o+Oh`ZRZf4^3mT{x%h0_9GXtY`{?d@DY>I9 z(Ous|3C2DI^)Rxm>$yUSg<3i+T^@@h;GHMU?_?hw_8ak1?#umXI?zYs8c!FO$aD|= z)8Mo%+-}*azKcg=2(KfcqV3+cQJHfz!8|N^fbzy zUIQ8KMI_WQ<6fO5S!hpL$9`EiEQ^sD+`X8 zs@%Yd7x4eqUcLX%?bWt;!+;CM0S*UefE9Ay#-v}9Ifcp7FJg}`!?ge9y}JD4UJcgJL8&Ys=}=!FgnA(!na7D!Zz+4ISC z(0QMvCAnS#+K?XR-Q&akPPBylg^`qh?z8XwJ7Zdq?0fe^L{ zJzLQ}J`V$`bk`;v*vI1~p4`J5Q%>&{rr3{No>ay0x)Kcy4DAN=jM=Wnk2k9&Sz;a3s9+Y6nI(|MdF*PUU2RQqL9Ks?0m zQAp6Rl+SI7+Na@BRu*0yvL}5;AdXIdLQMGEVWTj%A(w68wMpje9eD0c!B(oX-)Wb< zzi<8f3hg{hiv3*_Nnv#dmJb2M6Ea{Q_Xl=4BFkZ~K*Mu|)Dpm*8SgT@E9>>i%J;!a zszY(9Vp_Mzu6g6F4m@V44;HamWUjG6E!u~|z@BNyNO>jshNS+}mAMOSD+h=H*s1br zUJ6Oda-*OyOHzI;byTzs1w*N>~>4D>u=8&J?Q%`82WOVhIo?`G#_2}yc2u7KbT6d?WheD z?+0TaD(eYz@9Q{e!&#rihX#ou_65-ZL@pK~2?0ku=uI)_rIx2oI}_J-^N#2F^zhRg zNHiYIo7LVL2f44jv<3E+HWvEjyK$(X;&6S~Px+2ek6NX#2FYFHbMf{*I=v(TH6-*2 zA+H%S%^3t*owh+yGI@egiE(FJ`HB4=`4Xj%=;Q%ue~ESkA%3l zmj{SGF#J6*v;h8QTa-Z)xu6-Ur2WgH-!oZ96#BS@*+M1CaKm%$0`xlyzzJ8xOx`sKi zS`oz*LE3Bca-JokrH7U?GZv;V3-RGe+*V&L&X*$c0_iypsWl3wEj&zlEJpNfM%b>Q z`9%vAt_RTdo%JT&yH_$y+%zOzHOvV-=Gf;pwGwyw3S4*y6aiB?3Q1@90l<>V3zQKl zt!ffxv1Fh#8LEjxz`ZI;NhEGp!_s}+g(EUp;PRWnH5hWoH`ZA6eWxz+e4|JX9F2)Z z*kDCSjT=s%gXecY^#Al+y%d=RkfkSEo2xX(QQ%CLa_K(js~;=LANOkBF7{rG3y&1w z0Q*XJMQNfe`8F(B=wBXv_PXd$4UL0Iog;k5zWsWQOLruC2t<=w^M;B}tqHVYa0$_gjNNX@5KG#nM^s!3WgT56UwFb1f%$rXB$TaolN&b&K8wkdhY$BZ;mXuAv@e>Sw< zomqD-&wyp0OPX&%3v9@5Cdh$!y3Vf9i+x&BuD*QQ!OF z*6E<#j4?b!D3m?)jvpY`(b;}ggnx-;Ykr>iA;JvE;Z5)~?nm0SW=l;6LU%wFSh?dL zs-HU3kRHu_MWlY7<9~V16hgSQ2H-$M`KBWkmQjfPw6{LO(-X%54@ZD@; z!$1>&OS%U6ti~56{Kr$me)E~+KzMZp{HxIf9;~?EUG~3w)yUsn_P=}8$gfh1pBn4G zu-^IT@Cj(FnEkD8m3nhG6gcdf=fLj{Vnq^9Mu`*x z_i?|69_-o$Y!5EAVFxxVu%xhH;)Kb(L1Se8oDTclt?B)n``Y2)dpy0#2TegHYSg~j zqhTW9C0pyK^zqTE^2X~k6;5Gg!2PHawm5XT^I@;BXcwNka z+_l7PfEl|)?G9;N>5H4i`xPul?zIF_x8~l@ zt0RMFbkoaajqw5YgGy~@IEFJTL(vQzH&jW2sQHS8=pH29AJ3q49f>lL$6)_HV;7kC zTq>u0ofe$CkPiAI!j4Q^!g41d&5!rck0N)mnQcs9k4o|UsGHO<1&C#p=F3G~UG?leZ+ z$#8rHnL0mU57M_pW7=c*=nww{d;iPz^e-lhU&U|#w4R>q&w6^>|F)h|VvH6<_PBVe zectKnnS0SZdj^umv#8-$4+uqe`{Sa7{HNB^&!U8Ya{yEu|CP1$TfoL&tfil&^qZ0I zf4-J}mQv&kCHqgdfPZf-)#enaRgf8e`}Uy%BR0Pd(5_;YTrXMHiVifSs7k@O!Mfm^ zlm7DVy?w$&F}u7^JH|>?6b~CU1L9o<4w(e8gBtP)BKOqq^}xD73E17)21KpS!>HWi zT-KfR)4r}^BXyH(?GAH7$zttCVcH95y0&~GG`<{$)5xK^q zu7lC|exr2R8S3KKzo%L6AU3szIMt?CM3HS@jzf5u%j6YF@PIkL+%u({w}S|Ju;_3X zRLF}RT7Fsh&M=x#t)e4-x3HqBPntaMuRC@=_-bYJT{%8Ax&>^uJU*92gdo_=$@BzO%{ z3O}^Auhq>JqHn%E2!i?FkN+Fb{W&W_n3tb_n3}ZOPg;eSE66F_f$O3E)L36=I;TUG z?6IFSb6pX$dqDZ{U}V7{Z{n5g)gn24Tu~_n!d&I(k}P{2h%jmSFm>K6#bHc@{B;x$qO5> zsdskuGbu-7bfW$eHdHhYtaO4-;L%jBb$Hz0t><2lI%T&`Q;PxNYmMn(^H4zkGkXo7 zq8`Gjp2}?3v6*x=NpXVQjjBUCFVDL7)xifVs6o3DE;44^zxwMunmAw#=gw(v*GxI5 zTVOcY62UG2M69bWnR4EuA|;fuvl71sv+!%^hV zk@`rUbf-Z%Kx%#Q?X-Q&)N?=a~Ta>yYZZj?Jb1G^k{1S#p!nadwdOuctq!b(1~-UxJD>; z*2Aip+UxZDs=Rll`GSN9{p?JNu)srr%e83Xwq7pk0GMo?2u~zNaz4sR=*MK~pc@QVoG<*r6=v|q32}Pv*EhMr#1|QkG zN%7;Ju2y{!aX=D-TW+@fWYM9|HQiaSvHaX z!MeF=a`=G?$>&F;Y!!9_p-Cv7VF<>a6g~u#4-se4L_WzAq*rIF>@XM5GVL^IwLTf$ z8173yF_;?c8EvypbYJ+mC}ll4b|_^4e{K$FV7VP{sBo!Iu&?Jk%g5*;HEL0;_jeWJ zEtIr`{jw5IO6e(a7_X)g9p`E{Yc~kNK)A zdb2H-w4C%>)&yVg5s-K@4inC&9N>sw-#aiJG(Kk886b)ad)_llJMV;guwj74pYk@i z?Homatcps%+fu=;B2FtbB3FXZ)*n?O@k5npanURBU?Q!!m(sBA$DT;>fd91%GmB8=mH$gMivTst55#-% za~bh9=m127zja`&zwN;MdTRLHCI7n}n7=tS0C42rxZ>}sM&#r?B}Yk!pSmx<${Kfv zp4(!mB@QBfHhH$xqC0lyZ>jMhys3s7b#=AX_52Pme(`x`HgWqq^I0aIn zWnD(}#LRaAAm4Nn$mPYF6T0NR)nU_ct;cOz?(VB}(UVv}oj!24=nl}X7uz!fXxR(AVC#pP(qw6_Y&-9dpm=mf(_=v)g5Li zUVQ4|WHi!%n-Cp2iLY8yuc(9v$~EIaJ`Q~l|nJLNZYw*qJG^EGjz14kMlI<>DC9^NfKRsW*7TVxlOj{LVL{Bpc?EAhl z?b6DMcapUhWrfo@BG|iNHsD{96BVe}zM2?UL$}N7$(?4 z^KJx@AGBL=z7=74N{@^yUw0uo7XbqyZvOaw#gkNmA{DQ_tOI`%@~~-fR!~^G$g|pa z_(7`QEr*TAwC!I7(MbOwmH2rH2l%qU?Pe&?K@|P#8cyq3m5=HY__ju@ht5RrRC^|G zJoZIVuYQ*BZ}p%Cgi#)vnxL${jKx0KLt+6LEUJ*qlvJ_`QAJX2daok^qX1w~_2)L} zR5tlEHbeVSyC$FJ|zG9aI| z^_yW~r0yw|wR&7r)VTv9+&>)KR5z-RD6uZDm^&b=hylF|x9%NYD%KOiI`kF;RBb5k z9so(`2C5Bh_9w_?ESt~+sTy%NT`7KlZgY*oN zgK8yFtj99M99H4=o+qn%sUhKt4^9_}EQ6<@?8Vdh?pIr^s1gJ(>?09lL5Yh;ReoNP3s+jw{o>v7IQWZgCbiqHn9htJBf;Y-4>}h3&|Vv8D=GLs2JOu33GO=YTl7MK!h}?C{l&G%&I^vxc%64iS;TiIar$#n zHb>=7PGJ3|p$oFRre{7qb`fL~_?T=NsEZjp3w}f0du}ZD8lTSRS7+QIn>tAWE+60cSt44U^Z|Z81gb($WGePdkgpj;BPc&u`hS%4RN`~fV;|0 zZGHyb>tHYt)a0g4`=kn;IOvp?JJQH4oGiq9*|ah{O*Ru@_7VDbTmH$=4Bq$`^mhKc zsF44HXI9*Q$^hmExXW_S!(koADnZ!{2sxoY8&da&*2Sj`IB~^KL`~#lOaL?VB5i;R zf#MCU4z5tAkc0GzAX0MI7h%{^fDjzge5>E+n%sx3xffqidt4)4h(8vZuQn^lgR!uq z?qat2B}DQkXTxuK!7yd1b<+g|tqVagS1>eu8Qe$>Abh_j<{?SRacN+~{9f&0*#E6= zfcnoB4xg#b&yyQ?jQlyx_vg3xd56e<>MeeSo&AU2;^!SAKflHAg~orO&af%baX@k8 zzhY1i>4dmpFr`SLJ#ABl1-9-$|d2Je@drKL=mef8*dkI;XTmHBRS(F}>)8$#a&u-1J zkSL7z1A;0QYY)lV(M=Zu`6Mr#OA$2B09)lo}C~QlLj&gDCZ< zf2UcTlP6F4-222E@y|}~Fn6k(Eo;p+=NP|{DCMItv9Yfo_Xx&b6McDHsky(S*r*(y z8sHbkyMEo>rnb{DIVobuC|mB!KAiI6!4f5#KVFO;x93+ICDR>Db9CJd=JnO@k>$GO_KU0E&l$>+JN3w-jizxs>)3>=vq=`^*)r(?X3 z3^X!%3dQMsRQfA`M2!>CwP#<5UkJMs*#yIbBevpP6QG8gxBPqz!c^$OY=5WEhjh~Q zE=RjfJzncM(G8LDPJ|ad-Y-fClwlJfK;tP9sz&Y}v6qQGx(3gp2cZPmG%nXR1V7=G zQT4WJ70nQo6q8abDT<8$IqzBj0!3i0TNv_AL0G$^9t1e>+`w3L(DhCCD#Ha7#PnCoL(j32zfHE?mB}-py6Yl zdG}9wI4&t6JV)sa5Ljf__Q$(Ib##-KUNqO9(HxuhZn+ow=IqOai*gu-A#7og6{K?> z9Mi4NiUIt%3&i1^qbhJ>;$60g3m!_*s zMZsJY!n{l<#zJh)(V$q6hWZ4g4@Y>%G|y6YZ4OLdO4vzao+@yxVGk{>*cHzw-1-LY zgj;)WJqQ6K+V6dg!AXOrbWH&wiA!_hznxr_;OH+`8Fy32XDsf)ji z-jOooF|d|*9ZGbc<5Wrnh?EhlF-;Ut(0GciR}=F~G&^HJzG7yo0bH3s6Pfv8;68z> z-S7O%awJTd>)|QGnXIk-D#3GYVb77^j|lZ!4#%M+Hec;IUPTQh()I9KRccAo0jsW9 zdKn?TB;YD?zoUSYLnrm)-R{w4k0}+g)|krfrI0vUPqP4^`65GzVf?t7qIE_mqg!e=GB_P4G>Bx(fftQsduL z8;8%J{ z@5(4JHQ0Q&S_JN6um4mck;P(9kc4P;0?NU_HOL>#hzbZS96J#041#8!B`^N5;@Eu&>HVvU;UDuqs5;JkW4l^L zar?R0c9^oboEr|CnSyW>Ld5q{(HD%ynqW7Nw_D+(>OE-R^c!UkcgcFkKBcV?U zTNIpbd4svffKL5=x$`h(A5Y5jwvGmJyG+<^e#j73cptA_tXAG|k!-KA!t|($Col7Y z=ef9FH-raJq##Xul0k0x%>bi-(C&;ZH&(*49oWNFltjYI2D(?P%*K(i!-`iO#h|s4~MWykMKlwnjLHZ#XnO{;ddVXxGd)b zQ$a|AXx!e|0XsaAA-**;?rH;rLv~JYSJwkwoQtfnyzYqm?^9imN>g=ooXgvaou|!lAWrPE=W9=F5$K-! zMwL<9rNtu4NKU&oS-8us;#rYC=K^VLasDWgk>00jMrpE@ShyQ41s=%epmkPL5UH_2;GYq~p%OVt5nx%7Ov)3ZS9KFoEbyI?=jE21Jk)1Jb8r8+H1z?zsm zcEVjS?`$H~Y&l3<$7sjP9u+jmzc9n48E#_-9WgMpIuFG-?JH-0U1j2A_AGjs`dfW< z%uWP*t&^~ozoY8Y?DFr5cc9$AJV&?aUKIQ)+XH$yTZJuL9M~pX%2V1=Qr>2%uz}kr zUQpLVv7Kb(R2qgfL@_o7+0$M2BaYb&}Pz#Xp%hY?Mi(v{` z5cB>;oixb!Sjr@5!i9c6TcKFuQqK-D@Xa3)bi&q%$Cg#okQ11d(!P~qBCMfWC@)~D%fU2ePw!}=SSaU_lJv0+rQfUyF22^;|pvx-6zRz{%@5ZRKH9p7 z9gI$DA?F4{V-Z>gELR@kKyrZYOjFvc_Az&T zD5^N`-sdT6`Hhpb@I>qz+`t0ndQ{k+)=EPHu0(noz}r5QhY^qDV!Y?=9m4HAR4w!o z-}`{KG0D0VBqCdOI&zeyI2Frs;eveMiW*7Zjd1a%R;iSd{=4qRZ&e4+vj2w$$G@mL z*zz-C%zqm(LPU?hIK909M8p{=t?)SDRsTF+58-N&wKM=Tt{%5n3V!}U;)>L$CD$ z1Z8APtqWR|V9IvCDX@Mg+tiPQ-iSE#6lV~*#C*Mn>>_+=w6ZC`hE?n&{kOCV7}3su z5mxbgMc=G-Fq^AEfwlLK{DalDs-B@QB-uxVc&N;_jlG@=Rd?CjH(fRoXQ8C@S&a$M zqF*<(c*~dNwpDK%Y@Rv?opM1cg^OZhaCX0k4@2`u$g;Z~L#LoGTKzC@uW3;(V&(y5 ztP0`mH)t!MFfa#qgFO3N2=Z6qm04u%FQ5DWJ7wj6elf_u9BKZWTV47bFaq!*KY2p4R#D|8zd@Q8isKz_}s24M{-upqm7 zQ!Rbg@b3TbclMJ);Aeq=f!Viuf~Hmov7#}bBbU>47#vD^%Ez54RMAP4mutivA%P@# z;_EiNSC_0*nmck8PJLZ{nXX zVd44d-2TO~q5PRxz=Ue|3-%4dn=a-9B0XvYG@=@&nh^xieuo5+7hiNnN4nq;Oa_}C zJ%kTP=GfO?)PTEiPlG%VQ1sll+z+^A;Ff|kjtoSM^7a*w`O{-1^SgKSO$%V|{u}S; z`y1MQ-qC+>8g6Z-P3~kxvid)ROoITZ6wJfcHB_#Br8)C-Y}b_Z#e>= ztScNI!Ol|fZ`Z9;-acLT=VzkrAMy)^ovGIy(wWMhkpD~EFB&+4uBRsM_N%HCJ3x&< z^kjsG?F~X!%lWAtYUq15$@`UQz3mH=OAiP#-Z2gjosNerQ*14)C}!2rwcuA(ANaEg zL5&({kz60ma65sf^*iiB5I4p}`k1dkiU4E~Z{8&btCZ;mJ$AH#Hk~)&i)gH4}%Uf#hKA zOud4-YPxSE<|YG^1w*Q_Eu1yNMpe6cz7k6tU^=~&y<>#x3Rmo&0!L($`tAsefTah@ zU4x<%pbcZ00EjJisn_+$P%Bu=0XHH+SJ$1Uo*UG8z^3Ay?G`b9pUxQv{ljyL`M0`H zF{z|-ddMz>rB%xQ?yB`MMIaP{JAmwuTCHYkBL2w`NeBIoI9@+Ra4Z$Du8qPNoz0_l zWRHQWQ7GikL>oreY`?G=f9vj~R*23kv2NH;ScE^U#vf(bUzIJtHtatqXUf+7S-a0n zH;qqeMD!8NR%&t6+TX&0{%Ey4@5hP*ZF)7F49W97gJ=~MPn_GSo^Ak#x>ry9NWy{& zA)-P#T?-PiaYcocZwdUt#j$}r6i}J4nMUWV&RURXXp?V>IhBc>T$vQ6RYgP;YSMMct$ zC>wOnp5YnFWA9FdzQuwPWe^ThUx2TV=+fK`R}8GdfUo9zQzq;Ea_5NxMq6nzB02tc zWx+5i>}j3n>Fq|{Mm?^y5k=F3Uc62|ljQVrp$%m}NBG$APd3&pE(S-^=F#F*+XRKa zKw@NFdk8z`<$)k(Fb{=MwcVOd2>{~0-kxhoEM;EY=nzam?bFRn8*(gPV89~heddJTG-R9N2812Hj5*CX|M9~83#YjHMhK;FX?q(&~s z)Nkw>Y(J0lezotCs1?P#+IIf_ed6U$)X}lqjNn$LXGsHc$_WT(dg?L-GM_aZyO8$r zOrbqAEi>_H3{I`aSFvStrxi9+5-#T zE-Jpu`u}Vnk8l;-Tfg7Ozdcqmzk65TCBT1ES^WEV^?6gjt1kY7y?ie}0gJ;IARCEa z>;z%7qqXktU@1(h?yZ`=T88X%-h@{#LGA?`>|ZjlhV=5~I0XgKb|>FGtdIqN?fDcU zbG(F42)JD0YA_*o9Ju37D(GZ?8a6#Rp1>KYC>XoGZje%Nl7}`i^9Gp%$g-N*>s=>V z9cM@+8r0ehYCXzik8Zq^hb=wUV0rnY< zCtN#>Hni$I>#7wj^Dy^8xW{EvloU&&Ei9nTi8s?-ztXSlaGhe03z!l%`KSy$D2}&a zX;e^t9Ll4_b74LP#*qTf@%s&p`Z~-s(EI}ile{Du>5rzD^qskDE{pGX9`Z`X85RYR zJ4`cgzYiU649RKiN=d@-&$;xy%|hh84mIz-{aCd*NP>3i6XRlo9NTAzhirFUO;XQ# zgV6HpQl0nK{`lnWN2sQ*#~t^5r<9prA3QA}o;eb30Gtl#h@E1^+6Xo$Lp@)waPD=) zWzBcjmn#WlNc81u!fLxeM1D!;?k8LZePfm!vyLDBNU^Kd;OKxRK{pe;j0oWQa>pV%upI12T7z7eotj1~;Vk^;{y9Nj z_3o=S?8JfZFHGy_q3TkHeC(alkmGTcgJIxRvDdd_REmlnlE`4aH(^w=AqB~<@a`Ujg-oD^O zuSjvU6i$9g3xNZ^@xsZ|6Fh+AJp-|b_gFdwpxSv0!?2n>FsOEfn-^p#VB&JCWCU>5 z(}_{BouPG-*RDgdIO&jO7S&1(SX4@mVE&rokW>xFm67A*T~L->_@r`e347)NSvSi? zqJji_Hu2Z;~L<-|gjmJA9p{cir$;jqP9l=a;{>8-72P|MvGk?d|;i zv$wCm&eb6V@TMw%5buA^<190kUva{pIr{f8I*{n?&xCu&oI8uNoiYA;=6(b9VDwgE zfhTLej=*8mh-fuMafh4tw=dI_mb>#C8cCH1C_+xZ6&WQU{kGAYm4<_XfPB3;U8i)Le_Mhx{=|ioJWImw;rG04BihGH!aag6i(Hu?z1C(}w-lr9FX&}w(j~%>k`5cLVilHO2 zPb>%#@=`0GRo)YyucjdVT>)|RF91Z*#vLuK>NVdL+B&dmZ=$_$(t$%j*&-Qu&`jxG z52ZLu!Rzs;M<&OScSeH-$8YV!3yg8sI-jo5_d-=XN8xF&c zQGPfD8U$Wk13TDj=EZ&Y^ozsad*JZkDP)>M+*HA3#jbro!{e>f6NCl$7SeF|zDIA5 zRfu~01TCe*vwNC3!(Mz~_3IIq7L$3Dm9i3!C^=R)}f&TSyzO(%G#=@`vc4OIn-&wwGERg%ie`!g>4$%Ln8_Vv?&SI;}w`56} z?0hJ^00AoPO{+VY_NcI_e0>Zymd|4lEP479E4?@Ggs+EZm?_~x*nVw{Us>kkr5}HY zyab*RZTSy7i-Br%ZGPQPM~JTmaKlpjAgkY9UC`S%ILwn^yZh=@yMk)21LIZ(Tiv3< zaO>w6`TR5=J-!UZW-Nl$rUB3TL(f2CuGO+gkD*k323O11on5t*>epBQH5dD1-VYu= znEVC!n+B8huTO?0FhSeFZwhGO5T5-pbFW~C18nstHkdI-1{S*FyqC|6tXqI#I)=7D z5zVF_aVG`sMQ{O~LGh?1f-2b*80Ne4`;m5cKg2yS?|c5;UYLPd^|lK@zG_FlXD{^n zRNG^#tJEHOu+R&p0Ia3;kYIPDF0H#b2Gx_wHE&-o>bVnH_Un%hC?M{QE-+Y1cCjg1%yJ-<^Ouxaj$J8LcU5TM|4pDW>G&jw1{^%6UDf16MCa3`pY!vp@P`$;=Btyv21sKc3Gwf$ zTvlMuzwpj4#_eYPZesgSwW?5lmX^b>Y7AcFU+SOoia6%+W8VonJe*bXv&w$i`o2WP zxB5PRh7c2LG*G7k?h9h$p=SMu^jE{4`ERaGfOm05r7@om;{(j4cMBA7U(sIR=;b~@ z4E0kbE?;_3pq&SE2uL`;Jy!ntJKTMLi;xube}0F%?{D$Pclhu7QJm{OCXMG#DdV(I z-`m&$IF;{)9dCkhI9Ax(%?e@Rg)7WxjahhKoWS1SgvUOe<~f{47Qif?`chBDtEUeR z`@CAv;j-Hox1*q6^*->R@vq~10)^iZf;r3WA}@H~FYuc|rHxYHPEb$Ic919OadVHC z7HoL83ZgYsdoav?C1E_nX}eKCkUM?M*9yyU)&)LCZ4HztODKBWKiQP+t3kJ*1#e_< zRP_BTXI#WS6CwUU#xiY9$}9Bsb1f{^2LuF9$|HTP#Bdl@cB3{vcrW7p6&_A|;L30O z(?AcWxoIb1bseUDc=Yp4#EA;<22t+u8jO%hnI@0QrgqB~=F~nlZt=~19AE@uXG6Zs zB62W2I3I1Nvulc!m~~VXM%qmd!aBf9$m<&Bx;PXl0)w_u*ec@31|QkF#H8v&dy9O{)fMUAm;wkm|AZ-4G}zWtTnd zW2A~9^i2jw?fR=d3L76=vqe=ogW!vm1uFG6%E92VZZO*Cd%|3l;(Hpy8T4~ zeEzLi{sgyvF`YuS{JTLEffDe$C;@BmI1c@lpXQ)vycJN$e=wc?+Pm7FSyvn(eJejr z3Cvv{_mtrwGn0?zd(xW2eJmJsk_yPYO=gkYHvCYHv|a2m7@rj297;-bu$Q||6m-8! zqW4)|%SI|;oAnxgZvDFk=4bzOzv+4)gL`1yGXR&*2GqVI00N1xd)M1hZ;=d6#|%Y)O$flzS$Br)UVHDIpLT}{ zjekP*rg}ZeR%~bnLPy0NPkw}eyfCncRy@2-aeceVCE|ki>z$OcEyKdo2E6g`R6vHC zHLbQ_C87z6UccQIzB;{Zov+`SoVq)PdvR(l<6IpQPr#5YGWf#{+FF<63j16a1d%pDfp?g6mI-yUR=ptAdd z5h!5Lio!gqNS_jxY_yYPS_HQTjQw=G5QZ()8=qe_vRUJ+oI{fyx+4s>*55 zegmY~TO~paPS7Jr<%dybe2I6U$GZELZ1Q}pU!i|Dk&jy-$s2x5#D^jBTIcR6NN3BG z_1gFsnmk@TW`6H4NGvB1N&|=t%f08TuF=YRLj3c&JAX19_YgXFCNibnr#kL7OE2SR zK-{vsq~eYzoURP=dbO#BdPL+Mjn9rfOWpyQe6kHE3;;m4V@-ktnN_0wr6aw&S-P!N zUC(iZNgDzIf`|9`cf0ycHZA^_hipQm@cPT|=vd4z?D=;a{g3B~Z(sk@-p>u6z5n?e zsxE#(!h37YxfhFXG%Lj^WamHaTQS3rwZI3I#X;7Fu716>dC-wa4pv(}0Ft2VQK;-U zeaQkiHF(_NZKx4wJZubLDt(EOhtLv;8w5|t4s55L%6i|c|MdHR`1J`PA}bW>0*)Ww zt6NDg7*78dH>h!+w0M5eU@i)AgI}^Zw%eCp)#pJdSvCOxFxc;_{YsNn<6B*+>rm{+ zuIXsCxpzp_lxGCe~n8toxl3*tyFzv8|imFDaB z|N4X_XqN`k2J!F&ZRZLRtVKSg<7ut~A_tuW&_kth<_EpX%=* zi;{4Pi?Ey-kVHsvrl^X8d^htXA6#63#6arV?%A6!oidc5DQLnBhxcO`N42hYG$JXw z?cEet(nk|y)}D}BQ#>6ggnzkOHBvEKHtimlyf}UC+fhgq`w_1=ZFVC7WpzpA=<$Ue zQKH-FZG^U_8ouF}pE0@wq=-9B+lr9E^rlh|X`ulVPdfu>Tvg)!*7TV6)J>^ijsk(y z7Vb}SF>7UVo3fngn?!yszhG^Kwc7WOVq-^2jONG$3G(bV5ip0U6w3ANhsPC{Jz&Vv>@; z>ipi`RLi$A#06kS?%nJ|mf{c$3As&VX2PDZJUrRrAO{|_W15t&=rdXG2fz_|RM+Ng zWyBcV0k6asW6dAL7DW&Ke0_8s@w)kweb+&~qu?>+VSe8iq`ALa1M%1oiq8<{^#%6N zzAV5Z*OTFS;KyPo`AL#Ymr;j~VQ?2}D%vArDaG#Eq&h6A2i);o;v#63L^AP~9TZSC1!o*u^P)L|LU zbxYtcPm-)wJQj@lx3XB%KLcRl%b^OE+dp8I|8aedK68M&|1N*E@7*(IkOczCL79l$ z_UprisS-A<-s3sNdp~zqGxx{R`I$lNmTElM;u@Q(Lnl_b-0@lxuPjM?s7iO zs1;zKJg>@E^bREyN+E76@H7Lu)@1jwI3w76xAv-5MXGkOYdZF3d zo~(f1?K3Q!&}X zAzp7pV?7C$m)Q8S0~$1rZa~#|OX_---p4ceN1kE(J_ZsQha_XZwHjmQ`?Y_^P9Nd+ zK0aqJ((;NA&{KlC39 zz6VJhVEE77yE>dz4Cxzi{EaugMUM^Gj!BUa@sp*<#PjUWU~6LdWJVzu8jZS?+}+T9 z6|RGIzH#U+tb6bkza(SZcdeqYgiQ0Ea>ZU_s`RIvY=F4oRz8I$6vsXEnRpG>jN%(} z^`G34+I9Cis~!4&DNcq=Xt!90p#wP?19N!tXE?Al?7gd2;uWEJbw;&U20?%Bc(Apr z?WHeAh$putV#B$O^^QQMOCFqSnM`q!Fl<#$}UJ&XK4foY4)`T+F7CliwsOG0oj>3qEiMU3FA;2Nb?S$B)%?* zmkpLJSQ42tj8UsEZ7O^hf+zWJo29@}`R+}Cer@;#a3VQiLHODl{&Z$7X!!zid));q ztX`iPD=T{(j5`DFRW5^))ZRbx3_ks5O#5`wI1hSUDyhK+sDk(5#|j$?Y{-7# zeyF5#)puZphqV+7A*9=fbgi&~2&R4f^j$TB(>`-8`Br7^FNHL?D3V{_DRks^e>a%@ z5cq$jzWjXC$`HbEU(^|n$f=2GCzj<=Rl2q9q;||Y|;s@v+ou|3J8#WBdpQ4=BLes zovZnoN>Ah%UJ^)mV>8yxoxX45`ME+0DuWEOWxpPCs69qSV8D@VAe(@e2$K>ak8%Vg zEIl}v=`aroI#7kYdyM7`pTNL{@**W*iH^}A2_F4wJCSXc<2E7rwZ#eKeR07#DzS=WKJk#;!(;A>?Thz9=}i5K>F50pwncwOr#%pNfl5Ik z4;Uau6R;DU@v)JvLxKLuVB#eXlAFWXHxiX^kDKpMq09itL0gw0rWN2ZsU6 zc9nsrG#l#oTmle_(_A;Y7m__40_wOJ*DTqriPG8lIa6eLgj3Y8rySR$xBAN34j|yi zgr|r-{Q7ozu_+F!24qy2#nQ7i^gSoxYzA?5dsM;oHohCAxL<}B2n8zn{JfX&6P(9| zzQCB|af{Q#3KMBP$0rpKNlZ3E^4)-w?V(EFja@EJg?G??59VWnbnFu;yqd)$59sjy zOz;9Mf-#I#Ye&4b?aa4d`Y$MFtU{-fSVdMFBsQ3!h{8In_QDCioXlig< zF=t7vxi?iE!xK~;kIUn&vtBx=ivh!JZ@An0w=O{ZQ?5q3>2sh)jGBtbK)t~|cITQP zyL)o)$pC*ET9g^az`>k@H%7&J`*&#i6jEiStkYtTLv+=U<|?Zp!B)ihV78Y^bN9UA z!1p?ycUO{xlp%w-gSiNw21Z)4J9(<{2)q`qMqv3yGVe1;rehCfjoU+j{Fx@lftVcL zG^+>vFQd7m`aGFxw~Oj#-=7rKFT5yT=O!*6R|OQ*-Myk{^B(60gRTCVbDmQBqMj1Y zC@yba%dTqd@Rq>MHy*En6{y6Z?w*x}0#{9x9+o%2YW^&jV=qM4J%Z=rds?LPWui${))&n7wxImN|L^lb|Zhf}a8rcmB z!ITUijKk1`<(2TKmn5F@wsg-|<*MbAnWa8RCIVe@*F}l^kR)0DlH=s_arLg-05_hy zE8djT2+O0+?gG_DqL!j}@>cLM?su4@I}x9L^XLQ!7Ivtk=yrB z4C7FA?bpcnPpN_7f9pm3vGVx&>wl_5MD}AzMsME_YCwYgx$5{T)_VRV)&lzY!hMlx zeC3+#m;qA)p=*>!jn=^c zV+3I?fYBTb*uwM(k?mi$-|O!gCJU6+$k)8N_IuC0l)-0e-D(&hS749~ZMPN*g@&HuFRrambpjpCFF`u?H!T(vI4~yvOxrX7 zrD&xJ-*X21{O3UsWBt?h_&1kh_iwMqzquTr!|lJi9{=WYz>jJF2W1V%B1(mdM0>h} z4#>6ky7q!Ku&qvh{hD^6RWYW~W5bC?EmN}w67*UiZcr3&0Rq^WSj+dT5ST4T1JuRL z2aK9Hs+nC9;+b=W%Xmz@56Jrk=CNHNzLyuuUNI)yAZ5=cntFBxWv8~13R%-uk3FRw|x2P@J4pWJEUVII7XOAn<}SPyS|?Qp5AYB zE0eLRpmJV=nov1N04P=Q^Vk_u%5ne)n4*c{HWYVxp0)_uykk^@U$*;Bn|}u)T`I7AYl{; zne74S-vx;Tmlg^n6+pXtysy!b!CvEL8Z>3=H1`aHj4aLEm6Z2xES7svQW4%8BnD4e zPjO)<>cMa!>)Q;Cr9=2gGe%{}HSf1JgtyQZ=h2x3nFqi*RWmk^`um^101=BKQAP@!X7 z`<(HN(ptSCf*3GNb_eIZ%3wWYN%2%lM0$I&gRefEc+ELR$w0P<>^LwOMSEjikX$H- z^?52hbZHy)?WnR!h_jR55V96v^72+JY>b>*Wsf$x=N?>d*%#+1&7o{cmIxKjE=Coi zx(nTc)&V+o1ARp=v~7nQX#t~ zFIs_;DJW0kTYNh$U`c@xJUus$*e2n{c2C~xk=xs(Bn6|;48)9!Im;vO+^Y#PZJb_P zns?mhkp8umLWMm7^94XOh=(u3T^vl_N?x^^%X2P^L}(w1{GE3on@e!HK~V^SXHKeR-kHS7eYq@_thSgw~c|yJ`c(@W;xtaEUEtkm#xSvg%GB zr{UJ|lZq2SD!FkhQuY;6hzkJVvi!`Uf@o<;pUfr0PR_8q&;(naK(}sA$}yQ_*-?pS zG*f#iI;hI!zJH*`sbUA+?c62y6&T1K^w@!lhjuJaQ=V|-ow-ng_c&dFmh3O>(1t4jn~kKhu?_YxF1uK!T5sev)@ z6Sd#^h^?>C%YhGk`frsr-#H8a$I|9g>ikoA!_J@bruwzf@+ohA537K!y#I&N=ChRp zB;~(T+I+V1-Cvb92FI}9OPkxjC~ZDl`R>n38^hMPuY`KzYZK<90Q|~&z*R1S66Z4u zj288aA`pz}ocEC(eujo$9-OnF`)NoRo2vdrfWW~lP~vA`d5chdwQv;s^<8&h$o;J# z11Zy=S7d)xfqd!GutcW+D!T_ho~_UN_YOI~4KnmVA%>cKdMk+9_Cn=9@XyzI*Z?iO zaW=sGf-yh)WG-${>0v;leS)%b`-uE>AoId;4cqB}=ly67wSQ9mU6f2u@@ocL1~Fv| z?>8dYgDw{niFNa&yh`T|h}y>rlBHMqm>`IObxvo8H;(=am|OB8k*;f?D`-?30vWc+JWa(v;(4Ohe=7{v$0G1*aO zmqImp0j=HJJmQtGf?OhwNC9BXxo~sgVs{<9zC_g?{GWQ=lrXNkhCyw-~veDNLXb#|SaHv3U_v4Mp?7aiZo-YjQ z-`z6C;WEYUc@eC$^?e!IaeQsrRrK|=#4?`xQBD-{&)0|f*0H&RvxhxrpxFL&ZmK3iO-vAVv5dR0{aP}it9Zsmw7s3PdN)WU~5AQ zk}6CBIW+DOc^EEvM8BTcH`@dzdn@j{ZrST)6|Sz-wGBOq#eZ?HFE8V~fb zJS>RKGGuWF1cpN*@}bVKJzyv)u7wa%e>|Ph`ohEobAZSjW$>9}Ff;MfRyev$cX)`I z(q>Nz6Th)%$@J&Ciua_XQLo!esFUD=qtOst79B?D7U|yytN|j#g%9GO!I|{=oD`w;~&GbDPk;i}scIF5X6TD^W$!gu&YbGh+o9-v||O(Pdi! zk#D=4TiFA0d^j^?dR?c(a!nh6$HvG)H zxoAkL2)4n!b(eW(K`Fiv?Ul`9ExhG%`EIAJpQMqpUsmNl%mG9pH)mb5yoV7`DFo8t zc{^OL0x%X(q!PZ(MM4sveiIg=&PGgZ3bdQA!~j!&+- zpJ^Kf?k6UsD7_Y#$Pa*Ec1g= zgPgUWUj6T0eE08O{oif8-$H1fOC~+lydlw*(S}*|X$eHa{@K-!c#yb z9$uAhvw)0WWBA?h7muo@K1yfAKTt46ux-e&-H;(D!p4N)q)9F24bp?yZrou2Q(DBe zUyP+c>yC1zufiN;*rmpsXDqXF3cThy#I0vN^~#{yNqM)KQix9($(qZhDiy!KzFpza z%)7_iZMu`;`*wt9`0;t<>}wNF)n;;HgLUE!5L76u9I5)DLNB8~QBsKlF})ca7HI`2 z_z_8Jo*=Vst=({I>c|tQxgw>yclU7zC@mR%X5x{tkIvvyxr{_tQtQ3ZOc4UOS1Lo@ z!UBFN$K@Rz3VbG>iK!~$Wk*ne8)egniR|^4Hyypz@vlLKA0ogGQ(L`7NsJ}ijYR>H5u$)zK|j!8bp^K*Q|9tHG9q0B@}{SS70Ijedoe{XuLOD+Sq3h+#q?E=b&<5HTd#bKd78NgS4NAgH;BdftSiw;DUOKUQ^wr$PjRXZW?9d|;s5UqTgK;P1InL)gyj5h>$$lf8Yr+wI!+iNec@)NLMO@9+aPrW)C z=IjAC5ME=M;Hl@sDiO5@;<_uISFm4XEesSlv!WN>TDw z=e#$ZYS_%mygLF7EH6onnt>5sAGPbt+UejErpNfSvw=eV~2Pb0p|dHdS+srESnTm=F#aE zC{yw(j{H%$ov=xe0nT0o3=iTkmlOhDbGLBM3rO=Q_uKoBt=A_$EUSv*@$OWx zH28zdeNi6Z4gf2$!BqoL^syhty z09*ZMg)%T3zMpnKvUKs=Y4`pq0X`@RP~eOD1J9F&27P5U3*Q`e5T3|{58)W@iSLKm zPjBqIQx>w_IeUe3_17I-_+pj)0zn1W-S@|45Yu1PbM@tgzB4O+8-sQh^a=;heZtJE z{H>mV*U-Peqwfd&FCD1QWdMc!PpyV;M``}+QCja<*wH}=eZ3Hw1g%}oEu(;zGJ(O; z2j$^JzNasBN8?%U-D@mA^V91r5BYG*bSQ)0y#>>_j+wecXsVgC6E46E4;82a4%_gsCKg+^d45gR8%dSd; z1nApXnmfd%NC!ocZca&z!{dqAd8=N+v6k{AB%0EWAQ`X;a^n#kLGoA5q(qw9hGI!J zUjdN>EA1J_iL9bYiia#N642{~vMhwd6LIMQz^mDf%8ULkkkPgg1nD1aL$&c(aO{H$of zMm2duQCU_}t_C3v=n(?rBEc3r`+N_rj-n2&_~d;C5+sTT2*9#z*p~fkH{3&gKiR#4 z#I$)nHr}0}9xr#fOyUcHh_!18v92P`co_hVo5aXBKvH87WA`gqjE1G z3&g7dxAN+WX?-t37p5}#^?W+WC+H+e2df{4%`Ad4~HLuki|}$4{lfJ4NPydxkAvXZyc7!`{RFAI`P^@fr43vi=+6z|XGadbm}~ zAu#j#8oPy2K9}oq7-HK{G3&PDwh|#^;m&8cju+!;4~~3Th(XOQagRjT=o>y<&vJI! zXn^=CLTw1PJKK9MW?#^vRyq|9X)^yi`DVM zjrSo~P~oiJC`fgUS~Mu^y-;SzD6q|timtCniOJ=v-b;8-KFR}xcC^-Q$T{BZil~^&A@7bnP}T5-b#eyNF4r@4^6~Cq zyVkfRqXgMu5?#Wc5tP zN*#BPiC*)PE*86<^zpjgfkg}2_dWJ_fp2NPpDrcA%$xj$NzT^1_gw)IHLn-s+!&a8 z*{wB@%D782aF8%{s1Cq`Z=@!$s`keBYygtpNVG5NCEDI0kZRRA%>*Xl(9#e$mzDNX zAp6S;9EoRv#d}`>-Qo(kKseH`$pa{^r{$2L67HYQcme?{D)P+rltVf+YgyoS$^&d; zP#4q)g{kyG^VrS~v7aIYMQ{UoRi^!PsNGopv=j2nAY1lR$|`*VK?r_sKmCr z^Z+=)qFhh{Eez%vQW3H_KF9w^`Tv*jpZiJpZvuD@64+!-XK#ckY%Q&@TU<(11;m%X zIU&9@4`3%E;G#U$5Tmx2k0tIWXBDZ54RN7dAUI&RHakcHumI2HyyfwAdsF7;^#-^# zY&z*Xy@y!0hbMs!@lI4{f~5`_C^BCBeLxOdH&}wv_BKdd?P^i(-S8@ho^$YhLMD#o zQ8tyVb5ok~fI=ffc1eJhWdrkRY%k5vFo70T!p^ywqac<;;ujPL5aGi@TTO@tNU+%K zCi>n5aAnH*j=|-caqRnr!n~4IQXeut_EX&msMvz@&?sxGVb~rBtx6Pbu z^UskVs(OUKuXb`lG*!tc^I|B72yeO zg!XW|L9vqIJ<%c~lhqY)xtRTYNMlZI$}L}vodH4-Qe7TQ6tdU}FZj0H)_tAuc5Ch` zF2Bv)MN|X*NZgpmZFAQjl8ph$x*W*WW|7FAw1^kcXHh9`UaOrrHYKm1k!0;wsXUR> zvcPS4nh%Ij`&5NrJM?u3&Nx{EBR4r8tIG-R&GH4A2_{y=I_Ci1fdu+RT^%av;1VaG z#YJ+MF8mBlBluIe2r}cjbFto-3s5)D*TNO%xmmjh@`6rwNo%*FR9|>mq}kc zQYz-^_8NK&0xe@M%D}4xIfa3qcszsUqat6O*LKeyjQ(;4Zjor07SQGh7H_<$IF7S1 zPP>qe1cT<0NIk={@6Sm|Ko8WIlONi=i4~&!tg?UpGHC4*&h7`|cY60slFO{M*I> z@|R^&{sC6=mEHoiEKlqJSVNU=gZbnp!l1iEViE?@90usaF+D8In3>W5Q<%W@+Hw~K zFbPo6q*L8#Z30JyuAX2INoqJDZm@CKuTkMoS-0_rbEan?HT)?z>ML-DetUn79mwjw zI-q_z2)ki;xny%XZaSLcNEE^t(UsvI>dH;#GBX+MOT+3Q-%vW{0QjEr!4= z*c63Mt^UCR^i!pH`p@66*!vCZrax4QdyKmnL=K>Fv_8!!v?)M?5{U4#C#P} z{k~VSY*GNq+P|*%a{QMm|I0L`e_iVw(BR#WMk$QYQox9sV+T&TAH^6ytI>b??>}`} zjQ8IC?7kiLB=L(W?o*z=`$@y)un++L#rFG--Q3W-u<)v;coW6U0}e`Yr@ve5o2d15 zYJ>uhcex)56qusa{WdobP>(+-5+>hom)QV5toa27?d~mXT095|xx3;3R$d9j6#Iv3 zzqz5d12ioMR5!A@o51S+R!d0?v;*F4zkf?YzPQgi`19y{6t%G+N#uTT&i8ki5BSsH z-^kwW=C{P-s|rJM3`frkTeo|7_UsUXf7pUw_HKH=8US~He&Y=QN8jJMdB05i=qzvV z8tB%au%QA@8aVJW8`f8_pRt@fJhp?!rtcq<1s-%>{X_vc?CW$5qE#4ACO@$hkdm$$ z2Pb`kdIDZ9gh+y0^dLnT5&*iw&*%Uz?;~D)fN$_Y z(ojI*()n)l@$$d@oZdk!wEpq03>WI)unuK925Bzj$3Myjes~J}vMlQTa{3>?@gaY| zOyE|-zwmolCwxvbxxL(R)t5-&n7pwF=#$t1 z)O(9U@Pl>M3&*GS5QHt(rjoyElDBH@RO+YUv|yXFkfG@U!8@(CR}h29lDK$!%AQ|e z+s8Fy!T4|*)B{-V)b7Eo7$4HX<&felVz%pxbnvsV+Y3sk9H(FddYCi9$fDpfOGk#N7HE#*JQUjA`yPb zPv&X21Gl;)oKzYEeED^c6}Bx;7aFVKY_fFQdC*zmZ&Oo%1@s{IwEM1O~CwC$$)lybFF>hI{_G2(qIrv)sUmiELjWE z9(I=89`E?F7I*0tqM5>{bKHZPz$6mBwNRo&8Tk-h(xJh-alc;5qK*1L(k0}HC*A;pPxyQ9gNNM zcp(HwkrU*&P~Ge4D921dCPSNnty<)!a>eiG4fJZ&xLnb9qN z^6;SQx=j-ezSTxu;Z3RPRtYF^wN+Y-k>QW5%w%n#4lvkY`U~(Ndb>2vbswB{Zp zO;({{IiUlDP5_PG6R`Pe!U3Rr`et?s(&r#Xb>xi0;lxiIM@XG8N~d{haOR>(s)2In z!%PnoRxV~SRf=)kd6TAIs(5=#&nJE;YHf{sd1IWTLhDjI3Z4(;PA0|Lkf9ODSJXdV z8zJF`(g8hU1y&~I6>e|*RJ7$NK@0~6LC!lMG=!GS_)l|h`WyNXiA|6#g3M7Dac3Mc zfkNi`vU~30as<_zDCo4=rN@e%Iqpei9RD1p)sRpS@!~{xF^0qV)KMpbF>!4iPHjyP zmLS2*2opzXnraGDaOe8WUQe^1YJvwzN-;g+UXT14cxb-6!yZoIqUr&7Ed^ntm}8#F zd4nf)a>AR5Oj(Z=o@{t5+qlYqSRVbb4^kyj7jb1B(|hf%8lBY4K~*|sV3>A_gC*QdG@Vmp8L$^suO=i5Vqdp)w7q{Oyt7> zMsMl?k7#)*mX0Sqzod;2XG#09S6}#sN4taDgv~J5MMJb}ZsC#AE)Z?~thMn;rbz;1 z83)q5CI0O6mJ6svN-fP$I0DuD+Cf~><;j6Wt2&~avoAHI0+!~RhCQMl@V81O?ZWE- z1rVP$YruHZYu_!>u`EvB4sObFfiPqlQs3BsYl7QUEa2nMG>H#4h&C;+^~s^qsFqZS zj0tu-xrBkmS|r|tMO-`&%xBSdBF@aEy<3r?jifON9e=%|w0aHL38#=S+FtbyKlu0K zCFHj1okRLp45jILY#$Qtu1~MM%_(wu#^wELW%UHaI$}BRsxh9Qdz_k`zBvXD06yJW zy|qbt!(u{x2yipqzXT6AD6J*dXYP&oRL4ePAom=bA$S_mEByqBit5t)*eG1w#_HVi z$^{uoIy-!jE)1n_uzo)}xR}z_?B*8^5=;&-&F)(ixgFFa>vhr5fNbM?{zNVI22y6d z*gv{fca0OXuD~E}ld|{LQsBUPxn&YH6cegjikAeW802^~{ESIg!6TybP6JD1_p(fL z0^o#&HAs-}q(E3oQyR}`9}iaw^HDbmB8`6g~z^OfQ9F>fK&cX$W8v+N+9}X2Iut^ye-d+G@Z)B;XiOU_SE~WeWi7GC;Q8?Gz1|lnH))k`6OyKdFyn z54fjOZSNI%BbCYvurnX794IlqcE`UD&0t0AQ#tZ`$;5lb_@n(m%eCWO?xNtOUtjQ{ zJKaijIX%WIN>1C`t5MgpSsaX+4f*?=9PdZK|M~ET^ewevo0H`C3aq(PASKNWTQ~kA5{#QQ*N8Qgpos2w=8ED?}3PL!5(tA>R|?BoebM(2UfT|2pTjS zI-SE4kp}f5_{Da8tZo@l6nfyC8;?KVEBaCJ2`PNl4w;6oj@4Qxi2il=sOogy#?MXt zRF|XA%=l6|{6G=5uI6G0`&XBr_i|Dlz z2d&HDGr$ow{uC>XRv51 z<;b3m3(@08MpPE!TC?QC*Fld(i<{VHh^jbmBg_`ctKdnDNc3BXRir}6s_C8PLHN6n zVCQ622iFN~^Aubmjv+|1ijZ6*gw!uoL;Zpt%m~K#XM8oZE(Ag&Af3(RUiub?)zT|rr)d%o42wd`Kfd#^uL6S z0tuHJRe?-#7w`!>c@gIXjWUbZeVy-9Rc^6Ie+0)XWp|rUxapdkz{<0f8b7!UMrw@n zxk7C6kw=A7-mxbWk^z4Y%hQFk$!S{D`=jM9BzhnZLBLp9Ivg3qx1&v(CA2niY-2ww z&Au-$)lTnPc&U`Q*Wx-^sNLF0TQ>IdIh5Ib5ZsVHA~Nu-hxhH|d*}g-Y!(!~eX$w$ zsz?K?+E!5Zk{es-Ur)Z6SvU-&6FixG*SgSMZk^A8=H2t9=vN4#+-DY?tl=ky$*x9yQBS;?Ok0%u%sYbxX)}z zU^ON3g=gLUJR`7Z%Qo_SJ3=5XX!Aj5-~hP42e3Tiu-Y+ujDzsdB_0WE$cGoWbS%!h z3+aM*YA5i=OXB#s1kOCGib34nD&pp4dDC_bk39^)i;F$PUhMiNeLOS-QDKF-($W<) zlY2P)yel5<#c~zN%)GHM)NND8y8^uRn`S{>!)%QcAbIi_WQ2;AnfSA@-N90|-! zJRvwtWZ_=K6}NJpYDf}w#Y_H=yUBm6_5kmDDzF;P8mWL? zyN1u_EIG>5JIL2G&skogBsuU!k#-U|U@!hj05Vl|K0!CX&pNN}kPXK6+I?kBZ^r;M z{|NJeyTXO?j>MPC9Q&XJyg8tp*|wAxQ_qq_UJAcE1EU7Sus^h*f@EwGSDw(-W_Bk4 zTfJVe;^!IRnJItQg7TjmFz893OsxsX7~t4or7K0ZtW6eQO$52+yFgFQ^6obiRoM6b zm?iR^s~AEA_qowZGld9~s14Y|BOwMNM`B{PZqVC3>(A>a@`~e*1!1VaIf+vheM9N@dB;Ex4jM| zglO-I9ExyYk&}?L^9lEc&oAHt-Z3&TpQI`D-K~t?0f$x9M^4G>an$1v|oB^v;Z`D0wTcXjV-Ev-`!KY=a@DU#bPNL-yTx{F&8S>KP5`qZ@9zHoU7 zQ_E_+^mtuW0QNn5%#n;P(B&azyMGU^U1fUgsK&QT5qb1ZY zDFf0Y=?MPYVR%k?ROi5CRO*h>R!w6qb>mM6U>FZKPJc0{qttaFi}Pmm%Ew-R?O&aG z-fFROBtaI-+>VeTd(APGzvo_kj#cLZoE$tP*i!S;3E7b6Yet%$ardJZgo9cU57NTW zi7nM*+P{u8TBqm{xhu1#VEN9vFW}3Orxa^h4)O?^N^TNG4~PdyJ0#qRR~aD&FbFXPRxzF+`tn<5YIiD4n%cJN?C1Um}P_EIX$ITpXmWC_?$-< z1Uo=mJMaijNihOa#f>;Z4geoL%y`sZqfL1{NxFkM+H{_>)I;jC0kYK{o;;Q$I7cRC zXBDK-j(|%n^caCuc=NH9k02#GVH>1<-N?L-{4?a^k!vWyLBNTQ>-UeXD-1W>4ZhAg zKQ5ZTac4yz^$2W{zow+1p7erAxxK@?Y){ri(HymhQI>V}Q}797VL{M_<|x|zgzI-g zyoc*y=Qo>H1ZmJOtGo9_^Q-Ceb1+KY`qM?Cn!T8HNIr|)#ZLm(_LKbvK^&-?+b3pN z=N4D5+6ytR9-h5rCat5x%;Ib%=@vE1Bk#T(7YQ2p0bUVf!VYtYw*x-xr#vX4OEqu2 zZBk1P+^x}70oaoEqUR@n%&O*2#DN5=+Xrmt+UP072V7np4(vUqILe4rs<%Tk%32hA zR2a}Jf8aLpNMA`J1a?cb%?De);4N1{bk-TdxbLcfij8@O@Vjk{YwZ)_Y`pS0ice=b zt5SZso=iONJ5Ag+JwvY>l{MGxBdiyt%5l516>$7GoHO9sTY`C6QiXK#11 zPm_UIs3y4XdX?&%9s4TXp(yYoq}R)avh4ARPS)1wH8%){*lKPxHeF74fY2}3-sl@n zyMoL@@tJ`=jV|ew)RQT%5p;4TckW$n3;kSx-sW}#kYjtviCf`W>kXna-QAqzha*V9 zm$cBQv?;^Npw8$ayk7N(Qd0Zw5}9g&CGE5YjCza$l*rnG4(w@cy2-xy!83kHyy7Ji zokOau7@T%54nIPshdylsmg@m0el${(43BwP>YlMa3y*}wHRkcMwh}nCZ5U<0NebC} z#`Q=U)1g9nJcf^;i8HEAxd7>uWfm)Gf&j^`eYmE`aUvR{lo(^XpmtRx&w;Y2eyAAt zQTHya3np<-?SN(A%)7mA9d7iB+e2w>yBV^Z&Fo?J&V^;YGkBQWibDRNL;H7YlmDbY zfePhMRS8wR7p2KJf|4LnWpJAx1L@npwkY56QNACI{!d#JXeO4wT9l7L8hL6OQl*w#GIhB%sxS zML2*os?9M${5{0UkQl5^4$O_*GkD}oyp70vRam3d-}+L#zYY*zbgRfaIUW$~%1z5a zh}Zj%t;#2-2)souX!^h(-LCg|@LBF~aIcR7@j;>c`)%3Jt;!8+o*Oj0nDM<+T56x$ zkB1*Lql@O)-`pTS#2!Mc5<~1E=<;;xisqCE-jG+bH#C14j84?lNdx4-jqLh9#9zq% zeh#=7ugYuPd$UGwquD=tYW#Lcdl-oOj$poxOH20S1eME8c@g$}*WK`SHNe(!7Okb^ zYN(^PvPmD-(f2wrIcF$|kZD=Zf%%7B$!9E*nZ|#aG5?=`8Rx$nPyFel&i({iP>tvP z0>OjpbaDz)eQXT}*a=^dhF=;H`5o2)bat3NeAucPpsl+b1B7y3$@UPuUOoPL>yjU; zw9K0!_S5)WZqyc)hy6z&5UVsktP%eDJs=Ii?|r5Peg5W`$$}2bi?5&sV){fP{q$J& z&g38_{#`YEL>Gl0!ATI@I$QT!2p%8tvvUCu80fpe=fGGp`I);42GZ*fui(4i0|nT( z-`jk=ynoaG^npVH&%>G5uKug)S-H7rTA)xGw=?v<-^85(K&0WJUC;E$KnCe-=8xmH zx%Mm93rROW?&2=EFWcEtZ9`8kOc!$dj@#GKXj!l<827m!k7g`4%;s3Bw)Il0)Wx+Y zCj)v$)E_pa$LtR1(@YdQX|G&O9XXFtqu#u}I71eUnZ7Flt_dC6mk%cw+oP;M*v)Gc z2N|OJ_*aRZA<1ThgpRmWbWnMFX}HblW3@lGLUbKOu;;z1m#6~VQcF!9mI*{~+8zMN zaA1*>+R7X4+U^?d0Sdv|Bo9YClddqLqabP>Qq6dC0`JBd-@{n2l^&H|JzZNL0BuOF zAY(wPGiDP;rYLxq!-jTqU+;?wYkZNuA2Ah%=YZJGFOO&c%F^T!t~CU>wYj^T#NDC3 zLEastEIQ?BOl8N=bKNP_b2eM)t=ysN<`xe;HhBlr4W<{*9MSuu7l4<(Rej)WLP}y- z8U^GdJ`|m@T#I1UBd$gxjTI-m*3Ajf4alY5CXaYrHWZMk{kUj*-8=j6zeytitW@2v z!tTy^;S}p_T~>BjWi3bQ)bntnZ(>vhq<^Yz_6(7$uNJujl2MSg%`VzTGRdP!fUTwm zXW~t_CBE@22uq=uiY;#X-J4KUi*9QsH(uw@l;IX5U4xo|HD~{E-vXdCV31tdJTCEg zoH3A^Lm@Np)`Sov>dt_^>J}h=G{LkDTqMW@zzoLc24RkIz>Y75c;9Ub z=R!PBXa7k;LfhVV`}1{G0sM7j$OR~y9oV9gUXPRd88P}AqH=fMqv+II(oA3dQUxVb zFFfgtk2-HduFAoIs~9ZHiU6ULccm-r?LxZ{pn|<{hGvWs8>H-Idj#M@s4;cI?9R+~ zxVMdDRt{)+yUcY!vP-#PpZMv-SBM+-NSn{j)~}uRwoRJXD+*{Dw1g;Sj7KV;ZX#0c zGq4QmKoh|THTAj}Jt?wWAZP4afdOH2w0bL>uktBp?k3-?H6J!Jl-JQo68IPDaZB8_ z+%mZ35%2}#Wk5#Ag}0B}`1-hCXA05{Mm$&pj3xJ*UFJ8H>R(6&AIY*j9OGIv*^-Ck zKilJ*ye$j*fKmZ;8qwB*#0UaVBa6mJ2xy5* z|JIql1Jj6A>Ydb4&k|v4sBAs~8s{mBBUg`Zz-LI55p8JMV|ql+BpNnRBn;P0?UOt4 z{#>>EB}nWYpRw$vs$u{LITT018&m1O3x&V0<<6-v)VTX!&-g$DN@_RoI(GYj+ z+l&kwk&Yz8Y1EoAghffGGO(S5fKa!*5GU?-Lct{WXsH_WB+yf!{XUjls)PUwrxP2J z_{V+3KZGDs|AP=j>i$+fJYjtLX<^m{6WY4#YL279=Tl z(4eP2Rq4}iGqw$Zt4LW7JKDB5P(!DwPb+MIp~;n`Ly72CJ`V+PTvFH1_*;mDFTHF< zNpMfM=Ai1ktg?GAJh^jvqao&Vqga7k4wmZ!2fikVp+))n7pfI?Shk zZ<`4}8Z}-&F>I{crV!Yjs?k+L#_9l~=;y`iyk%!|A20p4$$(H92w#3A3|u!dBrgyX z*d8ab4;!eY9rPkq3&ad%vKBtQ>EYq7Xg7vxLDFCVNv<)xtHpqnZ{=RR-pCV!h={2U z`G&|qaJuTT9B11y2k=atJ=rTBKEz_qjCu=##<+&?B%XLuY6Y@#U{qe7_@x&}?MC2| zy_WcAN&Wj}0t{8Z2A6V&kA1>#3iChKQD4F2XY&1$YTOs6wN$j@{_9q z-7iScVPgPUpJwCjL@3S>Sw zJ3pQCg@0PL0NjiCbSFS;xmV~xs=!X10-I@BONVb^Py!xbOfHq4ufapi!z^Ezp?Y48 z&bOKSy^t2sz80}U=n_!fK_Pxv31oO4I3V~qb^PM8R#7h_#XKPyQX$Pva(-Qs>ZFMr z42>;_tpf(8jOl~WLiNF7Q@7#D4!2TnucO=kjz#}bZgogH=oOJ%ah zm{M`{_#y|}4P;8aZXGT?dk#XJLfz#g$Xp$+N9qL#%6ZNEV?XcdTK6Ar>!QO!&BN@} zg61(b$GkPK(|p@{G;A5j=jM8Yg#@v@GE^125VYFpDOqZWq*IVRNESOtnSxZp_4WX2 z6btlq_RyDrdOS-P%;4dWkzAS1&U68?WJsdU=RNQ8;G0OSCqv6Is<~8i26z&3MO8O8 zRYT}=*ubRC{#v~j;q?$-F%ddw}bR#h=s-=sDvH~P#3S2265NB^bw*=iu3amkjjS&YpSq<(5TA>gS0mGX(Ubw zhsO6TnqP+AfA3fMy7&DYrU*Qf$?G1a>1_jvX6|Wn{Ds{SA#@UdJ2fXP-<0-QIu3Ar zO500OZ_r*POnS#Ww{<2RyFnRRcuyY>XmcsteX1>Mu+%|P4DIQpS@uKgrVEUR^_NzN zxc@pPfqfYI5kugoz1csFh`c~zgBb3X9>N4K?b+w=QT#|51LR2A4KmFxybKZA_92Ia z+fiycHBI>iKwLvq>|01Odg6yt*by7L-#w66J!UoO(P^-?VF6P2&C>@AW}>vH;_|E5 zlUj(}Nf8&1Dq7o*V+Ar>I@zI6%(0>IG6R+lczm;v!gMJSg)w`f3N8C}B3V{!!9`h5 z=gzE7$mMlANscz$2XI6^TzXv(*W-EQhV4vy^$-gV46pl2BHT@Iy6DOoJTW4Oe~76e zo$+bfpbW&KY{9U~_fC8E61odb`?@ottn{d-7_sI1(=O$?JzreNDYW&L;OkA6h$+~> z|B9Gr zqGp$0l_Vw2)^q# z>8+0G(~IrJ9xDD85};CU9{_P=x8*8^RF>{C-rty9kD1D9G0A7oUV#I$lahnhJOlxd z-Mz+XhwIF4j2F`S2Wl4{(UxDQI}{6yrUzJ}9~h9_9H>{=vHLX^0Oejc z>R~-2U@Ec#0BD{s-I21!&C|YB$paWD3T)U-2LpL=MTO<|me_3al0|-;J@^MOuw$6_ zyceM)v1jMkLc`Flq1r6iP9i^_7NCC^8x${B3ADj*3}(j)1r|(IWAXC}{ip(iyA)z< ztZ~W=00UtZYOdlF$C@F6u*U7SXu5swjvjT4>}Uk;+pfIs3jl9pTXvu)v`B;|bL1N_ zjMURS?s>5dNQ#9$nRo#TgvcPZc%{n3j@HB?Fxc49N^U#3RG$FN|12&&gmJIe(N7O) z_qg2zU9{^q)(4*40i9QfOr((w2t*XD=V;G>UFr^zV?Q`TfKcy&uZ5-|x7J95-fYM5 z-Jvbq`gK|N)KV7aYdV$Z8+F{vVmd1j#uVi_vo*`g;;Wo=qDLX+H~X}QFsOs$0kbwb zZzr|@Yw(T34mQb12jEKQ<~GRGhu}?j)?)~NlxseQJ%rcqk>Yj5#VhG+ zSXJVkzeNPhJ{LfeH#Z7EXXfOt?0VDRc|xaN>U|i&iq^^2g@{5_(&^|Q+^7dvKci5I z(@|h!zVR;_^v z^eEtxlDOeZLBk7m#-Z)dVU@96U7Mho?X2>|VmC_B8db#frrxtB|q$(om4p9Bnj!b%Xxnl0u$cLf8{Tf;^mp`%3>NR!VW67nkNpd0|scV(!9pmj>_6QY@J!fdrAzZ*#LG?1mB zD|-P%N5VryzzdS`z!03Xo8L>k`;epTdQYKGP>Sp2Sou*1GqBD@aNnesC15}Vo`Cpf zf1m%UZGJ~C!$#}=MS=IL(dSP$Gj{_W9q?Yi-pmFecMW9I&5kZBHR6+xz{;BOmsQq> z&G+`5XZ9oE!zhHA$q4<+x(Y&tjrxAuqmMVTU}ZpxT7Oz(rpfxaR8wLHd~k?0mOnV* z@Yo8=rSF(NZ@Bm;x}bV|M#I0tkEHi+lm@u18Ti983^l-F_GXKJwAFt-wvi#Qivq~j z=d*$g`rJ2VLwFC6-uo`F6&1`KCZ*3C4)zpz2LI9h^J{w<7Hser2(d!HMY!Gy%s{9K z-ZjGN&74KJUyBXqs~_ipCg1JL{xKJD^W$|+D;!-EpbVVPrGBI9S?%}#*dWBHScvNn9uMW#`FyNHl^h3EWxaZmx`0GxnTGj1=+CmVx*eKy}O0Ujp z_P79_LjrAGGs_DvfIW{)rQ}d8%6X6!d{&9POdN)KqNB~$)PY$v z#Cs@omnJPkk>}%`(nbMyrnTG~cY_{lx1)BZFi-WB-MvI7EJ$o4y0EHcC#h5Rl$E}! zxE1m=7y*4vgR!qEEolHmOJUtg;}VJ4x!ys*JbD|OIosVwP`>YOFO0WN*M5KAKxQ9e zP~LKl_!%Z`auf>*h2pP8y;h!)6-0Ow z+uz#FN%5{tPDfAev4@b_hB=woE`-#z9)nsYBU<)(QA-XQg2g%kO8`>_=HXO<>6Bw9 zw!Q+w-{%oXru8%1Odtn%yow1LHE?*?kC|_AInwMM1Xph_sBq!k{gd> zT~;i{_7IW+n1sD!HHRWV{ZgpKO#!&MvVITi^>cAK+S29XKEyFys{J7Lg|iQ~^wWX) zji2)(EbqnJSPHlDaUb?O>ju(*oWt8WLUS?{Hre_>fxE&UkaL^Z4vF-;v+-bSH1lOp zSi2Vrcvg_KFcZ}b*3$M0S%M)<4`*S09Fc3n?kiPfi=7-c+s)P@heNm~_mRikuh%)y zS-E$OZ~X0a^VgdiCZPZcg3q9_Q$LunWXd}uIflq7SFBkL&^p?WeEM`x-7nsp-+b-n z+ZQt*023e}={O_{Osf8kTK-|G`+-`XD)k#$9<23CI=->x0VsAIi09*A9bYn|UkNV{ zGPXYCxts&^a&mZo=y^z5^fTZkQAjM^i7rWtk8kv*pL<8K2i5$iK@ScDaPIkwbolFm z;5{GYlmxzLc|aCI{r)DN*WGzz7trub4)8dI=HDGlA3Eaq_xOxthwu8+H~DGR_m}mk zkkY5M1+s`9rvM|Y^(Y9y=?-fxVc4j35#DK_5t@Qz)<^057(%TZ0`0*7uof)whNjg% z@qocqtXuO}Dzu&*zUuW=gIhdBL4k6eIG-Rhy+is0mcj)DbD?97W(HE)-s01Aaon69<^xIQ z$~oZey*@YB-RwTy#ucD{b`J`dIkT_UkZY7fBwiJG=GLm z2jq~?Y!?T&0pOr#>NTP({}^KfI=BpO-t8*_Umia39%Mg=JK}r?g`x71BWys8Y<$-9_Pzz4Ck(RPp&H&y$q1@?In!Jiq=y{2dRFlS+3PivcK^8QdzL@Rc(~t^wEk54&>w2OYWZ6GT;<5ky?E|# z>hX5?{WPNbei{M&zX<)m1xo!dVi*v-K*Zh`(F`e>79hkZ`LpJM)OFw9?|m*=0D}dL zETw*wI1KGWh~bfA3n~yuKPxt{*ZWo|!CKGy>l^-{!r{M?s#K8py?sMa13{_sWxcR| zKDPP#AT*gj)j$R87vzcgG%H9z*DD^*ho}gwq=P7%_9VPpE~t-~c`hv1$v1aigxba^ zyhHMV_wo+~ggTHilz0sUx#hAkP28u5h-PNMfqngk@6+yGwS7RlATtrLPn(}PC*Lq9 z0ET*h!B;L+z8f#++x>chY1ZBXunXBgC*=7YIem=|%IPjy%0{Z#{T}V(Io|=?*RP@b zJPLkuQ=D!MJGh|zZkz9cui)fd?aRAsxVtI5qhd9;n^9lwjNGyF4$*j6#s~5N(nWix z%w(+XRH^OvpjLC+K-&)M%v=f?RpsPi!C#6AvVtGQy z{02sRG}4Mhp6mk_l8v>@t?DkKyzvTfp+p`4K=VLq`X1G1hfCQ<2zf?3xL!bHOAncI zZ_V4zkTHo*^v#(Dx@r>Mz*utE$qC6!`1FN11+FMEgzdu`fFO}c>eC^Y9DQv0%eL=a3#n)7tRL3kZ8aKvHA zRwIws8Gt{(nX~^rqT{Dl{Ie4WE)-jBG4Mkq$Nj9`)ri}_0JIC38LmHUUjEp4&)1Vp z=N)9im0{SqBZ$!TB&sx@?@;#`YRx*Y=(T^q=zdCt?cI8@Lt?+`)#dJRkU3`zy_}Bv zMhRq(=6k|PRwbPwt`?|I%t-5P%WR3voCEm`H?b!WQ^8$Ih=v9@n5i2^1f~7!+AiB; zu{>KZ)EuncAaa*(t@3DGsxBHZMmTTJ73`tU(U9dQk{ANNr!uBqW5{T@$eH4iWOiE_ z=&lGk~el5f+^*5XJ> z(@`qS#{2oXYm%MQ_}LNuUN3QvtL@A)WJ90ND~S+MUjI91=hs+SP(}cbko%P^`(?QM zr!$nY-c?`tt$(~~ng=71WTJ-_f(U*>l&)m=yYusXe16VP{|DzM9G~&qI`whr!ubgi zyJoYwaemvAZ-Nm|2K+l>I1SAXT%Ske%{Z&)vemJH?awV#) zh)nwsEkM4wxmG_;Ua&zi&}Shj2o_n=0r5f0w9A=aAh>5}hj3ZL;4F~?#R(Uj+j}QX zo2(s#ID>`hUU-AQ;u!|F!wYZ+ufea+2 z!hHVMYkvdkRl=JiXG*h?HM;lyT#TrnWt@S0e)9sw*|^oM#Q^0 zx@BLdK)A$tAstZ)mW={jXrU(DYJ0nJ`{#i~P6%)?@7;O6>1mCME`57loQu*Pdc4vC z_!vTmq87+9>Z}#Q;M3=ibl*6Q()JkJs?83^1I`6cQw;a#WSkIlH?jwo_cY|mVv=!- zJ@e{t!Ky460t%)o)p}< zVBkihbA-Q!Yt!73U^e9zU#H|D!6m-Cuxcl*3MpZbCvi9Lmfia9v8sz_U6=i)kjEM} zpsy5=1*=z$M{n8RmtxY-WJ4h)N`DH2MD z@^@~CpLYcB!sIhLNEQL=UOR%@*Y#KxeDs1SE*&kP_feOipSj5cfD7!9aX4GBl0xJ| zuVR;NuDYgmh0(qPEe_Lcw&%e@q!;-lkiKHomvhth{_uirJ!`+W!B8uS~{suXrP90 zo^C<*v;p}TmVoP9q8-b#!(LWz88mB8+uN?Vlpe%xOw<`8(w8+eV10}Oi0*u;Vv}14 zOsvXOkQt-m-DD(fnih&g98qi_fmd;<^XJhK2uLQNj}wIhZ2?iGEnptKUP4|i^4Er0<@U7$#x5gOzoFYsvl;G+Hf}&iVzrj zY1N$AkcZq4&rvx+sL0O{pSQI4Zw2~4avHv)lIzs&02{D0IvgzS3d*IEmGIYnH|&Dr zaNi%|Ccmf9%IoTUuHL#+VjY^`8TgggIjElgG z!0Kqtn+V@_VKBi2_848xB)PXIP;1z@6P&0vo^AcBIq~=MO1`e*9De;vtNY>Wvglv` z^@odH-ybeu{(TWcL&mlbZ1bhK5VV-@=xCPjFxiI*R|}ilUt7TG@x}Z2@!@(GASTm) zw>g3zl%2dDW$@;8kN(P-Kx+CZ=z*v$0+C_#fk*u~pp^^*XZFh;2Qn)5!u!Gd`wuOo z{x~YT?~F|_lK`&VPrv{D+Z^hV5B4{tP#s{=^Dh4dRH6M(#b!nT8T+rtWDXX|KWvo} z>AS6xz)Z!*Uj~?Npr=5(*eNc z(A2;)d@D%)O##UYePh(FF&10hrQFBLa49NmDx&CmOOtpyA$J)vRK+Rqm{HWH1>KX7 zde*Zl)P#e6>nehg{X@rbzOrb z=!rr|fItX@1Xq8i_O_k2)9K9ozxSN@k2`iKcF3Tu#hPo*F`jW`u!w{V>*jPuuTv~y zP;*~4{0@x$gt&i@SAEwD`Nl#=&sFRld11i(yJOf{3xqTEQJPi@rSMqXU6|@f&Q(L^F!iS~zgeQq-J#SThHr)~#Ewa8j z_k0nd#=269)?X8RZg{K8ZW3@?u^r5}4InfhAQFc=Y@Pi{=^;68U@`L{AMT4hEjhW0=q>6k^ZjWa>HC{NMq4ThRt`b*mO{-#$z9ODG>h{bVb$RUQ076Ed zQ|kLr8cv&N%A9hG7?m9K=j0Y%M^v~;qs*E32EXBGy-uu?OhhT~7}L$HWi`ADWN=3F zHoxp&PM>Bkg1cX^7|hXel|=XhSup7=O2cNQ3kx*<|nwajgo}Z;$rkx0cD5mI*w}<7sBn zMzxs4jN~mCxSxbNaN0S<%>(PBj{M}e!6iyxUf^s}ebPr2dF={DO%k)rM}FCvvp=&$ zy-{ne>$%vRYT=RZpkBg*sEi$u<*`jIo!A|=y_HUou*ci$wwMAO@8Amt2SR9D;Sfgq z1?Bc9lG{(#t1l1s59ib$um%6nw?b`xb*cv=FUA$>5K?aG@0j7_~nM(rq zaIaE&?v3j-4~>wHBdJB}$$xEOkVvBsfYg96ggcW81$nBgwC!hPBZO3CIYo3F4iI_S zsP=)xqKj?RE5}~y3)9|=i@2W32zR?1&(5)8x)YXhw*g&iwzV~OIURM-8cPsHGbkZ( zrK38iuG`&yoRdw4jvG)bC*$&Bjf{5YA&KIg;hg^9XVJx}SeWV!-KOc_F*{hs)m`f? zp88LO>r8om&#d{anlH~iWZ7xkyP_}|Si|NnUq#+xGNGUsaU}wtojj{&IyWGI+uM;P zdS0n4u z$Ma*={NcuFH%q@P=Y)=xle|Zr?zM;bS+o%l8XBXxcPa1r<^^s>g)^bTFvjV1%=r89 ztZ`ytyFB_((T0iVsE4Zlz7y-1t#{!hnNo6X8_7`fjyerUA!MMlmeniFbAH#ckh|&r z_*Oss1#T9)iGPm$`9muD)4%?%zo>>#X$aD{{$c>}Oqfq><{@eT6a#;hU3=d_TEQ=> zj4C6)ZP8%pheiE{K7Cg)K*6A7U9h~Vtd=OeOZSHzR!`$|h+)Yu4#qEW^_gb9gN6BF z|9HTDzC$hi)uuS;`e0}Sc^qKzXr6BsD~wDmsL1Q|LY;bjKBTw-_8%eqS}6aGqn7iwfqoc$YZ4M=nE*Ph>hUhj_!Xz~A@&+GkhA^)w<>-}*d|Ezn=Yd40iB{gr11 zIzZnnGcbr6{ReYFBRK4)hDKfp33*(@LzdqODchwGL;-5lD#gu>oJGR(a9~zzGNNm# zZ8VHYLvT<53@Y2=_8Jv75B4(|boHue1k_#!8w_!|t^kLYqs?W2rUz4ky!?pT3nZ4K zvegmLU5y{0*u#!D>vFlxW)))NkZHYkzk*RcM0cHyb!1K5fDORPR!b;~rNr74#&?4_ ziwCUB1Q@Sj&KWY{iZiLh^MQeIC44z$$?hmR5Z8WDc^kMgt;K8V&fFe`QTCCN)0O=l z%$pF1`J_aZZ$Y>QGcu6wh%tI=A+Z7j%5~4)mifXEku*gR;7x1YwdaC>2oAxF(*7_e zM#mtREZSbh)jJ6UP}F<*dZtN2heV9b8PhpuA!+^a%7LVr#x0HuT8c3Ljkc2Fl-U z!r$>TXh12G^Jb$sTno@&FM6;v=wYKTgYj$~a-pxhc(|a~J)+HMdl}XopUy?0QrFSr zWCGgnuREn%YZ;f`Wf#`mR>mk0{9@?2aq1lXk-+~|R10OxJAp0+b-673GQJr)@IM@@ z4VHWZ&_OTdTAR6dU`-v zvu9Ht0^+5O-KL!9-jk8^kvap&nGRz|OMr0XC{&*_ZYf^4+yv`<&Df#0FPuIevn7S0 zW=e=avb`!RYV_B#WL+wibm7E#60ti^2xF=Dv$8`A(w7a)xSyNVC9<~Na+!L#ZH}_h zTE+gpIXpFn=|cbmnOAb4-VAddJS=w0E(G&X+r21&q=rhGY!O*q&T(LLlFDn<%ckOEDi# zaoz-AmJG~wfqTNTa^amVL`v-`^QdJ{jj|g0z7J7c31r~B-?;Yl0$_qhJ9%v?8$hR& zC5okU+LBs(ktUIdpkAkezI3<&UT~8!QXFgS1;e7uvVWHfo)3?(M@=99Sb zN6E0;^R5pSE55>L2Ql0V3_orQdDh|6;7{u!oR)edK^Hv1ApIJEjn3Xb^tzMoolt~> ztOC-m#3?!nUx&kK&+=y0fw)JZRb&$#V}dwIG^C8WCxv>TM|VJ-)L?R;N_a5q=g*8J zbLsIWu{Ci5D)RZ!pjTOXB;D52>+?wNF3JD_J`vL7Hx=)%gtv1gi?2=>l8cDb2GUA? z-&wIQ`5l5!Pt$+?7^!}%jLPpY{5Xm+zctbPR2hB!Z(%m7JO2^oAOa|)$Vc-3y#IVy zH$gTCv)4Z?>FKO~uikybudbS(IG2#=10uR3JRw2kLg|tY5j^=9 z=gqs+foTv7@}1hpK4-7`6Dkv!y@LG){Ilr37XEbE|Msep-(B{%KG3(Iv^Sme*H`@> zxq?^wuV${`h?7v!?{)&nWu1x-VRMw{<8Tp@YHC+6GrNGA!)qG!m6vv@MkCYt_^MT= zJlRB69+P>!&u$)qE#)}&j0$-#H*nR>aN6b%=PEplB%Ah}n`CEIFfYgLRQfEl&fp>N zVgV^_vEE5S_^b9NAj-WDp~s)t=ji*lUr3d|7X+vasTO>Mx{Yky<7TXagBjjE|13>T z^d2`utY`&p`$Q)cAO3zL5q|!jJ)ItAu`SrK61E`*$!kx@;XzeqKGN(o?`<%(dc?Z3 zSo5_S?jyEF2vyEh1~Aml%?~LM!w7?(q0n0e!cxfX)uC8fS`YV4q(e zg`bZ4Yg(`LL+CF8%CJYw-|HTGpGuIi%J?-Rejk_h$147y)&7XH{eO2AE5n-^M|}&| z^0mo5h`VhvS&o(q^e}gv0>-VMkzi3FJD(O@?OgCPu#oAwH8j4u&dz&$ao< z$=B&xsgVCQJRh4lSJ>)^!#;?Wl9Rn?jWL$tJQ+g(c}S7l>l>tKATeNPoZ|!Ed+b5k z&z4ckSHLq)&f;-h6hFguAh2zB>09!2*zU-xa+Y%lxk#9PogO2lwJ1bwk(`1oYTloX zIEQqdnL)eCIZO>jU7*;#Ip=8H>~g=qW2dz{0|)g|LST}U;`oF;VchlIFNE(&LCJu&`CRh-{|f_aK<(uU6k-mw15N2^-8wO#S7nRYQ>P; zIWl)qJdS2MJdKrNdkr#$?tDht&lxi`w+zAF6wibVomIq;x-DDdI2{=*UAhxVtKPw9y~F1gMgq2#ZhFpi#?$r&%8 zAmxD_@&uh5uZoECis2vjyVU==BlCveeYQo-1q|a`rD z+NB2DR|stlBn|k$=y*Bo2CDTL)#HsRTz3bkN82fB7E9Vqtks0u>Lq$C=8Bc=cZm(|f$02f)ID zMtgvm&*~Vc!Ryv;Yqr}XkbPD8 zfv8#jx_=&7^a?3Y)pm?_oF=dmp!&^&uubE0uW3Sq7ccoSco+V5Q}Zm`v=I? zuP=U)5oWWuSjrYQ>fplmqXuhRT$DFvrwcsS~EM)3aS%!vp z29$Xn#IxWVXI#w)$x(lwfrg&jh`UPPfQIeTaOMmNccRvCXNT96OAr>8+n4~;=GqC* z(fESr%Jl)O=FIe{Vdr@cW(Hb9C^MUivGJ8D8J=vfvzIZnFTOySmSV@#r`=iz}Dn%EzXY)XLANG zwESgR`#yNt&LW7l&N*0DV3PR9q_KkD_Lnk0-GlsG3mU7I54I4090L;n>FydO4wZO% zSK*io<1aS?u}ID5U%HaEvX7^jxB-fin!gp$0Ezr)d;T#@g}q;YcQe6Cn|`BA{qW*n z-Nwhm={I+Q0GQ_=-^SnF1!&fObsIuz3$`jO17Idej<29SCw}?&Q`UG?=b>>7X*bZX z(5CryDK~*3zK{`1V27h5Lqm@MZ2XRe*$29EMKm6rqf0S8PjseA|%3ow2nRcfFBX2u#&CX}Y{lTD-TxWHzlY=Q0 z{(LHLD`Rm^W>zAEQChdm4>ykzqit@}Y}eIExH)QX!0>yy$T+{2p`FrAdCKj-ku>CR z$_{na`L^oRUuI1F-HKC!x0GS|c8E4)pGPN%5_B#o{__<5-N~}$pH^IJcs3Z+5&3gy zV9L))3U)>ugQ+{Z2#~_|ho1w0uhH9GRw#}UprDX!IB)mii~zDk{Y`xU*$+|zTsEDs z*DulIH5fX+d+o2T;#U`e{JX1wkK^(u)u`}g_x2F}{e-G|@ngbiO8|zs2B$bc3;nc_ z>c^gNDgn+bkA%`X5#PG*6E=iy6-jyny0`3b=(z*U+2{QUr4R=sese1gQ?OsYh-ki*|Bdz4NWxggGmA(ZTCf<+3kz zi1!BKojYS{XUGzE{dxpS~I!{wT7b?=I8uW|nUh&?A>m!^C3`cu6 zh`} z+_4soP}azI7I5)tf#gogq(Oqm?RW%85(EtdPBG6Q=9Mp`ew4tH{jT7c8cZr1eHKrOugWyp2h>@< zOxsx0N&4{!C{81&k-DQTmc~c6+F$P=BSSKpA+cK98hL9jc4-d9^%SDl3{sub2JBhH zJy~z|dZ_mShuJ7=f`Z_B%ZBK50M?z~4i|uWi|vlv2m-R@lk1jga0t?lc|0Y_Kz-pC z;S^K?$%|^MfiNUFoaX@uB{c=f&+`_2hr>M_bMaY#Am#qv@e(rve2c?JKHum<=3O-E<`PkYo@-DpcNkR+<$09ZZ<~AEBiAQK) zik^8KaO>3-5*jPpDMrHAsYZ#0%l4D8gn(4*0)Kw4X;Ak*L`rww=2|hJN4On|5Jr2i6BW=X7JLyr2w-Kem(cFI)p zFL~j%r3l%)Js#eHxFcg$8v>}1X)gzRR=YY>Ne4mg63!jNuo2u4>`SKvoWMhn;EcYI z)z;@O$<~>KqQn^c;0FM#h3EKrR~UMg|5mmey%hn^<6M5lH+~=~fVT5f4DCN|egEx- zjlUg7>^GK_Eu3=qJlzZyO)%>|EWg~ebyfeqSN3j|y}RCj03M--8SY=>aZk-}2E>oK ztqxEu08x#zFFpFKo8Gyt>X+Pkz;)wD3VM(Xe>Lz19q3Lzj1f>z{}AH(NskPOeIAoMds zpiz+dLDi)RQdrUH%%2deNa1L$M~6aF>1VpXB=rXRYQ=W9Nn zqkg*38QAEi{ivI!@fe5q$SWpCq%Z)OBkFqo7V+8Owv>Wr_m#!=BMzAfI@XQz;d$sS z0Nb;ha+z<29611j@|ZC16-l7hn;bFN1+ZnOfa{Sxgp%^&vS(3uJ>9CbaISgIH3^W5 zG)L=FPPIgzfjCNrzbxB^i^u#KFrMMv&jSfjk<|hGPyOT>!(oE}XuHbpGpY29BbirJ z#b3DWDhVVqY<4yc_=_BpW*dN~0f-iegO;!|LRsl;gtfu6KGuDAiIRg4p_WB!wO<&T_x;F4&8>H!a3e+8%43d1@z*xE z&5vuWxmZ2=AgMz(TzxbSmdsV+O9yNfNxage0fN__<<>{G4{$eqU4l73TQEc3_!IvK za`!?|=fuy0lS@>o7s?9f06`eJz|1xzCPCg~-SoU9?|=dI2>p9!Wg7kvZxqR#AK~<3 z%@}(f3+h~Y_ci-v*#Ry4AJ23@&e*$3-RB?yoxu778cb#Gx3LACLR$OPXa@o5`cFfG zKkAOF<~+%}6fsdZM&Mu@0#j99^d5E3u_;ZB6+)}p!1gkJ)4h1BA>O6SvfV}6Nw9uG zh=q0ioNy~LO){l87Ds%ImHBWgA4@~{e5^gGAOuKfL!9Ky#t2u!m*dUxJ~H9{BA#xGvy-6dC#u!63Vt*w^9cAR#Fpe&Jz^l;KJz zc^4rN0rRISga&HWM^_L0(67I!Lf$D)RV?Y4a}mB(BuIjPCR_eZMFQi#FW`w9GH^bt zl#kcGzvXvq_xP1 z71g@=qYE9?639j|c_OO$@Js}Qy+lA+S6#bzl)a_al{~-{Y9Q7yuzF3PBsaA4h!dmX zig+|$L!PeimnYTF@s0Ood;?^%T!mTu596C2mDRf;Ob8l7?BsE0%8*wL#6v5b^PgkM zqyR)<0l3En2oJ|Ay4v5t0FiFASC(y$1=-FJ1V26N6$xx|AfDA(0%$hqS+6|JEAxI1 zxOOGed{MK^%^k3GgGNxP5BZTCmz+EV%;&QDwNL5StD0cR{|{Gn_g2+hzQs&K7%>jH zluK&RA%B!}=BHIHeg75z{u};()2g;f2fB=3&l&%8RpXB2{Cv*%cisMF>4%gD7;3D*pIBM&0sr$%_^*ws&puVK8TL?%V@Frvt*}(_O8(IFsk8G^AH5aruXa(j1K91BGA|XG0mNl(S{Rl z`jU6SrshU7q`-!F@j0_V7Pe`&27cC13C zn*Hu@!w+M#ua$Oq&Dcyln9YRsL3Rs!51G*`#TgIxA-!(Qo@HW@OCZzYi3-o` z2v4M04hI~l7Kaq@!b!%u+0+lS$l8#GcO75JwsSLTHMqzrb*VS`WM*by-bMRb&mA8k zksr{hXZ$c8ppHSGnd+&rYb=7+$EQvztKZ3fg+u^CKmaXIgJ9@1WRkhcsL7zkjbGTyW(z2$ zJ6FW&zHd|cU?N9|a{Su~~lg(^dFGvDNj7ps+ zuLNlLDz^7#23R<5Lb+xV#9~Bm7=wo zB}}!Ly)*Rac}H$lue+NFj%jgx_u{q>+r27mA$8c*w(vVV?*%G);1lG7i0Ly@?#lQk zK>((-&L2cRgVAlbNuFS;*kdnAkTKA&*5XZ~WbL)CH#(*)x36pkFpwwyKKd4nX3^V3 zKTYUYSn-RR18m6vFL2mtdfUfJUXUttENFivRU&&K=Oiloq7NB5y2wUBmkw#iY1!+s zXr1q;u1CfNLiq(Ks-!<2XJYpC#vTKGWvFmKGvS#(Zc&BE1bL=zFl=LYVruzi ztBtympI@sE!Qtc~>X!DR_fF70`J^R^;c8gMNfkx{2kjXcHY3|C9|A$3QludgyE3;e zE6oE$WIMe@^dp%0;&mCCZj;XS4VMmg=~9(UQ_b!qP-1juZx>T+ zsDqF2487q8ULivMLgH+3k%H>=NX&=dV&az9X!W{x@)M(zstd$zG5{A~X#y8Y05WKJ zUh>;MJ5-QA8ixro42tm}l#sn|@$FJVK*)xix>6^ip~=z_ZJcL(h(z!(j|WOGiM$Zc z7?JNV**dVZ{kraOAU>y)x9L?x-=5X}0>3v1*uFlJ0mg{Q&VytZ9Kx?RrdyoxW1ahI z9UTe9bBmpNCF*+JfgC@ovU1|?SW~i=ag?qV(%e?Z(T_pn-I_QhHrvOe<6C*#v}7fq2W=iCE~P=u4`h#QVs&7(uNAP}%ElwS(%Z zdWG@!2-LkmUjTv(~o>5h&nZ^VZXLSoW)Z(hadF5ES(4Alm_ zfe;080c1oVb$wwsf&5l~@86WY=Btgpjf4Pi`tdbTqJ7pmZz|fm%n9C*k}qEE_v8e$ ze{Qt%CnRnh;K)K?{bv;c7r1+$Qd)q8CpI`<-fsX(B=4<6f;XAsNQd@90z%@zw8Q7q z{M1}XlIRGCzX+ipw@3ZUyT9LDR~#j7QzMYM5Z>T@dm2RQc=6xROc234(mTup!s;Q{TPuA7B6E`;*T7TUP$mK|DVJa0xYG6T=PrHz?Rt2~V!l4VU>{OouQj#zS+ zv1rDQXmASz=ejLU%J#_OQBK0gSG-o58-&6Hf@*KZSE%Mu+P%<@2#K(ND*YkX?H_uy zc$I?i*{z(U729lme^1}@*S15il=1Zp3v3mVgE2VZOd7~?PTorUM+nw5pueN?$=uz8 zq$V2DRv&3`3nAke4H(dtULy992SFZ0z(h0Jm@494LRP``J4%N)k?8RHsxF$hGWSc8 z44rGTR(cuIrwy3L(SThN!beC>TazJYx0L-5uotuvig%A55{2hhj8hyXNVBE_aDXfpNxI{uTyEp zyXG&n<+Kz8i~0)y&-=y+vi=6+wMN@}1pd{ zgk<}p(DWs$VrP1lSaZ{W+w5@8H{zs|&k!6`1U^BCdwP0_9VAidi)49_eOi@Rt5kxg zf}J?6YOmJj8ZlW&hzfv(y;b%{xNl3}E1>Ejua8MQRyqnp?n877_8Tx3Oec3wL=foL zu~o5Bj2b$3%L$eobzp2GkqCyjp0XzLCV%&%3x#+jHm<=>-Ihys2nzoW{HCI9vP$>w z`W1r9M=gRlDZ}2IFkqqTA?&J)=;+(NL-M>ky&7P!$OPU5SswH+K*-py{Xw>Ibt_J_ z!EH8a5!2~LIV}+A^(q*z#+BC!p)_N8;@qE6_3uy_Sl0-k>VGSg=dtCUld1+S-sf$C%$@qU z4^OOeg}v(MhQJ@GG!S9Lc!_9PQ+B%Pcc>%td8&%Ofh?X=H{Zmb3Dl;%JFU{ABzxnk zCe9!p-EiEO%P|ePs}LAR8=)&<4;EBW4&>6-@X>15hkUG`SCHCh%yS;>*MTN7SwE&) zjP0DG#VR+KIT*tP{B4^E!AK1$7z+X%We|gTS(K7`IeU+Fr7jzK?GuQJebGu@p`aJa z*A)^3|#}4 zfuPVZnBAbSKv9D8#Sp;RixTcZ_XKCw{mG~GEUO`+XJZhz^oqD~(O4?w+^+^R;{X-S z&ilJzj!JD!_x&02)Gjo-MkNQn)8~^`x#l4!F6op^yzI4WunVCj!8oV}3M0fw$pWKQ z>ycyNJP4b#cbrSK$3d%#hh1|nMa%c^Yv4<&4{UgOg%CpKba+;dQ!R--=+(g&)(P^L zmJ%5*GxgXckXpB=&k1_aDro@snB&Q?vr~?r^#;VGoWzCdBMO&S zBqjUKBj+Z0W&MhDudo&roXSt|7;tLbW|iYJ3ayhd7tMO_WZHNp>1M7sa{|6t(#Es6 zP;(j*|8fc}DiV=OX%Dv7+m=Bj*&q{6yGS_4V5ZC!MyX6_MfpWiZ5^H-xA#6{L-Wze z#N0m)WdS%}5aaclPFYB@UIt|7vem z-h1=gj{0_^BELoehkz8)ylDdg$X$Us-p~d^IoaoCnfMZ9Q$zfCuAz9AH1Iz^+vf|c z5I~rzr+NrBfRgHgN^yGjQt=pPGlY;+>?!gBM&E3!T&S=UonC*Y5@YCdOh(xT&0&)` zpIWsjmct-;qF5uJTFVb6b0K|d9zI;7|ICi+zaZ((o5o{-HX!D#to?;LZ(ef4!pZ-q z!_+t1smv2_Tw+p~S5dy$z?b%#(Q9{EagkE(4(;O+0xgi)n))~ZfaNydUC5w%B=a`z znXa~;IrPEVO`yfK%<#{>Cc=Se7+$Dl?^s52b-qP?Xh2YFd)XdaIPD@}-B=wR3ixzO zXgv^zh~Hc)=PzC8NWI2Wf^$>0-z^CqSJ|F>fNT2=sd;ntv}|wa-<7&R zj}f#;=0rb!#W5gbAYuEhR)-e#M+pmm1Kjtg5*A)dzJKlctE+ln)VC7$e|uH$ivnFe zT+P2gyxcEf;)CWcvpw!=S|HSAjuLVsNAdoGNE8QjiYYBI83pZ@b?It_*gxhuk4_C5 zmop`kB2Bu=qY(0Kojo{}j7!O?)@gNBinvr<3jG1+w%lE0=RHVr6xe{JsuR#KbBJG7 zv!mJcIVPn%uxKGU4x&*W!xoyVjD71Tf2?c5-+SgdbGI6=+&0SE)w1+O2uk$u7}g-7Gx;$fIS|x8%K&sU%B)gJR-ji0vm0=U zZoPQpB;j|RE5-+_=HK&d?z;=2_aLY*{Xjtxwb)V@!_EQu4?_~?E~le&^YDn5Kv-s zhu!!xUPlQVj>hxyHH`^@Kc|Md_5bb9^+2O~m+k}e*B$MJ-$EqH2dPmF3w zPl`5s;2#gY>)w>(9$@O~?misy$%rB6c2bMDII7@^kgcSKJogErn#iXi9;USq+DdaE z@E#$p7aERlE#5X$C-Hg5fn1kAR_?$}{6eL>8#+Ohw>?g&q%2D)j#EMFPcI|{3DvDF zRPfsy-mD zfKpz5tm!R+u?DfAO@2ROmb$M>u0LprA0D~QEh=Hzo9lINh!&sz0;ty;XEBV2i z&zES2X@U_v(5~-_he7m(be3UN?WCZ*)^ah7J=KX**L38)n->>?uELgvBr4@Z>I#w! zi3w3sOBv@7v1UM75wEYgAj29HOMKdFAx(>(w0r&7=ts~=K8yBsnz4r2a$P{46C-3d zXSnALUAIUzT*g}gj0qNfUF53_GX{Q)8qn^5(a(;S;dJ+T23s6l*lTOb&e1jCfW8M~ zfkRV$<+A)*z`{Gqf5I|<+)McDK9~2e_Ow53?f+P21_W=|5{?f zCbp5wqT`usajPY{BYw-XZbl-kDsBaZ>PC5H_Gg>8K_D};zyN4}?B+?s0U*IXujhN0 z$}&#pR_s%=*J&;tBpy(TC)+R}ZP`I@IYboWyO1}F$6|6|PKTEKJw0exCb=nl&miyH zn-dKDV76wea=36-xY0+$z$PF^gQwGV?eR7Th1*}iV~4CS;M1Y51*9`@s+I~2F-@jJ4MBK0Si2H!Fn_@?ixpU0$L-C z4&et6OBb4_xCNoWHEk^GC7N*YTP!J1Y1bOTDSPI-CuJ7LZFq4lZpR7Q;ZdUCh%@zU-c^d$h6>P$9pilQb4Ow!3y2kfeg2X` zy`9N?KefRk+&6ws1%8RJQ7QnlbUq#2j%X}9a<7I2u>>8Z#XOsi3pC4cVXb`QT%@;a zQmN#$eQL@&PO3&f#aH8jP12M-d*>orjZI4cYQKdN9&As|Yr>l6>)PN@2-ksjMbKtNAK6SvQFJRWSB_))JE<_As~6WTd7 z>=0e~%T()SYbmP$l9V4hb8vWu75Jq!_lwTlUy9+QGfiE_V|A4{s60CU*uD%T9#+f5 zFcQ!nyPY1Mnysj*5jv)Qcb8&|T|EIiL!bkvgG;IeMFfLlU|3x|oq`xrz(e#f20B@; zxvVdwrf-vwI%5v10h;4{eW_cZ%5t|0GR^zhO;rHldAFCrf}lMn(bfdu80_cA5%&i$Ri zb*g|!xMp<*SmKw%`iKnE}(gnEGK>AW$AJIglK_8e=3f6r&ix47*?417i1vE?5-ZzE2ta-722T; zqo{XynzmiulNH8LFWjzQj&QMDr92efbn)-ydbaXZg&Ry)J>919NeE!yi z_m;dru0WvspAV_*zmI_y)3@lg{1zhQg9#eEO>!7t#1^u-CnCG8+|PQ!6~gO(l(YLt zB+2J5#{(HQ+r&ROD{T9-E(gFGTlw9cAm8Ok|K+WGZSwuP#}~<_PTy5{Fd*|4+%dSwyps9dZ%u zgvCS|V^9Djm&We2g~fe3-Ogic>*l`MA0z+$vv!C?jJ$Uip;!PoR7e*$`ZZ=EWz<#=fq0?z+j%O`hh#BY@PbCaKG z?tul6A7bI5nQL=vC?r}#CScNDz+z-*_giz^D){91?}0ap_^9P`?dOp#rePchX0!{IP(4B;8$x^ zTR#m6uwh3^^KGrhc?VD$2oC*v4tTFwJGIQPG~rC&kj0J$6UJgJL6WxxkkLNn8v4OvtM9ZE;H=bu}ieF0#0EaKy_QDC9=BnU>6r=XMRcs|whaHWBr3#te zX*la`7u1;QBI+C)x7bRkNEUA_z#W>+}+ z!%(j^>ot+zAg3KfD;qI^zV1&k97hyxY2qOu7SC@c5K*|GktdM&7BjUR>`+-IkboAD z*JgUVGfX|jtyg)}2m;H}K)kKN#OKB49vb2C<)MZZzfWX17V#VkZKL3Udc*NlR_b&d zsuEZ82fN$C(DcyTV>qGSV?N&Se2PGzjdXQl6xZ~+75XjRoMX)*pK~JkGqGT6CE=2) zrPSg}Q1}X!Pjk2)qZbQb98l_kfw~Pq&y#Jd84EQN(Sp_AupxHlAbD&o@G08q(~nZs ze}ESa?ak|jAv26VI+T2bPDdq5IJ_*!+x#N`@gx56$2o@c4JIdFKsL-R<*$+D|y@b;hRNV?|I#$7**wrz_;kx8(kH6M2%CejHgJF;~yR)HcJpe%~oxr7Jz(Yl|W zoXp3Aiw=QN(l(}pK~@}CL`)#Y>g=3oDWGB-a_&!EWC{$(+T^F1fu>zO?X~Bv9`pU} z)#$I}RmKe7S?`9Xq7kzHx)}J0Uwrq-BV?1FsM3R=l54+#hT^O@qtxW6xVaskt&MNZ zQ+!`FXIp{c{xnd=v!mE;%q$bZsu*w+D#bI$2XFsAQ=yTNW}gVmrn4JdS)+Sm>L zEcbQbmKT3-yVA_FBX&F8*J?fM_USmSjO0P+4%olIakCZd zUycWppG_(|nS8<78~f5Cv>^q)OCk3Y+FWjO2yPImbaIp0Is;(+ z?W@>-D$~BS25nghund|PZ#(DrWxyAn>=T0MK~O48qvqr+Mo)Y}OCmJ==58?ZOF)S4dFJVF~08#go7#u6UY@ zw4-RCd7f7UpA&V6+0*1TmbPB)>qYWURTeW+l%DS|I7`DZ&9PFY7fG_^Bp*WUG+^PkhoOhse{8KJe-Tyu``j?^79-Fb1v z6m9V#&_l6>P!uJDOg>1eM09*_suPxl&kcmARM5h-;T6Wq?SiBb7MNEOsV0D<1+uFn z)3n501sJJoW}<4m>~O4YE7JL99Mc-J-lbiOO!6ikoMD`?I!YlvN~D)p!}V_I?Oa=m zi~4!%$%w=PVPdE;2Up6#gDW7SB@|Tgo$*p)nMxn;5lPx77TD((3$Qjk>`BoAxRP21 z$9q6#JEwc3Lrdyhu^|8!pplR^yPn5L5Aie}yK3^~8A7oDyRR>h{0EO)ZrfpTBH(4Pej)?0)Z=+Mi78`}?YvqT zi2YeDpfEh^YVK_!cy8WQwm~%PI3Hl6O{j3>U%PvMgoT@s8#H7<;(t?-Bkxc=*th-#)c+~`@ctcb{I~WX9Yqaf?PQsB==91d zs#B318gxgYX7O*Xg#Wg?_sZRA9KqKW@3%LIo|wmdDLTD|Cp!`=O(Qkp+6rF0SKpyd zfUGzk=2@zbrTd4#N+$$j0paF9OGNkzH%$r z1t~y?R|P@o^wmKG8mZhb&wxfIl9!H0Zzj57ZHCM3L7EAxU-&&X!t}+kqM|FJXFWck zVy+&EuvkjBi_%!UR8oN$FM6uq#``*9K!n3nkM|F6I-D}eX7AL=><+P)&$oByUey5> zGnE=yk&C6lhhy3V(}{TR-puw)g*rHcOkl%@EDiODVQd?w{N3r0bTkuJ5VS4tHDu8# zm*GeUb~mg8MiKL{=w2E{!cWju3?>7NJupUJf&4M9ywDAGd@oVg7mz_(HxvWUNkZ8j zZ6X+V%%>B%J@a-6d7g04=2V(cQ~qVax6%$NC)|VxTyf z`2wPC78)?rQ&pwZi?ihE4v{P{=&hUwM_k2)dkfK#Q;GI3yL%E1H8}kbN3;L&PdYvQ z5e)rlVEB*0;@=hu-KUp;uRnVU*W~3$SBfLa==vZtGz2bE_Ge5Pjv4-V;(mGwACc5A zN3Jcp0P}aDfYTvT0N`2B^ZWch@QBZKzfO*Bku)G3 zdtOkGN5MQ1x|C1&@1p!$;pp;5i6f!~b9>aBX)`dH2M%9WG~*MM@K6EA>^ z5w4k3o1vs>9aA#!M?lK>UR z^)9|<{p*pA@8gEZT}Z$d9Y)weS3oj|Tp_=5I5f)JnN~#I5keonaWqAgGTg7wEN|vT zE%sOTK)rnd0@0sCR|b+spRVEB0y_w$p~+>$L|vSa=oBU(RpF?>DW3eigFGklalv44 zbGFECK8Ve9kKdktpBYUB{0->)9x)d^u86!mvJ1|W2xDwsPg*D-nO#oqpoQ8e0X^NU z9Z<+(!Q}M7$r$yyMtI6XHw7xCRvn%I^8*iVNkeNQQDIK{e7LtGw_TwLaJ{~OKcL?x zFwkP=9Jl;U+KH8}?D-?wEou{G4(madMHsjqct@ z4H^QH=P$YF>Yl$>TSS(DA5ugiM!jNEx@uG0nHxAa&4TW02aoX^@8Yy9_1+PB7cHjW z4{wWNOmJD^Q2+|hq~TNPsE?)EU)zUg?pWj9&;7+z>z;Z6YStPf(^OQLSAa8!lK}CG zUeGrtg0M1h-QXG8r;C-`9%uawYJhL!!EaK~f5SBXg?~juQr9WWI|Z<6`vVwt z)KxAXsVL4mO$Dsgj&E*fc6KZqoCWj79#XK_8&;^!V&Ba0Whk4*5VuD-BhtFGQ_EJ5 zH#j`0pb7@(zGV72+^5IG{$@aU)0kL0fapSdKz|}-JToC?Y+ELv(i~mSv{%r}=|M$% zff@`0s9$&bDZNZ(l^-(({^wJg*aCg%szWRsm_#LZGlZE|j2Cvqg`x(3dp#Y4k-b|( zb0|JPRYmj=TvX>(_fNyn+}%eN-Ls>Y7T&(a3Gc1xD54P(rHkn9Wo)i47wvhNrqwfe zxMvSnrYd|$&*`hS1ZkxOB(Y81U|1_>rx9@R_cP2eMVWbK67B5I#dWk{G|!zN#4u~l zkbO52jQC_8U3GcSE#GxfXk+kHIdWQ%Etk%+eWoI#gh(;p(48U?qQ0pY4oa3+-EGb5 z6j;d45XAO6Ha8Dn5oamhL^?sS>)73l(=8cz?*#$7GM=cSg^Fh7m=p9|g#$9Ai!)q# zVTEAVR~w>FKyd6H8HRXNjP;QCLoefqAHW}jg^nnrR-^sLMZrIVr~cg7jzi zzzi`vt^6#w9{U)sFNk+nfpzxVKxX^3Ao$b+yZ^0%;8PFm{-z-K#;*G7g5WbpcUP17w2X_A(1;Hma>r)SWS^uDV_+Ah&e+{SMavABxydITPuTsi& z8-t4hfxrOo2{t2@{6o2=0(8mM}sxYr(B+%7W2}Ig1uZ%8teWFBk>>U{h!#Xq->x6 z5X!!Zy1vcs1NB#F@G)?I4({(_d|kiZ{$4)^KI{(OiA4gfzYsj?pYs00rZLePl!81=Z51bkO2AwzaI}V5A>JKL7FU5$4%BT%_RPZ0Er%18VNj(O-hZYJc><^KiF45!x3bUn=#1dz!G9L}=i z#BsaZm{McGfnVgbnQPBG$Je?R?^IPfoVU8pbMNzLGb|ww1~F1`mtSoSxmkp$`T7&s z0j8-Z(LmjN+}JS`RWa_?&4dMtp@v;FNI{G_#?YqmqrO{bLA&Jm;{`VDLdvL@z@fuE z6G68$dcgsxPbV*OW%gA?!48hl6NJ3!mp7t3suVfk{757=fpa*DG#P3%v4tWQy&Z`1 zLQ@M<;khXER|=D3#ao?}v7HvXzB$+%V2ikf{z?ntEgK{GWb+`hMJ_=J4jK^*oUQrn(dvyOGVU(|qy72TLApRNsogUlCs<3N_n1Rsg zCxp+ypjUdjwLgJ2IrGD24DdQqSmt=VAk+&zHS+6~`j8V@KEab88PBq>BFK~VcUst_ z{A!65>6b@kf6d6dk&1_Cn2ME(wn<@F$g*%EWIaaKQ;_C|mQ9NU3EPOH%8(fE&dv&G zuu;&|UEF17lf21FvsWo?rk-p0;!;;2-}*@c$;Vx$m~dO}wP;WGWfo4C2UBv7sK&#G zncmI?7^n9+BF>MZgI5@Nkr{R044Qa zk(cR*^A(q7U6ueS@vXJ@9dd8g8|c0+7ET*an0e}SG6H3oE4qia(e~$pD_Kz1gZG*J zAe|sW3i45a=qNT{AG2vb5AkJ}hr^PGxyXRW8ydWzP$m}*T0394QRYp8zvRis0!=0Q zq^%T|V#yRX^%{G^0&VyPZrk6c3@lLr-x8ezjM;Qyfh3jzzUob27MM~B^xer}FevhL zvVb~7Bx%TIdC=nR^Xu?=9exGPE=k8ZQ_vz#@8X3ye)|9nYq{k6C%`|DgX#qSVoZY~ z3_dY1=^U_%^c9|-=6L#dE#gOt2qS&43I95%{1~pjA$25}pVD%lzNx14oDqyWlU1ze zmr>#D`v@Yo*Ym`CFw4twqvW(5ZdNhBRJf}0hoJ>4l~z}H?mFv5x`g}l-f#3c*- zp+{B)-q7zH3~e!vMM`aAEVT8#)8m4)V$8)mP405;oX$0!+@&a1iY%foMnT_2*-W_C zKD!M>9zD#15;7A~KnXphK(~Jn(99<1&+XqfN~}Cw4`scRal&vj{CM5d`bf4f0MzB9 z%w78VeGH%1wr|cwc4@hjV&+7tRw%PKeUL;8Z0H|rVAsAuLk!gkw5^R@0xSv4X0eNQ z_Q^X@RgaWV>6j$J{;qg*slTTRu6-wUY$GE%(9pk|7|U}H(QS~~{j*`K$;!6(B+SI#t6*Jgs3bCIE9hD^ z?Gs4eMfUWro*+2edr_i7rwIB0k%5doR+6OaBb(-gNfSEEI&C}2 z(%b#3GH3pbDgO|9`>&$Izvbz%+?T=kXWG>*ZeFApb1UMES?u)2F6?F8hI%}Z zQ2>E%IJ9n@JUJUl$8x+-PI*3pBOk=(`BU0IshGcJd(*&Zz}oftlrCL= z2MysZz2gwlj8o5@WAJAC2Ugh+R9VA4FY{Qgm2qERdvR1$>YS-kERjGT`-ZOl9jI{q z`kwuST7IPo2EYIKxd=957_~1hfu-&&L5r=yZI|hrxbvY-WZ z(h1+7(l4<9 zbkToY_y5p1-+dNGF~eqQ@_#;h*A8wbO3uWfd;r?(zFDzEvzQYIU;Khb9zvUx+q8u3 zIP7dSNaVhEp#eDQXSwo{<~oBls3gvyyOC!viS*#`Iz3OiHfYz#*IH|0w2sqeBW_l@ zSRXffT`!8#%ezp%9-`OcXq@qWQp*rHOJrb-+niAP25IDs_S|3Q7ZffLSkOl$T4o7++Z{i-D=oey%v3KBh0v9_pYo!rQxU3^py*AiQ+qJnaz5 zx=y2q;w>S=i4(FJFB}s9cV=0Ca%zKWNZuqmmvV4HfYTJ_4(L(Fw?e&|(EHfv&dvAc zTZg;Av^!YIWiJW-2)m4WCu$$y{^trJHxC{6jy&;H+IL8IlQ7O=`3{P4-<})@4g^V6 z13>VtLG+|ny-&^ox zD$@6O^H5$Y@3EDlSs|EF8#Eulik8r^llU zt*QQPOQ<)H(u+P{!4mp90Z5j;GMClHPTY|I)f!3)17FO#3e9#_^~=lKQHQu_&hHmX z7(hZIqr{8iEPi=B`9yB-b#KxjAD>fAe8V+YcGh3+Nf{^wiXb zEyCrRZ|zDBlJeZWIq7=boLVt2x#ExS2KlHtplqU57 z#Aakcq`VxwJa$@-ChZ&0S9%2ByEcDq6TTbxn2M=G28f13FtdIuZT{6jYm7XCnVB=n zbB_D!TQ)zKplc959|yxJ(es5jiYCWlT}J*i%E``tEQ8ukT7HA% zkk>QyrSS|-Vw!VO8pqyexDd~UOC72C{v04w%pHXFq#ny2M>jievl6o3Q|X--&0gBo z*zlL*blJAVZ|XY#*Tl%bJB?Y;N3nGDlSgBkshXm`_By}r^kTn{<8hibyu>K45UHaTa9Aj3fBq4=+u)%w^(n{Pgf#K4`9| zJkF@K^(5eszmwYvt%_V~<=`sM05Qwes5v*Zl%45XfEHM;#$6ZhQVLo24{5lj@59>U z62~CGvjw*z_p8P5%VGGr)&F^^`qkq8iRI0B)$2z>v$^^7m`eaUP-A(j*9&p`x8>^{ z1ITyH0&&NdtYQ>)i9rQTdPb4RvE3-hHQ(_r;Ad?QOh((OH){AZHKUn_l=4Q#$WQrN zA}$s~(=?3woL#p`P|)Y)h8!s!EuVba5}o)b=%w@MDgRsNwy{m1|LhxlirlfPR!Li8zQ4?jcOOf5YQTci55DsU%_yQEEb54b;>-$G~e zkIUzyHMzMPUjak(>&*rMz!BW=4snyV>5u%ZL%iL<^nqBr1{Z#*=jzXQ>KTRt#nv_RRfFY-4x zo60dA0K?rWJQg4^WNxANu0K?r55rw6mmi7CF$kr8XiIHdtW6tzw@lD%3NL-0DDs95yM<5oB=YkJ$MNM5#@^#!PfG0GvF;K@WE0n zNb!E!SfQOCmNVlRfse}!0x8UR?;pEGSvNvTla`P7DbhwQSG~?*w_@c))j|U4ly8DK zfakR_i8}}>snuBy_Wo3dxfQ;S{v{0$(5laS#O8Nk-n~dQMHWPOHzTAk_C4-r{8ZAn zy~C>KV?n+!R}n+*xtYT`eCF#mNOwO3WB~%zhU__KWd;DsIq38)eE45#&8en+!i@G=@b*AuSUM@SF?s#t7G5sA?W)GyCijf z?Qv3lTTpXKdsY?lyN8y%aU;3$<)3e$N{Ly>Y%^cW0$n(Z=lvW6d25&Wj)PrqI>xiD z2bp1q>gqeIP)YSVDd|9j0x*C;>`%rR>^@dFSck4A z7u;&lID{Tia_BZ14E^;0BIKRh?2COCKln#QF;CKV&rv6%R7{fwOw`(HMDEMrOk|^B z9*`6D2#KzIb8pCA2?$zN_-*Z`H;bZxtJ{%xAmA`k7G_nVq8E35NB)~eTulVx{Zkc@ zDL7?=jAZvSslClT(fWX9-(&V2+8N)NH9wKJAGhG|oq=B_isUo#_w}ho=7364x1EL> zlz~;y1FP%z_*N)nKNH1YDX#zI&@kpLV-Dad;&EjEN>l6I4%59lK_176I=l~#aV-|U zvDE=USLN=!UDU4BQ&6Q#M=q1%6NzT%o{2Ws0O4n?-xZud(re8Wu?Y^IXccatjD{)C zEJBQDV)KO0y66lyyLvY&$>v?W;T}D8A8CX=Slz3vw1n#b9*@kt4aylO0ciOMai+?L zldwhM;Gmtsc%q|sUgN>ul8W|g;&;m%f3_BBJ-Wvel$yrO1?T#3HDWWzv*G1>K!fBzuUPv@nnWE<}x<&7E>#=;6W~SouUnS6n_E36P^QqKIud zkX-Kxn7--z6@bEzaAdu`+jx_3G-_!?S_Hk<^PX>*zu)^#f389l8SB3uurp3Tr}aDbeWtR$EI@o?j~ z1aM|?i$T8kTHu21q(rpOA%tWst*esH`q}S1apF2}2p|3JeWLk-*UmLPz4bj5r1&%N z7`yCzY`ldg)yKQF9;KqyHRBvy(r2;VZRI`$bhe$rZ+{3t=RLW_iO-&%c?-D5Ff5F# zP0nF}3pp4|7+P77lj>)uIYxG?!H%)3w!&$OAurLsIsQY*j$mwiiPyhLNB;wY@sIM5 z|ML&Xark#rWO)7W&T$6&43dMNfb$ET8+A5A`U`TbSzBDY-^wN}{AjqeeGxA=g zT7*o~qt7F+i%o36Li)4H_V3^szwEWH#+-Z5Jb{e}*)QF+KjYi#tW|OOR@r{_-JmJ` zVLJW{5R)Gin)Eds^iuOwX^(N4Y&qa(7__73GtRsGF4v)5rcCcEQoz zpf=T^L;Dk>1no`DI)DcTnyg=_QP5C*e?LQ=RDE&x|L}hP?X~J(p9aWBKObiIKYg0d z!~AeE?^ydK+H#C>&}jX0Co_BGO;wYoYmpMe8Ph;_*x!M=Mw4xJWcNP0GOhBa=1AXV z$lM;G8>4l1zs29$-ky&`25)ZW_}(X;k4<}md>P%$sDS>uzizJ?m)A_|G%*RN*>C*w z!q(?LQe$-Yt~&`R52n7qTnFn4Y!raz?KhGQxzD!SDYg!1PRBNE0>+w%%?9`LcB>XA z0l-09s?)hQJnQN8_l>@Dr#hqLGq%j zeLdx5q*%_m)lVfmxOLvFIMATArw=WY>-2OR+o&H@+gC?_X>DWC-Y`%elR1l|VRMI` zDa;Iaaz_Uw5{OuJ_y2p;%M=UR6?K4r;(rEFp?a2UnFnj1E zfsPm3KO<>BZP{QFMD5HYUDM)?SaEw%6`)8@i2Y9(oB@kXfj$ z3(an?{%XenYQ|P>;F&XlLQD4us}Z>DdDiJ&hPc&WT7iwbvA%-{jg;lQrk~QP9u5HKHq!|7%Bna8qqG|4Cso+1B15> z_BQ;TdvtMyBJQ?j(rwNl%_}d)R|Cp?ww_GX18Jxf^Eqi=nLX$B7q{9VeZ?bIbcTGM zDS2~h-fVACOjn$v+zyPA~V*S8#dfLj9|g`4`yGS0~^PtRWco zO9(^XAT9ALj^UU6l2D;Oe)5ru0-(pH?6BNsQhqof9{XJ&@W}<^cCfDC?BBo4GLBim zNFxx<`zY~!+qh~3NNaf*sm1AoJa5JK96^hVxfaKeXtSpA6qu~VeiK}?{G{>so%!H5 zc1x(OtrsDA9Tc@PqO)(CtQc&ojBeX3$gPvV&6Ao5z}Mk!kF6W_aQD2& zn`Kw`@EE-_5yPW?2X(QcVs4XLG&uj;J*DC`f-NpKoOH!O)Zj_0)JiI0p2-IA56R0Y z=ohLib@9Lv823c`yXV%@J4njiWs2BtkE+vMhJMfCe1EiLl4>Ol^_8AyskpaTIP+=C z6KO!D=AK>Sb5^@6DEkb4Lq{M(Mm714h~~c2bfJevv`-ZIZ4Pcocmhwvi9^g+0u+Hw z^C1IBvImq(ts`r0{hfb@Oa>CM;Zg_|4VY5wD!1FM$P{6h#i?_eDB9~x)n}Ouv>0gs zzH1CYu0ed%WehHRiXw>CDPIp zetAkIoTgaK`j#yLz`*gJ15rQI1R_s>h3bqKwwlrR%7o2vl);HLZPm~eTtFN5cZlr- z4MC1e1IztN%0lj*z<6OI#+?TMGN$IQ8s2_~YHvnZ9LL5fgS z{eA-=DuhKYVH68b3?lJTiWE~f>YdG*9uG{LckJAaPk`1H0TZ_{_j_(nVcg?we?_#k z$!}A-A8Bt5CDJUV5ZOcSL#_$aOweH5hqsVe*};jc+p}`3cXuo*hz9sPRzsD+w(sxg z@$|fs2yT=shB4?sr~{4)&vsNE6vB8EGx;;b8?q+=V!TK&+^P1}1ERJU?;`57tUXxy zFFpFuiaIpX#8ENW0>gU)N`$34%P4bAdq~K#{0Ue^cU3wncEPCI@?d=&Z!^$THmT6t zyFJ{pRffffrNP~2O1EVc+>>~Zt^Q<8UY=2qqjV57gWH3MQ&`eV#YU<`Eauj=cLkXa zH!{uRDFScH?$PFp6TT>C8Re$64-G&)_P_{qk5Z}%;ekJ$q-sj^n+c-5pwMR-BktRF zlOK7ej$0p{M;=gdTjD4pM422^GT7Rbdkw_9Eg>Sv){Ue#horo2gWUsr=sf_N^wj3# z<|^*KvF&?t6rS=sTqiGUU)7tiJQ*xHI~&6pIhHGZL>|q<8a)@Zs3x0(B3HbF$@F3D zV?el}{adiEE*M0P_wnEk7CiQUe2owKZSN=aeizft8tMZyT#8W-)m9~4`T;-kIkDu77U&VTV zIExuX-9}8BUt)H&Q=O$2zhQ(|dBG{-DR@b*-bDySJ=jyA2*)_WrbWkPn9z{5HN67h zILAnYm<1Jz&>Y9jf&*bR&4o+ok2&3(Jq?*_n3z)c$VQgE@|V8dU>&hGAg&uG~(aM*zJ!#c-uyH6z)$aXRYH(>?k9sl(@{nh1I7^b$V-j z`(VQWXq~^Jj`PmP~W6 zIg!iy;XGSAPgH0$;QU1Q(&*m)!$-K9df>`^{&SLD3{hz-(i&^%gt_gk$kiPE4ldSc!0etBrN`=4o zd$vEnh3>xSC8kn*Z$^C{CSw&|Kx^#tMs4o8=tn$&M;+$$!~pb znvkJ>DQViwob4*__m-9<`?#~Zes_b`jA_UvB%m#oUz-d*FJmjrJ6@8>R zPCMf4{fo>8;a&eq*89)mHynlpC1%SWry`IH6yaYxzK4If$*B2vB;<1Gpe@pTrjpde z=KwuDyC9$u3K1#v>J=Xc|5?Bx%(C&5(l5tob9NeeAos#Bx$%Txp@wzzmgsk}{QM)x zhg~(foKRdjEXgwMjNh(Tl-YXT7YpHVicx@^hx_8{D}frhyTbv3C-;e^$#4waasNMC z6u&e@|67Y<5i5w|c_m2)(}e%~ivqk$--tQCEr9=T7KQnDi^ADb>H3Ud9^XG8ohk7c zT^cnz#LkejawSGWoW0o%to+bFxHLiT%EMtIpk7bA!e2{M3eK-2!YwL)5rk?*Poo=r znRu?ixa=wi+`K{2+>AD`YG#y@l6*=D2#4T6s^98tNx|!Xx+rYgxx{^HP|D?HxJP3> z?2N&Ek&2mCf3YY|Jcr~I&QZ#KlKj_G>l-jtf_K`)$HL@OG_7B7HnO{(Oz&<@BnRsq z$Yl&H`K2!7#rs-nj5yKZtf~Sb6`i;;88UTom_@RpV zfEPYyv+uM0j|~*8(YkXxT%51jKKhyK|M9iopXB!k*>T`x`R_gnP!ridg5Y<5Em+k| zW4V*~b2cO5iG%o~BghlPTVKh%ITp~yswH%J_A*XSMR?wwHs%GAX~1e0`{9L1Aer3m z6=kmNaT}m! zqL-{_mnCAix|dG{uU@j$bBRkFLw&=0+J$%rn{#ol+!OPPTbUMDLkNw4FmdfbKsNAD z&jb|i3XDx3*Hsvo4^%-^x0^>;M zo~S*SF}^GuaDomG%01OKa+fa!BmjbGM0|k)80B{ibkQy+`Knb|zeJXuBWE+Btfm?_ z@nk7i$?hQDkR>zW#Ad)y0odhqb1HoO0*Ta)2X!A?q+1r8QQiQe|@xy)g zUEK-*V{^Mlolqb#)icNYVMyj;%pai7`Pb&`cbV3o2?zdE-TD!?w%izY&<``f+=o8# z`5Jj%jkH#uy`Ln;D?74Rl|oGU{`{QJU{-#LPOMkV91^b~tM?$t=8st`oe0^wqp#(N zi(~or4;t4hBl-+WG&}iwgdn>D_#I@G* z0Xh!?Jz_o{*U*+DOQ5Me4kEN@R@Z_t2V@Cq*CS9mw!pZoZpvpfib7b# zAX^Y6Pm{M6P)!z(Kt`jzyf37&O=>+3WXs^{D37a(uC4%kmfe~9eLI5A zB@ug3)vv2*m-2ZRVc~qy^!ZabUoeta#qWc4{xUfV)pHl z90;Ii@;%lvz7jPWCNqQ|%O*5^E_$*=v1DJIOX%ymyCw z*>HmfW&fKm2*L+)ow2-<{{|@iQB3*dMb|Gt(PG#T_5px5nyu z5sHqN`d>?4`M23956OxD6p6ysOSjm=m-7n5rQb5;YU#T zFhHMV(Ip&X;d?#r?IyDyhwW{;f@&5(sD;SIXZv0h(K#G0vJdDdhI%h6YPu>BPk?qZ zUsv#rq0lO-uaSe5BtZ)*J0 z3nc@HxA#ZtVWAl#i+gYapLOn(8!CM&s-jILYq^#r_;-~-Ys?X-poavUu)7%Y=pge6 z^mHGw|F=;&(4bczRL?PHWsu2}LG0pJs-V`u=Wz_tO7}bs!Yvl9BH`LuJ6gaS_^?JH z*ynB&KmQ@^OTbKl=jibBJq39yi&@JxZ027Y<*z@ZJp7q{e}4bPy4`MI%V-U1cvzQKPll5{Nsl+Jn0w6EEXZ?;J2FqV2b{EKdu#eg--CKajk#@hpZhVnRv@z<`X-yOTbw`I zlYP4vEkaarNgon8R3L6}$UK3O+|;|o;HgcdMKX>TckLGP{8u-DAA1S!{=c`E_=^I{ zyO)#!hoU{LUX{%V`rCJn-kAT*y~OqYgS~|R(pmh=Ug7{0>VJ7J5#0aQUSjYXL=tcx z-cgPFt^9b!8*zjlp(!W>7{5-?SR}psT^inH)PPYjA$PEavB(ACp11R&uLh4++CkE| zOn;~8J7eGF3;_r+Xz0sYUGjaGVQy{P?Ghr^gQ5aJt@hl~rC=-r?Q|dgSN9SUTr~l9 zeVHvGaCm2AL$s;Dm2I^D8+(a+{C{;Xu^?RH|GT|ptu|48`mFzS%c~R6f$-9n@Cuys zXKXsdxgZ|?mGX6mY)k3{L8wTB4loX)e9cCfr}ed$JhEhYY@}(GjbYn~-2TOubN#J8`O6FiKkPTs&FaEq{gqks9ZmU-L5HIVwL*33ITO1nD)1M_Y zQ4Ntd&9WvtGr!`j)}fo*Zrxbzo;VCoZ-=0j&jc2y^}LnH(&O;d87KJDy9Mup z9bQ{Qf^5<}(lkSU?`XwNgP~Mrs{wmoQ|}iM2ZJ?Nu>@RIHn*?>7lMsITQ|Ql;kI5PhdRMDcHg+#aFHo@OW|V&}!MOZ!Nqww3E+`QH zen~lW^>ax95b3ui^`X6@klyq-{y4X-?eZgh5^He|dk^g}_azhOVfahY0WbY=wXZqo8laMLM@1x4QLIT7S zgKipwVulW_IM$rP*?arPqEIKP9IjQ^bj~4_OvYOr{3$tNg(Bf?{S$}iRd2sMwEcOONk~C=8ct1xSKcl8kX$coru%6! zulEXJ@563fCn{A2U&~bHSRWVM)_tQbAdkf`Ps1Jzy}Cc#6t!hSy%Uel$steYsw3e< zN+B)8K)9h=#UqaAezeSh% zp_NI2Ew9m!v<$+DWd^VBEM%rGM2k8Y61aOoG2!@kpN_b9*x#{jLayiQTBpft!1qE$ zoy&sJOR%|6sb&SGJ3%f-c6w?Um?p#N6s;)obY@=IgAQ$;*WGrCNgPsY>Mk!T&9+Vu zPn-i!R$apFcJYGi5_fOB)ggnf-3w|QPtwte2T@UGUxkoH#BS##^F2i)kewbvwB8-K zz38zr5b|&uDaC(?MlnC%DOPLZ*{%RkeztPW42ug$X8ZPd})zopgS+1`MSA0_ToH=$(Rtx(m1e~udJK1Fii4xRg zsN_rXa+6y2*h1jtg*VeT7QDio&Iy)l4Tu)U)ye6U&a0;F{aHbwi zK*(;wlV?zR3`VVmhQwosP$#(SPP$P(XpkUXA$7C~VFRhhMZCrPqM`SFK$~oe5{gX) z*?G28gTt(X5_i{IAKU=2rd3b|rq+xYkk3Qk4a^QgJUGPr7vQzSxdT5M=Xz!Im;^wC zRxKXCs6C3f=d1)w4ZtUTmlz2t09~|@m zNQ-d~hPYpaP9G}SV*G*e_ythbi`?;W$M-b2;|d{5^HT4)STB=RKv(|d zK@%HYv7-o~yUn)LY{ao@wrXNbQh`XAx9A_FZgsN6$B6EZO4$V}jVtb;ZP2Qh4#zf8 zv2n=E+Nnl;lF$6baE=iY9+~sHnu|2@PCqKpYFFJ(CD*f`-YppUr$kZuw*9*5YY`LI zBC<3u8Tz+hUK7_b;nI2!tE;P=AU+2ovMr`0wMrM_x%Y}exB#7_$R8F3L9Y)uD}h>m z_J_9*-AQJwZ+)jf>d?AG41Hvu@va9w({)7`Q<+qhSHNh0m+8osu7|4!i`uJ@OYnZk*%*@oQr`IZ<7-iLfXC)>bXjQwD&ySL4z3kyPiu%7Q zdVpH^=a-#dxsFc$s>r$uDX7jtoywl36y7X=5Yi#!_1{j*Ca|yq;3#tOs}a$|2IPZ_ z1IBSTxthHZ)5HmRDZz|kha%^-6{fS0#6ey>&jXxCt{P00fJ*jIV}0R1wgUjU{j>p~ zpA#)ux+C4kuz*xgmuc5BQ$d7;^|6!b7g59UOkw@$QLZIbt%dKs$#^lmjg;tP00gc( zAIarm>DPzf!ORe!ce)M+nh?oPCdpa?jn#rnojT-rJ-=?<4e+TPVU5>HeN^Esc9&Yc z^l5K75U+PG<=pR4L&YLS^S!oXcH$7(o!g!R)HT4>dP-MdOK6n1huE;fy0AXk-)~e} zj!|%6bVWjlCskZ1$R)4uIa@H~6MIS>7dTk3hqR;Rf~Yrc{~V&@?RF0?JzvdFQYGti zo!nl?>7`(}{N^wX;n>V)3&NuTZOJK+c-s4cAbaO-LA@o*rJce|ry}})+PjvR=drV# za%%|#RBRX|1RtoCrV8`>9>--fw&UDv$95dsaW+4`CAJegj_q8LP?ub~7zrVji^K+` zA~xMXcPv<-N^B}NY+0~lQ#P^9T;7 zCG0LU{L7wz>fsP>83V?#2xBb$cyP5RQF>kq9Lf0bAvP>!w@U_n$hiN093LYEDTt{ z@6yDVPAC3wUQqzYdqmsvd@5^@CBckfJ&W1|uOyqieN?20It)AL#wiJZfwk~qHjn@X zqh+Qpl^$m7M0NKlBo7nh$(bn-=+c}KXZkQ&cN9Hc21gv}I)REt@YIep^8`#bGhll< z0-E7r=d=~G1+)ok&eDQ|BzE2k1#>qA3(s-}f3PW-gTNe~oq_EDObzUEsBw{TE)1_L zpM0-n?#ny^&<$n5tSCcoYlyaJd+*lM|awP0VtUjXz4y{(hG=(AWG z793mhWLQD8T(Dmt1+^kZt7h0HOtH@q6K@p*0E4-hxs2ndVZ0CtLN*u2^MYQi2O;Sk z0R%^E4MmtMw(3d90x`vhj_7fAr~`{*=A~O1py#*!;Z(B?uF!~*CG?X!=vzRWHr1J? z&8={4Y-izN)mhDQe9y@-7_AkqN2@1x=s`?5C;PE8RMtWqOz@A(gsm}Nnr{PnsqqW} zF5Euh6O4{l+cq$u46!8{2K(V~={>`E0Z)%yV-y})sjpa3w_AkkXzI5QQ-;~0pjLL~ zkj1w-C%dxUb-XMq+N)kUck~{);L%;K1s&Sf%(BzW0keEk(%Tb;J9Jm#=M(2J?Q)*1 zs?Ic3`dk?+kv18Q&kK^6jwfIV-UrysW_5~zKY|kG(d2EasPO)Dx6GY~OV;?4w+GBh z5Bq2F!cRuor;SflQ9ITDgLxtpFuDfOJHz4`q6~(Md?_uCMt`i9lmKu=AE%}+ZT9g_ zy&`GaQ@~l#WewmXFE}fJU_R&Eqy#o0;f53(@IM6u{JCZd^~;Gd8UW<@4&Z@~gDLA? zFIG%@Hz(E3Ur;-Dz)F0&GphE$9gWS2Q8*N?>F8GrZ?ggm1toY|#hJSd9ph6YGkG( zcheh_2cRWRT7wyQf*$&pb0E`x(rZ3-xz0WYqVz{dr&ve;F|}6b{fQ2qU`W`5$hyb$ z{0gT14Ft`FaH;7-u=8gya7FVyKPrh4O)t}t%}7&?!Gc5E5fmXmHe*dOTtEIXU&_Lsm<_@F1P!9cdx0b0$Sr-u{PqWw8F_XnzyyOYACEZgMT zRzWE+r?M;+g7I0i7sA9jZuPU$ar=jJerUR~BArBi!Yxz`a!$4YqE2jE`mr4e#%!pp z5VeIHV?`DsXYQxn?7+4XUp>(%SCZ#c)X6CF_K;El@WpLl!%LHWL=nV65M2s5JZ-cy zHAi@V?S>vf&hjo^y5d+D!tg+Wu}DTntx+r%oQ;y1GRM_XM{{6x3Elv%36Nm91;)GB z?;AiDlFm$kaBCknThx`Qa}k!>Mx=ynP7DQ1M|D$JW@+XO5bFSxj73*&O_2_ml~1f1 z$xU|{_*?|AZ!I<9_BjMJja{V24$`#WFUoB1ce^Se$!!Q;vWSRX*ft(Z+cA(yaRnhB zPNg$?E&K>!%f2tVL#vgw)&Vltc^PORPnVo!%W1`41KWD9hS&Vhz!QyaK& z`2f$Ek0{cQIlmtXXp=-V-`OQ|a!rUhD*Y7zhGTMwf>!rDo=peRXF8D#vnFKb$J$)j3VMd+T43M8j>rWr)6of4qb zq5#EybcVlsQhFz??GLwN(Do$nP$VwZ8^P`41;k1j8AlDGbc19}Hi^y#??o*>8nrrt z;j8|N7)mys17mb&8tO8Blp;)!NZ!(M;_CpekNJVGQu~B(U~u&l<7krGqb~b{W-9`%Jg~CPDEO2 z`6%B9l=B5&qzqHy12c^6X2Bm#d*rtH0i~~0Q-a6OU?CSv`~VD=J+$i+cm(Q$D>`64 za#*Ivi+h)jwInQ0gl2HDJzwtIla$UaSaSP4gbFvgoj_;`ou?aN=_#_BO%}U!ft*V= zSvsfG)BU#1n)=e9$H2X@9lCQv%2q)vsgPA@_K0~-;j?DiPg8#1QLQwR>{BK$jKEMC zN@|;`CaZ%UlTjnEPA^xE5(7}FeOB^Cj(0Xno68asDRPm_;jip+Qg6^4iY-fssdx>T zx74XkhlM96n+Wk&i#x`w|*y|#jRk_jk`!!Dg-it(8MB| z0bo}fmHV5H>kS7pG&@UYgz9a;=D%yTS6-%@#BPTvwn}JadjaU{qo}LGy}^0*c>e#; zKq^o1537OjS>+#&wzY7(W{Aqf$Paj|$Td zr+qy7)GOr!G?2SA%Sn0g_5+tA(S>FmRflR@=lLp5hx1IFlD4?8&fDo!Wchs52HfLJ zry`Dw=z>joYk&|~b5hVEF%*H&27LCP6j^rxk&Gch?9kh=1_G;mFQ%zue_rI%C_r6q z5{Z`9JgeZ}thCz+s&Jew^wbtF&xS2XYf4-ZChoF-FhGM|$!F}=~0oCjn##O&++l!{GO*H-fl1|$R!PZ4DEOlhC`u@S{c zo3==+$wmQDg`E-RW+oCqTWg3`28`2S#_s4+BUy z?sdj!m+6Di<~}K<%NnfQyIUx)GMK!KLv#3~iytB677UsI!{(*txk5?}fXsYuVF2(m zR;B1Dn}P-*8s1@aS+aornz}_(?E-)mR{9nNs6dzC!HY?K0z|0t4d{RX!6FcFa26h! z(64}23vR>;L1VkwUHEYGPHmwlX zdlNy5g%q5DkBfsQSn-2fNLmdLEZtef>pH$rsb8blATIa(X&{x&>I5(Zf(c$=$A) z>5B@g=NK(70Ze7d7>Y*}&6j3w4qD+%4|kJpi?h3wktt`bi(!IzX4iR;E>Z^^vn3c< z$q6u`3eB-Pvl(mE0mh;g!{Xb}r3E2H8##%F8!GakC+3&hQa%;=ltVc7gtvmoSRT|>n zQJpc@t9i$YOIty9ZJfukk)O4v1ta89KWU~}EDrlrXGcao3)!+*P8hykZ$jkK!EAYK)aBVf&`QbhXy2ZW@Zdn|Fxct&?&Lnfo?iF&0wNZzrz$xjC zd}E@S9_9#^5c0`@-`X)F(1$Y8fxRi<&3&=Of>w_n_dRJq+wze(1OQSlHZ!^>_H@qb z4FHRi92Q*)H3vq(P7sDnGywg3a<^bKZNONu5Q41hOnMk0mVBJh znlxo;bZvwObiV4uTVz5kGuuZ^5B^S&a*LRY2_!T;L#cfBga&KqLIqfw&`EeOO!lnK z7H*bK-j4FyC-hTL(kI&K??5W6M-WQ_{j&z-M3Foscb!lvym5JQ^`@OEX{L`)+==Jy zamU6my>xU-Ps^2YrV`44yAc=;LMNj5pEv-9V;1)6D{s@3C!Hf-z+o8o~Lq(@P1ZejTi#6QDJ~MM?`;Lw;%@{eU z%*wGwRBn+(y!=Dp`uN`mt#*G}c15U_%#(zHL%_vVS-pWyMd0ma<{{IgmlDUVLq_$6HUsb4Xc}z`pxT5yrQ*&nlQp1-NQ;PFhY_%~PD@Bt z!*WCQk|_W;t{7VwgXfZ16>3Yikc}9R(C!{w%EHF(#+-q9vwSZbX1a^!U_3~h;$a2R zu!F?oLTd+8=6(;02vM7^@})z7Z|*%=TC2p~{X9^XQez{5spm zz<)S3P8TL~8D@Lo2z-fk9oQ*^Dt!7)yr{me5*X@;y3KUZ8-oJPjBfx4DIi>5yR(X^ z{E-sLm;fab%#7J}VFEVFHPD+A5PvzFP!(RaYhi$}y^ihK1c=y3u%})aOCdF*B5Qw^ z?tKe^(7a$E=&Q_PK;=@q`{@7$8=WVT6D(I|jB5Hj3|A0psgEFeflC!wGUK$k;v|TK ztbFCcTRZ9UVISm06$XXjuh3VWhxfv= z%!;ofh;zBdtL0|1TnEKwmwUl0Z<8S9X0wKHgeXM-7BP80%Qtc0l@A_6P(H)>w70+k zegW?=1d5Xw4wS>4Hi`KZ?&AwO2)@#gz~3F@Uwx3I?o+FXxmoX$pg^u&N8DYs_T5bh zF{fVLmrH}!Z-4-h`LiCtj{g~Y(P+Gi(x`mx)?!6*%}V!!P>cOxkb@<<)6}`%p0$Q@bw~hlHhgd!`?F8y}AzeYuNRj z(y0Vr<(uo(z1%56phbs%Euil4qHw8al9!90l1pU>0&kjuI?sC@K-hIwzAhbi9b7M5 zwfs1q???XQ1)L=E8n22FdI{%2Q=6(cmp(N(mKUcJmKRTds!VE7Ob*|Noe}Ikux{(jB@^$%z@N#A?SNFe`|3}#PX?WND$^Pfk zeqBEN?sNJ2I(2Eo;cCcg`49J(t-5@7^4wQ^x%%ar)#qQrySi2_|IP1Iy=gS+vhn8^ ziMqYI|MmEf;N0pMR|&!En_hJ{y(!k*~{l{;oRu=2d_Hy5?74qdMbft`+at)xV+9sLO9m-nkyR6!+~bP<<=^t-q~C zxzVW04~56wr;q#b`#m^P$=7$u2cNtAvLF2CJm^OZlz44&UuI*gN@$zrM&l{K=*K?r&DDzj@uu{}MEQ+y3|d^&4y{F7Ob>DsV@$73q?@n*(EPc=vCH0NW*+*N5m-G_ev;F@+!aLl1 zmao(NM^fMAF}|<+h8;tS+s{7^e=e`@^LUuz>}Vq#9{1Px_I9X$Za;GB`<(|ykNIoe&qaRcj`nlIX$||UUhm?oUl~1mnztP- zFK7RHa_KNH|EF=Lk8}N5Uefxxt>1Xg)Hrz@Pff9B$6+7Cue1E08;v_?H6wmH_`|fd3%C?+fss z1^90Q{D}a6D!~5{;Lq}JxO=OgLj(N90se{re@%d&5a4eL@Y4ePZ2>+%z|RfvY=AEd z@Kpi6Hoyx3{@wt;GQd9;;GYWc8v^{s0RM7;-yY!Y0DmOFe;eR`2=G4#_&)=Dy8l9Q zZ}mJQz-I<{EWnQq@MM6e0{pE3eqMkt5Ag8-UmM`>3-GG~yzKklURP8C;%^A>8v}ex zfZr0}UkmVW2l)2`{J{W!Jiz}E;Lr2lMDMNM4iE5`1^6oi{FnegKEUS$_}le&yfd4qae;(jF1H2#L ze+%&a{SPtrR?i0o`11q&B?11506*IIsQ+GzUnc~_pBdmw0{qed|5$*3A;517@b3lq zPXqk10Ph9(lL7wM0N?L`y|3ee0sg`Oj|ceN06#ClR|WX{1N=h){@DQE65w|Pcr(E7 z3GfF3yc^)Z4e&n%_}>D2n*X8M-mb^z1o&YA9u4qU2Kdndo(S-h0{qMXe`kO%3h)&H zeo=rI0{jC3{^0=M7~o$C@H+$iTLJ#P0RQ&X>s$Yo*RR~_4?ov%U;FwWb=&{;d-|El z|LnL=z|RHwGh5xq|7>~qzh|0z9{ipEJ@)@U`9J4iKmSwZ;QsbDlmCwXfBMP)j{2WI za~ZndU-PKHn8RPG4CR+PAFl6`gZvw_Ki)@t8-BU-eV;xbmccLl$M87(414&sPtw_A z*WUNFu75s!*w+{QC*SuUclnRi{^N50G5n1CnO~3kCvCwp|2X}b-_-Nr=dUR}f7m|` zKM(hBJyT!r_y7N1Js%#<@*h{~{3;zU_K)lJ+zw?uS!3WIZ}K0vJ>$Hg=Rfq1_xX?e z{l_CRJABfA@}D~So{k^2Z|eA7|M-xeuhP--H$45eYxDIZbNKs*;a9j8K0w&}P@$Km0ddj1~&_+vfi;Q}A7 z^&e^f(exi1{D*ygQBU6PAHS>Tr}@XV{v)gNt^Tp)KgM*vT*q(u$8YHQ79IC?$ou#+ z|8a!>*xP+@_%o*t|Ih!5xPy1HfBd|j-{>DV`;V*r#}8!VI=(>1Q~cwZdcIUgJG{_; za<~8ZlK=R*|G33}*w=^ciGRHP8PDJPjOYJfp1R*a{?A*OxtGvGeLL8H9E9&3sPm|Q zd?mj3%+ndqI62IJ?tc6F-#FZd?CThN;vZk5=daaqwtr0O`S9>>{^JClzd}d{KvUEf0d5I!+y_r{;p>{x2FsJ zC+Fzo^*T=Y$BX>OJN?Invf*KWJ%59ai~VEBf6UYQGY^SpoD6>_H|rVadwaUT$3^c4bN7#Q9{l}&L!@i#FKl!x( zINpEUApER<{IZ^3;vXyiqoniU;p6_}4FB<#;fcQf-9O&yKaTSs8JQjC+Y|qIy8rl^ z|JeQvyVHNZQRj6XPx6mBJ^z${e4qbV;XnSvfBeXQe8PVWzmD}E&-Wi+^&g+{AH%Pg zy2I4}FB$&-!i7r;ixw`L94oAt^iRfDEMBs3#pd9r^sm1WYPHKidAC^C%jcFhfk({W{Ka#@Z_>JtH->_%T_P)ee$wli~cC4 zev7{_Kd~l1HZghW!sWg$nq0HO^PlAXU)>K66D!tCteCviTe~DTwsaVgUo^33)qkH( z`MUA3iDC4xqczL?Aq~48j&_~vZ#WqL+hgloqigb$3&+>2UOv^qup=K9O)MWCR;*s? z4{VY9vjcw6@`a1nEn9erKZG%F(c(1|lipZ<&G`7jB@<(Qc8|5Q$#FfqWRaibv5Uw2 zY)*}T?V2Sk{bq+f4LkSeZQ@VfPuRG(WPHuqF>jeWjCSq1UAAm|-P)YLM(ZZmx=9X) zc=6iRZqbITIGnD(9BU^0+~+5A{@9i-T(!<${e?@%{BNzf6gpK3qk;bNtwhwi)l<04 zU!B$7vSFj%vbAGlE7y3-CdbCd{ev6eT7M#|m-%BF1};3#e=;?I;kcHLEgSdqWXDtd z?21nFtMRyn-eso@hwcA}Kg=b$iK)p?O*%DoFC`; zt*#zh;wNIsYQM6Fx%VgHZxPGZ41fIT=ff+(8`iTwVt;b}j^clJ>dMa#TlW7<&Y~qt z#@4R&7A~2*G(Wb`eu7ccZboF6T`Z75q`p4gUg0PbQg=eR;DuT ztysG@KU^rke*J9u-A@(P(s6g~Uu?Uu|HEUeFP_Tuy28ba{1mTPzHG&~UyJ@AS1eyT zX3zYjEm^f_t$+EiSnhxG!r@3)EFbP{!>4{Wrn>Qm=ti}C)o^Y6Ey9> z?zXkDi`MxW@zXKp-+U&Q_+wu*Iq6Ty-w=GCT;k_p3WnR|FvSb~oqNJBi-q~&#bB-Y z1-^9Q;)ykjmip`ZjLU7vYHB2On7E}=d;19g?_zViWVmnn3H7hVsnYkyxp39ug-g~= zEL^pyFm*}!30pKi<`>1%70dk{Xxx7`zUGp#iK%Dn^8PJx>Y2Y1h6RgUwRr08<{u{4 zT(ZPlwRr97sb_14PoI7^^}W?&!=)T{EDfp8|X537+>o5HU<9OP0!X% zJzeML-?eb@BD**))}DXK62FC2i@i&htR3EN{ljn|{vfsf489m%VoQ%H4mz3y;-YdcR5UMEtdiZ^5m< z4!m%KtHUmQ>lfU7d+_#6&inAt&CUn#8FEkk*!XA4L-1MhF#ITa1U^q5g^$Z)@RB?Z z-y~1KYw{#K{uMXh6g>S^=V^GP?mPoO>K5l&cv7B&Tb<+sE>FQr@-)0G&%mv&vhdXF-SuMYZ+Wxp zC6D+QE4~1?{z~w^&dcz`A6$Ma@UpxLZ~W24*WgWg9lk-{fNzvH;Z=DHUYEDwHF*c# zl6T>j{~r9~%BSUt`5z#Dsp7rQx$D*9t-mllrSk}Ux5gQT59BfU9(f!-{Ykej3HVHT z5?+_vxNQ7ZZ)wEetodf(_WCdfujo7vpSRnMvjA^sJVp36c?oXoScV@w$6ZI(Kj&3N z{KJ}84Q~B4;Hl4Re}?BYuNHh<-iGJp9e7dRg_q?$cvaqq*X09vQ|@UVmY=pf1nKR`AtMep$qukcV=Jj+vBYw8(Bm=kCu{n5C=Xv;y z&~vBWhZf*5c@e%qUV@Ly%kW8g1-@Qhg>RJC;G5-j_*QuXzFltfW}d@TG5Y?bPWh=MA{+V@>!uZ*F1sv&lxU01h33<9)@q0N8mkq6y7@1 zwG*Si)w#{%>GA0E;RND8p!_7^mY+1dtMd%Jm3IAR;Tz9#o`Y|n?>rB0%M0)w@*=z^ zFTwlrGJM+GUB4B0L|%nQDx@r2W$UTkM@-R~# zg3prM{4Cz;DuVcLC~r}CQoq-U!`nJfz;|zR^Gd>}ebadgKBMJ44WB8`z-P&`@VGn& zPssD|q`Uy1CojS?@)A5NFT?M@+s&&2PyWDp6`oT&HTXQm*WvT!4R}`GgpbQx@PfPz zw>s&-A6K1p;r9Bo4=;bwU0(xu21#ipK@QyqK@5;0Ao;(Nd%k%IVT{r#$JSs237d+BiZD&;E_`Hhhk}1D`AJ!sp3*@Ql0<&&mhz zoZQp=tj_ato42{;GmQ8-%4Y;_pU=eTI*-F=_FR4v@T@!upSAz+Pd591Ck4Jm@o9Kp zo`L6|=i14_2a3fv~z;lngcB*j8Lk(Wr<>Kq`$`j5T zaLYpzzE$xpxaFY@w>)&(x#ZZuxA%EuU?;<+B5~ ze0JeI_1l9_`3*)A0^IUbgj;?}aLZ2_ZuL`vTYjo= z%TEn%`KiN88h-=6S>A#-l%F=-^3#EDQ9E6@<);U?{Pf|Lp8?$RWEk7B!A)>NUAX0^2hVE!efZ__ z0o?9`p7Lb($L^cm`-l+S?t>A!&ZF>(`i;TY%j58pJOMAulkoXg&v5%(D-D0;@IU0> ze`Vm7hb(+Q#pmEDo!kB2@@DN65dT)SQ-s@kl;GA*89u3YDsXG33b%G@@J(u`4!3q1 zaBHUt|Bl*e!L6M(+}i2DA6GkFxV6)RTRVOD^GsB0$$Z_Cqg8%G9S z(s>qM*Le2_y*#)%A0W8ms;>E zwT^AL_1lGKZgK0{gD;)o^52JVmJi_lAGkbtYR~31kcZ&A)J_;4e!lBB0*~J7+Kf)c^p1V?I++fe(2gy!Y37y<@(TkDmBmsM{Ccw6U1c;iJb zZzcHL7dtP*Q~&O~0^j&*=T&(BXy-M!?QeDX^kZCn18)0U6JChB_!fNWvCeJY%x4Gj zhs|~O_u<{!RL}6f z`t|gE>v#QWZag8lu{^{27I^T zn{cc17ToH*4bPtI`t88yE^yw3m-Xkndhm~{&IfSYw?oRS)vf(GL(8|h?N?F6e_idz z;C3A);1!)G;nj=Xyi)MZ@-*DmF#}J&*R_*{*X235tz#Z;*HHm(>sW-_I+oxA^;?F| zFS>DBKA7h!;{TvL*Wi}t20VYeyIz{`1?sm2@5T@0R!AmghcvkKzY# z%d@9>Sbi+eA$aUcH=YQ*r1L0U@iBO`B4Ov=)rAW`fyv90lcVwLwC4&TR!8;Ll_?0=;j-N z=j2hi)WapUa3W7j(G!YvOyc=0+H z--nm3cRqky9=tn8>$a@;5Zv+*hFcyY@Oahr8-o{=hd6vv@d@}Ic@l1UNWrIl-u0V? z_v9J4*uKDZ%aaZ3W)fc@^HPxw@^vH+<1~9d32ofM>tt;+ycDUv}PtTiv$d1I2gX zR<~Wa)ol;H^k&zu&712xKzv{M^zItnw{2a*@RrUa^t$Ue3ZH(9^BCOn8HZ;SpMYb9(lRDe&TRjmjvAIQ%Sh3OA2o5l7?HqnEu$a!c%kX?T!y#g6}aWO3Xgu)^ttF2dF@gewv@49xvaLYpkZh45pEe|oc zU2D4do#PpZ|R~&NMtD&%iAYS-9P2b8x%Q=HZry0^IJiMY!dm1h+ht;dY;` z!o$i#4IaJQ<)IGG%NuaZLlbV-MGJ1%MH_B;=)kQWx^T-w4{mwr!|l2lz-^!Lln<-t z$F$Fc;I_|L{w&_wi6H(KwG)NgIO6cC&J*yK@}Go9?s4mtg4?>J;dY&7;C7v6;kGV0 zxUEYbZtGHj+qx9tcAeV(#C(2k2cIX;!!6GR_^yXt zJ4JY8hw~EL@?3^T6<>i{o~v-na}AzVI}LbTd1%6`if_TQkGS!-;g*LEJoO6~--RF5 zb>4$p9{TW<;sNX7zf6LWv1|IvZ8-EsFlIP&IUU~S&-??@Q@C}bUFT!oTO7M+}FT-uUDsWq` zDtyO(xqj>LnDWqoM|ZjSCVaQN1-Cr3;q^bbb~^Bledk@c<)H_!E4~l6JPhEL2T${} z`kDEp>o)}Vc00Gauz0K62;w)Y-lA};Tgxlki6j0FwUdBb-KOB7rmNdDeDWzb{tUb+ z&%$lJa_~)maqZ;c>j%yYa9gh;e1qaka9gi3+}5iCzgO+l;8EqF4iEp;jk5u7%bRe^ zLknL2yKAQnukLZ)fmuKIrSJS8dB_#jfWrADXhT%I@ zZxOiFt>x9)w{~KPf7a>lbwV6&b(@4&b)JIP_i=yEF%2KcGjLn4EPVEUuALk_AGJU8L7Z@c}W1s_+xZFpYZfltc2 z@J;d_e5-r_xAAxym(6#(;zRJ3JPdEkBXIlsK2dl@d9(hlU;Fb;am1gi_$1u=OT+EY zJLTX_o#)|QjlTe&G0oL&5uTNo;FrtG@D1`R+{RObZ&G|6ZuxA$4?V+O@75mk*+Tq} zl+O;_^4WviI6VD5cx&JGr4W3J#vg`9_1{m3z-`}%!tM8rF}Qt>8i(7yk$~I#^d#K& zjTGGWjWpc)wRu|}Y+bU5U#@k@!}~ffz_-O!Z}2TIc3y(-nCZMsKf-whKJz8cYj7J+ z9iCMC4fxW-T{}(q9`)OT&r-i_xaF+_Zz*qGxW)J2|D|}Fhpmh4Cj-QPUh$#-bo;Tz z+xQ}I8%GS@I{AR9zt56_pL*@HraTA#{QmAbEy1t4#j0;`;cj23I&U^6LE1dV?JLCiS zG_@a6|5l$io-ll;`i;QXtNkdvFOR{et6%HK`nBsQf%rq`>GLSKT}K(XT}OF%P3Hyp zthFw0MR@oU=Oy?|#h2kxc?E9!Nfo|G^RjVS9_;mY9q|dpH{jM^3m*EutE)CV`hGXB z4t$op3y;Zr@T9yCPss;x%Y&zJ*?hmMdD(c)Ee~PDe^l`ixb+u_*}rz}^x!s*K0K;%4&W)dr=zWl zjUxiD>hJwodlo6KD6rX0i-121cc3or#dqQM_e^{6j^Zt^T(1G*Z_|2tcf0G!;_dI5M&K=-N8y)0>Bbp@x8+H=wUdG$ z^(WU(8ooiEf!jE;@UqTx@P^Lwa2rPnZht@8+Oz!F-|wy<-u`}f9d7Md|JIKE{q82> z?eBND;C9`$;lI{8cHq`;AKv_dTkipU&mUd>y?aLMVYl)hfm=IK_~pA*5Ae`a&XaI! zCk5Z6_%uBJXV*>!Zu7~)n>x?I6Usv#o|PBiC3z8EmzUsSc^Tf*c?E9sufn4`Z@~My zFWCI7t}2hX`$7xxEqNDi?bx`ioz05xBYq$cX?_-O?by7{>xz#cKK7^^XB=+#3tJy+ z$L@DY#M}KY1Gjc;J*^$P-{lyu`&|)k*O9HiwPX808S%Cc)Zo@m9d7$T18)036K?xJ z3m$o^d%f3&+q!h&-o5TR@4-XQdEV6f`aaxVXAa;M^=s`}er%i}^<%zL@nN|27lkKv z9)sVjamL{`&IEjy`nC3KJT}f0;=iN#G~D{j!^1yx`7FSD(_KD`@VLALpDi!L6Y@Gd zrhXgn+QF{hCOmqO^AP1 zf3Dhz!fhOuC$-!ro0O8>%0cv^?KKS9X>h7c>_L>TRxcQ7UDmpJh$Odo!h+GP8abF zwbO%JJ2pSIGeG>KYRCKWXx&;nVR&5U5qS2EEiKC0`dEu$h(AN|Rk-z6 zhj(<|fX`aw#@U1ya+{QnEN87G0Jsqw6txH|MA$WF~ z^Dun9JOUrT(8XIn*1qLGhWLZe*1ih2@h9O~ou}Zfyz4g&-y_e!6BoI7Ymej1A^z1G zXC7YFc`?9C@V5Fb!*|LnaJ#Op9~-CDe+}{THO>aStMev&_QzcwTJQz(HvC?B2fp)6 z*N*jL{!B)_DY;zsdC*h0pn{^B8=CJPzOaITxRRXE!@f z!h1J5&%$k-dH7QGTY$IaMR-^3m*6?g*ZQ$M+v~In;>*f&4Q{V{8*qEw)rKeTbL-K8 z=f33f(1l07?7RoxDDT5J$p`TA7T1oa{%yV$c?e#Whv8e~5%{c|UHeh^QSunvuDdw= zUgg>HWaG5@Pa?ji_!Qjw%fQPz&%*C-yYc7X19=`k`zJ2G0AC<4!fn1K_$%hS>(|D` z`Bo7Bl;&H7TYq(UN9PTAUgK=SC*>`8LEeT}<<<|!-$nc>nr{zo;~&7&Kh=F!M{7Uy zE0_Ne+}r6q48Qz0&Li;k@+f?RJOA-l_V><{@QyqM-@e<$+q`YQR{t5q zPb!~TcuaZB!^=7^!0mN%5kBwWL#96OD#7z|YmeisApWBoXB8gTeX0)c>%0N)ywZ)Q z37;Kv-h!9qZFpVYfw$#dxLv!0&VA%5StyL~JTw|QmZC7tKsy%XHL^6>E!ofqH(c@b`}qpTl} zzl``58h-_DucK=4&;xG$>hQ_eyKy$)1$h&Gxx59h%iHjlyaT^i-i5d2J@~zI+&KI2 zo_qke`u8+%%jbUYaO-aQFt`0GjQFdR=Lp>Ti^8qn82sPWZvtM@c@l2xl7biB=<<+; zUoOwUoANAtr#uJm$@B1C@&bIuo7{Mc@VMOO$2^x2f1&bIfm@!daLaQIe)T)u`qtsL zz72Rp@lCk(*MeI+ZTLfKrvndv(fxPDdvI&F4{yKDU8e(hUitJM9NmXIiVwpRI*-8T zzs;>z6dpUvc?@oOj>BJ>ae20WY<=zhND}b_c4F|F&g1a;7rHzo;2C)mzCfOaH+7zY=M|rYPs(%fg1i9l=)4Hu zr1%otTd8`3XXO>RT}M^;UCOiNkLyxL{HGP)fLni-C$`f<`~zyI4YzhWaI2Fp{2ywk z2e)p$r{ z37>tf^AtQOPs68u#>HpgJ8y8Fh37Xr&%x*137%3rW%w4gQ-ROX*KZ1L^_GTPy=CB5Z&|q2TMlmZ zmWNxt72sBHMYz>l32yaPhFiT=;8t%{xYb(?ZuM4&TfH^lR&PzX)msa0_11ZuJ(2TfHUVR&PnT)msW~^_GTP zy=CB5Z&|q2TMlmZmWNxt72sBHMYz>l32yaPhFiT=;8t%{xYb(?ZuM4&+y2&oTfH^m zR&Oo1)ms;C_11%1z4hT%Zv(j1o3{h?toMaJhdW*xY-V$)D zw!&5aI3c>-0H0aw|XnX8z;H@X$5ZeR)t%= z)!Z#B5pTODro)__}GHR1Mtp#`^kYs0PHI&iDEF5K#^2e*3b!>!&1aH}`((b0Og zdJDm=-okLJw+P(oEef}Ki@~kl;&7|C1l;N^3AcJn!L8oXaC`lhfm^+0;Z|=sxYb(` zZuM4zTfLRxR&N!!)ms&A^;Uyhz187XZwZ#B5pTODro)__~R zHQ`ooEx6TN8*cU1fm^+G;Z|=wxYb)9Zm-`4aH}`(vC(?AdJDm=-lFi@uifX#G5E&c zI*-Gn@&w%8FC^hsZz;IdTN-ZlmVsNnW#OB5xpC&;R&RN@)ms6+-E*H47U6>@T>B+> z>-Wyf@X4O@3f$_g3b%Tz!L8ovaI3cl-0H0fw|Z;At6KLqy!{(jPaU|`TNiHi)`MHU zdA}U3Pph{O-0Ce1w|a}ft=^(=+xKE{tG77Z>Ma4cdP~Bs-coR@w=~@9Ed#fD%fhYR za&W7+JlyK70JnN8!mZv)aI3d6-0H0Yw|c9>t=?*ItG7Blt$J&~t=^h&tG5>1>a7d6 zdh5Zh-uiH>w*lPh&HL48JzKqn;8t&8xYb((ZuJ(0TfN2LR&Q~*)ms8?^_GNNy`|t* zZ)v#ITLy0RmW5lr<=|FtdAQYE0dDnHgj>Cp;8t&Cxb1HhxYb(~ZuM4!TfH^mR&Oo1 z)ms~G_11w~U3KAhKkdP--uiH>w*lPh&D%Lz&sJ|CxYb)2ZuJ&{TfIf$R&O!5)mt2H z^_GBJy(QsRZz;IdTN-ZlmVsNnW#LwDIk?qZ9&YCp;8t%{xYb(?ZuM4& zTfH^lR&PzX)msa0_11=4y>;MLZ(X?6TMusa)`wfY4d7O9-mgdN+3GC>w|Wc1t==MV ztG6iJ>MaJhdW*xY-V$)Dwt=?*ItG7Db>a78{dTYY1-db?0w>I4Btpm4u>%y(xdT^_^KHTbU0JnPc^!mvD zoR8I82yXQjhFiTw;8t%@xYb(>ZuJ(2w{@O?TfHUWR&Ob|)tl9?&3D6_-TSf(;=`vq z&%$fBx<9{^gJ%c8*^;9 z|MmA=d>wwI+VOrj+Ri7Zxpva<2h>g#{-={&d>?+@2VI>fA0KUh@xyLBW%y>rcj2$v z?$4>_;eXS-n(#ksUBXX{w)4LI-8i%G zSJhp=b@rM}kE88eew^z!58u#t-h^kabRK?kw4FOOuPppUb=5z7 zx$4mS(`Y+?*ZQX6cck2WtMK;W&inAMFL0jRJ=*>*)ms_K7FezxY-g)iEDz|?*o|J!Ig6Y?VbQRS@-56^b( zME^e8&O6j^9^TYCHsN>4!+S>CS*d!?!Y|WxU59@~_3Zs)w4LY7b?cjkAO5iOD*Sp~ zr+xS_+OLxT9Bu#8y1$g+f3f<9zgG1b|JP_cr)@uAYF(1>4{9Gy!xP$vv+(&=|M0O} zUHe7&3e{&BeuVa!D*R)XfB5BUrwL!B@wDOpuKai5XKG%3_%H4H^4y;nv)97~yME#M zn7a=~;lI?r9f#kj>pcm-U7m)w7Px$7;gia99)76mun6C!d6nUBw)%vBO?6&}Tm3ZQ zk7$2r!>`c((}h2%dG+CcQaj#0qxrvnjmtwA{t4A>6#g>hAr8M$*Ig3+Mb%px{vz!^ zS@<=o!#w;1)pHU4Vby0D{&veh{OcM|9sV5c+f8^?d2YjRRDQbfnC8`oxAc0z+jlho zA5p!9;ji1|)+Gu*SJzh@e!lXPgx{e3Ee(I4uCFZoC(2JAK2PH*!mrc#%W$jbD*Q@a z?{&DvH{ti`dTGP&*Xx`v{0^;4AO01M)7x(}|JH99{-nJ=gj;+Z-n9CMZ&m%I;rFQ? zvheALxP31V|EjLjBK#>`?`3#R*F_cn7v-%Ew|O<;f3y6Xy3@gm+HDJ!vCW2l;KZleXH=$ zdG2*f9lq}o?s{*+->tm0;j{I6rVHP$`&}O%RlnZ;qxp}^!|;n9cKM0Ids_E6{0NOd z3BOO*T^j!Qi(MYF@HrY!9&Ytng#SbBl;IX%4e)w^H{oy7c-rv0bf41otd(Rrp zzr}~)H*24a!aww|%Uc}&H@yx?!h716((p4>KUw$%&*+`t=SN&Hux?Uc&HObl;4^f3(BRHxB=ou8So6 zBf5Um@aygV3xBEdnTK!Dx)kAu=3PCM;T?^$3V*#`zt!REGOnE_e2!kvwBZxFF1qk5 zl;=MD%bKqj8qNRX8fO^(57liHo=|?`@P+au{6iXN8ovJ(ZXL7md$jI(__eyf6yaBB zpDe>~S9}$IqVA7%_&Hq`dhcNu-w*SBno2mT= zevDqXB;kLy_h0Y>A5s3{ug<&n^YFv<`n(8Vul=D6zeM#=g+HeCt;20!Y6f^4{yD9C z7k-oKtq=dH>cM;VX#O{8{9(9_Cko%D_T%t-wI3$oJ3rv^oQCgEd=_r~<^#MK;N<|X z26#QdoA859bK`Hr4`?~>!f)1o+lODU+SQf!oYDM$OYvcN>@_Yv3XfX-!;e>eCgH!- zx~Jim=WKxI;cw9ORfL}@FT-D~*SA&pquL+p@Y$Mg6TU;gGylDGBJg#+Y!w-K-^$-7(UU&83r>H)?gGTdzg4zkg@6kF&;VX6DiNl|->of`f zv-aCG{1LUEh5ti!m4|QDK3RmXvigU=#p)k^w&frGtlL~ZoA4*?{tLJ3w+pYRKKt++ z<=%5g^M8TXB@F*jEHw3bauj~P<`swkRQp&GzE<;1!yniEJqypP{XG0-SGfEX;eXfl zQilIVhLSnZxe2LZo|iww=Vq3x;}q^@7Dd!J9sqzvo)_UJiNd5fA|{| zABTTH*F_S3K*_a}hEF@+;9F5ANEJ(A0F2Ao`ru#>xfOp~V(d*$p{0`;Wn=zXI`&74K_?f!CqVPAI@76I6KUw=s6292>ANY?Barw!@ z&$iDW;4fGG6yeW)m20OA|BUibg(r1Ct;64~*J(}o?{wd6!+)mxY!|*p`)41%TY2^l z8_mD1Zy5gk^{RjPw=}Of{8hSMlJJX_&oulv-M_N%J9J&-;jd7hi|_@ihcbMp_Nywq zuXV4(582`FcTM=AJ6s;x@K-Co3tyw_v=3ilpT9kSH2+5`&tdo(s<$Zo9((@ZAytt=Cs&_$gZ7D*OS}PaS@uUbi&iaqaVMxObgi|G!J@oOXKujFq;2AX*^;0a@~)j@K30oK@VD!_E5rX{`wzUM`(Pb@yXvY5zfJp5?gFT59x=J_?czQXX&sGTVM zajSFq>y)=7ysYak4S)8Zm1p=(iqFG;raCOb?@|4i;eXcpR^dO^eY_68R{KB`zSKVF zhtIJ(ho7xH_u(nUdoLc%{|=2m4F90*^YEI+8He}PP7=OG*H;?;AzhDI_VXCJ=ZUgyjl&Hr-`cl&J^ewgYr z3eReNV0SyKC!^HlZU^1lbcr&zFYGu!^icyt_rVff2+fnt4^BmQ*{4o!#|>W=)$kjzR`zY zr|aE2Vl@91%_|JQQ0o|lKV`2o;YF)|cuMP-hTm-a54>ahKl}r>|G;lmeU{-b)pcEk z*HsU7`1j>a_>Zjq;UCvN)`kDjUgyBC*86DhC8PO2QR585AJ=sqg+E`{bsT<=_TeP_ z4*NX|{C%poEc_R0Cl5dHO1BRb=`D9%l;K}ceOBS;tDfudhb{l`BQ@VP`~mIfUHE%# z|ABu>?nOuQ{|&2ucuf046uwyX9Ebl{c}~K=VE146C$!&Y;kW7f&BOnu{1oB)&35}$ z8U91HQ-!}l^Qyzol{ev^R-Lrr|Dkp4!cWkBp$~sZ_Z{!0qxpZ{Bf9^>|DigJ!slB3 z!!OgiB;iHv!)f?WwC-8>2N!7nhaaVJ7U@?1@Q+{T+Nr{y)c#h7Kl^%jeKp~~(K@!_ z&wiF`zYBj%^XkJtuJ!U>Hk$umXuk@>ud@3uJb8=jHxB=U+DXDM((C6mys7;m3;&I- zqdfdAs;eUWMOOdti&f86_(5A;p6l?xYy3_4tJQuRzD4^<7k;y@mp=Sj<+nz6 z{sZ6VZoU45fA5d_oB`g~IQ#Iw>bme|jpqMC@H&Hr;QaO)d}|5f{56#f;}NgV!m?GH)#eRltazg+!h;m>NhapvLPlg^9q7hUPb zUxpv4>!=EUzUsLS|A6YS316&rY{Q?l*PrmJ?q7ZQD>Y8<6{Gpz@5s>9`=BuV1)6UZ zzEbNOhu@&r=Slb+^_zx2tm`)mzg_!e9$vTC|M2gs9?I~9@?3?VWBG?il!qpKi|(6k z_%&LuF8ooArw_l^_WxIo=6{{mHw=HmK7WIss{2tKeuDP-B>dp(+`g2CAEr9b!V9{t z^YHn)UW)J;+V{%vgw;QMrLNOD{3FUk6YgE4{U82>^4W!F)NddDg!VBnHk$tvHU2QX zbeiio3jeCsJr1Ayh}$2M@H4Ic;W5=)7JioQJ9&60tD7>utiNhb#>&YbimC9Qh z{(9vn3xB!pQ+fDu+yCLaj?n%OKS}LW;RDUL4qvAFX~JKx>$D9&S9RNkKldeWJbn0b z?Hk^aqxt`$?LY7ztInhFZ)+cp!ymQ%AAXJMBn>~u@(*99eI^gTQ2TZfKB?=yOjmxY z@FTS!*5Rk9PMYw$Z2yO!s_VB4AJ_HUhu@|=c>g|{|GKWnF#Nr$hbVld_LDe#x2~5Y z`~|x1((py9&n)~0s)s!MA?2Y6U#IJ$4F8botqQ+RUWb2L>)3>ER36&!zv_DL!fV>M z`|#Y6+JBB3&Hvw3w_*6ZblpYai&Q6Z_b^nDQ@`&>+ystdx;s2)iB7FJ> zT{~s?vGOYXT8*;~|E}t=34e>)X~Q44*FW$>u6O%+AN~nlkKU_C^M9fCfiV0eU8hm_ zO{#}D{8;5D34e<`4L|gJH_j})srt#o|3l*}!l#|;+9|`2R355y^;?H`mH!TWf$~3q zU#;sda`b3EKP^wdpU`!kf$w{_tDgdV@kMT46?je8X#@Ty&9?)8m-0V=Z`D2!Ic9YH z-_-gh;P2Odm4UC&by|RzwO$qYdllb+_q6UE_;lrG0Ph~|@)L=Vj{mi~|0dw+>)m}h z10Pd<3h=M%IxWHbd)$AIu?#<4z0RURtvH>hrF@QT{0!@sHP zw*mi)_L&yEs&?A&dsJ^d_zuPQ;g@T@LdT7+d&G19-f^dPa3{i`*RLHb00VUJiMm5D!}hi{!8$q)J_?GiLSc}{5FlJ22ZG+ zI{ZDV+XnnwYNrKHshu{ws=DpKd)ha8@cC+|4}XpBrvvya^tvnbn$bF`sGTtUbk%jzt`3sK6^jc zP91)%?k^2^Me}OG?Z3;~g+Hje9l-6s%NL$Kx?c9*<%_{Tp*$qv_TS~pz~^ZEdHBh? zkCfo2%d7ASy)LT5ZTwBRjlT`I@ps`i{yyBs?;Ssy9~*xdZsU)_FVXlD@TYX$rQvVZ z^_7FaQ`buo{sG%(;8$wjuEVF@uGbatQ`K)5{+GkuzCC~+c&qd9Ye(}F(fu?A|CO$b zBz(5^jST$oQ(gOc_(sjQ1V6)G|HIGM>%a#5AmyPApR2m z6#Nv;HwS;yxaJG5z18(shF_)EMHP5n@eR1WUTVVgr@8jK@WYg!9^B$XiP1cqGb7}F zuK~CCI6SKM6L5>qz+HX--Ornxp50_ z?f2jx)$8Ow+~UJ0j^^z&U8fPa#V6o*=)ReR+xWBaFCWr$ zqu%7a32(|<@Qqiv_%3|6+8@9NYR8*1S`YavT{|IoV}m;duBk)=3Hwq7} zaqYz5)4%9E4&SDJ6YwqSHwE7#Ps1x8b?s;1GcR(Uh2O97Ujic+^(l|r#%$Hq!7~WC8 z5qMJl#^CqLymz{OLvI>g$NSZO7@k&r#^9BVYbOQoD?SY`uXXVmcy){O zEWGe8=Q;RJjk5?Zf5OF=;Il7wUWSLh>bwH)p69#;-*B7rK786|oDbl8)UTHu&2wU_ zix0s!FK`})A9bqpD147R22Z@j#m56Y0pFm&ceo00`**lXaQk<-%5eL4xT^5{ zBKLcW8oc`|_wSe0;Vs2C;Fh;0-163fTi)7m%UcI-dF#S0Z#}r>Z2-5tg-#x=6U$o| zZh4EsEpIWnYdg z-fD2mTODqBYrsS2xVmk^EpILOrhmG6Zo>v~McPPFGx4aGDmbcK{(R!PG z;Pc(*itu^zDBSWEgInI>aLZc)zE+>tW#M7{UcLnXp+29f!~d?&VLI@x_Ve^9qw}4k z&qWLHU+VL*Dtx>4=N5d0KF{yNJBp8-I@<4tG~XorgZ6nf{L>e>-y@XakLdIH2K+ag zZx{Z&Bi!fSsnqCr?y=AL;r2Os8D7)p*md|9H2wxWq0e1A@UJMo3%AeBJoRJu!5`>z z&JetLjQiX;2JgMx)pH7-SAQ9JSm!zT$L;qW@coW=`Ru@Vsy@S~kLLNyTE`S!zqcyF zuhZ|L8t`5Ee7FyP(LJtCVtSoodAm({&cbh2`xW>r4s`9b;VJ!IAT)1uUegb7c}T*~ zQhWjaDvh%aKTv<3rw2b?@zFC!`~8>wo(q1Q#-D=Q>#;06rt>1)+Nr{`npX{O?Kj~i zop<5Zj;HIx*6SqAHw4dVJ!0^E?soZ)!)-h%cu(WV!RIP(Wq9~J_wSQd;g@UQYr!qP z17D@QdHP)6=4H>m5^#%8!RIM&d3ajmFT$VD?-Ofqi*LXuHU1X-PF+WB_`F-( z{?maU^=ao__(sL|;9EcA;`{LKCg%hAjO(0x>Cx*YdA;)xeDZV7!|-{ZcOHQ^r2U-4;pU!H-_+UnZR!YAc9_}~r~pNG%5(|HMgwtkOU zhTD8A@PgW@!fn1ac&6d{t;46^<-7q;%A4?>yahk%>#m(Pe73v?zs6qYz-_(*xXsr) zYqSn+z9G2HHw?G=M&LHzDBR{7qi=Kbjl*reDfo+YUrWPnz8QGq8?OB<+~%8u$G_>~ z^YEs;2;VI)!MAH*fyv zdR?qPR}g~Rx`*Mm?h&}HdlYW#9)sJu$Kkf_3An9$5^n3Bg4?>M;kND>xUG8@ZtI?d z+q&oBw(bSEt$Pt}>t2T2x>w+HwZ3h*)k6nv^$>ph=(;C#9)~}r_d#j+#kaZF6&bj_ zuPngdqxd4+-d9%PyX|!#+~Vu->DRmQG~m-F+&!KXIrhP9DpE2R` zP=FUy4@LO#+p4_rEpxQObWEUeo6|ZTMq~FKY6&#w+y%ZRNxlhfFEJ|Jlx{D@MBePJ-Ee(v~Ko! z$W6K)!|;gCWAL=jQ}9!@Pv+pW^?6Yq9?|ECW%#4|yt)Fn@i*b&1@7~rHhjLuGk~WR zA3ATePX3~OthjL0AJymcCHNY9KMvpZipbRalnQ)f%y|_aKGJy&K1W`Mr{oQI{3zE> z6Taou&Rg(?ybW*4JMfmg3vbJN@YzSZe*5q_@&SBY?qx^wKkFFRP6%F+hvA#$5qLfB z+KIv&@)&&Uu`WIij~wT`0*^0p<8HuDyujVx+wh{|yYT#C*G?a9br{mm+4Wmdd;}g| z;@XM9t(_G7B<=HQct_Vy9)5;iw-n$OUxC~2cdBsvdksyv?W--g?E^iy?UQ}D#fOzA z%bV@P5xB)C;7927WD;)iS$IkNLk@2FDZ#fN@9L@!w>&i9)^7)HdFa9|-cwyL436#PupLmK`HCeOk{%U!!g_yu~OTY(o9-+)Q~# zm(zX=U;L=s|KsrJ3KyS-U#R!L8Mu8uP=Mc{-$NDQ_I{xXKS}qa8r=&bgQK?QV!yvV^v4>h>kENP2>Xu=GL8w-= zgIL;0Ek75dLM_1{nCi8ZV3^oLEf=F=4~B`YevgOqJ|2(zdN_am9(_K}?|skxoaLT- zzu)u`+rfh@eD`B{Xou65+Y=V{(n;dZ>5aC_YV-qQaL z;gSA#51v;)6Z*gQzKS|0B;mIHS@>9uZw_8p{Y!9L|1#XxzXrcY>#Gj8`)v!pqrOMA z;kJDbZr^|VaQpr{g4^d&Li>uXn_Z6{{7+i%8My6F0sf}uLlIuqzUISM)c39`-1ff- zx9<@F+@5-?ql$t+IQg_sy}_Wf1Sx6 zz$a<{8NsvvFzu5^XTBLXJD>Y{?xf*gs(l8&mgZp&KKFW)Ux06@?`9=<>PFMP0^eEd zx(W|(GVSZ|?=5AXJ5Bi1wrSsjXElF1@XXDoeHU)q_u((9{Q&-v*7XQJ`xcX*{B0&y zf7?C{pK+^cpMl%zMoue1i79 z96WWWXsKpMjTjp2@+-g{FN0ZrhjO{=KGs1%A5vUxjDy zH|^_i+r9}O^Ka9>1wTdS%nrPz_FcGb--qw~pvfP=ZTk^?sP@UY zF5I^7!z1-)059qsJAyZ#HvLadjo1I`Tg-bz8ty$~+GpSo>w8oV9;$r-?(4f{30`>C zBh8JHj?K5!OJ_q;yW7-$s7u)*7y%$aU3f#7@!o8PF`#Ssqo%fpX;>)Ie3vSzY z;I&sw`!2k$^IIRDdeyWaz-{{xJb2BtPo9v8)qkdbFCqn>sP`QY{*J~g3!kH$Jp4ZU zdre(@VSo~ufQkEYxHHzcZMcB)iOB&JaL`z7JT>*<8Am9eYY9H$E*J%_=2&f zKZz6L^&g)yo`lbkr|9EM`!xK;v~dsKS;cr3K4CrMIe1Z?hu7r=cqlKz_xyp$FTv+O zw%Rw(l`=dv&v*rH_Y)tUR{JXb36oQU*X4D1N8W%B3I9Ha!1~ z@ecfHc^}^CoAwcW!Ar&m@X@Qrhw#E{#z*j?JaJNdey;w8X`h78e$#jg{=mR^7JmKu zns4wglW7-$tJ8z(Q1#imB@cHrz-0n+0-0n*?xZRiPaJw%x;C5eX(X}si;A7r1 zbqnE*_lm_(6vspaJ$}faJ$~~aJ$|MaJ$}%aJ$}1aJ$~iaJ$|s@V>r>*Wq@(H{f=?H{o`@ z2XMRITX4JH+i<(yJ8-++L%3bP$`;1^@cvfDBe>l+25`G?jNo?PNKB8< zPrGj<;db9h!R@}0hTDC^gWG*03%C154sQ32JlyUZCA#*FGJL|;rfyC6DSE#M;MeIp zc?;hC-0T}|c;*Y^9eDXm;~_khci~-m4_^DqiN@ScKbgY{Kn025>u$ zEw~-WHr$S57ryqbX1sdv4di{e9mfc6$8i9+<2Z!daU8+zI3`Yu*WZp~5^l#a1urdX z=4~2o$I*k^aV)^?IF{jd94qj$u3Ljom)GH|f6w%@0iP~!!|iBvKIGtb zK9u2hK2+g$KGfiLJ~ZKWJ_PXV)z21u>=-jox^O!mdT=`*`fxiRBDkFo-s$o2nyBjr z@RGa*Z_B+i969jN=D@$r`Tck2wBYH*Ono}=Gvy&Xy|`)bo$1Jjf13}VuAC5_Uc%%j z{t(X}K59G(Z#-ta1h?(W@I4z-{{w zKII9MpE~Qi`;&$zpET_&aGUSLZ9PM{ZQq64dZz2&-5(Eb>*>R7eid%(*@fHoJ-Dr> zclLMpCj+y< zxUFX$Zu1*(Th9n?+YjKjp1B$E{`53&^YGNuWVkNEW+&J9=6yd6pT4B=EIfMGcn)58-*^RX z^L_Y?rA+%e+~zmnHa~>h{4Tt*w8@X)Hh%!O`RNP4yFMPgK2~*r+x$G-=KFBl|0;a^ zGA6$PxA{%D&F{i(eh;2r*5nW1Hh&1W`QAm}U7rkmf%5Zkn_qz2{3_h`zXl(dGW~DD zZGHf^`8~MJ@59^5AHr?^2yXK;fBEkEWZ|=xH~lZbZGI7M^J{S1|2n+3g2@lyHopb8 z`F*&}kKn=gP5uaO^AmrK*TLpz;Wj@9pFGaw*WtE(1D;*cw2$Dn{Qy3GCDT4PGu}_z zJ`Yc?Y}z;AwtW-6Kam`Q7~~z^`A$v~R*~egL=ahj80|1h?%Ae~b5L z=T*&hi}1r&GhTvUzlQNDe9W501Gvp^!EJsUZu5I^n?Hiv{KUoa`?C2-xXsVNZGI7+ zUPpC+kK{FY;RmLD3vP4TaGTSI+nmHD@%yqlNx03)!fj3o-p-kRmf_V&#@le)z5}1U zxoMxgG~Q3!J_Vnn_GP$jUxDYhF!>$0Z6Cs4RQuFr-`$@ye9tXSeg$sxefUuAL%40< zh1+_j|L?o|=obLpB&uQvktfU4Y;jm1h?%6a9hvZmEYZ;Jlxi^ z0l#!NGtZmwfqVcz`~=f}2%jZSUKQ_;Jtw5#_MDK0&z)xS^Kg6J0^F;b_GP%eZUt_y z>%;AJn{a#G0KW5y=DHoYy>1A%*X_dXb%$_!-4VQWlDTeb)_2!A4Y$|z;P$!&xV>%> zKGJn7aC^T#++Mc|x7Q8e_PQGwtlZ5wfHaS_i%_+fyTTJ^h+}5WK zw>fRN&FR2xeImHcNnR7bFPoEs+xq0-Hm3}?ITg6APXlgqI&hm4!iTEc0B&-)F9ygWGkT zhueG~Zu6_~OYb-N4Y3Yf1h>~s{3Bimd)*A&UN;Nh`4My7 z0^DA=2)EZQ!R>WxaC_Z4y!5E*3Afj6!R>Y1aC_Z8++H_=+wmR2?R68^$LndYn}plz zX5sd_Ik>%U5pJ(rg4^qs;r6;UcuW5~fH(E;utNB5JDGpC)rH%?S2KYB^cDSkD7gK5 zHK`lob<00)#y1V0A+Nw~dmnDwhw$i0li!7>p3-%1jQ7X3_uylmHtl`5ZC{1YRr@a7 zw(r6F&!|5)#rrdT$u+}X9vFJ0<*6BaBpPl7QrXV2k^2yb8EbA7s<2m zx$+!5^O?DB3GU0Q@OM8q?Q8G_@;dxWc^6*#!sPVeQ{;VkQ$B)+^7QO@9ilHyz6W0* z&%nK}O#2GFAot-1$gA+WyaR8`L-+&oE_^6Y-WI>F^#4phQ*fJ;hTEJHe1dYy@VvYN zpCWI;FOs+6wm%)X?av54TRDl_Q-s@`65QrA;Wj6L+ng5M z<_zFAX9%}BBe>1U-4U-tU-z4b+nfU2=2YN?MNHl5aGT$N+x#Zn=6B#WzYqU*|A&9O z|99f|YyW!?Nx0o_J$R_xJbcYZ&AF=xAO6JDp#-1)Q{!d$_|1&_@aggzyfewPPuv;5 zuhQnmlknjd##8V!w=`aaf7^ffxBZ8I+kg1C{fB?s|GOOhhkx6Dxb1%dUVUfDZ_Z0) zcuih~C*C#f8}ORE1#ikj`glA|IoCrz)K$+ zuhBm--lUI=ci_?9X8wfm{65CJ@EP(xJdh9IhnGyw2tHq)oD;8GbzjrohmYCMcom*L zz<39Kz(K}C_yh7TeColbeINd!d;mYZY}$|D6Am$+{Ac{W#vE$A0{7)UymgpqU!@;m zyaVqXX*`4v&^M;^foCz|$&Fy8+M{&&E^mS!bEQKjXm<(sz$6 zeBaAW`#k*oz~mR;Zu}fgKx0FT(EFR6?u*y|0exRe!KdkdJ@_N~J9Sz3n1fA!^6(G!-d%)ev`)+L z=X75_e8-KF-#p)I@aNV42K)?LfB1#+HvEtF-+RIrKhD&%2mih56Tw$g`yqV3_N&DG z@%qowdP%`AwDpGv_PYf9!r7Yt@Ow4iitvxspE7)7_1}j-s+=19diAFPAE)^c!2hZH zZNnduhw#@mzCHM!`tC7=@2`21cpzTqZ8hIg@T*iekFI%=g*Wu~vhwh!)&C;=0QIvB zzeeNh!+)>!TZ4bD@oK;?eb=nJ06t#zZ^K{E`VHX)?ZZ8Ir2C5CN7?$rE4Kdsj@Q3r z_j&lQ+8L&41ZJi>%+Iv^QZ=YO7pw{e^2{o0Pn46_N6xb75$y_ z5Ppm1RS&+%Z0+apcU1o&{9)xJ9*o!dBGoMg|F7=LgD<(3xo#HzrRtW4U#t0Fg#ShJ zwhaH+?&t7TblnD@K;pl0Nzo5+VF?vA^d7R_j~Y(dX5j_3swKbL-9I4q~~%9 zzNyxo2jBM<)fxVw_P0FzUEOaHzQ|OQQ-=RUb@SoJ=(;udGMaA<_(z(z0sL0&lWq7d zs%Hovulyc-eT{nrpJmT2@I_WK>nqWX*MH0_=6RQb-=*h~2Y*2OZ5F<)^7HWjsC^Os zust`z|Dk_Z?!!;k{#JvZu5k(Am&n`jbCeUp-&H?*@JZSaBlvH1ejdWF({&RM$LqX6 z`$h_$);#p!-`BWg;hwEC{K^GpJ{RFxwJ*cBIM}rJ;iua3A$)T?&*9t11NffuHaxKP zhyTa!=kTFCg72Yo$PoUS#xe0oy#C`=&lG%y?$?8FY3mQ~Xnp13yQrQ;__GI_b8i{G zv)yOlZ>xO`o?P4HG~lmk9R=`b)z3D(Z})TfbN2lR{)(v-2N*v*uM1{$86IjM_TfuBYWBk#d{tY2_zFv#aS7m`+UF@e zSvUD1{O8(ddhk&96~QyQ?ht;2=3!!Py#7lE+UMb(+=HK>oGkoL8uvVWKdr|i{B6yv zGW@PrwEw_2U(0w6o>tu&@UOI90(hW)w&7ch57Jiu8=i$5R9A1QUlv3CD?JYN4vdLK{0Ptrc)!Gn#G-+U*@!jDp& z^YAY;&x`Pr)xHd$qIu%O@6!3F20u;h8}MbXF!L~g->Ck#;fuU#=4S}MPxb7<2MCO&g!YXT{3P|$ga29m%)*~l z-SY57ZZpr3B7B0Lk7fA98h0Ol*1_86;gRaofKSqMDu6E*m~m;t_tQKK;oB}S{qMnd z(0qvCyX(3`_zk+R#1rxQ|4W{NUtsGGFKS=S!mrS{+dTk1rIdeJorhr z{_u@--pIq3Skl~Y5x%mtQg}P)f?uX{)DUjJD<+%;fgJg>ozu=_Lox0+W0d~?;U4gXl{F@)c&y7l0Z#yx^BG9mfR zd&&_0mFkmtE?(#9>Sqc*S9S2@$%unSNj@#k)2h4_#2uJ0lcjB*oIHmbwl`)pO|s% z!OyklbNI=s=MeroT{rQ3y#Cv29;V>?>ACO0Jw30p@HI5w^6=B_{sVtf<6DNWto7@| zBl{fyzM=ZlfUmEd0KR)<&W&yOQQF@^ctv&S!B0{92)>c(FofT#_m{*A@%q=4pMw9N z#@B;iIMvLDEc|@sxP9K3U@! z!ar8~9=xu7DS`)f|AGI-&j0_!>%Xn`r4)Pz)y;$Nt@V~*2)}owr1`yK zcu{rp;UDU`P=jA!pTF=wYkmgsTU4Jm{4K4=5WcGR)gJs4yZ^&ms`C)Oi}ts~i}Ctj zXP>|D9kh--_*~U33%^oz$ivI3XAwTz?*H(MRW~2r)O@SKN2*%`K12I(0N+pZp$%WG zY}Qu@-&b|(!H>{B7QsV1|KVe9Gx>>^;`P7X)*pVU`tQMSQhl=Ul=`2CCpI(JEy8!w zdN0Ed)cUHy*U)pY0sm21`waY1JI~?!XkCZ!n>BBH@E_~^5W#P;&sq3#FPr`(UXIuK zUR!6l{Z8w_f2Z-y!k<@89^QM@T(=0f?=@xkKkYn+U!mtq4Stlyr2)TB>nMQR@2+k5 zuQdNdc*gEC@HIU%e-sSK{^GNb@HJe@xG155B7Q^DKN*^(PO1+14L^ zfSu>?^EJLcd|&N*HTaTOm~%@5zNS2YudVgih94PepMig>^HmRiy2dMl->-Qxga^8> zL=><8_s%x+GX?*l`tQN>T6bCaAzHtA_%oV^MR-;7whVt?~mj^#V&&@3SeAP1# zpR4_(2)|JIW%w^OzCL`(xn`c!;A_eo@T*j}06tRP+VDHoK7@a%`t;x%>benK`@<0a zw&r2twRruPeblVG6nrhY2cM+%9Sg zPU9ZH6I0DNw&9m+{)F(w$C~y%_*AX;2)?DB7en|At>47!@%rbqAEw|P^~ZzXqV=1F z&r#j-@DKG|F2ZlqeprSdpnbrH7uC-id=t%+2K;Ed|HFT!{5JeJ?N=fELU|9qP|wo{ z{{1V>d>+ErmnY`O>;F@`|HJo?d+?#^oQ2z;v*h7h>$*kwwK}(#;q$Z)`0%vmZ4LfI zc>q6L`&b*kzxorxH`l(=gI}q68^LRKpNHRK=lL7)IxjKToD)*;vz6n)bGolA{CxYI zg{KZN>$C{}h3=~i-%j(^hp(u9*5Fra9yZ{6D?fl|l+%X4X7_pcT6Uj-ucrHo;4f)k z9m3~cV(OguZ@m5m?Moi~SDFu5_;PwL%ft6j-HPzD^;|B)r`r7l{%h5(2LG4lPXm61 z#yxH4kg> zNw)s*f7^Kue?sHlhMykky$ODR>eGWS_nPK8e0hBj8Nzo_KT~hT>u-P0$AceW_igxl z+OLZ6^EDsJ@R6-2eCc&e|7-BB&PxsWEW?k|eDL8jHJ@wnr!@~7@Ksd*0RA_v zmo|KdPc%Q_FRGtC_y)?4;CI{e27IyOO@88?c>RB>oD}?RUDtz8SADYZX?i~9;rrYA z!_QSt8NQ$D;KScgoon!QwH_Prd$o@R@OSMzhkvR24dI7qUiIL?&e|W~*Jyl)@G-aR zyzy?l{{Pi}m4ZKM=Rf=zJ%6+CyL3*@!=G0jittD6a}a*Ctv`IlvrYeN@EtUN8t~WD z{{TK;{cpqHv-=Euo!3mAd+>^#|L~PG&xi1a_W#6t@%kTQ_aFFk_Pr9`(YR;f$LPG5 zho4k7>#hj@P~%>PpP~Em;g@T@)ZlAsUNzwNY90pgt<=5^|C{O%!vCQA>cRhK&w=ov z>NbRLp>a&SAFuy!^&CvW|EPKB!Ee$&oP~ceA^FYuGY{We*Db=Es&g5>o1R}j{8II& z2H)rkGd~;fKy?e?Uuj*m;U}n{A$-MG&ARKs?^1sv_y=0=L-_XUXX1l+{qNSiO2J>$ z{PEyV*!d5CPC0pa={C)O_ z)t?^xLFGj7H#9Cocuvo$#4uj}k?N3wFaD|NzXv}-^D_&-(>{OU$JqMA-%$U{@Ws|P z*Y)AQuax#czTjq7XiGX{jd!`NB0%Nx72f|2VX_~jNmJ8Z1#a6Jg;?>_%L4o zj@D@kzPtSn06$9mXBM8({pR6&YTXs#r|Mi$hVP_#;=@boe+|Bo=6M6YhUQNI-@|@y zfuE@R3gMS&Tzc?%s#^sAw|zf_->00!NAda}sryR7=R}(S@YF75US;7MXg=iO2kU-| z@Q>C1GW-c$*N5+7&p+_R=bC;t;5Dtg0G`+UY{Sn`9YXjb%jo4qL-;@J z{QnsB*ZfSuFHycnx9_d+54E4<;fL#fi|}dkGJMg`%>DZC`5KoR{8sg+0Y6&f6~H&r zc(v(TFCl!JXI+{TkmCe4^^?!B5k^l!e=Wzm|vF-}5iR zH_-lBhVQKF`tZl??}@>W(7J2D?Z1Ny;A^O!ZFouhNeKU`o?kuq?%K~I_ygKEhH(4$ zQW6W}^|ya7B?Ui6b@t$kUuouH7CuYQwLJVWje8Mp|2;(+ZvQ=n5C2;GQVss(%E@ou z?;7wOo-_Rn;P&rUwc+;PWrT41cU^k$3$?FC@MT^#&xIk}{=JvPC|>^`Yd)ml*XX(6 z!GEK9l7*k7d6!gzyd3 zz6akz&+7>Oj&g?Z%k+FneHO3(ue6Rlcxcb_@C#M9Jp6I(+eP?_=a~6WhOeu6;=`}d zx~su=(fu~y`)R)l;3sRIwBb|KK7?Pa`O|~X((@~VPgl+mK0}`PJYMID-kVbJy>(w6 z{5?I_vha@GXW%)_lOnvR{j&_eO84u-A5?w~{(ri!2K-vhs{sCz)=L}yraXinqB`{8 zH`w~aAJ_S62)|S96JNyZ{~tZSQt$&+9}j+?a-z91 zszVL_bB%8U{tt~~06$*ytqq@}_91+}>eGYYsqu~A+vt9W@O8D`6JN&bKhk_o!Kc~! z!*A3+kcFS6b)AR*($0T)SN$);AJ_io!(Y|Bs=?>~-kbvictPjhHvC0ot;Q!D$X9%~y2a@<-y#61n|0(z} z8g~yq<|^}i%)(#RxaZ*$wZ4k*&6hECD8t{>efjW3AJh93{Nlw;e;V*VsQ&?cb@jgu z|HAGw@DJ=h1D~mN9l>AM`8M%&yw0a-zNO%IYrH)8KlJ>{!cWkCn}^@1{uJR4D!&ZB zN$b~#&s5!N@b~Sx9lq%C+GpUOX+LShFW34F;hSn)dhm|w5W!E^^I{0ULj6x9Hu&Z} z<9lPi`9Fz{_U9CQrq-heU+Ra+Z~h;%@H^~z65iMTT!i1M{*>Wq&1WCJ%xjwG@O#z& z27G6&uK>QD^4suLbYCI-d7X!Q@a5Mv;~T-3I7IJF@IPyQCKid;e}@N5P71z{`tQN7 z(75E`d+7U55k6bAC^@f2vy>{+RAJgh%oo{AR7A2p-+0 z{RDoVo|}m=@%le*>kl8<`ojmd{_qK^XCA)vCuScm!k0bNj7u5*8|_Oz{A@e_;a}>0 z8}QY1-2mRT??>nMVM ztbPvRM=B?=c)b2^>0FV5+xHp|zM1Nlg>P=>Is7*JJcVCu-;dynpJ3*R55HFJYw!=X zpEuw$wJrkq2AU6T_*be!2tVBJ^YF#iG5w6-FWGY={35NF#1irPKcV^W!FN$Tv+zLo zm4`2tGyN&T*Or&z=V-q9@GaH8247Y8+kj8dc`tx}WcL&JiP{H3_|KHngLgH5BKU>M z8N#o#`%E%k=NnbG6#NUFuRQoNx0`xq;mOC${+5TIV$U=1y=?vAvo)W6_|+Ph8hnoW z-+-^7{siz<)c-boC9SUz{=DkkgOAtqD1v{k{doxAU-LGxWW4^z%Tw@z_7e}jj{2E} zFR$lI9=_BadY-~B)qY!sZ=f6>e!^>dKZ3udb=rV`rt?n#|3J^FHhg>S+adf}jc*VB zwLQ-zAc zR?yr%pJzPX+wL-^{Nhl!=*^&j`Txo!%+ zvHIh|e{Sm!-$v^(55GeFEW&@O_GS29nuk98<4?`LSA)N6_aFF&s&fE8RM&08U$o~O z_~JX7>-ONQ%Om)Wy5Avu6YYnIvGMxvqB^JGKh*s6;A8(}_JJ&Xww~j8_^KVvbNH`x zT_65uJI~<S-=Up4VhT4blnf5#bzfSu@1V2IjAHow$oBkx0iPyQT zb&-OfrG3?dU!po>;ghtE^6=F(E=9WfQ-*J#aq;2*)_SkO57oMBz=xW*0er5lKYZ;& zOnpN5l7BYyqz7M59>M>m`8I^xzn`2~HeUZo?Nji}Z2jT;s?J%suR7%6Q|)sWK1u7S z49{yl`taW?zXqSFb5sNVq{b_N&(%KAhM%N$6vCUjZV!H{=6M8v*?u2`|DW0?mW$Wl z{ym2j-2VM%4{rbda~8g#&f9tTwYqK*p0)EIUbOXx-=puZP8R~H%)_r%J&W)s z)c-R4a`nfDCzdtyrv|TSo;2V|wGZGYZfI?>kt2f`k#eQ(Y}#~@2c@C!w=T{^x;3&d7}nDPVF1;TQuJS_>xzd z`n2Ik=)OYu+1j^z@C{X;2)={n+Yr91o#*4?b^cWQLkj)__0xkd^{LM7@H171Jbb#= zbrJqI``re9xcXUxZ>xQ#0Y6!F3*ejEI>Yx;eM0z5^|J@RRQDCZcUONBE5_^jkj6a) z-%ihW4{pC3XW>=Vp$wmJllkv`SKw#LYw+mZHNN>dcpYAN-*^XJnr-q!cwL@aDSp4U zeHz}pP5p%1_C9>-?Yb`9w(r6(y2G?jul(Kp@!*AyY45|+cN(w450^LKww_J6t!Ec* z^Ly~pUFNz2xXmBJZN8U|->=Qjz`eUoejaY~3vioXh1>iZe8L=)--O%z0B-YpaDT4J z>BHy9hj5!eg4_JeD)IW*{4Bivn7M8NZu5(9n_q+5{5rh)xXBOTHopb8`F*&}kKkv{ zGx;O9%}=ZvuY=9c!aHx8oE&_vJP#kqYw!sJlT(N1@VdMTzf@j>cjX~`%o1yTvk!OSX?YL6oqPme<8|}=O|Bll-!aFU z_k}ck`liM+@W1N0nS<~B6Vtu`zgzE9CHRgXoAwp>ESd|QHFsP~`>`~$s@SK*B%Onx1HhP(+6HSR6=kv}&%9r)_1TNi$u&Ru=@ z#%r3K0sIV|&qwfS%1N#num4Iqm!{!kUo-g``0SsW`ICchssFxq0ltpbT?xMb%O<}9 ze@o}UD*R)OOC5f_#i_6Hwce#GpPRru=DOily7=}x9UO?X%H zzYV`z;`N-kt9f2{@QdUf_)s3g_uNg-9eB5Bya%7K zhw;?f@&4Sa`QyRIX&kfgH?*(j;TPDSFTnp|-^bzCsJ#zgsC~Ewe_H))zz@{81n?*H ze%FR4cQf-LgfGy2MR5D?VTbTlRx!`D#5(bMo}+b|g5RL|@4;W!y34{p`rPz04}ZX} zBlt$z$I9@js*ew!uJuxbzhmnR|E2cZHoUu+nO7lv^4`YF>&ELdLtcTezK?0|!(WuQ z;obdoU3g}HU3Yx^x>My9c=1487hXEZcnf}|tpofLje8GX(DSPgFP&hZ>{i(uNRe$R64V2S_fBy@U6F9sL|B-S+_!IV=2|riox;}h!6|=-AEW0& z;s^0@+*Ua$_+6@J8otO?8b|of%E`gs)I7<Vd^u4AFiCl`tfmG>TxqJN%)iM zXBz%%!3S z!QmzN`O2xlkJY&Q4zIy4R!#$cxz=^l;Vt-8%IUy;&F9eJJ^1y?iQvo5GUw`n!$bK90|8pHDg5ga1=GS@?OXa}GXM`#=HypmIv^#b%jxQHF1-_2t7KRZb1QpZ143 ze1i7FCcLMd7JQ2K`8Ir@x`ps(l+%Nc)w#3}Z);wS;3Yk06C1|IYohv}g1?~adhk27 zzh&Ti>gSsU_&M6=i}0Ct9l>wb`$84|vEFOy@Hf=YCj3r~S3p;NLipyYXBU2z>NbG) z^`1V2->dx8M)5iyyTClZ((sR`nfaN4zo+}k!H1eBdH8Z$nEWFABjuFg&uD+Hz!$1N zb@(~<=i~6dYJ3CuLS45FUrFby4t$~BkGk-$mD7hWqjep@-&knsnV1l-|44O9Iy?;@ zbEJ7+$iTl=KeG!AtJ>d6@RjU&0DhpJUp075<5h>(4>S913x0_9`8NC< z<%IC5szVRHlm0s|efavS=Ky}9az^lN^ju4960h@<+J92;GnC`OAJO?a1CQ*_#o%Wt zrvSf2^Q{QKPv?pv-_&S=ORfpH%e^E{o{*pZ>z;{&L+VKBVP6*#z=gBU79nH5s z{3_)P;AiSQKZIYU=WHSyAIIyJlY(!lb6pz#w(d6rzfCzgxTp1)hi|EQScKoBoHBe1 zefO@w@721l!XHvj9e%Fr(||vz`5C}_%4x%YqxIf_pD6FbpI1&F{tulGBl!Px-WbAP zQ%>SX@p0VbDt+I8->>(DH2fXqWZ>89`+OF@sm8GgFKHZ04zIu$=(<(-``T}7@bNmA zHsGHsCx9>cXFb2*=V_nsz&}$?7k;1peOLHfnkNzbOXUpV8)%;y!TZWjZWl0S}*<6jOl>oEo2!;Tkx z8_n|^d_O%$O7NWKRT;kMy5`(fgCC@IT8BsW90*@k_tkab@(g#y_5!gcderU{&VHD;X7zt zI`9?ryz9d^RQ)6PKH66kKaG#e_f|DOH&4Qsn`Gu~2EMwkn{{{|zMJl=2;W!ZRf6B9 zb5R9eQce}Vwf4gr{27g70RQJ7^!^1uMEh+Aez30Fg}?j`~>AR;0LS!P53YE ze1=E%`zm}b?GF+BJ?+B-_@X$bnHn}ctv`CNdXs{1OzM>@Zi;fLut>%-4h zP7S`j-uvnfZ^CCNrv+a|>$mOj5PpGjdi2-LxcA{_>G?i@|4lg~_$t~r5|iTfKScXa z3VwxhJov9Qe=_hJw7zoiYn4-g-({cU@bxvX%J7?&c_! z7QTb}lZP**oFe=j`@RFeOkRPHQ%)7Wj_O&1&(Qj9z}Hkx0H3Yvw&35_e%pa(l+%SD zqIuYZFE-DdA0qgs${E7n)3}e|DLt=~ljGw%SvhI=dYZSM!?W<8D<==ns?G(6m*BfA zrvjg-^Q!Og8vFp|G~g3-UrmR%;J;Q*2mWK_gbwe)k5x_tPij9LID7;@MLEeW3-|*7nIY4|5ZN+58(Ui`&bA+T;7Gx)w!Y%e@)jN!1vKS8N%nP4vDSf zX4x;CkJ0!`+pvOpFQWmzfw*azLEC-3j79pUWG4yv^fvd;rHu& z(tsapzgNIh%4x$3dLQpNybE7NIeqwXSDABB$@T@p0Tm{Yg4J4PQ$+8TkKn zF3LJQ5C4I3itw)XnG!tG`l`S;R!$ZEs^)FY;SKmtloP;D)qHNj%l17TzNK=y@JQ>i z2R~EuCxUOUoFRNiy%&$*b-V6<79ZdLstz9fD|;@5@1pDG;a}-|Re&$EoSBCu_^!&S zz>iYhe0W;tff{^wl#_*zdEL|@=kNmjc;%Gf~J4`nsRFJ@9Vw3?(io3 zY~{4zf6{Zm?eGwOp>lfgzMdm}hY#SFDQ5(qss1FkjgO=C6#N?Hc<>js?`0gGgWs&2 z0(=*p8;cGv!|zs(5C5&s)m4Yr;SVaO2|rCafy3MICzKPy8_MZAybpg-IRp4e>uc!n z#CGve zQ-trL`BQRu1-_$ls_Nz}uAElfjd@VgM zMh;K@JU+fBC?^e{p>vVv@GSgv<>cYZ>v>vmcnLm3ITd(I{qY@MgU?h>1Aeb^nhtNl zuT)M49%}xC4)4KlP)-ET>YOle_z2!nPVyJ=ah$C0T`7lq@cWgMg>R+z`kccH@W+)? zf^Vyzf0Z5X!=G194PMfDweIjHe7Qer>Q@EhY#SND`x~hNau}2 zAwG`QQ}D%(G0zuHLhX4ll!3Q;rY6K=r9Qybk|?a+>h%wJrjO zx8XlhP6&Tl>%HsnK76ur2Jl1GpP|DOJH*HF7s^S&-_m(C?eGkI59Q?G$-{O2ad;7a zpmNIaC6_VpI~9jl;T7f7;hx@S8x9ZP$0?@`pRf0ej>Eg~Q_& zjF00b%1Jsr4Zlb^8Tg@FnDNRwJP*HIIYszw>QBkx75H_^slvC^c-0)IdXV%r}+3jtDH1^>t*%bz~Nc=tIEm4Z_s{N zaCiy+u5v2yH?`0E4zIx%DyIRTq;qD|;Vt;0zIpC+;4jgd>r?+=O2fA@O71wg-_Eu%{jaP|Dke9@N4z{Rd%=!pQM}`{0u#J>JD$hw^L3F zzVzc}owgkw!go_n51#zetcyOptNR_m_fyUYK3DA%yTr%QdJ2B1ayc&@M+3v!WWxwevThFybV89IU#)I`DVPj4)4SNpqv4G zPkrwlIy|v!d>m&eCk5Y7=Z&<(Gw=(QlY@`dJj^@12)|f4W%!Tm`N!c^_!Y{j!{_O_ z+;DgRZz-n@UsL1Nad;PglXCj-FSI{L4j;nrP)=gE_&EMb-&>LnPs9JEoD6&et<$W- z^YDk1Q-p7z?+GP`SK#xMQ-x2|I;}ap0e?<80lYuntgn{CJMdSO(}jOu^SS5n2>zyW zhVYTj2_uImi}CUOKsjmnPgG~m;aT`X<>cXGwT~4XUV?wEoC^F|tuNoH6(l;gp7()`IdJO@8mIR*G>SDAgR={2Jx7 z;hSk+?Kr#(zezcL`1V>~k;8}ZJCu{yGd_+d={s%G;c584l#_vPuli&io`*lAoFe>h z8uyaJEAV;BslqSS{I5B@0e?<80sPOZPs`yQ_$$ik!vC%BBt3^m@Hdq+gkPclj2xca zD?Yv-C?^fyVr2FW&*544LgnP)x2Zn`hnL`AE2jeAUH$PLUV|@jtj<61cXf_xI=ls6 zPB|U;qq?uq;XU}u%8B5sYX2EHd<0)hImx}_W6sYFhX?SRl+%V!((i9{9NvZBp`1SaTJ49C!-w#HDJQXS zd>l`*-+vsQhCig7419IfC+qM$e4cWO@Ljc!l^kAyKc}23e2Ugr&EXCBE6NGrmuNn> z9NvMyshlqS8qLF=!z1_y${E7%SkBDDk;9Yw#m9G{a?73Aa_yE3}az^k|?fd=#@%md&!S_*)2j4?Khs`)V2R~Rj1^BIcA1pe&4F9!q zeE5UfH>wV=!;eu;6Mnz_y=8~D;nS28!hfjug092+@Y9qtfN!Ah>O+So4vdfES;|Sl zn;Q4D!!z*nl#_$ssqZ{_hZo^9l~aZvrsrSh2Nx{K772MI}v=I=G741QBLBZ_&9E_`ICfSW5*GGuW~Z*lXXtW z!v9k>_nU`5qMRapuExCtKS%pg1^$$Bs_+@wpKI`)^c-oxUsO&2&+0tZf}g1G?H%|V z%IU&CQ5|~lzvz2%1b<&SL-?&4myyGh2gk>Ep>opj-CxnU#o<|aVyZcBk7T}(8O7Kgx9?S5ma(wu@ z%BjJh((|+qe_H!M6TZH3TJRYpS<-BR!$E60OBrRPfqex;rlIrwJEDZtOrxD*{;hHs%9AO4n}gH`yQ+L!9^t(DV+ zKdA3x0sLU?&u#d2$_e4GXr6T8pQxXG_%6yBz;D#J4B=a9{U#2LkK;bdNx|)ZhcxZ* z9Q<58NAmFPbloES5M8$n|GVaS#o<->;mWDQ&(b_;z}w0X;1%Vx;pZu*nnRIv>e!6lp@E3Hx$~rs`KU+CP_+nR^^JEGBZ#$0g z8Oo``&(VF=;9Kf^+kl^^oB)2ga$4}~t@2(M}!NATr!en=i3AIHDw zx@q{uI`4T7&(f8XhwrYs6&zlIU!j}|d?%f&eTUcJE#)-e*J__{I=ltHNjV+(EA~0) z@E-gQVhy7rm2!$bI+%IU#h(D|Vc-&*fA1Ni&O8Nsj9drIPn_&C0% z{1kklay-;%{-=%&gejOjjjg^yvudL@( z8vc9j+Zp&zm6L-%sO#q88>^p1_}0oP!$bXdrYi7f?Kr{<%BjO|(|NA}_jKL};JYiQ z4gXx@+kwBX{iF-uPdR<~CG*Yx6TzqG{cZ?9OgV{4d>sF-=U@_khH}#IBb1YY@2BTi z7Ji6+k1h{CS~*4dYxa8%{2;Bb3Vf<^s_-W@e`*eIz)x0A0RKeKotDEp@af9w!tYX@ zdk&A_rzvL$KT_w7k;9X}iI49em6L|wqo4bD4$s2RRZbrMnd(z;cnLmJITiTRdM^78 zufYT5G~ko;y`t&x7W`V}bl|?~96G!QzePC_{K?(SIvqHC1fQdvMdGOVI9gA^7d^q8TRixw_V%CvkLq98b`>BI)on{7mI!;Ad%EvJTI~&s9zl{<8L;lEW+T zrgEzAC$#_69NvImshj|Qy6V$%cn5yHa=P#{wQuws9>H%{&XBJ6%8|p9zm1P?sGKzX zYt3iR;aT`2%E`l1BbWaM=B?T zZ>4i@*WrEmROJldSF1lmhbMj)AIDRblY+0V@9=4dXW(_^ZYVo2Z)SU>e@kxO)!I!k1D`9zIt6DLA|YAE%rO z{8^n>efW>GpVZ(hE2jZJP49zEhqvIXE2jhBM(456;XU{|%8B3~>%1{=_z0d+PI78| z9LG-9`N!cNd=uql;mfXO{(D9_hZo>KRZa>1oW8G?9qz*?DW?U$RnPY}{8iKsz_;~#n+uW?X6#Qq(@!;!eyfO~Y!M9UR0sc?zV?~FT z;lEIh55G%wuEHOb*Wo)VrwQM~zVAD{4c|pMA$&~A%;&Dd`|zT22Jq{&j}0B3I3Yfc zdnzXd|5)Rmc6bI}Qce!O$Q$N7pLci>et>ey@UF(a;_xcGteiUhTs^-U4iDgmE2j;g zsddzGco$w#P9J`d&QX!Whwv%NNlc56LF4&JcdI#(m`QWHmm% zb>*bt>uTIRhiBn4l#_=~IMLi!!Qmx%Lpc@r3fjkfhu7d2DW?H{LhHTh@D{wOoDO_} z-cLh^_u!W*CxXw`?-30gK7t3zNuC%V$FzNJI^2WLQcf1W#C$VeIfobEE#;Kp%WFQD z9qz-gS56H+Q{OY|4sXKS%4xxOwm-LWcnF`ZoF07b@uog~hY#Q#<&5BW>pMW=r1&^m zPr>IX$AfRG{$w1UgNMo~z_(XU(cxwI1IqE?cj^7B>hL}BCow%fjycVrq{Gwj zp>i_tuk>9s>+n2$fpUuQ1GJBo9A1Hslv9OotUA{m-hh9poB%#w&(oH}JMhGb<~vCj zzMAxKW&GH@QKRl!4tnS z-xK-{AHZ|U8NoN!c{Oobd>pN(;FFc(!FSer&p12>&nu?@-&O0q=F!-w!G%1N9aAIE*in|YXYcpC02Cj+0W_noZ6^YE$4DZ4$s18 zC?^m9hu+@{4lltQ%BjE)(D!iP;WhY0%4xtq(|bV^K2hJhTJWZFI`GM=a|l1*jwAe1 z`FsT2H~}D93}p zH_PnL8HeZKp>hiFlAfnUhnL|GD948%q;pi&;dOXdIZgQGdY%RjZ^P#*Cxm~b?-E^y z_u)O|4B$)7GUwi*!xMjqkK@zINx|pqxs!Hy2Hsar4!*zUVcy|I_>0OZ!{5?+uQ zDo(r>9>>LQb9I=A@DzM2#mT_8(|brS!gKI#6sG_`Q~fVScp1LE;#A?Q=)P(Z?!$kg zI8FFBcK(U*4tz(&>A{b)^G}2a@Ld#V1iw({z}N-haWqfB_fVV^{6p1Y8h)J4As&1m z#mT|H(7v3H@FM(R#VNy2vGWi7IPG6P{7lW427FI_|J8vXx2~)6E_^4gCw=%4>Sq8S zlh=6$zKZs{*oEP7nXEVo_*C6*68<0UziIfd6vu;~e4BpH1OHs-{~~-{^}hr^OXr6g zys!PY4!=n2d<(w2)`2$sQjJ$1zR0C6p9AA>KLhvG z|2+I~+h5?z&2#;%z!&ei{#4-?E1wPcb(+6T_&FNKF8p)N(;oaF<#_Nxf^VjJF2jB8BUSh%ic^O# z_dT~h`0$M8brXJ-;YUJlU#EKL!EaEU0lcny2;lQHA4l+p;>0frkK>q(`#o&} zzOw2$1#c=&27bb1r@We^GHp@b76oj9nTY$JDyOp18gy-SQC{7VRQR`SK z!YlAGic^EXt9q+PcmqCGaa!>ERL|`Q@50wroIZTM`ZI{|A$+{z#OmR3oM7)aB0LG- zQgPDo1?o>G!n5!Rij#*ws{9lpyab=9I2HIMTIZ_~UWf0lI1Tuk+IN}}-iGg|I9>Qt zT7P;GK7dbBoFROubHyma&j2yeotDNY-Hv^{@Ccn^ND;tb$t>YNZn_y|5-apG5m$MGbc2NDsU zf?uyV8Tc6G*^BTTe1_r_;7@9v79+e2ze{nd@SFAgQj2gOe!t>0;U{UlS`prXKcYB2 z_{uuB^dmfgKc+Y%_?pUd?8@*snkV2-C{7CgJ3VivBiw^OtvEUOntCqCM|ct5Q=BsV z%!HmFBfJKGQE`0u9XcmBBD@9vm*RBb$Lcw^8{vKU8;TRa&s6;kBRn=eJdW=uP6GaG zJO4y@8vefGc<_&OuFFPv9{!2q6ya%&dnv*z@P8{#4PMvtay`Nu@R8!Q;QMIbX-9Y$ z{*B`F;eXQka1h}`_@YzYIWu-ucpTT#e2+(X626q;q~U9S>7I`=5uSxFr#N}|1==qP z5nh6?pg0xyx_WP1jqo~r6~$@52io785#ENct~g!zJ(};m2p_;xiZg_FH14Aak6#@g z-}MwH3BOJ2YAV7r@NtThgZEoe1y2f2=qI_{Q^Ge}V`f!GESW@oU24Sku0fi0~9Vr#Kn-ih9rKMR*RrhvF3A zV-=?u;br(fic^I@rFyPKxDP*2ahmYf0+;7jgm>VR6sHH@TI1D^@Bn_8;*8*vw9d!; z@Hm<$;J;Ly6#Ooo57QCu!H-p(9DJ#fd%vBJ@FKjdIA!>r%1A;Uvf4ULgho7Z50eo|$!PRg3s3bt_u7L#i_w}RetL5E3_^(;8!V53%VT@|1ftBiNo(wKa+4@{Y=BJ|3c>(_{++F7JjSZf#jOA1F={~7qpij#%^S9O(xr*&Ti_?wDTg72XIl;L0N{Z$?Q zrRJ#*Khd5S;2Y_@-GMK4yIbc6@a@$;fG_``=F9crJfEx2O~B8}E1&Q+wZC}qd$k@G z;Crb*Mfh6kPZ|Ec@?3>)sOOg&e5pO$efjYDiqnLjs^``gJfr?};9n|E55A$^m-gYa zm4^Vn$QkarYy|IUe#LGGkIO8rV+r`;ij#tWt#u|1zxGs@9}m8i;*{Yx=$v1HPtiQB z!Ix2-0RD}A&jR0D^Cfm;_D#NkU`?&>fJ-$ilK@DG)rOoV6Q`zTHxewqC~1b)4|1V31DD)66Z zeW*rw9e%jtG~jP&UN zjvL=pglFIvDoz%@it0ZX;RX1Wic^9gtn+6%!mIG>6sHbP+Wr#ZP58}<(}w?E^Q#l# zJ@`z;8Nh#_eLsls5&Ry-iQgO^$2(R3i3m@@A5@$Sd}EE57vVYhV~SINZ=-WpF~ZC6 zCl#j(AE)uEMYs=tUU8c6ZFSygMR*7Pvf}jM#V_5w=tp<}e^YTr@RhaB$8HIaqj>`U zzT%|dXXrUP9pN7QGsVflFHxL)gcspoD^3}Hu+9UO2(Q5xIn$k^e0ZR9S0ln(@Ff+e z1K&mC-i5!UeXtK-R&fIOhCR2g4&k%34#aK^kK+o8lYqaa_DT3gS_jhbRTamBPuF=M z3;(t1GY?-wafnt->cg=yMMR);zwBnTDEsbwE!mIGI;?&_2?Dw=0 z-h}@~aoX_hv@Ufbyazv1aR%_BopU051V2}C;gc>?|?#Yw??n(yfd_u#V>CkOvX`)@wNi}2ZsQ--gn^IIjtYw)KP$A^ER z=f_5bx8VO!oDRIC^`{%*efZ0Y6TrXsu+BLV9&3ijaiBN}ct-CPlM$YVzo$4J{2HB0 zvk{($f1)@=_%qtSN)cXx|3`6Z@bi`DdW1LN3lygXKTPX$JHos0#m;i)~ zAHtVWoY>6pIR0AC*YOBX!dFn7H2e$YITPVocv5ll@c-$3Q31Zfc5dA+!Piop3Vb`Q z^Hum|+V|`54HTyV-%IDxCVVZu2W!JORh%yTGdcZvHxr3o)6P8*)l_qHAQ9$M#n@SiKr0KUj+E)PM3kKjirPW<=b@j6lKLn6Xc z@LwuU2ELWnb1%Yk@S_!{0AFhbH!j5pFT4*Ueg z>A`o^xc4JGfS;^5BluiB*Tn7$kE3}4UQwJB{7^lwr6b&fpRPDL_|G)%`3Nt<&s3Z; z{BS$xM0gE;w&M8k&9!bfBD@8krZ^qC=0!Kc`|$G>CxEZIo|~t`2#@_CJdPJCP6EE@ zyKbFHMtB;2iQ;(hRTL*1;dyvnaf(1& zcn{uDoB{l%ygMfZ5k7)Ht~l{lcpPUa&xr_6!Jkl^4E$_8*LV@0gFmS_1^Deh()kDe zH`P@Y{+`yE8vJtg$A{0==QiQ@=y|gRzgGKT2mYGk^xzxo{ML`~0RFDxjNqTxIp?16 zcvW<6Nx(l4z28p5&%NF4ryhKyI63%zs<(WE7vYOk-E(vqewUqd;D1s6Yw%?h z$A{mb@om7f%6|(!MsYgu|Je5(5#EQ7Rh$5RpPsXZ@Ex?jC+-c8@Gg8i#p%P3(R~fz zM=JghzLVm_?hEJt_x2tJzO~LjN%*dclZHQ`d69uXq&m;S_f?!c{2uMU1$b5aR|!5z zaVqeqY@LL!bgIjL9X?rc8t}`1?b{b9v}Qcn^NA;tb%sYn==td<4H#apDhz$7O-`sYHaQ;MXWl27ZCY%Zu8{2A3-E5bYQhZUy>zgGF_M|c3AtvDn2#k#N9 zpTgs4o`652I4O8b>t{N`J@`wClY^J^T$YdUBK!@-DZ^(fKa~it!2`wd;k#+SZbWzs zK3{P<@aOIQ349Zs|NHQ-6eoZ`ul;2h;jur5$8oW<-MK3P-_?Fc8sTa9a*E@@r|JBe zjqp5tMa3z?f24K36yX(kQgLeVj_R-;;SKnjiqnE0s&%6s;a&K;iqnVpwLcCbdh5d!)Mv~B*IJZ9TcYme^v9M8sQE2gPPaP z2=Bso`CR7^_)P7aL-;ky^9Wwix|Dn{JT8m=&OJA!;IC<&&%(#*{G5Y-sPj(&zN7M1 zf%M&WOFB0;;Rh*B8-9bHQ#$Z%w7&J=M<~t!zQ|>6yaM>d zc{(4$k5ioZL*a3mpmTcyzLTD_Qt*o6WZ=KkdC!CYQgL$d-zrW4{&VdkMfiBtLlu6f z@>zpFrn+sypVsqo3;v$wR}a4ES1zA@_;Qn-2k=XEUnBS}s-M`y;rvh1c`^aNT5(eF zgSGyr;cKWr9{fhd$-%GJc_t74lk!=F->x`i`1e(Z75JU@=XcWeer)l`JisQlm zsP#4r|F`Nk4}VEevI?W ziQ@F(x2QjZ2p__~P@LGT@Hj61eK)V;5uS$Ml5^{DCc^XZcXaM5M0g3lK>e)1AJ+V; zMtB{*=sE6u+kn>=clXtd%OOm;Lqs3GVqk*WZ{#vZsg!!*f_$|ic^B`q5Zua;Z=A>aq93*w9fnRwUxIf zd~3yN!zZgh9lGAP^x!)v&H(0OUC{7N3jOJ-R!i(?=6sHWoQ~O8-{*3Zp zgI}&VKHSrJwE<5)-GSClj7yDayyyoltoPd8{aZ>QMJ~s^? zuYJUWuc|mX_;0jsm%T&37lkJ@AJg!OisQl0IK=JC*$B_W zcT=1q{DPJB=YJ!-0^d_{YVeP=pVr|!+jzmB)jH6I@2>WJc%XC00KSFRhuGi4`M+25 zJq|xZ>vI~uvc@F?AL?`S@Esm<`7gkyDSie1r0Ty4k8kGk-+(XBI?#mARo=Sr=k?yH z2fteT$Pk{_xn%_3Mfa8LhV%K2@{oe>t@c^C_m#^}4*pYl3I3k;kuv;X#jnE`eZ=iw zKD@1QZ^M5z&-JGRzd-BW0RGHru6+PsPxCbXWH>){y@yG_SJ%Frfj_SO(SyID@omB% zv;7Oc#O=B-_}-eQJ@^F8mp*)+J~x0*Qk)TdUENpgsc;_56Y!%HCk0Qa|LF+#;3p_f z4t|yGUlCq}pP@Kq_%f=i3jCj%Up{zK7PgA^ZWwiOmU**DHJK+z#JS&jm^N zql%M;Pty2i;4dpbS@_=-Cl3!)Zw2@g6I?x%;625uz&BJrtMC;Srw)HvaT@R&w0||> zn`s?x!{1VzF8q6ccKz?ckI?=yfPbhsL-pDRuhzK_N?1T@P8R-Ct;0F^7@aE$@Fl0Y=aCZp8a)S<;qR(`>hK>c|33Uj8uvE5sQKH0|4Kf9 z_ig`$KcMw3{%knUDcx@Z{({b38TcISryjhldMLmv@49g>MtB+iedW0dU;92+hqVaz z;j1Z56F&b07pE2B9rzlG(}QoKy!9hIfTt8^1fQyLj6D|~myy=n1pJ4JlY-CJb3_`x zq4rr1zP{q*;0J3R&PR9=zMsl(6LxHsTODNYN%g2ufKzfAYrg_jkl4`1?s z?wl}y@2~x02tQSEV$X-iaWCx`arpTfuO$2&#Yw{t*Zj)BFVpjH7JiZ9AK~$BD^3!=qt^Kpe2&(E4E!<0$->XlI-i3dZQ}@kN^wf?wR8?F!{63? zufktYoH~5DU+O&oyruQ934c{_+VDG9aB({D-z(2O_&miKz>m;;4B(&Y{l*CXiQ>dx z2#@1p54rP30)DWKBm4`+$-sZ8{CM!&^}Lyb$If-6`zHK#&5HoOuHuZ~r>p*BbHn4f=oN0? zPrx@;oD}?Xtv_k_k2GIAy5i*E_i23d@D-GwB76tMDZ^`8uPX2lm7f|sr#L=*ebsX# z!aMMh;&&rFfbXO_A4YiM#qhZ7toLBa2>0MO*uECwMfg?9TM530&Px^e-pX4Ieyh%h zb@(FhxjJva4^o^Kd`s;|ZTP#Vx%%wF4^x~zeC4;@x-@_vrTZGfk5-)6OX2+Qt^CK~ zuWLRg;m0dZ8lF*IW#D<$Ll%Cj;^g6{Y27ZsPtiH21V3AGD)6JUK3C!I>b~mm3lygT z|BLpWCVZ^My$!!yak}tz)xHNmROh7u{945s!Y9~!j|h+dGd#Z6D^3!Akj6a~;TibN zij#$ZU+ZcPUbAxu{0_w_!RtEDm*F!t@2c=WDo!1~k@D=r&rw}9;eS?~HvAyfZ3q6T z>Zb?qD9!+WmCo})gpc4)Do(r~9>;gIUnk&ySAC}7&nr#_{)yHZ4}OH|AqW4L;uPRx zH15R+FT>wfoGSbi^}iP3KKxz9X~K`++pWVb_~&|$(Sd)gI6e4uovZus)pWlB{0qey z!N;8L*7MlQ;c;B{NS#CAi=OAsdnx#aYM+LC>W>FsUU72phg64o_>GzuMR-zi%J8N4 zbp5ZuZ&BWA@O2c&ho7nSyaB&Zb=ZQBSDX&~0ex;4zK!;yK74D%3E=-x9S-5!>%1NN zS9lyJDoz64QGb%~(^a2o_}+@+!SAqh4*b{J-}CT86sHKEqj4|6r`q`keyrlu;AQQn zb$Ctp)qqzNrv*Pib=!vjPUo~P{9MK9!+)xMZ~$L=MYj$N;a4b5?3M61-eKn-_-=}y zgx{n%Y51td3j9&qHzT|be?oB@aDSeg?@joc zdVXocyNc6=FS@>q(}OqdJq-LA#Tmk1R6UO(JpO8Ud|y=Oy_!o-PhVP*FU7ZN;!DHvU{c8ZfRrM1@ z_z1qV;>2GIkK>mb_e6xJ;0eXaz+38%7vVX0QgI6KG1>=<5nhI`tvFTqpS1thBHV{> zs5njd1zOKr@I$rUcHo;UP7l7V&d+^#LF-`v-%fEx@JCh8vDd@n=s)k)=LCGB;-uh3 zt$XPR&%saCK9!H~GCcF1dycL|xDTJD^}G?`9r(+tw{C<7@U?Yr97cHJjc`6M)^k=e z!qf0QlxGkAciX2TJP+SraY}ISNSzPit3T|#246+{wGV$%=cp$9ZPis9zOCkC7k;SK zGyEORy8!;U_RaVpoaa-t9wy->Jtt=1MawgMiaZOyU!H?kW_K3O-SuhR>B};0b-M z2ftYDvv6OYgU^uX;VpRqp4I0T;k(OA@UpxNpDM4wYw{|5y1W6uP3v@S5Tl;D594Bj6|Md+jQ`w43XH z1HPHo|0dk}-+>o(J%I15eJA#I_mhte)m7r1aDEO@-jeXqu5P?M_>pR#gY)yg>$(L$OV7VO_z}u~A8zaU2!4{D7h>;+ z^OM-i)-d_Yir-k!8g=%RsnvY`d@;-r~Rk`zewv+4gOy}fBEo@^xWEnkJozM zhA;N6)@}Gl+86rpyY+q}fFGm$kKi56ulNVyJYS*rt4a7@6+aC>Q}I3cbBbSp-}k1w zuM+%hJwI09Unu`I_&>Fe`0&2!zX|uXjRwza#hxb@x6e z{$V)Jf6=)s3IFU8m!CBJV&%t!uc$i7!EaLg0z7ty@(-V{{#W2PD-SjJtXo|iAMR;> zHR1QEKW+F=RR3N0RILMjxV=vZ;9DyX@sGlJzEAy6!mm{PG<;|E--F+z_Br@`)nNgC zkLs!fKS2Ggz+ck*s==R8o%rxK?fnmYC~w0bRvx8@{kH%=PI)fDkJ0kRx-`3SzU@)Q3god2o%+$8)2jaM2zUF|*ic{+#W;4j%a z17BO~UI{)y`(Ooruh!=pd}H0058u|Fi{UG%-n#HyyRQm-pz*4~SKHmS_u*%09yQ@# z*?JD&RO8--FLk?%--jQe`wie5Y8*%KE7hO)Fr5F(HSdz}!&Gl+_$t~5J$RsXAP0Y6 z>p%hin%3wFQuV#4*m4F5{~ufqSOICc0xwQe-vOJC{Yx8SF%9y;*z zG+%n~-BgDI_|2-rA^Zc?L+rC~o_EnWCgAhb{}eo{buR<|qt^c{e3NfoUFG3_Rr@0R z8Le++_$2kS3ZJX*CF}5q^&HfIZ>9Owf}d~shnKYu^x%6b4+D5v{T#x7qV*^C?{NN; zs)q#pD9bbaEcGV~|5WFwJp8`<-8?G7k6l`I4nIiwsltzV*tM_2+uC;;@EcXPE%-#$ zLkIqx>Y)eUS9u%2eT~-;zPIAXJ`d-4*@s;o67bjbxheP|`rHisA>CINzP`pW51+64 zEW*$F%FT;1JpK>ob@;QEXLw5Y)q+mZz?;7xL zbzW-0AF%wxchGqC;Kx{W?`vJn z!@tyiQH1ZN`z^zl*xc1m75*EIV;z2&=5+&}(tPQ_?R`!Ue*8dn4nIM4GK60sk9`r& z^M-9VPZRLNlkUD!@DFuP$iT1G`9BMvsq=Xr{*daS2){&mE5rY(^LZ8ik-QGSQU5)S z2K?lP%UcV6wdP|7K1S!a9{e!X!vKD!=hlHCd}EDoY!uG_4z_Q?f1~&*_?GHV25#@Q zvT%F9l!x2pc8t>SqJ~mFlMjzeV-gfj?~Tz2WEDxdpyr z(~a*C{)0>1xWv8;=YJoKO9KA9>eGWis&y#~zgzWRfLF(*zT01_@Q%C(@5=k|kr|FNr+0Dh3x=Mj7z#Yuh>&i`+;zo+4w>ivud z-&}EW@CViZ0{l7q9u2;M)j52kKDP$HT>bRnKUe!E{C2f(!{=&$@4~059{TV@v@Znk zPwjmmJg5A`{};~lqv}r*{+8D5H2iU$V?FpLpSyajc^SU0@4UB2_`cS- z*NuB0ezxjr0Jm`u;5P0<_-u{)2yWvZTQuAs8}~Te#ytVIaZkc++*5EH_cYwby$H8) zFTrix%Wxa_8r;UQ4!3b^z-_#S@Sm>k_VE$Ce{eeXfB#D^7S88Pt%oVNwa>zr`iFbI z$ic0Bk*Z$>^-={UZhmk8(Q@29)|C*XPI zHv>=I=GK`!yr%X=cv9D8_zJ&tpIe7pJ@{}N-!|Opp#!(}1Gx1+wq!UD6}3yiyYdwL zE1hGraQnS_4sPGCmEbFD9+lzNz7AhQ=X@V-zu#-am)3mmz^(lN-q85QmI~)5t#%1` zSDu3RbzaKCSA4{cdk${*TY{gj=a(|v+SlRpbWZl+*1iqz>VEt1w5|hqL)Rntd%E9v zJe;?0wZ0|czp>|8cv|D@!4qTLzL0~zsP&`(KSk?C3BJDStpcB>{?y=a*f}4*it4Hf ze_!iK8~&xd3tw)ktA{@P3*|F_|6cpu2!5-c%i>Fi^S_$nC*kXE;667E_jRuJ;Okoc z;k(Rs<5GYhr+umfUtRTIfm@tfg!>WRjPQ1Zcj33`e*5sP?R^4#V~zU={ue#(#Fq)@ zf12tr313&weQEgDdJgsA<1~&rczi?UAHI6ijc*A)QSZ$v@NpWK8hnYPTzns%SALrC z9hILp{3x~W!Vd~u{65^%JPqi&uMzx8t&{O(!}*_R^$*{{@(+J$AJ-obzM1Ar4t|B! zjRO2rts5oy;mS`1{(zoGYVcjuPai&C>wFVFUeDug_}Q9|UHEK$ZXdpZ>MDTmuYAUr z3+MR)jc*dZmd-h8`0>hv2mea#+qw;IRz_rm%Ao9ZD6zgBgXhELMG_TcYnTypTD=3N2)Z{?u`|EKn&3j8?La}7R8 z^T>zau!?(6*n~f{v#XOfe9RWEeHZ?VN_VGkG{|hYt@KyG8?bGnJH0~aJHJvwd@WgaCE(Q2n z%5w=mLF+~ZzVBNuP7OZh7tWjT#@p_BzXc!rj`KErw!9A?KhL!f;FI2UK7vmRoX1xP z=Q;g>a}WN=ht6~G=^r^S!e@N!yadmD=DZ1Cm}haB;fu>*YQ8mN&ZgL-<|t^h)9W$8K`%Gw__}qqz(}AaMSO4Kv zc@Lhw!?lmC9PVdBo`4scu6-UpRbGTAXS((k_#^TvyzzV2z6HPkF6TY?v9>H6;&*>cix7N zmk;2>#xic+!OJ&0PplfwPv#cqY5J|sv+&jo=LP!h&dc;gmw->#xgrf;P0s}$d=I@h$ia)+-wW_VY`=#8 zN$0By{4kwEYVfaA|33UQeQpz8SAN>?={j$8;dAty)rZeieggPk_5N)Huj;%V|3Nta z-+RHGi<0oubY}q~Xi&;QEt;zp8OB z!0peqmEapFP6hr~Jtx-SiwADJeE4*$bND8Du4%(7dfx29?@@mG@QpOz1NcwX{}DW^ z&yBAh&abVBrUH9w5|E+Ov z!~drBp$k7y&#is@Z*%X5`2u-jS74f^`{0uLjCdK zk853R!r##RYQxV}f4cA^tp4FA>UR`z;9GN*WlY}+hSA&*?Pb zt7?5~!|%3pBfMeHaqyw~AHZj+K1c8cs<(J5oM-!UG)educ5Z>M_JUiNJovJCcdp36 z$LoFzaQpK(CHOLF7pDTZKNnMjU#D^L;g6`^n(zlSzuIv7^DyhO_?~LthyOzBX8;dW zS0nhEX_tri55xI?OzT?`euCnA@ZZXF@LS~t_xJ`h*i4I!9ru%Bbw^I8ye74r%F8qA0dwuwudM*gy zPwAXIf*+^n+4%b5{C}%;I0+v&RnIT*gH=Bs{7%(F4*s6{Q-HsvJeS}X+ItfCmC9!g z{y*(gK72KedlSB+_VG6S1+Cj%_%5pFKKvkg0RNrFYXtv?#y7q}IR7{5ev|M8%3B(~ zyXwb-ulBW@M>+T`jY|Q(x%Sx-{4Vvs0*^Jd{=ip~`|xc`u6+~!nZ~^h|EcP&3!f6W zb)ye2Y8(Uj(YF4;H&8$0>2Us^)w-92PgH)=@a3;^{qf*iDgOodzco)w@ZHqD0$+ZC zi(i8ux~y{_ez)qU34hM^JNQ}3TNi%F3vRsn@OfHq1GuO8HGQ5Jb zw)U4k{4>ixe3q><@D~C%j`4Bf{4X*~`z(A-)pHu2wfw{P)^lPGewOBG0dD_Y$`bql z&G!m?lAUwl+v&fX;lqzmKb!CymCp`5r}to8_&O`Oy!GHmt4{jxeYHLe;JYb)0Dn#E z%n<$qjmrrBp~f+`QFt7Grt?@F{yWuG0{*S)Cka1Jc}~GsJ;T*=8or0}lYxJrb;g6w zRQ|K@vegg#bj8oZi*|m4*Hv#t_ypy%1g|Jg8Ge)Ibp^h*=5-Z*gyPrWTd92=ezNMp zhxe492K-h#H^P^G-_>UezUt*}Ubo=~sZKiZzSfN{e60m;+!ze@KtfUm3e z0sLI`X9(X>{U5=PmB+@1>;D4PNgRHf#w7utXWw_j+nO&a_(Q6PG`ypIHUsz7PY*s( z`OL!S=^U7YU!;944{z$e3h<+~eiq^Ts}4)>leJEk;ji0y8@_?ofhv5pHQn=64Zfqs zy$*lG>K{IKKUY@`_=UQ!CcL6^T?;-->p&a6Q`5!oz>6A}E-_ZNX)F$EkeOmLh4qxkfm;czN;r6XbE`AOEq~=#0ZhyZ_3;s{l zZ5!Uu-zU<8mvuda->Up4GU0yO-=~v=+n-PL;H%Ga_nU<`4@iIa`<^0vp6a#)x4&wf@$N#i(#+n-NNY!=Rs{rw0@xc&VI9{d-Y?^*c5{J`z+ zHz~obeGUFc&5Js`tov!fE&pw}<-ZTF&sxX*o(tq%l zC{7V><5hy&c-7$c_k+~o_V$;1}n{MdX?!fn2L@IPyO zv+(xrnqTl&bxte6?RSz@_(=V3z;D#P)`353&*^Zhp8>q7>)4jzJS=;KJ0GUtmY+1- z@{@zx{pR5b<);LX>$(PC@&&h!`S8TwUHv!UbL1^}w(Hur;fbf5ci?lMb{@d%x*ow_ z(fXg*Dx6PG*BN+S=dL{b1%m7hIlmbbVd{p3rp(ev-~u`Q-pNhk~%6}UE6PZ$;@_!am+mUQ#03iotB4R~McOcQS7+l7Cu zb7>E5?T2vN2S;#Q#}ZyRpJnwk1AC{9{jLhPac{t_ zPMUDbLl-{jMXf(@PuC-OOV@GLh5df}DV>wk@R#-6k%8NJCJ%pG?F(>gUxp`iU5Ag; zxwHj8PS1&Lxa}`}_{Q2725@U1+csP$eXXl;cwT@1R~r6+o<}lp+pqKR@2}|QQ2}oC zP=@>JcOCwg=2r_I*Plmg!>xY$@L%5Q_VEGS+K=GAu9Mq^^EOrQEj@V2&d+d*UxaU= zaWBCGeQp(=(scvAvhv)4zpnA^!tL){4B)Yi+;iU$UeYBY0cap8h>sPf}mIbtwxU#D4hQ zdRvBD{0h9P_&(g`T?1};>%eV4?ZQ)g=zif9)$I^&`+NMy;c>63T^io7_tJ2ir+K)= zFT-t~R^ZmY4$tVi1^1Ng&Q=L2|M*YRvP4-e~nm4I9OG`y=gIrs{eA9zyN zK77I|Zhkf3`PH0v;f0^5{^1vCJs-i_y3Xp~v-v)G9Tz_b&;C&J9d7X}@Sd)H_+-5= zYQSwD@4(;DIjsvX{M6m=0AAH~O#j^OYY#mirQi=}9;M;dpB((JnqPT%<7civC3sxd zHMqrT!r#|>$QHb$_&xX*+DH2EoSwUf@Vc%Oif8#*ZLT{%WZ-{M{d;hWUw}Wa{1oA~ z{#4*eUHkA|^&HfO_jTQcdlOy$NAR0e|1te@yI=czVAJqr&T#8k20l>U^6))%E-k?A zJ#ZP`-O2T{4qt3Tw=Xx~MO_cz{-$m|2JnfSJCE<^KF99Y;^g2KCl9wcRd`eRtif&n zZNfjW?`7cj{-Fn-w4Lk!5MI)CO!>3>YRePweKapJ@H6Eee4sc5_~B|_gxk5d3Lm3! ztidfm4R})59r&jDK6e1mY99&UbzR4I4v)LtZvt-jn}M%!r&|X+_)zOf0scFkuZnPM zUxokHz8{2JKAZ3bRzGly--BPN_hSRz-v;~@<)I0$>OEK+zJ}_s1K&dNd+=jyAAx(yLjZqJ=d>X_cC=eRW4na& z`I>z%34c`2Q%U%@dVijRckMYH{;AFh9{h*zyLB}OUu>@HXC9tV{a4^sJzuoo{q5cO zw&Bx%?0f*XILTeZ`LQ@Dcp~fKdd0K(ndte{_Bh8BjysG=`zz@~^cH!3l0RGiX zH}8gUd#+DtKG{A#S@)ZSTYYBWZS^w`e?iabW%yi;Zv}4qavfgKbql_p-k)^gxxHK+ z1n_-T=OcJq*O@)T_0!nX&36x;%{wo`EshVjI1RYP>BD!`_kaVqs>wg?> z`Aoq(ikpQ`Q{5KfHeMxoLe~|zogZ58+55S?wc+FUciw|nj@jh9_gVwE#ZTtL<7M$v zaEtH3^T)dQIk?TEGQ4|$>t_X?KhSv#ZgKi>i!*>*oaEl&`?5G$xW&oAElw3~ahh<8 z(}G)^0B&&-`-J;xaguP0lZRWJ3f$sU;TES2w>Sg1#R=dRr@n8v|Ec}lbql^}$*rFq zcvaUUc%XWSDW1*KEeozrJopTq_p)$1Cl}$TpW*sbf-iiokMIWEo9X&9fLomS{^9&s z`yAZbm*LjF0>Azs%@_Dc?|TFI47DG^_xrhvlR6;W&*XvbItyQ4=gB-gq3aslKg7ka z!&8SkZ^JFl5N>fsaEp^sf2~fepB~)S{~Uav|2|k5o-Mk5Ht18_y4QkN1NZk2jo=-{ zNfyF+9_jnLB7C{S-RD-}*1ik3_5s}PH*-+6C|c5z|{hx?zEr{MATUH(h(oZ9>F$>*&4-Tv5sKk`fWxlQ=+EZ4pVU;HT7 zeh9bwO8z|De^2dG@VvYPw|A~eZvAY)t)D&k*?OPchgA@G-%KZ+!4_}xc_<8m` z^^0(RYMSpU_@eK-=eRW7o-eZSl0L5p|EJzxRpFQD{Y(vR=i4US^4Wr0K6~&L7r6fS z;Tc^I;U!%s4hiSybmc7rxBh!@>wf`0W>Gg@MfgCUTY)Ea?ZYSPy-E{a()AEN=UBH6 zBo7VWSE1;xJ@{mui*oR|u50k#@h*NH?w{zq13%{9?wr$wTiycr0eT)B!tH#L(0$lG zdyBp=NW!gshOW4I_!;`1q6|M-`KiEDy7u9RsQ(SPwQs?L!`!%x;QO8B@)^@VxBHz~ zb)JUL)OwPE+xn1)kJEf9z-_*l;R#*W;RoqF)`GXypElgar4N5v@3jW-qOM19U)RaQ z!*%{Iz1PaXJG#!p&)4`C;VE7F@cn8o{|$IU-iNQRb$bA}Jj9L&_kZ^*-FwtH+}fw$ zEnR2fZM~1m!xOsp;o~oK_tk~l@7#KDI|mNo_B*!`+}bB5hwnFiq`S_*zxNlHhb%m% z>k9l;^}h$Z|mCAzi0RR$c^rEvvBVw=Vkc)%0mTib?(DI z(Rr@{w>-4r1zq>yi(KvYqY>PG=NvmKT%XpT6#Rg_U7R$$skm8qPuE5Gb6O|M@QkjT z@VU3Re74~JtpWkDe}8{Buj}xJ*7*i}zT&swCu<+?z>7MM_250tmjQeWodbvP)z#0~(c%2> zr1lB;Yg&I&@Vez6ezN+Rg}-C_0{j7eUr>a1^jubkpT40RuPVH%`l-X8SDXg?B0E38 zuaS4)ZJp11@Wp1jaUZ}}k`LiU9jOy^nnQ;MI5 zk5@eu;ZxMlGJKrwt4d$XJ$KaMmuXxY@N-n>E%+3_gbIJ@SiI`RrqY3AL{U{?fDD-q}I0<{J*;24*VR;GyFMy?f^bb>+KLeU+Z@4 zxNx37e&4MR3HajQI8VWsnX7dMzL%aavhd0BJp3(N=i!s|J$@NpINGhNRrp^uj&=C6 zs>23+$uX|~E%*ug+z$N5TE}|uiak%kS5f>S{0q(N*ssF*FYCS%@b;0)Km1~SZU%n4 z>MaYO{-(=Y9)6wbqzFGl{VBs&*SJ^V2iiIhKVIun10MT8`G+5=dD?+rsP(xAKVF|Z zfG@g=yWb&vw5;>kufzGjN&9;OevR^wg3nU>4EzOo7XF~dB@aJF>q!y5**Y#iW%%o= z^D2CvKDQ39DnAYQM6Ks7_}7Zlf!}H8O!zbM0emy9=R^2N=j2#9oc}wm{^1X5|4qSf zwEBmSQ+;OPD-~7$@cGJT5kB*C_x`p_xAP>te!ROMA6|IcJqI=5WqA`ml(*m`c^e*^ zgN2@54V-oCdtE{x{)k&3E_PhFib8aEsG}@2xlk zxWyU5EzSu3Tg8c=;PPkrxBE%Lt$!JKS=SzXzo*yxZhW)wM+T}Ncv1D4hv#RzI0g7* zc@f@{m*8c^xBlAwTAftT{!hwJ6`nfR<*N?&e&gJS`#ZV*H{iLQoj2iAc6Hu{R~5el zUp(*Hcj0+?4{q`M@EK}9famvi@dNnyeVh;BefbD}|Gut$?8I=rb>wmQ#rwJT33x-E zg2$AfG`#j(7bgQBdw_EfZu!Z=b84T1*AH@W^6=Iq=LLBG7tV|D`wwwmf_LO)_#=n9 z_EmUWd8ok$zjp2G@O0U^54Sut;ECg1`zAasZ^5(jHoPeBz_&cX#qYs;y01RGqW%xy z9eDt^`x?T>sy`$6mh#w1;kwPsx!l&)- z;6Wn zL%8MH&T)(%*Zyz*j^Zcb7C#NQ_;yaWIClQeqWzMKxcxB)xA=Lu#VNqoQk){(;*{VP zrwsp*;#A-krwX_Fufg|F93O6Rn(%@4g*M#!*?}Lf_+7Zgw{slx-$(n?6lVapI77IN z#|XaMo9=ltRtfKSE6L+2R_&8;U!H@dezHohm?>Eh@KQ*}ZvkqUN&-LNi4_!YS@Zl%UoAAbG&Rg*O zf1S7Cv9FwW;H__*cj3iF*8T3B+=G9g*F3f$_a3LmWG@>zoy z#yYRVC#0PF@YK4_8}P-`&YSRHBj+vnoK2m#;jJy4ci>aEcHV{OwsYQtue5{nKHSD} z0N;O6w|@=cRu48ltcSS9&HQ_clZ0D6q~X@TEM3<*xYa`*ewXT@0JnN5!aqO2<);LH zr{KH{pImfafzLhMc@;kSNar>9@F?eXc;-asKHUF}^9J13fhPP}<-Y~Dac{#PQ2Q?2 zKCchAI0N{vtbX7&?y=Lu`>FLW32*2+1-Efe!}}Wd4BW=ugD*JM9{8!Pg@AvZX>rZj{DZp2n>bwX)sp`B0Z=UVE3?F-@^9nq7mh&py z)|ndo3adA`wfEsowYPlOI4-P1wBJ?j+wg^T2)BOs;dNaP;f*s~eU9Ls>M*8%ZvD*4 z<8Z6b1ibj5>J2_co`TPnr{TqiRB!O%!_GbU)LE)S`0PiW=i!!z0({y@t{#f;!l}+n z@Z=fJ%ka4BumYcOj_M8GRDIUqb5);p_`-UFue`Wh5AFVJ92eFb+CO9U247fj@P+jT zxBd;`=`&St@a4{Pd5GzsTR*2*z0vi4I{|ObapRkWTYggTbCe(Jmwm3~CxiCes(lu2 z`N_krA0>EQ*Jbz&-ERdxS6+qNysN>dKjZRXpTqm|(f&H!R}*gc)rQ-B_29X)-1zq4 zc5WHKCurOQxZT$f?my@5YXqMmkLmO6ep~W5ydzJ*d-5cFAWy+Rm#5*ep6h1@o{)QR ztIsTaktOs#4Q}J;RAUEK9pDCTR!jRQ4OAz*Wr1&<;n7Fp+qiV#HZFa5_G~w<1GtS#0PkvChHx8~5xl7Tis^IgzNX0I@QOSEugQ~eU!HRS^sTZa%g{`#-#waaVf!VT&nPnu4{DVzYhOg?!#?d8t|m< zs|oK1?tWWz{jRSK|BLR|`pf)u(f$;*@53!W0o?i#I|u8JuH$g4+XOsyzB{KS;g+8i ze7R3u9@6m2k}ggLZu_7IUw28j4`$&D>j(ad)eqeAQ-WJRs_>4kYjmq0`0mP&54Zd@ z;GJb%9-8p|lFnOj%TF7Af%0Sh{r~C*?Xzm%r|WyG0B-$={TB73>o|O2{lF_$KXA)W z3O;tM%R?Hzcv|%XxBPhUPpp363+o4do7xxP3+o4-(RCHx)pZSS`KiNaSpC2)KMi@@SgIP zf?M9w@XwWp3_Ld8<$%^zx8U}>;x^oVSKNWy?~1!{i{FQjbUlEd^pxvo0G}!!!tM9@ z7SHl&-@nI{C-Xtv)p;CVywk0BmRDg4>N*bZthoMn z-@hl|bL2^QU!H=$BTvIWl4sy^#<ufm@!t@WRS2|8{@O zTOaMWRGtU$ysn4v?D?)2u* z-WqVrTNB<^d%Hj8t&R5ADQ_LP<*f%#)m**x;nT*seh%OZU7{3H1YK5@Kj zAJgaCeNC6g;WkebaLZc~{*L0<{aJjgw=~*6sk~+2mbWatuIn7!>MakqdMm)K-imOm zw-S7A+2ySaw|c9iF00k^!R;ALH>;g+`y-16qZ zEpJ)4b~-D%Uc0%c`L##ZzcGYQ&i7zo2M1{k;+>YZh5Q22fFs*mbV7n^45e~ z-db?WTN|GGjk~W7-163iTi$wb%Ud7bJJrRv`(wQYXn%w9HiTQ=Vi$(b$$4GJ;g+`q z-13%$Ti#M|%Uc@W*L`K+mNyS>dCS5rZ#j5rs>_?*AM;i~`xlkBBHZ#;hIe#bq3ir# zgcV7v(8jM0(`RWs|ZhC;O@5sx4f0%mbVK0V#Trhvpieg zYH0tF@>Yji-Wu?suA6YnTMKS^Yr`#X9k}JK3!kq0>cRaBUEca|%i92Mc?;kR6vyt5 zdHa9Fy?cCPS9SM&D4`gdQUd{8ZaqK-l#658o+OG%f;_foWHJ|FdlH2NBw3OzWo%24 zt-ba>XLi8;g7bJ@@LmJ{hQvGifhXj80J!Sr16SPwz*V;( zaMdjY{QTQkpD^%E;Su1fTNJqJ76bk@Nk_|vx@EzBQFJQ+*Y;Kg-jeGz;Hp~qX0lx^08~yF|A(aMi5~Jp5X2mpi~! zH&4FT`>Jkzz*V3q_!a^FZP6_XTy;wT zZ^(5Pxaw8_uDVr#t8P``s@odyrj)A&Ty>gKuEnw0v6cs@o>mpYsGB z-b4DhUCPx4uDW%At8QK3 zs@o3m+wNf9w0x*rpOjnqn?$#M;HsMsydc*B;Hp~?xat-HuDXSRt8NkCw@bOAz*V;x zaMdjVTy@I=|HV65H!Yv)qwTE%_J1b2Re`H+HQ;TzUI(ta)q$&S8^Be!25{AF6ZkoG zE>{z{>b3=3b!!1v-L`>O-o@!_`B1kG*n3apd7%qjb@N`&{ZiA3%5@)b)vX`6>NWse zb@PF%ZUNv`DOV7<>J|d7x`lzOZV})I|A=+d@@aXsy~V(ONOVg8SKSK0n{r)2uJJeE zs@ocH)vX3xbz291rIf1~@g-FAQ{KFs!>Q(`szK_$_@}X{PVE>dS@qAhXuDaEMcjbBmxa!sbuDWdkSKXSxRktnROH!^DaMf)a zxa!shuDW%Ahrb~08MwB$9pFbqH}7`vH#GhRJR#Quz*RRNxat-FuDS(*t8O9S5h+&~ zxat-GuDV5mt8OvmUzGL?Ty@I=e}(8)0Iuz=3cMxPYrs{v8gSKZ9k}XN2d=tp01rsH z8o*VzP2e4|Zvt1{wt)Xa?6rK@Pq)GTlcHN2xa!sg9)2UY%N^jVnb3#=?k}@$T0Ycm6YQThAn`Zgs#^=V|0Zs4 z+rU+~HgMIg16+0M0$1I3fZrqK^5p(nF4e6Mxa!sqTy+}&{)?|ldj_uUEdYE@bPEDk z-NL|YavcG#x0QcU^?QIjd>ed9Vx@`eh-CDp^w{74FDOVe~>ed0Sx^;o8Zacus-(=mi ze5hNWlw0|yM7Mt6s+$kIAlCuls#_4a>J|d7x`lzOZV}+OO1YxIRks*$)hz*Bb;|;O zpe5}YxVEQ(@*x>bPpNx7=PRktb4I2JV{^6hq`Tm{a=c14dAL<6L|kyxxH-xSKV5` zRkv;6s#_bl>ed1NR4G>%xazh8Ty^s#zp8`k)(89nNngvS_S)VC!2a=1=6S&fuDS(* zSLHecTy+ZrSKT7ORktW`)h!16K`B=PxayV#uDTU~t8NwG=YF62sg@6QTLb&B=vD)+ zy48Vq<$43S>ec|Rx@`hi-I~Bvw=Ll3Nx53URkv;65B`vKXaiT>I>4X$BevJ_p>8{1 zpBLS{w}HQ*@i*WJxgG$ny7|CWw*YX}EeKq73jsf0$`uB#xyCl&b+;b=w54x;25TZd<@# z)n?tae5l(t*tbQuHgMIg3p{)Wx62*is+%X@>wQ(XKH#cbKXBD;0QhZEE+4q+767ig z1%az>A>cRuCF`c;)BNka5CQw&dJ4}AQQ)du0(e8Nv%poi0&vx>0$g>g0$1JEfTyKg zHQ=h-I&jsk4qSEH0G|FU)=kTYx^05}wCL6ZuDZ2=`)}v=whdf$YXeu^I>1%8E^yUt z2l$ed%ai+Sxm344;Gw@^9r}T*ZUev*Vz1@X^tHVO!2Y!876h)kg@M=PIs!Z^_l*K? z36B8}{VkU(0lY3e3;Y4$1>m8dayk{@+TNcv8o<4G zaC_SXuI;S}T-)0gaBXib;M(4{f!`+OY6I8y)&Z`%b%CpHJHYSju>M*;)U8j-t-LL| z^#fPkeBcGS4ggo(g1}X`5OCEk3|w`K0RNhlD~kN_T;3S)%Fm=d16SR$z;6?KEuZS6 z{j>u1k9{i73svB%TMc+yuGfL9Zgt?Q+XisetpQwh+XQ~Ql&c9`+uIiK^xv^=E#Ru# zHt>qrYxz*O4%k0mbn60F-Mn{#KP=aMz*V<%tpQivYQR;ub>O#4x$3}Gw+-N` zTLZZ2wh6rY_uM|UeAwQ$zYCp76z`mMS<7lItE<(X#%+FmIbcu ztpHqgs{n6HxvIdmy{!RP-D<#9w{_r0|A}?e@}X`UVE^=|@x0IguDUgW_rHtV+ZJ%u ztp!|l+Xk+>wSlW{9pJbAJC~~qTy@(4uDW@WU)4c%>jQrKFF1WIpW17C8vy%jL^mI} z>J|iEmFp02)h!HMb&CL3-J-x%w;1p{q+AK$s#_Mg>Q(@*x>bNz|ATeY@}X{PV1KLV zRs*iO)q!{AdIR{H+_wQ-b=w4fyVy5@t8QDs>tf#m9{4|8-fiHjTN}9Q)&c&(hw*zC zwS1`C4%mM}bo1T~{)WcifG6a70Jyd{AGqok0IuyV2wZgw0l!{(&uI;S~yd~Fbz*V;zaMf)cxaw91uDWdi4@kKhz*VVDZC%J>NWtp zCH6k>qrcAO4FFf&g1}X`5b%Vgqvg~5>%0&F`{SZp6u9b^0N#-6EO2da1>oA=D!{e9 zRe`H+YrwNot{QM{Z|lHSw>oguZ3B4qk*vR#4|UrF`&&e}CUDiQ1>C=r+uJs9)vXO& zb?X3E-MYY4w;kYXQZ7&KujNwR`hcr${lHbX0pQzxtecik)7SPE0Q(P%Zb9IxTNrpv zt|P$Pa^EQM2ZYCft8NM4s#_NLj-*one(s~VycOW8TNSwKwg!Ct(VUK!4|Q7y`yYyK zb>OO71Gx7dZf~2w>vG>FaBXi}z*V;vaMf)a_}3);Ht@A`xx5|Vs#_Ph>b3(s{hOSQ zmJfC7lX5G6^zZPz&<|X7^MM!SIsjbzX%M*T76Puig@LPX5#UQwt|)Nrr!nBFTLQT1 zmIZ#tV^}vWpX#Iiv;y{rM7Jt%)vX4+E!XS7@09!2fvavCz*V;faMf)ScuUf60zc<* zT;46b4F1=;JvZEg$OE0sEJTZe8H2oA+Muhvm8t_?+CgAGqo^09kpfa(P3*Rktv3)hz<%tpQiv zYQR;ub>Qn#t~zk-ryIakw+3+4Z4-ESfOXUIVSC#G`yY#LE#Ru#Ht?rBywARWyAAxe zzWqqcJNxi1@bh2F_B+5=W`5nK#|69Ar+ z`~-o2Tk;bEuKI+5t3DCn7u?I`jRLRy9rGCQVX;pDKRC{MW`V0d1>mYr1^BZh{VMRA zB|mGxFBJP4@QWos>%g`D)`53?o@Y0Jx8Kk0paERd*#!QmXK*@A;F^yXa7}j`_}8Ap z{iqH6C&D|x?-$+${sZAVz_S5P-;?*OXg}S)jCmjM&;L!`1`@pkutvYG?TCO12 z_e*|4z_naq;99N-a4lC9_#KyWK4ZXd3o=gtzfa1g<cCZ>4dALz1Gwt52|O{%Iy8Z|FJ`_4eDXr(S`O4_8|S* zANRW*;H}H~zMg!q_Z;T`Ae0uUb&5!D!=_%KG?+5#j zNj?XFYdHhJBXS)CuK5fBzj%!G3N@DA<2q+b3|%r`9v3lLh&?Z9g^OH7V~paBV-D9_Dic?EhBs*#NHPYy$7f^%n5+p3C~TfIn6EHt>k>HgFxs zI>7%`@~QX7a_xZquRoLh7ViVSey{330Q~mDoPQtq9l`^^?-U*c-Vq)G{;DI=K7soY z<`Lirg-3x;3XcJw6P^Hm{xqkb1)ddN0A3be0bUhe1^z+dYryZghVNSg{_XcY(ym9= zfxqE?_Rs6UpX>8FWdrz@tRou0uaI@eCh%>!Zxi^NZsPoG0e|jgeBT!ESIatR8~Ed1 z#`$jpzb(wX1N{4vpDysL<-R+>zbxwo?}NSV`Rl^_fL|@^h<@N7y`9TD0Q`-jzYqMY zqH_TF)lx4(;Ke_DgstBY@YR!i-!Sk`NPZ%~AK7I4DDa>DjMI++|B>jK0Djk-SpO{W zng7GQ0Q}V#GOqyt!;3jTRp4(Hz6SjIC$fDF_%}t*b>P}B>cFS8{qMsY`|!AKu-E@9e|95B0Wx)u(SC-oFnY*oXW3@W4JixDOBQ!^8XV$UZ!} z50CA`6Z`P&KD@9Guk6FC`|!1Wcx@lPz7MYh|BaitKW+d&B>kcR{4Fw`Zvy{&88@21 z-zNQc3;1an$6COXkLUbs1OJxv>o)MSl1>NsAsL^$z#k*!-2whD-{x`8`*3gjzeCE~ z2Ylu~*uEe5wKDDv0DsKi@p$C}PfK|Nz~3Rd1%bat=Eo557s`FZz=uA-dPac1UebvI zKP&S{4ET*Q-X?&*QPRl*|98=|0K6{o&kFE6g;#+;PIOxX{sEbHYQP^S^}7!IiNfoR z-ui94{W*3%-2mPc-T=NWd=vQOllyHtTfhVFy~Oes@ILXUw}I>Ws|~y@>&6c7j^w8c zJo^qV*ADQOaPOnNI@I3D_I{uR8^Q;GSKr0fN#8y z?Hj=T_cPxFUKQR19=M0?w}AJ5fO!k}n(%Glfe*2L8+h!4%sarF!n?q`lKu|xnxyZ2 zthe3vf0)zn1MYodc1+ropuqryYL3m@h5!@xVjBf!@`%l1*= z*^e=g0q+P;0Iz(U?X$pxcQY>lZwRjd@BakbSAo}suL1Wy$@Vqi3E}I&o5JhB>!0Fu zHh}xW8^CLuY`+P-@6*hiz_Y@)fbR%z0k3?9)7b{TExZjpB=y(<-jaUT1s?qzr@sTd zA>8|TZ~Kqj%l3W1H-z^C5C1XS4*;(V_ko9+Y##u=DLe=~@h5B_0=^?W3Opk7U<|m< zg9+fi*k^%Xc8uc*1>hm!72spStHArVIR9(F*T2NP2D~GD9eCx-Y+nc7Cwv2VOn3u$ zTlgmM*jG6HCUF0&%(s9Sq+BiFA@NVPfomMF4P4`p9pLL<OaR{z`z-LSKjZrrfOo&eyaGISKl3W^;J2Bt0Ux-I`&SKkL+saqw}sb%ZwcQ3 zuKQvQ;14{D{pU^KKlwJdn=Rmd-{JhXfNu!j2A&Y!1|E1Jm$w5v@)w+b7q~Bc2Y5la z_le$i-WA>ld~=)A?+4y_@iT0D7yur)^>-}yfv>-u?E}CEBFuxpLtl8NO(z8W=>5#Y zz+2yaytR)2KmU)JM}gmWAEy%o{)3-${u98D###R?@N;i`g1v76c>2EcEUy56u*&vT z;OG4f+phuNc?;XufZzQn=Ig+#l71cdl|SM1H-P(bPNxCf+hY4o;N^L?ZvubtD{Q|7 zd@{}UE#Qr>vi&yj$wjtr1HbzlY~KNXPK$XL_{Mjb?*M;LxcAB4_8-}1`##{CgPfm! z;FYH_9{^r|9&;b~ZGX+_2Y|OOXZs-V^(&Z%fZzUkPA3ff{!cNF0Keo0Znsh3&lVm7 zzM19wCV*#i%(K9MaEf^W_?=74E5IYG%&WjR&M;pCe!uV<@GGUAuLJiE1#G{o0}rh{ z(ee%C(`?@WUJ$+sd_#B>c<>rdXA5{;cnf&+7~5|HZwPM#4;^Rw4)FH9JRfy|Z{Ey& z2l&PQldKNjr+VA}51z)n5BNQ0=Ka7QcscU{;GJ2{rw@GNTIK=Z!Rwd@f%nCjhk&<* zhk-XTY##xhSYRFn?nQsw>JS6I@gmkO0lb!Yl(o+SZ-{*Xcx#^RE5Q3w%&WjVQjcrE zyHbxe;J4PEYV)%W{6Vp=1FyZ6%e4W#`A?iq1GxWxGv5TB5c?+Zz8`XX*aE)wUFI#| z8#|o-HgNyv%-g`b|H-@qJoq2XyTB8Vc$(E`2l$Nv=H6y+`#<v0?T0p@MwPh;LeegX3?^50~>gZ#0~y-#0g@2}@-`kuhN z5BYC1?+5PR^(^~)ANc+A>^}#9hpNnj!0#3w0v>)j+lPVIKEpf$+!r1N9{TGGY(8Va zo5B;oTR&y{Eb#lKKNf)Z{}bC+fFG1~N)`B$@HOE6GklxR8t}I8b>Mx+*}e`uJj;9o z_-(=)z@sPGeiL|qhUbed;9HO6cGCjh{dMNsz{8JV-Ui+k-T|KdH0P%ayxce7nSXYG zKky9hU*2cjxgXgZuRW@GFJ;z{A1=z;8ds<8}~u;1!(z5b*Au zT;4G7ix0AW1o(q5An= z$lr7NKJe<5e7^wjo#!$S0xt*;0q;n;!oYW~;&dXw2g1ywz-!NA9s}MdJOR9VHQQ%_ zx5k+lfX5CouK;fguL93bu>BhF_7w9P@Y-SK>%b$UTrYLtiAlEK0Ny^ryaBvV`o$*j zo#(TC6S#kj`4;f1@D}j?6KuZ?JT}AmZv(H+vV8}5Uz~XtxSwFY1H6-D?%l(GYWw%+ z`MM8yH_f~s_-2Or0Pu|k=05NrEc3V&0A82W9taeWnl&wcfPoqsF9Z+$-VD)5Tz|MR15IyK+}V!sZ2 zO?Vx6@H^+*bQ-`DqUR=X)xQZm{2uXhfCq)QfG31+1CI)C1Mi&S`sx6$Nqu#J2P$m8 z1H3Nw-skvxZRd?5U-tozm6`Vg53DjD06tJ+?gNjA{sG`ENhb(ACiWrV+0&eU7`fO- zfLA0xQQ%v`W5BbbTLO4Pbjt#do#p%#fH%dy0z7mJ+gE}2|1R@2;B85#27K$KY`+e? z`ZDHq;DIXh4d5-|4d9iRv;8LUg0#;j@Ex(=0$$bj54`dUPJbJCP1`^49kK5KuZw*b z__pY|1H7y4|6abow*StpeBB4!ll1$64@kcl0N!~Cr{e?fmvjQa6E9`^AaGyoL%=Jq zWcx7ihS*1dd#_^qDDbA($AI@sKS}^U_bwivv%m|VW?lfU&*N2q>wahzcty?ut^uzL zuK{0^a;*bz39kd+5xxPu{1wiB1Gt~(@q82bfbb@8|85!of$MWaE#SVCYa4h(cpJFt z)&agQ&og&{>+_^Lz&r9BsrSd+F0}n`%6zx|?Oq-k;ChpG z66Eu`Yy0pP@COb*(x$(?5BCrB=BFX)2ln9w;GcLar(fBJH-SIu2-|M~|LQ+-x%!{o zo1fDwY(D_}FGRNl@C!b|>12Ul^gY(O0sIec;Pf|vKTh)LJ*PK6`7dz#eZc=O$xjq` z`XBkeG2jn=n0X!eXTQ(+*#Q0<|IEA#{LOFU{OkZ9mHdYTz4^cRt$g1I@JBqE)2RWk z_V?NLvkv@ul1>}=oZPnqJRm2O{8xa#LfT0a_(vt3E#LvE-~Nkw^Rs*o-**7` z+6eOm@T*?I^_vC$GD)Way!a|kXA}6BWE}7=?#<83q(Alnf1BtZ1%Ce_)-wkDQ%~jl z)`7oQblU*_SxLVOyd?c=2l$W0K0Mf)|D&RF1o#I<&l>QAwC8o;uM*wbz`rl$>HvR@ z1JOun3GOkvE|D}wRYrt=OxU_%Z?~w6r8~E#_U;9J7`MF2(69E2%k8ryx z06#7IRDhq6e%A#4b?Gl#z`rE@qCeQ1pMR5nIsp8Q-{tZqfS=Iz5Bw!Eo-}~}RCL}1 z{+KUvdA;G@{JcTR)d&2i(qE#$H>91!fPYtXr~`k$jOQD`pDp8a7x?FN{0III((l3} zz4;%JdW--+F5_Me_#v@h2mVEwr`o{3F8S#I|GAVmINF<^zmar8zz@kdUj_bG(oWWZ zKS%1T1^lz3|2FUkq#yYQd-Kzj@h1TM71GWNz;mKo1^9c!z6tzY(tfsp|C5Xx{g?LU z=kt=z0Ps7cJtu(w(K$S>W`U=qUo?RKtLV82{NZ`-U*2WC`B{~5rVscxW!#7Y|GD(9 z81TefxqsDxKU?m*0sMn9UUh*l$aua3d|T=*N4Z@76}|a+ z#M_t$fPYWhKk&zViR~-E&q%#AfqzeQ*aH5SGH&#b_2%b7Nq+#iH!R~n@Yjofk_G;1 zX}1mFZxuZ^f&WzU={>hMKQ9%X`+)yK#<3{yCq9k!i2)xJUI+eMDengGbH2yr?E?Sk z4V?ZC@PM@2@Rg8%8LuM1pDcRTfFF?it^V#&Ci`uFCpMR z(Do1fL)!jfghLl>4kgq^93nyAMoc& z`-uX7)C9MO81QdNz0`q^i*6gh|6JzrF7OZO_zyfT`3aBr=KrLm9|8Vd8MkY|k4d{- z2R zo1dhVHvs&{Qtt)e|1R@v1^8Xk&YQshLv-E({@BOzdcS|NH$Pv{_z&>!i_Qt)uN2*~ z$fZ3rfIm;$Kk(o9zWD!Bz4>{3fb-c0{7!BEz^@*a@gMkeWn8TTKVQa~4d9naJLv-7 z((xa7Q1lER?#=&6;Su0n>0dSAZx%h*fqz-b+XjB4l&b^$$-l=s1dsIQ=Swo4hk*Z^ z)Nd8|ubso=$r|vNNV{zT&r5&b27ZI+=|_6=^LxSrz#s8KzHb3|MAjV@;NBy+yiMS7 z@iVu8zf(pEcmuO1-y$9~a%Wf#0g*|FPcu zTqNZR0KZlJAK*jMFDk%qkbcnw{_!VsKiUHRyV9QfkN4)MD1OKQ@Xv|P3E*pT-z@Og zNjeSS*GT``1imc(q<5k>Km8+||32Vv7k@Ykyd(LH0e`);&pPnCrG0Jy-w=Jez&|hZ z><;j6N;=_aZ~m{7`7Q$dptP$R@HgoC7x;5Thc@t!hncEJp(U_ZcX5yk$T(${(0g3v%U9yy3Ah# zz=wnWFl-5S9EMffK0pNpQ}TyK7Ekn;8cze(yV3jEKc9matFNZMf?_}8R8 zYydx}!TqQU{6Dol1OKU{6F%9S|A+rRrxOAGL-8wWz&|7HXC3%?PvLahz>i72bbvqR zi)i0Rvkm-9V((wqo1b^fI3EChK+-7y zUy=4u0e*$((**u661Uj`{s+>2`eVKMIV|@b0R9h>{{-+C%6+rIpDy*@0DigD%O>y_ z$@u17-F5Z`{kg34HSf%(s9yAI9Zv0oUgfw}G$S%IUO$ z*I&ZC13d7rtaBH5{c(KX9pIZU<#fCodh4t8GUk22J9qZkdhvnZR+e+8z#kAE1n#f0 zeF*r)!o$FqPP2Uk_}#)2z<(e-3;fD6oK69FL3joDt-`Comnxjj8t}V?uLJ-4n|Zuy z0)P8Em~R1JJ1Ng60)IgGHt_yy*}e_@sPGQ(tne=I{&`Mk2Y5)hcVllmxlwo@@T_nj z`1yau=?8$%2@e6U2@eDJ{+iQ?0KZju0{A_`v%vMf72pqueHFOgcMZ7Sw+4J&uJunn z@AP|zd0wl7ef8=5e9Z>%JALL2;Mr#~-vs_D;Z5Lo2yX-L$hH2d`OJTe^VtRa`^Wgc zJHWTEV(z`Dx1Ib%_yF*BnC*SwJHjKte{>#?KT+UYFW_`y!24#ICxG7}ya0TCj_oVJ zYbTl4fS-FE^L60o39kchRCrv~=ebqqhCF|*&u#DWcRtFFw@par-#*T9xfbwqf1i09 z_+39@-Ua>+pT{5X#l7|Q(sy#b_XB@ciMbEl`!Vw%@Mpf0(+>kb{BgFA0zdCT<_X~c zb}91$@bfNXUIqT>yScnI;IneyI`DVAnA2$hUl#i&@HdG*E#QxTr|1v-wNK!7+Xeo^ z3z>WIUj1*C`}PBWiqx+U`~gWP2>hIjIQ=m2=U&705(R#h)K>!dYa~Af;JL4Gd8@#G z?JKNj4fr#pe(S(jC7lNFcg8uNP2iuD`f36Hl(h3U@Gppc7x-tM&iU+5^y+_AiMbE_ znCKG(9ufO6@H?fQM1e=eJ^}oxNBF)4;G3^zUIqT-HtSOZKGw(fb>MT7{|4|6sLsIq zr5;ii@bH~NA9-6uGGANV0DR}lE;|C!ri82ClfU!uUT z5}pA5Bq?tJxG(*>3jFJG-x~1Qf8qSsfnOr+zXAMwsrM%En6#4?@MlWBw}HRy<6Q6F ze6P-9V&4z^=I@Knz&{}KLJ;_qAIa&5fxk`0wK5{?y&*KJ7Fs}pOypDMj_yfW_z<=-! zw(kPJ@te#C(!IK!`)AAp!0Y|Io(%$z$a_mdz#H=3j4<+h*dL1k-}+VS zKbG^803P`?+h>7qJd@Yy1?10?I0^7hmD8yre>w9t;C())Qv)9UH|FcWHy_XWuLJMA zg45qX{z~Qz;G5@hI@`eYJsWM{`ksvraDC5)zVAW(;akJL^@j&Cz3t>x!UMpY!h^uo zJ_P)}aZW!ByfeW(0(^6lc@+4$Q_N$)`;IWr0x!t5{;B01UF7kn0`|9lmeZ*MFW<|2 z4fuV3!n_8&^#$hZz=L05UI(u4yVwB!lW(zo1Nbk5cYu%2a=E&|*Pg`fX9svexVO+- z@5e^_Jo8T<@VeOd1CI$G06rt>_`o%t0PwJ+69j(xRvx!Qz%`vP@PMQf0sd;K_bBj9 zv5x`o7oGtAgvWAzvcNT+0`MJq4@m|1>m)x_;F``F@V2B=1O8*F_jTZnXY%_T>cG!A zpLqlLobXNHTL;*_4P5il0sj5Fq#XheJeSki0sesS{>9#Q7`l?}2Y@$)hk$?W9`;ug zz`I8{oi*U=cQIcFe$M-t*MZ-g<#IKF&x!pO@GpOk^V0#Y_FdpNKaBfbf3{Z#wI2Zf z%J)gX0Iv37;LrFO=RW~FA^Fb&_a4XTuK`#48t~2cad{iSH9woc?^k_*pZj^%zYF|M zdB4gI@RnSAxnA80@}7!5;Nd8bhyB1egbx7ke*xS3z$?N7z}v!uz#}u9P6&8Ico=w8 z-cu0)zAfd70*|CP{TT4VH1h=TZQ)tqo3m_R0A845UIE?>Gp_>QILUks`1&OC8t}-q z%-4Z$%YEy>!`HF>2JlLZc>{P?^xQ-)?>T8Azmn700v?s}wtz>jXZvm78Y@#ski;djx+B=F7Hd}2i}(S2Y_!RI2|8&Sl-_f03J%SeGqt9 z+CvEVK!okXz{AgH9s%yjdv&6~tD-{;ct>~wc=QHNKMOp&$h-i&{$l1;;5yE)0e|(M z^Z2b`j?%0Q?SxSr!1JPW9r!z>UN(S#RP@;d{){ZA-vs`rV&4LOljL(7_`2xX0sgyE z?_J=d&*S@gOTG2@&j-c-2Y#*SFaZ403pgDg_?I?V{|NAg=o1Bg^Gn!10sQ+>PCpC0 zD(O^!KTYye1wJY|)PUb4x~&5bNqgG>{%O&t0o==R{+qym_y*=%!0%n;a%}_uPw}JL zz_;$@bh^OrlKk%g|4Z>F`<8p__aFb9)9DBPEU8}~_`{_i1%UUzU-~2PSG|SbE0q9# zhv=ULKKu(#XASr-B%K=Yz^`%pTnGLZ@ozVQ-}+Y0PZRhPe}~iA0{(s-4}sq!>2!e) z%ilk^1AIc-;lN6-{(W!b{P@6M@CMc)0Q^B24%l1>!(F}ZIH_}|KSRRMmxq*Dd{ z7t+7hfX_)g-vEAxq|*R?x6Essz)woM+6LZ`blSkLyp-#!1N<&&SNh%;jq@bFeZa;s z^gS`kU-cd4fqZYhbfsKD;O$ScU1%R3Mt(2bHyi9PJnS6Ld$`RB|0nv-FxZZ;&R9SeGd2K zeKo&E>HM0*0}g+f!-Edzmd{^?94<4I{UYpey2b845r;o&mwH~*;g5EB%;DUk_{)UD z0bUt}H5f5Qmd7aaZ=C;f`U&vkg!;rur?@|SB4|1HP9=5YQSANb34hx6a0z`X8o ze&ap!4Ttl|3g!)m^T{9Pn-1p_S4Z593FG{u)`A$4>~;S@F9m696svsio*{& zyz21F9KPo8OC4Tw_~i~?cX-I*b%$T!@C}Fa$jo0h9R6I#e$(MsI=t!ds~o=N@G*zC z9DcRKw;ldGhqoObc6i6(6Ate>eB9wX4nO2@?@#vH|D?nF96sgneup1+_<+NYINW#m zw8H}qcjuj;!;d=lA%|b%@UX*=IXvR!QoAZzu4hh4v#y$ zIK1TW zs>2HoUvu~whu0ilarnB!&pN#B@ZWX#hQt4t!y68NrNcKJ{xXL*9sYX`-*Wh?9Nuzx z)#2L?f2qUU4!_mm9f!Zf;a!LSzQcDM{&I(VpWkc$k92sS!~eI#`yKvjhYvXX4;=10 z{5FRN9R3=I2Oa)ehld>gI){fH{)Y~aIQ({pM;*TA@R-Bj=x~p;qP#G!{P6A_@=|_4sSaAT@K%J z_`4n6a`+!PeB0q~ad_L|cRIY|@b@^p>+ttFe8=H;Io!K%ul;X0ywBn9b9leQXB|G^ z@b^31clZY!9&q>v9UgS}ha4Vq_=g=HcKAme9&vcX;ZcWw)ZsCQf6UnihkwE09f$vk!@CaOcKD9Nzvgi73w!PV%MR~z_|lx4i7v0D-Mr1{Er0&;YcF0n0zL+eY9V!)5L(9qB%229M7)lkBrEDRY9xAOQ z3#DwnJhYr!$)#793%eiU$(5CSIa$u-SK`G?GMy=2l1h31e`F}1UR}z>HK%dSsmadj zN~TgE2{LIvx13ze_~o;OjCYz8@U@6zW8>+xk#VY0&a9NEIJ0Fc&vGe{%CD5lj-4^$ z?>A+rju02L2DpEGw zoLzg&7+>s{%IUGOlKnN^-M3}*Y;FPmI`KrQS7&fpAPk$f2^Tl-kEqDHCSta%Ih;&QUgw;uCXS4c0a z+N7z=rQAx!r|+gt9QF$3tZ9DnQl?y@s?IIsQr?~xv#ER`la3Z=Gv!HYy~+6{Qt+j} zga$6~N~NWt^l+Ry#3d>3K-wFhj0}!X&5m4p+2Cwsoc{18BU6Jjv*Su9CXR)?xudi3 zsR{ZfPT$0@o1TlrkDokxG)_OU-$iGy>7^#2iSc7oM~_aA508XQ+SYLQ=lW%wzKu^D zn%GV1@c7ZAhsGzaiO){VUhCPLdg+l|e0G*@H#Ivued4&6r&7dA)Gss3BuVjfrZ_wr zKVw>3oJIg@-=@QQrD7qzm|4jb$u6E+%F%EUUrv@tV){|4m??WE&55~Ke6^G@1&bDQ zr^)u3%-Q|FiI2}7AGTkYva98E{tVrRGgBf_}&jdkTbeO$B_g=CTPoyru;rahQK zCRfYZJjsyDa2jG^?vh+8thm3jcP)b$$@^SSernz;W>WcL+V;TGa&l?O z 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 z

    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

    X!O8#OiGgh2pXjC~=1xOsO>VRr9-IH290X+Lc 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�#{?xPA-x$r_8C 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ò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

    pBRhSc$~sxO?pQoElQ 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

    B4l?6V*jnm6r!H)UY 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

    u+h2UJ=!bebyEy9~fo? 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 z zh&Df_zQ*(dpBmF|a;nUjeoH-#sh)bG*%r#Xbo+bvYZw15xIXzueBONexM|1kZ=Lq| z?LCIo-v8CKR-T>U-Ou^_DW6a9d<)NSrp)iJD!A+q_n+D8C7$c|PkDFu1AjIICGfVdW`@42Y#RY1nRH!u2_=ld$xEqbT&$wlv0Zd&x0%3m(}bLIL)!)fzq z<>p17^ZYY@ALHGplq=%-c~$Ecjjme1XhhYGoTPxQMHMFhVG;{>tM_2xG=t#ApG^~;-i1E#baH8QjOU_JEuWp}!?P_s z6Mf!=ZujzAH2&XMTeUnt#`CmwFZb*lwtBV_=lU{p&Nt12nxBqrYwI-seA}EO`#^L3 zo1gyZk(G(xt9d;k^oXP5ow?@!)&_9xuy6Xj{6?}b@^|^-8}1xF;+#?cm)BxhI?v{w zC(>GeIdPa~ZxfsGe!jC8#JV{>8u-A;dxPJiqOtGVO!s_|g?%a9xpu$o{X3`^V*Zp( zZs98^!4{s&8N?sn<+LH2Q|EA=U8Q>`J8XOG!QN`iJy)vwbHd8ms8|rk@05f6$@#dJ zW_$#)kDnmVwDv(f@)-iB*0lRs6Nd3AXnk@k_p!*wruEvRly%zrrnnOM?3{kcJzlT7 zXXN)OW6y;6lq2jDvHr)ljnh1@GSOerk(>l&M-_`dWd{T^!xH`th8Y;nwIhadKud_BW_izSh^ILt$ z2f|*+C#AI2$aVi^G=5Uu5bv3AbrVyqQ1pL zmGIAJjBQK7sK^0)WLm?G13xx6Gk2*1lb)T=v-mX)Yax^KH@&J2Uh7QvuDstfHrCe} zi}+XLycAwyT=l}6_Wsr{bJkPh|EKR#n>r7fMJ%v$-Y$MD%8S;@`Yk;}Ii`uHAjWAw z_MiAlvSw#HZMEQovvs!boN;Dt=D`jIfOHD!lBkXC&QiA>^|B{L=I&$Pi8Hz zb-gv0wPLKU>lZk7k~o1_i~xIlHv3st^iB4%<+IYfAUd?2?!+xAu6Hia6bnP_ON;j1 z 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

    J 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

    @Vl zTEqDH8F_jx{Vv@HABUKO%MSrv=iwuP4ym4{z?1gN1%tmwKE}e_rQ1{KxtYoHN}9jm z_+oOM9>%t|i~3I6&CiCMvS&yaOTho84?EWeZI|qWzt10p+vU{&+&zrvx5-48^hRfB zVQD?W*6ZDGN$W?Qo@6P3W-0J^IPJuL@QYn5oeVyG{&(P=y_?X7@cWm*Yoe~`T37ov zSh&iiz1HpG$4Ho0I`mIJ+KZO$nsyMqYHju9)>ivI&?jl<`$pm|&9i~AtI998G1+5G z*)yjIHrDDj*!yPoorCM`<3#rq__&TX32-OXv9dSA#7;=Amx3Rvncp74M*Q@CVC#(^ z1pjpUJiQ@ zOMJb}ds~UT!`zyP^~;}$+r~hq8xovbU`PFmzUb=6g@7nF@Tbg-YUeBs{ zw#w_XmN6!{`y#DX<>_1Id$A+cDWi_YKac+!#*FahRwHYF)w6wJIe#z}nF2&2bUa036wf~drrb~$X6{7HctKtcf7jhbKUs19q(Ll%-ohTXW>rI z{u_A`kNNzhHH`4k{CT%s^XK6g_)4+os_+k*7IKR(uKmINe>ZXkO#= z+@oPF{mKVd|IMFfy$Kxu<-<|n!SQMOC~(`W?{wO`^5OBk#+zt5vUncmS1sCT%!$Br z0_);QrehG#dCR5acl0g3zngz+<4$(RXgV2NGO4iRA%AT4G=$^k6BwKQ1Hq_!d`;x; z0?T7sx7)cAV}D)rX3cKrN~~S=-{P6-8n3Obi|yr867l&+hI?0!J&9p?Ui>a zy}|ormfqFKP*ss**NhJHQOve#A#sOi&F=PU(ZP)u$xh3zC$G(Bc=B&;Iy(4+zbmeD zF?m9RZJtn7_{;50-#2Tf(N}P-rhepm`>_=DEggP&8Zd~CMP~OuXd^r2!=Sp!YeLzW zpq|gxIJEV3ysyW%rr3{C-v-VCE%2tD86fkMJp3v_V8};IxrA_ zNb1X$uP`yqJE8sd?&~)BPBvB{oC5nD?{%&fe>5___CWrdKDzBM6os+9L)jAw$C@Xa zj#=5L{(!bRY=nkuE z$<0)(OmwaaU)uf|UCWOyzoh-MTsKXkPiUq*aoMNF6AC*f(zn{G|8p7F$~f185#3Rr zn`5Ra7hUvxkv@d$c%6Z!GrPd&k0{hVJ* zCwMljSQ9i>8|}GE?udWR^~4($wnz`zK+1y76;9clAGs`g>?_|Mfo+~r4z57mAZ@Tt9E7EdY1 zRXVyF8BqMpwVjf$t~p{C6XtjmeW<BJ*?G=m|JjN z;q#Ci(=3~l7d36jLwyVVTX_I}PnYh~-jvFCZujYZdtv(+VIIdOJ#MxhdvyGH5|2rL z-`0_|c1}@e7BI?JNYHmF>J_A_mo$IPU9>oZx|RokK|G*%{dArwmL(b|;3UOZicf32 z1el6k+bMl7{K+=RZ-~!72^N3N8Pw4W=~MPWJfXJ2QQ+CM2z!CjQ+>hLuQhPEYmYb{ zr+^11LlfK-{Qh3umar>_;Ks`FZ@qirI1!%%&~YPc zKd3Yv2g3uB)}KePr*Z^2=wp%BdF|w_BhMGLM^@lp@Tnxpr@fzn-1stF#9j?`?q*(9 z#}oIhYPtnZW~#@MncuiSW74YaXzpdYPM1a~byivAUA z6D%gj#9Gw{{sHTO%IX1Sa|#%<1ehYg)C^2Bfl2RQMsA9%w{bQ4stsT6_QP7k_Os2z z{;GahYp99Nt(e<(+!h`Z69q^+5RX0T4DD|rG&8p;^ZF2Lxaz%6MN3rQGlYoi7 z>wqiINvmu*0e!`|EfbB6bKWm_CK4Yy!SjD6Nj9UEZy{&Z_;^+2V!N7Ju- zxoYJ0IByJiAQqPkcp**?XjJl6r+wGRe-Gww^eJ6K+^}OW*Oo8Q17abhkW7(fYHhk zE*1W9inP>0a=iesRc6s5nmSyBE zuIva8PzxSfq(eRVweNH>7he`u3}Sr< z?=~WDT3cF~M%OjL=YQ8T^uJH1<%}gfxH=#BxNg$=a+0avMP04k+%m7t3=_LPsg2tE zI;2K+r5s%her;dSqKUQZ#RYT}4WOg@ z{#qhWX-(0DT#Bw1R`H<+lVtWMjE&x{_i?cH#>(~;}yq5L&1FX;U zoFSE-j8~S@r|cNIjCdgJRgXHF{}mb!+heeu!F=AJe5ZS_ zE9bbcY1mM0+*)}o-vQ$xeqG)&O5~C2S}F%_NG(RyODapGc9_vlinPT z=9`-f@9wM3aA5AMP6l=Qirt9!B+LDZS)_pd|75%Esrf*kaAO z9qh3*A_KA=k}>h+?|CM?VUt^lZ_I6G--78ut_vOV zm(gwFW7)-f;oXQaixt!J`xz%)PFW3m+0yA+7ubCh{*m8B$>YKgwtj?lxLs$f4SQ#L zugcm$T?0ca`^}2E`{Q(-VbT@549bz| zZ7<%EU;~nPM)5hxhV0*$Q}D30ZHy@xXPSt8hf(@ebI5gofw-w)&m|5Q-}6bbGrk^F zUs{Xop+Db73TFAT%*XotT00j4yTg2v*Qmb!4aU1pK~|@%OIn|LYo3kh`%UP%m(hLJ zell020pDr+PD@ztUmyJFEig)1m6boWPvTH`%~o-eSIlfS*P~oTUWue^Eo%leBngBBW~9ahFlkiyfx+MCiImgOD0tI%m>V0xhC>Wj-Y-c zeJ|jwsGRSd*>MH`XH=Zoaez8@T|$}mV_GZ?O#M4*%N%d35DpV{rq3I1Ql}>vN_0-w zYTgmXuX5$l&7-q1M_`gny==#3T=+~plfaMATmC?T?hf#ezaC4@+ll8k)8{VwxAKqP zluSvMg*V{0zTAIV_`CcN-v>z;GYPNqg@QiUA?G&tqd&pSDTC9EQ#L&TCjoz^ihL}| zOpupfLH}7khF|TP7(8ozGEF=zT*AYj_IO)+P}7t7S$F|Qw^_Ud;s)ELbKUpBtseyr zeA$(ct@!0e{Di&uFIJ`))1~=k?c+2ae#cS#%a$v)CpeDQbLOcy=H7*c)0)Z)r(Gv{ z!52YaqB`y`cD*L4h0|W1$QVV1(>B6a zn--eg^BAjlUDBmzkH!|{Xv_frDOc;hz1dUme>R&vT=)Hfz2Xh#qqz%@?3b@mjr?d6lgvpblKB%mXV(PcrwQ;=g!f`{qreBA^KD;& zJi);Hf;g3Ju{H$$kd2Wp-m}oe#)1>!P;h0@m)|Bihax!7oo{unefnO}ugl*zPGB$J zd#*m?e*E@CKS4TVG~)@bPTqsXX4FT9nZ;+2DwyWT~6mX}we&a-Z0M;BaXsv6@-^e*~x#lPIW!D$l=lA-Hjx=+h zKp)t6iG3DrJqEg{tqlP!ERD^DebjCav6QPeFgh1Npt&E8}&Pl zf4iSTJH=dNi&uarzkQK-Uh|>+9O_!V#=G|xKfo-%PGz4L4Cq-4gFiOU1q*VVq5hQX zW#c={)8I>i|N2~fN%b|G_O3sAS^N8Kj6;rxbc^asX5QtQ{A7y*_&x;wN?jV(v$s-T zLq4P5x5oJ=cvipuGwt`t?h4i;1*`Nw<-(1AEsUdb3uoA^H`>;7*Y~!JK2%pUddSMw zEcOSyGxoM8%B}2XguQa*4OttC{MuXxo^uw)GcC-`;1|zl4w9!R@sK>nEQ;jpSZD1w zb4;{{-DS5P{gNO@0iEXi4Auu>tox~J=ge4|gM4ty-@x?~l`)=ZhyHNi+n`=G&$Sm@ zYsU%r4oUKg&X4=g^1b?kDelKGw$>k4L0fCH8LQNzv-O36=@If*-E~p#<2Q#zrw@X@ z1)&t35# zz2Cta$mZ3`hGw|fyvO>kN8Wo`Whr=XA-Su}u^RBP4BV=`ft(|?k)DxG)cX@nNj(1-_|muI3HI9K zpFW>$Pt*@_-vwR}ugJHy>nrHr#CmcM=hy5#9bay8;j}j3Owa{^zT}&2#5dc7Z+72y z_>%d(;_(RbZsqbH^lkkz`rgw^U#Wbmr$ircWt^ln%VF|Y!Nl-$2bVoTJ|Xt+3*k2O z|J)MReUZgeVo~;f@(<2@~X26x4ah4ugi0WRc;`rk$1{%>q<_kSQqW=d<;6( zA6&Mr<_Y@RN-k=4vw8T8)6Lx4t*f4i{-|pIj_5!3uiDzOKYG)S^|Qy7%~Ah(2S4|0 zWbx^-Pq43;W`^$^%2=(OxxAY3u8j_>e3S9o!Y9?;?u@D|c1E_|zGC&d))kfOhBDqF zC$jTO`j`!jiw>S~_ZR4M#L`7uwmKs!zfWxP_3*H|FO^=qWmII>x`NQi)|^{Lt{?Wv zJJy9yF>|wx)4KJOX6_rKOsuml)TX-CA9l{YW=h$dKg|g59vS)5y6n)1*7A;J7lc^>6ElKS5tD9@$*;iUF$f$|e5 zuTC2O%|Q9_l>acP|2G2V$5Fm2sr~DL@?$AqoHYJxf%1uz&r2$QHBf#G<>w`h-x?^- zp?q3W`+b4(36$q~<)b|OwFJtuDbGpjzd2BTH09Bx{{IyyKZ^1W$EB~||33reM^fJ8 zmHYI2B~U(|@@-yujtAe%f%0*bKb+M6-az>gl-GLYQLp`;K>1k8f0)$1DNvq8c`T`Y zW1xHt6A}P>i-{s^3jy%B(?v0pnMeN zM|kD_{QnjxXWg(Xn$-Va1LY$qZ!<3aeE9wnC?8IFi&yUV|KEY~VU+JqYX5wod?@Ah zN#)N4%7;*1>y`Wb^XEW$8s*hV<3AfHk5V2>YX3~2JVN=>r15tL$~iM~*W#r9cLmDH z<=r(esr{b<<>a#Lnw2#E(}D5Vj^{ABbrzzT*DgirETOAWv*J+I=FJ( zCvG0P{%aq0W~rXRo)mFSjC7Z&86U%!T;tl(-`2i;E@yjVPx(G5-x(;IQ_p!qZz+Be z&ZyJg(hNRLLA+pB&Yfp=oU!Ii&ZJ1M+e{tR*Y#suH&SD42`S)0NC6BGKZlaE0eT4s1V=dviJC^HvsD99g_{$oz=I1RBa{}$&f8C|Qc^(gVC0Y0qaJ)l3 zJ|-J$1FkXiO)PV+sm&f~>NgJJ?6B|{D_^sz_pL#q*%^#AqxRsk?Qxm#qb}4N{eY_{`aK?i!&`Bgt) zdBlU|r4<4CG4}r!{Wjj+8~t2eYi-sC$Hzvq4-(WH{`1~!*&yaC-jbdho*mFh4`N4t z;o1?0I=-xhJp8N$Kkit+u6-X{_TJY+we7`WWOM-ffb*x&2N7id?eKuQcf(;TckReu z1@CTUvL>tvjcwhFpOo!{TC+}BxvnLYxifDbzO0kcdItW%Htek4i)?b|Ak(e z&K!=V?`7zj&QL}x?<&nb!pUl#z`yQq43Dj>#fL%3Z*B~a122+_PdlvXR6Fe5xzW4Prz^iP?ALIJ2I6S8H3ScY=XI5rAV_KtJ&jc1- zm*VIADgoZCy1|Uy9vWNuJUCgy_y@4PipL9<=R=Xo65upWMy2Dp^LZa$oAO@gV}G`G zExk_nK8-)P)&ZvOG|ml`5fgNFiZ0@jiTIus%=f+UU}!!F+7GNd01tG)1Mfip66Sv| zc-P$T1$VjOvb&l)-`M{|DAHQO9A=u#%G&pqKPy|Bt9S%OVcmiyXGceTJ1pXQm` zj%VD)@c6nbfRXPj*ST{)5?YOgR#|ob!ShGKM;Z8Of`+o;zv9`n@R*&)gtJ<=q8}?L zi}Ev0dS#9?rt;^MKXI{*8P9E`pY3;%%N#CzBrlv^S%FWsYQL%7uqbb8GMzrSR(7e2 zPO@*mpfBlva@VGb=IH!b9(*s@qg92q1>h?mzMtfz?VRm|E0;Ur*4Zmot&2Kol?yqm zq?r3j@N>QiS1uyA^+e+Ni{SU$o$$^tM$PWm!_m6s&hS36?PSjnfX{|d;UjmiG_}H~`VftTuO{SFG&%>oZMbqWIPPxmRqtZTQ`s*08Pa17 z;5rw7V*-1W?8S7<50y=4uQcPdU4^wTLE8#oYyid*VAOuWOJ@+<0*4J};D1;+GwYrL z&KltS7I2ox7pLFfS)U}`>dE7PAvJvIb)V`1zIW-P(dxl)-P<0{3K++}D{Fln%|8Qu zB|VTh_nf;^`&%F9obT*o&dro3!zKQZ-g<|!R5XcLnrOc0edxkBCt?v#1|okctd-7) z+_Q3B1ipTUSYh@+^DuGHxo^P}+pfF;o#^`BuLw5yw(-Nx#~R_2RB%YvG~P_c5nMX6 z@!6Pz1<}}`z|_UD|Sumfp;%F0~n+yejnH8F3wWJ z_D(pQFFq0P9q{z#7!P;f!X~~H%4#iVoxWzE*_?|_mA%Y0W6;AHtqXy73HQuwq z?5AgxU^^q&Ob1;1^{${^1Ga(p06kkd23whht<1KzvXZ$iK}YL-eEqAxGH~OdGbfmg z%4;b%R=;NEi+9Vpm#tHusq9>K+|H%Ohj{67`tWT|kA6kK<_JF%iDxjsY40T28_~7| z+6ouaahii~Z#Km34Y2lNZ~o1*H{-0m8CUnmm|62aW4iWceB9nl0Pb9DO9($gwxuL) zTQaR}8B6(wfNeREer94@mZ77hW0Gx3vh5dc#?yz-=kVz1v#<%;bBt!1soDoqJ_dWA zbF@xy95W4hn%0vJFZOi!6#*Sye5q;MDA+w6em*)}K3EC5(bwVM1@49<9Uj!*FH+u{ z{@zEqOJCP_mCR}`1p{WbiXUYs6}ySB?#br;)E&U1dGU@T=QniiN&Gq9Pipyj+xi<_ z^3%W=k{`)U5&R-~5nubVv)cRPH)G7njjPuZ7@{0n_l3oJ*|*JhnD=JA`AJzyt3 z6qlU|nqPQKrQ|2u$!x7fPL3(N;JpdR(y6g~)~%->PoAtTSj+uKm8aY2!}mkLrS(I! z2P7S}iP(?$BMpDV-gkE5cZ6C?(P2?1RGEe^GKt*NSHb0L$kNX;3#a09ENWz4x3jm- zdERqbzv8o}wQj@zJ;!n^8gk;WxEx&UdsIhtPvzbg<4qch?8+h6kYM-1UL< zTt$3+kk!h2*miv|7C$K(?rnXL)f$GTqMvMv>icxG?cg2JGK4Oy0q1#UY|{EbI&ZAi zdFOzyrRWLi|E1`S>~KbFHS6t7FyQ3;{L9VrEsd)ffYzceWqOIm}14;tTxCKjl5c(}jb`a(s9ElfBf5dblV7 zchk_fdcKn9z8?HBZU4$UIvNu_?E0JFMD2vThd5(MWrfI3v-)-lA1S%m)P56N@bTgFEe>2)9Su6fL-#^2Ydb=%VLiikT*=sc>ki*2+c}l+UNRN0`%Ivz<6>#_?x_-g`wM+tB=;CI{*Sd%ruPl9<5Jh_$f zSC%vwU^4|QgiZ~7)M>lub62){I?Ybjm*G50!Or*W`nRLFp9!u8etG=IF z=P35!ud!++tKe2Kkh`%b!l~jQT2F~DPh}lA2ECoheQ@pfHQ;=VwI8~2vv8bg_YYF9 z0e$=i=i}-z_DQ-$;y{fTGELmZ`;hy2zGbYCrca22-iZFr*sJ(!L!?&C~8d2kP-C)tvI zYZ`!FWgPKEd=2gCD&G!9y*Q}vuS#b(BBhui9|P>_vjo_`?dj`p19M|&4Eow# z$Bm+n^tJj)rLQ~V`Z~3&`Tk~*=JfNJd|}aimPhjm-r65|+8iyNKh+E%Hs$0jl3!`p z@X)%;2Bh}$U70bKS0m`eRoK;4*!zMXn}<2CajtCAU!bwhn`7P`!WV?vEkEuIbkaVj z>@N9cvxpZLI1y_{WWOR_TrxWxY273J`MzS38Lg2OYr4fGPiKwT$hx@zS;@Y{w6#OK zZRiO3OzaommBnu=WqPhS*h8zyNkw)!!_Th$Dxihn^!+T2@A_HV19NHeAnjl3)6eR8 zU41+4efbFLAIXP!P5cmrw=Z6?iI11iw+oBu*l=Z@7a#BLA4spC*TdXopL{<-bJO_S@d@%h+oZiUJ)5X! z*e1b{ho4Y@&HOxm!W3+j;Q6S2QV#I-$4?qTJ;~kS_({Tp+NYwitJ57TBgepdHH;y= zWJA{)=2wO;)Y`ZT`YCRunDQ@I5-$yQn)b>&rN; zMY{HUnJLuUU}0RdZX+-%M$p9irdfX4{1Hv($|vJ_>lU#@H9qJa3&>D1}8aIf{?mam*q zm*v5&vM#t&>saZLyW?~CXt9(P@qQB54B`>_h>Gv8Vg4oXjeL~`ct*bSEaueP`f?+B zv#0f?;wG0cuKed-be~;gUO>IRbzgTr^y%AM>^BlJr)POSUpBfxzVchxr$)tl*&~aD z4gP9+Yd&*TJhy?pvzOS94B_9|IMqMgIQA99KSJ0m-~UvsSAJA5-g^)Di#X{!wO-tK zuyd|-`zM%N;lWNTU-H|;d-s6rtsitw*(yHr#-C09jqKOBbLx_(5_H^^_Z8L-;eRMH ztUQa{%<^@&Ik&B=gigc)$*Fbq`Vi_ZLa&G6)#c3f8_3UWXMp9+VrO9M+*59~^0e|( zcU!)kfIK(JXP?)ro4MktJYa7Ytl{o^HzzVqK0d=$*zQSIhnwpMlSlGR=2w9&mrZVgHr|@P zTYTczz^=8I?9`MW71pkVZ=v~IKTaV#J0CpzYt^4wKF_F>eN*gH{HvIGMJOV=S^enq zymW3bX7W?viD$mA*Iz$RGA94-HKP1G~H9vpyt4di}67w- zipko!0vbP$-xp!-iWkYp^cl@O5$>3?@4M9So{Ib+8(YB-s_7hjdI|LvEA(|l@)|XW zL(NY%#>FAN7_df6m+ysboTiwh?4si2*yy=ACbBahxHP70qGrE%SMwM z3XSK(H%Gu9W%$0jzj4Ue$|%oVe_XjBw1GeVLc78tA+I2b!y06Z-vK z>PhbulW$=2Hijr~Bg@U(pq;LjxA9AKkeg?szQ@#Uqp!b^w{aj%c^hMPzDry|`nH1W z18L-K0F#N5w-I&6evJB7kMZ1x?-x9iJgZHQc_+(qx48PM_q-F;Sweqryxh6=b$+k$ zdzD`+KcDWs<%cwP{%e1fJx2N3@*lRdE?Wg`!5oqHK#oW$a)#Uil2`v5L-Ho<#;X7kXzN>?B9>Nc4Bvfm@z^?lyN1 zZ;Qpd_V9%Fv2|Z(j*rS7SUkEpBUkXu%^4YMpN{Nj4hiq~;E&oIlCzP6 ztKYum**m~Xz8O~efD@@)G|KG$0y%?EIm33oVe?2v*gTTg!z1e6e5!cMdE1J&1oKFq z@bXA@E01Jl@s_gE>$Z#>-93*)Jo+ScX4Aj&NR&^aT#^Xy^z@cb()_QR9$C)!H^du? z2gY+sMh0?9J{QO-0S{xK_11T9dG-o$-H;Rq6Ak@XynL!Q>TI}iGWhTABdXpXD4!bV z4#69Rc9ypNc1DtRTMeFgg0#xH?WaSqK%IZetfsezY$cu(`-4aPCu zd{;NOIxbZeOC+Anx?@xZo!?&f5-+kP3Kd`EM3^zFU@AWeG zODX%)USHoN(nz+_k26At(=*`@*-hyW<#5Qaw|OS--12M$-pn3l9-faLd6)RyTkuNt zmES@Sy0Ojc8K(i>ZY0-a>xXCDtv<9jnu;d=Ui?hPwDBtVp*=d^j5da05<@NQ)e2jIc6>0S9J@&VlSO6E?3{P{k| z|6~q|?6jX-vJm)}!1o_D2W2$#OPPZ*gdCJeM&-Nkl;PTslciB#cCP{3FP)jZ*OVQ% zc|FI<9;eSK@Y>`!zxC|bC=c;{>|06L&4HAzP<}xPF!=c>zHRgKQNHcjHu;urKFZ$x z%15cNwhg$0`6x-YP5F-{*tU`Z=CS$MqGN#dJ;roxneU&Bt=r6VHy@?TZq16@txRjT z9-z*KfZh5Y=kt_cw{A@9e@@D`=mQ&T-v!_QTIbq-?%_RKe!gso&u76GHc#a&Gu64- z+J!}$ ze=l~SfbvI}OVDSQu0dA2@>S3^Df3mLiTNtI^yT)GS}*jLud)z+l57R@RTRgB&krkK zh3O>*x^yi7Z%luk+NZsqKum8k5$Qzsy zi-={+eTZ|MZT^Z~XC&sY$Y1#%%VFtpUGwqfu>1l1#dBDoZJ#+T(AQm0jIG>ATdgG~ zSe@$Tusp^y(X`hbmbhN+J%8bA^z}kh=h}bp^W{Al8Hm9YTctiByEzj1% z@1+CHV+KFs2j6q!1GBvQySSI%{TJZ5f%b=z=Q19AE#;j!#rxa8OHK>$tYEALF9%3^ zQ7{}ze#;)<@$JdwuX1jpXIn1e`dsk*N5<(X_hs$(eBUe4h9vV;1#{J&j(AD9Kb+i` zKLe-ywRr9exRbA_y}PYxUAZsMP*1X>Si~yEP4-7#y3t>QcVC;N$N9>QtK}ja4fNs0 zgxJeMKj(S&C)dVn*vry0Y^$H|l7lV`v5)1)fc^-MZUrV+_7d|Sa=my{x118jnB1S7 zl4xR1$=!^j*g)Zi#Huq2!nNx<@iD|0$kh(hvWs z61+5|_Mh^#u09#qdh?&&p#2qbT=br2GL*jd0;8K-m^#m7d=K(1|G-~Yq3hytlDpCM z+V@w^!Lwe@K^{2=r=kbPuns)c%{7Uy{oVrJ$5{KJb2eA?vG(iPb|vMSjCONP?m^c` z-yCYL$uq!IA^pL;;<+a9amrj1^iDedwbrVs^DVo}nru>24|yiOew1xG)I5{>fV%{^ zOMpAL-f2wh$}`zO9qGoN)@q$`-I!YLcD~dV9}ChQJsZz2;@u6KUnIKcdF%fc{F}7W z(k;Z8cNaU3%{Q5VTy@Vm>262-JqNAj8kn2bPpNzpA7AoKjzK4<-UrRDyV%211$})B zo#gu`sd7Nhr|wJr@K2KW<5z$upI<*x?nhdD|DnD#l$84c?D5=>r8!&r%>AG*Co-mT zkT?Gxb3bm(^J3K9?W6SbGq;*Gv*Ppn`0V6>@0yI?(03}l1@kFhq)rVyEII0yPXSJP z%cppQw(KeOE1%+C>W+xdvupoXzRg?2&Szq~d(Ef7?nKdrhm=pj8dmuffAHY!EuZ2# z>bSV-u4DYzWH6uNPU<%V@Fw4*$9xL#7?BNR4bZQAim01UvDSmTzxfme@j3L6PvQ9< z5pU0J2XQrnUIvf zFpXzb%3l!O0&wIr#*2OAFkHo)l*2F#AF0AwwXV+3W8nE==P^JZCpw@q9k^Kg_dAcl zu06B>C#{>!;fgIXQ_ON*Ir=% zkDn{=sd@Zf+V{lc4}Hhy@m}%;z>$2M5-V#d@&%x0FkhgIKF?*$o^+7(q;I>WYvhwC zUm%w}fS2&mGLQ?sEBOO(Aw5|Foxb&=n-k1=0z37tiOn0JUSD|wUj>eCc>~a40&|*8 znavx(j(1|)7^m;N0bo^prlbv-Udbi)*^Bq(72;-|S z`Wc<_yW*!E z?0oEXbll;@6xPz8;#3*v@lxQB9`t4Tw9LEL>7APIQl}L7dWy6*l(US8 z)7keGbY^SG9e2!WKIx(BTf%&=F5PVD%;H-OIx`fxi((@+ms2y#*8Q5X$C|==OCMwE zn-&_*`myi6=l_bbhEQSsUqYrndzD!{f%U3;)@WvHA@MH3dp`6l;eFW+znjvULtMO> zcd<1Go$+}ga}aDg^Ht|ZRKo|%DgW(rKhGRK$6U?=7o5c&4#m%8n$g+$i=1Z8LM|5^ zCieGX#IvFGR{GL-oBNffP1>k$s>+jw`e^>kc^#R}aX|s}ZTO{Mst%@ti zKb0NRGyQAaRn%)Pch{U2zt%V7T_kuz=kFh+5Bt1x@M(TK-8X+Y*wW!0%4Iu-9|A9> zp*zG+{oy6~P~xWxkon`8dr$l{iLxL+6$bc8?*xjz-+-Uw6ZOPXztdblB2RtJquHbY z%}hUOb_{KjdFoSMe_4V4Ugg^IXdgT^-0v^IQ%8IKg#-Ql#qX~Vo_Y`byjIpXPrWTX zrr@btuXTBINO)R&DvEd8{)Z~b%^^X`eCBtJoZ(t5<#PbNt}*|~Un z=@iW^z(YCsi;}ZL(M!BMWA)NH`ttSCwf&?~j5f(URPFWm-9Uer`2F?4LpRgrI%wXL z{#Z(RDq5#`v=+bgM(bB77p*_MrvJ3=rayY2bx?nd>4o0oljv;%`eQ;0{Sl=3X3g;< z(wsyhOY@@wG}_N~Za-{M2KAC@eyrCY-z1Ln(2IV5ebC%c@2%xM)BFR?H-&t!hK8~k z;+NiNUgFVwML%giE0zE8(9f*@v1%Ck2KXQ?=bI&|e2^b9m!4#NBV~sp<5NEddjH1| zm)_O%<;(cDeERgEhwr6LGQDfO{#FP2yTb3U4|;!xHs9`r-er`hqW36|-fz>kH+sKH zxnz9cA<(;b?_>Lt@X-|KHg zpud;>{`#Q%AnJA8(zBe0C{IQAyRUZT{9Ap{{Th$%-=lti?08B!_jG$-a=rmrdy?~C zPjUTA)L63q`q&bMlwA5qTF^yriqpwow3 z_lNEisFzIlPkQ}j2Kw9Q_tyvAhf=Te=APv|LU}5>|L`hT&Ts02?%(w2zMA^|k@Ho( z+4I$_yX<*(>bSyvz}u6oKTg@<$a>M?(frO}JmEj1uB<;uU%srb03K+5XHq=jPT~o7 z2IC2vXamjf%n8I39`*XWH_+eJet(HHcl!&(6TVNImA%lslJZnEKhmSQ_@y^lKR~%; zedHm~yqm21HoX^`2j%_vUg%zwME66H_up%-hc534w4dqG>ZAazLO!h${kd+mKbAJh zw4dVjcSNAS*SWU5)CcWHQZL*K?T1pHiuONVwYfQ}<{W=*e&A%{UGJY+ z+dPrCbQ9x-3ABDH;>!6W^yka@_kgKCa$ZZDWLnpI{rx1+-#7gJ`k?haw5hnMXWbs7 zJQb~v@n}6z<-NpW4$`;ee9R%zTC#p9^qxz6?-M=Hdu|fFC&bt088%iddIw{BL7G1W z{2vF+zvR*A)Bugrd>Zv3-zU;0ndYDI`pXIQ_b%6#hx(xTSn3Vwh2|NQr=t1&SGw{o ze(8@6~9gVsN$&7I47mhT@@o{HA_9<7I|ychW%NV(+u=tHD+H~H>^-jeUr zdZ71LlIVRX^8FmR`8eeJB9BJX!G}-t(LRm(p!pQqB-8v%ufM!Ne;;z)ANig@z4Tsa zekA3oX#P;CE8pUm-e_JyxoBQZeJkHZ+W#9^dtkC`_h9z_B78HY%XVvBZgsi8_op>l zk(st?sA6vpu{UQ4dw>c1f3n|_p9J~dqtD~ly4hb*Ed&rms_#*xa}^o`%bWy^dpS9gJd}FV%$i!Y8{+%qQqK2or`C`!*bFX8 zyuG=}(5(s|W(?)_d2k#KRRmampz zx0C4oBDiS`e>8eu;nC;w;KHZ33xpZ-{e4l5x>7a=$%iSqk5tD@sy{c z_peG^dat8xZ}h&);w!!G0qR@1F4wotL$wF^?sEKF9qe&yUtc*E&G^DilTB>OiF{8P zdRLkD({fDVBQ*n+BV^8Qo@{szh<6>2Gi@ib{}nanQ)vVEw(h8{7f)JOHivW6&d$4e z$oSc;Tk~!ndj9OipN`F*SGuK`Z}0Bo%&0sk?d&|hU6Z{nuXPdmbMJaMqu0#pTbBBPt^&bIuRkY1I6x>bbEE;~2*&ODU$r-*@mShXDX?@Al$Q1K>m;Q8?NfmM) zl&7y!SLce5i`7;9Vij$q-KUv3+x739bu6;R~kP0W1|4-v&4CAgoOq_^6 z4;3fhJp`Qmox0ul}K4Vec(jj{?qxaHJ-hj+>5>A%*#IQU0i4PVekG8oGZ^t zw(48hJH4Ov67T-wlguR#)!ID0KUu*$KC*e7MG=2b?F8o4jLrMO%C7I{xHd1nRsM1* z{S_d0VXpI$$yXVplJ*r&TIHIww94B#XZ$tJ=)Z&S1bzRw!l@5Y_nOBG@)qTo*aBoy z?>tLZqdMmwm{xtxY^mn?24ZT$Q~&K|M%{J5`mb;IE~^PNNar2HUhJl&!N+7bUjQ~s z1I9d58vGHy>P7?l(HVg$X+YWk77a!)&+q;prNK=ffd*gwe~1P@1J>gXg$9#NOmtt{=hVPL0I$|X{LVVkoo;WHMe(1AD9;NJmi$}i(tS@})5cCB0LpE6WX{GJq;O9B$ z(M^Wwvq$_;_P>RnqnYD9hl!s}hl!un{}18kd0_ow06(m;*mGiin;lr+Zo&`q*0&AV zG3^a#&#AN1kPEJFl;D$+^NpX(KfDnxoYunkeAi-Yr*Qs28u|aqH;!yO=4j;{ueoM& ztc84YJ*&o_)p>x8p;ha&Z!{a6Z#C_wH-$~U&XL#q3!7w9vE{kETT=7h@<;WpGmXia zMRoUk;g4y4nBJaFw&6=&fsWWPu)7hH}tXretL%Ep_ zKg~rtqr}_qx`Q(LtUvuqm&|=soPDzwob`pT524?o;A>tIzApF}@b&l&J>%;P4_}w~ z_}Z@cNx1gFMDf=^;-Z6U4{p~wplo`O$E2S+JDu82zOA4bqvbFDc~{uRYg$Hh=P!$^ zznNHzjcsn7?(>&;OFZ^ye{sb);;rG{SeCbVmZp34JvfQC{J5#*t zxxFhM@{J&#h|9(Kiay&Z6JL!A;K}k8xN0vRK%ZT>lHaFTlYB};yjb$s%)27jg6mwJ z_ffljy4I|X!X0>BiEK7;=5RXm-!RA2OHLLbOM7@GTad$ZUuGq*{~fyJk)X_8B$*9; z+PxQOX$~x+E3@~s(gJ1pdFY)+Gj+jnu)vGb2xZj z!n=?SX`Br*3H< zY&u?`ehYPG(YL;nq3;oBeNBI{G|t@5jYjOdeEaBMXADY5sm|}vFAnF!`SX%J)q5Gz zQ3XqLw=~mtvQ821#e-U(yE?_CdwcPjydzWO>XZQO-~J}~1N14q^4gy|*J>_t`ZLZF zkN&ZRo?byt4we3I&_{3dzngibqJK5d1&{ENO#hx}zs7IV1MUAo`TvWwzZ|$fZra}v zp#3!|Xx~A(WPfyk_R^8baxYmnP=}SrOeaL%Dj~|Pv$kYWFDPoWu7|S zWFB}EWS;)5%+pVT%zN`{1c#RH^lfFHzLRymWZqxHI{{tq%Y0DRw|}Ec-rJr=-hnYL z?~HMiNAr8GaOM5rvaYjkRL=lU#4)@495=mRm3$76_9G51OMPaR|E{O(M1*$;^$w`c z+-PRsOZ$am(2v&wgYtk5;DhPxiFbJ)RAr?+KfpVUD${x9dMES@-UZbApwKYkeNgx8 z<*xTZKLOl&5442$BOB1e8b`J}`Q6XoGe+{epU?B|XPe&rx%*w7%zmBK zp2gUD|1&e;{ZIFN_S1R)Q{U(rM4eK>*2_8V!S_E?eMc}#ADW+Rto%Z~{~59L%&5zW z)3f{8C!#AfJv{@QY{0i&i7h;p^GyuvQsGEG?l+-<%Fgi0w4cXV_PaYSJ~B85ISTg0BbJmE)kYJXdGy|w=)x@aYK*865!{wEl#wcv+y(xN-Y zo&AlUUO%fkIzHPOvPkwTQvKOj4RvR4Go$j2nU;?aAlXctcjXf9m(J#XQtQe&t*8C^ z`bjrGuzuK{@65U8;MLE*y6Mh2JMJGg{;KJ9*Dq?j`q`7Fo6(DIesKMR{8r;9Ejsws zXK&|sP5rR(tEl(%^uoLH_zhXQXvy%U*DM*j^r|J1rKOCKR#`|)?`+2`J!ha<`h}=j zI&+v=s`G6$uiTpkoS(fdx)@r{Ex6rT+)TW%;8?Rb!uzzjTg|9QhMB6mxxm;AjA=6~ z=H%W~vwojbb$t{#HOB&zwn+0l20G{8H1Pc5-Je`s1FiF!Gw0IVIiJa#o0(JIXUyml z=9GJL&H92LjaVFE4h`(_-Nu|I(bppSiQbi$eBp*ZXM?}n>1Q^5o_+t&@ryis2={{HN^m`dzH)%Yr%hzuf+dk- z%@XyU#+cNzG#N{sJmAR#9t+#Nk|mK_)5b^WGk0mp5_oWFWPn*}$YZl`0f%4^4f7*U zjuRZBk?6b#Scc47Wc$8NFwkxYbQX>CZXIH2JjtW4Puo&xDtZouo}yzEI!@pWz!RZk zE_BqGqF)+(S?BU4Ign}g?0=sxE6_i#UhUGydF>B9Gwa1&`%4Ej?w7y!J8&3{KFK$$ z^!>kR{^aVk^*45QuFZqqCASpb)dI~UH%HeG1>Oks-UrM>pBg&;O6D2`=GFZ2ZmwHj z$4{{5F=ydlw9Ks@HvS6_4;wF<3U9abD`hTMF1>O|2{>E?kD@1*rbS#_4jBqQCz#k} z;C@JS$GXz$=z7s<`D$me_^TN?T7H~aTmg?Rf~J$8=_K%ZB=uhduB(9MYT#OZ^F!;G z|9HgWhk&C7zODqW2Ob_`Y49NJPE0A0w7tyJXbT#Y;vmz0S&g8n_*{^y;|$PclO)=W|ZMweZd2QD*6N z$p1A*n59?3Lsw^-rB|T~N{%v1lkKs1i-l~9jkWi zFO4+rFUXnM+Q>ImRmbPKx6gIlZ~J~G6ic_~B&63Z`?8y7!FjTqWuIN$oL={Be2lVC zC>A{bMtz-kJw6zE+wIdm)54h0?tjpae~zK*9iV+eosng8=2K?^wm;@@ULo_ik6-dw){iT5Vl9i! zn)&#Sb<`ECrmVO<70ol?5w*F8zDnSg5_qKnUMYcBvUBFPmaKGkJKCpOdD)f%$1Kjf zVAaLIJ*sr&QCm2}&-%6VfxR?zRJ-QSIVAPq?7T?C)X!g8+^#bVRIi2e-Bdn*C1(Z% z&Q20czXR6Afw}nncoWakX`4RKY__ola1t5%x%N~%U5!mE`M1LQ+yU*UGydX|e>3$n z^lTjGWP~^yd*uv$TfI$qF0npmdR>MS+C4=$hQIkXXsqNIoxPe!7p=2Ph8K1O>2d;X zw5~pHK5HEMPM#0rpQ7=L*oX7SKY)&(%6v`_%+u$ODtJE~S&1~J=8H(#yac`&oPsZM z=yyWAZ&&_K+B1=f8<2^2kcoSci7_uMx$C7+W~vJ8ka!+v)nHdH3_5hg1;k{zxAKo3t=Qx2PS&Lv158Kq zcom^}-Dsv5_C1U_f3)dX%YO|q^|zr-#qdGxWh;+tzl~?2pVgBq#>S*0MMv2QeM9vY zXt)L%mQk<5qhXWe2>P>rUmUrh;$pRtjEFb2ha(+QGR}0Q!v{efA|G6Jn&C5*r8?W{ z5zZ`Gz*xR6^!11IuJT=1z&rC-UfeEO$mqA6Wz?MnPUpjWLHW+Tz+}u{d1*U*zvfKF zEQ*io^2NE_mx+hKkLKDqc*D4$Je{6YU+oK}^Qj-KcT!S4bN1}5 zSLahnb*!z@`2&AAv%?&Gsln&v56^v~b|Q7bJ^H7x<5B5o)!X6L8_yh>f9$n`I@5XZ zX|gALKV{9|p6p!vSAGd&n}X*ja4wJe%i!4iU-D_;!e#sP#(oQ*H4cwAjt@^T9%0=6 z?liZ5GWIX}I~5w+{dcN@^!Nm1_epGPBk>50 z5g(WGARZ1bd%X4oZ1vmchO8gdSu}F@3$mZ!MLKQ`c(G%jcx>$VjD0sa(YQYaFZ1~x zy{@ad&Q0OJg@z5@Ur-gKt(JsRO@>e$%B^i_e~sUhyOM(g=9^03+4Qr=b> zZT8?hY)Ut~Wgly{7jG%y96ZfiI^u51;fY_EU1xS|T&TT+48>eJBBS)Y;CXocv?}6G z;N#6HjA_fz@ha1qy%vUJ(``GQ3w#H#1mL^VOgWm^8#2%HAe~uj{X+Hft`5amS9Cnf z`55v*n9e(nIA!Z5K!;q94n7Smji9})dtOeDb=`4)UE9-lsyYW3?(Qrf zzIz^f6S?Ff>zu`!@}t|gLN}d9uYElEf9Utke};zoCfE6&G@EDg4a5@iW0pIzcVjrK z%!%z_9?kmaJhHLXCMI9>-4h1XMso(lhJ**i+J8Q_(wt~) z{DNq#apiYE)41|`{3`gZ;&&UrN`ANVTg~qde&7F$DJYxXa<5cyyd~J5bv>mx^XzW$^vlaR1Tpp_JBnP?W0jHyLVYt5Y=T655 zzlnA(J*R*QoK^t*ve_lTzYG5@n{Qif6dcUq(gE%q#8bKO)7G(O z^S%?#tW`eNg0Y<0J=$#k0XA?QecQgkOHP!2hr9i5Beq$Qgcr`Uv+I?uQTm#AW^L3- z+gWg`X)8aH?+Q7zQy;n>$n`2`@wV|?N4b6&ICVXY>&L;ru19grdc1lZ*O^>D1TA!Z z1lRP_bOhH&aecqDc!jQWxUQ#vT_4BwU+JHD%*x}MJ~gLVCviGP`X2hv;`&r* z#GaP$SqAMV0qb(c5bkD8V{eq_ieVHg?nD`Jp7V-{56t5JRq&_W(-!_&S7l^##(DT1 za!_f%?QQMRxjeN%*Wgai9bJ!h`K$V^&bc+<@n_ISbodH=s4utQNS)$~`Fukz8@lWR z4s_<+FOVyDJ1}g>GmGV;&nD*kDmixY>G#1Guk!QZFK~vomW|Xmj@>*vO9yzgX#{(U z^w$iZikIZq`Mert4Dsnj=#=>*%x3Xu7W^rmx4a6EzREiCfMmj$UBqC15m^w4-F6JI zsJ5eG`4g(HUp0`vhdb>hx0=|#G*i!k)V1&8kKOQE=VPXdh4gRNxkJq6caY6@ zkNlHP)G0SD0Zv=nH~CuI{S@$ z!>Eb=Cn9@|?DbSdm=`)%?OJ$eD7z$g>NnA|dR7r)pPjbMJO6y1N!LoAtI)y3?J|x5 zZrwLh7Qtq12%FYsWOxR&kgcBI+4~>>DUQI0Q_UN$6GAH}_4T`Ho#k=Ws@J&Z3 zjIN)@*_y|A#e5 zi>OyPhnO@ne^o#igrUVEbiwT*zQr=pEahFe`p$)BTFEstI!dpc(a}`o!WCiPK60?= z?q=lR@4Wx3*hJM_v-xW3l~7N)AP+i`owrd(GPRM|?V@vLbX+rMM#l!nw2j~!j;pIT z{Ot+WgbzKoVO=LW=GAStuUqa6ZxvkEz#qfsn9a8zEPD3An}@Ey9hgo+$LYI|BbQ#= z{M2L7@{xl0wN#X< zpd62yf|sTNrC6X9vET2%_F6N0CNt@z==b#LlRYzQul25Xz4!I5chyTT4CNWURFCdz z)H8ai{yzHGGkU3hGW`$1??x}Z0Ub57-kn2h_bnlgvlyLvnOT>pxf{3&Iw>CsEzgq- zII6Rz6h0yM!aLX7v~!}?dt~QEzH{`~N#5?yg*lsLRZLcZMYx123_&XKu>IhXI7>3 z#C=6ZPf(Y5f1C8gg`WQ+_N?I_(E^jj@!>Nv@Ms*$yo;44xlWY>L zQFOC+NjbdN1dYv`xb^<>$kDq!o|{T)lW)C#>o3$-Br{ktT@$=M zk6apjna=EazenpcBbfI%XiIkw8rovsn)7^Mo5wwany;IGu6d98P*HO1SZ{x<#@k%F z$73%#+WAq|Et}r&)|u%O0-3Ef(^@r5gg2RE{T6TO%hDS?-qJ-ClFN}xmK@_9x$GKm zX-_$Az@c!`RY^QtbPK;X>e;R<1V-F>wH6&zg`q_I%I(W{$BBXY9nd{>Q$Zu^Y+X z;I52}TG4)DpmzkjG#7=5a6cKyT-q$A0VkMk`PBt1Hv|(2v1}VY1$L6`_8#c2ta+q z?PlqH`j5_vTvGmUK<9DBsjA$1KYxE7Z|G9)$L@7C-a_dJ(NJ=ZxB6=AcYVH*b%@fJ z)@OYVI+_XoEB-sc|48({*38k-rm#&({BU;#^NW`l-b^~15;=WlabaT}!&qJ4>3=MZ zVdN9ziEfvC;duXR1M$}K? zs?ziK6gbw;8LJ^Vz_D&Q-hZLM{=cvOzdpeJXN~ZGVReJ{T)R5Fg`=UZCyGY*-UNMh z;6wKi-;Lu_&z|fpZO6yf=h^bdF4K8+D=RuN-0e6jzr`pAOK)6=}l zdL35aSbwJGj<<4vW6d}*J=PG<@3lV0!Q}N%R1c_afMX@c`p*^E|0eZ+XaD^>`DygQ z@bb(xI>+SRGMm6Kpcss`Pzh=i0A5AU%?S&HJ?YF)f>RW8-?*uaXgJ|0h1T3=ixx z>C0U9*;UM~;WNS9vh6e3VoBod-6{K~nAiq-51AD$i|i|@@M=m&c(=qRc{L*zMv_Z& z$gHPtwB=E z{@7S=^PC)TJZRx)I6Xfc<-p;6B0n7Mj4c^%{3XC}0^>_&mjX)}a2OaSdo|y& z>m6Pn?yL*s_j~fg@K5R_bzh$!2H`?DaQMiD3&Bth9?F+;&la$JF+_XvMjy-<*NS2%8)TbW@pNnX`a8fz_D5wtD?UD zv8;?q>$F=U>3NOx{5uL9>l()Dy0W0L(l}ffPmjeuXtNzFX6&k1ul(5t_D16PC(f?Y z-iY=uWlPn;E3)lNsr~T;zD#^-$yaE%Bf%bRDL$~--(U~(W&B_+huZOUfpa;9xinll zz`4|(lAg%OznW0AM-{QJ8Z zQ~F>}8Sw8suu1lpi8-@RU}DbLz3a{k>NFikTdkMYNbA*wyih$Bv!-^Bc_iy|v-~w; zwAp_0Pl3C8UI6zP{4||Wa(>zf;|iOEz56;;o~aiFIexv-*>Q8%uU0#WlpA^ zJNX~Pa{lLli96)eYmW+lX9sX(>oup(o`EK#jS;^DIHc>0P9yhkQbt;xcEm z|2mg_*g2f#t)=#5`V6=8{ofz+R$oKEDc>KO%jf&oFoy&>vjClvmREPi{aNg771DpD z`e#35K>d$B#{Xe~@W<3Yxmx-9-%75JmF;QxuNdn8s=)sDe1!g|4zT}+kN5xjkHYZt zqWZ5MVE^sa{x=GQe~bFJ@&8;lLr(lWezO0?0{c&@e{!q}!2iZnJmm4Q{tw?S3_rg5 zuN+|iv5Ec(7Jj$qB>La~cN<^$>c^3O+(h^Jj# z!T9yqhS)3x@x_&l)50FcfbjOm>HhTv;%%<_w|f8uulp^B`JI+-v2)Q=BYHmx-V*GQ zw=0J8G&V#T``3T;mTr}N#%DcLU3RqK!=KXpvvt{MbeZTfTbC)%X*arTZ%CJQ0guTu z(f*&Fv6!G zvpUPKn;7WV_K;p19Yx0xhc*QhANHH316$%N{pcM{EA~_CNo7G=IAXkWH@#o&N_T$s}WapZX-Vu0~0*@|KFo z2`*;;BI~Z(+cWc)bPi0pOC=SFWWDy3vC9nIObc=o>!2yo6M2@siIG9h(6Z*p(iZT! z?83-W;9j__hPM3G`z`Z%pLev^B-_0MJA4XssQrO;JkN&)m*Z3GH{{9)6Su&|nTPKv zzY)7=;p`#ao+qJM{kD#Ln2*p-eRmMwm`C4^w(fb8xCA*Ui^A&t7qEE zj&rbdB`hq@@;mztg2nx&+!h0;Y*xlO9~xe!`Cz{;0sd==>8>TF+f&EB8#b^Rk9Nz% zduktQ(?;%(@TPq(Kel^AKuJKH_Q* zTTVHV${VZ#Z*7NpHR9!5JUm!*R2R@{HV@zJ_z1hN6ZtJ#6%TJkt~`TWdH%zZbcQP#w@ZPi|$UB5~_^ZUF=bcN=ioO{WE=}~kUc?kX4 zuFpfiULM=}O$YzFYJazdzb6bo=W*U7|5~{_Zd~M&$rU#BcBZHC-ZDLn_e!2kOoBZ! zYPagF+8&4hCs;2J`%P<72>u@y{KTUq*TeYVjc+3T*~T1XcRvFB!oBQa>CsWx!*8-j zDm{8DYoPtw9zLrMfSyGw-NeWZeX_UK%6i11uewP2DdHpZJKve#*<(xp?wQ|7wB5A) zFmJQkHNdAP$7B|3Z2M6kdpY-0$GR<_5Y*!^ZRTgT`6c~S+cwGrR=;a$uUx-!cvUr_ z7P06w$M#i*?8g#bBze4qET@z~i&`kgq~lw=K9-_+y>2?E>V)YwT}qOxqx3 zzI=?8=Tv3xF~GCJVcBH-3t)MX_x{fQ@6qIV+(_K1=H(&&>EQb_y@P$7xs)ytZSE>f z?B7bRM#@J79-~*4^F|)GdA79g-jQF@0{+ZzGuXeRR#F`Nc3>~)yE^4@p5ra8;`0jP zuGcPEJTn}3m26u?PM>n);*q0InT_mgMCOThk3TG+Td&M}j08sG*N5qHEOe=y+5|Z$ z{{Z&!{MCNGR+9W*pj7+%E}z#=%nzT#o-x zfXhusq~*`2Elirj?cgA4*SHIrA^1zkM^(<1^0_L;BENuf^dN83XC=3C`1ZdNeAbSp zUVZW(yz6X_HteBx`WXvcdiUgZ04Ze)~4xW7iltpx*?G z>}c_GJ$8V$s)!%nQ@i?r}Dg` z;Ia-}3y;EKc3b7yOO{A3=8`3^P)Dcxu-vjlIk@;P&z0z`25}!FTaeRruf}}I6UF1^ z5#w#g-dIk4kZgfcV3S`Wy*&@RYA19i7^GihTSZ4MzhCW)oX#QJwgL}2&G2BheJ+~; zcwUR{tn^E)?~q|LEQlo6F`mY$Vw@*6cB8lYWBk{-I^s(vm*y>U*x$Uon3{-#xGTo% zlS>oBc2<6P7rNEx;5d2%x?6_MkPot~5&8%3jt(`KhmbQZ=-iafVGU#A6?Bel;3(^< zcEW?`GxpYjd%`iXMrg~`Lwbu``s{dEJ+gVC)4$m3%CVB}RbT3N>)-H8{&C>3Ugj)Y zLT8u7f6GHT;Fspe0k2?=>f?LlD|8dXYk2#>Chg}aK6es%Tg~T2^ zU-UEn3J=PidMqP%YUGO3C#Q3#jIS0MnaZ8gIYsIJ@c!O>*51pr_KL-twQoGZuMXLZ zDZi0@#YchVTGsk+4etDA-!uHthZ0HUOvz7@JZJ@vJq7Us8z=hMwMg@m%7cbCS}h*i5YXkJdi{o$Ac!>CB@Z9a6#> z6v?L+0kWyDn%e-`S7~@iOl#pS~73A0E34I`41nE@(eI_B=kHz`lUS77S~VTN)qy zF1(I0HXzrYVE;g}{|LtIMRt?}V-U-&*4nAv+PUbfAxkB);PU7nzA2MqC z5$)_^Ze_^qmCQxw?KBtK?I;2^$wK7gj&jD;oGNIqHRz_#CgE7{VS8#$&Gfz9@L9B4 zV~HN%xr08dZE%h_vo_kOidqu~Qhk7t*jdo;!lupyXD&ys5MHkWhK3^O6FBuZd=3uz zw7)Ts&HFucZ4fWL){5Kgq8k~;6ctijdF$*dhwwO+g* zf%m=6SYx1H4>spXcFtYe*O9(L7shXm`keLQ9CFtzox2sR*b2d@O#I?p<g5i-?QKe|?y_dF02- zA7FpFdJ=sb80>ittI+R=LQ5%s2X-Gu2Ms z%U{R~4}PWKX$2nT=?I=AvO}>&`Be$v>hJvrfl2RkcyVFjw8&h`g$0frK^8O<9lipYDpced)@c7NVKkOjyKZu>J_iOb&=fuPBxAVT@IVG%} za{9K)K3q4^pE9{+K_@&Y8+8h{s_Yi|gDZ}U#E&obR+pn%Wbbt0YwCTM$MU+#y&2iL z3c0JC1ku>aK`jfeV||}sy|03AUme`?rNe;vI@W!IzGvO#(>!}v%ai9<~Q=(^vwlH*>3VF)W?zt_oNJ2 z(RMiXZ}8?GwB=ZpC}pMs|rME3V^cKRs%_NED(5j`$K{ye$d*rU7neH1cs+)mEG z!FS)it;FA4RO0ob3Fzejo z4Xpnkz*`gNR*UGTfpslr{hfXH5Hz@$-!x7Scd^y6Ms?WLs@X$q51BI>Suv_JKBQy? zXS?)O%38 z|6V+{bNokZlTA5dL+@oQw=Z=x^6PE!p3Z!>;zO|J+u+|OVnp%A$tHFcJDa=u5<%=L z{?ApPeiIvt>Qg;fQYe?Ly>C=vLvwhl4 z^=dF?HZA{rVqe{4Vgt6Hxa)`9xc$ZBI{(i3dYyk3ZK&3O*IK{t^|9cNbyeJ|V|Q?t z|9IxO02-2ibUb(zuSm!20w3~|L=PkP-1>`3Y^6PwfsZ5~J?tZGg)egXNS^SAzLyNl zj{S96e?3}xyuaA`Nb=dkK9YD!aP3Cdi`U&*nMP<~@5L7&56(v})FB_{BPZrzo1I5q zMsZ3{jX;)s`SnJ z^$gC`zvLwL=>C>b_%zc0_~7z?s*%f1)^;EZ>i8|?-|$(qTQ^PQ31nFv zbsaj`f0}}Azl8NTkv)*L`aUvr1@G?g`0Yf_ZA%9K6x;px*zOa_GrJ9(Nf!u~1ZTbt z9P&M|QIuaZ&#v$MsP|aYaTnA?`#F!b3LI68$gzG~f-}$PuZ_`lNBGO3`#R`e>n9zi zyr(t)5lODS&7RG_L2`~<8eqPO^Y_gUl={wp?Lyx>|Mip5i}7C3b zqMLh#D|FJ5Sm_GkbP0H3|90Vp%>U;3Sdpo*V?@otraJ0L4NT=|mzjNtd z{IM8W5{;A?S+4b+0DaY=!*;`GbyE|`CH(fp&=tn#Sa{2g`)2W;+R1jBha6eFymo&* z^V^ASsPES?rt}N8pRcn{w-$M;WiJ`K4cQTnBb)|~y^x(?^t+WY)<)Ra`%lh^y1aaH zfV6*>w771KdBS-48+ zc%E;h?I)29ny1dH_1K&!(e%M`q7--VL_c}r4m0@eQ>=4#+@bjf>LFDkUpf2EWh?t% zV*Cm4aMISrP%W@G(B-ZcSd^H9XiI)}33II<4o~VC*aM!71w83&_#NyYGq?G|3;Zj- zz{gF+rhdy>C5VkXJ+4@T)8maiYaN}8lngX$nstu-N#O0WaxY^~op#z&hi{&XHV!j+ zjqS&^EZEKZ##z(47pc`p4my6os%UMsA0uyX{$y&_PvYDP^BGZ5l#GoDYz@i9T($Oo zmBLfscv6)oIbGD5@+&LB!Nb&mU_D0-No?L)!uj?goPmLE?qQz0LVkujqq%~)RSXMc zf{S^!K(Eg*C;22ne&0C16q|MmbLxRkP43+lk$4ky*JkY_`BY}T*awkMRm%L9v5qTf zlOTSySZj$Lr}#!G>!a@#dr<8AQ~b8|$G|!qSmFI9-fiRe8{yX~bnf~hFQ_rWyP{Lw z+wvkY%ntZ$O&&hHlzBB|@uB8b0>8>Ock8woA33^iynnu(pVn*JlinqztW|k~S0n#K zdvS{8%%*;b)=B=Mp&@9qmFH2!cJ%%4UmzyV=QuFOD_^*O_hH>XpB*XLE&ot7nLVd` zupbBPEm`yyhFvf__#NzmS?hBGV`~nAzYO?G$ft>o4{Ck}G?tG0g=2oRQgrqM^l#Rg zPvl+ethhzWBpO&s9w&0`BJehoY>XtY;Jns6-@AD}c26_$-M#F?sLu}YTP+%iK_hyG2Aq!VhJNe#&FR=CK1;{O z!KvcRQ^?nr%&40>`YV!`-O$OD(7uK8wP)HGnC_T~M#gMc-*f0kH8A$^zr1*CujH$0 zJj|2r$UG$1Z{L5w_t@hIVJev&sz?jVg8ze)q4zSGtL~jch7xQEV&x0rG`+6^-0J5}!kR-ui8V z{mtVy=|{~sL7tM6x82~w$=g<*U928HF)~_qsK&dfd|>hV53wHI!~$iDI=SU+`JGNC zS62AXz}M2Rl3P{qMKydeop`;2e>3m{H+8!dM?b1_HhU4_*okOKHO<1`;d3H~B(H-U z;#_+s&8+Kd9|+bqTgQzg7CM46pB{4B#RX%L5e3CT%O%&qSC{sCkmo@hbR==m5uFRc ziN1@{m*Q@@^vPV{Qv5PHNWMV2PUj_8=8jvAj3$h4ARV(Fxg$T-#qib_5>JGtkb%8d zfyV~kF9DbOn;qZn0d_Ml8&8~n-scw(OT1b0F|kDY`FF+=-(jtU7q1Nbd5QhQ#)4a7 zjQXx5g`2)Qc%XYa-(sG*_H>f0OLrdI>UaG1ZufMaPSIle&Vy)6aK;KAs+R1QJlFiC zbDOaBku^2tu^?V9oJ1o*oS1k(wS08d+ug<4{bjUO-E?^9$ag;TWJ9{9N5JCt!x$QqY8yQ$|lfcf5^XI$a7D&oy(K&GbfE1V7q#xOXfjbu=E4SM}{ zN1lGwXPV(Z z`eIdyq~dPS*&g|6lILsbCysy8$(?(W9qZl>eEbUz3u54!@3OC9C(wQh`fJ&<><#iP zd%*Q2yMXhQ+`SXrD}%3WXjXp}N52*wxfZ=wb&9ue2=@7g*2Da}h|_jnk=nA&Yy*xNsq7#umOFC!o8r=f@WTSaVuJ6w4pW$w|?>U*&Ux&x-TNAKfZH06RGBx3(i660h}*4d4fuTsh@* z)$JVYm*U^Z&fMnw0P=ox2ItGzLBfyLLu+{Losmn{euy)}dx(Vzzhj5`7wtLF2fxei zj4a(J8S-0j!QAzECw{E(_7<=UZ#~!|swLM9olM8}knPq&TVq$?3wJyo;OHvl5#UR9 zze*m#T-g_+JCE6iEmAF?vZPn`hib{C){znL0bo_UPZ zF~fW8QrnllKaCuWj={m&>T~_u2k!Z*{cLEahOxdKj1}#%V{Jate{@&wu~IZsG1GtC z);BQye1U#04EovnC)>~1BmHatl)E1X^UA-FqrrI%`MCOSwC3=KESj)3uk#HDK@%On z&q))jUV)}%BOAJCobEpYU95cZSd&BPXrn#u`9HGsF4)UwvBt+ivrm)DqQ8%0yLOXr zhrg`#t~|NSKR<*s<#0DlqTL$!`}YA&r10X6^=}H}KVUdVHNc`%{uFu`kZ>M)HC%t%O575g-=>Vea>kjYxK5()+mQ{# zu7lbV#5?2I0ZWFA_5T=x*^T+yE9jSROD-MNxgP$P-bo^hRHt(kGQh;=YibDIah0EUKLv-6X z+P^jj{!U_yj&BSMf88qs{8jL-=(*$JH2!|`MjC%98oK#Z|6@7mWtisoVAlMybjUlG zGr#}LIloosGe7KubRDO4rx^UMyk?UBdpp+~sk7wPaM^@1;-^P-E`nx6CpYrBYwdwe ziVvFD;3sWtQ1X-KII*Kb>kL<{3UKlp?YDyy?`vtC+zn3L7_A}OFomCc<39NsDSp!T zhSyt8_1|x6jilP1FwGwyYAbtFZM}1dtKn}*zOFkP+06c*qoe-@rk3pUd|7yY5Inbh zd4PDHU+q7Me=fQOzQDHHI@ou0d4zWd!(rgOVRhP`@P(%@_iq>e2QYQt6~GkU2e$lW z);+^6ylzsaU0Cb+XQky?0N*E1@qZHHgA}d@mHY45xd?8}$E?BLG5%Yj@7;VF1^*ZN zr`?MLe_OveHMXtMD~@*Wi~A>s;B(`h!*~tL`ycNV#%s89fa6_rmOmoLcyZ0|b6MkM z$?{Q}Uu)m-oGdr<3hh@(rW;v)-C3sovi7g)v|oh`Y>s>W4cWAQcA1YY;^=Fm)}``< znMNK@;6Bn1hTwL5&~ZVU4{CW1^TA$xr9?~CoU-^}CwH(VYz?Te9neY6hLtxPWw&Om zS$wqFlhb}xJ1{)vMJ@B04N>oQ>N zZthF}{jS%CCiye7Vfo-B{~Nj1a5pwJ`S_RG`Go1IR`4}v!I#CKCkno+`@(1Wb5#!h z+-Uf7R*FBLOY!GqoqLmV>S#>U`P(|X&gcH8k>ReZ27jcMI7 zXxzmcZpn%_;9IQE0n7jDZ2pJ(pYJxtPQ1VGni!fPpD8t8YF3E8We=NuaK*pKzy8JF z``U>oSvuLCwIjd5%6Nk z!$rxj1DDooweYhr3zlsD7k)183ybJsN=OC;G!fM4S&1ETAjf*#%y?bz4QN63UaolL zHH_DFer{UOT5Ofix30#YV&#qYy|-np$;d{|A7A6uT$=;`TYJF&1!?+xA23z$xj*_$ z024lApZvGH^f@__Y4=P^`xPTDElQr71FmVn(S2V3YjG@abkFI#7KT;>+q>pd91>bwA_JPOncdpDXy> z-}?L-cq*u!s5nfvU7A-<_7wRJF4+hZbI|Kg7&~!B8kVhm?mE4HSRMlwcLzi^EXXpm zK8A+T*Me>3@W2O6!D83Q)VPIKey~4~FX+y|-WoGL(368aW6P6sWA9k1-=|!N2>S+m zFFu!?%5%u6Je!;jd*+i|YnS&g-e1F98m9M8Z?`d*hLifzTZs45^tRLTewOVedUN%9 z+n9^&lDj#xm(ByAwmEw1g3*Cp;^LXgIdOH*f3pj{ds5&RDz?cv$?f&*8@n??p)ipp*q0ddc`7YGxg}H;I3tIU)-r(5_#3bzUgDgvLtzyqHQA! zvt;iC;eTRZx)#5uY_FZC`783tLiT5L4_~##yUt3c@gC$~{AE;tcb$)wOg3k!Y_0iR zxxnwd5Bj#})wA<2>{;1W(RCxKTbItiaP>icN!_7T-H|Mv_hxbV25gpZ&XykR79 zS4-y+p0&nR$QSXO<|o{SV^^PJjBa~YCp?DcrnY8Y>xTNJmfm_ode_|7^G;Dx_$KyU zGv<$8&B}d&opBszU%cU2vL;Dw-JI&SM-`S_SUt!t+ zai0LT3gtlMz`b}cg?o5WHewhr+9MTC=7S3d<`Wq~RH}Vu*!DIcTcCL7rObo}qon z!R&P!4?MYY($r2lcs)lXHVbFwuA$I+IlEPBr8|bkaL16=D#lt>0^jKiywzJSA;+0G z+(!~Fe_I zBm52Qxw}0v`M1o0oY#z+7x=H_Q1-2PaT$4%zaY-8njSi5FaNuq{Dh~7W5(Dg z(w(J^dS;(U^#vk4n|g3M>xn#RbMg34EuI^gL)Y2C8f3_H)}Y1C0Xc5!JgCOxk_&_T zizMSUmnLeHYduOUBFQ0kJ*4+1)+%Qa{rzqB$r6G7)>+(_v4t8EX}amA9#$#`k>^6_ z<{V(Iu(eOa@g~`|j&2qkx~cMSaCicy+t0LkqE133&(To4_di~Se$Gh4RYBb_2iKO< zX=`QjFVk^|Rh84H`B7|_2`6~|=j``dkGVB=oGsknJB??%9_vodu^zS1RA@c8>u_~q zW{&lsom-D+C3kmOnsV!)H7GyXt9djG-@RuA@D20)58Llm^RPNHVmmd9_NeaR%jCF} zuukX0Bg^9UzM)&j9a)Dws2|C`E4FG0@aO%V`IWF2nfG_*T*Cfj-rrB+clIpv{(d6A zvyYkg_o@6|+0XAM@H_jRdEcMH@9}nhH=jf|()wPQqjU2AzZ>xvC7y^w2NU*WEM zFV}gr(7HaOb=^6_Z?kKF|GTPk;p9N(O!xfS^!FPjCo4}r-i#-G{Sr3Q8R_3wncp8h z%hYSLdt<>n8z=b_@S{&mx7}Fz>%snn@aMhJV9W~7*I9h~{;JAh<-zx7d;YQM?>AQ7 z90|T3;rV0I-><6dhzH-#^nBIiOZ78zeDM8v?nq33zp=9ITTpo$pso7k9Sf$K(hYz5O(KDCGD%J)!fmee^c+KddM2(E3<=H$!jJE|;E|LJTgf zD@xH7mB8%yzN0uqA3PiS_(FdAxLV`eb1?b%z9bHPG>$R0+cs-27~2ior--p-dkJT` zaHAR?%Pw~IZDzfaSWt(_#1|$)%hj@PiKTBjDu^%0zE!+I`8?C1yS3D!m#*tN(p$J3 z*;c;|I|-P?9u6D`2D}vuvW0Sexx@c>Do0|Dsd1OQ{=d;Xj&c=)}rfka| za{hJJysl{|Bg z(~gDMkhA$sIBDT*iou7)<3e&W9Ig%(k2<%dJ{=x+aqoThT)J6@TyuFA8}AL~Ve%26 zU1P&5AHmYGe7byc?mN&}mpwa_kB+13rud8TA!Wnoqhp=t2-l+#{r>DCN54NvQUGoL zzIyJZclE_Mj}s-oT6?gZ-wA9@Xt-6+z-wrjb&27lb+hKDLE~DZo>RE*hkQ8ZvrzGs zB|RhkpWvrm*W5f)_lD!&R4cE##rkT>seTWi#b+^Sq|V0WL`!p^`7{rvYwqtiGAexz z%Fr*lzsi-9&eT2Ct*pg9{DLuOOz^2u70|f82Y%BAUu2zYQ$NWcd${N0*QDCj0>5cj zlj>{Ln29s}HyyvwS0(V7HW!BadO2$Pdeyc20)CEb_gJdksxhBA)wCmbI~das=)v^& zY--GnV|t7H7ej3-9b7Ml`Z{{N>Fc>ryVRIhr21Ml=JG24$F9wq5L}O^`r0_=)H2i8 z!fL>uS-MiQe#dF^>zEH{`syAw4M`RZ;kQixHiy03MQUg1KwCQrZ?)> zgxaKFLbeJfgZJ|$7?@5DwM)S?Kh)P5W&Uxl4YE7c#?CM3E1>uUY z086T`Fpu4Iih-*n)UNfn2Lim$;2mO1rmrL5pHk!gySAEqv0;(vpEn*(*k_?hd0 zQv&)_o6Ge3Zw_oCCv9olkuCR+8n*g=-LWmZK`|V~W^%a+q zr~1!WdEOJYOWq$zj=8!hIkL;E`2q20!wbxP=L>dDmd<}IzB;_z)L@GvmuJ&v%k!M2 zL^jTb&Kr3)^WHw#KNsC};e}2Q{E+<~YO=Z-Sm=PiaYkJGD2geLWzN`PHeY;n=SbCV zVyx)_x1sX6NX zs>czfaAN2>Vn;z+VjfgLr3f@*U|g;*3E&F}hu`j|W&s#eW*G zJKjR~h{sE0pMkrb&_jv#f52Cxp7GD>k^iETa4cp$XJxy%GhMO8?-B#lp2u4+RbhWn zHvztm(qB1zE%_r_A+A*YQ}SplxPM%BYrbQ2VR`@s#9V{E< zD)4g}?+7;zF9sJDF9sL9r@5-VVwjq*J98Ar-qf7y!BGeMPQsD!V{n5Xox%;z4mY1y zjxj!Zf4KQLxM|4Y$D?1KbNF#J&4nYysTD_eIMN>C@0gdyq)vu8N2xui?;h(-Pwgjx z=Wy)ceT?b$slq;t8?%iyscS6qw}W$y)o#btSfj}6P#pBPjG1pe1?L#x9IO3JyOzS2 z_F!AUtBdb(M~A`H3&8DB$69SfL&9lGh~6qg^mYn36;G;0lxiC_i8r(6ceLhb?z)W8lW%_z|r?drjO$xA8a7 z?|~=5Ex+Rf(C8W9?5i(V`7`+||5R)9HQrMj$z*d!G zo;#`Q)57mshq2UdqL^)}c2kvVHZjlfp?QvBo|~|_v*+q$+OzcMQ3t!fbsa~4M{8Z7 zgIHtW$5VSeFRgu#J{xR}xiGD1%|us8@F#kULvN~$z71T)!5cR7X6*+{4$PoNild(n z{1Zn%wLD9o>W-~_$onYvyWs=)_u*lTOC4qDE8*SftSmb5g+E(sIb$Dzc4ohp^{oPy z9^m{nd(qSm**u={G>&A1##+HR(iQ!Ua}(nvXd}Gl8pr60#xwk97|-ojg!hG=?hWcz zpMxGa8+|Yry)Xy;Al>of)cN97=cjevTlhX-&8A5C&vaF_Gh^N7Sq@B-_edyoLQQ$*=^`5>{%+LL%xQOB@)$o|B zN00HTbM!f55SQB;CU5cHfg);0flY45f`x5A1q46*BqX+ZM*e#0e>F2U9}&h@NW!0E`gs*;p;N& zyCK+jMXB@Pvhj2#9Qa<kZz@v@YENk5guuuZ%S|78p9s_3WL))4zNb-*P1c5#+CPR%gY08`D!l3G5K zLv-{yY}0iSf9FKrSsvN{x8ozpw?9^t+(lhS)qU)~{SN-$$^Xxtxf}iTvA;^s9o6|f z=b>@=Nkk zw&?`;MQs<+wu{;zQIC5V2YcUc05{_Q+0?@928IgmWD~rSuP=~K<#cl`_a!!w8}ljA zBe6h7kBgaq1+lnXF)_vW6kiwZ*MrL~$WMdIcGgGFW=(8OQgC}d?Url_?ha@IF2x+x zuWTj7in^GS#tql*DP}*WUi6KvKaclyj;7VduIE|Z)aLe_L-&+C5AAi231mpNF1|PL z(N=B8$4b><8ynn@-Yz+E1bfc2*mEvr&v{}bS;-s^HTL&kz`?#qUs=}b`M@+`aJ2=Lkgt+L1VTKq!p zTLli)Ge3cKRz3E$ks(V|k33FW_Ura6;cq4M5RG^%l+UAa#h;bT=Pb?T>xtxNsV(ys zbBXg^d1QPqHIa>f(_Wm8`!?eXN(T2(zw;mb6%RHbM~(c1z9Kw>ll}53BttcZp)ve> z`4)4bUDZ)lUEnjczSNhKy(2nP4WdBTjWPK;j@F`$#~B+?w6%-7sypp^Yn`L4vq#)^ zJT+6r&sy(Y$JZuHF09=@e@JXa>=Np@9+lW%?j7BmfJaVb%uge4K7$>&oS0{rSM%u( z<#qg+_VQ;`v#NH!w|XlzJBk@kV@CL|F$H_RafdOkWQ@jcIL+B!+50BxI`8H#r{Ux( zAU{lPad4^l{#DGOfpscjO#RKS1@tGzX#nTi8*CD94<@&&scNR4MK`JgboX(!$r;o= z#ZFkbm~$+J){+02?YlyL3H^oZ$PeN-GlptXF^1{4K$th%ejD&9)JHrA%xkDizaG6* zZew|2oZJRY2^WfowQ*nVDAk8@cq3O$c)Jaqpf<9xa^dY>3j=nnfgza#hULf2!51s( zy=?IE`wjk}^$h%hPxY<4CUT9j%;66^F^xafpBmM<37QJ- z<@0ja#)_VtsFCb?M(5|QDDvyBi~CcEKVHCIm1-kh8fm}3EwbYNL#_2SsUP^S$N_)2 zKECYSc^3W;Sojazu9`f>$u}mdHW;zBr?}^ey4&lax1jEJt&!`Jx8$-KC(%aIqgt{rzkd2f+e={H+fj@uq7Eo~kiEA5%+)szx@ z8%n%VwZrtzbNpA^i+QK~IB#h$ZNJ4ke~An&-9EguwD)-4A(8@OyQ39CE%(A7LD7$d)c1UQ*g~l2;?!dp9u3cF}$BC40(ePI;r;)De`7 zQ65NlY2xvxSl>l|80>e?^?a{u!m*L!mIX!pKd>y4JU~5WYAnl+o-Vo^@!7MY574zGB@j0xa_W0+b>(lxCKRM4^{XYKJvk&*% z^K2caxr12qBa;8Pco^$l>_0TRCi(U9)061x4KE!L+3<(aMH~K9UcBLb(7|HHd4#%6 zuNJp_>CxM%lZh>kPWFeq_WReDV6W6giu~k*-i}AVH7nWq-LsMvgA*He6&H8D%=$h& zH?m_Ve$z|XqJIFl9iN}I;j^OA5bRr!`~SH3z1S!hQ`dP=%0@X3m`#m%#(w8BgOYDd z5q%zpZxG2(pXXo$V+WP7enX(oIP|$2`n(Go`{q2!AFb)x4#YI$-kJUPws%E!Uc)S@A!LyLx%K0AC!>8odWHABfAi;^Gq z3jFoz;AP(tAB%s7@%OJ2!M%NVG4ICVG4AUujUoef&Gy8XHGk#rde*5OK5K)|lJFU} zUGGZAXNM==fzO_c;9D)adYa+2$RPNP|2seLZMcY-!J+WjFX5wnJQh1BkDUu0ipS1Q zQp+qwtA9He+l&9=u|bZ<4nnsv>OIO9l3bxy{hmd`Rp*SjJv=4ZDE}r}%l(PyciE!S z^Rg$EuXX}-{VH_*Q)v0GyfY;dUGZ^nxdfV5oMkw5UmIA5*{p}Jb(rKWJ-KLD>5kSf zjGIzaTDoNTu+nn!+?GFhFyK)*~6~B{=LH%oj7;cqU$di_K_3M9rlsy7Yw`R#5u#Rxqk9s@8V(a zdHDK8(;vS6&-@=&-8l3P{(iiw@uHWj8i(G_-#L6Ky?E{l#6gQZ)I$@qi|=r;7N00RLWext>}}heDSp_CuG8kcIur z{@iqVAvF2Ra{{{j@VU-j`9H*1B4!WG)ftt2uN)28fCsa~2U$4f-w3ApcjT$biT&M% z%_!f%)g5dL)dqFH^|@=PKsa6kCx(x$9k=bgJ5sel#RIa{_g<{naJu$n%<|~b78l$j zU}8}F&sUC2=Lz_(S5W#VKTFD4$dWl|6?R*Y))AMp{1LEJcQ?qi37B8ekZ!_7=Ll-Zb4IfpSi6$ zlDpc8Z=1Ux=3<9%_roV5`D@VM%~*-bV65!i_5ZSCEysq5HkPN(JTwvWUrfyZliaoS z3Npd?>dZSrj;o223eqszvC zve)B#Iq*;i9+J#ov4Rp}DkF~aHt!4J;YQ++`z;;p!TwaeE7e$AOgwQ3ahq$2ou2lf z=T|)#@!xu|$kf+tj+AY$);s9fvBZI@_#eb+Ms{Y$D*r~zOLeGsGxi+Lus@G(e(bVp za%~ll9NAgTe8MrHIC52MavXXZyK=wwMuNUabUx0Rhu4WWw7|PPtkZ66!(RHh7TJ3t z|4obsout?fvUiVklwv%J@66zQRFqhc`gV1qe-veGdnyJ$kw|O`<{^u zwYC9!9t#zRQqEbf-(B3S{YUK!lz*SmhW!O&=h!|b@O!S9)-&KhG}wjQ+R9k!i*t)P z+dg62Hn6vA+TO9;*dp_gjrn3;-*NpDm(x4Cx3RsXWx;a28{>|Kh<8g9@3Y6K`gkk0 zN}n8=*c|09ALwT(Hs->fKNo#RITyQ%qt(g#?t8rsTOGUBFS~WyS603=_ZQ{FYueV8 z9DN-$934FVl=YW*HRPA?*i~HCxeNKaNj99hZ*#ss5FXJa5Sc!k*f{@7sw5A}_E z1o^|}?&`T|pX{!=-s+M37eB3?>-Z^MZ`{eH*yO@w(z#i15#!q!pEZ+t25VOWkC#+( zURJppl1=ohd1lw`ZUQFp#XFx#+u=uc#Dg0#K0rYO}9MIe}4|n&0<`v*8xaZa33wjxmy*7?c zgttOz4F90$OfA;n5qaAKh?6Y?}8y^yFr(f0TX&@7>4E zJ)}LrpW5+SGHk(M52~2o%ovBT2lzePufuoP7F29Re6KyGv^-4PggTS@zqJ9r|5EFC zC9OANx|hT7MsSC8JNkSecB*e-p)=ri0#kW>aoy1X3K4vuyQ_WK(JnH`*wON9_rh{nyr67#k%yXE3B=0Fdcca zo0pBJH9xY#*p7zY=tH<~(Oz~1xn_?A_lb&TZq<5#SA#?L77O7i*+b%~Zp-_Ne|D$Q z4ap6(+}ND~KhdYg&Yt&7OOJIadd$?*8N3ed6av>@ktqf)%j@B_HG0v~;33~% zULYLLS~xna49Gh?&e7@WT7H)D`Hbu$F(R;CC{0}P=+MeWI!Xj__8f?ln#P6IP zVCdA^((6NU?u_59EfAKY&gUAAtPg)b=OF&+1Pf=yDOqq@8~bi@It0JT=U~s?$O-h9 z;YafDWFvflG4(e)*QV6=ouIy(!-4U^91f62^Cty)>OJHtwUfghrv_#>_KEP&1HN`) zuUsGDUf$yaAEpbtWEb$bHqI^z&)Lb!d~5SZ=tgp)r8*O?6rakMEpVNGZu_dJO7~^f zIS2j{)LaPT?@97Zg}0~k;O_^v@5JPw?{GfRYtXfDsu*PyJmu1X`R4zyoBxE|FdJOj z^U@BN`Ru?ix%pQFeQm@3+cp>z`P^`U~UWTkiq~SKEFY zxQAW+YP}6@I^S{tG;oRS%VWr*NBXQ>|OibnWbWA0etngg_#L3iuc%5hDTIT}kb2smb*DE+XW8nS~^eGz! z`iwD7m8H++$l>L09WZupJj)Ks$49@geJ8Lt!Z>m9i4579iYZ&!c@Y2Vhqmtq?73`w z?3sP&y#ICEZwEfUgE>t1t8I*<4Y`zS&$Zz%2Nt^DjIOe}=sJARr_SspKXzKf+;~Nq_l{yR?+N)I>ls_|B<%<3j=XF=D4DO{G`@bn<=DjL*@t`6 zTEOXk?yUP1_T~a)D!IiQy)#Gnt@!z?!I^Y{4&(?c_zW zC$;f(-g)f%lT1CI4;=0dpItm|Ne6qBjeM`MTj)rtmQ;HRr9?HmG>}z(Vu8!Abge)mh8MXUDnmZH#A& zaD?w(37)iHaZw6}z=pi(s^WNmv4wM4Z|(1>9Txh}!Lx-YSACX`&Ieox>r;nm z;o@Ah0KA3x>Vs^*T{d13=F2c2ttPL%&CtRC^M4A2<0a-G`H&0u`QmBvC8HMi;ll#w{IKn}%kGP}hhl1B+_!*x#b({!j**iE()3C@Mk*$7cy3;A zf!F(tQQ$m2;qa4#Z~9xi`_2sb=8-egd=t(!csF}Q1JNaOE&L5OP88;W)Lss_kUmje z_<{6&LO;0aFLz*p#m&_z-1N;I7-^RPPabbzt>-sID`bIs=5DE+Fw z#mHLnSiuE;5_txJ{U@7cD*dXrG}WQ6qii;%Xd7 zn{MJ31LH+7~i* z0euRO%Rj;$&FpO({XV&{apv1`h*=qXN_%DU5f>{)?{YNYA-7ky8rwl~IG^6jwU6)G z>b+e1_#d?Ea=l%b1I5axp>D@fip>`%-%N~>d@bb|ocY@W_sI6v^Lu`C;2z~w^bjXC=Q3$K!u~d%Gn}$Rz`=g}v`q~U3?jzo z`9FCv^BtW*k>4pkeuHy~?|h~<39P9c`R|;b=HoXx+qn1QB9ntGSOqurYI-|>trU3O zdEj>Ta_h;trFL^rOWY^VlJ82$bFU}&w327hkLKDWUxD{E-&D;S;+&e_ci1bDtZLyL zUcTBNKLyV^r>C4iC&P4ZQ#rf84DvBIMk{CeizlaRGqjPDx}5yjHS8UK*y4*b*v4P& zMn+!2cgiQPr|y>WDO}EMqu>;O1GC^$ed_U%ke|z0TC;wfk2dQ^&7m#$x3+Edw^^?W zWLQSM1mFzkINr~Ey5W!P`79qmU7fg{(}~Q<*aN^NJPNihYL7VB8hLiGEeAHyOTyN3 zkd85V&!K$APXL=|^BKdqJ{WAOO|LW8s>5@a_RhguKy!U-Al{XS-bPT%K{WxW$&y+3 z5n2%)_RwbuX940dof{a@s~iE=a^VW{3sf(2C1*A3^?jsl1vMjgbg`DoTish++PRW5 z7pfOLk=!bME&_jQ6Q%BTHGS5Dw+DzttSO4Em>u`_sP6I0d`1SO&ak%~#`7`Iw!San zc^YdE{kIL}c@}5r^?W4HG4inWJc{SR0bjI@3)-uWN!zhJb8dMjetO%4;JH=Lia*rQ zKhGKUkwSUtrCJ|b7bg3hylT9*={^f`T2klaZ#l!{jJG3aO>K5^zDjIucHuxZDRTKi z`FOFHwezy<3CD}7lcMq6*viqCZ4s_H@<(W6XlVWar8Z)LI`8|EC#-Lm)g57-XKZ!x zKX5B<=X8Lx*UcJ{<0qNna+bn*qON_QGv=7wuke1M@-co|6Xu&TdAe@u#FSNj`dgY-UYWb-@GJNwxYqlXX*}HnFtT`kr^Lh zJ-Z$X1VH_ zw(GqvmN({*aPbZ_*KtolaHVl^UCb{J!8MV(`9@DZkKCh1{=sn3&6xZ%dhQ@}kskAn zBEKj!=IvD>T+9gS+(uVfT-1y{BwTzSxDsC+AY9!0{GkwBPffJApsrsd&j-WB*M$ES z1&x`ei(AI}LqcOttO()a+u#Cyw*K=L7vDbSkZ^GmaCLuffN1j{B&e#SDe3(W7D!fdobKw1`J)d6$C??PGUp-o9+G0Mt-pGYhc&`42(H@4SJWl zLI)fBG|m4%3K~1TF87uD{}UQ}5jDnB{CXklawm6WeA=$deMcYCx(o-dicc2=R~jeR zP4HVoa6L#p@f2K>fy?)nR(;CJk#UCvSMN;Z+l>Q+YtOO%T_Lz$#&%A@h3=Yt1@djF zg=_QJLxSsR;Oh8z|8P0|WA3c^!l{{dQ4Kmj1mjcKV1}ONN0ug_quJCar9P3NX?(1M z($zZPskpX(c&tuLuir6;`Dce8-HD)+xPe6;^_O1BC> zw2{w|eNL&v+HK3x(b1h}`MR^`V0_c8`CU`c{L*~0Zl=G&-UoEB{x4DgR~6KM8h>vL z_CHZz|2690-j`djZn|Q;e`Nu3@Uzzi@#4e|u``zU+g+zefGn4Y2MzNOz)cD?Y_*%Bgygfbq)%gO>T2(LOj=QGg z%CL=(>U?T@5Ibr}c$+>+{HuyQg0>>BM!3%9r<@6l``!7-dHTnB*;*4yc{;w$WPbjee*WW|`?-^kKAFB4( z6xjd&sQ**@?;l;g(Zvy#TvwH;tIzTLTMHcP3C8LsS5kT}m)sGqGRC?hIAibDUUdbp zDsZfa7^{UE<^7Fi*Tu}u_0->d8PTKHs+H=QIPCDOZ}G@ z)PH(i9y`l#D6s$I)PJr!aEbdWCKuwzbpKl>``Zfaf2jJmbrJH>a36k;jP<`=VE=E< zpnrQeZo&OucY=Rkf&KqZ{gW>_AimgkYEXYs_eruR#NJ3jYyA{sHQ2i2`R0LmiB`fpoNy|UF3H#tv*a>eEYyQM^ zZ?*fpc7ogIO7EW@%9$80Pcrdi_8!dM<2KIdkaK0~U7GkYd)|s4>uiwr4NZ)f+{^G8 z;0uAPo_W+yck$jlFcr8TI@rQgVe=l6I@dbmct0Ldj5)fZguT)58E6A1eVaHpaJJ>i z2U>^EnSIX4wGCq2ea|GwRbd{ zZ{H@ncBpF~&~&hG6Kn~xUGS28qgWy!xg_w^0% zX!gWx?qK|y^jSv(hxUICvL~kf)-WCqC6DwM7LFDxTa%?}+1g)@%zkRzNS>DVvo@tI zL2Xm*fycnBc$59E=}%hv8w&l+Vc%9XczPaMe8l0&)(uua&ETck!l`uvgQ1pNC!Ar2W%>CCy}=tH~!r-$8bXzq>iJBN$3Jv*YlbeZJV>)SfX8b%~+zcdJ{i4!PupsBOKpFa|9Yg0eHJ4oVAPme|bdirw?zR0Xw^98$K8e}$vgDQR zZ<9Ti>U`|qZAarx)An?-)tJ(Mm#y37h4p}rd1zTDc zh5ajY{>S2OTnKmX*1vkf!j!OQ`oc8wFVO)7%8svDI6TXj)toIfwg|dl_uhaXE%VYur0f$QIWhU^jxS1$hR&kwxmq=5h0PYU?&z}%q5FReb5RRIKe8&Ww}{_il+1j}kx5pA^*N z=q5Km${5l=*wEbcVpy5(w_3 zI6L{q(TYjVq0VgjEWq*L@0%wEIGhO%N%#Mq-9-R^U027vXiu z3K!E^J~XfedWPPypzbf!53}b)G#|qc_N<7`akLrVukYE#Ly1-P+PS`SqLbI}E)M&k zomay0ld*U1J0V3ICGh*9#9^g3-Mj<&fb8d-{y^yDvlcdIm*=9B>{#!E7C(>Wz>ld5 zJCYnk?&LG^=HcbKdw$rI=BAl-vCP!LRv4g{##D)s~Z#hQnC0(Z=YntR%*gtnWvxOj*ie5wx3n; z9pn9qNY^Z5+m_+W)Os~uq-9oBQOg3&Jr_I&;Ag{UobOUU?Yg_|)yaPK&bj+42G?$w zFeI@-{gv!2-scUDY$zJyZP*%ZSui6{f4#Q97UA>_^0o8ogUw zfAi?Co%yR?ZyRzao6dWt1~M;N)*_kw+G764*OmHpjb(n6JNPP_oAxF6FFQqYaL-gH zFEZmpQO@Hz`))n{#X$ITwVhXmjlqWZm0Ybm?I}e){wr1w|4;Y4UeCtcbpEH%`;2a} zW99N2CI16EGHt7c<7C3Y*DSuil?M;Pf%X+70}Q-2eqr!Ypl$MA3u6aor3BC7DZyF7 z`Or$;3FwHB%@lR^(jnG>n_PpU+fo`*n7Vi)(2<{n;_+So~g| z!fzhERG_bkehcJ4%2&#aTRY$IcJ2?zMYH*Q*gxBT6MbSmwMjQux9=&sIl|7XGBvME z{t3sx*2Axg!xid78o1e~D8z=_Y~k)Y*q+ zs>aHtJI=8EXz#@7qW<*i*?Ibj+kP5|g{1m@%-&-r4O*qwA;T>1&kj z%M0n$_~!9`S)TSKwtY)TpT?gL{Es@$Sxf(^25*V(sb~B)##T*$T=;kkew2MsVRfmo z4`QeI)t7|ql}iG9Wj+1$r$fhBn$FOnl|%fxokMc!&0gGQvY0gOO1RdeKL%^2JOkJt@2}LPb!YK<5XphGx*;$&IwuL#14HNWN!xEn!|V#u7>39TlWlPz*lnET(H&J)&_Xb;tAak|ghSWoI6Wc2ecctSh_53PuE@7V19 z-qKoEbIy)C5nN~c02Az3`1{6giP?Crv8i}Z{{KL1h@rN>2CHL@t(d9>nWjGG^uZ}xBTOF)VuDSkCbvo`+zAK2kJkNLi*0i>|_F#KapRx0oFD804 z^8Wc?KW6t7tGB>|(;aG);t$3U?f(7G1G5o7Y{x{l1pELGC}%=6o6AQ0oW;$(77rEV z^*cG`p0jZg_BR@sn{)wz zFEF0?v>ngw&6Qjo*g?(k_wHvih~BZV&I9y;)*2 z!qsZ_0;eM@!urDbfUf?+q43Seu-n3VFSF)nT%J48h_ZP=F%Hn*o#W{ELni@%OAB7(IXmN61 z{h;KVmk*}q5cfw@FUi%4clDBD)P#{;kM3Alt$ID2!`(?NJdTXJS9AkR`d##J6m+`} z+h3nOXxX&CBB-mR_G606PjT%%*Wc8j{!j3`XMQiDAKf=@>ZwwjV$l%W*Kq2(=vg(6 zINQF?o&&BT=FkKjZRko5nI;&N@|bpJY=d zXKUCen!+8Ab--oj1RSb4WZ>Y;{T9wD3kG+#XXQ`1*HJkN)C7`VRNbfqcVNcA-|Ug# zk6O~^E=+JDxYs+lLv?_b0(T2_yyaVEpZ(b!z`Zfrc&cB*`5$-oNAL>P>Fi;ZhhS|4 zPX^ZCfs`$6U9_Dq++CCTp5S@_xLSzUzQOZ)<|2Hn&T$f)5^LT* zia8a73#0SsOR#CYZowkBm?QDt;Q7VKQtB%&q{hp3)iihz*v*=823_=R&ZE;FJOtmf z_N}4su|o{5Znd}qZi}mto&Wd82kzMkesn%Ub;WyZJ+W5eE_*LN7alwZUObz7j^-xc zb~VDDO79E44PWU_r!$z_2l%f!>F<^N*WI5lyso=H$Jx6-skO{ppYFv@M8|)c^O%ZF zM2hl(}(7ac!T&hV=(KWsyWr}%-IYF7fwbH{tD zFXw+?yZsP+N5Fd#vX5GE&~yp1PI9jv9_WIn4b5E|Sz61w&SxH?8}ST0@c-I-7x=2G zEAfAydjs4XLP$aqLICqXoFpm&@`|FlNdQBjKBKnQnh-z}p7PLwFOp!LVASC%RR=pI z#Azq@DlN8HiJd7B+J1Og2Wo3)Ivq)ZI)Stbh?ppl-*=sJc5-sLL1>-N@ALotlh5a7 zpLNcDtiATyYp=cb+ItttdCm(t7huh3_Q?XbL9^NPt3qhAh&V^MNAM};tdeHoxX71? zdoUF{+@Iav;L{1dDO*UpgY!dPhTmS`{HuK0(=5-HuZ5KNUD{UoU+@wBv(A-F$r88; z-ZbOe@>Sx$?n)W2;|qTmfMW{sRd}?({I13eUr0Or?q995$V5N9Jzh=d?Yya*pu5Bo zo(QG8(0BnnvF=&ls;9=t-5;Ks!nCRW$U#Q?LU51wGRKfJ$+-J3VGy=3zgiV_rOJMS zy2@Q;-1WtpyC>M`N^CP2FV^t>GgIyl-7n`3H-fj0CvlpAA0*BZ*T9-n&{5h#-luZT z#y%HmxYKbivg0UchROIKXMi2$%&_8h))`<&IWw#{Kzq{Pk8);M@zd5BU`IJKtaul6 zqRo$TW|)j|at7E@&I~ipr=$Ika%NaDXPbyDJ&Hf9nZG<=CUPpVZNXhCz?xi9Av7ux}Ed+ z#5Z@9?!$6l%Pw?fN5B0Lo))``v{4fMwq5sI;>FwjwlG!hufE0{+r0GKuJifsF#^wX zXK$KG`^4aW=(tAg%HZXseR;YHG|@(a(^zn-pf8>er(NJwYxmb)aY~cDt5f{{Mc?c` zuP&cHnMdE0``&(8zk~ZAW$t;(61{|Gta9z1Vq1U)Ve? zSL6o#?z8995hS2Fp;vA(4H?q6%udB)D$7sjTu8yO_!={+77v#zwt z&bPvr%X=L-pU&h-+( zrK>MSU%cG^5PF#M#g<7IB=;%jV&(o@b~z=sf7}JjeX~v%C-+~o%TmlCE=KN$>TU0g z3R&l~*Sv)%nnvmV(~JIK`^J2kJ^2Y6*B-iVc0vyy4w1W&wjYPtKgip(wV%hI8v9X^ zmer=NVCx3q#)RJV59XmJZ)m+rulG6oXeiB|uxa*U7k$2BnV!~DZ|x2Du_1Kz{_>gM z1{S?~V%7}#Jee&uX4(ZgjtF~g#Z$`Gux&pGG z=t;R>a{4I0+zq4em)y*I;R9LAlXU^PyYDl2p_TnV*uy)#y8p12Dz=#A^znMa&@&fA z7K%L5a;69G+VbdPdG}ho?NqF#*M*xi=yD6bOb!Zu4msEZKU)r7EPg{Yezv{AX$#VQ zs|PJFP`;jl-=)v`*ay@Kt+g!jA{PbL=c!2zG4kJ>9+M z-h5AcOP)V7_hwk$5lq!`63pv3_U9f&R`oJMmeo zKpv{6M*DNYZ8ox6?lV^Ktx0#*zcs&~kM40c-AiPz1GL7sVZHEt8u_-k6NA@~uh|CV zCv70Ol{sWpINXrclj~U{)pe+3J<5y+Z-lACR@HimS%=}2C2RNHb?Clp`+Rk1CY|t( z57}VX!MYQfd|PN6Z&w`>%sSw=zm@s?R!=s*sNcHOFXul`G^#hwfsTS-2YjUOhQ1hD z%6KVwDCY5kN4Fg(F?f}XI>@5+YlI?0Hl%dxiq3N(db4GHm-7bynsY41Q@0X$W@i}N-+k1p zOyu8r&eXXB`~}}K8{f{g{qcEA2%Nqzk#*&v=zU4}dZy zcId<#?8Q$qT>k84<=_6zoWL9RT_0!~ptfvwui4UE;|Uyo&KvmPrO3el6swMw!N!*N zhq|_WnBwO9^;^osKj!z-OgUJ`U4)`X#_x(SeWhN1**NH-UOxN)MAk|F+x}nI1m5_c z?7(K1Z%gec<6vFB%S^L*?X_F_@x6BKH`@mgBGb02co%mIrew8<9}w^A_$G2GZR(|d zAAMBfOaAy;nEj&D?V`>RfzK|NHS+${cK|*vMwfpd_X;g5A)TDPkcJP^CvJD}Fuq+U z-4VfmCcOPmtDeQ4IeCuTGg;!@%ovqe@}1v4IKTeHsXcp7JYU{=Vh6q#E$r`U8m0V) zsq6dH>vn|?(beoHN6AEc}6K1kU=CA{;9 zp*CE8iEd9f?b$zYdg%as#60k^m-Lae>p;%bFuKmv_>A^D<#uJ6y3+eir# zrIgy@#XqZ=b~Oyoq*ixYR!YB1mRF)96%a3i`sa93mLsc+%7DwVRD<)}ismfAdluyu zQvOWvC;*=u@Y9$9{%!~ULxY?1M{YknlrzYwe`=cAX8NR{(=@q<26K4VflQX?;XHc= zD1ZIhOWF;$FI(cBbf*Su=c=`bH;r< zuy$lSW2@0GXSnfhpL8!mCD~X zSarOz_FL^i+Ee!4uQMVe9~$I)_La43Z#^=K^G`5GM-vSdC$tc}PP&H& zpM)N>OnU6ySO#vH&~gFv$T5uLg+_8*+uvP5RoN zfojqz>LR?*#8|fcmChG3LS#dV^0c)M_I2bkm)}!$SG(kq0WEg9zS-W4znaJG>!_og zCU;WT{$=G=lj@;gy+=)|p$)%bw7-G;X%JhR$fy;(YaQil;0&0F60dqd(&VS*9XMt5 zw{Q}CZgk-D88~QpB{&H_e*m99ur~f5;PN8jpZFbhXPbN`w0+(kS+lPf+E$~h3f=J2 zEV?~fO)%G3pj&1L-8{>@Cf&XX-QJ+?9%a=R9_*^GZp+%!115Rxx-oAs>sGIlkn7C* zsb{NKO>T`$nxx|&MOM!0;>*1og)gP;r5{P#FRB~^E~|M#n%F9Iivr;T41 zKeHqF?1`Q>kaR-VT4=$%A`2WRRX2WXd&OOk1fHw9r~Sn$<6x^hBWviRzURO(eh1@^ z==}|Z`1S{1q3qAW^?^9-%iQ}a{caBameQxUQ;z^NnuuK8an^lYXe#~XHPQ&*i|oxt z_GS+CP02#86sGOjc(*Yk=z+J&;jISp`WMO>4lj$$y!LG8wiS$R;w!fje7|5kS>sM> zyVgCT=5xk@PZ$HYloe5i+vETkTL z(8)P>aalDoWu-?=D1YcdQ`UJF(`VPFwAYT3u_7UB5%hWkSo*Hack9geN#;BlU*XBR zY$@kM`0Cr-?fTgtr**svp7_D84<@VFw$_SUUj(;5b0__)jA`$_H?8At{z)eOtIokc0~xgGa_~nF;6ASjGar5=EdHX0Z9515L=%5> z_b&XU9KpYtJ}Ue_174KzeV*{vKwro8CQl{?{|-L6mS-h$10HLoPPAzUe6+rlU)rCh zb>uZo>o~zT@x44k8)jr9uic(m8QH2qeCjj2z6NAmYzDrL8RYc|n>IGNmEYhTCYb}sJ?{;)bp>@1*}=I;8>C&E7*`~X-g~hN zIUwr*=6&qDRhRyHSCFL#RBAu}FTe?!9EfUQ?jq;M8U6jQB4>}T^^O<+ zes6>7$TAos_*Q5{bB9-?xgTmlH2VY2(%1;j4@iR=;R=UZKDM78Ck!;0R$(B)gb z@YBcMSz~yPUjgmgz<(D$;h&I3c)r?*oQ2$7U6z%>9o%YlWIwffNUYgU;ulC-+G+vs z%|7mptPxz+%uuT|?$6mg9qLOtsEfaQt}~0xMC?!NNGCM#ad-QM#}ZzWG2{*UvDt?x z)Ana(4i+DL9@+~W&M&7}=H<}E1I@^U0 zf#F+S2<@LXB5T-Vaa{UEn|n|&7y4Uy_h;{CJw^v{+96+ZFVD zFs-AM=e*Ww=AJFlO`91D4%5fhfw$N&J;-*2-64~4zNu3MPQJ{3gB6cYZCYE!Z|&40 zx2XovcS^CxHjh&NQKA=*6kR#z-PUW(b7;&nV>a75TA53Ah&&Lzp@%KPl-&i?LF^~k zAM(5HC+`ij?0*?C%n7g|rWmd^^pT>BslJApo-kE4WKA)$rEg^LJ{>y= zX9zaPd-L5`Ykp|3hAQuMU&@fR4BA50fMlK32R>%}udvL@Gv_a}mNHFWMd%qLG-O@> zf3wcQ7mdg?@0o(<>Y0laQtr(1@^)z-(K8irim~QI0d&m6HW3NzHr6KJY~yChlXLgo zXuQ9T(vhm%Ck3^lz%Q(8`#GT+Q_#Sp`NEX}MOmI$xCsPKh zWpn8Rd*YI6lIE~qs73krR28@X-a!YAho-|$S8==KDS1nNlCR`hNS;3OJmgAhYouOf z*W_lui;i1;rgK6hI0^qTuj*I{zJjahq-EnR{>!DU<-J}X3Edy1W%bFM3{yY#_~fn? zYdtQd-^k^ul()teZ=NY#B5PXwYSDAhpUnOiPgxAS+bHK)9>28r(Y60P4P7tZ?B8sT z+E7AYl6)n<&G2R!d933n^5|p6AL*k)1Cc?Y?AsGvv;xJ3Y)%y{7EZd(LN4 zuE-gYK^Y?Jj!(1p1~WEGxw0=*=CD$};@u|pOGzK70Ef-|7J*}`TTLv3FVO$dU9I_s z$dDP}B{m1aF`wsi>zQEI^G@fIylNuiOIwt%!1;u}l(qB9{k zO&p~B`Z!<1I)0HxW@NEfEw2Rc3?m~lrQh)7jQ>SKGqF#L-%dS0kuB_%Mz%z@?WC@S z(5A3sn%KL{wlQ@a?9tLzdEg*2ID_)hgSS=Z`Le6e44AZ;e3qd5wmNLjY5067rQ&2S zvCzW#EjLQ^;hESE3Id;Lxw^Jnu9{_?mik&UKZ^21|CTepKBD~v_lh%}J$Xn?H*qtF zyVJ(4zJ0(X>C3gmSEs|r|1_Dl{GxN)9%$x`@ipWa84H?Ebr$Ur+TedBG9r_o@Lrm{ zr~ebL$9utRkB!&P_KxV2%mfpe8(i|`A5&YznGJ4yN&jy0gtWta9YQPQ`1bDXpO@|f}(p% zoqhoCbZovzu&>K#2 zK7xf)&pDRJJuUA9AK__eUsOgvmid>+yIR^v94{QX;Lp_ldSW5j8Xoqurko%pG4w1WuQra%G0vG0=d(p4CtuGi2ZJ8ZzF4-HMKeg#>t%2HWpV$$_X0Q%f*b0qB zM-4E}c$JU2`kFw?%PP?P59q44o+>)4$lzK0h8U6fjSMvBlpf+Y+j^_m8sr?{_rclJ zUvIGVR|S3QvF#jr`G(A+vwRJ0!>vA_>dk$~$FIcLv{CkV%Xr^v>%)@grNCyMtkcW- z;|DrlTQ4qgZQ3Zd9IYq&pjRvTL$e_B%89KxR{28T)_m)^Qg{?QnLREC#r~n!A$Rdj z)*-F+yKXrjJ=D^lWv(GOW=t@$a}0Nvj+=>`%@}KBXVOn{(5-zUKhUi+iJOTot@UbC zALiXA)|y4HzI3dmS2r_;W)#@?$+OnK$MTN#fjNS|J0eTsXA&<587Vv{veF>b@nyav z{YLbAA8E|;CRq8_ioQO<($}p%_h#UWfpX@J3mdtcF)jlAqo1iOiT?R1<()$RJV_rC z9rQDJWLkup)al}^1?+n5@V|k)l=Y-rnP2!KIa?Z8F5hb@TYsCyH~Pm!;ms8647IG| zltFWO_Q~@MU&DjfsD_kSwak}DJrj}9oWIZ-=iy9)lq@+vhe?({8C_G(`Vd{^2xaSe zMuq6Ml&j&L(4&>I+Q~=sVsws4Px4*#;wEH5m95_vkeBG8ZsYmne|D)jQ^$pOwT_!V z1YGE^N6>SpQ1)ka=%vatxg0%O=x=a##W%D>o0OYffX-buKG*ce zGIea~DCcvuB6Fuu&q@3;P7j_uUHTjE$_A)O^8QcYe5k)#wu`vZH_B+sS;P_A)MN7= zeKGVwmYeh$08Y?Z_*?p`#;2CH)^saFpVRHy3Jw?A26B#rlu>{@(q%LupLD)^9Qn49 z?|;BQ?e4^^0o0>f>Ni8?>(;Z_t%L?;{7$jfE#ID}&gFGCWUfq9@T7_rUMb5{4I*32 zdf5FrL((z#I(gG{`rb79U_R?rdGtw{zyG?+maOd@x{VjWv%<@YP|q#r+H=bY3jVR5tXpWP^;yPT4RE-AxS$FB_)u ztwP$tmJK_lFWa)AM4pii57@Fnz6rlK;otcycv;2<>9aEaSUMVhrBZLuc=szK)G)zbdpb#c5B{wxsPR-xyAh#VIig6Kga!$oh6z)o-o8IA5! z^at>^^i60Jok`QTiT<<_`u5}dCg>|;q^7TKt5BawJ?@=eYS7oh zk9(iF`!VL3V;^>Yi*Dj~@d0#8aa&`XLgor>Hb58Jd15&1aF0vV2ucK_d zkuJ9k7fJp zu}racxI1Jli!e4MgQqo?(HF$`O2#vh>*eIP2HQ=tF)S1<2MXp$YpmmP;FH z+1*6jdGa|Ei7`~h%pAU#@Lk?{m}^Nr%j~gi&ldwG>3YgpIK?SydFy~p$vK2a2!*cY z&^lCho?a?vWy}PI1lZN&%0^2xx=E}{w~_}oV#1Hsb@dy2Or29n2$D6 z=&{nrex7K~KPO5*ciNX_JPqx4J9#JbqR@Rz7h3P*=c)J6^VEBe%*Qp)$TK`6G_-ie zS|2ZA4P3=v?N9x*=ejxXx2mF%{$$?EcrEQM;iK`^8i)D)KSuiX`)_x@KcJqvy6b&` ztReQB-r>o$d<1m-h28PDs+FU9#`m5ZzqmX80X4#H#<%LxZ8uTo1X8SO(Xp7_$bTtvGZw#)lXnDYKadA-)@ zBFfljm$5BO8N0utGG4RGcqvR7!LO){7ws~t!j$1ZUl|v{TWjnx%EOeg>MJVaUb~E& z!<13{6_xQdyNt<>Y(S7N8d4!r(!=e`wM#yJW&ZXUU$NNNu&6d&i!BFYp=lZ zGR8&xAlGk5kMUezRx{cL*-{kTfor50q06Ojq zmp}toLd^>D+$r``CI05|`{NDolND9?SYpfB%zBd0NpzrpB%aL2HO$0o!|%XDV5eSn zcEGgu9kiK@1&@Q5*?u?e2ncOF#*M7yVas65!uNUo3Rkor+j2vYc&wFWpS`Ku$IEK> zly;$=&|Squ`_oFM`d=n)6TW1UpXmBtBRcymdbKX|K3(RWmLHGkZo((nE4MKxI9LYG zl2(03XlLzLKYM4RX%7Hjb1sBk1=^sRBh~WIf=ty++!ZKjfg`(zM&_FOHRQh_>Z<&0|L3GW@Cqeuoe} zYho>ROEc-M{BQHFqO)^Cg}Z&S#M#W=o!{_IVfU+df2+Nfb&gWn^nJdin(6RKrfxD< zPf2C%2R&Q%$5f*CN&32cgYD!MaaWT^z5AQ(f=@H=#TG37&mP-aeJbyF_G_Ok zzNmte#2>_a!AG8-<9R1G4AbA5dWtRiNz=|~t+gJ8|72})m+QO9?-O6wnYEXqdg87l zuB>lVqBj=U`=#cf6PB`E&K5cmpy&4mBVPw)uWR%yfyQQLk%$Bv0gSSMywsz{{adBI|#~v;5^^kSDP?>b* z;hyW9mh6|dSJ;}2EWIzD`R}A^c-X=tAxrjz3t!4Qo#ZQHgp0b@j$0cSZXM91soUBI z@#)p#)5cy$ctXmv)^mE6SHikZnOPqF5?iO(Q}r1k*e=JVi7k)sRzJh$I@-3gcBM(l z@=UaGWNl5xCyB4+rN&?0iI2Lxm;AZ+!#tl|>L&H-uG0;HPp`Ik5ZTa!U%!-w*ghmb z>^wbbD0XeToD!Eh(_L0xK+Zb~?MtnLN1k^2R}1YtBWiDy@sYlorESepPB-o1v((7? z8@2yl&pKIt)vW{aPwW0CeL(V!Ndvbon|t>>TfPa;cF~)$T-Mg{b3R@@er+86Ir&^3 zv+NBfzL{2?OW+fyf4cC;nTH+m##!-@5zEVn+ccz_e0%CTJ>uImR;(8|<8{?1+gTq+ zIagZcgr>9b>Df1g&OZ9FiW%&`i#}Vxv-o)=Ovh)v(ATlU)^|2@mj27G#`+RuyM8~H zwNBkHbRN2WXT{kvCtvoD4q%^<2V1b0^_NI=g@MTDsKA-s$WL9q8tkvztqvYWmR*fZ zLLYejXXrF<9DXdI^Bxa=-vGC}_+`vuedZ=>Oh3#RFL)0D=ZVIU{k5kad*|n8r$6_v zXY-%?H)Or#Un1k13LXKLxE>?Mzeeoy=yEbn?zZ2@Pv?yC#NjpT5=Yd`yoqxRh@1E= z6-fGq5%5$hztAaTmg*P+E+=oAOpY5Fdh1SUSD>y;oV=%J{D}WMfu>Nankr48UPO<-z5HS;)j0! z1K&%)m%bltb;a+`bSKq3RB8lPa$bBnzKoH`?HBTV?JtgJKRtO&KGpd;bJg|g#mmio zROWN*<&5#?Ul)W|%)Rxtu4w98rk*%0)h~M2-1}4gQr4HodwjI1m#sGS{UO1J39sj8 z@kh5Ta`wju`7UFu@M|W#J#eP@4YDE~S$B25SgfUvc_F<#^P%Cer7S&I}{exMpCFFGB2_@t)KOzpMj$ zN+SGH$DBvF(}22pW~bGN-BnS?P~WF8^zYW`J>&dyPp6plA7;~kIN^Kr`B3`*t+)wZ zE~A^KQvVR#dd@d$v%7FR0X`y&P7=PsPiSw_(%|kFhu^*Dt+X0t+X65pwuRPm)Xwxn{VfZ(gDcU}kIUFR8_ z+hM3%x453#d0hr^(uk8DQE{E7k-~mbGRU^;{_{-J@7|(S_qZweYutsmonvknU7d4_ z-N^@K{7gdSqk!G|vE4KH)wNHy6OPcp}K zA%n$-w;2DHGWvg{*LwEyoG{4j`v)YSQu0Z_PF8}x({fnO(hwU{Lh!b;%z+}9lY*mb zx7GeRw7O<>N3?PyYy`&U!T(e+E7thkQ7$Q@a%rW+lelGS}0B;oC^QjUt?=8rFS^M44fqLvgz^v6D%@C9b$FC9c>lWkGMYn=<5mS)Dh#b9Zvs zd7khc{+U^OqAZ^AK2F=vu37(t537fLcAE*K2!B8rLl_{8C)`5F9Yk5L5sn~yoe+M^ zY9PFn@ZShC2zL=)LHH}ev4ndGClLOIa0=l;!l{J6C-f2iC*d^0|0XOTY$lvd_yOU~ zghvRA2>(L(b;9F>cN2a}SVGuAIFIlQVHu&3+Yz~lupi<5gkHjxgo6lI5ylceLYP2U zK{$-?an+GIGPgtav3RScAL85f1Fxemy@?JKe$Br#Kb`&Evd%B|1tTcB-pen`Sv4N? zvIyp7D){;t_UF3cJ7kmQyLO)OW!tcs_;tkp09g3W@_kPXeiwOy4l${j_m)mHBzRpv z`^+f#)RJFAg6K1T_CazchIRkX!|4(Jq`Ar;3ooRi(|~r<prf^3o@efNs{iTTQ|gh^$I&^DQO=<>_wU8Vr{PV&pSfeH zi`6b7<33xfIwEKn;iXOFEpzREB1FEemotsfyVmD%XHGspQ}6Qpouzjj8)~+lGoIM; ztT^LL{lWQ7@-V+K-b!Ak?q=%*@yIs8C6VwyyUzDIA1^114bMOGRbQY0`5(#Nv!5SU z2OnVVIm7VOyz=tYKxVDn!Pn2UrOEjN!I!TKWDqylQtp#$)wUhv>8VmhW6BpzIY54c(|@z^_~_qk%yGrE z+J_`WFB*uJE|t7(l{>pR4rFU>+qr7H>RS&ykqS*xlwGge9}cTHUg|6W0# zErW+uW#!b_hRT*PHDj1+kT%UPQ$(?ds zS#)ll-#eWRzFkbe-Z#&pa{+A}u3uM{UKpKA@8pc1F)GuPPq(O|&2~LPdD%yMNMGJl z9G;gA-fMeEZ+*F?NbXy(`pw!KRnZf@l-2YttE{rS!d1&u$J5RTa%B5|cWr!UI7g(vcSsagm%|F(|mm z?h}Q`tf#ocPxpy2^noYYSK~uwEul{cJ~B24fBuMXKSD;lN&i@PD`(Mwmxs0=RK8%! zj~O36;@pq}qu<(?;u_qRd$THHTo|&S@j=c<5g9FZuCG!5+YC$YhvWI3H(B*9pq+ag z%jSIT{5+rXs5SP~Pg6yDOp`hUZ&cgHlrNsL#U88v9h^UAjFj>4&zy4-%^5BWMygxx zau2F0{y;5zn=?^FhDuu<vmQGeuSIr32RTP92RiJ7 z4sVa~H3VqiKSPI2*12-YoW+;57hR?LGD{A;JdVA;XDoRcDhGDv(N8!xNBY4c=>8Pv z(@B3v{ssq9KAUWBiK0BgS7^UbXiprW`&*PK>zts_Zg_ zS2-gxIMCUDuCwg1d#KY9&JB_C*h6iy&DYT1;nga`W!hwQ|G6A~{R_HL@go*LwO-A5 zVAEF0D!<0+1Fch}4=g;V52W#4`oKQ=rO)MtuRT_A-&GNFBy+3^*RRw>i?6DwLvQ_R^Z4`gmF`#7 zSM=;xN3RaYUtev%8uKOkmGrAJX!1X{J}oo|m8DJKEwZ%i^4?`>C1+_~h%C*6-hYcM zecK^RGczncs=q9}EN!N&-ehS3e8hOtHCI@hpo)HR+Tw$(e#vpg%(pWVe9!uLUu?LS zRrHh4waiEtKCsT%)VM{5;d<=X~~^Jw-i4{$?)o zWpgIs1kta{(c8F3wk8!Fj-GQqS?;IVTai zRL9x+i$@jRVV4oEpYG&bPT|o4_8|7wPv_8<=hOLgKlQ}Qz1H3Hx}%)GxkLD$J%!

    )mc=` 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 literal 0 HcmV?d00001 diff --git a/packages/react-native/android/src/main/jniLibs/armeabi-v7a/libbacktrace-native.so b/packages/react-native/android/src/main/jniLibs/armeabi-v7a/libbacktrace-native.so new file mode 100644 index 0000000000000000000000000000000000000000..b24464113c2b083c737b3698ce409a7fd32e8315 GIT binary patch literal 1292044 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�~7M-xN&_fkI{`HO|t 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 z%0D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

    nDgcW0CYyS*yrD^Xyp9yj=b8sP2 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
    4^+1agvNC%Q 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[_Jww@ZDx_yU7qaKz_Uidt z>^Wu99bL82VL5&wdrpP42>#Jb`djTexR1#7T&_I_x4o_l*>j44_zZ2&DU(cHmtxPU zklbBCdk%O3p+!a7bLiWl?KxQguD{KmgJ^)R!Sno>MA)4=eFdlA;t50IW4p(6T3gIh3pzY|kl|UhW&oo>LA6#o_Ha<hls$*`!+(c8r(C+JZ?HY5Tv`Gw;qvV{r9cse zvgZ^bhy76YoKonMgY7xx(jC2*YR@T`?7ipPb4sPpx=APc(>K?g3EOkZrTK{MDVE-c zUVNC>vOQOZZ5u<|bIK71bYXi=xwNzQhq33BN?Tzi9m$?kBz@jJygjEB`40!%b4n$@ z%xm|jZ(ahg-HVe#V~(mttWZgWJtrz;̡|t5v69YhaO*%AVMpp`k3h_ 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

    d64;u;L*#PWP2{WZcebP~_rd>p)0ZeIdgn=` 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

    D=5!;*G*mnr6JazlR1tXve83O}hqy)|Ds_ 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/react-native/android/src/main/jniLibs/armeabi-v7a/libcrashpad_handler.so b/packages/react-native/android/src/main/jniLibs/armeabi-v7a/libcrashpad_handler.so new file mode 100644 index 0000000000000000000000000000000000000000..de4e0eb1a4e0cc52fe8f65d80b630944e8feffd2 GIT binary patch literal 2497128 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

    g@7F2=i450+tn15^e15p@h(A$H}8ed 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

    sCN{uW~uS)VvP*8uFo&4Q)j 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�?nmtiHkUSY z2-e-Tl_5TjcQsm5@iE1U%E-@tG>ozFO*`#E2W4kh_mEHZhW0+KuNV@ZkD?euJl7u8 zI~}k306dqzMQzU~zJ8Q&KJ8<6rFS{bsIgjZpiXKlR2TKJ*z{4o z1>6xWIxprba7+nwsp^tH39qD2>X)e80ooko*+*P|Oxc?#`*EX-_)wj3i2b%f+qwPq zf$y!uKZko;&73l0Nb;+3(FU!YH(~5{ig=b6y_bjMBHTfa-*M2tre&OQupzL|AtmT3 zc_Y#uPxZk(Z^Te&`VI8H7rLVQh~5JAn+$E^`QBYxU+eaeE9Fhu%&Rr|s)^`=c%=2} z@`cyWZ=ii-Y@py(ubV#=dzx+XNoPb~%=VF$>u3I$>vfrD^@g`W$Cc`{zhq}#>4{)A zj#xl?uG+?3A?%l;4M2y18Ju-p#3u*3b{=$p(!@$f?OSx;1Ko%3JXY5p+|fUfz%UMD z2vc}w`71whbPV2{0}5Y*HYSMSu$7jn_{MWHK};#%mV&RG4O|he^6^^#t#e-G=cBZ! z%}t$xA3phHD;h(Mbe#IMXk3hSoHf%!Fa`0Lyoqk7sE5@DCcWbrQ@=N)U?2dD+V^>6Vy9s zCxf;`=W(ch>XRt{Mau66zF6(r;!oEHuI5j5!jHsNZ_P8Qk2lf@WTd!gm{r^-9T9zd zQndT)4=2(0YZ||p^@|gBAw9!Yz?*e11&eGbs z^s%w8a;ijJ1Rt`zpP>7+^MR~6+p_l6n3Z05!us03I*dcUJK&@0y*(fB>0B$wBRZv9 z9}dqJ_zLCpuD0u2CSJnXJMx~OR0NOCBdG#-(;VFUzb&B8)n>@e{=6RXyHDR z+Wh=4dL8Q&Gp}h&R`AR2_R1&QjEVU4pNo?Jy4s%ZmnnaZ+Nl}ipqspAyyaf!&AshT z(ckX;yc`>PV)YjIlwl53>p))a{sZG=_iC@|OVDHH=r!i~7ifFgnFYLA)jtF84g*7U zoLD8^Y| z!QuH4o}3p@ouTi!_R1vSDh`TSw3+T7YIiyRv{y91*BKq|tGy}4!-y?fL{FS~O5x^= zwHAwK%uY&Q_KBdQr!K%=Nzbm7Yramu+ z<>9d@8)W zT-F!hWA4bjxwp+(WaQnPjWL#BbgJcL=M`c++GNTh@2i==#(ro|(Ww-2wYnK^q0WDg z{F96!>budSyjOnP^wam4SbZX~g>Ai(oM`3ZarkyFy4Cd-yNEs0KGr_vW-{3d3 zPEWAMxn>`x8QWKxtj>JoY4jDoCBz%vC+M7pFnu+!lr9=RuKb~2kq&h5P3!Mtqn7B* zbkmNk{7>yQ0j3-HpD%NF>uk;}(mpoLwP2qu5wB;3ydJN%#d@_S{?qqp5#Ptb5Aj|+ zm%q@O_ZV|Rf1THR2JssIi+)9LqIT~E{J+|b@tpr`(z3J(AzR>dBY)BMqqcISF@>bvx5?gCyEmsuZP zU%Sl-`Zu4tUGrqLo51c@+>|FCfo4}a>6B{U3S(6Cwfe&kt*@N|9L3n57*wt&EN675 zsF=s<^G*)pA+>24wY7Q1(D8MAOD_z+{R4WX?|+)2cJ2!Gd(&$7qzBk(OYfh8_D^RG zOApj%RQo^Tzk~GCNpJ9&PcpJsUy9$zJ(Bq!-yUfB8MN%lyn_5@YJOtI?Z#H|HG^zb zy6|%5RpfSiXd_e29W#j>@`oProdq=e_c(jPaR=7E0_%?Kn|tre0xSEAa&tCr{FZ^` z{2sdx>`i(i-8n?vKFt$*rMHrM z%BjpG%Iu_!RRCU&zaoEbAj3t_axe24cMucFS4&53M@Ph?SO2W|mVN>JL7ryK>{ik! zYu3IN8Sj@K{8VYm=ds3-SV3w2f5rBX18yU~e;MlD-vc*_(XiEYmNWMDep+Kw57*8M z=M$3fTCf=NIaxI9W3EB5`ly!%_WR5s$TkvA&}SZvEy%y67~j#kJn$gh#hx7b@)Tp_ zfo_`EGQD-y`dS4#64vS?V?iH*o|N7*Ub)J*3FbYp{d?fY2SPqX;}FfvU;GBx5pN@z zT<;(^bVqYgAA+CLq4WE|i}?9&;KHKh15jdedWM|JZztHmzuqE$LAUmDe z+etao9uxx~^n2mVbKa0`Rku=JvK~y^=P7%>&!&gS_+o~`8VzoI_S!t-~$r-AXr%=*9xtAC(_^UBWP_x+^5z~4^t zMEyzIVf=@FsKyLstMLnhKB)Sas}b7mVN47^CKE4R-ewhZ#Mv{kw^{1vM*Z=@bK5Z& zdjf6=xcCPXFA4V7)c?U2v3=ts)jn$cUH110*%{@;%SL#a;Hen5nYK#fshUSAQdTx1 zzql3oXpLE zODfEp2=kt+yrwQ@uCJvbzsT2IU1f}A+Qoyd0dDmh&@22Iu`zhnH%VE6e^G2T8sE3w z$P&7E7tcRRn)0aqRoaJmmt2&l@6D1)o|uhy;rtUglaqyybI;iO#-8ev?Tp7=cUIqX z=gwk^qE!m*rwxQ3@sV98@@?S9nh>8j(JgyH*#O%rO05zTm1w7 z_F{eD?VjHcoH)Hc5cM?(pl2vPZ~Osq1~^PVBaG7>YlMk0nyeA*;ZWbM2VcX5J27?6%malD}_h;_C z82$45K7TxaJbC55_LiA5XU?2CbLPyMGs=e^CBMo&Hgm;7^+6YJif;*M9>?ZETnjVa zLHpj)Ya%wk2H^$Ss#V__rQ!QQd@o5zC#CKQjUU`&zr2)ri1a`3CKklvTm|uWq|ZdC z6YrR}Hqn|ibHOIr6HNOy$$qQ%_|$g8Gw z^b=g^e;p`S@I2&&A5D3FVhMV|DG=OX@L-M1#NqISf6iUz$PfC#5Vx!VWgS9(+KK){ z-Dux<^v7?!p}JfF?<~p!esMR!=bP%Nwg`mmdaAw9ztpEPD%ao>o8i@%>2YYRHlV?W zR0KZ+|0dZblyi14Qhg~p-D==hG^@<$z5%?#+r3b*=Da&SF*ZEj1S% zFq-XFW%;h-_Xd7tU-7^{-r$U;)CDwWq~A-T#}Wrc^BG^7m`0(B>T8&H7Ok?fi7328 z+ZJ2R>Cf0(lEX5d^exr01t||cabvyV{?%$X(H!5qT5q&}HFImT-heN5u1}J6a-Nw- zm^rN1>YwWa4(}yD0H*l))aMvr=4Ov6h10Tyba+>#)#V_B3RNCooifYmWNqSf`)DhluBoz{B?O z);@3#zPH)~9I#$C?c}lE->UDfFQw8H$G|taA*Wcs0ou_^z1Y`Pt2Tx&vtLA4=I%h2 zs;xEG*SK6g-E z{#CAfxMpw_9#>zF=vV!I_yg)RJbPJ{>{9SZI+?pU{1yGL8GKAz!iVVdwO(M#?;rWn z$IQ#>%WKkmLJ{U;&BU+lzmc7#Dkpu!)mgN@Kn%}qo+{CBxa@qz(qGDhvae`A9`G64 z-rJbp?ye)q*6zM{*CJlun6I61`>y;WpR%4260Bj+RQx!UzJ`2bJaEf2>ok1Ro=Nos zeu7&Qfkkiii@)F}t#`TaYIxSY{AHK)_SSY)J-L)t zI-6kA7d#%?NBnxu5#HK8`!y4Pry)nNe2)X{hZnEC18;(>cx2tQIDI*WP8x^Ku|d@? zFTOz<(MN3~ef0_Id1}O#sd`?^^GNe->$6YtJd|hYv)Ix%3C`O;QOC&2+%twoOLDGX z<8h>u9xQv>vwYie(hJ-AN4&L*Eaq5TZXG;v+9<*KbwAr}sro{L;@6>(?6R+rSG21= zM&(8^1=zY`5wNFcecSIMohO#4e%(nY-u~K2D?M5Kr@9n|hz<3b+FddO{ob1Pt?Ucq z9iCGk(DVDWhsp^$zG(}opL_y70lxMh2$vvrgO6%e|G9jJhQ{YiedtpMk0Q~D_j;#x z`6|CF{}k6Su7kJ~7dydNs`D%?&l5FfUD~>h_O4_cyUqBVO!%eLa_J;KSN|UqTS=2L z_QY1QtTxKXR>2=Y8+a0=iBo1oYv1;`7;$*L06HjUa7l#y=&YL%Poj_DC@;K)y<=8R z_hHHma#b{0Q)2~%i+FIV!Kak|D%r1fTGww)_Mgvw&e#6Xv@Q?LtWpT+`a38#nI{HL z;9hRqBh8#t^q1dqT<`eaL3{|!bq?~i&|Ph)^N{y<_)~O#5PfADwj1{Cq@y95CoB*C z_-bolTx5J&nP*w_GtT3jOMS59~wd*DqX!YC%*~F3(fz=gTvvcdbiJv%uEaSKpZ*jnNc$d__8(qAbw7y zG6`^0`twMCGPwGi%rNOal;^kZ%8e(z)*l0j3bTKMx}ZO@E<>ISF#J*IAE$o^-z05n zu|L&mQ^EB_6HTuKw%#`bpBbL}YxG_|#aHpZ5$_c5LpTyA#K@;Xl&SenA@Mb|-W7`4TaQi5@yR^zVVebw$#>s`LB!Y}iPzIFLed3O8mZu+L(Cr4zDppM(< zNAiageVCUOOTUFzjPLm@ix|JOU(XP<@~o}->1gC=aBa>H4`|HyTZap`V)4lg&Sz5E zLrA-wbn>&*b1$A}coOhxGM97SoApEVclN(zSQqW1bcd1dOTNdzM{_6}r!g8MyGI?I z6{CN!b1yk4dDfeJqTM^>?WMZ#9Oj!V6D(rXSfL6dPp+>kwc=cNHpXvtSE=gY;sTuiycLmp36ffV~F1B(LC)b&_q`-=+Thu02K}Z`eb| zb0Cz;+?cU-AoV$W58BM?^-4$Ihd}jCpSOj+>O(G_<-a9) z*O7McMkMEkNynVCk+j`OtG3YIVv9I8!dt$QU9DH)%}>~~^s3QM&vDjnj2(sd{>02` z#nti!Kgk6`{nP$rW!k#Dg0+v)IxAsm9N3y$3%15)&D#!fo?YC8m-yriwLklPjBhA$ z*9$GlGjts2vY*Q3Uf=Dw1+y5{rWdf+!)jnfEZLYF-?KBn{qCLlDO~fo-0{x%_a$fx zi@k+0{A=1a21XQFZ1oATK5-)WxVQ*Uol~cIXdm#g?FXq0Ym|n+H3w1rF7b@U7Tce6 z8o$QAP`s_3y?&$ioEgTh5n^xAXuEIt=^Nj@kQq$tGz6AoR`d+{w&!C z>^YRh{J^}k`-Cg=x}$HX-6paYFy5ghcADC8l>e-m-qGx}?+;`PIF|_o)8~M6Z&H;>ThK3_5GTKW?ow_fF zKPEeMVtlHVZbds4&kFrb*DIa6UGLN>M4i~fUfdCyinayO{{g24EfxiC{e6@l7pbK*$zt%eJdmq2Rt1idqAdC#S=VRaYFQAotAD;rpf7ekm z{%yXGhHh7J)vel@zm4li?(6#tTQP8o!$(nMRBUc;v_nhujbi(p4?AW^AhIy0^^@h$ z^qqf|CmX(eBaeq>v&>oqJ~uq8u7wWGP9$$f>LlFZ&2$gwC0}IeVeZ}t_ywB5N1+7z ztG(Y!>mZ_C)`54wLp!BIdAD(d=SYvd!j8vYGXqEQA9z0wIvq&a#-5I?MLKT?SXw{V zd7_F-uX)rk(zS*5A?vkV8-CmIyFb6}`EAW_2Yy@e+mYWgemn8IAHSXXZOLyJepNrU zSy$)28^7J@cZw6+k$TIHQ2@>%r_4hsQ+edSZt6`xDgYP7eAO8CAY+i~?)p=ArLA+; zKigWgS6kOkM4rb|**j?S4z%;rsh#(qXaN2j>g;d7$^M26_wAi(_QCH6GVY-NsUDIMe;z6R zU_F(xTwD)w>ggpGmhjX%LA#F7B26tr9+vF&M8KE6w-2;d*~kRwn#z3sjJ*aZJC6MH<-4yq7baZ@ zyA@>>IAbm{fV>NuLkGw?4g2qk+(+bB+qiPX)#+tpHDy90owp)*0pdTL?$Ap(sEzj_ zuj~~s2#*M9fT?-FLWhoX4IQON*<+(SpXjh`=bpGL(wircrzP#&20DrUCph$Hj4T#h z@xW*Jx1G>9QTUpK74EV9yG>g`}@9i`8T;-+PHNb6Se1OI?t>dWxDgT=Co7Dv88qA zeG{I`o#z91-iK$=QhInf&kfA8y*_Xt&zi^iq32A>^iwCz9|!O9*7hF6`LxcyP1RR= z$O68Le&yhxw(vslCxEfr)SdHcEZQihdX8w;7aMswSD4F7|F6&EQAdXr-##0*=LT<% zaK|WY>(DS9nV!>JMznhlxbMOeK9cMOXDY4 z){T2_sFJyeiBVZr?xYiMhmjeSTdR1!YE$ag?BC_=6~}roH8%e@%)eoILev$S^oCaz zBTDhL`@(yS^K(j}pYA0mwcg!JX{ft!=z9t0S=BqkQvFmiN_#kT_KIu@!kP9fMrIPP zXGZP>>LOk!2`n~Tcl-mImJmu)HmPRJbP?``ML{QNsIiguCAy0NPr zL!zg~2Ie8M#ox@h>x_?Oz0f^$k6dN#XR*Pf18_PQ(!YTr`FpVgBcwDA40b6Q7|fZ< z-fQ<7@+p;>$2*I-2fDXH)RB5#3XX!${N4D~NPn5_vs5||SxuN`EWUFxKjjS@XVg0MvlK`(6 z{|dg@PbaZ zecv5d)R$!^3xofDAzP-tr!@uA3O4fI#P@5>_xgSAMyJmme(pc_hc&FO%hzQ7TVC1l zlDU4bdbW>&)s<02-Mi1L0oeo@R^3m{+eeUchhKHirlYt}MPP|bK-%sf%-Wr=lpDN}|_v&Kc zkELBs1AeLMOkIVW-i_j&_A~%{6=mG{8akis-inKX9+M$nJ*vAo9~E`#sw}Zwi-I&lQqO{q!Yh9Mn2B|Hu_~&cpG|~Gw&XFfPNx;@1rcv z>@@UPqBIGc*Pg^jg|l92#p9x%%2>enCD?Nxht{RU4R_b;w9eg{=cjnD^Px+F#0!Tu zEfceIBb+w!L==B!b}kg1om(upz?{vm>LI?FC)wf9NOZkP&(Of8f3(?+)J1JJwnXov zS$uXF%bCCMZXoYo23B3VE`Qz2l%cs40|);m?(h)7kc=q^ z;XiK5O|v&ubkH0|JZQ&J+<^|@2}`~vI3q5B9}RXo%5~?7X6>DNdK09PjHXO0#+)!I zSXy6N(!4G0LqDFgnSLGu_B$cFpRd#LmB0G}ac;u! zR6LcfAohdkB6=5wkW8zd8CLYp|kFrN8c2{wXa=&oO{GKv}gB8;nk7Ls#eIezT zx^v$P`QQisR`R(0?rZXCO-JpPk&9WgUXZ)@bDO^fqc1Qn-3yG# zz|h)?KgybM``3sC_N3#7K`d3zaYiXBk_$9tmHUckr}gx&@pU32mAdQ>%jMbetBP{U)~q;E4u;v`?5b6+dwpXEaicV zp|@nhka;IC)---W0rI;Ekkx`(0L- z|7mhv{xPmAxbBWi_ZGZVb_zJqPb#z~uXVRd=Kk^-^e{PsPDTfQYy9r~6xzFAFmh{| zHT1TS6*^dbD~$dXXaA4j6r-Dy{t&%)?aRXXwQh{z5#eh4m`k==$YIFC^`HBl7 z>YKJNM33&aE+&5_S7vzQd?ydENHv+6)0W?kd{aEi3!QH|$D}Loy7KN^=bhG1H0NH-JYDlO&8Jo$Zsc>e zJT@&C<|;S#N28+__hrtstf$2~CN|p8y!4czwk}w1#trRKf!;ah^QjD_J7> zHRq?4C6>vbCC)3`+^XA7RMVN zGLU0q_VgRsPHCI0K71NX~3VN4g&P`rd$Vl1qZ^kIX=y zoSVDEX*>3x6pwMz1?r_!nsb~q>q(}}ZHUAS)APwhGXp-F%I zahEElNm*au1%MZb+wi{IVB6A(E4EJhaS`9t&d*VfaEgPU>{*<9pA#)Tamr?XQ_lI~ zg`xLrb|9~IAYWv&v~9<>pB^;ysGJjMTMuWSt8I&7smzD?ew>Ef+DLkR_fS?KW#cjd zTud3H9Sc6a>d|ls>Hke{6a$0fao`xF-s)?@`9z-U({UDc8Rz5=0#kJC1YSzp4;}k( z@R@acU4G}GyYfe->7N(Z<@ftySN`kSJM(SU?8?txzAOJj@$UQwTmxIzhiT;?##D1ZCCz|Ie*(PL-cRiAxncNRBLWvbh#+JXop^>+cZy77&$(^e)cK2C)v}Y&mouk0bdcQBnRY4<_;xwa z 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 %yd;wy1I_vut5*p#00|{s$% z`e1)#K*-*xD^_)M$>A*GFTy^$qafI$ylI^r&tBueW^&FVmaRw0TdYOgPmcDcE=nE& zvo zM<(g}!H&k|IY_0myt3r1`ANGpE5uC(Q>nE|f*_U%>my)TpTVro=R;hzd4gS^7Jv~Ssn#RhtV)!XYyNY=?kqR_+! z*#Yb=ZNZgkBG9ggb&Jvhn1k66Cyi*AUTfV^yOKDl65bD_9xm+Fb5&nPY7fa!4YO4s z-~sQFDFirRy~hh4ln^(!0+hVo+q2^y)#9k_M(EUvY?Ds6bEY7M(t-g;>m9NH%E`>DEeladDs&E_xWQ4bkIoN6*Seeeu; zfwx?~JoLa4S5b;-gbf}F?RDOsF^ZcQf&p6Y4l_KAm9Yy2JF6c_rq?0zL;E}R zYIPv{2zzD~M=`dxddcSX)(RA}XbLhDwdPj6r6l5`dp!Xo?Fb3A+kB}@Bio`S4927l zyBb{^LJNj+!^&F}1f$mh=NEX;RNmBfJ>h*OKD2Q{gf>`sA~Gfp$e9J>N~T&G1`3Er zQCz5Ua13H!^Bw|FAjVu!Fdt4@Is(bcKcw+y1@jr@s@ru@!MK$AEw+n7+?t~k>y?f0 zWrxY3L$v;O^vJszmV})zlIS9u@YVFhjTu=XzZLza#NKyUu9LI>L`iNplmyb2>44bd zli0L>U(e;8QIf1(pCdXx-;9%>uM^ct994oYH~^|R|3br)iuuF?(xRvX}5NnBCxsP7?GMa**Y1= zck(T+1TMEVm!-y+PF=pKH7ipZYfh-9B1kNOC9E)sd$Tw+LJOr|0_g4%o6hGD`DM1n zbO!Ipm9s!F>>rNnlQEH6FT#+8s!UPD&_2k?VMdnJU{-yR#3Xk62?$6pN^_8oow7Kn zl|F3{SCNfXVjm&L0Tr-u3nsh}Gd_7YWQCYQA^|;#iGS&E|E;d0WZq%w zal$v4iZjt)0|+A|$82IGZ9hbge4k{8rFjb$eonv+xOY~ZrF|`3eSs4!2-SmxIQ~#? zr!XG|?yD2R8RpM>h5RvF-?$Fwa=MoTCA_V4eBoL52*Kkmu?6QJxep1==1*Go%<9LI zHTAqd@5w8)*Jez{ldhegA1=K75gsuA~YjqaX9eh}wdzydRBI*8MA7 zGi?KCk~jzJg@09v7g&GCw0i#)<>2bhtUnJ4CHjEl2Z>IQf-VAdmnw9!djJtF(Q%;%_+DY(>w9Uckuhv;vs3erxOZXsppm_lZgqsBC z+6E#%g(D29<;~N?CyY*YxQ14jv{>=8!@j46gJ{-;>eux~8 znrU{a@EE9ee+;JmXG6zBXP9m`)PgBurq3&U?i5We8vMquTk49anmem~b`?lc~1>1x*gK;gHVYJmKNT81nQi1mwwkQ?t*;33vmTm*AZ}zL1K|OI%z*W z-i`wb>ig<8@Laavnr5D4L$9}k(eHe=n?TqP4hyHyn97bj?YE^F%4aZ#7Y@YXs&3n7 zz4h%7Xt6_cs+k&t4H{aD$p7i!92MHInUKyO{TI^uk2>fZ)0Qd?sZDKnQ|OP!YqUFU z430Ht32s9+Qa%p$PZmH$f2%q2Bl}M3ZqJ~$>}``9Z=crA%^r|kePP6|0kiTT2pz<(Iia4_U90t z=FZH=1o(Q?FAA43uQ+#?c*v=m%4O~=2M)2SJnjR9_X*JhV_`;-DD$fL@4{N=)yRbRxa3nI>^R`k6L-W;UK@iso@F?Xa=B%3LG&cLh zrkc?jQ4^>oca)E){av#<*xiUqBoMvc#tFy}WPu;Zcy9IE*Pthj<%zRHr zRnC!fZ~u+_3{0y0&Y$y2Mv{qyk4=;}+T#%oV_?fbkLVBip^0QfMRdiYb2A8{S+MJS zd#5N&6KVt%6wp3i?BPGLC55Ul|00&RT!P*qP7RIOf0uccZ07y3e1ynzyihNP16I%Kf9)52 z_hD;qThru&y^GV1QCB_8!SUFY{PcIQBYgT-9x5KCQRM@Ax zbG4;|9%X)~g><9@4kiJJyo;C&n{*;X78dQ4fq@ey$tS6&;6-U}Gt8qE5SfGql>ocO zj!rilBeM5R*Cc3bsxDWJ)=r{n*o}m;g^@77L95SPrcoaCd0HU)JqpFwKc>v~n|9#r zo(m)7bT$-kB%SB7LDy(EXWRj?Ao+_6^{171plnOPM3PE%4`JTJ!aWzDO;?K%HN8oP z1-e}ycGM5BTVJ>M&k|G_nn`Lxt&@cd=Zr8}f`TpCiS>**ob}BmB6QDIq7^`qi8*uTJ zkM`7WRg$7O(?e{2q9I!t5#0k)=H7Cu7r z#2<*1{A*LO)feWgcQcC6lXL>$fnL5ZP0b|>&<5Da`Ol8{!{Rew<@$+e__yz!{GE0a zEu9#B1+=H5ijm-RWr?)GQ+(X=t2va%J@_1tNjL7n8H5!(HnPIu7UKKf9}cAIS!XTk zN98QhwW+;ak~E9Ot4}Ly#EaXz%Z4;Hpj;^$i_YBFMk^ql>Zq4!H&z3EPqzFpf@ri> z^S)TjAi-0gy9+CBpe?{*0t@*LRk*k#ZcxBBxb|MNr;qr5&|M0|E2-0V&rK)Vtn;wS z0HBl-Ac-QWiR2@3;M?r5sV+tKjUG!5$M`_j^e=!u`1{X$RJFZT@;64GGDU}@YEdOa zRHBl`zN9l$g2(aXQuzt2!?7iX$BBb1_BEc-*s*c#`mPCsv+&*|?L5X{=oLwmDT2Qp zBNq|sr&EKa!JYya2$`mGuYx}dY09{AsWEXNGFOS47LruJnQf%MTD4QBOljEn=S;wM zwl&@7ve_Kf_c<~|NCJgv0wa2u($C{Ja|2vN#x6bXn-k+XUmSwudK;1wdUDpN8KZU{~%!f_NJ?yw7B?^LcV;2kim4LXw*3g;B_8fURXg}nw- zt8HE918@~mtClTmh!?|d}=|5VVD9UAC zW=>G4fw2(5ETv+|QU|4>nHGBpq#pE8kFr9g8KN|i&!=8;V-FzlSH0E7YQsW-M z5H@_t(jLm|fW$!Hfjyv-Cc{4=DmZxU-?;uRd46;BI&OrVKC zvkruiv&KH93xQ@7Uyb0u_no9pY1OO`Y$=qFJ4@|bZsAy6G8yK*`_;D(at>P*)AI?a z>i3v0LI;j=CsU0J>U21~uef$)m)fTWHz^6es^<5$v0rf?T@**(AfuF%eIe!|emEK? zgU2%8Sk0?vu9T%{%i~dSz{EkH$_2?$Dvnc$KT>NcWT?2`0)B2X;qoG zcu#p-#jD2c6^Lt;3f<~Q`3|^=6=*)dQ23!ODiMmsunA9nkY7nP>D~OS>Kh=f(&o0m zJPv!`FI89$B~xP4bGSYdk;^0Uz+H4JQOu&TTGI5J$)$rUT8azl30bv7$yLm~wrOUX z3>B_+HNNRLaGu>pV_urdddK7rtRn#qyMgz@1r zR|-6uAgI2Ckwj*J-4duq6&U=kUYhgSxoW$R9AST9ET=! z{=&F}s0h1mWUel|lds(CqYQYPfI-}+$J?p|LJdL#7syxF2sAhK znvgI<)LA0D)ou+i8Pio6! zQL&Ps1Dl8g)q*hlX-OckH&EmPo)HNk8bOWSpcu4t1Rgr-v?u|83v(x5b}n)HP#Z&y z4Qz+Q5PL#>7p4GPgKT?$a@defe^hc8A>>7LAX6|#kiRdi0lh$}#lF3pSz-e)fa8uM zdo5#6FypvZhgU<~YCIF|lgSzz>NsaJe-T`kAWimyQANri{aNo!w6L-d+e`p@7+A2= zWphI11$Nh>9-mpj&~_;s5-FSHeMJ+rSMm$dwP0-(3(8*PfZA4-K^Ro0tw811r#|;{ zKyb4o+ahAeMEhhI7zKm}Xa;||!}(R>4L4CV!&N*fT^%QP)8T4hpAhe{lfNpr=t52X zsi`lv2V3a(*APc>R=N=pGQ=YE5^uxrfyIKf8=1QrV{1BaPwXuD-Wo1qCmewxFbFXA z^}%fm>onOqqN2tZV1;Ev);)2o!mlfyV)6(_Z$hXctwNZf@88(k5Uuy+`67u#zlMe@ z0@0q2w-95o%s^|SjtRKqcRb!UdbfB_nO&Nm87;NhoRuG;%waJcmgUOpCN!jDTzn5B z(cua7tM+p*iem87j6~(>omg@D^*N<)_XI-+6!*4qD1GM#{HckSA*yq@ZJ z1oKCh(L|2Q{;;E_9gU>5j5R3ps;ej-$&?ZY#_A*aX~PsJ%vC1~CuAcy1=+Os0P_N_ z$XdNGAk{^t32zz+x94y6rf~!#kN{}RG@?k(OJ5%bxJ{)PUUj((iJwzPFNoDqU z{b@;+mZ6}jcpCN(=~9!NmTX>UV=WjWD$IW`({h5CuCObnmO&*)Jd(u^EYw2@3zTzn zDZ+}Q%#H0pZ9o`&G9KYhCa0v;%leSIvIHGnzA|ia2~peQu;Daxqbu^up1`h%K#;Z~ z$gKZG#`?|=1D(LKF54b#rM|VZs?{w9O(~7QSmjY_i+nT=bVi;4^ai$of#=M)7!o?`rVNmfR#%nnCbO_VcDBP2vpE*SSy zYb0m5h(>V8%V4Zb=^_wWoL)CBvXXtjfnV1UJC+YiQ|7J(`zFsw; zJ62eDo19yp^=lex{f^_=qKhu?$J2DN>S_av;&{ICb$)o%KvHIXdUa@b{j%M$+j3AbQzX5xZXdm-kY@)SG4qUq z_fv&bWPEmeU#j5XHl!1?3z-T2?Yn_Xvlc}zI{sjs+{*x3LBxPOofQT8UN>ZkoGrNb zyfutT{t81HS+5>Y2oEi|U1NWhYUZto!>k1qM6hs!Uz9~X<-NF)C?M6KgVN$baVIGo zDmnO&pGYBDkhtwCdP^K#*Ilj{@NB)RepbEWzrVi;-iLoX@Z$pMHWnH|8nxY zyWQcmR?onM)-2f0^k>)|w|8xp^eB2W1DA3)*)`7~D8j_*`I(8}%suQZzXo`b8&w-o zo4)r-_@73r?p;nPHuJfsg`4-Go+`Vu3SqSmdGzAaEEV@p%Be;r9NhX3p8EB;RC?o> zJUfN>vwUzshAL*!O@lbXB#tn^o>WYFVwzQs5d!Zp2wd}5r@k@-tFby!Zq0AO*wB4X z8>t==l9bm#shMyF%SNT(cfM^%t7lH94*nlgB)o~saI6KQ^rJ-H%NUh-a1UwlUcKl1 z(-%G%urH?mf`R9BMEgTt+VuPWT(mqL>J2U1?jOayvY=9So~`;BH?S2`f+dF8&Y6T~ zUstkknWR>=0Z-qe%8VmX)5mg~ka8&u%7*{L*`9~wjmE6H`*W$yT^9Tj>M+%PdlsfF z>pVV2eC`9*dgzE87pVy8)i_yH3$S+^b_r9;I1Xoa(^q8+2=PMqK zbwfj+LR>7R*P6}3tJxnP-iki>4_1l+-bX>$pvW>!qji9Xu^t5mUM!k>(<0zgk54sU zMmn9&dxXMN8(m~ROwOL?A7MMX>LqClH8zC;w!k8 zw$9%*+tAcPzb;*Dc$C$-PbE6fi_Xt?NCB>0#G^6VB7Voj9s1B~?!!NT2 z)J*K|p8tq~OSr}Fl;UVeBcjOU+cWv@bHe7KWcl{1THK|x*sk;+NB*Gh_3lA1roJ>R z8YGH-b5}YF#b`fk)x*lJ_LU{ zsT?7gtExGj2_4T3-HY9)N%xC*7Zo(EvLBeCI5QuolHLP!DhM|^~QinR1F?71OChq9KWI}MX23CQ{=Zwa>p zg=Qfw@v1)ySrz_^E8u}RV{i#KIAR2jKO<%M_rNf?1hf~|A#Zdv1U*q#0 z4M9>W{U-tdSPdT**H8)SKc8~0dU;D}Vf?IIO=@LbrDt~JBtM{U_F&R*jxN6Wi>o5Y zoLeTvb?cU*Pv2|>nicQAJ~eHPNTf5u=sStz46>TWiBh`9Dy947-UhwHPw1(gHl@sv z&1gwdZkmPE8|6P#$h3NPzo_&j1?xi$D;!x{QGeAFR5wI7FL@jv7*}Ac_sm_@-D#_T z$DM!IYTPtEZY&kMc(58a~NswVY&Kx&Zq2rTH2 zj=}P4hwFL*o+dtPxp6LUCLpQ6eC2Fw)WmyKj!Js(`~w0VY8II_5=pv-H+ry*SZ^G< zsa=!bm{5M|3WyriW0506Ll-XQ1eKPkE3}@GY!gz9zkN{rdGDb4r=aFH1UO$F z3;Q?*x#9&95~3*o60Stp4J=xZ`yH5Rg=v|l0*J1RUrk+aY z=lQ=M34*>hpxu#2JG@fz!UUFuwv()xl)nAuQ=fIKINgE3c_qzra$8Nnx~Ukdc2O1Y zxgy4KU%`~CY$B|q|1gfvpm)1e7j!$JeC?wEqKmMVDtFv z*%^tjgTUlM2wWN*Q}Z5LD3T2_zDk;Kc$2|qf!gOi1;wh|QERVfO&I;nkr%QacjNYwgjMQdgsxE@7??-V68NKjexb_p`|32$p0xBo`*!ora4WPfS*Jwqq+OxHt+N7V}f8y9STV;F~vk01@C z9;G|+T;<3k)b4pc(Y%8&17v`H+7o`0S7Obs7`Fj#EzM?>Ek&RLact0Vyhv036=UUL*^plnjci zR33mT4TLyM7wUuuoV|tE8&_)HvxcMiZ38~>H?DmGGsS!MWZOQlNZLv4iL`_N;cuFL z3fgY$a0^kaf~>gC7UxH+=*L#kt8;Q(=bpHCr@=>@P8Mj+AtNnp&w19=-*hmz4`AxQ zId?_euO+?3jSEB}!ND$6Dl%;9QQ&>336w8R{wL^T`*F$veaUdxSSK2gdHsX zihVP4T!OxyM*KNmI4U67sUSup!HWu3G_xC?+eRJa-nFN1Na4L*LfTPeQ zb=bDZkfJ8;y2TpYAAx05##e5l12Xj#vfWJ~s=0VicB{VrUB<8NZ~3Y*Aqb>y`*_^# z3#_C8JXRq8@M84lXiB8cKC2A=91CzgLYiYPCA zqGdO(wrW{H8FP_jcTQRwg`dT+g~66bX`D82Hlr>YeGyqz>`Y0ahCDqaxO#-jOh0~s zl{rEF#B}9}e%yxA+l#oOyA@=K`2c-Z?2E_+&30_duYS_qXS10WWAbfDed}i=nDHp1 zvK0K4_En&@j3zI}2uW8=AiPMcB=6~~Yj;gMVT5RBa>CE6j;uNCLj$`{GJSnfX)x|j z(7B}|-A4wktYRSldyJ5gv)GB#>Ve$KF~eobOi&7i_pjq;S5qBMLKiI*fGG(pNJT@r ztsl27tNLmiJbiZ8HXyLmz+T571`MfcvS+Q4N&HQ+6=7leGi;QSSno!HoCH!KCQ4QWu&-}uXF=+wf!3nKvFDGCaX8SJSP@3 zr2~K8Gi+_pQ>yP&!D67+I%kLDb{9pye^tnf=p3l#rn0}~MZkz6HlXYw+&*j4$KP9| zGAPO;;ZRj_StuO$laU8JPJtj;n+G^IXe=qZAQ7pcDP>o&u6PTrhhp{lPr^#1GwDJ{xjz zrsE$iQQ~1epkTslL64M!DWkTh#}SVlwHana#|2n}C}|9~W#y9`vG)1u+Jq*KqPv?_ z)4W1fkIrs%K=J~nA|h@e4oiy_r3CQcdnXDwM#+o?<9bCnS0^anAVlsdMpOY~PgFS;W( zG*V*sWXDJAL9GY-J_vM@SPygJQ#IPIWIRWSug+ODb&F8$zrNA*FA<~u&ixe)G8X{* ztpadd>skAU01J5#o##-%?SvpB#n8i3%WU`dSQBVSql zDi7#Puh%xmB_XXrR40`cLcFtgPM7pNRLmJ;VrQ3H&{_M=&EY(@$w|cj-ua1#oZn82 zo#nj^3~rPC>X7n)egK*V0*9{3^hUe2QtlYA@nOs1Wt;8X`dpnWT;ZUVKg( zs;kqBnSZ)#?B_bxRYo8i5IF|SkilxDCw$7KSO?dyZ4#zv#|{}&L?VT|a-2>3>y$d6 zWc4NJ?s_|M4!c02v&m}|55sk=8(i@;QOoOJKo5fH(ruN9gzD+zpy}^BGyXDClg^b( zWIUI4k=V|)!rE9PC*nQ6_Az;L4l&oGs;tj39(7n0AyOPZPbw>#BD_LqTZ6)k)acm) z4HGX2(-F5zgl9wAAlr%6o)lC)N!qMGkM$S+xL?B{I42=8zw?_c3!Cd?hxeWB6$K$_ z&n@`-@_|tZ#~6X%?WAzC2l@cjWw}~{XKxVvMg^LMWE5azO&=3iyL?Izgp5}<6CwZv zEzc)C^d~+tvxnM(s;$?j#XLpqD1v#Fk5*7$!WF9+SWjt2&M7lOQ|apEs9TW4^uLNA zVy&g>YEHBuEy|GJy{lWpGkjAY^)A4_8R4N?WAhVDZtqVzlo-Bw+rPprvo=|)Asv`t zaNU(r83)#A4l2}4Fc=)<;fWO`>L<@pR>`TSF$fp?{Pql8@q9MRt?w!IE+YxgF>iDd z(!$3XrEVYzXWT()z7^K%d%9z;W!PuzZpX0A9bX<%958az3`k%-Qm*EBL~Xc0 z2)BBv{Gf*aGS*r#PU2;&u!OdBKBi}Uq7Ne?t8#wpMX4&Z)66Ga65AALa}PGZpA-`5 z?*uAiK}!UiOvJLe9Kg8DBVoktCmtP_JwQw!>u$vRTrKtSy9Gz08k{SS&X@^nh9dYn zuJg2JFWVrc#DuCX%y#RUhpah$_F6ZEFf(O8+13~M@P_VOFR-&u zgKSEV{D6_KOCg+_L_F`)N^vV!7-Lcj+u^P8vVzeFHG9yt{1jIU!JJ)%-7XG zGl*AXo8E$PX#TG$Y{4uq0z%iNCzjHc6m9|BjM+}8D$!@yIRjfa3&fr zVR&^2u!!YKMhg7PMi{V-o9p%Ag9L<6)}T+aOhgFY)`GQ~MHRRq$Mxd<0w)*~Bp3nF zD*t2hq?gD`JFZDbROof*7Iz{Ldpz*lNp99vokMSKEtl#RE)0cZrOu&FJL$zRex=9a zvvE5mxnJd+_(mheqQM_OL#C?nHYdiY?F~?I@i-^97DIf0cUvV{w+Ic$gyg~lmF4pa zoFCqpe5vAap5FF=(D;T*dJPt;-ns%Xisl0kq4DU}_|AK}bf_h;Ng}3!esRT@o~TBr z>5F`POvOBt2)TISt1b2#Zo_bZ~)?>_jY1(28+8^4~%Co zQa?M~6?s*OY+)nJYe9GA#E?X1 zgyk_359l6PP0$;+&vn%-$}<<0oG{0K>E5mxasVpz-jhG|MCJI$>l$5K5ikk$NoH^w z)#m)>Sv?nQwG7`LoJi5$64uB_$a8J{><7*Q<+B*MRZV0E^Qt`YaUwChbS$5HXq|vb zGDw?L^K>_?PO_HYo$Ev3(4gaYy^E5SonwutBL}d{osB=@)q!f|!v5MEB_&&^tp@B3 zOK8JIfjF=tailBrrUkAHNR$mdNKtm*d1ekMz`<|GkN15y2BL~OYpdW@j_irz%ESQ! zU7>^_M7wJ?V^>d9h=IQNQ}+RZ61$z@ zV8mMxGHr=evHmu`vS6B#bDT0^t(x~%Us_bJvJ6`q=9rZ2X$y@8hshw^k}Y1kyA|)j z2N*;@^hiE?q@EOOm)&SH7~Mw*raO&!Sd!V=f;6X@yhEc3euWFG4#JcoEd`mKT*tC| z7(TMyN3++@8OK##WY~MO_7QUJz5LkepUs-_dule0QEDj9JYpt_w(mrL5f^b3Bs+X%cc;sSyUm~L(@@)P*skK+lmJ!g4 z&us?JeA*r4B3xacs3cWIlg8`(wQ*V{M7Twe|zfSVB?qzI4{2()uDa=t@PaFFMK-TkNP6WLv^lO!u1 z$Mk`_U$D94H97Q}NwvU77{koICN@MZWhA2s-f26y+)|h>IA8a%gx%`m<1^#Jb5~M5yd(J;J#7G+EWJ`*_ zXx&s5(5>S;m?A697l&XVfJL6HuYIQ1`xv-+){jXTkOY|b|cOIYs*Pb9_haH%!4p%Wt z+K@WtZeG+E27^zKGaTjW_l=dJ9(^YjNoYD$;~rpgLZ*ycV;z05;(m)6^d)R}WEEaa z`ZZ|MR1sRNg|M^esBku@#YAG^pu=!$RLIl-o5UFg4Tvl01hunNY z1G9WJj8YE4)!&T`8bFQ4c@zJ{De@UC0v*LYy z7;O!f<4`E_e0p&wGd$DlJz9CSY3)EbzR9f-d!6QS$ca=@@Q>WBmcs;KUu~c_x*TcB zLMH1mG>xt$;wg<8pZax?OHs{s){mkfS%hS)_nf0hF-k7#`1lU+*-Zvu5lV7zlaqz;AXSSu@hOrmAE9h~kWbrq%xtn0 zg$Fdqm>5zmYZGI|F(8hqh-c4;YgaHhG0i}hA?WnzG|B^^imG4f4$)JU;VsS z0+nyAcrK?#94(kYxB9gR?zJURsu~nQNZ^m>FZ}&S5LJ)@>wgVEs7r#}t3x$np&eSV zz>{@7XxaENBKgs$j_-}Pz2RZ&}lXD`Xa_u=U09?ZqhLGCH2}6K|BABpF1xJs^ zx-LwQSBmMdmpf4s%ZUA6f2PI&&^kJBo>nNJ2zFRkN)P`rLEW4}mNN$Gs7~I&9R6&|tZl?PebPbovwa*WlXCb7!Etg-L1;LDE=#7x z$Fw9V(9W_w#9&+NEr1j5l|lYVZHd5oVNpN3Bz$CEpZ8#hmFQr__QS)}L(ch5HS+qf zE93sSh#B&Uz_kEj$mOcu7_`(OzRY3A$^IhDW%haKO&l;Wdepp_EplF5PkvIIl^`jk z3-_{p%)^Y7unF{US!0nZ27n0xJadCWpXaSC4F+i-(w~SgcAhdDbQfFDO4Tcdh^7ov8QVc4kNbQs|np zM_vkthOhR0MtEju_h<}nT-OP}*N~XvTnFjVSV&i&NSTM<2EjEC*s!Vk+%b01tw(_5 zbl}=ccZ+eWnvU0Nk+Iu&(uVh88{9NkGEwf+|FUdqd61kRYv)5C1y5#!&{p9gWAxUR zk;_p$6Nr~4h}wMA4a?ucea$QmC?g?XzFlHiY^O!8AFMS~+bpJW%iH+O2NGO5!Ex?L5}`j^NfH;Mgg9wEG^QIf6jbac&fXWQVR1J9}7Xj)e;mM z;ZCghDpvkxG$G#~Y66AQIKVkvr$5XqZ)xYJ3O4bncUde%i*m`rbTUYG86HUx=0@Lw zo2^bjAlK9NT)ZWe(P*zJ#myUrONb$E>jo6H73U@a1x`9DB);-wZuFdB_|*MNzz%2) z877CNzu^|}Cs?RD?I&AvPZ>a1Hun8sHwkn+xptZ|{g`=Ev+6pSA^EbGY)nS>{-)ET%*hjQ>e{<@b}- zcpBgq*dz!ZaLyWphim2XLtnErs)atDE`}m>;u?qh8*B)SL$rl;EEB>Ql;{l!)sNK5 zP?MjdpF2EMXsNN?3Jc;DlALe)MQ;kUYs=iE^YEq|ieN%DsN>(r+`GP&r>qDFyjB{d z!qQXvvWZW)0W=8aj95cgK>2us>XLA%rO2N6#yL#1>AT<3QbTKO zi!4Xi5kfu3KhDwFC|l0#wlO-%tqhZbEB4&f&4A%`Me94i5<=^7!HXx=%h|T*>Bf2g zIEaUG@^MN;RS%q#&lMO%Vk*T7fN7C#OE6A9FSTW!Wd}B!x?h3WV7?#qm>~I{Q};9KI#hla$L>Xq(4@fHIi)T@>vhaY9X?pqW1F}>^PO}?*IuFZuj^a?+q*O zgNni;Jy4@?Qs}J_M1z3-h<-o)M$n_HF==CW7w+u+-aBM&H~cuc&IDxA{Q_UMXr3C$Y{JG!O<81=tmiDgmcpZ>!h8Op@YaLQD zTfi}|36Nfabr(l#UYbCqsDxnL+tP{6vU2ov+FdmG#v3L+i^p^M43qRg0^sfCpstYv zg{Uv$a{d>6E2cRRfJ|7b*dl!|zYIV~`o2I+GL~tjs|y}8o6qJ>D?wTzBcZ#~*3tdF zRs52Y%S&=Oi|caT_jf~5FPRi>LCzglED6#W>>G)o>HZ!;+7EUDIP97*w^~$iyy*G{ z(180V(%1liWt}7attPnK2~Yb{&E!F7%H6ywV(X?daj*!spFVW{u+*KNY*3bp-qz{f zET-_EX8=$NjOD^N%h-NYCgGXc=u68 z;&jve?^t6~9oNu`YSXZ}yShWai)#eZvFOoqKin$;rZ1d*Wuc#&O>ia=OtRqt4tVl1 zhb@kk0(Q#fabGqyxx2&P^Bx*{qR`8**j451)RPtL<10ZmaIA#aT*WQ*ug6_44Du(Q43AalAPLhcS-ZjK- zktO{Y`q_`Crl)H%y3-txxr%I`KeZNtf$rB;!9imE=}cYMaNWjAD?)eYbnOCw4SaKs z@YAp$yU2nD-Bx7FoZ6wOlDv#%1I=iMqLe{AHkKcx(rsOzEe!dJf*F%XVsVaHs_}>5 zxT_F&y-p) zjrNgAp4Eg74C6-#f1y-(8>lS25>I|p8_N3$HQ<~T>h?aeAf7CNZ=|(r1Z~lfW=7mg zaehlb*5RnYr$vS1m@wKSXjRyjvCQk?l?x#AO!CG04$Ae(v)8m6pYMWJOvR-k+RPbg zXv;UU40Ev)VQb3T{P!HZ(Q;O}eWCBfGB~5#i!BPy%Z5>4(ns)@SlFc!clm)YV*d=esU26c{dg3?a6VR$$Rx+3X zONxQ9`snle4ZCJ;B>g;4V>eYRq^ZukMM+Q3#k6Amvh%7;n4WvS<|1+vrv#&@`*2`u=iS8KATA9G09B35&s=>3PUGb>J&DG3RXJJTT!I-l1air%={V7`0`^OlLmX+Qnf2R7V(MvH2rU5-?QjENRJt-O z4n!Y~?k+j2z|@El?*}?Zxo!+1n)8VP`?xJqph8Tup7l!%cnUiyu1dhNqreR~2T7dT zd`N-1Qw)3jQ11j)i^;}~?= zMszXs^sB@Qyk<@#Uy^(Zf!)k`?z26>k%7>8Inrre+`(L7xn74db8yh8eYMd1^tM%> zABybsut)1VXn+fO&~cfu(Cr_eY%QIx9AZ1{J}w+Pw6QqW`y`Q1L~ znH5dTdnHqh6S2Ry$}P@uNbXxY0bBhd`fnG@Qp^e~yKT-b0QH^?Sn>3vpA-3L71shm zY#D22nsn~8v&ZaU8NIugB79Ef#sCAQHd5>%&&b*=6sg#CtLg=eBq(FOST)y`%M^(O znSN&t2Q}Lld~z+kiJP<*Auo{VkL$yYh7FSTOMo_(YuJ^0t?0jZp7fK=r3Sn>@>eBP z`i>cnC5}8Os`3Ib)JKUnxwipd4AG5~e(>=BFORjCrvm7k@=@kdVx=c0#(Ft=sjnUb z)g`_=8Ain2)?R8Dz(HSAiPIMQIuOncj08;2tGNwqMQkbUcQ+r{5Q_c>y?)oGYk=N9 zEU2+K%&QP-k61kt$DF|m>pfoaWyT51O9>>WRvjHo*9N`fa&WGG>8h7)?8{XPT}3)2 zJyH)yFXYf(g@?AMa4(!0iIqim0RAWc_;Xphn37I*8ju~l8?HpQV}?vTijO`6l~6F) z4}WjA>Ao(>Rp)cocig;ZR53>|M&YFR^N>$yT2kWY+u8m0HY&l}HG*mX`RY^u%^@r% zdDe_{=bnWc1oiES7WLQhiSe^rM?%YzE^zif{2+&L>@XJ0h-4F3@eLP{#M=k;<1{f4 zoTO?>=4^mT2O}ZY@ykllwYOuGObX7B@?$YimTX-GiXY zGBM432$=Q{ijTqAo&~ma5tQ#wkDs@x2#iO|fhEE`?ea?M& zS;Zf7f%a{*%n-#*f0yKccESk5TPRrZj4d7@Iap zKs2M|*gT5-LCH1#Zayiz1YxfP14DVWcPAyjg~?W=7sMw$QyWQ!vbIuU5?$#>Z)JG+ zm1DefZKk=+7dck2t2z~5nwa~|QA#x-uLnv!{W%dr?fiZaB&7_pPbcJfGXDIIMrgY( zg@+FT-W&qmf}ox-F^z^cGp1Pu_v+AZXW0XC?Ns5b zKcL)88Rp~uUu9%Wsa#Svvt=kg@UgxM<@3FxL{yX#i-;6Z3t;K;<1ARH_HD8H-Oa|#WDPvu!>7q^8iky{+{4q$2}}kwK?#l zh&eZbb|AvQm^sN>?@FW4WjvfyXq%P!n=7{GB zSYDT{4RQs)FF%>?iiE>rLsD(4X3w8a@(mLeNrYZ(jVKa>H!Uu6R3~yQcev|(Io2+ zE3vA@$Wpn!AxJ7ynB)L*WZOhYHelz0+$Duguc!_C2X;?tFg$!aHmUfofdlCo-`m-L zS>V@D6rX23$KR+#hADw%M4mS%-7hm)_o^2(j2x$q21fBihpD%P?2--LcvYGE9A=NQbeuA8X>2}de(dX5YW1SK1Zdlg@C3T|_fXJax z%%Z;jUim}=i;u zQ11zE?ImmVZ^4)9)k*b0V8go&f)%Cr{-Gcfp1VU>y3**0s{G(bYpjur>reIC^~e!q ze2qhr@`UUATpMd>jyz_v(T-?nj}HXDuyr^x@B2G09n610g6%O(vXaO*R65fMPiltpXgO>NFp-JnpI`x z-|ixrk=N}r1aim4vQ}P?I7`rBOG^YyOe-S*)Lh+!jdS$(@73EY>{Ny~0c2M1bDy-f z()2Tvz1P`pk6?worWQXx!`J+_g7D=YEKx`&P(It{hC8A92{{CBv4y?bO)t?vZ!RnH znoW+f#cm<_-N`P27<-7hhBoE0-5IohUBDnT++%%=fDh({6uXCPJ~>lhJ;g>5qn2QA z>Hb;F?M>UGq49AGupfy`GFhd4_dZ+7q~XI*tlt2wMOmIBUsAm`cva7kkwFyOb~-~j ziQ$vTW|7B225-AH9tTodybPSY9H3d*H(?w zb{w7UJ+_i@Zga-Cq8uf;Jk&w=k2zrGC-TN$RtS947M%vb%00$mupv=x%7R(uyP2X- z{BdS0PC#OpG;>Pj@J~!OOxpvghbbXlkz0wlJ!QvO3W2pgBB586zF_t1vq|6CqA@mK zvZnTCh=`7(EUaFkGZthBN65Uw>DzNxP}C#=CME<=iokl86!Or%1L}$;%b4fAXa6$& zihU8`vXQl*wmdAeZZ%jV~ddFxnE2taEG&0;x=?| zJ|eL@8@k&Zy_{`?y)*m3m`u-l=t0{uAGc%~+lS}*Qb3HxiI^2>-ufw;53jJTaW$)} zG~o0DByW^Bhq`FhA6SS!5+GMY-q5_NF^{~6px;`|(Yl-%fKHESk(^gMT4Kj3K1s(T zCjFk!uus&osi;h5R8n8|@Qq{$lVQX@ z+u9Ye)+~f7*wUe9PRZ84ezqd|HD27nF#@<3MxJNWYL7F8!~QnBZy1X2NAdD*6>PCe zOB00E8~LJX&Bsa3Hjd@hH3fWs#uX_pWTugw<(-h{ChTRH6+cmFFl!uQ0^eZU=MWYJY6F3P*ELNA-?j%Fe zAniEbQWH1^)0f9ci*gFZ%5^LRp6(Rq+F8O>dU91Y0F$@5fdNLYLxD8cw0ivfm@6se zUY(Bb)I^<{zT1N{7@oZkG)>tw;4B{yss>(EQF83RYd*Q%H^bq+z8!|%63T+bJZTCwKGXQGTaIb}viFg~a3Yr+TvjDo&oO#8&d2hY+_hM7T43V-PxIm`$|61o z!s;W)1ebrx_V^M8h=K06-Bz9tHq!~HbWMwoF=W1-duUL|WI#I%1i4F||9)NASD@u> z!Z+v9*_NsnKBAp6=N=JmLE@m{Z!&GwI1DEzslo)t=Z$@PFuqi4f;Tx+RLQK%(J^_{ zdxZz|^j$N@kxu0kcnLx&NUwsih}6?pP&lV%L1Q#3JYJ8)!2qEmzFuUoV4Fgn##vm< zDQ{$3To1CYAq<*o8M&r1_}qf(x+l*<)82UgoTWClB(@D(XKeKrzh_iWOc+C#a@6e?n`1*KXB9 zm#tNJKIcj8uu!8Sy+$ zXlAhHbwT8={g&tfObcARPepJDp7&^;yX83`KfcrBmAaVK5-x|-^b(@W)KOEDX9n>h z4w8?bo@^GREN!sR;fF5?ERRcxAFF2Z&2DF}2bmZf+Q?;rqc@7JX!e2;Fy{`iWSE+O0M;40?ZqIp7B&^>{FXF924v(#Xxt5im?zOaLG>_-pB z(d`zNyrp6|+lVVACMQ;ZMmgwCz-(gpfM`~VlTnp-;}LtW#LqNZ)h7I+7_h*lizRSC za4EyufIZ?_Nq^m9Zd&FibI!IhH(zrSD>Q`vh2yo8K}W^)4k7y_58r#VDSu}wIC=0? zij-*L3$WC(q~!ZM=I2>Kz3pPoP#Q;)l8u0-1$wZ~NSv@_>foh!|G|Qpd;4@#`azm3 zw7b$Kp@3)?s*e;>wq4+9TQSA;G7bNvdnh=YVf@gNxNakg^T&k|xX>A|%BQr<>s|Jt z99G|WdgE%O2XW5vveh^|`uBRjOGBo!P5*+HMz!qPv|crM>q>sbdj-_p_qX%#1SWo7 z!6V9l6eq0O=i4y_oz&VO$8DNN6ga(n{=SVue7ZK`EGE)MrE9%vb!$?L5XKI6U`EW7 zRK#w_a9gy2QC0&YGa=+Q?g7IM7b6v}dA#Nm5Bztc2JLoA_br*oT>Y%j5$O6=7gl3F z)gy8E=^tX1u6!-cxNfli^U%6-j^mYr0EOEnU)E$J>C~Y6LAFG$i4IhIv7^5I#U~Kc)vI^NXrp`oA#`BTmm5E82 zG9B_%ISIXc%VUGldHP?;n{Ejbhs_>2)<6gk{dvgC zcaM5fLcp@fpep~oU=zGSO2&%_u%C5@p>;w_I`{X4Ii-jtEl+b!Fej4glW<(M>#z{o z52~|2wN+$guC@3IJ_h9!5s^2k{|NOMdy!a|JAOsc~=j$TTC8h((o}S8jMtsYPV@mKF&@{ul ziO&`|%izw{3;j;K&blaQ04gz3=C6S~5(zI64VK3TLe``%!KH$wzO!d~IPhNB{|WZ1 zYhCOspY-O;n{jf{&nXb*<0l+J$RXcVC#G|^MWG31F9;^_P~hyH@(A-uR#4!&b2^jt zt7NuN^!mVj%uf3@C#)uqS1e@GWwfF4-yC>jE5CV#BGK9Y5vapv_5;! zh^LoQR?wfcGx-S8C`Mky>>|b>RIDJ#v+1s>|I0s)I)YH9-%<)`1CpOlh8Ebtnq z!omCz^8n%edY8cAfsjAy9)I|-*i0?lgZd|n^6xu3MBJsR)g)iB-5oyzb~};{w1lKv z@1KdC@Bh!jC_A0fD0M#E6nT6Ms%-KFohJbm8DL0SeFP^hf|5Q9V%J*xa{Jvw`t)xW z(vOcJ+<{1X=sDHjR1e|4WywjHvHy)yF>1|TgBL-Q%_DXg>4I?;x7gkdSBsG5^jE?C zJq>EE(bfV!xq`BSfJmeiDS%ZSuRi#GHeYv4b8I!zd^XB2>>fXK?xp8_&VljO!LzTB zEXG@bH-(sZJWncB>IN`(bC)@F&q|wBxMW<0{U$z*Xwq=#*O^yumPc);8V-fc0Hr<= z>~_*eCUM$a^s&_=;bL(^FsGIF!Ow~tbyGQQofv%MNGCHKI7Q!eA_Z-MUHt0~1tvv- zpUw}--IWmpM?jV=`}3*prLIyll=Nf(+}k5cvY zdmmV+z#K+6rsRFhh?fv6USaifeR&&G@vO8zy`8qgSJi|~VAe%ep*AS>bjB&y$zxu8 zmqy-JKiH0SDTn9LBzPv=7njNKj+MOS{^L4za8ju;mw7tEQ)+YKcKC(n4TYQhatJD= zjzY40jf*Ht^~+{}Mze?CIHw56>V*z(6W~{w#<=aAu&IgH#i?=qiXpM=$YpqP#&>Dd z3r9_Plg}zN@f!|r4bi*j*R^j~0o2V_zVO-Njt;mz+xC|^3qInqqmv7CA*qs{#uMu!F$ZFr6hdk6*_*eE~T};1?b&h zsja@U4hw0vjneYob}}Z}1|32sjQ7e+;aP%g>XvXhxDE4XonDlgck&9F-lfvvs*#1q z50W(m(|Qy7@`hSC(SH!wFb*^0po*zC?e>}($4#B%!pr(&R4 zxfhBvGFiC3gw$fU_BGV;9NT`Tyew2a^vV(Bt=FZ zta+sO!4og_Yx;0dD}(NQ!Br=FPo@fTCW6gP;^;-@*ExReHQ%1GK~WWC$QcMtXVsyPXb$dK6!?a~2wGPDYPYO-jdwX-u>nmnfmYmG z5ZX=B{rscjszxaq>YPU#(58eRaT?P#S%2^MfjN4gN&!tq&!lRceg}(~7fD=3tjPTw zuaPheHe>H;(?|4n!S_G|n4ZgFWky9D8~qbD=^4K(SyAW&MB~CsW_W34qZ;KZt@yWv#ix$VH|$n3Fq5Av#aD$S^Hx7uJyvjLUJtZ{14NoOhq{8cyz zH`yUK&OxtyGu_SLk|#K0cj|@&nNDGgkN!@<7Ho;E9}8!7N%Y%o)3_a+vgVk9u0P=2 z+WJh3Fc^rT9ibSwD8dA4fC5_P1cmxkI7MXPP)ayVh4%mq(-zD6IJ6sTl|92Gc@92- z=EK?B1sQy_P496cQ)|Qy<6CY9@zq1|z57 z7+v~|rzGz7bgLKBMlYi@d{O8S2ygbmMv27I038$siDXjEAD0Uql)jyyYXh5uhd2*q-D#K;S5x!FQqGS-4#p`O{?>tP%oHf5pLABm_EEaXy)uAb+bBOuRRQ5S^_<$XLheHs!^ic}+R`po z&vy>pa?jtqEzm4sQX5KA2$JD?@r)lI-yHqfMwxL1SaE_} z1)#EOP||KS^lbZ3nX|zw1+N0-82WSx%%vDSb&Woi!bwH@z~lA*N4>*ye>q&l3_)Ur=!YIsa~;2mkP!1l@E)|ixK)GFIIvD1U{s-*z=2<9RO8ZqQ@>U&85+WQ_(qm`(>05L=IQF20V;n(hZE+p3IVgyh zo19RdS5Eb(^cTj;LWG0Lq$qL-bYkJ~bH#>icAe9vxLtD_0^(_lS=MS(=@W=SmFbsX z2V$immwsNtEXS`3+n!HEOV&NWBsfqd=R(n-cm53D; zYAl!6d?sbDjnM^HvSZOA_kDL%Y=;9M4lAyvq_x(SG|*yB`^)YD!S^@m ziI#{mkS9pRmhgUmX_?=9`zw1m5NpvI`|`~#i$@{Kl4K~+QyuN6eWZx1(Egh%_(+tE z)%slT5<}m%TZ2RM_Z@FOMCKsayh@twpm}DEBg!=uhY?VuKyLc?ucEg*n~Ovlkh4dU z2rmrcm0f_flU^LP&Qc2!!E!EUjL{R6Huo3ft!c?EA!N;uEsqR^r6Y@M02B9Wv}hX4 z!~DieCMUH&AO z(PdR&vxxgy$tiI0MZLaF0Zv|DnNs*)IM1kEX;g=DLCVBq!BSXei`t7}(W`xp{!xwg z&>>9=#p-m;A(Kjxl_g;g=`y1%4voPFy{8*}PTxnfK?{{HjZ z!*?-sw3M|8v9%LNE>Al+gZ2FB%th*3h#|UD#rD)=#Wx+HLN1(|P%Qr2_AxeJo$X^n zAl)bBG&~Omi;pt4N6rV!C&9P=vT1>NAlFB`t6^UWnctt@Su=If%>I&jA1zsk?@NFT zIHR%eu2Y0Bz0(ZO)%Uk=ry?KmR(1?{Qlr4oFTCF=4X9KND`gvh>meeq5W&_ks4uZ4 zzufNWH9%>gpeKbc7{N9q#g>|dKfC?)0-~XkJQhfw#Q=PJuQ9r44p@lv5V@w{Mk=_C z$BwOh?9z0S{u|J9c?(X=EnMe-Eg>A2{3^+u2M}b7_w^i9wrq18P}3SJW6QeJmExwu z%0>NN8@p>wv-ka~`E$5*O*Veasvh$oXr&AT()Tb0Ve*FTb^unw15Ws`-p@*2dX#Q1)1N2}hS9LhvwL zJnUd+-(J$~533~+yZAI7y?@418TC^rMs<_U!VBO1rSY($3zxNaw2CW&RU;|F(=wDV z@aA_cO>F$hq>R!+X)hOs@E6dss{LZiwEem%_=QD;ov!$tk7U)jwy9+KIfiH{tTKm$ zY_JK^-SX_AI{gthRA(t-C1U7mOJ3fZ@RxIDX(}PUm4?ds7wJnQgC2}GN09?RpSWNw z-GaR;!{;!Mkt?Jl0Rys&z0w^P_iBcynG(>?s7M}|ALpPU3YJ}!>4n)e=m9& zGKW^8iL$gvzAi9{3XgRqC0s`60!7OM(WC2daR?kn@hn5)L@;V$F-1PRM>8ZP6YKXR zW))2H2QUBJHxF@z$X2H+B8Q8vH8Clc@PYd*zeH(ins@!cD?%1$*1gd2xj>K7nj0)+ zcx&1>Caz5GHm`(X%+K@a1!TagcN61Pm=&u#GRV{nk$_kC9wg9Kcq!5Y=fu(p z%I=$BU!nb~g-d8Pq&x2^xJiZXyE(wdnU}_fY$y2|8E$;8bwLdX9`Llop4&i%l%0?X zKis+eSwY2HiI+)A8U|>C*nSC7;fC0VzKS+Tvx9qA-H#Y&N_}Xnxdrg#Cr&d&rxOH} z#aFL31Lz4hTj-Ll3V8w~Lt@9J&U~zG3i5+91v_t@+LoV-c|L5`x_|0~*dw-*!<>H& z%X^=_!u4-)XI~4^bG3{{2hG^-D9?|MT;3FT$6(d;NtZ@nNlLVj$|ae|9NuSuRP=-i?E zBW>HYl)4p*yw>7D#NH?Pq z4q-NIuWa%^)>X5m;I9~J^?0>>$4De>>K=bmwCHk1(!Cs>=373TY;0>q3_7=GJdSsF zzfiU?Zs8~mDuqP&yYUo>s=_Drj-k^By66MXCmg24V{ky{${q!`x7@%7ObsCtU;^WY zW#=41hTYqLCSU5htj$>bsh4Y79_4-gu|j{D-C(adMmF8TaD!9P!)eHn4l6XW z47qx^Ykb1+LhW#fwuUmjdjzi%`JNUh;0Vdk}|^>h-9bUIqM5toc8vUkR%MA3yB=d z$d+;!u0~;LZoX{sq@+-(Do59V&$X$(Mg}!_> z-H6lm_nYxrPH;#uTB?>F_;a)mvV!yzthzfAHXb9t35pz+M^-HsB*PE`J5MWSJs5T$;4Nb@75h`_|hJ6sI> z;Phx@#-G_2%jLRCq~Is`D^6z}kd~hqE*i2;4yh(V=k`Liv5>Ap0ucRN~Dy3=0p^;qOxUTxexfn5l zGH#bdD%x1ho()&v<6nCO*vM%0qO1%l@P7X?`%@aiSV+ToA;`ueMZx{h)BUtKT%A zT>svVpbH_-D8%1qwZI@r41VVKL2Gr{9Xm<4PXW;&Vig{r7O=fA2?YQTC0aM>rpE8( zIV;y|#g@{oMz7Pr{p$ZrszgYd+nGc^O7K5{b@F*JJndG-@bQe>9c*mO`@%5xBot}H ziA~TDcQ*j&$?`JsLyO@F#90^lAS(fOAh-jB_SY`&Ag20@bbm?|Gp(#eW*94L(zqZR z|H>t4{kltAoH#X1Frp+qyVUb%B&Cza^|G|31XH%;$K3JdL$`CPt6b{K@#|XzdjAhz zw9_g%P#aVqGS__SKklW-Mo4~jV0uDA(-jA4MjYZHF_bYRo;j;}`N9h=YgMB*vSsoY z2;LQg2R0H^j|(HHezjK|o+;PVo5A*!BlD8Ky2$l-K4(Z2JJjiqc)?4WSqQ37^qs`R zEWB1M6EJoA?MSPT>|_|V)wO@Ye}nSduHN;vDFeQMv0azbdZf_c&IH=3f*HvIw;bVS z**=DCwb3B+=oiMO1Wd@qP1SO#{7(1e&N+^OicU#2M!SaU_D=NsWaN&YDoD!hKo@=Z#is>~u=&%Agdf@-k2 zNpaiWi;xL|O?emS&)87I2nT^*nsUwx@ETsK{>E^b@l^qmpq&<(fsk#T|lRI+ybgmLWamZu^~^>lMPL zb9VC0?EMe)KSs%%bD<#!+%W*El?U)WQCIqF!;a~sW!(Q)xgSr)Z36(O8Mq|1J%`JL zxAp!}7F);dOaG&07n5LVgp8GRr!XxE_f8Hknc7A)50j9WOr|9jxNjZR;lVjj{ndF- z1TS__KWA300)j9as&3*1YLmCV-h|HBQ|+ylt3@A7J0dnGMH!@j5+H1y>(c(#eI@zh zWOr7H5?6rLK)Wi;tTc{?{aC}jl1SKp#5rnC98i<*u7Q(Km2O6S^(RDZAqGi_e)ReX zrMwEgwtH2qhZ!^atMe7f8-wye@g{HI6=2(@14BMEda1EESL6vAO4x2F?tOGr1G6b4 zv+%|sd`AIhHhL5o3D&Bnf?MPY`9V@UR-*W#p)24GA6w)O;gp1L?Jg1eO1(k!JdA#n zM(lZkur~dia}R_XSxy_((GCCoxBGK7ie~Ne?rrym3c0}Xqqj0i0qD*Cf_wHx*mFmV zdu}n34@(vih8+T35_wtNjH(;Kbz`#DzZtNBa5NIq3BGNiF?Z6NS=`HKwG_=aF)XGR zSSuv_DxQxxIC_BEi&P!Sna3ZPdLJ?)9JOv!(_!a$8En-rh2GI;Yn!17hhB+Zi6J)f zl)?RMPT6bHu^UJ?ntRDo{o-v08S>gt#ubl9)U0tq+?fk;D8-#(uxL2PGI=G zJ((wfCqiZcGU1-4-g^|JNoa7sq~Sy^&ZFradcE=FB@sv1sxmbA%02A!U5Zub)O`ET z=cW^?7GJ6Y8Qt;tT(TZ$njw?XI5E2>c0~AuJN400z8j8BptMR_eu?Eauy%LF!Xk6R z84`croVdXC4%MSou3`A`Yk9~nyru8dv4jj2#O<>fDb_KAc`zD}@H^?z@*V8U=*1kh z%Z>rjvW7!5m2iG_siEh~+4R%l;^{^qAUo+u96ys+G3ynar>4ubx2Gh&W=xWN=#D>} zsn@M@Xc-yQwO4}NXFTkz2JD8LW&gXwkVxB7%%t_-EX7*mFzu~3K#Zy~Pm~@MSx6nz zuYl*zYo~DMm?BF+0t_h$3RCyg>$`QdFdS#<(zQVTS1de4jg10$@OF=qtF+0$FZJH1 z2^8_=H0y@?&&-7!oTlM&p26gF#Fkz3OCwLEGXFRsk3;2_AUt@uw9P4Egjuz;R|lwh zcOmqGr?EEf7LK)=_XDhC10YBwyu0jB?V(q` zLH|ZtB_Fhqj)9RGV-VD--#f16V;bBEU#zOQYrSfaaLz1aZAf^^!C92z$B7qn`g1h5 z)0|G&tQdeLzrJ+}ngw1|%et$|f0p+qjDp}JrG~ZNG0-pLW|o7}1Vf4_SxMXxIN4vq zF{-E<|5x#Z7%1oju9&13#5HyGH}xkzeln!X)I(VUV|#p^r(qKJ+!Ejitd{d}L*+2w zOi?Ns^?6xZ#dP{q7__nbOPl!Qq+=z+gzGM$`1pGzYJC(q2J5b$rGT1>wnmlTQW4ZJ z%n^@DUREYxJzon1l+DT=YlBgPjrcQ4kpQIiL|d((N^-B}N(~;L7;CiOg<&c?;Y_N- z7w=J@uC>alY}ujpqi-C_vp3o&>dUt_vJu*!2Y9M%tz(->YyKaTf^*5p_Gna4ce;4T zg6_SSX1O9s4SF9BPUQlNrW+CbrZ*~FX0NQJpT8!UnhJ$fJ=#9+l$1ctlh3$TDfl2Dqh^D;$WP`XmbJ1( zbyb+{5ztsrChUP&FuJeibT! zEUwM7wvq9S@{GmKK023L|KT?i_iG2Ts;XBQx3U>hzgY`!x>i&atRek<14|1zRJ!@P zbIoTHFv=N#PZ+dyD(rZt08K!$ztCJ$;zKM5UtH#3-URk_$~8OoXj5Ro?XVT0q=_Rm zNj1`VOOJewSt6gUaz|U<@(Bo_jbBZ}(SsMfIgX`Ms^c*OlN7X9@ZVG&c}*c2k3Vh) zLCh_bRZdX-tmE&eP&+)@G9~WW0XL4bBgI}4h;7wD{XhD3xXXeNfjAowEi7wdp?uMG z*o+J>=$HQ(vl623Y{hw>Wb?<|+f<|_$1wYBT2LhUw#nz(c+4AK^XD?yHb)TUEbHp` zB`}j@h{##^TmnN(BaR$G^T zMj4CHQ84q$QYse2kih^@hl@;cVMuAR@iVGlxU0^nTX~M@SZ!4Gk zvs;4bnl?n&ADbJ{6y($mHO=mbP&ZtN38fZI;k@X1kEs~AL$ud2%_iM=DOs&4w>t3B z7qP=|Duv$gmwT474n==s)RfqG1<&fU`+9k`kyE&gq6759?eMEJTyD+1bK~jIgDNU$ zGVy6o(2MAyeOnJ{!ZW|YR4GU8pW8JGJu97yk+$HxQ@Xd!EZOUUpe__{+~JTm6rHGx zYa6Ug35yzs^k(+^Vv-ZjvX=14ixQdf7Oq?;B&hwfOv2_r(#8z(WlrDm2Dq8TIyJiO z7(V&~QH@1t5_`6+W0^plqwcurO$Yg#EIp>z!G-ECrCxudDjzs%m z%6a9HnS(9hCIqcRCh~q(t~F}=?8YbLI-_f2a=MrUpDIkTGa{W+_5h+BCt~kC9Z`#8=HiO&dP|VQpOLhWcx9a33VKjBGcY@}-)Fu3ar{6@ zssZ0lz&8gl45I}5(a;Xd+>{1?gXKj>&~XNoBYXpZMx_u4 z(cAl-)CB=vW=;7rn_K>RU}JZhF*N0xf-Nhz-~^9`^RgC(P&b``=VIS?+VuRlLY=J3 z5&sNtP8JMV1O<p z4f4gW9WkAm1$Sx7eLQzw4 zJ*j9^wAj~jgpJK@9}Wx;GCF#sWy^dMfXc-@KTSZ&}1gcP>RmBS&5M zP(g%sisw!H>sSEKLdpUK$NCZbZjgObpcx}1kBJvRz7hM`1o(vOkbHzioKr5B~y<&Ee)^poC9mzd(4BHj}ii^bt@ZL}Fi|GlOz=19$EB7O7@>vSbt zkPar!7wOwDxh0vFMml(-b}gPl28teHMx@Xk;!HfWOu*6i1zY6QadR>Jm?~AUc#>I* zC6^WQ`B#g4)WkU$NiZuocxx(p0TpGW1#+jp(3CP6XWD(pTjqOOsLW)Ve=+ z{0dxsZl{Ljh|#QcMw&Ucm_4qEPU?-^$GHsGrUp$YD^V-kFiMdeK#AnKa@Fk?X1MQx z*-`i#|Er5qxbqRSYM^yoA*ovE)7Oe0;G4G|eZGOJR$ACCehgr;XeMo{ zi_8%~CF;qP`#YPbI^Nm-YfJn;zui%rp~^4qGuSO=mNO6C3faAe+a*&D zJTa{Wxg-++-@<%71Dp13liA;M_#BwxcSc6s2j;uMr?$Q!2d>-7X)TH?StsCp@bNTh zmqfa|NT1o*78>snXtu995XOAb632;0M4x_YW)m4< zye)Ox)cRmcQAIKj0r_*A*u3tleJ=jLokgzV0pq_|+`zc#L>4>Psyh?P`(KT-DuZT8 zu2cd}*l6w{8oTuO-|?J(=OtBOET4*c5$W=B{)yqQ$_%;n z%+Ck!kGt6;k9Wk0 zB6dSD{RzNPa91r+k>z1OcmEgsrWu`rMiC5m87lP|v^}QOiw8@_qaKX)=q=~Wp*UA& zb{*a0xe6XEtqBJv|9Zf%QE^0VEIB=<6i#$3R6Y9KE)2woGTN}6^ehS+x3qX~8)_i~ zPT+^29N6Xzmq*^1fjv2sJfGT7W1v18nJGQ(1u{XPHrlvQ%OP2xh* z_p+?4T~L+UI)}CoCvr6B=%2^B%8m26q21S|a68O$4xNQ{0TJQC%F94HG4fpuW5~Za z-U&N0s%!_+D?5}o(AnTjC8Hu_1M-+K;PtM6irUEpN4zF znZu8{=fhB>tGJHED9(#f%dOZNBYhIWuNsp~SLs=517(2+K!lQ=B8ojHIR)MKAg#g! zCx?!~Bdz6G7U$mNL~91M9k1F5O8Rvg3pMC&DbslwfVp2b>_a6yyw7k9$1J=qazJyK z5y^6&*_EG-N>aOtFk7O23?UKPPN96k50x8RF1@abR)UX&L*FE z8Q8bHY*K<}Yt_qv-`C{b6f<$pYk#k1CyH>mMXrn*Wz!a11!d6t2jiHjlqYPg{O%hy zL)JS%9EQM8^JDb7P2XzT&$XXvKRpb9c>**_n*Fxw3t=*6Eoy7a&!+BblMw*8ZYPLh z_e^`?6X8d%mLxkyjP$+}?PcNeHZ7!WUZ#`#WDdPh+$m3xj^Te^M+lo7x6THDQoyx> zcS$_pa36$qo*A-(+Ccc%Cmy^xwH+mOV||4$2?yzOjw`sDzSfYDZrgmFn?oHTh<325 zduZgRl4Rr`|5F|Jz(iaM9?hq2K^%;IW~cW2sSQ7z`xS>2AVV7k_3B&)VY3c=Qdb-a zGql(}ofqzgCERPxShpCxg*gkkxHUS4yNI=3OA3CR0<}fu$2e9V#? z&nj7E4gjBysgxreK;*e=&+t=!n9-+l*W)7nUp+t8A+&@H8yx^Gk8&a{ER0k}w7*Oxz$wffP@Wpyd^4Q99Vqa$v5X}D?$DBHU$`NNi z%BGx16|ZQwE2pApdqA?|Cm4Q|Ov(;hIxx$_axrV>KBoyj@>AMk6( zCHhLS#eUZ$u{wTt6seEAeq3c3|T|M%?YM3k@^xN zz8EB?zg0}=BL4xs-YjxF3O3b#?P}v=6kwwYZv>EJ!O?hBt{HUV>g4nbf~V)(7_pmVYD3>O@Q%mK)#}*ILsj& zFLH%)3ZV_7+@kbkggirS`$ZA?K-?vTfI)<(1}=HO45yD5>Y~JN*v6i#+(mDy+Ue$m z@L!6MnKPTu1Ln>d46QG%fw&j{YyZd;rt~*e+`9=pJm)EuBV1ULE|uszi-9fuSc)It z@l>PG0jfPRVdaiur}jH74*&G&2nm1cQYZscmDn~QUd4XhY_It5lS>Rh-u$<{ey9+XzfWkv<5Or@zPFVM`b35 zx+^a968zAFfuUL4;}cPy>Q`1fd~s|4>G4b`!bnbglW|r!|}y;P=I{Cln9YsuvuOP{^>tWB)j1 zhiS9bKeY1bi+d#8A7U>G*DVikNFDGzv9u74#$0(Y-XNZP@uhP(1sfB1u>vnLDhFAl z{D=q)|3Y$Vu!_k&+XRr^3%oi``qWq0FMG?`YUlkj7nvYr9(D)0qga1=+6>_AFu$aQ z3OT^(_rB4mlpm&T=*1fZC-mIHO_~my=%Tyx$#74B0~zo2-}eA@%PxUI#oGI4YVf1eT41koCqAt=K0W4z zOrfyptHslc1Px?=qPcBtDELc5cv19(@jPeP-Pa3e!`YR4{C&hT1(56tnEPuD>5O!g zAo$D5wsHr2@A}X`QN?cfKR4t4xtg4__Lfd%cOlQO=O6~clf^E;f8`27t%+oAmA{o8 zBuDtw?0g@XXPjSduXL4VOt#?Dw_C?{=7$;e$FMEni?3}wF>Zv&hEe}1Dj(|9EgFvm zw7_bU!o}y9jK}}KxQ<&XTc(G{0*Fy5X4vy+IMk-SqFfud6W3(zXd#FzS-O>k+RkA+ zQ3O81-Rul&zBN%}DL~7mV&o?^6(4+y<_m`qdNlldWrH-6yoFHT1Bo@bYB|%kIA&X?o|B?Gw&(61T-K=BANSD; zFNb6F`Ha+j007FL>?VOk)45~nH<%Sc@u6~u z%sXl)n}w)*wk7%0gg#~x&Lr+4QFDH}9+hOpzfMnc!NZujYmgr~`~y{Xj92RD!6gZ4 z!01$w!F*DVf^G5+KdG1mK-wI@yF&1N?Rc`wLd8K$fQ>K^snQ3Gs6fWz z2tt3Et;J>^{nEvGcbi~+B`s+bl%?Gp042 z*tBTHmnVjYc6+4bWiU{hnI@57u(;)o zHJ+LiWrDIx@$DbCw7>)A9V@CH0g?;LGKZyGwe6C;F%c_>s8Y{U&<*`=WEfe>+Ozc zf{}%RXmEI89t;UOg529CW*nn{nInot*SHXufN)88sZ8+f%mvVDY8s&T-gw4BzP+F% z9Y5XslES^#TqSfpE4W~1+i)J}pUt#_ke(`(rJ~f*B&W*1;ft&D(tM`K=CAMLhOt5& z#-cZyCPoYW?uexEsB*8`FjgYd8!>j*1Ml;g7ELx+8`Y4wXHb74sN9_KZlq;J@N?LH zL9l3201DcfY=qA6b7hlK$V;?x+AN_*wc`L|z)pk~0OlXPx=G8^ebVbnvemLvmiq*A zzzH$)^1#!k;p*X7zL3fLZWC#~7t|J8%k+~9I7aGZt*{NiJN)C+Aax8raT{OW|JM3% z6J6G8`6 zt}Ydm*Z-|a2|-e8JDfp74ejl3xaked-VLge?};xhl+Xh!QGbP-dkDz3;({WnS8?*L z2>NW;%6LMUBmFo_Y}22{qq4z_N~6u6R_DS7*Turwm{-VJs`RQv0)r7A_GFFsJBB<2 zQ(t1pdJY^a{J~dk))?G}VVs=5y{nd3g57ZTVp!Gt-ZxHEr zMB}Nq@Akrg;tVaV;JHQ0XK%K}z>OvDQ0q~~hlgQ0b(KL!CjB+`M)c`I#_u zFj-45lC0&Glp?Fa5H*~kAQ4?pS6rO9I^36~^9%Ks=kJhm0a9>U@Y#M@1&q-}N52*o zqRHLoUrUr<=J|NLkNJ6@Ue_NB?~VR-)QS=)rTK0YJW_yH#+I&UC&3)H)*N(Df_{V}AFmz{c)o-DZe-ip9bRMPlCJ`!!`W0G=Hs-)Xkv z{<{;b(-X2}TJuNoHdS96hw5Ei{fcO5iU6O3zIlBCp7OF?R^aAI<>7W$dWEc%7UO6I z6ty!{WLmzX1dv=D_?H$o&UWYUuZrqrs1;it3X!d1VrR7QlpkbJsK9GDfY(#IaJ^Ik zu%)~J;MOBI=AREQmLbBBRVG!W%|29Xrm!sX)XZu`>KI|g8jfIO^j{%10bQTOEN2`@ zloqb26I|{Xh+*VZYoh3X@D;<(yjzhadmYoC6B_|tL+GJ*T8DXy)oJ(NW}<`)W~>!u zzjVOTcxpPFm|_G$m9isQ#<0aA!1}7llyi|=WE*t8%b|g>!6u=URRpt~fVTi|HphQ$ zm+JHNRmJ{c*|BYmp#liALFVRH#{X_dq#`aYAydBNz7^~vormBq%xuudw>_i>UujM& z2Wd~mqh?Z(kEBSsKz7;7ZW=Y7P@mCwvbYVX_-+TKI^R4prVzbzF9$_t4`I&22pO0& zOId-ncuz)%t||ES!YOZ$<&Usa$a+ZHZ+?ntXsf!}AP<&lL8g+Fjt_?4jc~92@gPtE z|H?2VXG#R3-Ui$z9v8e)nqqRn*w^6g&r1`4n!j>S^du(D;31iNTu;ATK?sW%X<}e3 zbg(TVekGM^gbziJnv$W-rBLuve_+^=;TPd%kJBGPe{b<}qqY)aMi%NOp4wp(3m5m{ z?7%qwKrw4LDodq~`dyi9~fT8cp z_5L_bF```4N@f~d2fih`Ftz|EQn??a?bk6gO7=hPb?2n?-b4%g%STRN^yJ?{)YavI?!kRs+;bKW&>GH9G0&ujZJU% za>f(K6wVn83!?!Ne2x&fV?kHB{%$_nAp4RCeP%J8Pumpqwz%r@84Fu#M32mdqHbu@8CUp9r&43!I-K+eKH_syk}S+{xNkb!7^{7qgeC z2S6bEaxKO;9z?f(3pmXDpzTPhn}@t{4~yDQ2`3&soC9KksC;{h6sIC-sJaf!A1kvD zea=7ZwVmKPXI2PZ1B-D1L=hW%&&)3TrBa*g9*UucWY01KYd$IGnihWIAunIzhJW}X zHV~P}CqtpR^t8C)qaA>pfs*eZC{$7NVw`#;)LPs)Po-DgO`%fr)19G{UcQ^rDpK*g zr9V29e0@P-HWVdatM4-N4{XKtU*(8V7hsFkrs|6!>>8(Opjr9rQIv2imM(Frj1m>j zeOYVr$}GKw`y;E%iHX`MNq+p0Dw;iQBv-oGFyIgbv44us$R}ggz3T6fZ^Ha|{lr^E z3_*%hTfAa2hJP8iivv*Y%8rYmY6}{tw(WEyG_70M_ZN+&1@iz(t$vZo zYZL!=c<|BmnL~5gx>>%pqrG0m(})I~hBCC(Fn4&4)oLB<{cGmTMG6qzLU243~#k*t|d9eC`auqAu_yZSycAr^3hyX93|Q zCPp~*UR8_MLu$C>-w$1E!?IR5+PuGBg^blIYU2M-Huq92;;v<7(frfK_a>&$3&`+j zT?dH$6*x1)o(8+dIz|-|+fLs4c->y=IR3uZ+&(ewBablb?r9EN?p)*Ol28h_9 z-3~{MasVw+qcv`}AHU^7Xm4Wr^Af2Vz38OzZ3pLYheWqM>fAacy`Y=8#i-c^-U4WT z)h#<;5;1Z$clHo&fqguzm0P}$bn`x&2UM5i9na#$fNNh1mH-b9Q#N*PnG7Evzp0nZ9TVuo1(^%44U(4>u~Fg?Vd4!B4r?Y*r3g zGs6H=;`A_(PD=?*Z9yP8W^5?OD zl0_$l(8nehR4}>>j!5$eQKms~x?7NGd}JMAwIfRJm*kqz|3`Y08Yr`hGAa1!2*dLv z*De@snLu|#pP1z3Iy9X|QlEr*jBvb&Ft3McS8m=e{tr8i$d%7&c>kfXfk_@kz=Ip3 zTJAoY6@2ib{RARaEp%Zi4o@-LHJLZJeG%S=PlW4i6wJGEN2^<5QR|_>U*udos|4|2 zP~p&6-$LzkUoqc}xVYR-FXMlSo?^-G{a~(GsiljkJJ?^;3IAb?CEkR8HOX8n=tkrm zy?0SDRXwyd^W3FX)8i!hLE`Ye_5Xo~WXb1gDTc3@Gc#hGdltL?3#XE$dx5-Ai1z3F zbJjOQ38lu?O(?ahQ&Nm924rj@Yv*T5rOcr+@Y#5|!`ngb5D|d{19M2mK45Kv@8YQF z*V@^&G(yN6r=*UEF1(fs{6IE<-(cwj0t`|2eF4%TI7CY{fWKbBhVnJ*s38?}e3?~b z^hnmxM;}eU3?N;GxvNgdh6r&T6ZX>=tYHvcDzr$Uxp`U%I%Q0~m%d2GX4uXQ8MQ z`nhztZ^798kN>$E7x=az#GOZ8g!bjXlbEcJXodLbd4F#WVl1j2wegmmosNvc!X%edL~%oYzi)Fg4RRrd8Lg`eD{C>=K@|j z_lin|>6jjAGxJoIdB_6_pA21QM2I}sp3&X`{a&SNf&ez=660b+gkNrs6&FTL2Z$r(c z1)?r^TmQIkF8w}B@6X@{S19x@JGGuXyQbO>YY$0I~ z=MJAUU&zoP;6BBA5b@<1QqAG0VnZN#!>p4h0*)aDxn|kOK;Y5vWPzr{hlMMW9M(vM zvA%foiK6i3Ijp}~UHDIQM1`0GflGdGT%i%t{V;#c(BjP0fEGrkWQ(5sDjH>6kb?Om zND=n(P(STN@|s%89GcQ`8`exw_K9z0zVkih{~Beddgnx(HxLZF#H@x<>!);4}mNr-kKVmWdAd9KoJGh?LAk9CJs*5T@?W@64 zgU7f(p}F+*u;3rC>#2dCF=rlZmY)gg1pYT7hhVvpkEs!(XkIBHL8Af)g3v2wZ9GQD zBMF9oQxQIcQVL4slg7c87nD&KY3g#gh2DM>N(d&dF&PhUNTKpqq5+PC?qegsmxQAA zKkG1_-O@uOqF1+9h9;xtZt~6hdo*-Y2bEE`{qxa-y(QKxX>$UOb{XohgJ6tPop**F zWye=BDcPwyvJKeu`AA9oJU~4g#EX;;P=D1qURQ?Ex(qlF0bfM(<*@j!7vIve5XC$F z*=UfQY$o3lQ2M`%&S-#)1Yo~3fxRiCqU7K$C9?mY(I5xaj2ZerN9@6k$u{^=OsYWR zY9ZC;rq7Jo5JzVHGDtR$6zvIsP$#O@A8EMcmM2zt*3~WWPZTg0o?B^*d>ofJWp{N+ ztV;&kbPp9CSb$2GL9e!|9XtLsSIs)T8CfF| z@wW2!!Sx*rMvoS1f&RgljcHY2-SA=QA~13qBrw;!9Qp!P{JBdCn4@ zPqT(0D#Pr54v7{H(!J^q&%sM9mub$^l&yj3aP;`)cjl7dBRJE+-7Z*n#ltByW=Q#U zJc??#zxcZFxuJmzp{f@&8oQ&Sx*9?VEs z?ftSe&CNByOb6`Y5M=iTlQb=qhmgoOQVU?7X}6 z?+T@N3pk)-rEwC;s>AtmFhx!oL@f#Q@u=wDSch<^k%sSG0+3Z>ncmm8Uk3r-vE^0u zhiTG!al8&oiw^*L=c<19kr8IlX7R)KE#3NFvdfuGs!ox?lwc<_f~G3E1u`=VFh{VgXnpS`3C~gV z1}GG=v>&fG+;E6Zx%@3*B@-VqNNwvz1!hE{?9S;?sk->yl^Y=8A$3b7e>@iV;=b$3 zD|eC>GU9Y0Qa=c~L9o-(_wy;X5c;JlH7Owt?7CX>V-KCYLIOtV2TGdg(|D4i0 z;>eGZO0K-u-%AG~N4>PQpnm%yKw`0M2LNRDvUOZ3g#S1U$Ot%+`K{N?!yE&ENjV(b zu3(3XTP>z})*Ucq&jbn@s(ltAJd6$ZNAL3jRZ)5DcCy5^1(lxZO4-A+B=bIp(yi#{!Hea!VB6$hvSWI^0AhJlLpD#?CMSp!9 zM(G|yCP_KALOM)Ym1`)~zNaqG3;>{K22Sp-f5NpAMnAMQ7Ao4mK{UQFDi3>Lri;z4 zdW_bWs|Fqvhee}2oW!6V?(oXErj0j}t-R(RWp&fMa%STHycv_O?$Bdxmv2||cg^Eh zKLE(#V}lih#t7R3$tOol7ZN~jtaNWYB3CvkyK2W;{$LyrGL;+hJnaOBOi0ILc_gzE zzg0Ujzfw*f!5{Md=D1ck4$^f!L75DC5& z!#TVQz8Ja<<24bwpWa;zu8s^3W}N2yJ=;d{gjZs)0Mv}Clk4}Vj)J<0XS+DCwi67N zBAjZ5>VvIcdpaoCQ;;pI$-bHUXhJ9U<65ut*6y~V;4(ZN)I2L#!cRRQIop7VARv3@ z9nhj0)QHL8x%RT5&GKhpMA*)1;!?x&VWSjS*5yM=jm%H@7v0ib)mny*#B|&nt;%C{ z@Iyfs0!eB*}L+T)qFfPP(#Ztw54mDQwA5bgyD3fpA5XMO>cd>2G{WsK&5$%W`%4iHuIDZeT zZ;c#%)P2~gTqIh3^jo&KD94l5spYI<7MxC8B%msG&V5`yw*Qe7#C$VSmQISugbDf!OUPdl#dg*%#6em z>eV^ZMpYLldItdlbf)LXr_grDURO}X8S#~)QV^pa&9Mb!_>k5bey`wt*SuD+Xro#r@UBW*~+tPX$TwR7!3g&8-;gY*^NH zK4M6#>K}gvMQ(K}UYA?mTA4z@VynjiO{~`3$#EpnGvZ4h2?QSvLPgJfpzcWhiyx{` zNNtWZb_pYjKn-2ND!N~shWj_)B>yLfzxJfV@Y4dQd~L+V6vJdFs0A~^+7kS}4UY8n zNLr4H(olTByx!ZI_MnoD8N6EDzxxx9K?%Cq3z2%;k`S!&wRW|AfCSd;ms5KGG-y8#*2649)d=?>n%et`B^ z$?UK9EttG3vGFvNIgY#&6G4yjPEKnos_JlD_(J!*{k?Bu8_T&l+-gUGum4+qfVsc= z6@JmfvVfVrxiF2jLu-05uSNIWA&*qC_APyuV@i{lH-AV1OAm46aL#6GHr`l-Y1X|O znv2ESm&M^u?3;RJ;HBL;JfHnV7fdg-v9Utvh;^T|!QVvrPn!2VHN`T%L(mOzP9eWB znR8l%MJ@n~LMs%8QOls1sc4PcSUq!{`7MTaV#|{$NRl}F>mAy|5FavV?#s7|%gf+5 zG3c#(N+~Q5p5KP+6AY`QFgEbutQ0|{^!P-T=#MDEH3~#w$6&=f#2sh-tP3tlV(J$> z^-I3GxNM9;GLTN!kwH4{yqB;_Iospq z5_7*@XyC?tZw(Y2s@^HL$EA>B>BV&x=D?lBxYqixaj2fM^G;uNvlRU ze?If^xU)p6A9l27|Id6&so`RiO+J>}R`w=cl}!3y1}j`ME%^FqitQ*WZk2{vaqosl zVC*${shBNpASOB?>{%6M&AE{oZghz|5CE%+MI#`T0|Ixq&zx}>3|l~AJCDisOpjn@ z1&0NY)ChLhqqaAwg9Wlk=_JJad7;j%DHBd|->sfo&73(MK3ARcmJ_6TOm;v6vl!3U zMJg=^42e$cDM&+RAq%U{ zKvzts-B#YLTw?0PR7&8DRLEsS%x@~q4zsPJFwwUea8c8m&*egFp}`O0+J>}IP-5Is zKhpo+e>htIEg>CQx!vA_6R;)qyAel9uYnbyIa@FnE5BL;V79x4pHM{=3%Ww|Jq2RT zn~cwsTr+IyOVAyWKEI@$d@P5YLZ1Ve0~?rTPmd`Q#kK5#__AI^Pp~oMDszLZT0i>F zi+rQ;0TiLiV2x^Q1ToCI65vj+0gd%wBYBE|%rY@)gSLaJ**k_x*bpcQf;R4Iz<@vf zvC`f&`Ammf-O#oznQ7B3w+s9hh!8g0FrmoJE>YPfRRP6>VG;7PiF=1q#t$&!x z{ynYtA@)ovAqRjZqUt7v!?AP(f6*KprGA!0{%@u<-;^JI`_KI;>pHOfw$*@(H*x!L z88F0epj)n6by1j!p78Z~uN()qUe7de4-32sra;H|7< z(`EkD@SE$5*Np#57(VlzKlOvw9X%s?53UztGY7-0mh;=dJg!@wF)0<<_mCHIHPN1dtv^)q_>HBC~*FrWGv~#$uG!0`f$!6o2U?K z7TqY$PSk9SM}rfK>>PI7O@So{*!kXO9pdxn+&(;Om?c$+=-Pi4<$bM+HURKw#pL|y z<5cTR(fFx>K{<5v8 zLjt;mA6Cn?l`_nJ-~itGKap|XAsPS4mqV4<4Z@1v%rr>!H9@#mQqBgm&(yAZ%jxYm z)^?zG1pBu^B{<>Hwca7%WY~ifdrP><5&}_HQt2E?NQ2Osb6`qLeT_r;2BfDoY>^`2Ah zUxaYdOdPg{*1J3GNd&PVZiRhpEZ7S)ArYD&eqa^<`7F| z7;mf7LAyCNm4rN*n*H#jM&C$$)mNPmS;}z4wZ2E5$}34!yEKkD^!SXWp{w>$*dm(M z!V>r<#u+N6ZmZL*(IJ;-J~@zFH)VSUR2sM{Rsy4v?(;ZPB~4ulH=eunvJ-c^lc|OB z75#A+0Ey>&soW6R$3&%jKQA6_r~V8MgFZMXr%r`Dg#MLCg$Z?H9i(Jb?TOVWVp16I z@K*&e@Xm(?4T0z?Jd7gYOEN;80>$KNq)nT|f=Aq8y@CPFUSyw4<1y(-Q-ue|M@co< zYO7CkKhxfaDXhFT3bb^>rwg%@k|{ersNNDub=npuQZJJu*7p$p9+Q^_o$pWNJzd@~ za6NcBFaVo(5|CorGMj2g*AMP>7~M^Z;x$`fxcQ`PlRify?Rw%^Le@W!z!Er%aNzhF zwTQRMa3_14P#(+rAn3H6E`D66; z7%H{|w?xEXz|TF1sJ4NlnJVxajdma%%n(pm3HjP(V8gM&z)fOOB1JO15t9|RC68sG zOo+*Y;at1>8mrqiKxV)%-1U+OOvkuM1>oUfE8fRy1O-i>=~*IHV|Sh79yZ^HO6$5p zJsYLa#Y6|bH#cw)EdrbNQu9=8P}|#A0SlYenVD&u5OzrFC?^ImV>{mlFgGZ5&z$E{ zL*mtY`iPjEJ|{3C%n@-EBm^3a>HaUB?6D9t1u+2|-fJ)*ZS;JaS&vGQPOx*lqVwZR~!=oge|f*SyO# zeB~dKaxZVAALvbfrG-1~$0bwacaR_2w@7`yAV{CI1zkbKNYKfHzWCT{4JKwT?`soS zYhMnFPFJ#PJx$Hanw#29f9e+of6cEL+CA_vF1x}V&))a$+SWaF&l%7B-+HzmiS-QW z)$!0ky{@$u_5~ig%@}}6vxk#w8T?16MN4()2Ee_B_s=Xj#tT0(%^U*kOVyBsugP4V zWP%fc1q0;mNF&2jELtK8Cw^6V+(z|F1k6K+Y_+5{klFFl=))no4h)#QUZD+%{trAw>fvq%S^s(Te)NLCYuQsUnC*>kJr4Uq zW~)J{O7C-|RGCkH7-JFP3#DOEA6V&oO= z?-uVv)!jX0j1#=gP5V!VJ98ey=v1`KNxDyg&FCr)#~-P5q`FitjeWA9Nunm$1*oZ4rWMl<6-hXL5d zCV=FA^mvRbfhqxfKVD$W$q(Z>k(VZ@u#g&ve7qX z>3;Uh`lmwkVkqWY#kXJ5gq)%bL+xz3`fhOQckc={wjX3O%r(VN0#?ic*v%1?X zXIspF_(EKaA2< zji;5*Tdrgy+O)kgG?j`2=Wg#mw9m$hFUDD!->p0q?Sl(hi_HzD&pN}~!vU!>I7M8@ zR)Oy!e^SJ?NSA70bvhc;uwa^lVXZq$WvZTcM{hewu*No;Szac@x$Ok=#|bmqfn%m! z;Z$n`7c03hy;a+xX#mZ-`ZlUZT72{$Q`GZnL6^Sg;646l*SM6p!RfQCb%xd+~>ADgc42l7BOF-`eJm-fu%JW0)i zZa9IfKp5Kg{^yp_7nrW>>616S3#bz3Wy&WvYIK3|;A{=LhDemqa@9?7&!}F}m(lI; z)8ykp$&dVr=)abWhOn1;mEUPrZD9&G%QoSai1qN|T(U%S+JmRui#0yM)rc26>(4fv z??AG0-cJ^6jGYzEeGS7e>Z?%S0^lUf^rt1dg$-hwImcSjn$f34U&2K7sg2mY)5vuV z2F6Py#^rMN)rZPFz#JHH23sRU--yPUC=;hYL`fD)>x z3_p+{GqiTyCjK6eYAxzY+$cw8Hd|0&em;})={GSuLq>(Osj?K6mPz?4=bkz~*b?`= zLyR>sL;Xx5GWCP>6rkPQAyS z+yO}^@~-NWa^C>W=Aqru80)9uN_#kRb16onvn3;KCaZ?rXHw-#UXK=MiYODhL_)P8 zpD<>B$%jD8byzOV3Au`dqrGEObuV{|ei<<{JDU53Ii}g`n?uIg!Vs%M<;F_pKHi!r>v90E1U&i+fSXCe4R>TvQs{6lvI zCcdwkt3lMvQ!_Kov@Le~t_-Zf&_eq~N^Vuslkd3(yg1I3!U5kW$VdNl`-H`!cpp!5 z66`I4TkAZw99k)yx}Kzkl!Ryj*RdyrN_}FSG7^c{X0_=D^j~WZkcZ{Li?5IO%2eRS zU#0BP+}szQ%1d%`1D0Z{!TuwD(gtC+$qjzLavWwx3o({~5k0J4&^52DOmxoqoMb)a zo&LuK3E^(sc2G2#Qs}Ko4-ff+Kh} z$oN@q4KCH^^)9{58qan^AIcSMO1HF*;+;G<-qoa59ud-+)^mD(0vENwwv7Q z(<-{K)uY%Y2b^ry7NwIzQm0%i;`)wmssw~%fDe!mK^*pH>N&6${BMOQjE?(xIp6kf zSD~u$3z^=nY2x&Bj*KlJ+w(2Lb?4T|okly0ix}8J{lb0hW_ahm?kfk_eiLDSt9>g! zgO>HH3n0>4u%Xt7n zK)$~*b2jujMBD0OiI-{74fZF`NB%ur>5^0mX0L*=Nryk8m5~l|9(&$0F;PGyPcT`1 zmnblPlg%C$@8Pwm|2oiOl#6obmya)4K4L>_CFU^|rqnl4}!`Wmw+J~2lNiBdDbBJQn-%s~>z=P{6W?CUSqAKl-=aFqz82nji z>YrRZ)emHFi6VpT`pF?^JZZQ-iM5@J$oE$lCy)}S(oHNdWJ12CNlv3X+uLLgiDrj# zkcJ%#VKPTORe`clT6S!sMiLvZZomDQFSpV$lC>rpJ^Ee1Bt+6{9D(&+P_Q!?;Kj3R z^!?uVFKHcG{sV2wttsGcaLwawIPdW~b}KBl&HwAX=h;BMBVi!bxMp`{$usqJjun_c zu}ZicM{`9Fb1I>?b9R&#MbFlc<6??J{o@|seYKgr9P(hYa;Qrg*3jDvAIWII^JN53 zLGZH<3Y~uoAM0C8SZeYDmD2O9vlQXRrG!wdjtnfTI+NQSI-dk4s!w}XHSneb&o_U8f^vI;Gn9~c&dJO z3f?MIt{yqeJRGLgipsRicDXRp;zlvHQP1KecgdSqJfnnQStws4bQgI-zFE@53A`ZaeqNdT4GrC0O^Q5uJ@mDb{Wa3eTqm6mP^# zHX0T_kC|zd9jIoL>m7pqKZLNIq~WmCow8sc`_rJ@d4sV0P#9O?>qI35t0((kgUwOU zJAg{gzv=!)(qHO~iAcz0-72KoRKhoY*Z+W9@WVhvKyqUv#+pd;OOa$I{PUo>1`LS1 zz>{-h_M8pk_U_G+k8>LQNf$&X#BRGsns_5h$|l4*)=f?olRgdo6eC7`U3PD7I`~-VjVF9eF%1 z9Pr4q?iqRz;o}7!W9b0b{)6XK|7DsdqlR)^w(s?XXdbTS_-33NhO7D-%%@uH&v^qrn9-sM_Ut?E;)E4#rgHF+%!D*NDXzbQFTbZO>>D_ z{MS*_lc>DIrfXxt!+S{aSLC$LUl^|3VVSCaN!GP2Vz`V-l)=IiBiwvQ!m7mCzzGp< zH3t-Te(Q$-1u*Qg#@=p13o5qCvD|4_8?92PA|ACXwT?MUzc}==^`V@5e{2*;H>vr} zg-}zl!4)VOJFx^rlX@0*X`x(a%#8w8&DoJjj2p>`m+ zhEQRLnS5j|P#2@HereN&w0!3kG@d&bz%2-1i>~aV_VJ{=d%|^*6ZX(?@I0JRvoljy zM~g?W3zeEVaAT3o*w7;~z_t&OFeydx{Go#onxq8Pj5e{RuRxr7)GXvS8GB7r|RLV7Ww!S@hq!?CX!tp++%okXAKC9GKn zxzhH|wjNDoE(Np{k^5UF(C+$0TMX4)9}M93P_$0RHf~{ zuu}E_hi5G)+X+sh?oWa1p~@=E)%5CtRZ|vz?iJ$Zj{kmUe@tEMTp_OSnLmLDniD!<0iAxG5%|5}1-ldQ0B4YIfafm! z;OdH-paCw`%>z zxSO0wPlSJHlWaWdv5M;>$}L_gwNgo#5Pg9%9T1=zLlT)W+G- zRc070YMH|h9(%Xcy$&BDg$XRr|9PL2zU=K|x0k!?)^K*IPq&(2TTtJHMroj$hU4NB zD~u02tEkSSuy}Gn`_U$H!I33Wy%Xw{#E#RF z{yo}nrM#ebS{-5kdw0YJCB>(9HdW`q@J4>h=fUWRW&fwPoP!-MZr0NWB4v3`JPKS- zm9rE#n+um|*;_XW!*E+q5zEfN2J*Qw-6VUA<_wWLsIY=oP2Qkf3tMngWSy(KQEQBk z$f%C`-y7lyHiSs25fVjHmpQv7^|pf|aTdWCr*;17o= zk1M6p!$XiqgCq%5Ulb=(vmzBzgfC%?0iHBrKXybM%6Tk6PM|gs z;3E&Gc=`D%ESOxWEoQlgL)E-w+K3_Iw1wQsN^8XWNX3!CQ%j+GoQi!lQt?=wAU48y+c)^6 zFHo4UG*M=g&*$(4@y!lTGt8TFJIPUFZ7FN?oh)`)&HNEHQoTDaeTogRyO5iltQ>%e z)^D%si8yrcgMyLwbe1qc;utHm_7(7sW8s2Tdu4Dl6z_U`EvXk9Qy%!38@|W@^}l)N zj`G`C4MwX&(Bz=&DQb(snWoH+<=$uCNeN<&OQ9S)0pgWq5T%jONHvzvbv)IMoHL@_AWSA( zzS#g>qP;@B4c1b5wP*GxV#s6##SgCGcsbFvDCyKHs?@|jLnnj!+eULB%`Cbzw096P zJ&sn0f#FPxMqtagXV-heM}62WObMR{jxrEXE*jwHO1o zFeAv#p+mj9Z{D-Z9Nj^2`ZuSkS6cV(&9T9@cpT&2Tms0>w~lho{dvzC@5@_VJRQg$ zpJyh9(>s_+1kD>re5SrP3mLJuigXIuPkXzL#+%)|Vg22PesC`2l(b?;YkZPH+6CON zT$8+gt&WK_4xZ?226d_a7zLk$s5Fy1S7NJk?ns3hO?gpqbq^$1P zl?!DMyt5TZ`Ihe9UG_L%GH}r;s2$w&G%XC1NQ^-3H9`JMs~~-qbOPmZc79nkv)4l( z)aC+)x=&Nt!+n1}w%C#fiJ3z9Ib8dNCl?KnkUvA!|FOlAnbC)l!<=2sW0X18stz^ z>)Bce#e~6{->}r0ZK9J>(oJcI$UrS7y?QqUA>p0L?b>=w5lIw6q1$fl8#liRtTozz z_I1=URJ9oBc_qY^=ycC*tTZ3$)GpC?UXYIxQM)|f=JZL751NkSmc6>>M@vx0sVV9S zUGF@RNX9q)tb64IC6f!|&N4txZnV$cFl{l?-9J^ zSrWvZlrWABVvD$|Z*XL$C%>)7zAVC#OGkJi0)I=<+ zZ1kwqF++Q&$7K#O$jEK=Wg8~(DuleH3%uz87uX?5vuS zXyZf{VLDNFT9bF zLw&P*nOa(~eUPW;Fby)YLqm93ZoAiZ)LTu&shQo=&OH-BI5X|Ib{f0=Ce3MyA{Lq< zH8^(^5JDFpp}$qMQDPOW(4ukVGKn*bbjD#g(EccC=7<{+envUEB;6lj^mMIQl&L<) zDxSdM9PS~jK4lE(*l|+xY-Ce)7l&08LM4Ca4T&3fCd8`Dkw@iJt{M#lnd?^Av~BC` zFKoq*cHy9>LI%mh1MaDt9{dsYFDn$dpNC)@;EQkm z(CL*?&o(if|6|4kj$y*fI{MJpDZS^4D~_P7Sd+6-%77QrEt6m1ibp(Wm1L2mcBEhW zlTF8NT_d02N*4d6@RXTkAA{ad8kcAL)EoG;t;p@c(BpwSf z8MUyDz_kSao%;99aVbC_FqR{6QdIBDn!KLfM1=qg_Jt*&pYYDwLbZTpMf z>Wi?UMDVlrs^iE6ho6h?s}mh9>j`2ZNnf^=tHkbU`!WB&8m3HVW`yPpx3WGzq_a}q z70IWmwGHJ9nWnanX~k`9yMu{N{7HFDMlqlXUtQ2!fT8p@NSA8;G|M2U0VM?I6B37J zCzdw4lD*oL5$}+_yq@`Ev!=njM(Bn=E%^~TBdB^aK|U^B-oVl$%0ZyHaBVU3iHDnV z*%eKTQQcOdv}jUgff7dQB(yZlpxb?x*^Xpk5PT{CO@d)mq;Nf)r3=ysaj2BBv@l^= zpK@VVEu-|E9Q;Y0IVa0hvd%oVcIA$x=LpotET$;PJ|Ywbb!ZK1wWDYh7yh`+CR?2g z%s$s_;Ot%=9=Mvmk+r6^gDAo^Wz*i>aVZnQ?sy_J3wJt5m?lHQ&I9Om_=?|Zu(XU3 zjOCS<7yAZYk2Vm+1VbC`)2-B`;1`AMo7k?HMp#!4M(RHYZ4O4-FK8>)=M77~GVTy_ z7=3Fk1SfK_;lGKhO&a{Y^249-0fk}-O$aPkntQDadH)olMcyHg;*-!dCd0gpw^wT4 zn5T8d_Df%pZgDzXUsq!^hxj0Bp}+Xbj`^t&i>nL5%yEf)?{GS>_K?hLEX<24A$TL8 zag2Mx4<~X!Kx8Fwix^y)d|i^U^Gk zdhpYLcv{jSgk31FM12_e-CVp1_*#MY5jp;vt|)v>o6V7TU+c5$}l&ef_Zg^ z!TMV`OXKQBNj8#_@W~aW?4BXEpR{fE?_4i^q_ZXa6F}jhAWAyoKK0;eVG)}99_Sn3 z7o3XaQ*_}Ke^8h1XTq9W{;`tG37^0o40PI z=bmu%0xCSB0|YRhKYXeRk5ysHP&MYHBw;2oo}PCN6*|C(GPS!sK3OGFfi6qNU7v>! zA71R;zA|ia@6w$8aLD!_xyjv4Ibo8$3`k>3(kqNhHL;EaL_Fc%{chgtlu_z7d&Y+q zG-#l>l(tqg^s9vJ95#`s8w1KnWENXXX-BTt$?v4ILlWru0Z_;d>I&g^yBb?0_ac%$ws^z8ONf-F+)t zZ5y7J*L8z}JU(CesW!e8$IhJve%ClRHOV)NpT;f!073s73F^|Y1W5n!t*PZ7M}6ahm`;;mgOvRGyXP-gZoW)acX1%=@$Kl*yfuZO`L5teZn*xRdyR|*y*GC7ggiu z0c9VD+OSE!dRo!nvlDA6&iDhmt$Y+Rya^n}jgvc}ejb^JY_Akl z(7-o2c030z&X^^E(zrfAO@*KHS2Ag z*`(S_o!&hrqAkykKD@MyI=@zYNKm!KzJy+5f?tPsN~iW_2SRGF&l#_57KM0-JEgor z(oEk`JH!t4#c)?Z_U+O)J`@Zw+LVWD*^CuIslX~>(^BBJ3WIBP8y?YrCK)uFaLKyd zq62Nmti3E_ihHqQQNbNl4Kxn>rnsGXPs6H>pv-`lhBwxLoIR1y=i;;gx`yfNhU$cP zfgmX;0!`Q(UQa>%6Fy9TWK}gm4Rpn7d^dtYy=OVugZh7r;h!T7O_oSvHe(P!W9vkO$n|s?15o#T(gq-Io1!PZD4L&c$7ix!n zNTkeFAbWQQ&qObXip=s|raoWV;@;AKf47iRWNUdsQfbE4s-O88zGV=ZNv}3Z8;U)D z+oBq^)-+Mb$Og*xxOS+WL$2^q<(fjGgY6)V=p4!wPB%Z;2B6{i1^q(vdX_{s0?H98 z!z5VUg;lcU9g@N=UwpL!H+%;*B`Y(4;?(`erx|{_Hm{>BWX4JCbrjNvb;t4<7$5 zznn-Ga=s`9i#i}{I76Z}>i14iphG}hzvXokOg3SmT}Ib>lm;(jGMsKy7%_SBgU_@_ zK;@d&nG&;MJr7>Um7`z7)oX5`@-ORV&}e56g=8n#xM%=2rK>*SLuG+2xetf_p;GCM zf;!O9LCW8pc;|~h*zH1UZ2RYlXC+oHjE{V4^9tTCRpuUGj$*c5l7)ig-7dD zzgXkcTlvObLRjXnd1gGNqcAh$z9CCOm~KSZXu$uzf5o#;N|Ue=h|e~%1HLd)aUcyA z#k=*A5@%{PW&jD-#%Hi<1Q|ZR;(~N|FLy-Ttq*1@BVsICPC9}rbrubDWHnR8_S!Z? zy5jmC!p|uIHfF=hK=;JDXRP)Y%%heq2ww{7UYFd+`B@}x#R~$t8s4m69j~8SZ{eoj zb;X;v-lX^Tq};Za2;M3Vvz_&IeSVgadDN#cmpZ+C;Khd|uw}Pc0NDm4#Z=_7`EZ>J?IOtpDr1on3y#9hHb@+K_<8I9n^9;>v;yRQ>rw8Q}`S7 zQyKaei#h6Je>lWu9np~FFCaq=Uzp6U?}o_b_R^(E&_A_)LbYyQ6Q#6qEL~S52GS{f zOpvzf+hU|FY&ch!z5PLMCc)uryYT06@y}|1`se!>=YbiT^7e)zPhwft!ZW=Q=Lb6e zbPf2~+r0(!^szz7v-oOzmfY#yzYxRlV+mUc1p4{ zPhnHuJO4+^huI;}f@Dj;|f$7SDj*B z4gkoe9`i%yAPs7ckR45|FP|K@Fzj5JcyBxB;3&D5#cJ{w!V#<*;>uS^WXQ*6LygF% z4*bsrFRn}ei8`3KCza8r!tE<6csl7RXifk zqnMCr6WBlUQyD&*3?IfRLq;Q5>PblzMvh}JA3iFe82u>4GIw>XZe2O4M9%&>rtIEn z-ulQuL^LTC8K=J1Tm2tyq>R1?k8)dZRC#a-Ic0^;`KNcP}9vUh-@nqH*_s+Fzl9iu7I=Igu&KvkmQXz ze4NDfpdfyt4t0DbdVVV|+Y%#lYL4UAN0j@_-g1X2mbi*DV0 z|0k%yl(jQi!hKn6JgV8)1w(#{N8NTd;{{34kKaW`WB(VlQpoO2^>k&%${GE+QOL=b z)CSZE9;YA}r%14x-&M9jOBR!yuiKQIz8s*R}U%jf(7zi{WHO`F2cYI)YFnDE@TA?J?kS`n)M)kG%bXGpq8ws-nzKH<6;JOn9(U_-` z3B{I1wOR$N9%cjZsy)I~qr@u>qvVp-&_t#;Fr}=*$XF^Y7-)@~PnpnFLG*+?Y1%w( zL$ieyAKO?9aWf>lAwwA!>x16qw`iWZ+4e53-H0q0*TZs)zORk_%`c8VE2JP1od8ej z@Tx8Io&6DetSn}91Le$cpZm937Q+Q$e2jCe#btrHyX&+GYem(Far*SJ$u2S7_*H2%06+} zl152jRM~s?!_WdgQvI&!ZDj}Z*)nFqW*QiCh5@e~(a_Ja>Qp1&@=blm{{DR( zEE~3`dY+IvJFsl9($UarluU#iMXuTwsV-v~CiZmGZ=0M9xP_nVnY^q2!*zz`I-vRd zYdu=6Mt>I$l((cqVN`Z0c;rEmzNI!f-`vcOLO=*nCa_aow0anhv##>s?_*IqzDzC7 z$Ko5pK=XoO@EZl)9+YBss%mvEONjg+}Ahf>Rp8@j9#Ddi&>eNvZE)lT7+B>Sd>4 zGKh2%!IAO8A2@3L4ajeY<`q>Y6NVGH0hlx#EgdkfeU1lxP3iqu7{jKHhnO?WfY)#b zYD$;yR`Z?t?{BDae_;n5olypcN;RIVEM|>iV!iEbc6?{x;ck$0v8E;s0UznKFq(ch z(dw6)51x%u)Rs0|Z$P`AM6_=16>#rnf%UZKX|O;<+;AREJewIRm%Xymo0zON@dZfS zT_O7yn@xG1;XgUG5mc*lL7&6)>sejt*9 z&PkBY?^CBpDrttHUNz`_5V&5ZnrUw`b@NK@oCaLognl>xXE{Rca@yl-TJ*_)J`UPB z`hzTBX@`Xc{PZi-3ay69)$o!ZLp%EKG zq{=Vw51-KKDB{^RulWIi&a~%o{gU`rF2l%+RLI9bc_#)KN_&Vu)=$)C9v_+%8VZ=l z)+K{Cie0jZIcR$yP73W28h4w^wtZYStOp051<#O=KTE~=LXfmVCZQ~5#<-Y(io2UZ zmOumm67HEmwdSn0=C6FPKvhS&n~IWEEm877L9?RIip7sg5kqL5zww zRpj{~J0V<#jX$PdL-RZLd?$#Gr4`B!o`o#I5>--1trT>JelK#BKHjyjrEUoaY#jvf44Qkmbda#EKuiABlCBE(r z{Y>>OM(G#1ojpsBI_XKaGMOjhP5&=0)oD^zAPT=?6g2z4mFWJlpF=PL1D>ejXk^_t z{J9T>j5bBve2bS*!*!w0^uk8ip^U4II^O4=(jF~~G*NfEo;W!2p(Ng@#p!L+9ZOR0Bw%ACW5BIH*6{$&utjT?kCFUt(EP4;NWjX!-_8m zNqz~Q!M7fdS7G=*>eom6(Aug5`3AeAfM|)Ze;D)9>+VP}Y9z>UL&H$ag=qE4L^MOH zE>8j*BTwlE0;2jPS8z@mcmtx{Q&55hu@B3hE?5L&$gFWORu9K;GE>@7!xeafw&-p$ z>p82sXUx2rSct@64GY2gZ$O0v-(MGL@x4Ts$YL2uA0x{>7XIzM-qGC+!Q z@Iec$h`Q6R+&h{#iKPkUyYl#5rS0fBd+jTb)@;-IX{X8wgB6X~4a&7P#MCk|mj&5m({5zbz0ucT0cw(>Rw zyEaZr8wsDv8xpVqz`uS!fncBgR)JKRD}Nrbztp$kd~x{za$gXuU;~{K@w!Np932q^ zK=$4{?`%i24bM}(MSjZa-r}DK zb-*Qg@WiSRtwBEv$Fks1-s~g^>$TIo)89mG$nkmjGq-gK7z9}l6<+zu;HfI%8}LbA z%A3Eq!$12&{i6X{Q0gJzlKtV;87a``QY21W>aYqb1dV=*sJ{YxK?Av|Y;-Kk}0#?ZJO&0xj3 zJL>7jr5c!uhqrSnI%+y~zodC&%amx7R#hI=VcLh`DDb6Zn%AI_{YD^chac#kewD;v z+w|f-vT91_MnB5)a<%9NIveZDfks63m!Ns%q>8#;8*TK@d=h%>-S)_Dq5=!`srQNdRt=-G@&77YKLSKWOrcb^Rbv)i@Yn9E<-2ERK6agn_ubYC_ zt|^Ki$nhVzsiGZ$yBXRB<1~BDnLJwzn~OETY>4mcpJe01zc<(R->oS0*BP+#r_^!0 z)1wJo8bvTIQ>7U%uwAYMDCQPEb)U?3#KNHa|J_WZi>(E7Ch+e_)g>a3cp?49BNV*t z6Df8VrjrS7r$XHko&}?~NQ8y>PVGJ0{Akkb>}e}tIMJCz`C!vpp5!K-68LIU-gbDW zXt1>0Gkc12prv1rfeujy6Khr$kstMIXy%J)+6tVpbdMafzfxJMv9>ya!UR+jMxxar z-{4mt=r&e|zsr3FY}Lt5%11{Lk$MypU0p`iI^?8HnL1RNVzh9e^@`dBb@8R4U7f^# zgNj=TR1RqoNOCXa7@0#t?_%BB#eiHAB`)jbcj zfqkpC#x{q}*W|;V!kqSX)tYJ26Ny^sDarM2%ms%EVM*7ecF?bu;4hK%MQ~c&p9g=2 z0;GeDN^Sfb*qg#aPs`uS;8nDb_a}4Ne)u|EPbp;BIr{R%YwK0R6CxGg#gT2-^AR)% z&gH!p6krsJ?M*nC6`|MmE z`HS8|WrP+|3SN>R*d|Mtao*A&F43~KDQay&03baB_(OYFhfeX1Z`1T_Y$^7cfvfNz}d-G=jwfQDA!Dd|vuuBdER<+=N2#kj1cQzGQU6rO^=2y$FsK}ao?UGw~MtNG%@^$c-)1ORoQSIf(D% zL=L>GPeNSV9}#bwBXw|i8q&Cfa`pB=NI%Hc<17eV3@WgWY3AQcN|l^UUI`?_&`cl< zn$DF|YI{@)esial=X__K1-vFYp+lK^?gY=20yZYIfpjA79-iWY)ZohU?9!h2KcB=~ z=={Bts>3hN@-nF-^Wg@reTV7i;K6)!oZp6RT#8XeokK~7MRof?RjZm(@iJcCi&9XZ zxO(LrKu^c9DUi&VnV?P_LvE2_ocE{qLx~lPRwA8dtZ^CKx%ktsF4ud*qbW?ayY|1yw+FomnX~od_+rHT_LKe?JV}}qZ zeXgmD6q(^q5tx4I6r3*N?I0C=we-mrFpYd+Mf4-}+kua3L9eO!QNF}ojM`oYVtmHY zu902^sK&+ow-PRYh3~y9R#!5uJ(pW1&(r5fPMZ~&ceFn7J{%#inBr;f*eMW`)yZ*> zD81v^RP%DSh3PBYmQqt(VN{k%^*`=Y!(+*36yG}jMvA8F1`O)Bf=RXQl=7^0)rWZ% zPoXrBj(Y<40ly_auZP+QXoQ}?@IZymHJW#Un2xc1a zB4r;<7t>=9WYNZ2K7w)#NL~k=2cSS;t8|(G-`9QA5l+rpuM$t^5;htV5f-zls5q;xUqA5{0d~}RPhgS zq1MO9w1zGIFpJ8v7$LyNePGWnC9tF#C>g1#6*68Si8`5IP=+@<5V)nSj=%hjh4FS= z=S{5VA+tq?I|ax=^qGSwKx;5JG19Z$Lpwk0P*{B+#yHA4sAVp|$lEaK$;!L!$}h^ow^GUZ8iQq!%ncP;)P;U07b+?61mhSAe6{lrVe| zb;P@!7{OXt#{^cfIw4g8>aAEAa@>6mL1G(RNS8nD*G@1W_1?uJ^4B8XFFt?)7uiEyCB-*^S3 zf#Qmj+I+9SZ9)kfL!J31hr@(yw|!lMyhXjrJD8S}w2>N!dNQHQoMYGFs`u}0on_mc*va;Yw!F3Er4vWB$D z|2y}u?~zBs`a%j$yATcPq!Co9Q{Kb@-p4H;7(jW^M14^m_S|o+qFvd(T@hEeXbqOF zvoiOY%nk#hd7ER-?)eP;`kI2tL(|nG`mA-nVTBmBb#jdt-QGWKwCG0(;iuqC&Xaq? zqd&lbA#do;Xkp$OSV(`guKj#~V?$c}`T0$>jD;r>PkrcV!+lp{4PVlQP7In298KRp znielKL&Na#78cTj4Mc%`Gq+db0-9*Rb~~8@kh;5uQ58=`uVKAxF_JMrDBDjyH2mAazdD< zf1$Rl7s4#_*1!}?vxbO?frEXW_v7Rzx~K!RJFn~&rtpO9y?mI&7{o~Bbd(VN}^HS@6LJIUIaYya%;1w6(L>}V21F|5f8ob~GM+KB9K zZgbj&QfZ+RQqRLpm5A&gQ-N=+Q(#CSnoWo-OR#BQ2l=NgniG+RqL?75fF7!jygWTo zG(B5@tICH!F0`_mcY$#>2>InB0Lynf=XcZ3Qzx-m|?*C&HeK z@l33ef>i{0=O}braNNL849_}$2+S@W{f*gN;-{Fw=u4KqC)WK6Suit&LB(UM=h`N{ z&gY#_*DYsyp#>{+U|wtlE4t<_CCLEL@TE^8Sv0sqYqw`5ng4Ycu@inY9YUjPwVnQ< zaSf1xSp3I@=Dotq$;l&b*1k$%)b*Y>YO#xvS>Zmchg7Ed^^nqhx=S}R8;D-Lct7n! zKu;D~DZD3`hyG$#lOYPq!6BKmGP_!NK&$Ei`00=hS-oz5bOBIjI*ueAY{=G=%5jzK zta#}kI1QrZGLWLL?-d5tQl!$9550zgf)blL#0%ewU&cGM6PxSpEe1xTzPsV!lcB3d z^U&GOw)@c4w%!cwkQi(pMzA)g@hQHVpwI2ruegbugQ%d5Ca;f3X8a-=z|Z)QSAHd5 zcN&+i#uQP>m z8yF0u>^TlFAwl>q$BtY~+9FAer~8R^E=7=R>u`8&ZtfCnxw(z!^G$}tSV>i;hOapT zA^NA?QGj`ETcubJ{a3St<_#t6Ron`1ynX$Y7TsWsLXBQ)QU zW3I{PG9a3j9?e={;XUB-7Cml@mLuS*9U9*4#$&Zci+FLG6o`3YXlu`a*qo~SvB2{= z2PRg4x}Ejsm6@!N>gVCf4M3EGSkl8Q&K|BRruxT;M9boybTg`OV3&Y;1J!r0gAom%(hD*O!od2Z+G5c`SOI zlcE)D(y2wI!502<^Z_#DQQg~6<6%xI9w!j#UN9>#Cz=0}BLs~oXeiSU?7R8#J% zIF)A}^+L()1?!aM9EvLMJ9I{gPt|Xr<#etjje)M6JU%@^RFB!hnDm6}Flq*85iPJ) za3S>t`>TvD;I=Ul^s|f!4=^BWD6GfcLF4{`ST@_M? zHk*fvc3m+fO3U@r)4}ZC9!Qzh%aixYEu>~%q|e3`AP}+Qj=4mq!&DT82)Bt+)pEsR zO@fvq&u&sWl2b^crJbbAGDTY7;=ax($g#H%YB(qqW>tEtHCE8a<)Mm%_rfAz*UW-?aZ(i86L#L2%*x1=1vzt5ytADA5_PEpyui89-Ira7s6+lkzqVEO_ax?6q^u@9|7;o-g>1_ci}fIWS_k2obp zUg}3SWlTJ5)~ZITu$3MEXKZkt>^(h9FWD=wy^LzgtPE43+StK7s?1P@L7}JVfA^>; zv0v7A$+fOCr!5xX6X?|WPGT;?n)8F;MMG#nT2}Kh$XiAWI3K0|=AnVWk>y%rk4Kv4 zCJlIv5q-$ipTYN!llm{U{cWT)&pd4QWUgFbqO{ByJ_wFBh^xcuQ%@Y8=IcuG22 zV2=0e3pTO4S>j$~VCB|5D&ZRgK#krm&~^%IV=7ZEIp9<7eZ-16#oGKaexe%@9g2=- z^Z*yrcpH?h&)rteul6+LwnyOF8#YgdCc$Owg^a2GmURu|>zbxNvk(J?B=WV*X??n) zT#9W)^vF+Xj?`&_Lj3?){UCZ{SXMA0bG_6_gg;RZ`_ufB7k?vlCF*#2_v|9?hLH-8 z5OF)Wjh)10oEdFY&-af>r?PNyX1qWd7nU?T`CpcK;z*Bt(U3^ZA1BYR4R+0x3@ zIMSU3F4*HHQKS@R`#3-tJK95q$@TQ-B7#Ms-O)D3|GZ??u?e|q86hPu?Em8aQDtat`}s#6QJp0R~=P&`f?dq73$^Rat_ARv^`+% zGAhp8tKG^=O4|bQMVd>2!F*glkc$`SAtf)T3AIv0l}6WaF^; zkBDI3j&=Dm{8(E{7u!JuZx?#_&_|Bz(fOvRQho<(TTQvzkw8%;XG`&w5(lZJGnSHG zv<~ovE^yedu9`gzuKtMAjW5Fixybn7(WhE7YuMY!#h)$k}O?+uX$oBnBdCfE5<@tpFzgDrU;|CbZoD3d09R8qi_ z>q?^I0sIHKCJ_VR8K|89I+Z3m7x8^+YO=Lj2SY2j-5C_%1(C(>Ni};KEi~GqMScxr zn6@rQs%&#+RRJfksS~E)bU3q@{;%A?YERhP2V!9byP&AWvxyVC2?1{j%SU2H@JsNw zd^wHfdt^y6lOB``nBdCBXItNh3MPYh!_X0CJtdK0fc%_L`{;ph*!p*POe;jtl2W8l zP=2Dh=Xo=g{wW+CL!GA*{-H(m*&KdaXPJK@e50`~w;gNtw3PDETqsuQPa%PpH+&^@ z5BbIQ#^{f``{b`9tV|#^eY8s6kn9#Pl^c2Xcm9A7y3$G7%ARXuFC;km?jSf^>-D?` zdh6cAm(NI>fI#|z^(3eB_ZI28uAkna05o(qpGVHmHQO+La)HI+SqDDHTYJ;S>rQc; z>p?f!o-_-=ocH}!u-2yJ9p6L7^Ck}g2Ps#akKr-NrkD>7C;gyV-;#R@OhQWom@4Ya z*bi+P3nFQYsyoO*W`V=1WNk#w=;t<2jq57G&+l*HrzDpfAtH-b3WYx7Gl!m3qeBCRsVK5^Lc+sR_0fuwt#L z5l@ER#^^FecaqZDrzylhS}*LexgoLHj^8Zk@S%MmrP z^}G83Ms09jN`)EUwa^1DT>+I&T3MMStUoPeukSz>D$HtZ5937@bUo_Zr$5qAO~=L= zHiY!O3IFHwz@;=vivEMmmDON6+I`(lvkiP_t?AxfXUzybl75V;_ZY1$f4Gkbr!3lnzFgKFw&I(j{1}Xl_kr}r9?Ru(rgR1%^Qp^#0abp$Y9Cr# zu~uE!D%JH@=tyk)o|C5z6Dw%NYZpVXSOjG~MpvgjnYf`y7er?&4Mc~ZW7m>ad#lrG zy-&cy((chc(HJgj^*d*v3iA<3#Y^wc0R1A5pq!a9FIf4Pm=j8fP|R2!CjvBm?DmK{ zbhR{XZ&EEF0&pTH-+KQrHf9>2QNwkb2IW6&bPW}vw&l%LP3mQjyRy`kbEM6=$bw)= z={Cu+>B~~Cr+Q?ob%X;;H}?m1_Z%`Awu{PqLlx-kSBV|spn%1;0xA94;1rXzvqUZz zFYP-xZjazS#&_wbcFUM82w~3~B|rNenXy_tQ!igubR9XCvHPxeyddU%vu3sAI31I>8QU5RaWubpSZb#H1d;t=D)#sPEJ^G126lhn}$!4*!o$d1b_dbu-C{;=@5`5$EJsx$*7> zNKM1Xc3?u3j}5s~MtBC7ls5D}^W9rU;hjI8cmST~%bv(Ehe}eB)#9UNn6k-i`%Y9^ zpI0nOcI20c)oKoGeD8QFd?uqM_A`P;ZIKP+gY5An_zE=a{C-E;nim^0(D88O3&(I+ z9d;mz&QHzeq;@+ z=VJA2R%r=FG9+M5A;(+p3gVP}AmRp~qBfv?wKpp6ASFz?ng&bhbLsU$a=^X@b6<{LA(isc`EE*9M06T0>}i&!hS# zUgbj5TF4wbjVE<5QSx$Cy#Y z_&%dw4R|l71^?wb4}1w&KdKFyosH+eYkmGYPh3#4=f$NH-pJ@#tgzj{fu{?2G9z|{ z5%1%OZ-1!?dkk+hvS(h_5v|ud^1EhR-Xi=}CZUOdF1YhN_#V2M93(Te<`*lRfaRN5 zRB+7|fz44!btEVCFnPfi|A}xCbO)U|@|?zrjg&zF1oak~^YGF2ZPO7MDK`5-`7*f= z6R)iMFm+;#1Y7aWQk%Yv`G#G6!Hz+8LSxr-jx0u@3Q@J}>5*2v+%o(SwaQyda+wGJ z0TC>uVD)R%sFoq_z7&sXncPEv6FnCmqZ=V3CVu~bYi2&ONE&xMP~yr>#@qeTBh1SI zCBR~h<(#(@m-R^j8AU~d7ypiwjIhA3Mq&;0mZSRpnO0_CK)%~~*^TYDp<%v5A=ZJV#^Nok%hQC#PvqqwZ?M=d3q9B3>ou$}e3npw-Litb|(`avUrQ(YJFXiVxri*hx(z8?3m| zLe$^*O@*R2Fh)3tRUPU#RE$Hg?EzDD=J%WC5Rq~b0HU~=N z*rHB2>g&SRLs=jU5;1Hi#e4kxRFoZGf^*j&LppQB^Rv5C{vyDnek+6K^)c0X5QF#M9><%5#gkANyzW-2>*z{ySmUwU*$8!Xu~ZIKOTwo{kvQzZP@(81Koi zY~tLcSe*53O31X276P|r(=t1Q{`1GWX!Mn&_A^&QzOI9*@ z9XBZ4`sMtbD6%%%9pg@Jwj> zopOuDWYdCo0wL5t5?f ztK9`SIIin*%WS18bH)6yHiOpY+G{v+UX8C2Ut5V-AvX4XLP*@ss+91<#ViOaHZ>)c z#1RSVdb}>i3R_Qx>%us3NQ`57JLI|)L@_8&owO#VJL*5nFl+)7+f1Bx$k+i=Jugvk z6_M>o4aKDT;7+=08!SgXTy;m zRyHd`?Tlx8_Ec|?L@1MBtjf8Oe(Oot{1R+HoeE8~tLCj+jx9b@p@{cEai{+UMg%k; z5{Z(*`6d=4wpoJQr?{kw4;_7vMCea&yW5TCex2Dw5J7A|x9D#esVXI1-IEQBbO#>UpTRhszu-cxvgfgcg0xn?JVLO}ER?tAc*q0>SQS3p z_L^A3TA_52?L^)EWGyWVfCz8KHL`*+D0DB?tyCro@ zvgc;W!TTN)1klTAQJtEwuV;7p~{u-IP1c$C#{NLYH4 zv0`BAp}Km8ZinfY;CvpoW0ZDZoRwt&)D#X(hv&_nvEmaOv5JGLsx-~A_J0zvdH)^+ z$eR2?h`T64>qSS4%U1)<<(h=*3bhQlFf-QPW~f*Bc25tFQ&v}z)K&F(-ln2i$guLc z`fW;ZhCL)3#<&Lc>Iq|;9$^@Tx(FbuGiJ}H|Mf8b_&L*vnp;0rrT|P=4bh|w=Zcls zWXF?Hgr-3({IL6(n$0X?I?6*8@>(J#q>-b1LTSNg+ za?Q)dyxk0ZF+#AycIAtke3BC&T-=oWp^!8uh@a(`U&Et=%8U4{HZw=YATIIzZZB*qC z%iD&$0Ys5I$c0WF>XvwJ{53V~g!UaI zV9k~xA*V8sJyCKKq?>+}I-QsHXxIosRC>Fbm4mFfv}ofo+u|~deOF=~VS%AGdL;mI zBuuB4JEelUj)@){j`XXMg?chdN1x8pQFqPB0#x#Q%eaH!;2TP!;MoHOTYfN}CVve2Mc#q5Y`9a*DZ3-u6&b{l0vnKOV;nvYtM*bnW zh(k^hW2md+t8h@*M4vfP(z#0(7UQPkk( z)x=XgmQ}f|V_WW81BAIlEDvqFwaV~MK8rgP0SpU6*AKZF~rey@`v z;tfH0P_h@Nnt;`1Ks#2O$pFs-@&CRao`6MIJe`(XPf@lKTXZoo2b1-Nc*TMy z{FNUw*#2-rDyKTJvSZd;RGd^rPa8_Yv<{g_-i@YR)7&wnD-A?$8W2BhpsUNY_87Vm z)YNdqs{~Bv=~Ly|=j$P&EX2mc=X2T9gs>8nJN?-*y5l#&xlQUmJuyz8=X0G-Ceh#K zCe7Cu*C;Fm=~dNmudBfayu{Lp+#*>S4%my`Mt|h3rEu36Q83rMCPnA!&d2h~v7A>P z5MM-%J?K@TB50TB1DuOvf!WPWY~yIjHSUxXB?}T^z3y+v=(PcQp3quG#u*#J@hz%T zDbFJsO_T~yWc52zRjj2U6-U_=jDJmeYr#Vb@QE)_Q9Jv3&oPP_9HK39d4a~b=Hb{r55TT-Krj`m<8s3` z!9o$mKlN#N>XlSB=zg57z0Dc^N(8i26qs0V29J!DsLANWD+8)Rb#$U*+se`KV8dgC z``21~%0-P7-1u=oal4@!(~SG}_xyr#P|4%P;;~n;Bt8*MmK-|awzm#dHEh@`<9N-i zk0fx$HCt|VdhvaSQ_l({wrc(FkO$A+FuaWH+HXazlD3U&xQ^WAzgK5oFHK$UI0~=p zVuUM9Fnf`iKyL{vHq8XH0dfiWVtb)KgICIM^` zkphQ6T#+9PRReB>`ilZHr<`mV|ap8jsG zrC5}}SRTb`DBzhAgU>bOa(zyVW>&MNDslz`MbVYXlehGWgU%O=@Q#m4XjRz!RE@P_ z7pUeK15*UJzS7WogyA_c#dPvy96Qxgn}LdtHpr_z;ixL|gqq3>&&fqp2I$gaVNL4` zI8H-Zg*xP;B^AQ8dtNW*!Cfl1SGay*QNw{#MT%}riG(U^$`${Y{2z)$z0F=SYhQSK z-`$-rA@USJUs}~6Cp`KapkckENcJZ$)-K2kK) zp;EZk8I0eBCt)JzL+gdWzF6j9flS7`z`tWTovkjYDuX@x+Y6W$co;*+7lOF#GDUR^ z!Ayj|&VxI&k@O8+gZ9=CtHvgqXj$w?OC2>TTO)%aj(z&h-m%$u_MQm3``YpZ#VV}7 zv;+ko3+w1AJU>si$ZMBcp4&@2lffVyVv%%qNs_|Y4cPv*Xm?1TzTkKu=cGM8p-ji? z(=gNUWzQHq_$9)b^z855@AGRY0IL0V>=|d)d8PqwAUc24&;_*W)ZP&WL`rWJFJhXi z>#w!7MzSa_bS4Io>lN?R{l^<+B>^PTLqEKuPKVc$cc@RL zZd^?|=@w!zQM)qO4Td1UXb(Q`iw(u5l!57Qh4mtCo(fi@LwQiyMPFJ!Q&YG8wj5)t zeC;p9E2vZZtw!);%6e|j^tm+9n#c{(GR`JH&Dp%EMrB3*Me7Z#<}tRpK~sHI!}}0M zH+LTu@L$W1>czmg#<4mELhLx~2GKV=;f<}r&Xx=CtKOVE3GZ3WXQyrs$L>*WkU$RK zu@mDAw&=_CS5WKU2}N>1|J+Nt} z6iWN|W`S<)ff8S~2mm+v+}};h`o{CZ7Z*}Fd!Rlg$w=6y8;jfcbgXL@?50W{eq2z$ zf$uzhogp}>COj~D`>WV$3aYzqk&=7_0uG{a$KHKHujP`#xz|#vGU_>m7eKIs82?7N zS=pn`f_`OG;G}JeylQ2#)s|Zvnlf_tfmhA5BE@|mB_x6Y5Nby?j z#<>4Mvo$|K^hdmQ#&-|+|G3gLK&(T{&mUK+8mHk(Y1aj(o&OUd#*va*5(qdYZ* zp3u)6xf2O}Jr@u7FJYH{0^oQDX^fG+mXb;Xr!ik_{#CLU=uBit7~W4>&eF?+O&cm7 z&V~2fbc{mAS~^i8d2pcMDJpa1Q?y54RH$X-iFo{FMbh!Hv_)UBQm|*X5m;?~1BWF{1%GvW;W5=QQl0 zdjD6IyB)p^rIC^d1{`MtF7EbkptqWQ<7$rBP{G!rjp=5ZA7T{*lXU0=4JTDA2eG|r z+V?rD$dG)+V~m)Bln?C^@Cm(*%GNv%UL5&K-a&ocJNR! zCpwEAo3R{0u2es$0M_Ru^^e%6kTv>8Qp zzr$We|H(#WjWGdU921jPZz$~ZclvI*4z`XCIQS@JqM<^XwDS~=7k~wVeDUgwOJbnj z_SZJBaE$}@$SR(|yD!V{HTM?H*4B{MU10z-pV-mb7iW;s_*u*GcEY|NT@A7Vy&0cc zppmRmwe<>QXYxrfY*&NYknzUH<^>ZlQvE7N>aNr6%W={t~Kc#`^t696Qu|Aq5@!qUV9ePx`sadbEtFLQzW*)v8!C@PLYv|;2 zYKQ4L%Pgy8HkuJe?4K~UEEM4EzBArn#sDciRoeVy|Ej;4SmNXC-pbKE(ygk>Hjk5{ z-QKE6f89BepnEglHqFC2yi@Q8nRrfPM|r;?`~^p8?C$g-my`^8pQh_uBki5R;a(8R z;DlP;_O93?nCfgpcR}-nTIkxd5e^wM>G^t)2Wau+QVauUxk5oCqhV)t$+g`O@gS2_ z+YQGJB|h4-=gyaY+ZvCO|Kmh0Yun&yix$r4$CL3Hxzj;Kjg_+lvSyZ*kux0b-q)S0 zGB3D1dPI+=$^ru~s6>Sh^(T;o*?f!%e|Hmll?3Ii4MB7J{Ob4N%>q z+MU`zM$T-|-)7;9}(r#P8CdLbdu{qD4d>B&Kk29`4uRR*NKM8gs9rHpI zPX@;`!7W%DOu#xRrd}B)-!>Sj#p%q7c7B0kEEh?%%oS$KqC6?^a}Js`7HvafAc+*Ni(O$p)^XcR%EXz40&bX+>hv_+zrg27TT#aVeDk5^hfFLzs5_&0cGUi64oc$FtuQE;qEviY@NG<0ZS&D zXtRm4;1D8M?=94ZtE*i^2N~NVXORUNO zD6X&r@8goKmof#6la)o)b!HLMZ+~AkM7P&8&x}f8Xk$N;Q~^9CEpJLKRsTPRg`dKq z-fO>pw0yyUbM-rgt~MIq08+PbsX}?uCipw+pDqZUIq(Q*X9=jAzPDlysA&}}CmNg@)W7M}LT=)SH1FIw~;wJ3ab zc4%~>R}O6YExt7I$t#0c=PHNWN3O@hcu?&i-!M4cgsE!)v3t8|)4uIJnQl2kb&70! zrO(OF5frnpasWG6-74Wkr%@FJ8yHCkkW9Rph-CH@3z@)#$p$j;>=}(pxZ5(cUdaq3 z@U7hRGCTHYC`zSUx77eO_*Mg>hM)nd12SvJpB zEfm6ONm5RHMN99^dClgg(7q5J7|Q33Ww95>EXXQb=m-%N>ZwC}a0Cp<%4ZlD5*EVK z@(RZRsh45)r$m~wXWR#40s<~rfT@+Bj)u1O6cY;S@om|dHxk=t8xxMv`Y)JMJl9rL zLN8=l)wgb_Y{EbhwV}XVMTe2G98RhBa#v7}#r$MhQi8B`!epv|tag#{CT_2X1qMi0y=NWQ z2hBkONo=puN%f*sQp!T@Pn+M* z`}Xb{q%~zu2AxiMxvKHE&GI+VXnG1B`}NJ(+G}!`jM{nj*f@;MpEs4cJu$QUSfw9oTd^v6T@Ol z(jlTl`b=GQVPsn)&31-?)}|%l!Nvq$W&Vi{X9DZFCWwKT9%4@PP7Uv@&)3D9ojRg% z*VJ;RW{~3dx9sG~pV8P_W&b&4ct;#$s~R;f;`e8yf7R*)?oIY7?o5LI&Yb904rv* zNohPg1GvDO9G2P9;cbsa&LYo9VTBMIKPz-dVQ6FHql4niplyPSeMT=2jH3{mU`t$B=M4E2u7mty%oIgLCn(ZFAr>a`{r^^?2!)YUcaANX;B4(93e zEP$vLH6GdrK{<*UA8?tzJzO95a)op1wPCw=s_(}v?H;E6$=<1gx)}r)_n}!_eU0ZF ziGSe&)38Qt&))D007H$|=J&{hAa{$O6zVIo(n0-}d<_M;TA+ha-VVm5DOD1VFA7}E zu99|y$%=vHKJeyS2p2Uf zLW;{udmPeqPil;X9M%Oo{ofp=S-acgr&+OQJ*06>Y?tWppXr+krV}@_qVpv@i2AFcnwx?WCG`dmt|v1WdDm|$)s+U zztih<#UI-o^U73xjoIuN*qPC#aEis;pv$*Xt{#ci0>UD7$w{?viC>DvkO-NXRO1Xu&CG0vd!u{VY?))k$a+=vtw4`ooSxe zUtdR`uJ#GBo+34>RSW!Zmi<$TH?J+C#YtNpGDn@mv_|t(+dsK!o{Oy!vS{ch4azed zhO#WG!WH>$?J#i&>ysT8#WZtedKoLHJ?4nD51^8fBAo&A^jDwRBOATf)e*@g_BJpu zX_Xg9`F3&d@4x_@eTUrK8Zv@<6T+WU!hKD@zV)5Rfm?y;IJTugrPOZ>>hV%pH#@?z zUl89S_jl-Ku$Pfv!WfMgK+$d9Zt!d$PMZ~jn{Xj3m`1;)f~;e#*HY{(^5ozuzkZ_9 zoelDvd0!&1Z6Yr1;!ktMiOfo>ntrR5C8wSA!stS7)A=P-xgV((oFaPgrmTyd=Hru2 zWjZ-N^+7lSw>Q+>>cvwIQiYblry;-R$`Tw|Gvw89Yb8`9SV$XXZhq#3IXJxEmb^LN zk2an<+5(2+pSL>D+rnM2-Z67S`99n{}>y zzndiivB*0|w*3)rOR8_*9~Hv$hf1&aL1bDPpu|sD=o#RIM8{^Kt`)AG_0ro%it=%7iuP6zBn zbsWhrXk-E%6g7a@s8ilVWpXztVPBzG>KC(#CHKpR=0nB9^U?Jm80pak*@ZapUM4m2 za*{MJ>fL)}tQ~kkR)c+mgIT_xfsg&bBQfzD+&BDY68);%d@DZ2Tt z*&o+9h?S{ksCRWr`7YUGb%2n9Ig24!^e!zQf6Fu5o0~BqPHx)|A88_&Y1e-)*UoI@ zz~?7|=8E{PMlD)Jg3h){gcV9urgrlwD8L1Ru6>0;u!mB5IOFNYqu76=gT z94|+Gqgx*zU6s(Jy9mNZt42J#zB*)rKnQgM0&Z%nYt)dZD0;MuA8X7OFc$U3*h=lm z$E*)^8x!M2Z6ba>SyhLP1nz~bm<&=|=8^<4-+V+(2EMXdmG3Eao3iJ)gBXG%PG;rZ zN1&_KH=QYl#MOIj! zM$ZxF%s^D+g$;8yey%u-R;%z|T>liCMjJJ~0}d~q-q?cvpb50Jy;#8F0kO(lJ;NAY z!R}#T0LmWoao80%@GcXe_pEbE`)Vg^-f2AU%aPh z-g@BO|5q%@C6WV?s17;gn%^NQ$GnpPDgxNAydYP{H+QG4UKJqEN<1PPlBoreaI=U` zmss~R8U-^~+`B5e&?2lrzF?w>=4|s_?^v{aN+`G%(%?z;=&yu1t{$Q^XF?`1lZSfM z-g(g(>lM+%T8i%>?2F<0hN${AFCG?F3(d$+$`NV_*p7J{Wv^mc1g|=jDydUO< z0K=)YQ{OFo#@;S@C0x7ZzBB1qNj1K%yawDzox=!k=(tE{>Kp~M_v6gLv#4RqsP+<4 zXa+Vb6+_9G{^dgv4Z}A$ddrv;!LKPcHDh#`&ksc8ZudWK73k@cdzKr7=Zk|dq1?l` z7%#;%(WSZWN(8?qV=20jwS0psALv}4BS3$gFLsvJ)f3uWfuvwyyRo6w7fiRksfibqj zEbc3Xa=hsvs!lYyi!v{s*O+6S{W|F|Nh39+jdcZa+{8kImkRT4?U6xxbG^9S-pb6T$PgzJ)2QeIBU@3Tf60Kz_oFx*nM5S z{Ath3q0NJxk48u5HW{By+MLTOM_7})WTS~wzsJJjWe-mm#!MCdOO>*DO1So}%(}x} z7_yGoYeO3^;Wo0RBA~~>CXPsV3>4km-f@`D-C>2D#$0Z;>?quO+w%fC z_pO_HbFv3;cAcUT&xz`Tl@Fws~o@# zUAnY;$04!Fqafz4?hf!fMAoWTh#z*yLkE#@rOX640TZU`7)Xx^jW>&LH8xSkFv_0d zuM8#>?=8U(twj=g<~NtiG=tdhG%C)}A&Py6dS>?=-=IIB_Om4J zZXxNzbL82^_V%nLx3y${%!odi;qR%^0}xB2ygVfQK{hZg$`>`(7osaj?bFv7Petij z12v$4br(q0>IZskKYAh$)t^nto*M1gDnvO}&tH-V8qYH&3z2A!z2xW^ef zUs-tzVk4wmMtc{68HecK3Aa#wK;v;O3EpWgY&Bd&uD1oaezfE?1s~EM<#{R<_>Tg| z$R6erg9w~@FUH9g4-XHiQx+LpbXaVxA##7AuDmpMrklPG6ID=Ji=MOdo{M3=v?;ks?=s{wR>MK?vB{y(W&5u|5tpLRgo>$&b2aSNgB3(+oYRmj@ z(N>SuG>Ycwpa2FE*s)0pyNBhK2QI@{Gp-euwB?6GY4M;PsfwS z%;N#jL*dx~#h-br{OMIu0}SDF)(PXec5-)28+=zDe_sNFqsHDNg?1XhNXP=)F))>d zXo~jfNPo#Dt7tZ#9Pp65N@$e$f3B%JTVtBd9Cu+v6?;*nU9mVJ*>T}sQPq};W*^;NBpgew3y^&>Dh`QflmzAv4pv4Xk?=w zC4^u1Kgv@7+Q~g$i&xW{9k;HKq{Db<{eVCHTnU3+!bsSJ>x%xqFcNuGUw>{(iXO|& z?Y8M{iXYsuMyuQnzuMV3JJNvwgLg9b-wrWd9c-sgRH&?hjJBnT0@p76CZnFu+aFr< zRIKIDADgGED9mQlyi8OYRC9RV2-T$s+yDv1H(?r>5`-=P!zE&qg9Tcc7Vt5hiyg`K;rC z&wV1u06kmorTA_BN96Bd%+NFUTkXAq$*4iNM>L;evS(tjIwzIkB6gS$HLv_l$C8qM zuRA(6UR=LJ0%lq;c!E+OnAV}`nqgE6bcMBf3A_P+-|}=X zZF!h3);i_M0nh+0(u>z0@w(IwpPj3}Ea7$boWQPgD_F~IMr{$d&d2XGED@7D7ui0o z$xO4*3ef)Zoy9`~sd!34fBSXPh5P5`sYoxT!xrKyoej$_i*=|JIxeyQSRJUQ!1fo~ z!OpJ;slubdtG4J6SBlQS16)&F0$tBsWyVK5Vh*GH;;s-?O0*~FSzbk{yCD#fMjuc+ z#*Cqg?p|&(=0ZSuf4j3=1>WHHe?2$m!#hC9;6gUg4ihpyNY2=z@2-<(ecrjsH z*^oUrjHWb1wQO{Ko#)W+Y}Wppc}{s=Nbi%ffeS0{gK0e#j3;St%D;6fH^%15vT)F^ z$X;pjYb_1u>Awe3<*b;`&(__1EBuerUx7;-do6_GX_m{PSrEF~Q4#CIPY}P3Tf3tv z>DUf&pd0`0HjDs+Ycl=?>xqx;NFw2O3aqX?BvgdL4|y{yNi`gVTFR1aA9xj7Hm%hi zoe;rad|_a^F6Nsw0_kWR`@aI*c~=|{$c!pxDp0C{P9LZ(+G4dIuVJyJNFDg*y#0PZSjbTb#VY5|9sjlqX+sBiLP3#L8-Ep3$=^bs7hpAog}5 zO$jh0KRe~iOIiah=)Udn7{9Z$~ zc#Z0yhEz|sB|tepoO&j7h(c4aJArisXF+9VEZphvv#Tnl^Y8k_5M$zSwJBhRp1BL+ z#09B58(l~KgH{q`+3K4!giye_k?p+QhHd4#MXdi*+$+sr5S zELXk!@A1 z&KNQmcuAigoYH$AbYP`qv6<$@4Qcwa*#%*7q;JBukq&I~rflktl#8sV{&0?s!iA=% zj_CTlp|1|92Bey>Ba^(7Etf*#4LW7CU|Z{IX}qLQ+aew9%GTkN^r0RH5tMtR75+e5TdW-HSM}dKrq9U}P90?r!3h#)2SzwWB+yx2g|>rt5EJAFH|dn zlUV~b+2|{#1H$h&h5U&IFyO)f#IISlF;X|AY}*?khw!8oOQ_j?8?JPL_Z2ZuX@aPD!VlnZxI>&zqYzLil_($>-mr5Qa= z?Bj@Wr?C(Ne#DY0=b3f?t`I%DGs%C#<~+pbx;MILX_89&GCQ^2+mXF`Z$%|6c31Achv3X3K#Oy*$(;?+FAvoO+v}p5Do#a zk~EsOdwGTo@l&>0y={4JHxVUgl`&64-?vMEjR!nQbBc0d0uL_}?U4}n2=h=%)Hcgf zvpeSRh3Vj}4LyVhaNib3>n0f|uX>*^D{Z?sXpR|1T4fCiXV~Jx%}MscC#(|cAAw-3 zi(Sl`TkONjg$?hf)ibkab3e(DB|heSL0NBX@EyCWD|@evO*G!z=}l+aU<)jW!gj&g?Hb$OKH@OKvX2G$YM58Agaw>rE@HS zl9@zn1gwtkmMO~IFVPcRp2BBpul7FTp>5i}id9f2?rpd=U$m%pq2f}9_WR-%9FTbA z7qHn@_0y!VKj{Ja&}S>_9djg*HZ~2<`#+(eB|Gtdo{-PB(1Vc8KmT8&GnLoAc>c_q zxnzj9*PW`F4dK-?i-bSxbyBFdLf$j9nw0*TQ>|AUEG zW|F)S_5zEjG>yJGaKjMiwZz)n#)t0i;7DSCjr^*|&Kl~u8!$>poAg-!T@}dkghZ}m z=&|4~IF3j83GBI)7&mC|z13%O0h$%Ld^W%$fD*Azt32v~&v5hJAJk`*`r+`l)@#F} zyIE_WSSFba+|9VIN$`);4Yy1p&$eu%83{sJCHUO)!T`g=)1H{qqtKT9PZd{NrwBR@ zJ<@%lpp?LNgZ9Dbe$$u1zc_T8`!(zLG$88Q)3GiP7MuwjXGWq0`A6P0Qy5sVyLyON z#XguRLzoA4qv4g3A?XGe72s>tT5S-f2$HGw&sQ2KT@*8!`Jl7w?$mAzUiaza#&I-N z^WN3MQp0-&hwmnV$-S=Ua`N8+pggGIIJq3v(OU?1j`)Z0x-W zbQD#$HeB85B%P#zh6IcuK%)!+0UKl!PU#XHjQUhvKWCKg@vZ&MKNf{_+93P8?yFN`Q~F1@w`cYp zb~{cO``ynWOYgj1x!t|A6?L05nK5QYy&y~{Hlq`y$1bp z;7qrQRa*Qx()aqhP79;5rB^y-o$njzPV2C;)$l(j_1PR*Ca=!1jLOGmG@bCT+GUH6 zJDC?TvElNThf7|Kx>{#scCS%R^U(flZ>>1qd3dYw&RT10jcaY0e_}!A!78K5PHI(p z?bPQdecY`0TLt~n!xtUhTJiCy<7pq=U23?t=zQrZ56?9;)t(X6a?g#%%`VOU>3Cw) zm4y6+(&=?erN2`R*-tT{2aX3Go54@_U#aP_8*od$Jo(6`5DKNvcNZ=3ktjz2Ok zzI(q!PJa0dQN_A@9a{!8J0-6CvqY&||2lD`>Z`}{c6dA0dEs9z7nV&balY8bUZu{C zJ-_X-tx|E{;nmhh%Pg%n)H0Wxb>~jIv_1RYl7D@(c>D3K%2|8#+f-!1;M|1`t1n9V zwqBlmuG_pf?|1&Ng1e(3Ewi( zwrK8XWhi+ps`3Xz+IKzlR^NHc<_+Eu9iQIml|;|O4cj-*IQYD0U0->|>2=$B980e9 zN%1oghiwbmU0IdZt5U~P9{JGX4ZCJ8d~H?XcMIDY#pa&l7Yg3$QS(Zvi|s!NsnPJe z8{rQgq;wx#b=-IR2c4$KS0qQlgI^RHYl8!`OF zs)v4kYjnb<4Kp6JuCp-Aet64_lhYFmem2EcsaU#J^A^~z-}cHk-kRo}sFP|~8c-Hv3zaBezuXf)zyPtoh z-4J~vFG+YXxw91@f+Vg zA7ifkqUH1-^Eb{9H^%ijx#1hnyi%*GGIequ$qb>dfu` zQ{lY$cW-q5utc}&uQe@qrOe2p-~B#t^LrDn?bE%5E=pcl#@EU7uHMQjO&wza^Ehd^~=`?}07t8e0!fnK|Xb`rj{%t+8nA z+75TeoZ5Tv`uku$_ZatcKtbRQHzc%uKqmk`oLQ$)$_Z~+&1BU+@OYi z!>lE@G}%&j__CS)cJIjz*OxD4vlr{w?W@km-Hlf?s~0xRed}J658f5~9VuFAS;gF+ z6Rvds;`(b#+Sf>S9ys@?Pp4+5C!RUi`P1h0Hyh83wa0GT`h8Z3ds)X;)T#d6{N-0B z=4CG&6ur$i4h|5b%EtK5%Rwc9;^T7&$7M?1Zk zv(K78eox~=)64c6Gp9oTW+^W%G7IlLN=Pcvzv_rqIo&tC*65^R{P6yPg-bRJ_q)f| z+P44s%^^dxr*^2fvF?w3LTb)Pto&U0AFkD&pP84~>Ss^KM8h>pT*SlhgLA@1tQ}TZ ztNd!ij1?J;k9N-=@_d_?W9xo1X6Bcx(zBu`eE(A88i%s0Y;}!3n%bl2r*GwaoZ7ll zv2#@$eBb`1=qoiwU2n1Q=5_hocg{V3@xn*tPE9xzzjVZqTAM2!+Wy+Iecwq}yDXMW zAsddJYWUUcPfwI<`P=S7N2etN=Jy)TqHX`BMUUH%^zX6*9E(nDPEzjhk<4`DWC{$lh^j zQAHc~th=}O_D|b=|5N6^m)tY=WX~;K>~^yaOIP%CUb}qN)UoFJRZ(+J#7ud8oju}u z%g@7`#_j9*Vyy?RH!4&t@mtgCr>AEuzES;?UpMaB^Z1i3{lf;p=Bgp9n4Y^HFEoPYLy-4vLKelXoxqaQ}@H zmv+7s`pbwTIUC3AsGqpfIV)Rwqt4d3%RKkT?EdAYq8n=sFTDBw@qO_fhAj!(a&uw# za=#6TO6|VuUahk4*6X@s&n|aVk?-dwe)e2Sj5Q~wQ`*4DdtHy;|6)x;arlX}^nu&r zKXiOwt8UL1pBw+#=k=3&jd-z3(b=Ob7kkuW|NKhtEjl~t%Pm`zcGR8p=G8{aUn+iQ z%)^hffBI>Z*!Pv+qDEagHLPmMcO2&?70&Y|`zp^G{mY-rcU0Y;=*|A{&xfC`oRjtL zPqThpF`$)Ut6^biUd=Z7-wbq=Ka@7}*wo9V#z|l0<~FGpJLraca@4T=fk~$to=h)$ zs%YSkcS}6Do;|(Dhb70>o>O)0mvvS>{9+V_v; zA3GpfmY&}>_DZ>dJI`hBn-G>1*mf}{u()+8VcIQlkV=Ia{FWgyrappIp!0dia zrtkXdMw^U2&pTrtUvAdERhNhH5%1QsKOVE}`&FY&rVMHQ>;WV8IWOM*UHo%F>py=V z{`HD|+rvv1eXacH$TcempZcTG`F2NN4K!->*5v-pdj8VvkDL2eR!y7co@E&L+@dv= z8byS?@ciuy72AHZ$o@Ef;*e6NqNZ7gv%k3Z>Vh(jtR++KyyogN^w`y%t&EdfG#DFq zXK=!oj<>6>Es@isVeJE#Yi~-vRQqJ?jdv2?n_T?uQPqOE!#s@7Tlde>s?z8}?bZbiZY&=hExTn*_Su4K$nG z@Anx)9Rr6O4lLilb8*RG%VXONn;u(z=E$+jEA4N)-g4ah%AGo|ym7Pp@DJ-sH9xh! zv!lhOhS`JOjPCdPlt)8z03auIRh7hSb_S^L*5`Gh_B|8a=G& z!ItmWZPd4@_-Vq7uM9JL#6GJlkk1juVYt%1EzrI#^ag7iDtXHbc z1n=Yx^BVas|9+@TRL2j~zPNq9?>GP2efDtYxdWR#f8fg>S_#$KR=-v2+l0^T()%TA zd@_IC*Izmo*k4$-=gPpahdt!3DgOJz4?ny$EascQqLI`36*M^f?wlXSEgboM?BS5= zt$#b1|I&xe5*{91zNuu*57TzW)Gj*V>gaL%cFep~(_3nL_n0<^2RHe=W%kd1%&Gg* z`Eu#2XW)y;zVpY9D?IjVpXk2N_t>>2zskLxA1>H&r?imooi(|g)G>Pc@_LT?9bfLb z_>Ebo7R?VYGV|2tK~vv5zQ$rZ^i$vye|*|YE$8RYnzL=BFrJQeo8U|fCmw|0AG*ZU}8YxeW&nvL}KfA8Z(mQS1;r@r*ly%Kwmef#5p>B;5K zFJJ!ikT&c4)|^ci#N0lTjMI=jimsOyJ+yM3bS>ZIZR>cfrO zKBzFEyD`1r%)PZ!^`8uA6qvI4mFer`F{k=`PWC3zTlXe5WD{PkJ<4>G8T*-Geq*wyPUE0 zaCu|xKQ~0x|2lry*khOa-fj2xqw6uhG`PJd;pO}98ykfF@>a&B5dY@`QybRyG<&XI z+5GW|tsl61_h>kBT+_2@QKgGN?0o9*p$1*Q_@dV8j89J1f3In$jRTrn54uy|xiNlb z%f#c=EbZ)PkJn#0zecguv5h`1CXA`GY6?XyWq%}X54 zUG3^w`E=cwaaGe6WSeh<96NZn?)+VSzU_D->1OIX8xrP3{dVN$hJGW))&6Wo-P(vQcwVo=t5)6aGogw1`7dg&{61;- z;*LGT%G9`U=S=GMTZgAUi2kztokelUKi}WF^45e&`w!3P`;onV#j=@S$5y!0b5Tsq z+-e!Cn>nX%zTCUgrL(D>+PU%1@$;tEO`dyc_`j}qD6HD5-_NEUX)&iF8^8UWGb5y8n?Q8e=^r}l zKa7bo&0Lpqew591&`A6S|zscZ0rBNt#LoMd(;TW2=~C@Z@)dP#)wgao08#OTOh;M!C%B66u5DX!u4+7 z>Ngzh zo3i8x@8?paxJwf3VjybMZd_OTZGuohe$VnZN!8_G8RSpif<0R%Z&PlztnikyW%9OI zv*i%ru%g}q95JXb3LLShHvmUG>w&`p3`I2z1`UHr%DHB6%<&7(&-{XGyI*i$@C%-c ze!+XmZxAp0g-yHtg8iVM{6oN7aCqbp@HRO;vf$p~H@k54?DSjQxOzYLpY^5eKmDf zhVLUUWqRak%clB17DXTXZ2HD&zE3uZKK9$hebarx{r11(pItQn{8sbN^O}EN(ERfv z{PPn0^Ri^vbVUlWAC%~u{~LbyEPlpTi2X(QupYymwHQ9D#qe1zhR5Jn=Ws{$8-guczFRCSe@?BL(%oX!Z_I7(k>+(um5Rc* z=J%f=A^xNVqh?A5_~gQg9^ly_Ey_kcd~5Lv)FXBch~1)64N2Iv-XG$cCneZ&6#t-a zgrHuq;#u6~H$fI-PY`U9AZ_r6h&?4!F6uU2@nN~^{Nc#TJhQS@e#9A1ek+zs{Hlyn;YP6| zhtb}|@7U(I0)H6kH2h(XE-HTKxBjeA8h)3Cei!-(1B{JQc{Vlg1C&4Zvh!&IbN)agmB&8K1WL!)b5g$2b-P z{Nbe2@P|9Qs`y>!{aF(={B8|@Ht@SO{BFowp~-`Nh=2Z;4N|zfvJ!g={#t8Q{J^W= z*W#%t@GAH_srZSf0{K0Or_UtDHsgl)&6^gh_~9?KxtaDRevHAfz;7m#GZn``8pLp@GAJVcq$6K3Vy^BKz#gBPKmKJY%%7)^G}i(nr!#$@)b#fd9yWW`wg@hrr&8+6`}q*#o>@m`NIPvZDs zGrDP&U=bQbgfzvS~*ES~(ovxiaeU_K}YO!lm623sfiMy~u~ zZPDk@t{&~0i>m?sbFZ*4F4(4bg}x(iGdCnnt{D%q)Z@NJ50KJX$;HN*6pE-yh+dA>= z0KHA4Z>RC{unhc85RY=7>Ce=7=~xm$OCDJNDDo9L@M*+yT)U!NryYxX*7NxlO@__p zQDn45-KNv9gTD5L|Ij`aueOJ6w&ds9X`_{h(=GVpH9J2v7jcq1!xxS}GyWp*7m2?p z{0Ty@fRHOi)27J>GBGFLoUhuMZ8vK?vi{3FlEA|dpXoPL%k+m8$@GU1KXehHODLWT zVHehiRnPPrEt&oYcxHVlo?j@M>Hi(i9y}Y-p7p=rS;F%RHPre$cxGKG(3)Y3kWJHl zp$_B#*JPgw_hwupaCM1%BFNA7qxm zGwnei+pRs9Kt1iV1JAUNL#yAa)zdz4z_}66p=C1t#7!MO;WOG5hb^e90GX^X0>09)mv-Xca}jVJl&7Z!|3)ZJ;! zk?q3f{9Iv6z7VoCKN9&j5@TDGD@=;Qm}bFvX2CcX#=db*@|kgsz|}5@`Tw`w|Fz5i z8~#%1s+uR6AImEF@qd=vuI*=jRCDaV%c*+)H6g!-;_shwFX{CBn-AV1;*EKM`RKC; zYMx;H8IT7zwTw+Mo zHi-Gmr>&0~guB2g` z8BVVpPQGYI40X7MhR(G$3=t@|V1FbMbr~8hdFyoKHy5<+fS2uJaBp(v$izw=Lm|Vg zVV$mHMIB{_f_D{QWV>|KS=bI`)F%`)Z2J-FUnFkYBbWB*6(|PUB=9C~@*(cV8tzd+ zGE7)gu%3872A>E`|2J{fbs-7mw7-BC|m$>5=5LqX)<;cBPh z()FUAM&Jn6^}5D4k+k4x)@(ri{02d>Q*qR>eCPJZH%)@m_dNWR&)c-;s(eO&5d-x% zqb>E?)e7qt5%!8J2(f6wwF0h@xW=Du>%Ti|Z@v@lNBm9u5VS{M zD45N_SO2)`XIruFa0B!Hw4gSWHyrdg+6p%VsM~k(c40LB((uaj~-OR|Z9 z=inP=*pdCW9`tX5KJWbP!X5Yvzkutvw+l<-?X!bu8Vgp8DTC~vt{BDk`&gi1R^*}HqJvuoq#L;If8U&@UoY2dT=a$9(nqLNM zF@c<15QF;i8hsL;1)--h_9Y1O(aadFIrP)$_x#d%ZP@$9WWyr-i9}tAs z@h1l8pCKqazeDvk&IxKkrx^G&$3+`#!s|3#>F2zkf_wUJYxWz;432ca6+S|LXG|7D z-er9v>JzN<&qw$0|v%A=R$Yj!yF44i^zXZaPhpDxXh4yuSMZao`+We?-Y&q20Z_A_IBYF z{6)b(4}NpI@GSnK@%%FH&phL^PLAcs_a0o`@J)y4I}O>?1z42%0Q2`!tqlF8lo?UB zP%E>dOhEsHqCI_QFMN;lQu3III@&@2Jz^qoiZ-#rt|%J?yO9RDAnpa&Hlf}!xhi~+ zJ`jQ{`}2LYbHfj6vft2tBKsF@TT=$wQXZevG%T1i{sqgTAS^>QEboz4!_ZN~U_f2C zOZ2@3{*)6cboUKr8F&u|j{)p^+`G_MydGzKi0B90AHhB6*StT3dp-Z}$35eQ4H3iu`+NlO zUP2lGe5oZ`{VMmtfaU4V4Y_O52<{iq4)#TrXEp**OG~ESF_v@&$ zq7CyO&pW9jZ9qLa=26!vnx0octLvfbS@5N*<2lsDfKLS4Kd}+o6UXNo%~zlyPulrg z&Ax|GM%%Fsv0H5%U!U6eW3BBT^4ID(chF_5(CW9Lp7vnfTkxR;$OXF2?CXK_EBMsM zprfwT(dZBZB{7#nA1|W+B+|ZUugHg;1iKh$8LIa260~DE{ilc4hZf{E3)T^o>3(II zVt*wr?aT58ge-$im*s(nf$d(=);ZHOK0PQ4c$jBcPaju&A7!baiA7(q+-$?V4(|dQ zFh3txSh!1>o5Pnm&U6CyQ<$qn!B<$%`8#u~T3^g==i$za&v98k6Z zoL4pecOR?ve5m;<$5w+Q34Etv&NVua2fwMH@nApZXtwmDodJG@aeJ38momx!j>h{E zX}}BT%mvID^iv&&0T}jbbYFu`x4&+C^7%}wKZ1JNkU4|>qSS$BeT?a$MO5G2`51i& z8SIzQz{ni29A!slVVuvrU6^#rA~^6jVfyXD?)bYi4dZ^s({bK}wI9c0j`N6jpTQ;i z@DCR$YtmS(y#t(A^B=}C+tClR zXm=O(r(k22?b7;zV;uQx*PcsJo?8kS+*AB4r_4i|4|5D-8Rzr#!P#1@^g|oy0snXo zd5m+61;{mAGco>o&%Gf5^E!1r@5U=)Z$NRZ?XAcM{j%~b!d#^dF|*DhOp+}cAHg-K z1Tnv?=|#SwZeT#!5DhnUGdRc>eriTts0V%MgdWaG%2-Uy*+F`+Ep-dEiN1cC9+-c_ z*GekuFw!w4Z%vWQb;qhM9WTiWF22DLui ziLoDjvkSgza7oHs!UdnAkLu%bm&Mf*2KUrt&%}=t67+BU0ybM}hu)GBL z!DC=fLi>lfl8?3B-uyo{JT7>aZl^}KJ&0~A=-j|>1%3l`rVa_#ESY?>h{wh8!x_N% z6PaY4D^t#N1*eny7Lmy)qs+-#Svz5FN%(Cv@Rp>l+|Wheqp>hfU5Fi&hjuAJK>MHJ_>q{${7TPeB`S4vBt`8_fAFv7!z3!w`>|GGk~n%6ToV?IW~8 z9efwIpQp?TdutdIQO+{-3*NiOSO|F_^y$76YRBA5^OL&d0oo+2>lSExoLJW?V+hAh z(sF+jF*_7T^lEU%B8W-T_tX8;b-DEit7 zlNGyt47+jvpf;{1(CPlY{rr!GciUIL5ewf4aiYK6u(^wNSK~6lHjh5(GXi&*rb}hW z3l-+mj{>^wmcW0?J`-WZ%;7zJ(tWC+F?t ztNQmm#YU%Chjy%IIrT%lD0$&JbfDke&BV7Hq(L3`*cd~rKYd&f?EeW4udKwGSG6PT zsn}r)?cmhx;1YevyRf6^d#LdqM4xxV-%$1j?>*|hi}#{>-y8ROEc9eKu)^P<%R<@Y z$dr?83*{w{&%I53y`to6yXdQ}`4G=PNY7YE20eX@Z8-ju2D!R`wlboAYLLB>t!RVt zbghj2N4oi+0*6B#Yv=GDveh-LQ@z4g)F}dZ*uyFZPo)mAZ(Xv0|7 zQjICa=CC97D$%FdLx*ew_~zr;a4 zoCgitGd7Ko*+x4rIgN7KgmxlN+DX*f9MkGb1LtXN9K?H4iajVRB1qP2`_+Ep+K2XP z3mfeK?*3fGu2#^E zR@*R#Voz}n<_WZGrvT=77^AUgi(DN%W|-l>gEbxlH69#W`opK6r7N$|mDA|T;L4mG z1FYox>=8PAVkT-c+!Fxs!U&cJk3Yfzk z)b*(hWxp3OE7~!~5;{jC{^P8FBQuow6tXa{DtJ;49rZP_5|gNpaZFY6#6sAWaixzn zdX7})@=jv#$~>P5@gVM8u$PEDgfjX`Rp7OtPVmy!U6lOUpZ(;}`pJtiLa|jhZ5){^ zhglITwng{`1bi?ygbGi`2F_7A9;su_TqXBe{(-gvXw6p0#u%vP*0~B#E9jr)i#><9 zSlR_=)*NTd)y+dtkPJP``cvEll^GVDpw6lJm z*+I6?=mj6}BA*u%)x8+%{}B5L51zrY7FgZ_7EDBy`PBQ+S$Q`=q%SCTj{AZ0M^W+!TvK;=F!oI+o#Dex#+gyyHS#pe+ z2_N7Zn)~VMSjVv-%>Fd4;q!5AfzJpz?AsEIFYSC5ei6AO7dZ-N<_Wmxz8cRcxX-TS z3do@yIqs0BKIh?HCw-Ou++VrJSu|)YpeNlDiOQTu#{&w0in0 z^Fsp8FKQV7>SJrsuOaBy5$IP%4)kMxgrEFsM=;k%%91CkF*fzmAPqF0;*sVUaL=R8+99iC{$}pjh>nR)jgnMGFyQ2_`W(6a7W$HNdd?L>9f$+l0-4|Du?_oGp9f$djpVq;a-RKh{4)VpENFF_i=eUE z7brB;$7EA!_4?DO=Xe;*gSxTa^@DtUSItFNK zuKVdDoTu?@G}OZ!iM=YcYYD%25xVnP*;jxqMxiXmHATi48St#u8#s=xoS=z(hLIv!C_;bAeXbqegtv zN0lo~Z-Nh-owD(ptartcYdPc!uCY-=N&! z60rS%xf%R`v2AmfmfIsovd=GIPN3LSduK|Y8!^u_ztcxT9JqSG%O(1*G*$CDedvj= zImEyP48qq`_MS`fuR2F7>h>3FM}i;>&o=5jtFsu-Dj$I=D@@nyw_7fqrF%kfpWg{Xwd2=p^ke*v@PpdXLjTJPhhyeSH;Hn zjxfIrd;nU;v;~-mkNf+4w~=-x|1PlOMA)w#>_<$b;W$zO?WqIvEb&tpj*Ge<4gd}D z61y4kOf1B4QIp?`av?{-hWZLN=n9%1nhsr19}4;k)*Lw=bd*Is1>_xFMqAL>P)FXR zqmH4VnXmDneqVs5f}qYf$j{=14xrf%9EuH~&lfls!kV*y^jIeq{JZ`kuj-Twz1Vlu zahxWvGG##z;!)}#Z;7TaV~)0>9>hwUQ4bvh-i?f8IqO+x0AF2C=2yKg$v#i92kRAG zg6zRL5Aks>X0xMzfsZyBr(u|g+^_dLebx=1j>Pp(>;-UMqpydQbA3EB@6z_lTuqY` z;Z);;^GVL@=wHkqTrW4!?0|DNobOcGeTIxj~q_63|uj`2O(Maak7|`kV ze^xeqkNZqE&r=&4ZIFX@FKe=ok`FLZ2eS?R06n6$I-Xyc(N^gLU?v{opnvK(c9KSb zzoM;f!>yYAHlxm}wb${J2j%GP*D3AMmKcG9b9mwl*D#1mJ+PsSV~g3Q?j6 znYYr9;$12a+J%0v=Vs22W`fRw{6!hey~H||Jltyk7~DcM-+g0$r{QYHJ`m4j3=Y&g zv3_Wx=1r`TagIDk9=T4<3mAX7_Z6^XUx?)iShFx*?8$rcv-e@23;Rfe);-U*7Gjye&#JDnL z4`|GS=qn(t3%1669`5z`Z?3W2p_co2FG`B+W#DJFVSmYrcmf~l90PmO&uM$zmUBTD z1K%ays<`L-;1f=4g7Y?pToq?(3ZO48Td4ZNR%sV{K)%kir!*{L8 zgJUac7J>)ca}8jH9JaRrqv8v0l}6v6cN2>hWuW=vBlVm@T%oZi-^OBps*2IphJI`?25Fa_f`*`DIJf)8=N20Hy+`SQ4D+|V}U7Y6z!n$ISYpMY|d z(N@emeKcL0ppNrlmJ<*24%=VV>g%9B*p{pd#uAnbe!yaKi9R?}9OgF#Nmz4|#tgpH zfqhKd>-&eywZvy~sq-4*CQSoPCifb2nJg!5aC=iO-eCj{-{&TOr627o4e{xF51ezb zZ*~5}WP=R)NjhT>SNdxy_$Bq`o;CBWo@e#BO$F}zcrd4NAo;}(6Z8zVj)$Qz(1 z#^rp*{)&;faAqZDi@r6m1>#Qe_m!{>_JNgtixK8wZ_*i!J%=ap$2I;8@6*`psqdXZ z?qKlb`jS}V9hve<)bYMZP;5owUVpbO9QS&xnn;8G`4Bt=k@IM-g`LX2i5Ym5JtFYd zv2nk~?3ky#ze`(ohi~gTV66uo)b{kLcrW@7JQ(YGdnd{*IG>`wC8Mq2g}orp;1#0# zaO_4MwUCOJwjpNDKiE#^%{?sceUT^U|2kH^9_!LLOuoTKrQzCu?L)zfIZUUE zRQRZ}h%ppcgXItpb;3Jh@G%u1eI^CI!!@LgJuZ&D&-%KupY5WbWZ}JG)pxPxQQq@4 zI^q9ryz|sZ9h+dMIK%+_yK6x3sON&~xp(GKZNr?-xmYOV{DyK~UG!_OI(O}@`8dy$ z>6?sG?)602)VZjDF=m=3i{AqMUHx-fy#@6#7|V3bm}|xHz4BEi0r;Mt#SOBGfh3z4 zNNuL>#}ZR1EuKVRWFF9MLf!sEo;bhb>3$Y-0rwrbUl;;g7(K9w1Nyq~C(;(3mA!5g zTUI%K8O!x_DQnynhXNLT0#OTHamI@;#n#p^Fb^ym7H^jvd$& z#N4EpM#p^u?jH%*KM-tQS;TMXQ4gNEa_-185$?qqAmWqkgcBKF%HnAA={uZx*`x zWa!U1tHGP(XUs&DUz8^x?{IE5$NkqcmIY|XI{iHc?iF+V4rTv&Fs4}5af!J@pA*d1 z+633JJ=^Fs(?G*@Joh7C!o4yNHOy0VzrR|wl>y}jZ)<;f+7=iL*4F+|_=3fX`~%Dx zE|n+OXPjFo`2jd|okwaiLT&Ip>|sQJe+KsMnM16w7yXWH^l@?^=t&dqL_PSiAHG08 zaE`9!XxQTQz&RzCFt>ZAl{Anga^5Ve4K1ISKgT%=O}oToog8nvN0cK45?@DB~ES?^ko3#XOFehy@53#{9x--wNl-Qsx86UwuFTw_DA3Fn#ErWpg#Jg-J*JQuJ z)5E_Tb~M26F%K%pK#uzLnH)70aT8(_13jAJ+ZWnSq0NzRVZV(z`yE{QZ3%N;q>K4Q z9g~S^DD11qadh!B-m6)cDen`ssi@|VP~;Gf15a`scvA-6xh{x9o~yO>$HMblknh^6 z@6jk{Zf@i`v@tr6>pXb3AM#CjzD*pk3-1dQOzJ!I%z32}g`51gkG?Pd2|AbPD~~ds zc_jiT%NuLHz~AqojrI4H!ckAV>SLbC{?rdRUsduK)`avAz2CV0V&Cb0z%g9$7pppM zl85eBI!#rb26bFx>bw*m06(3M^HrS}{pne`I$bH94*V?S=T!Yz=clhh*>8eCpU6=5 zS}|4?*x?6@LjO8el`Ad;5^ZAOd=uEs#qm}24TYUK4l3u9)A#0A-TZWH;?j%@bew^osBm}f2CxleK_ z*DO3wqW^IH#rkvFH+5XIDEv@Heq3|wJoUV!?8!nVV>6k2Ad9)oEbx39zt;l3IxXjy zltq6hJ>#LQ_RTYWfb&c4TPie=#dk9{Ygo8u;W~);SWm39S$VCVa}r|Znuq%hIu6R` zSrz$m?^wrDUc*AYldZ%p`ig42;JA@okLg&9z-dK1{-V`$Z-{YVLD|(m)cnqImCqln zQlEc=|08y>cAqQ1tCcYZ*p6kVwRWUqpFW9Q=%B|8$0z17>cAXn07l&}f5Kjb;=d^8 zyD1B_z9x;XBi=nyXs8SGT$l%aZ%1AXq7AmmcN#t8#$t!B{{!7OPw04-Irj-2Z63^z zdSUFrx=4(U5mHMcUzSAPj6R6G6ub`OI~JT5g#e#Xgq|)n|MbB=DC6TOu3Rhe{!84` z-+6xk_gts&ejo0+KH~iz-1EGS_n+gQYbf4t$31cz;>Q_ig!veAn&RK~MT-A&eW1s8 z@Sf+(q(#42LC3X=PQ&x3V7iJybiurMwh&BLTB9>R!;jx71k)AQ>0DUnxR3+j*Sc)_ zKj%1#Upt=e&+^=l@j<_4jM1-qXx|P}_eb6%u_FEV`l*bt3`0#=jLzgukp=d)M|0L@)=y>MI_W=ax z^C(D{&1@2#}xV+%!MefRxztO&tdspK_d0fBhvV!{)`vl6Fv0`f* z{1h_VXnG9}s-s<4_o`OsLLJ*g02|i_?5D5G3Smvc_)NFO0@T|e#t1?$){ zh>m++I^DCr%Q>fR3(Dje!}ZW}8m8K)e->|sW+#1&p`EA)@#vWKKB=JLU_JNyp5TD~ z!FV~wP%qj$_TSK1LC3z*{lAHZld%j2Pjpe_K^LAw^dep-a~t+(oZ7h`=$QkZ*pFcx z>f=pt9u^#k6U-x&JdF0t!$()B;~Cd(Y){`++TuM7e_ejJgt>-$vHXQb7X>AY`+d**uHC*hts zo%hO~lc=t>o1&a~pXH5kkNmFWdX62Ku;abPIm*15^SGN@pE6$x0?O^c%-o)fwI|wh zy=n8pKSaFW0bTTQ_jl+=dX{mYDFW?++vs$+bvo2Dej|V}m`;fUZQqNz(&WXw2KbWk z%?0-`iQ#~TQO%Wje_E4CpXTqgWH{7w3}V&yVZT=7s_$)5F7x;djZUZG`kC)n<2!VJ zFpr|b?0lVOuSUc9RucBzm2vNHC`pZ0-5jfaW60&?bLj!>JdCPsO$3u%6FF3aSqy0-(VV?A;9Mr$ohN3|Bj!! zK3CUT>KF@~!XBKfFjwjrxqm3Y=SZWh_np||qTQaMgJ4B=@LHdFO6e2WkZXMq6fj>H zwJUQ-C~^{gSexjBA*A~Ayj^A2DoH4fw zm=7~=mwKe``4Jb-`z-d-3TDBoo)z$%%7mPy*!+g%XZN@tqJSWuOWmnen z;2n#+&3s=MJejvG*guP`Ed==QKiI51`|IRuR$GY1wYUTOJ2B;#$y4mm*EUP~zOstv zW!edHxQ^kw&y}m8+^RmSyf9WmhhSb<<3vV5P6MsHz957=!ETe3Z=1PCv-_dS3pPYf z?ieTo3=16i{t`OPvSDm;%#s-M-xM+2FAd)-0@RI`a2Lu=hV(wKaZ!*akTvLNCqMy^24vk5*paCWO=(>-n??H$PWPc0YvzCSA(t5V^c{6v=Gg;t66vU$fV#EQo{s;piLx)#eT+J0 z(%zkT??Sx8UOewrYyw*&{sR__Ka3v%{u3c&=F81C*JSid;3o1-ERJl$SLB~`j+3PMPW~5oDJWyqJJoleDA_09Qzet zhHpn=znt-5Lt7($ucKK7AsScJzNn-Bv7G*gSc4v!ex9pw&VWDvAlSr!Z`YAqE_1D^ z`}pvebRSpelLBz03Yj-(C;a|*pbqS806*%1-vNnp!Do4%!908w_EP-ThO<}r?GL~} zU3A?N!Ha&ILcar#Bk-?y_~%8?=`_0jq{TZi1<&IPqUZg$3SY+``=d5|g6|ysll}tY zh`+%d^^6Tz7ToR;WCq*qNjqhqvZF7&h!}!4hEe#9muK60o@py#4Nn@zGOxkk;V?#M zD|PPz^D5*9^gqrZ{$m~r(Q}7Y%_)pQn{AnFtSKmY>0iYRnE&BhQtL7~q`bP<$!~v- zSqudR{3_IK=~kg0FU*4>F7z4vFB18M`*8+`gm>MP_sQ|Th5Bx~o?`_Yd=oZju3}$@ zz`x5O9%4bqzM>ACqx1dof6Ak9>bL>G+gigry^@+o1$@)U@r5$6cn#PTe#jm8EvIHN zLNuR4Xi!Myo2rk>4B*Weo+p|75gs4x5jc^-Uoffw;=vS#K}r_=Z?xTw>x z1@nsbEmAPO@C^N-AbNcaW4>dat^hq^9oTymXp=61#?l<9-6y&l^|K@IbrAvr^PU6s zcn%dh`=2;zIppKHRV;|)l{r{u=Ta zHP%~xGsh1b`oV$ka*->U->y_O+=RcvKOOuXGM*hy`&6L2bfhww{|bEN&V%73Iw23-hb@*BY5crXGx#u3C0aslo=z#etgfN=s> zEq+GfJ~+n}=kG-TkMuWkYCMC7wCDeZuEM{;Q@lFtso{};C-3{e;t9sjIhw%+yMvB- z4gHH4gf4hyUc${|LgMs`W?m^_>G|W+rN{EZ>#=OnWHK_m0ABEWa>Vx0Ka={B@WdX+$ z=4ahUr(S+$>;Zq;kv1KeNxarCmC6>ufjaT_7l~-fT zDU|(EuPPVkc5&($3Vs|zt<*{5$1zlW_HjUAY78`Suf!?90k819FsjlYM>sj-O+zWJ9X-WGcoSjXzLE(g|30(Q+Z~ijuG(r z$h(;DH-c`#J`t(q{ke68oBb8vRreSE&OXV&5`kDJx2Z zU@T;{1P%R*J{MsVeV?x6c+0$|zW1?n9)ADIB?hqfQP2*&I{gE$!QfQ`G`j5+`$NWG z?5{ri>f2QNQ)U+A>9$9_Jh463-Ma1ZPPX!17WWsMRupdH+y4TNYwRy{N@VdOUHE<9 z6Ph>RyC*>t1>fQti2lX-4&IwCn1OjS`@TD{&@Xo?zQp(KC(ENzM_atF)!mDLf4J1| z9rbf)))PmAXyGQ_i9?RLB$tCv+}C`9!C;!pog59Vvm*)3S(aa=We5WjBZ1Q+)+yz=-2j(^Jd4)wbQ z8e93EWyfgjC&i@~SAS=y1Nwq>ZDF4|C^OqcAANy3)9*OfV1BEg$u%I>?)Z%t7wA~V z-^C<7X-W68MuRb97r&#SPugH3WvmUFzr#o3O!f>vd2mmB&IPQw9gGXid+=M{*b^(j zGk?do;2LaA84~j2vzVeGk95RU5i)Z@OP>6F%D4S;Zxa6WvlID;_Wo{tkq1TC&Z~~M zv?cwx$b7t;gE5xR?5mr2b_s3$%m?UqUt{GtMNYJ)C~<{4u6LBUVw*&3TlwKU!%dqt z-LLbwj5fUIK17&J^qt4E=ummGpDN>-*Le|`=VZ3^Gruv==au`~#CSmC&v@qZ7thGsh3ByLPvu2v^2S157a>J<8t{9|h7`FAt^;vxjH?Uf z$+-5#wKlFpP+kGo!MJvHq{!WzDRMlX-@tP$uKjVfb;KCmWs)xj&;9W1OvJm%xF3f5 z&aM>M)MJv*f#>evX~#9J*CgL4)YZrRNL+`HOp#xQT@&!^1WgjI18Szo)kbE@eQYUm zZ*Pj+%abDalu~4C@k}`-H${GPd5YYwU#2_=?Ys8Bm)E5u&d2c_nl#1N826?`oChUM z^qDi#eMOV-?}Ci>_zd{B%R=6p;wxu0`n!+3m)98lyL7ylR~vYf%je)8dZ0}_?nzsr zIL;Qp#}G5kXUtFa#o}48%=B5RW%vxW(|j>_Hq=k^S$J)n=35z!{F0a^nSt@N@m?P7 z_RS0T^5zPuQgZoB`K^vAa(1hgk^}rrBXi`}pp!9Sim!t^MUDZMp|AtatR#bdrL+RS z5gr-?tj9@i1}a|6SOevoVPO7#usr`(m&TK6Vj4Df_@N%aY}(|w)96h*Hw zSt)YZkV(Eb;B!eebL3@_Kjg8`LTbzZSuVXJ^R6D-vf?iaX;jlfHk7a6klufbCzwrG`e_- z+(tnE0f3tYvnB53y`KnsnKFE#Jv_cJQ@StG?D5@m;#|?< z@wIoMt%%?61rGXCQf`Vo*PS87178a#^fGyTMM2*ZbT-Hr@vg78<_bvwZ8-jI$*N4#U0|WGF zx|BCr`^Ci;jk zl{i7y7=67w#48EbmHyi3*V*-^NONnil^8>@z%sW>I^@rm9C$Xl*GhJj&8f3iVq8~4 z*_^IweSNLoq}5w_?U^p!6Zua3Y>91?P__iT7xhV(5`0g~7j#RPmNr8(NwL6S$wD0M&yg2}EtigZxc>G^A=c&6 z!fI*Kf}+bM#s;4ab+i5VDN9)HFK0i8_qpNwwoX#Mjb;0#TX;4Z)bG%&HSuo~SDYlx zuC!V*p^w5H_}20rj}&gp#@uGLw5W!t=)bhr6sa0yhoYSJ3l~IbK{Zh_r{dol?K(wb zxd{F&H@uV0y&nG($XOdH`WB#kVyMUW5YI+0e*Y?AlGGUTSGf`QcH|!0YU!v0dO>b% zKk(LMvmcjM5~VpBfAUUqM+CAU_aXKQex1-EV9w>-DjUz4@-h5_Ylcc$I2#lF=OAkZ zWFLa;eC#izLjF$B&_?@FehcksPlHvIvb%evTd1Rb(w(%cL%NGLS>ZNmQS20{F?1{{ ziarl`E{$C)nIzG7Ux3eaPM1XRqHdwqEX8jYmRbwDWl0C(*1`^6|Cx%0fZ$y2U;CEm zE9X9!7mgoxG};`2Yv2`X-7k5Yd!$KYCj0I}euN7#V6;geI5OphFY@2GMy>(fmymHE z*F}~|(o*wkrJn_%80OrorNX{Kps-l0fFMos8M?vl==0T!Aj^3!FBE-V)G0`mV|31! z?n9^3(9hsrA$6`~3EX|TL*RrvQ=VHZRT^!Fuc0qOt%=h766K{i)h0=U+ZGE%I2-{t zu+2+YEqO{#RctLru2${r6#XlXLzeAap3&1$DrybIK3=Yr3#TZP2 zw0+j-HIkE9d#0-S8+A)zD+B5|jxT&~jU?<>+t5ynoaxe%k!#=^^QCFb-zb}o{LS1w z71wft$uF2EVJw?3rNb72b&cN;=Jk85ykG90gEGcE^T`y9OSGjIb^D=bh8^Po@=6Hi zBAjP%ZgsZSy}Z~|l)=s)DE#p6p@QFg8b9WJ@}n=3X9miPA`Z!S2+H=yt&q0is>GPh zDXkZBsywU7#JW32_F!D$yV^!umgL5B?pqiWkdtHFq+R1@ z9^$!WxV4kCo;ZZV(mFgdr=?jV0>75)5O9t}UzJB6!jHZ~xwl^>iT@rd?JuD3m*8H2 z?N;GhPB@o`{TkdO?(tj={Y9Q4p3MgIjVoQr_niOFcde4>UkjZcDbzU+zPL(S+C!8a zK8&}o!EYUNrG$>kez3HtxhT~KFZ%!7PLrjhHuNL@{b`Ff+t!f%88)v#@X6L}rB<#PobfOyHrh66({H_SpRY4B zy9=hbz2EQsejndI=5fyX{Ct1jpZDke>+}A6hI%&h_yf|Hq$TI!nemJ{Oul5LWMs(6 znt^D$`3~)W7^e(8zW@BjfdAe9+mqqN{YLWg0qYsRA{T1Y3GDBzd4+WGtPC>3$`JcX zeT(`#r#j|s`g{wRG|&CfPP606i=m6n{{m@|Ne%SQqUK3tvSf@E}rqYo_z03Z1y**ENNL_80qaaYx>|1SI#wU zdFBCrF>N9J!dG{|@1`H1uUqMBS(E9aU(u1)yw*GSw*-9BW=#s-k$bw0Yr*r{MYns* zHqylRRxqzCmvV1d9NmZSzW9FQkX9`{8@+G)B6Lf>`@Yz1W|h+;>($SGGelmD_o4f` z;gbVqO9~!Cy0waP#3^L%lKo~g{HJP74`&|G>#-M}T{U2~#e2*O`f}QVCB5IvEZ%2E zn%$CILZ4*)20B?X&)66Bn7$bHMojY#KW4s0nzAO)XP5LCrDfnrN`IO@!Y%09;G$Z* zX;x=`#-~GtXgpC^h253QiB9{?8rl*+spwHja3MWvowGUMPiuqxL31DJ2QEg(IWOa- z$kYEki=H1MUoB#w^2W#jT+v?+e41{YR1br z<73(ZOfQtjBwbeH5ubm7@?&e%+3kt{3FhZ0ukmZ`NGHxrbGh$ZWzp}#j`;!aqOB#3 z$ks)Q5iavd?CpWjZqr2i_BoyAShl2l%-~!4#ZK}h6Km0bM#yjNE9HydDt{~a7VrHZ z?+oPn&l!`_Wdrxu><;AY%P#M8OZnob%AckD@NQF2-IaPT=SyEye*c0_vz>J&ULn39 z{x4hK{sO!yvD<^b^7|fyAC={RpBPReCa-K zei@yJwvRv~l|Bc_dpnIxO4bH-e}S%}ykYdDDD^)ePi-o0Zy3EvcA)Gkl~Ej@?5iLj z{2mf7y#jcdry1aX&tu%NQ%`+LT!HkiwL;20+{5GDir|73# ze^xoazMNmdxA@dAW1K_30l9QXkJ*0z{4tzXB{KmZ)!LD-%8KpvG!F}9w_CRvJMo$^ z)Kxt@b)6Bv-bQ`lyNY&&^XkOjpxvY7?I5orHK~o^*KmyQ)~<^3B=l!)DqncylaKkgq4R-Zl1h*}|~xm>IMaOS1;nvnCk-&zTFI z*Tt`F4quJ06TUE=`PIDkGM_ErMr(M+CGakIz3t*NppVRA*X)89TJ7i{p^ME<=Pu+D zev0^J|Dt%vv+*$dws^j>#_hZh4IKzC7v9L>WU zM)^Qd_Jz%>zc=e0MO7|h-z>{H(qHoBrhg|cdFB}2CcJ>bQ3OKiN zZ$E{rxj17dqf` zwan{u+8u6WUJdpaZ4YQ}KgJx9M~te!`U-f!HMii0=ZvJydZKI%>Ednul#THef7DuR zCSQD1Z4b}wF;Qsm7;O&UJKr<`ui;&?P3M!s$n$2Nnm744z8$2!W)h2@@%P-x83CT1 zw{_>`pE&g3KJ(@$;WP0>VHn%}W!f2D-elh5*%_}bsLU^bQ96S1qlq??BTwm)+bX+q zgYdNv{P%l_rQkJ(J`MgO^j*(d6TgW;j}drKrqxA<IQNl`e;Xf1ln!_cXg>D z6T+uwS`mrT@nB6{*2(-YlNax;`D>83UGDS7=m<0-Yd8l4ZF;p%Mu2<7b9 zE2iUK6*_+%uD}gORRl|GBcR#0sJSDW3$Lp-I5KSFtWJ^sVhDjqVBOcb27Eph;F6p4LrQS z#A#nT&_bSq>nUJ~rbkUH-+``yU!sNg5d5suLAS<#GPJA{{cgE=IVG9bXNDHfMYlxH zLq|Arwboz8la6mCOY6^uuT^-V_;uz0c93((ENlc`yUDZxi|p-{jA5JAX;!oY=fmwr zG_OALl3gux5e*b9}9f}n8Ga``61{cy0J6=vID*z@6G@4k)Id8O`ht=&!>4B zeJq>b^5x!q)L{;+XZ#l>7mwpN!p3NT-(8gYL9rTIj>32Ap?lG>0@hSGPkuLuTcA(cxY*9XyO&vD+m19%{oj#*P?F zpi6+;fZp)WZ%y(2Kv#Z%^w$}8M0*(QE7en1c8Aqon)mwDfI0k_*6e`CJbEuP9t&Kr zU`)dGj6U^wyQz;KHpF^@1Na^~p7x~l-ORVe_nTGV*-8|);=kFJnr~W2kCGqwm3YR> ztRUpzv3$FKL~qwzPO zGh|yHS%JSrYwQ?vZy3vgi${&-=9nYh8@eD({;15ncKj#o1Hv<8w~B7XJ2K}wMtc-1 zDA#GRmVtF^yq!4}4KBrAfsZhE;tlfAX@4c43G80&uT^YK+2S+KLC%4bzC^p(8N1kg z2)vnlu($P`Iycy_YN3wP$XZ6nA7st8@h*LJu%pAoc@i&W#ACIGr~D+(m8AF2d%{fT z8Sr7!YADlR#gDcAdXn^}?)*xg(o4W`;o0O%`FkAh3%>ZLMb&xP(fqOQFNU9?KPl}9 z>#y2jA7wp!BaY9Lb@}GCcA<{>)tXFDCzMDOB02Og((L)@&8~b9f`j||X{*HRZ^w>5 zWTXSi2O^u`+mzAw3O)H=LVDkQ-GLuqWX(MDN&>%02HK>|ZsxX^dDR?>)}-evU3&gu zcxT0rskIzUX97QFbqaXUHANFvc8@2&a^N$L-(l*~uR#+7=D^kL2{B(;cwK`2JJIpA zXS}JZE5DLwKo|90$k>vuky+^kdmGww(Vkm{cKg!Z#!g-v>^1C2&NKH3!xziZ#5x+iXRrd*a-V{OiCiT3$nXrwjc( zeGB@>-hjT7q}3#}_daUY@gDGGWY1dOs~!A1;3$;B_CAg;DLv}RmTX|oEB0{Ic`Ya- zzGBlxFb5Bm#-hDo;ka+@yud$Nl^iv8kL;pny_!^+|0AP9saJzGioL2smv^y0oqW3YZIdk>k&CNr}4V&-+w)Is~z*^D`1Y5#Xz7G)N7v!}&c1GjHO zOJn{g{Ei>+-Ir)G_mMArh$p^Srn^W2TaE7&c~)XCesFLty(qpKKe*Cf34Aw)AKYug z)^<~!d;uGBz-wiUf!>E)c#gJYtB60<$4fX9zMI-h^eSMH4ARrz;`>i6`giebqBO899H<%he^g}x(xqe7x?8h&I*3zN2=&i z+o9FL4d@x*SbM}H=t1&dKAHv|Yae?r?0H&Qvm2Ux9DJ!vn!Klw*-_FZcLLi%{>#{E zvoVg`+W_xiugAUu8cbw^_{}}QthLyMzNbB$2>Fr?@_Q;yA;i1*-U`OG`!W2JvD$+2 z!bdXD;TRY%~z z+O?fJ4tr$IYV#arqUZ}D7rh#|bJw!Rc^3;FL+~r^Lu-Py}QvW;_DLVBK*hrC~*RFc{=gK z{_2{yi_*^}Bc3|9Gd~mwn~sp1pF=+LotHhd>oMAU6uONKnKI0&J2sqbNJ@Za-33OL~{<8|10z}2`c zoBzZF`0R(X`8}<@`6G{wn$8^j^}pRxxR}0r=XK==mkZr(<{3RN~)q#Bk1Zj>2=nX_{w>IK9MC ze{t-nzbJkb9f?Qk(fmMi<=kSg`tT!|I?rt zjRs;$R@*->iVj&*#H~*9Gfn8Y#NJeRXJ*P_b7kU~-2#(Z%meKn{v?H|4sBD7vEcKg!O{2WX7nO@pX7*8om1dCj%Yk)AU&j z?>s+q%&%rY^fP=WBLXeDXqF%IoBo=aO7#cRDa&EHrU&N%pm44 zt^1+-fPIe{o<3?;VjoDCN@90d@lkJva}2vUn_pv)wcXfy20aqHAk_3^{(?AgXZViI z^ux@z+P9hW3cbi5xV^DphG@HqaSZ=@yOB+NF)+$z{{;0jP59yy)Nkp@FC<-SDaHH* zws>{P7QT=1Wr5)#?28q&BmbWEQ!YwYd(y?)NIQ6O7CmKVNoO(WhrDY(Eo4$vO=kd` zWb0PDU@l2QPxtlYFXg$Au_!iWE%=gOusKbf4tyaFUaFvvCi--d;WoI6LL+~TJz1Sb z#!*J)+o(6ZsK+GItgF;@fe#>T?KJDCR~=){@I_nL^J~GU#vmJOWqAy3j6wSA8u0f3 z?F9QLvM;RN-b0L8eC|HVXzhsC$yQrIdf(!9^fdgB@SK&@%V38&G1eYysge0w!kAjg zZ=oN1x?~x7%zul<=wu5P>!+d{ts>TqdCQNS>lugg3(d@c?kak}@-%mu%U{DU)@S4+ zkS?yhvYqFTnyr_!w?=wve5S8-`}RI>O_F}x(ZKgD-Dl68*?f}x8se>wuX0Zcy??J53E06s#C+pHqR0lFyzf*{sVtC zdX4r*qRHEh?gq7EZ7Lr6Ap{g|sL9-h2>y8Os(FE4v%M=a7y* zSon2lXV;xSE%x31_81JAReMbZ$NjOxWA;?iVa{TMMmoZP{2u5u4d8d$d!fSX!QO&& z%>7=SNfe%iuLU|L`ZjkMnpgM^#rK&cxXWzmFyaAAs6TM&95dtZ;7Qcs9xP*J!MpQ3 z`XhR2;;?bR^Wf}W)5N?*;K_D|Irzo`69UI}YydwD{G7R!FI|2g#dKIH@grcdM!5?V z{4hVFuaa-@4zq-`2y-KzRH8-n)ETTp(H=C{nwsgyp{o^)cc>w3GPCytW7N0?@9s6* z=wE)MsJq8p6pwhdZJYAp)~@_eL&Ri0qdgY%*vww7(Cg{J+@r9CNu7 z*q-zDe~WzP(*5;K`5C_t?b4=TYo%N?n<(Vakz;)KU)W>hn_S79^*wm8X-#1tnVqIC z^_+>CyN%_(W;j=CrmYJVYT19NOR|5Hz$d|8dsT+LO!nCqCT9k=c}tqL56=@H3H-gW zok80N>z*@99O5=F%;rB1PPL{bKjljnOu36k&F;DqJ$2x3)&79yKiD%U$Ean=ZznGf zobuQ9d2V1YwhHdh0@KX;(S0S_Hwrbi2kW51o5lZBf3%T(9@-d$H#YbwBI&dLyGcUroa9!b(GiiO&ywh$Z`aRp4K2Qvb1>(Y$51bN3$oci;A8KI{w{#qEJlGYS0H zP);_2;`ppcJ8@2|QSg5b&u03y!T(6aHc51@7H5**ACXV%8GmgC`Na6N|16)W@Me*& zz38UYOzhF!X8SyBfh_TM*ESjb|AWfNE*o0VWva0e^gVceQ$Vk}(?WTnM0pP+S;DVm zo#OtoT9=|5YYqHG_U@}@?+y6dv7@!eGUKLD;SKrT^iEsRM1ud0DdD}r91Hy7O=a9` z&a^iz{LbLLV)OT*C(0)k;5yk19%uRk#9AV=3Yj~JS>ikMUxLd|VDu_yrmwieC_H3v{d~$lXM|_zyo&ehPvJ8I|50>>%6w?=Ub01U zWsIJWL(dgj{>lQ=;IMZte5K3yHoHCP6(w8~Gq=I*WfGCdBsy!khTS% zu=Iwl>~mJ=c#u6g;d>!C7QXvF?h;D?J;{GX+FHibSId4A`<&Y2oSHcn%!PD}OuK8e z7c~VQpmkEA^?_77J`r@z*gV#i@Q#lq%X#JB-sDLyk!-J(E>FzO656pH;$xeZn`kzS ztYHqP?}z3}W1F5R?RzVZ!LnB2|0<2M3L2EZShT1+=H)jH=!HAmt_iVKYsrX%oiq;EqHI7ZzAz&328hl+mnE*;%TPxALe z^O7eAznZDE()22H3+xqa=YVA~0zahQ{+zy&IZ?lPq+G9fSnKlEw;3`;8;7MbjxX&S+ zX+K2st99QcS&Xjm3VU?+6~jRc`X1JPurG~ox+%?E;|~kR!5!~SaqyDeAH*ND#Ao`? z)5a!fwS>bi{@WE>6FL~Ut;clGw$`ckTaxrAU-(L%VdfWKJUUO=Z<)TsBzU(n2gl;O z2SQyY3?EZG>&|6OM*G~_<9;9wO-LVtKBU7gOkt0(hKH6DuLgf<=3BHgw0fRdLf=)C zv9CiA)^r^AKT!S=#l8RamwWIV>RM) zt4`A=^rya5#?I6J$G7CGfTa=->iWI;!H4DB3xU@*6NU$b9DI5_<@?;$;>C5)eS)S^&aHlr+2Y$T< z+N$`#I-ujm3wzKbgrm;9!~EsyfFF1!`tznxrxE{IjAsQ78@!D!=*>?CM}kTE+E`ua z(wgAUn@aog=S|lWf8I1b!9g?YL^ufQF^BT!olBnTiXP4@(?Z3kCqIGmUWJH=Cb1p-s(qEp4iQ<=Y$ZnO@bKzmPUNCiwJbslBpK z?;^e9)0@rnW7ZMBa(7+DSNB!Us=npk=vmpIO?(k=7AF&b<;Gtxx}3AKE!Uef2VFtu zn4Lp@<$h`l8`5&tvW_}TjnnRZKpn*?Td@_zhhu+m9GUDb1$WnQHw^!EeBp?77yQ&U zBb;Zgv*aVr7JfJoI=Rr=NWB7!rf^LsGN8xe&FG`IS+##ws_G*W_g85cEQNC~HY-%X;q-Q6)y#)Vz z@c!x3SJzQyTkJ;f9qW%yxEcPZE606`)(a=zvHJNvb)wm7_aX`I=(oOo;yo+NZ!16d zM3QvtSESd{*Io3pEp?-(v$KNfI=+=&&G#DKm8QJJgml4HNxynR`U>6!zsk?%oqI7n z$ytrPim|IrjXg@4&oNf@qp?SwZ2r&6V^`hD)D1CioBt|EaF?UT{+3np>AH7wXX;Vz zTYGx^zK?DAbCcj%{-tD0V=ay4f-3I+2L|C>_*K8pDlOLSokQ6wzLlOOEyBCXy%x1j z#_3CQa42{uPA~QY-wijKi>z1t%3U56`ur*M8T#9sG)`#gFMayvo(b+A3R|1PF7k})oFu4P@gaMmvL$!>45gMWoH?B0%0aJD@Z=1z`;D+ytaxg(Kl6*5z2-y@wpq6){ZVJ8H75N>+P_ZH zIp>~$j^{v=bMC&;vn~1wmEvQB2i-k4QfHmae1iMl5+$4o2DPyk{5YYRelphM$yO7L zT0c$*UkCl!i>@VtD-BPdC+ECzrrwiYb4iVIGJ;i86tgbWagq+Tg z)cL1dHhXU+H+z+Nc^KIA9${Qn4tp5DH1iwe^R0P(kbFHgZ_57!`ExF19?NM9_+9{x zlrP%7oAUO_&7Np-V`59t&#z7BmYP z)DHAtfjz;uoxIKCKYcD#|AI;V2W?YVZG0FRuirv>{!ekNe*EnEmr_4fu20>+qwdt3 zZw$tzKAR{%Z9;wLtol=D-x%~Cz(@Z-F83`s&ONK|DQDIFRj_}50_;_kUo@d_`|SE> z!Tx7w!Tt;Qz`Yad|2^Lmad$TCFHV5{IA!O2@kVcA|M>~^7u*fM0RJ0fTRhQ!6=UB? z{otLk|21VR?|;Sn%$rMVqJpOZ%Kp=3CHfSuo}SRRXyBWCzp<-CpW<@|Y2z(tGi##6 zA3Mq4cM<$i>#*^>qP6IPV#rx;tVX-2wZ)%f7WCgK^MG?7YeBH6pPkj#$q&vi-F@Md z`AG6}r8_b%u(&Hi?M=C$s5T}0tSON*+hZK+SL665Z9PX@datzg>2h1P+Dc>#f6IN> zPb}Ew&urk{E%*WJIKKwig^zip38t^nPBQdk_~cv2P|MpLPO`=-uuLynvGv|WIR1rk z$xh!0A5i@S?Umr(S}xlK%q}=c7F2e2Fs3u}n#+0O5yH*qd+d|)Kj~d#`E;)x%%Aw6 zzOUk2vEjFDbn0n+Udy{^Mlf$o zZwYvdOWGHax0=^4B6Gip%>5!Vx7m7<`#hiVl{YaxNxJ?saALZ6o$6>FB>%pG+}ZbZ zsUN{~Bj3ssOi>4)7Ja_)rBc4&T26j8*&D2Rjqfh z{o;hOmr!>0-Q#67{)z40JE80x%GOP2_v*9CuANZ!e9A7K(C%etmAz>~*?P)Op3rX7 zS!I_^C~H&px`q4lP=dC$iVfyuaVqxvxO$|pK!Uen6xBmLA*H6 z8syYz=a<)=-_*Yi4EHFCqPC@@U>h_o?UpoXXt& z1!cZ$y?C(i&^L4xVscvDxXz zpV)o|e~_#W*5QOQc5E4CYQ}ho$_NHvFJ!~`4uK_Y{lW2E>;_|FJLasVMsT^ewwsux z{{aA}z;!)$LW`C~!=lOMe9H&D5nW7c=Ni7XK9efX_ow(?fPAmBrx#tm>+ERJ&fWk| zcr4%v0i09X@CWpP(>}(6Za;z72~Mr!O1TP84ayUFRGZo5A|<~Hh|AB=M&|2-%E zD|;as>liN+@YVCNtAw}OF`S4`&jR*24brPzQ<*#N@fn-DJIiyIW&AdFM;1J_aBrIQ zK(}#x{ys!^xV=1oYbMO!4gZJd?`7_j3g(aggZTr;Rw!ZIRcFrI-*Cs`#CiMgd~4p4 z<#~IPZ~0&~S0!9eEw(d8YYOvKmSf`Km3jDI%~z#NrQZKrbEP#YniOBC1FxDp+gb|z zs|qttpZ?wgWLtzZ(P0ha6OE^0=n6^nM5k15fb^;87uriun%3DC(&pSeu6z9_*nPrAHc%3JPe5P5;)w47*P(73zIK;?PKr39Sn1BDA&yAD#~QyZFd{-i4n8?aUQy*j&LKi?>|z&a9UphSu(c>xLs!#WLkuV&*SQ^Ubtre!rsw<%aw%Cj416zxUl z7DMT|_@<-ydlq1y)D*+PvnsG{>acC(H&7kBaXRJCJF9%8T)z5@@|kpHouKnIo=cwi z>-bs`FDb19^d`X(U{dn)gxeg$`>UvM!&R~?62{c2oi>Ym~wYBx$hhl0C7!8bhDYP{fA zj#D%sxc-qfsyNbRC(kL^CQ-1PvIXrkADGNuM}uYhF3lR3{JzihngbWH_sbmjeWTHg zF3jfLxgB|(?aI|-i;=DvPS%I%qI~F;eot)yx2JtGwWk<}N}Jld8J$HNm$&DKFKsu6 ze+OEmo#EMyfe%pagr?&wrhbh2it)YXa@*71r|e+G|4Qb!(N`O3X}-1h_9#zm0sor0 z_2|?~Ij_pT^<~+-Jw03KZwRpm01UH7%|^;;KWX>ljPoIf{OvINW8N11s%)JLk~$BX0gF+RK5TKE(_|m6>b7!X>wFBN4Wt`kiXMRB0dfIQi1RXPIC+k_^ zj(p#xy@B6a<%Nez`6HAUzJ>n^zFQse%~;(-z4?LJz2?w0C43KjV=lgs9VRS%x3Cui zzUO`n8FQ#TulLp=eVDqKC<90$Fp}@ zd;T!}>3min_qzzbSCqaaoR8;71BNzmv*R1>=E#2&{cxU@xsS3hq1dZXOUAqAkuY{Z zf^#aH{qOKo+))5qxIMtbsp&THRp2PyZp2T;XJ1Zl_CEtnXPnKR{N_>ocVXa#fAQXK zw(@KN?g%gox7&htD{JM#@|v#;)?T!1C$5MgceGwuTkmmyvf9@A(Rw?H|A)T1AHa)${L<$*G%>8*$`-5Pad>k6UZtgbC=xRynviOj!#&&R0vKyt>v6ugma$1*Xmy<70 zWz`4z_DT5?tDKTdSD)KR)7bU?XN+I|L5=@&jCD*dmhT?UB8OYkWjUOJ*HP~fI$e^n z1->c1|D5j%eqS!Xt8Ml9b^21Bpe)~CG>LEmcc zS-va&5{-#_O9C2ES=GIVx)r=`r)+JiWGg9uNOe=U2YxE`pL9xf)h>GJN#QJjnZCYB z*=ZB%_D-xzpXX2~7%zQZOWnE&WgnkV_E*7p)dUzfPfSxE?pZK$XX)7dtU0UC1R4#HHv|>GsuzMhfRV!C$ZCCks!ux)aIju@9`igMMo(VAj^gStx+GySdvwl(iVdyCv-bHFsI?HKV&(>&HD&-i=9 zk#bgzbj3y7m*W54a+Ca~9Q)zBi>8M@Qsj*+eGffsroSWuKX3QVI^LTo=cwFko(ZMI ze|cY=H;V7;a9Fc(>WvnS_OjPG+%u*8EB}91HgPAu#Ft>unmco z0an2s0xybJ8E7;n63-GNPM@SJo^NP+p%fEAA6h4lGYLIF{|zIUnV)LQtOPHL8&%A; z#wJ|_K8rlSMoFX7WWnXb#;``&eFx~ zIcuX$ox#-{@4WK3QH%sUh3`pzTZ;HC(g%i$?7?$pC`Fl0pO{<53p@`{cAz?MS~Ji~ zrqo{({VD!ynv*RIghFNwWt}W@$GC<6;e&6R7Rn5a9t`MeT|)7;8ZYrG)Dt}>bKvzl z&s2j?owpml>OIp&`%UCW9dt?7nqnseW2j}o8;U}kz}5mh+PmrhVljv>oWU5SmnC!P z2EeO011B}fUq{*gJC2)myszQCIXMYj9XEj#hQGoeQZyldu0y=}F5 zbl~N|zJD|0N;0MyPABzW@D_ZUwE+Af>MzU@2SSXB##2MP%PuMPrTcv%<$jvUQ(r2# zj`w=f4=!Y%oxT)5zmD-PK(7ox(viQ<(RtRqNjQp$6s|Z28Oa-+5sw4oP<`GgZfgkm z7MAmb7wK$k8LxE0X;!wd{A0V(tHS7}#GYFXW<_kK-{#Kr2QAAemPTh_ckTv{F??9o zB-TCearhVIGS3|+eg`=A95`J%XY7saaqnj zZ^ze&=glyG&Ln>>xC+hf%#S>J+-SWuF$bcXoqVq_@Ph;}({KMbj^nT5N%~sK4Q^!Z z17qgP^lP!cc;A{nZWIGH$W!`o-y^JN;8m)FH`tdN&U>$EUro|9*3rstLJor$M2Vdfupk58I z5ArUY?c^EwSz_DFYxU^y_w}JWS4%%bw^?f9X~lB%BG1s{1D&~z^1c3i^n9IZjk4yg z&XP_&^zduksX#2Oq`n4tS6pyB4vrZ21LRBoC|xnFTKhYAe}FP0JljZ9p6E&c zdpgK_J?}d=95*$wVUsuqTs_+7ow_d?z*r58^|3Bra_O3BC7qr-uKoS8CBUPLzOQ`( z#mkoRZv{5iPU@hsp}p#u=ox$A-l!*gqZ*qb#{WaeUa+wtPu*vG3s{@gsbxV-qs5#w zrMmo6kA~0{X8OD7NAV=l^fDuUWLdgvq6_(=`OSJRwv233-9h0#Y~`Ejw9kW}oN7%3ZNL)sf>GP+#z=1EdKH2B* ztO=P|qR*e6?ek}3`p`T2eEZQ3ug&Uv=kVj5&|#l{{ntCp;m3Q-^Zp24?NrwrgbN<{%u@iaD`6_y(p2W&Tc%FLnApLVza7n&+aAA*$ zE)oyP`J-3hv(R%fdNj{#EI1F9DIqsuOdD{Phw`~5Ch)8`#Da|Z)(Ozq9<`S zQ+U3z@JTazB|a4Lb^dQU&k`I@nKdg-u`|(?pGKRbUtw=>R=b&z=KW#znR#kljq||+ z@b39kPyRgW&ZN!8IobS$Jg=F1ps@5~TTF=Y?Z3K{*d6kKXSSZi@SK`{pztx?ZN=PN z0GtwOmsp^066=!879tk5angNT>C;I| zYQHWkTPa&;PJYXuOxhBg|7Do^1p|o(_Md&PYhDl67&o~hi1)CqdF&6ob3A)l$$q>O z`zb`4_CqG7uOU55`UhvF-%NUh^gAy)v-}Fut4N_+w}oqO;hy4dOM-fVoz@_%n+&qQ`mmY6BwRsUU7v5$ZLyYHW_{C7=rc}_y;e3}#1 zD6!@|8~?D_%o-~B`^NW213Nd_rL|lxw_v{4tOP2hd&uZLh#+hP&j(xtst_B~wG*-Ta>l(g) zSNPyN!ng4C!A;*iG4$c-vH!c=m>O@ln*68LE_-{)M5$fT$EI?dYC~o8e?{H2QL*#( z%Fc6vErBlvf2iiCIrfD2$GorQKXX&*ZTt_ww!n8dut#2Df%Si3T=LqjY+klnW{-y+ve{poLvKWf%H(}BA3Bj7UqksF=sIcYYrkgr z-gnFz%IO@W&ZXW*U&Fh-;0&IXM!wNzrr=}Cp%2r>I>}S&KR|uyq{HjqF^>YT{tIad zeaq(CL4VQ}2C~>nlvf+A*C0DWt-KcBfAwryg%k(+!kp=@939qukij!{Rte>?+B z8PW|lA>Y!|GK-2Pi2t@|hyJ8Hj675{@f7{0X8OIrJF?FU&L52&$A%zHI!tpG9p{R7 zjCB7FC!7D)WgYn))p;XdpY*O5zSNsvK^vj_vV~2lA#_Ugwe+ax(8v7WCl(;}jDJ0P zX!May`KO3ejgzieXZulnlIXJw`QDHG>Q13M@9E7SJi^(+^i2Q7FZJZtI^aBsZgS;2 zW{b1ktTcRQ(F1ZXpbPZ}y3o$6-!bx!W*qba^yvBM1F0N-@86P+*qeWnan&%6J-+~RGJV&V`{qBg{ew&BA01z|nC|}QM<>>uQ~g!>z=qq7-dvw0mINJHbMN9u z&R&FW1rBTrzh>E|E#Gw`dO?CQTZMLF>xki|jC5SlnC#Qc;=?8V%0lN}QZ$*x#bDl~ z2W384G&=h`LRzP_(`a7gYY_Yq$}6roiaxTIG||)y=5dH~Bl1=Dr_e=dW8@xeL;4$B zZ_L0$*p4~fDQE(J#JQO*qM1WYPIZTN8(N z!==Wlpskna@lJ9t_=MUOr7 zzYm(!IpR=@bhL1wpSkE~^)d8RU?}Nj*O{%PS+P-XE_1W=)5wZx9eL?`{R>_TY|`P2 zkDFwgz82^S4nBU|?BKnXv>wqXeT_nwI%8+k*QxtTeRa{U^jO(dB|Y|fv#s3Mo`uLk z>K}l<+Uai=uqAA9pBD!#<3w z-t~e0f2t+y?Lg-Z$FC3eZfwqhJw?5>F?{!_Y@vp>g!A^f9r**Zvibh`ou>T?JFk1Q zuDLwyxz;0rA475fy3%kX z6Km1pAXY;00uy7iB-7gPl~-BB=itMW{1u;& zF&gOSQ_ht4>Weh&ijuE8>Gb&<=}YZwEVon9Eh_&rXqkJkrL%?bflM*n*jKD~=9mU2 zgv~R@gr%#*JCW6^gIJd4xa&3N+5@>CS~{&5S~aT};l84VWR-~|=9$paF!FyH4{{yecKMf_bAA}p>yZMDfxo%okWiqo#Aa_tqxzzc@KDo?nZEctD5$Qi?5k! z>1;uMgl%`eV`jL0{z?}<7*$`$5&DpCstVY2mQ`olw-t|LtMy^4QSJ`>KWW;e51kK` zuc!%FGlOpj_O;IQHjy65QMR#QBqMj&7V8Ion**lZzL6hQ=X!LOXi1hcPr$hCLSvS= zv`2a{zRcUfKBD%Kz zYMmf!9>X`BMJ|5DH!ZZQ|96njZ~51sMF#Y<7b$&bzqe-{`cum*M*i&H)!q4_#c!Jk z^`-yxU;VZbU);9nZTtrK4+SUh@)Ieoit{#ym+Up6Hssgph$la#{sW{Y)`NeCd$y7l z8FnrHogT)r$7>oJ2l$Eu-||

    zBf{b1j={|45k;9tg=fN2{~`Cmi$CFSQ>`Z3^d z8}Lr8i3BoPcR|<3dyoksd@b@nmV7D>X?u}f2cW@rWRLRYzY521HS)Pdlbkt2epSWC z;g|17@W;xq3QwojguSMl;6uq};0XGHj+>G_{;9T*C*O&Dr$NkhVwq`Ceyqz(r@rf>ZHE+>_?Kf$SPUj-DyI^dH?7+Ky3HvMUZgC(173U_Rof zNx)xc#^3aWG zko=CiJEMm3YD+k7U*Bt*Qk(sK>$=g=y8|6P%2~!((hcZ1#DBd>2MTd#hGO8RL)*Rh zaFi~(2yusnlhhswYoPN9^W5XTCbXv4yJk<7SI4=s8sL{c6?(Ln7zF5rE5-W;ObkVjv@=SM-dEJhza&@S?)#2I8wyA@9nsgiR=& zL;iPocKxkEOuHS!-?Rf6?NTFT} z+d3y#tmVIds~LOLSrzmbp{=O9w8)uI@3i&R07i@Y(Hv>PIi%~nD6zPIi_T|fId^St z_Uz1O8PA=;f1ApuHl}AK;mHZsjy0|ij{9x8$8^KMZ-ajU-%=q0Kefm7%w_mA(3dzr zqZqT2-=-V=3g3W}EnLzQIvI0z5j)?F53S2nOn!XDcTarjm#5!-De}Qb{Yc=@W~_oo zzK;KhAE{LC-}fU`1NSQ8<(td?qAJ?IiEsIlAF8NRwYFNx6uH{O4QamQP9k zvJTp@%l}In&;oO$cpc4AB3AMB^^BDhEo2g< zGfTqbYT8yEYsxm--AcR5#%zU3yQTcC#Txp#WR59(4t0N`4^ib5zkY=EuQ_?iB98eD ze8vr~dC6j2_~RzeIam-qw({TJlc7oH(hjpE*z3#YRX0PO$)Oyv>ZKT_QlFKv3a0Tf zjK?Pq1u)G9rq7JQG+s{ae&`GaFd1u**lO1ptD7gZvZ#9ure7vXFf{?whrpz@q`JA- zpg(!)0esT!#$_&Y)U5(%)n%NCRx7rea3C6Vv7H2;>z3xin$m4tr_av?bD?qco-r4t zaSjLLnA~Uz7d2LJJ6=w(=>Blw_5YRU_yg4&1goI{>yu!^*wkQU?v!$Hye(KBO(?<%hs`IAC% z>;&L%hK`%(?DE6ZQ9I&eb(~$$yKLk)cuz6zscyF5W_!IU&^fwsVXC#ZPzAphOfxht z2l}V{`KL?q%A`Z9D?I7?G5VS1qSI!AGKFBzQ}7~V;Q5=fb9A4A<%L)~i|1CGseSrC zx^{0W_G}e==pUIot>GMV_k*s`$!@C~Jq{ZWnQm3JBNt8KvmNcGHr8xD+pm2gJK*QG zvs^eUgyRSEieY>t{{Hc*M6y_wx}z9QL`-$6D_@nm9@%m&bou3g$E)8eY#E*F6pr{; z;!+%NV=r_!Tuk6ww^MUXO{&`1vH54vVwmp)=M)6*Td`gKRL+dmF;1N=5S@IIIT5}s z>o-d9HEzd$K3KGz5ce&I4ZaQd?caNT>$sgupTxANY_dxb{V*&m#K{WNs`E5WvnSB-gqV-8ZW2y`?ynDzbRnW`jv0Jw0M)oSi8yA#$qt>G8 zCZHFc|JK^6tltFnMOWhWlUX|-g%#Q=`+O>}YJ8F@noqT5Q!n6anI2DTua>kAi7``K z+GnyFncqdj#ggBu6c?$s#`!P#$fC3HGM@jxiI=j>5N`e>GDAMzip&r`CgQ+`Mg*%X z8^u|U%~v|7;}YjDK58?z8rI3|#mJ7uCR{o{jBYi7ejkqy1-v1}e~!-uwz;#p?++U+ zw6w=eUVNw^|JBCWR_5&CLgQyT&ExSd-;S5&%qq){dY$u$bqBn=S~y?yM@5&oC*jm? zgvXcr6D_&Sk9eVY*LLOsUsW(Kk~2empF>_ScYOB;^RzbL$HYZ>%B!`q{67R|Y2ck7 zd~^J4dm;sGrzh++QBLbjG;k0aP@9$SPZ6V!oD2BAVA)7}4)M7zXLS^t`=0d@dzae7 zEImK8GABM{FH^CHOFm>>mGzt9ihiRt-c?uc%X!y4+q1HT1n(7oSlKh4D6=IOCAU@gztaCX=`!y4{)Y+p zdZj#u3a)f+{1)qvPuyZX%dhnOyfu8{^H%qX%ATtFcWyp4wtrcX>qc}!zgID4;WG@K z%&>p#C(vmngN5(kVeB*P@B4yFxREc~%47@6fJw1Of@OFHk*H`fODa(s^RGdNSHIn?}0{t5T`Rvo21%(vQCfBOCd#;ts{ z^DXk^vs8YCCiauB?<)1jnYpPt=awkxJ!)U`_&M?dd4`-Q&2hpLf5}a5G6#u!kdFgh zAzusMs)Z*@?%HL!TiXcV;+~HfcYH`*XnfTf^dIXxC*I&Zapn0FYukyRa7H)` zyjtT;BcEA+sweupnKZ{Ot*2^-ag+WX(lkcp3y+ZkO`4>CT)ojZ$mG!dmU*13c z`Y+!<{Q$oTulwyXue%T&$|ogy6@3Z@(WrR&OM|=o^Ja5)Kl8My&2fIidili5@X^Zi zyVi~q--VA#?-ESH)rtmHc>rcw_U3&h+ z8ad%)HhY@$^WdAQ6m$nXf8J;nrZdJrpJEkk>sI_u>^a)_O=ue$3)i6Aei*YBZy??z z8e@-*vBd2Va*XwsOK~oSvox|57i}w^dA_X+U10%v*rjE;Hh#Wskn-ElD&Ji$Kdv_h zhtlTGN=MM@T1=4pGv{ zo*cKS{tcZ>`x6yi%%PqYz$|-p8!#_J_bT~m&eoS?L!SxLc)0+kvYn^@c$t+GJix{O zE0o|Gw^>{NEx7m(1+A$u*r=;@sWsTmdFV6Y?Dz{gr>sT4rxiYSEW4PY*@8UW;0oPgTX>DljH?htyWKD_o1@BE`@QQXc55IbR;ydS3 zSM3NdQ_K8967A{=Y6B3`)W**F+U=1e)`67S@0q6PC5Nwc#l{nU*Y$^{HOO% zxBNZ4z8ni?A1nDbF6x#vpkm8r{pd1e?bA zC}Yxk6CO0ihxr!mNk{r2a0Gh%=I@@U_*L#M%bBXrmGp;J>Zq;n(02m8XBqc-e09o? zeWibhu9QGma;^5lSIat+`k9Vw6?}rJhxZnA``{dw!+5M+$bgKmHnaa)I>)U#e_r;B z2(CW_u8MDF#y?N8Dl+gP>}dN(CESEK>nB#Iox@abDj)jqVRSTd4Ud) zlYIR{Wa|t3O3&|d-dptlU1BUXezpHU7^7YPWH3LC)Xil!d7&4u4QXF;R_)h1r8&N$ z(l&M9qs{k%yU|L|4{6(j4}FN7{fC>G8`>5;KJAOH1XCS;&EOt@7wBWsodutD@DJcZ zI9&%$z4H67@t)bFb-A%H*|L7rypcVjtYVzj=BMzzwGRCdpOG834d;xpW!sJLQU@-D zcl;Lxba!HFx3ITvy?aFWLqMN)Y*$e-{}O2B1=3ZPeKpSWZNXP%T{y8_3%;o~e}T=i zu!fj=C!2qQc5Dff;a`EHu)`MEq&4V@dRYY`ZDZ(K+pKaTUDdhsBaJ;DU* zJHt6!+Y095g~vlD-3?C~I}6Q0Cojc+AU(Hm;o59I#`%!bUz%K)?)3T>ayPK{6>9=| z;XXX;PK|j}$T9_;L)nBKVCA;5F9@xXxWuBL)&Zl~$!cp_p8dhP$&{@-=$gwXpFUm- z9I?q?LQXto+S~UQFE>$hxpi*7%G?}_7<@(Shs>tTZ2q_DmCFtqwebObVQvjR$W}M6 zeZo1-<8SF0@bS00#Db;*ukbKmDJI?1AR_k1XFxKj}x} zPx>|3htk6;IIPGs?d_L*_4tR9+59;!V*)10CCP{?2b&z;mq3e%DugoA(E7yIw;r3Aj%1Tu;-R&+7>R1?TMjUC<^=-6k%Dqrk4 z41zVm_#|f~lhoEu;f8i{6MV5F<+jFsv0Jg1nCtQx^|NgY*+XaJWn4e~-^9xqzSs$P z`8W3O{-eHF!GE?dwwm#e`$e^PjqiMdU(`Z(lfC&-f9-fV&Fjl?coyqG_Cm#9o7H~N z27K&ge{E}Qc+6kBB;GsbuXU+Y@xN+b<+pXIE7^S|^DxmDdpY0ow`%^Be_1e3AN9q4 zob-w>*5YjcIWIBJIBT0aVe0=(a#OYxJR%!{w(+5M{*UqV0g3YYfCy#f8xu|a73)TO zbLv-kyOnSGw$?O;3%M9~VmgUHZ~8s@cFOv4fM0axS5%fV^6#Q=24@MDaW|iJeB76@ z5q{v%uaoTXmLzWUT65?x&~~u?(!de_2WR=Y{4)G<*#dfuZzVaiNI%-k3tRYE;lYaksj)geommyn&^X{t zCBI)X%U&_QmXu=mHxp|-)px8Z@VkCLg5QiAU6{LeFLTASM)8X~_diG6GGno0#mENs z&yjhJAytl{8{sA3Uk#fM2xmiBlnugSNX#2H-_S++idW(}6 z=L${(@dV_D`dw)BIivVCo#R#h{Lg^HQT~sNd}oW!PV4Te4o`965pbgTQ_WvZoTp@U zy4R~AR%TdpNu642JFz{_5%;+jKkL>LIuomSw8;;b`fW;W_3e==-cr!Ek)`Q@v z%bznl%X!`|=C})5dcm_o?eKK|ql51;nN;4BbBG&ujOzvTkt*R>v?D%H553j8B^une zc()n82ON+#x#Liw*4-4MvvOi8|;Z9~X@kldXW@RQPb13J^# znfuA?eR7BIKpiw#wP9P)N!^PLv^u!o`N}V_Z+c&L)%lMwziDfA$mszl&g2r4ZN)xY zY@80?;XfX1XtgH3+?&&+eTH=59q>@$QI+_kCGku^-ww85g^w!UEi@%j=A#{6E9+}A ze!@%H_gWHf_Z#AseJ}KE;H~h`i>CH@ljj^j?{b4Sx8~3JPOY!6jz4uR7__Wq`!-2kH!=nCTJ-n_# z=he&>?2@~K{m=iWII7@BadG1N6&rs=Ss%MP@zRNNa*7Me=C4kSp3t|Rk0mlE>YT=XUHm&vsUzw;n)8 zJ($J5yzeyKSMDV zk0!m_rG0o*l(zrtDR7!%--5oRr&g2pkNCEfCw=4)`AVzgzc(T8W%7TiU1{+Gp*?yWm_6ayDytZGa7YU{hSrMhZsv)bZa?Xg`PY3Ul z>9^9?Hzwr$Ht&^wW95Ez_f*g??Pe$RnWn7zm^-1Z-<;6a0~6XB8^eUQHcx2lbHAdk zwG-O9?cZtZu?cP6P;TqDCct&=gtnGVXiH;EG6vzdGEc(a7bdiK1?7dS3T{7N&eNP; zroPgfy&uz8g;p*u_a)pfnAjJ6WU{4wOU+>&{j8kO)-1}(C!{?2@vbGW8J+kU>%W|k z5BVAExf6QV^Sjm%zbAryv^lJ!F`eXZ-#=Yhe^x?sk6#+zrny(U;%hO^n|u)CDBQotT(i3)I?TAi*};TYp@;-_IYdEXZ%-Z))e|?-%!9l@dJMDWDDDDd}0Z7 z#RKfiB;m2CQTX(l!j4t@@G%g7)!1vK|2B{oNrnQs9D=WgrDIaxR^9gDB0BNA3E+~B z1gxIqpU%MqcSptdQ2*}2QP$H8@PTejALyLmqY4~V@V642xZqG@JxzNRIcMccV;7wD zob{?-Kb5f}`xAS;>eOxM+^=}`>#d@lTj{-V3plYJ5AMor%PHP(i*OR)PdbF!(D|~^ z`WW$WRYv-omD=m+zgBc^%!=#N_E7(im`6be=JIfU{xglw!lGsYU!J zwEaTRPD9YnUT|HaC!FTi1G3Rt~vg@*l7tVKK($pH8wK|C{$uE57c9Yscd`g8LwV?UT^i zysIMcV(l#xuhg=vAe-mPv?(N5v!eS>`(EQNT4vmK;c0cjZSS?DpVVZQnVK9ik=SM6 z?BZzrDdv;$X^h}5V*OPyc6&Fn4?4zH5iQqZE7hcW7Duc#mkVc+bZ-e~)M;47{u8t- zdKJ!Efe&BZg-01{0v=LY$GeJ=B(@*;IEOKRhdjMY7HEEJNYk31!#rrr>mMVINppf9 za|&a1GrRad=B310v3Ee5+UM7r7ta#!VPEZJO$=WuXXhH#*Ed^3Fl`lkD!ejCA7swSFJ};rLn$rO;Vi+DLO} zLQFomWN^L%ddYw13w$#V!oAj_=x9f|OuhIa>5@HHk@r8@d-wRLs&oH;@5$uCkdWcx z`BF;j1W*xCN2OIMtrJ9yNO8b$^H3ZR6)Dw7sZyn$2?hidi3(n+89eqBt*x}>SnIKE zP;8N6i>J@4u55n|)bpJ-78d&wAE%KGWAJ zYy2eNReu`ayj0(#lm{+btooaJG%%cgxpYOg;rTajuFl?%u1EB{F8EI1XpPCM)VJU; zJ`}isc{|Z`6Z3Y}S85K4*p)IjSG|%JJr}rhcozikZoP?T;TcMKJLb&&Nk7-|z9J_6 zrfJ{9=owa1x|+Gb3g|5XXa2n2lew-Kr~e_R9hSZe?gP9Fw`df-&y3SKoJrzI={fUt z?wah#pSs4}|IM9~EQ(+!&|phOb*%r9Y!b|~Yiu8Q>%Zv())lFT;hDLe)NI_JasLd)3;%+{FSeY z=Q_^A=@p~@(+IDjuKMdm-qF;bWGept{jc!Jw^OM%!FdE6VzneBZd% ziPyxt?CQJ3WLHTR;4$*x+ovca|0r3VKpD}kch%G1m-zObZ#lou@JsTk{Zgze{{NM` z;LPNXji!i0%$S+(p3d38ll_aY6_w6hyyrXPe?+g{dH#XKZ?rkgBNJ~#(CxVDfp#FY zhW%Z&sg?NUmDXc>)m~ZFF52K1(p75T@l&OdSD4$;9OWzNhpu*fkLa?XU-`cUUfKT% zl0AAN+BdP*i*(bskRJT6n@9es1U*xEALak*ewTmJH?`fWpZE2>PBh}5>XQ8>FK>P& zxBI=$wQ4_h?bVLc_h2oeFF~0I<06gdTMYZDd&I;OWzCPk1F-}+ec^FQU$i=TWB7Np zalcRV`^zoUHAcX1NhuaNpY~Mo#1!OQTH(x{mq+O%p`SMK#zflMW^7*VY~1~JG2cQi zFJs|F^S$C*{rA!katNc(u5Zw{^GzP?kv!6aAG>9hcD9=)St#wPytLEYG|j=P9sW*U z+AuebJtf9gU&~8loHuZ^kF{?l^)n#mq^q8!qc5VflD+ivYZo5fH;WidX|h$#k6%do z`HZs^0%H|zI)Aqj<=Y=_1J+;eB{k9sL!u)F0Vgh;3TPk z!Lg`sV4@4mef){O2xIZqns#vc6t1KrLr@2v3-Im1WG%wA*KO zoN07kyWW@Y`Yc1o=nx|ErDBk#Q*FTn_j}76b^ms#?a~@1l zcy00*MkV{pR~rGuFkrkoLEK*V`I0??C5y*M<-5x2(K zZox&Jx1VvTrp z_g(#C>Tl2}A=a7M?^gH+c?}+f1XX%zSi6N?A!xgV+DdiIr&eOIr%Qx zbW}1AJPaMet#i+X*TiScC)g3If4N(?7VpycEwA>rHgkD4B>uLzc{T@~`rj&ez<#`- z{;{t?55mt-(Smll$y;$*^%@rL}}B%H`FGbZ(;Hf)k!n%UqiO z^riz-JWF3CyW!!c^zG!y*SBA}`Zi7aMw&PFJQ_axad~(Ie|`Z^NAI=w%_!i>^WU$# z@quC_mDO5C>7sZFt#fPwp0;ZqTy^nnmu~U<*Efj?;rIEkR$7m9E#+EvRTnLhJUV2v zqktiqo(bHMN`oiGgPOkyMSvfXk6D*~)!9S+di=R%1(UYJ{ z-*@updjDkMYTs-9&V3mNYyW&IR(9*Ak3BQ~$|1QxQV&*0{LF!&bM zEl=M?-8tW6b4_isH`hl5=36Qo)%eh$`O$jLeO_*CMETL#cI8u>C&&oGOO)m3eUcx$+{m56lz~e$K1UL&ul89{VtO}j*af_3 z#Ix~Q#_~Tt-cek!opSO!UW~99y6d>+aW%bhpkpxiQSej8{9cfD%dzRG+Lu5)=J;DL zmV6pmv8durtpO1JWF(u7i&mH#Vh9>*Qmn8~Ip977v&{!$ zSH{!_!R|)zJPcZnz%okBYN3 z?&riPg5mg*7-g_;XuLl?%+&|=U*soGq<$~p+OWO1wdHC~zu~%d&w-B1xz6F*J&!n` z*s|h$e}wl&-n|&h(}h!z)8NUDu6p+32Tyrlj~~`yF*Y9y#`_`H{_59BzC%r2IDNTU z=+7*C33sDUG?ieg`p2 zzTJQC^#dLIf7#peBfo7|Ra%?5HgRp>x}CH_`|9lH`5fKNX$?QJ_!V#^yS={d{XETO z>^ZwB{fz> zImM@b-phC{<6h3aoO_Uakoy4c1Go?5K9Kuh?t{69xQDn8<35c0NbdY@YdXw5%zYI1 zQQXhtejazN*Biq_$_DRJQ_PmP<7z6WGuO5Yjk4&wqh zk7AiEZXVTzhv!^3y|^x+Jt?5F+VxxttX_YfDv9&ml`y7W%oE#_cC?9(}~`GItA&N;D|Pt$rW zY^A@}4V}S!roL4HTQ=jvX3&3rYIthuZ08m4R&DE3@U{w?SQFO1i}cG1XjZ!X8S`t{WmK{b zSRvYbzH2N>{l;Fz^^8}Iu+L_mkv+7ECwlYUtltXVm!@yfUI*;&6~LBUC6CR5&0TQV zLjpfHDjs>GJaiFb^ixu_hpYYJwVVfZUz_jX?X2mgSID)6tC?#j*Iq96!dZ5|IA`@Z zeFVn30|VT?hHWM6$H0@rj^-B7As$zQ|3T6@Ly*1LCm4V7Bg$+1`{8f-jE^XSr=Yd| zZOK7n^G_;2dGF$`F~4v209S3BaR+eFjcBd9MT4m(G8$!~X(fXWZX8_q~p>=e^f4muoi9 zXO4TXqd!*(&xiPy-&eKKH&d^y$?m864KvSg#!2|iW$L5U3bF>!>hJYU)i3@@0nbmm zvJAVn;N|W2dFD$BV%{S9n|4@z&B^`Mj~Ii^94LVIJ>W_I1`A#^kz%f_-HK?Ptzyoo zbOXC#J|(8M&e<D2}CuF_YK{!`KikY0HV+`nZ%uf_*Ox5kqddynq{)=FUg2l*6x zPv{~24$>bL9B7xUw68#Nl#Hb##j2AY(n`XN=ec!YN39o|fx&sYX5KA8*~ev9$XsX6 zmk`gYFX7DlMNNOK26_r(O!2;)vbW^XV`zaU_H(tr@VWOoelzO5jvsK{%{7;6ELVW< zKRV~Vjxl-TA%$&|`Zn8$SG%=Mv97jhXrtPqb^Kny1L>2^^Hj4=WgP92e7DNWcWXYY zC*M5}er~b4*YykVBmKsAw@)O!zK8U0kgm2TO!^%?q<@R_TJ7B?&1+Mxj2-Bh|6jeW z3%H-i<@JX(KQ%lm+i_^;jKo%B^VFm4%8DgYpQD{&UPp1~b0djk%ESCdLy-7_Sg4w{ zcP1`^PsJL)H)EjsUHh)J42{z(tq}g$8*gGiP5UgqdHoziLqs&x8u@jjA6@(3kTW1zwKT;Jd;V^4a)0Okc7rD- zJkwH4Bn7n3shiB}5~VAY{Fn%`dt9@Bn->k?w!GI*1Gfy=l{{Fr?k z^?97U4dh>+t^uabs+JG+>iVu{ds{2HmU0dL%l?k@xGzK@CQc>(bkEN6Q`c6bbV2b+ zGK8>tWK^FAAQr;KL?u6nkccyBMAYUv;(?_{2*stsNcDNrxl$>b>3^ zwMY8^Xn$LMoCNenh?%1*i=T;U4Cemy-wh1mGd4TudHP1r_jPn$GJpLy(#@#aDokoM z|}n_wK@lPjA=w<}%9U+x@e^`dWzbfA;Kxx4jlUFF~$f<(p(v%s0^;hJVc; zDQ%IP_C4elj^&LDz?bU8tM^^c^tJ||I0L!X4?fWG%}*cb_zKrUT*3eB8mEm!spCl3 zTJvn~B8jB$C<&S>o@})VT#jjiK%LmbSbl3dI*E_yU{?FJ~z=r1a#6kmZ^u|IM z6EL(h?j3dXiJ&lGY%a1Uy~WTU)%bou{FXtJU@2aB9y;9TLF}C~-%&Ew0BLSqx+q>B zNRI~oN)wYhu}U#?dw#MpjvQm?M4UC_z>t1^AH5S?^xll4XuX5pi$t&IJAuemXeV#adnWJ|QG zttzojf7iv&S~1QS31Ms0?RsS6wK>SAvu)E}O{=*v?GN+&7*^xE>M!?c#+Ipb^&>S; zrgBu;htmh8`y52vm*Z)Y_#uNv<1F|?a|)t~GGU5cGOnp6kg zbHino)<{SUa$cy{CSMA#HGJ=e7Z@I1Y%8ESNL%>8n~&3KW<3o!{oH?i44gq=KT902 z!8+JcCOFuwVu5Mk-8G4M9aj#)ytuF%EyzIqD#`wn$YAX;=xG3_kpc90G6+ZpeD8)A z8F+Y)R|boYfinnfBLmK8&6mLmlEIfNE#Z+a=zMwAm(h#77)g3C;2)5|q+`(208S$V z=<#Im@=;{K_d*$Xc#l^GXB`7)5ZFcrN4v{lH+XkVth9tjd=JQzL4M4vJ*)q$n7IrZ zF@tU~a~(8<_~^-ly-@9A_~ylM@}t8dqT!ztGq;&B*X}X%{!2d`Gv5UrTlk(|FTANYOklKXKv8?d#B%F$Joot-Y@AG<9R!j51F=aaqCR`hfF&k zZy?XF(l+OaBqGoZ529Cbt6=F2?Ypd|Vq}j6uP$z&e4PHZ>OwTJ)@aaTzDWi~r=rbi zZ%xhs9kwO;+jU=yZqy<>UJ|db=a>~k1 zv@Yw}iz}^h41UD98hKvIwV2DZL+PDoYcC3p8{;ADfb7g$n=}|(E3>xfw@4Y2b?_=4 zeg00neH8EpbNLJ4YF~h8E&`U~*cLO^$v6gfD%t4njS&^qx&5v7EBu3xY32F7&-y2xr|319b%b2)v55J@|tH;9r&mtLo0Nya_N+g)`3@k zLOS{t7oO?jw&&frA~lKYJ0ryUemS zabLnUk*f?@?i^QX9pQSG%hMUgR1LlAL(GpG9Ah>5G9^dt5YcQx@WmTr6v5{|VHkbf*DbWQ@LL8u_d` ze0T!?7n3iC4}AM5Gsg`-RlD1KRzHom4>C5up2#6*U<08SQaVG)cGE8gj*TuhU=z)z zeGR4<-!%Gry6PI;RsFTRX6+Mhdn4z$N_P`+_=A>>4Q=Mmx5$miVIy)NO|+{2o^KZh zF8*8aP6oDRKiKwb;2N9QxYDr+x2)ir?*(wF@s#XQ^M|%o{eqFRD-*`(2T7LbUAx+m zaXb$)ea<>j$6(%^JSfB%Xk+&WD0!NY%#{z)s`cF_MFfbFyEs+l=hqk ze6UkL(odZw6Nzu8ZW>M?Pk+`-8eC32Ufv&|0n2vAK8(HLzazXCL1&|Dm-6Wj?%TOf zaeRn7Uc&qvAT%GfEWHO?Z07s#(SOmfn|Ikxvz0S?D;cW|_%ia1lTUtU5i%C+xEbdW ze+}thQohsw1NY~=&;R^^j%!D}*KsM=xI_CpW{o<~ap|cA^HR;|V^aMg#-1fB>{0#9 z@^GT%B6Qg6U*^ZChA;Us3q1{K-h#Wzh7+mtKBA1%Km2f+)AGuAcJ(H9CAmf5-xq~O zWTM|v2`x;tj8*%PkR6$^m_cucSZkBGv^4@vnitVndcb1e!F1;=ZO(&W9g?-L_NIMp z@@-zZ&6JxFTVu+Vy5&^=?QXf*l<~*O-^hBI6@O{-$}OebK*schPjkq^*Nbv*Qf?k; z8e6jx%$JcC@v$d`^Z_x=!*CuJd32xg4SsLl{H{o}r4*aiSiH(A!mDipW zBijytF>>bj=Ah|fx83ze8aZwlJ8<{k%p*3MPvalu?!`C9!nNZga0$nW(O&jOvdxfkM6+oLgWFFtxY57(?bzOYHtPI~kg3$NOEmrvqXgIoRq{HC2W zv=JYOHssPt8~X^_?}C;_Xj;NOKX&qBuGUVUurd@(!0D^ue^@#-5FxtxYcTU=Vk~pIHn36fhdOq?h!sZLfbfBc9hD)}fp#ZQ=5?`fSbIgZLrs?H+)vMfV8WOZgrB9{lC6YF#G# zyUy%dqoVmM8$Tc!D4*)b3T-v(7$!ou#?+ke_2%rL2mx=(~& zwbh;<)0{{4P7^#lwg?{GwL3CTYf%Jm#|B%M9Z|rzJ0|} z`c}*@5l6joSEwm{0{eU=_hsi;DfxllxbU^kZa{pw*&}9$R+>DTpFLq8{q5MaR_!}d zxgvCClN*0X$35Sn^~_37L9=Lw-*&~c`qtupGkGuj+1@|yV!h}Y2RdFk;k}N9+%2vF zy1Qdn<5f@KRy!82(z+jhx9F^UPViZmGrY`vJ~H>&_q5qoJms_Nxg!_8c{=)em5-== zt=fO5eAT)WIN#rt*WUCE(&Jc?w%XBQ+vfayVmbCY4l*%IL45OFbVBisV!S7inThjn zB)%b*7k$l&?G^Lb#3H(@4=@Lvq#vNTzY@8{tBA?YQamyR8I65GeG8lYqkloRTE}Bs z&EVi1N8pLZd8c>D#O_HZTP2fOeQC#yOa!+wjQqo6UnsI>wG@SDr)cwioZ)0!{dG=C zz_woOCNs}ZNM3v0HHf9us~sBGDjV^0R@4h;CR=RgFnu9@&obnkIpFlQ8q?8#+1C~- z57BoIC4c?tlGN}MC!`wtE=&4?k>tkUvSj~IB2~q2THWKDlVt2Wb&tvu?4!`8tY-DsWLKOG7rK+*B%_W)Yls~kU$}|+$a>m76IbNf z*}w;TcaDP*M*u_l*CyXVkN@-QzJ34u0CL90G+$UQ-S3iL?IiS3Ux}3FuNd0zJX1sMy<{Q&eKGQY<1_Ff*@_3~SIpg?z#N{Ynl5hKq3Vb?i+4yYgz|29ReeGIbU)KXX z(eyjcK2^C!csN(EW9p|hK#MaMrGB$ytr&L!vg~E;X1-0nBdEF4LBp9}_w;Bp^)evj z>@yhxk2sZfh1fE(CjBXN+ehDDJYbXRyFVwq z)Dz!=TK8h~GwAB4*$0dc^p(zso6>8n56izA91p^)+A-;aw|98={~qW_esG|pmaCEH z2$%7ZR-#C;$AEBSx_^N!(dRZ}ACgO@t6$RLI(PqwXK&J{vQT5X8sCT#JvoqPmFe1R zELlwBJX6+N23MRQdsDkp?8@BRyC~gUJX!TB8`2uUb?G0TxliWYaNe?ZJ`Ano8ZxCLt{BGeZju12sJP=>d;sOPW5}Vu1EFd*}eM2 zJ@N5Tv|m&}`!Z-RL)Wwq=Cy*l`T=-<1TUxeP*CIXJjKkxSIHMHFfLY0`3XJLt2MBr9W$A z1`Xi*0F$SSmOsyRY+dEFj!d)+M#rSTTE`&x!t2F8{iw?XGT+++?lyG*GtIb4 zdE@G|#wXO4{1@K^s}??f!t)ID%*T6?8$W-+T`M9U)UQV#=*+{M8;q_ZBlRKw`&!?= zS17CXP{p>@%|A-^vd<>c!_;x^(1DIo|8t;Y3-|oGl%H-EZo!YqC#_9-?L|>M(Q<}M z$53c6eewvpop>Z&##tJVN1e7*aV6^roi&Da@)OR!dHG(^J|OIz6Cgb=Cf_-({wqzk ztF{Bw>IjO@GC@IQxM-bXzK_#F$$+#55R@YaEjP~M!c-;L=MbM5*{z{-Em6}%6e z-93Fw!F#OWy`kWJQ^EVrg7t;Js{acYGrY-lGNYiwoW# zEO>vu;5}LJ?!PL~IX57kF2d)~o*Dnw|1$i4BlDa1hR;s2_I;XbU0=lj)A2pb-A33y z9kf!F!3gt>R?=_z&2P*&<8zZ0yRVl2)4mqLs03cTFaC|^ULnqJ;+%jQ;Q8<;f)}X* zHsi)RqwsKORhrn9_M)qN2l(^LZ)HExK+32*<>>P}<&FebrB9Jx1GeA}2afQ+Ur_#@ zCy(yiW!f4C|6$58#>_my0Pzv<)}LzpUgiH%Q2vik9NqUg<@H;|!lUxUZl*kAO@X^e z(|5%p4S9IPV-ep}j(me=x%ou5+7-=9QD#SNn6=e`?rqs}(%0fM{;u_eCa=3@jQN$r zclWlQ;(DBG6jz9A30Eyw^BVRgazDuZZLZwSU1vp^xtKVyLV~)dz7@NzgV!T<__wIy z6SWD>{uzB&+o*4=c-9!U+HSAiDh^9`)}+tHSJAk%$Mf|8s$_9+b+R<%w8bS+o!vOKg<;!=yWz@PJ7{o4!4-3GT_Ri&XJ1^DXPvPvy!w8a z{;Ar@Vt6g)o7#5$zJS_)f0%YYMgE|EPbblGA^C;VTLb9L*=en`!PyATI&el3EhB|9 z>eRzIJnMJ3R43+p%=unr@UN%O#CcR9)>emPduvR*q~APOtm4(zy4^afgfVnrs9Yx< z=#?kuVICdOV1q++1Vl%|!RH&q{t~@ovx*M|tDN_cOIxwh8lAi!d|9%2I30?zAD(pa zFPbD5tI?tLEcC$k%}_sh^kC)<2E-j6|A(^r9R|Ta$g?Mhv3v%Hc(L4L_ngik(1D7CEagEjTLIO~>4Qi9OZ#X7YM`{)A_*zRmZT zL&tXv9miMSRi5KGxRWy+b;j`ae2=ouYR{xIBx<^Pck&V09s`0 zzG!_*%+ND6H4b{jhx*0pbC%g^&uGiy;$fibd(aHV$NkWzwnl#c%1uZ2?PpxcE_Z(S zPwmV;Xt2po+*Y*PokNkoJM4}>3<362Ll`TijQG3o57xda(hFe+*-yT*0QPQRFEKG6 zbkSdW-q&FIJ^Ap?1fKXl!W<@TPWurT@1}b-o;0&RYZ%xIhL0niG0*l*K4%@hVEo5C zt@&qv1aLhVx@(SpE(|emrN-TG<+otZ039$b;!(^7@hOG-RQC!mWHmRmbr2Y`>N1Bi73F0wW)Xo@-6o zbdB+lr#5v8_p%W4!{y6cpYNwUW^X5HlT#7pK|kdur4O>-TmQ&>DDb>B{KLqjvf<#0 z)*w6tBkX(n6ZAAvH;v2Fo5wCsPf&h-TYg~Ugx2SM52njvceDz=;v&&}nz?KK%<&f` z;OYgg7`RTQtl)e7%1^`VD88xu89mVVzm#F@pndZYhZkT^@aSuL1Gf_t!AmdI+<&|vuNG^O2H1a!l z^u_bxR_$@hlV%Hs*Txs(`G4f=RVVv(>RRw_2aobe7lbDVpQYfHf6#mXGoAHy!dHaM zq+@?OgKy}H>3>3x;M@pJUSC%_efdO(CgND*Gwkws>jHkWuAQ>Nw`uOWbd)?cu>}4E zU%{LavD~Llvr@7*_0OkjPE&FwkIHB~ZQS+5UU_@ajgO7FHdU8s`JC`VQ<*i6eF{n1 zQZpX3+8ZO{9f_w2^#!2_ED9o6?WK<5PSWkH34_k<%vMiu8-5Z|e6@ z`l%rgr9ThfCt+jXm;AW@6nOaF)Zxgg^bxL*^}yRlE~PB8|K6FaS~o2s{snh`YuVms z`>je-&d5!3f=^=meYtC_R(Q21hkAK3pEg(u>|u@S=b%k=9fB_XE~e`H^X|7zowTk> zKSuti=B`TL3m)4VuRS63S)!@6#ECkKLh`taJe$F%=T+EJ7&%C8veDYBeEV)MC>zf! z`z`nlb4G^7$dtc^{F}jdlPPmk>Z_6qICY-$qE5ad%xOkb*Yhskyt3z0)}v_-<&^dm za@LvgC9Gq*sLa_bb_FuI68Kw0Gq6SXVe28;1KI?yg!NQ* zDDgwd+Xk+lHPw70-ir7+AU`A;Du72{ zu2UA8E2}^c{J?y6?5gw^SZg*W_=mLRuSe&j+D|>YETlDOkyiO*RF*lZ$vQ`S^gzA^ zf%(JAU%c~QMZap159^6n)_bw1#i_$jQ{M0gpW;{a8@XDMWNI#a<;i5G+I8R`iLOdl z0Ndy|?-uO{?GNp!Qzw$&Zptd}mMN>~gIet&Yh|l!K;LBR-o97$<2LlRfYCK)vn`lN zRU?NxIVV>#V%>llyFB+8`Rd8XnfC457rxiAh0DKyvG=dN*D;cNxAqyoWn!NQJ}suU zy1u0f8?)o$VS4I1Q7+hE{O7jQ9p8D9%2~kh ztxhlWVkX*r?L#N-G5gL{K4#LizO1QjhTH$9pW4^zr?Fe+9EFRxO1?P&9^s{b9Vq#a zqx(j>aGA$3{q3S2@~U26WM47sJF&^8Hs-Y3t+SfaXIFHW@2kjHa~9`FzVLn;`PPGD zr(5o@?aJMmrA+ZQ@P&t zq2|IKbaldtG#WlHCZGBol1Xt${0|VlgDyY^J)IK`Md(w^En8N#-jR1-#d~WwOJRBI z@>iU`!C`kTWsSX@v>D6~IQBjiJZ0ps4DtKD$oa83_%Zl8LVn%7@rTW~qH|mcF3-nw z_6ZxicbX=l7-t?9~!;|ut+l{O*HVADgYq@HR-qrOjJ*Eae18bN!6%2}X+LA;f>D0s`gA*KrJ)+F zlWr-4j-#Rg*C4C1*s50L|1vbm zK4_m!-#~fQ$1e$i2e|#1k6vi>WV+fd#f^w!W-7t+5qB<|{VM_SDLv4{(b$6iE-d`GEE$HCuN`@Ur8m}!20LiLX>IWXNi zx|MgY9R07BVeqV&O}HKwJ-{=vgD+2ZK38sEMQ+j+Kf3h?Y*Mt)#`j3ewaDZ=L(AmU z<#~DX}m9s_r3rz<1qpO}YV?Xt&*$N!gII@QEiyLl~WEsG>tzUb!9$6xK{ zhyOw4=s_9%2f=(Ex=g(Qr`%qTpIjL%i^TgWwkgE<-!2TsZq1n+vaP?IM*C^x?bw%S zkjxmL<6q|DCk_dC{0r|k7cc8M2R#iguisMCDBsrQ1Ikoqad24|n?6e) zXobgaeU>p6dlb0B7)DRmHqy#%%bLff^rzgs4ZN!zdY|!taeW^&@s;$AINHR|#Gox- zr{2cl%j=NqN!S(oiG55@eU0x{Nb}!}G2qknyETVHj0)8+QcbnvW| z=@{iJBlB8)rtihNX!w|=n7(=?=WIB(@oSAs@EsqfwfiQvmR^sqTxrI7)Q+9u%G2=| zs(bK(!_RdwaQrU(a^TRHTWwndTE{}G>g&e_K5OlX+0j+Z--#7uZ-SvbTgW4O7p}8o zzJ2A;r}0wJ#BU=hhBmM^309E40KSp<*^S4|xQ9u9%!T8{(C?3%7@f9tbXg?Qs=Rjy2YmR!S#Cd=UL5RrM}0-cSaw*EammG2$2*}~d?a~S z2qx=0^?bWvMw-**lONO?()KdSR`UCn7CzpKp*1GuwXMFGt8Y=KUHz)TTkH73xYMro zrXGrcJy&TFjWs4(Zsgf(SLNr_7DH>`x_>{qPk0qKaHo%fO+GF=o7Q=5!;CyQRNOv` z^0Fb>+wLn_gUa(|h7Kn-I7~g;)RWdYdTpkeUx~T)g59X?8>2FDhrZtmZk^f*&WPtX zJ-}~bFU0|#ty&2u??{8o>8F=k{{kOZ^ye%y^P6r#=;o}I(R}9@PCEw4X8h2pwrS8s z;GmB1m4R~N(c-d&+67_s^VlKFrA1Sp!jOtzhl#6{*r#b5U8{idOBt5F8i|G<*b{ zzQCd1-(FTXzV)Y+sr`t&hsjHv(|+DZ#&j{K?iADQq|R)&&Za^?F*Wd}nYb?M^^b__B*Rz9EB%ws8(9(8Y0b^ck2&K= zFOz;ax{5WaPM+dWqGbWPse16&@tdt4JY;)YC2*wFo2uNhBhE~$MR zZ19V|0g@T%4qcN|v?-=fDB6Ny&SZl=#(CQHey2O0{1h?6wy}!!6RB;!<>~E=J+mHN z;|b3R&iCQ-C$8>nB(L&qC!g>g9`DFhv5NA3hrH_lKFL_Iqh%bTCIL3zO}-tXYG_DyO+dEp6sZbfMhLMm4x|i zEo2At?bMIPF55+)S9dqKH0I|&$EC3r8g<@O33Q1@^{uV=3h0}X`Z8%nmZPh_2z!84 zpOIDRi;=;ME4ucqC7|uL%6RKEBUkuhU6<$IOe_aY*qrIJt`{G`@?ts0g0(KWTP!ym z#cbpnZ1;RA&fCqUHmF|kLg>_q4d{Ek^>BDu>%mKZw)cmBaAGxL6~r<d^d5@B)1H@IOsc-&YYfNiQj!i zeP^qEr|=ZSEy5ebPjVLa>Rr&om}vX%WBdWb%D*c5RF>yo@M7g(*1=G!+eKU}p5jK9 zQ&P8axA_*wXVA}k&Mu#v`X=$%1?#ez^yvGJNALvzGM&z(cr zNs>n%4*w;Gvc)qGWyg;^m|3&Hm$NQBn6)|Ub|DNi_t&b&W%WGeq*a;4-09B@ zS~~)`J(Ty#c=y7xpQMa%t%a^AW6^GM%p3|+vVC3|7zo9jy z=m@dYpo9EQZl(IPzGca^fg!oIBSN``fR$S_!k6>jn~OGQUl_VM>wWiOL+J2or7LYM z`I%ix2IKgW@V)6Ze6O4k%K7-s&ov{4AXCb6>ANp{d8^NRCk;3|ymY}+TD01qt(;)z z^6B>I?+Jc{GTZXtkM-VN_+Gl;EA6A;S2VMhq?+GnxbyS_VQa(QU}#EfFs}J?Gfz$P zF*S8CdLLtEFQh7W49k@TLb=mFc-$j?!62> z9_~KBfsT#n#BptIr2BjZ_t{&mEPJs>h`uKaXcs>5>*4f~?mg%8BU(J3M2pAIN73Zb z^toR8h--87y>=X{{OtPjY#2IbZ}ewReAo5L5fsV~b;*%-)X@O5k8rDC<6tF@8OlXh-e)yc@II(Ml0n#?oEHf$}@I0Fkv zL#boR$;F#5AJ(SqD9m3d$3i|s;40*A_QvvTAzzZ4#}hUb5HC4=x8x`uDn?Z2q<@R~ z?tQD=;m-x{{Mr74^*`I|`J2MK@eda}{=tfDNXr+L$JeFT28J0w;K%-h_(k%k43^ee z)e9Mt>*%zX5b|8c6{5}_@2t0Joi;qgO&{W=yZUJC?RLs3{ogldr8jot%2p4KVu16T ze(}x_@~q?BHUh+4yW9ybLGpF|OIPiAC@-!p%3r&G*)v z@!8-br@uGC%{R*)X?P#$=93J>_eeLtWFZ-h^ztKzBJAc2@}EJTGx$CO+|t{M33l!Z z@XFU#EU!StTT8QjcTW+@J)OX_5~{8$>`@DoRM>k zzp~h6t^U(;`%4!x#?t%H{zcUh;;^yVM6WH`ji1_*T~t3Vn>h8E?8ft-$u8PBKAX7Y z+3d!d&t?~Gt;r^?doH{2o6ltzwM@t+Rz08H_|Ws&Mb#6ti6?%Z-T2d=17}h;@iK7! zxFwr-7Z`tgCOfsyOPR~hcro*4q$9g0){%V+fAI!#KUh63b8yc1%;J_l+1y22GdIc3 zuHKqiytO=g6TW3P`FD~3b@IQKpC5ir{wkl79~s<4dwFG_=FA(Bqu@AdaJ)$wd{c%x zc5%Frxe3^Zu6`jSn--4O$iIvH!m&F)zrjI%V4M8l5{}m+N3y$PM>^qm=V6-*f18PC zRrWRV?;`&jz~7V4gM7_J*XHaKpW2-D z^KCaUH=X*U>=WnzD69H>9r&9r*^+%?=9aAg(%k+{*FBSc;+xN8{a?-P-$VH~RDKoZ zAKILKQ)Qo^>`#A`mA!4E&YqyoHc@9!P-iosX9hBu4SlnCmM+dfcASNsy@Kai)LE4D zD11yKJqnB&)sx6OmTxu0y7Mx%^%Ic)yv)It@!7*$$7c@Dxh9jTuTe~zsjZrrJ=`)W zli4^SBR_ma{n+dW!1w^V4sRTrIb1b2b5!rpeS~jEfqR7KS@kuUBRtn`jAW*4os_wv zFBtXxs3E{(x#&s>HKc^e{17}>{94h>hiuA+>3yJ8}GM)Zz=CLfomz>MDuOD-^Tkb z&=;W}HFjhsQ%CuU6OUvTQKn|$VdE#p-IX&oH0i0M8Oe71&O@17C^upM2a-c}7xdgF z7-gF?>MtqglO2p5{-expXcEk~;6X6QmE|&fpmoylqnX#mPtCI#`H%^FpUb?#_wg&A z$;fX_od100gN;7pFGSF4R0-=OGb&z?Vg z9sjl)|0drc8|?HY&};k~u#G>25BU=LPx-?=Mq?CivZXz`q&z_&3VS_j>+NZGil3 zXMXS-e+ZxX{?Olh_kP)mbhnN)qsPFkgMQVWY^kR{U|~#_|6WwtyR^jDC(x_dt|%|_ zTSb=bD=GCC_X_kb(?CjPS+TEAZ@*o^C}(-ElA_+FMU~2LSM(}Ye%n`MDSz*>UICLo zP;B+-#n+bUa0z_%R|@P zuqZU?qRS?Y3|%;7X0-OQi>tqUd1&r8Lu2OD)h)UqazowK*MI%%3(vS=(X~v{ix02; zZsh#O|7*Yhul??+{horY%)&<0M%Q9Lrk&=lHsT6wP5xc}UTuKl$1AX-8FMCOYpci7 zo=?cm*f`F#;nDhu_>7+0@Msn7y4!|NsiN(#pKx4l__X?QrVS@f$Xu~?Y-U!=_5YMM zT(nNJCuG%z)BXUvoc3@+W+`oQZX-UF_s%vGUcEMam)qt}!=IQom-f@N;clC&@21T~ zPD_Ac+Ee)--e=S!Gn=>}4<5eL!~|+r4Lo821CO>`F@e4tc*wq!9%#lVW~NX#ChlnI z*_bwzvg3BHTGC>OIL@cQ!pk(?9d|MegDSNLK%#kLh=V>#LABI>GQSuAH_9%Nnd zLM$g6uJGBpTc`t#W74n4YP?MS_KJ3{1zbO5KG!Im8I;a=#%i~{fX9|aE>lC9(^`^blbuWOG`{-wh56Y}aNue?{* ztUV#Nk`9C^|DT2BDbrcE;8i(fYh(~2{}W#RfU65`e$mK!m`+&?uKc|p+RwSKgP8BdzLvFCP*3VVR0M2eW6bwrW3imU zJHpN}hmC!?dbXPK$dq|_>@1d3TPd8(_hN4@T?=eucg&?=cQHew=wSRfP`Lx05WN%Z zkE~B`+|FwLc3SgGnpd~6cgFr(G_G1s9afGQnbVlC>aub~MNW72*tS*#o%OtDK6G?n z1>?+>BTmoRjIEwm`HOe7|5-6YMW8sRGYoa^WWHV%j%DZTO$E5MKE{qiM zoY80P!WUT^+~1Z$zl7UD=h&;QH4OFm-*EH9)DXG1A$1ceAkb%nPh$DP3o8!Hq%j;nFH-k`L~D(-w#A`6)&8U(|AWCc0$Zbo60%}wHwHx9^ZWc`#3Px z(c1&d99>;(*I*N6xtppcW)H|ls>kzQLpw8xv6OMNNj2EW1Z=4$_kJLjlbrvfqvMLY z#)n$B)5aNDL!Xf~^6_LXnP$Y7WQ|NcS*s3m;zzQUJOj*40`m!Ac`{eoLnwUciw z`SR;T@QwO}CKbn>wVd4lRD*mz0n`_xUvjt|#|KdfIKzKRJB zuJc?TR0o15xE?&U-}&%VpZU5f9TmN&07GdiFF0O#wcn=v1V`WV%U1-PviNM%u1cp= zUU|IoYQI%pY5Fc35k9Tmk$jEs53&X-P>~CS@M{tFbv$r%-2WhWt>kn@SgELs?Rl}a1?Qh%YK6{*2R|Za|o$nd$jy$-Pff56^lJiINeX!-W z?M1urubN+E{>H1bf7Bm81zyqgasJpx8!Y+xf4wd*E^Z(Oh~?Iwc^SU`Qz>kspL_@F z+ed3o)T2%J|MS-$_SYxz`-J)W-{r3-y8gPx_1E}lY{Bu@_-^d@SpNE#_@{rCzy1!e zKF(jWX79NCHG3lZlx=ws_*hy3-2>%#Nb*XHT``?Tvl`Rq-{ zfhQk_=d)Q?(#@WF^3V4a!d~t9=PrHnV0->~vdE#f*wo1bdNU;R4@(mJ3&Dm4UKcS&X=s-$``*{dVpj@9RT(w0$B!pZ8mJx1@G~K_s0v~w->zcFL)3BzwY=(6}-4N=YjE_L)-^E+PdA3ALo%8%xzH9%Gc+vhUn{&K$=8k^fhp~ix zMb!1_GHe(u@|TI5u+8=Z->qq<~$$4en+q)4!n2u?81Jl0Jhd{n>|awCidB9 z!*AzakmI!7K|kx+cI)%LkNi?^YXDdNJ{8Nl+?+ckxhO`}IDq`2kyo61bz-RYru+<= zb=H=iH;b1>t;uJ9pq>-X^CsnC9|HSG)B5cc$xY{}`9p~oojK4ejQrS_r8DV@DLZJZ z^6R(56D{ARtiSH!q(7#!a;CTNJ5I^cNP;aN(^GFTo{%q-rC;pgVKCzpMbPVuL2DiG zBi!MI@zv3L8aZPY%ZyEf{sq09Xw!@BFlHiGIrap&`z*?RS2!h4s>=&WpqF z(6}Z&hCP%6p;h^olCP+qv)XRt92#_>)Lx>!u&aa7Z>NhUzl07rXQwOg4dnICN1H2L z(4y~G^E@V~GsHP_4jek0QRniNkX9T5Co&Wbp9QaXHri~;3DMfbe`t^pIcA=kr`_t>pZ{Rp$IbHeT*i9RxUk zkTquy=i~MC=XmVvB;iOnHZa`9C)@Z8&&RT_YQ_nV$G-XqUc`ajHxG760qlJH8UgH{ zc+sA%)3Rr;J(o=;#4)0?|&;cdzuuPxM#?yCQP#1?)9F3%R8 z6a7&~KYzyav25X+?C1Av;iu#~UR!vIyq+yI30K^~^%&2`V+;QZUe6XDp-g@~9zLIa zl3bo{_GAl<=N;P?ZWTSQE!@O&zAX&@C)vVW;Xps6|5v;C^n3-+$Fhan7|T2!Tewv4 zA`a|Hd9W`mfSqp(*8)3VhMw#`i7lK9e9sm}2rqs|`hU8f6VCGx<@p4*u@Q>JnA6%X-{13X~*}?}rAIlb=;d}$n77mf`cx~Zb@_M%Lrf|g_Tlfpl z$72f*g4eT!J(S6>$Niu0ZB69zWYLo?ymIcbZQ)tbr_8$J-9^5O;XHl4p;%x%!U0Mb~td`3HE5=kZnxjN|2P)Tn=qxAR43 z9&h)F2bZ_uJbS#IrtdCqA(iOiiazQ`zIdDH#{TsDD?PhBJg+=neI!0UUZ0i6 z!+%lsczM`))<4EWLiD*j+$XwS9`4t(%fp?@^9gu3EsuxQls#S^%EZG*oQeDmV0r$0 zzUYfO{`{+YjycZ@c=mjIaoCCZ%{j!JL994HZL@b4_NSrK^Y1ar$-jGN57dRB#XSSO z+j$Um^0D3-L9))+ASL8nik zvxRpTUb?z#JfPc|!BMAw^!Lv@vKpv!85)!H-J+>$pl^@aLmf?3 zF;=YpQI>qA^o7_zY0eD(3jIs@JEgS?2IX{iu+9tCH|jD~8s-duvq+03&3O}o&sfQG zN^hgg9?lK!H)*BLcQbv$i;;uiC?D%Z*oU4-?U}MNJ(zQLs^Qy{JLA`8kGl5ytFNhj zZ-Tj9bO1|o)tN-vXQV!4afr4BT5bS7ZF0Nv{>-IWdG!8bURj+}pmQxRdI@-qj78kj zklw}K_K;h4V01!j8NW06lnY}7F#Ny}u2OJGw~J%+J@fdH40h12mIUuGXE_ST>A=_d zyW5zP7tJakPDLj+c?2kug%#oRTx(Awep%%%?ab1v)qr!q`|Zcq!61 z>XI`dx}D`46U+$pHP<iv)7Lt^?RKeerrfNu5)AOZ*go%V_PrHMVAZD>aD}h zfh8X^L2#fY|Eyl>yW3d_;~2R;%;g7JPuG0gvNm(==ZgBe^6YV+=Tk9iN6r*3aIfR6 z6!FbxbN-di>U{?rS-0p8;}5oveJDM`@K@XNCV7&a*Lw^6?WCOeYx}Wy$Cvo-NdJlS z?VNwAb63#ucAeL|O>nut3QS~{8d$w5J(x@9F$96T)90MO*H<`#*cp1ei}QMSbC&BK z?%PR!0azOIuo+AG1@_mMJL_+r6Ah)%+m~}{Ri~o0<8z{?*3`vtXuXi%)ZFgUT1;IG zL;D_uS)+XwC-HAD*YYs+2-sq=M3M+r~|=I8rad)qvYEKO!57Q>t9kz zLuVx0(oljk;(hz>D}cj%nSt{g7tUSCL~wWWE`O+UQz*9!8X8R5n^Q|9KX_+MEfw$N z**VvDDevOVD|;bj1@9Rb{?{n0^qtg6Df@p*Ioo$qM*3)cBBff>?Xl+&ky@L&+?f%L+s>Z$Rz~bDm&YSI~ce|9>_)V5x=G`IHWH* z5jo_^aGKg-;18a>Doy*z86V{5U1tGfAhd~2JxboMQdViZr>t_$G6Ux&;FOK&dok}` zETQv&Z!P$ZvX_F1R5gC>j=#|6lHWTIxX&^2eT#fL5BU5!2RcsTI(7Dejx_hl-1GgF zFYfv({Dv=9-||^#Vw@5lra9-%N7ZMmHNQJ48#|eF#VPW=#i2yY@*->`l4u#uS%f1w z2UG1#oc^Brd72-X#2Gf%JuCfOtTFgEoY-SI>50^Q&f-!0f~_0>Tny~tdFPHcNM_J7 z_#Vz>M4ls&ONq~dwys#@Y2>mQxl~IojCy}Wg&;8CvF)vMR^-ox3XJIwbF zpG`WFvq@hh%{!ZPICK=AO?oQw6prUyyZR~l!|qv->aUI_T{`^)-{*gVvq|^;^w?*U z4tC|S0lvg%{@J8!#S8R=^3En5=H_QU*x1(!mlow4!Z*c25#1S67tLy$OGDUrIMMPl zbf~S-c{|KSlh-+$)WCG>h%;*fUOC0+fB#9>*`!|=J-{=v1D7U3W{9i?G(!*is z-^ZOz8hP&H&n7*WJd>eUGOs-b?&n?HI_q;{9)4oa51kWwvRl8(TkYlzL2Fs0=d(!% zx%od&-jV2mcQ)yI=n}tzGxB53Cf(t}z|M><%I7`%FT_el-q;}cMT2C9k8Bqn?`+ar zT|AuSW9s?@WT14_0b{7G|0OukaXe>}ZgS};fey)2blmUKA)n*T!R6!sR~Ns|CiVCi z-fz2jS+M+(XOp&^gPh{v`v384((T}w_Yr54&O6StNe5QZ_uvX~4dWWl*`y=wmFe(D zoJ~5sy6bGx$Hl93BFb4rd1sSO$~&91)RpI#jqR!K!N)a>i?*CteVjQ zCZ6cwY|@x;AP++CK_frrY|<+Q(~T`=2_|vHNcU{g;m10g^s>|69lUu>tA4XdcsAOO z@8fK?{*Uq;tiG3Zg|(?iY|ePCOQcR1ok;yZfB%*TNYi|yFG)M4_9NVwW=thr7Uefh zGRI~#XH0PqbVI7*w$9wyf!)b zrlxctu{P-o4NDfCwV|!FZf(-;`*2%PuqqiH)z(&Lz5h zmHga^oJSHoIXQWLTU*sE+WpBJ+Dhg;+*Tar+q|~68-wq^Q!?iPeh>b>wvy;c$tmQs zgC`}2xOr{Pfb#NBA^)O~liye6U2Bj=vfjE~rcie$~=M z%VhW|y>SEIE=!4ie^PU@Rml=AKbIW|C577`J1J>dLy~rFQS!zCzlHwgErX+vro+hX znt@eG3!K-KkvB0UIWY7nzN`w_@E(T_-hFjd$pOJf(*rn5FOz17HC@~%k_FDI5Bpx^XEwqfdx-(r~oz0VFqo-yK%kYs*un=i_5DvabE z{w3cT1CUqW4Q-Os5@c!jUDs9|Cq@Z|k~7QN+GbKeocrCTdh?Ozo5;^swXUs*=PS-@ zYb$947SAIL%=-{P8bn37;w5;V6Q-=>x-w&Glo=*Lh#~)3X%s~gJ>ziY$%XMuf$lH&6 zOX@<%{ZVw9dI?wY+aQmoubpvHQseza$a-@TdPq6dmwqeyq@Db}J9S=O-3T33$#pL_ zrKiGk<9$uEV?&eD-Cm98t@7IswN)7&H*k(@C^>apTiZhNeIxq*JIdp)e#m^EbzxIl zx~h69p1iIt%DZ`{jA-?R9K9WLc~jca-G|^!b+f*$1i9G3A<1ipgPVDZ!IYJJ0^y-a z!MGf_L(xO&pkS5Oot(TJnS32tmdtsGIs!)BDaoQRS6x+7b)+*HC2!fqkTHxwAb*uD z3ZI2>0x8h=T?40CWd_BA3xc?XHHXkPc^YP-;__^OYr5VmZS6N_bIyD_qNR( z-qto9{rvxEdlxXdsxseu@49qVcbZNGqDE+Ccc+qcpotX-5S)w@5FtW@$~_1=l@KIq zlnMliOlGXU=3*Ku7p@X0G)Pd!$vBM1K}HLV3JxfW^9|z}&bO;7I~6XHOcLjK=HT@C z{nxJDU1@^ixzzL2v)5jGUEcMs_qN`3Gqehwg_5*=7HjdGpB=b4^|J$3YhPLZS-ZWr ze08!`d-ACVJ@t2}13D+|P0sLvP@<hp^krH-O2-IE=lR6 zPr`18yJ5nE-tu^@)&;J`ih(m(WK zv~OZ=m!~$y+#h-&XJa``Uk0?|P*>Rbq1TrBq36slmL1?YiEu0VleD8n&$#B6dGamJ za|ZEEdJ-SillTbFPU1s)5^w8Cyu~xHrDlKb&~WOeL&M3>9~zF_c4*jLduaHjTlnV= z4L`H)(D2^%hlY!vIW)Y1|N0vb4KKd=&~W6vDq} z_j*z5MK6+lk+n-NdKPU+eGGq3j(7U8OZ0&vk!8ny!6z)M$g6tqm6vZPIXi0gmG!!2{+S*bQ)c) zK4{O=e=mBo_-=8hQ3QHRQNLwPaaFHlWUgOVG~?H!I$9}P^{9O2?7RqabiB$Z-$|Jl zy*ZR0U9R#6%5A*2lP0>jr<_cjM%sb0lNpB$=x~=&hcDMh>sUrxZq1<&>UD@-XV>cp zQAf;0pXR75GXps^)wQ!PdQOgU_-bU~n!$1soJUp-mb=oYq5pUno)by;o_X-?7spp6 zBRasP^~I~ux2aSt_un|h-89~DzfQaMBs$zj(GR6;ueUGP>$PGFJd^0f{=na4^?Lnn zlijb|j=PocZhMB?1?_HXbKFh5Z*HRw@Vkfa{k(5!OS+E|&g&cX?xBwPinnICj}o3o zxX0>tzfO2A;fKa2DaUcsO5a5KW(U1Y`XEAu?_U*`t=qFze@1W0-!&cH=N}q4V zPTjiHm-(B>Bi@Z%gl&?No^jmIr$rNY8lB#fp5`uIU#lgdp{5l(umQJ0JH#Pl*O5;2 zs7dYZK0JyZF}k zerzr1?rW!aVV?|neWbaT_kqM2?qjESxQhute7fTf5}#4J_jb8`@9uEhmFC@~d9UmS z(!7^6#3u-Ubpmutxdnw!pYCoY?{bCTOPDm12zMnO@E%(%oK1Gs-;x8xbq{(S=xU8g zWIshNVjPn4<-(>_zKzx&@$C)KU*w{@kQ0Sk1pKRwFphwZ8M8=Aw0 z)Hv$#x;?74>6=-v3r)(NwE4%N$tK#_f^57l4sBcL4`iN0f2PyeYl+jm;zQi=j1AX+ z<(6`HVaRKvt&gYS>ooR8ahF%Tq#vER%fzoEz6+Vw!`b%5j}*(pmR0S!w4Z0Xs(iEf z9!qz-v$0c>i!Ik04-bsLsv4PV!JpjYmF_QJHyb$8KD~wW!YB9upSu@u@5d(w%9F?& z2RBbS8&+lr-d-!}mFSANU+&TKemu z6@$#hV@tu)-^pSZfREx#^gQiPkuLwCzOrzk`uC=grPv$~pFL*^TG~ykoZ+fa{+12o9uQg&3UA`V6xk# zG#8MD_$1-4&2-!rt61Jd9eebCAu^f#S%ohkOge|~Ty)vjQqx`a{U+*qowz-zDQ;J3 zm$#AkgS_8P-H#$89wGmJ-oFX`51<-_m@bwk92!JiT%5Rc+%$T_HBgl{?+8k@@>_j;eNt_y{k11p)_l`*<)$p^I3&$ zn|Nra7jdwEGCL2poZRomIUBaMzgR%ud1kRgI$Ghuw5Fl2Tf9_To0zI)uDA zB%Rwv++g{-^_}i@vuR_AF|32krkyd`6i@UVjOW0YBYgE#tZ4qAvMTpFie3H|BjO?}ynRlfdU`_AMbR@oSc`#mli7 z_*&r$`G6-9);wa2u=rx7tvSM+<^q4E?=5FB2c|!^n%2{d$6m87OP3#=YIDb{&DasU ze#;uxW@x{Y_G+xsyknwBk_T&?+i}9ROAlhp?{bROb6@h;E-?mpHPui?S3?-YzJKeG3tNSh0^IbAIOgf_IVWgQcEh|n(0 zn~lSNsCeN-ao;DbwdRuZ@{4OeE1D9{hP?ARqn`%7`t64F-z7YWc|Fb1Hc?iXJt|}K z{?EVG8e#5&Ji)gWdxh&!xfsB2)?(%H6#%$tEg!t8vrwnW zG<2srfkFN7DZ;^eK@*?#`s{8q=8 zU=m&|>_5Re6FRU%%XQ!02iprn6^&z+_bl@2oEU|ts?0hbPOFz0Vt<_zg0@nAd({^~ z*&lhFyy#u!eIMz^_pQ2H*(Rgeu>O`g>&EL6QDed(+(GL|XYV1^-io1(W22-hZI?tPji63L`V% zxt4Z#J^>9%E{NXXg;&J)>SOhbWXA#EX{Ns=AO29<8%S&JJfe)psHYK!3HF}Gk>Rpq zEXvniLWp1fi%-!SN8`I|U2qEWM|0`r5OqtAx3O0;f!vhcm0*3GZG0&Us=vXPV%~up z8I50WJL|xp%ZB&;VeTud^T={|#LoQO6KzqW^EA$=2R;R)jpQ`#75X9sCZedS20*J~zioV2ZJ^bP6T8`6&>{j4Cp z+gFaez1~TrZzX*jX`#`Pvd5D)6{IcpmD{qwoS{#Oy@pm6W{)jMLSB*=^o=_^9;Wp4evmQ!R|&+pvvV)7V>#kGd1s zbFS&iL>Jjs*C@mnsPSgSeiIIq=3zZC8;eii#4H&?o8 zL*R2uiMJ^Ki|=l#K9IPaHG7O_uh?8!(qF6Hf^SZKxh42t;`q|1Fg}hhz*mQj9Xf4u zMLv%h;VA#5jJqxDGR?b0c}_KH@pTZMo!RAOBb1wW+;4?r)vveCg`T?H3_ci*33B*h zqM6C=^4V?G+s?ZJKjFP*t}o0uCYc%M$&aG3@Xe&t{FCa?*xSs>%t1!1z(+rmxhmo^ z8q4F0QeHFHk^yJ<@MpWoM!w5uItzH(a#LJmL+2*D-#a^Az3PH1tD0-+$_;r-sqgdn zY*eOv0kewoy@2-=`&DR<r#n|XXxN6CCxdE=)$2V19w67Y$mGBhc#sP2ggC%p618%~!^Wk%%)!|tmt_o*r zzwmZ*9WK=sqYaCIYceboOXKf8 z;8{MiT$_}k{1xR|E{DHk?O^#)#!~J1UT+id*)#jfOM!I`@CeqcFM6Xkctd}AKJQB@ zGf@!CgXOEqzaDrjd=$l|Hg{cuG3vX4m-g=_?PHWZxO!_@zJZOvwvV{yNK+!uY{t~x zDSS7Rn4bWr`5*W2ByMf7T-;PF&sN;BP30}%^sAINrHmfA>h|(((r=^>q?m!Fj?R=ab>>IL}Rlh$^x zE5&+-%yw@gvMq)WMfTwPP6}1K-R<7$wvVzN9vNrBPke8Ne&g_V4u0LYoB133X~tG4 z%ExwpEd@V^XR_Xb@#TNq5UP6Fi>jKlUW)Abe8%_7#?~UU;Gd=N##H>w;tj1^5N|Zf z6v;Bl6v-3$g(UCd@c;D@$Nk-c)@s;w+yjfQs79G9Swi`@7=EQ3eAM0fA?BLk+59wj zVs@9;RiF*Isqo%3_v!WV>eAd5RgGyi&%O*EytQ!Xz_bm>?Wg=XW7Qd3dta>;J)n7* zCCE9+UIS0A%aweb0_;r_w$h(%~wN#hln=_({Iqjups8-e>SGAMK=6uQwU` z>6k$Lg+1lnybt1w`|5cE<<^<<9W#dwjNvcRmuokcGdXk^{p{GqvNax>CoFm?HbE!N zdF} zhoIrUTl3`z{kQ;r-1y_X@pH~0eMe8RES%ctyV<;lu`eW>I)G;u@A7v_=CoR@^R%9- z{VUcJ0y{L4EFlYWvbA@4UxRPD3-k?q)CCM1&u4y*d|QE4vi6bn;MPUn z0Gn_jJkLq_eH;5?UpbZD<*m>8b5D=J!};|a%e#>kQR?qsh8?(kpq!%KsVgK)2FttW zfkWze^2l`5#{= zpJd%EV3=K^kDKwiHs#CLp8Q6wE9=WZ>4>eQAAC17Tmb*CK(A-NQInn9X^&Qeap6T`W=6k((4|i_4 zy`J>QpCY%i)cf;9xz_YlPuU^g9ORhZt+M)Om-nGWvHF5lu0>bmp}}3=3z>2)f{cu< z=&gmzy*2x(-dZ%VsT`TmTMPV^8&)!({_#=2qQ;F8WZfp#eOV>edpX?En%$0XVVf68 zZ)2>t&1c7q}M^*GXMAVUsS=4IFpXvXL`ft&>yzcFA#*wA-?} zeS6Q*S}ecrP;s)W^)&PXDM)3zF2Ik{x-sS>vO%KyRs^xD53RH_D^>ZRZSZ z*1KveCQf&iN9)R{Pa%Qz!9iv&B51+MJDm1GU?6+*!1H5^WM3X3bz@+l6-6p@m zyGi5YT|V1)*6!}NwA(6mxN|61^kvg8qh;4|U(lS5+U>YE*XvxgPV=#M*0g?V(fYvN z)g0ghHTj?y5NBwBaBKnTm_HG29AvF@d^$rrcxr$8%84Cr3-Ajk@f7n()*_8{TcW9u zJC}6xvOB#r`|qlM-Qmtp!yl|S4COoA)UClL)txro*fm;)&jC);n|-=c%}`%G=~qAqI+7{^K`wSuFW#P?b|U(q;GzK`>G zmt7(sjMlS?x7w}yyw;rKE{oJ^?&Jr(Tag=P-Q*R$75NyV3%1uLIrn)Qm$cDu(Y)gt z{%2gHwRGWeJ(Y#`_7q5!`!_RLOoL)Y|Fn&Bzge_GopS~TC`6WMUn)_@1iwGvKb z>F*>qS)mhtz7Kwe&!DB7vKn{E{$kvj_wBc)Ea_9goJD?8wvmH5jR8qR{hF&Br9JAO zNq*uMLVJei$P-)3+Q)2{k$Kn6>UQ;A^E9En)*#;J^D=Go$8fSq8N-#Px^1~mHx7Ig zk|1a>^nSD?T3%D2LA=}GZ)i%9%A>`N8|S&Zn2)> z-#Cw#`swlWT8|C1S=kcvGRz}I!7J+%*)NMP#M)Ymr1~ljYZbYd`-Ad(BDY(d#8$0g zB+Yix^q4e>ku=3>&f1Dh_Rn7oe3+UK$`%WrWTwryAy-0fS=UyRs*k+#3tq@O^E+E` zj=HvUNhPKEOYE;$_LsGowXhtseqNK`#m;W5#H=4eJKCSK6&{tHlCPxkyKolR2b!im;GcXez>3g=cneVSN#&u zT5v{#=AVGA9J02R&!oO=<}S}pGd`rwaK6Ymbf6N-F(*XbsO_qJ@XuHSp5`$u%9Afb zvdQ3!=ROC2JG4Uo{6y!C3f7R7M$hFd3n_y=D(G1sN801|XPkMKbOtKxQ=C<3Z9f>Z z`j|Oot)Y0nUWb*y$B-DH&-3(ErcRHdwE@$nk@>B<&wQWgEelNpzmq~9P|u#?U`2NR zlh$3{-o#+#ne<)Yn0>*-b(?w?Rj=V`Y-Zv)OQGdEq*a=6=KFo#cqhUBTC1g-^?WZ_ zgO!A{(wy(7b!^Z6f_X;j5l+5i4YDRwedt!T-}4#XMX!#t%dBIF-aR&MA=T}>z>wDO^0?~$PJqFE<{s*PWhshTxJm1ws;ZpCDN=< zB9G>>)FvxKJpVZVR{l@YM%EUz>;$(e!|X-M7pr}gW#yrH@+!T`RT;w3L)dn6tEST2TG+d=yr>QuYK3GzC~4a$1K`bjy$!39?0p~_*xDoB75fzO#YN@U^b#muGK6|MQRGkJGnX2?rJ>!RmPGKq-XSlr z3zw+^`#p0*-pkC<3ty%`Nb>=;kvi1&9I$9UG(o<2VaU7lPoa6fN!|$FSV6uQXd|8X zB8fcx?f3sSLt~4pyLe9IdxSbQC#A7O8oIZ0Ki_Y2H@ua30Xu{Bb-B`hJNNYd-@@Ak za24Q5^bt-M%Ts_!<97A8a3@-dQ1`u@tEREz3)a)f)Bul9gB#K7vNC577#>ic#PXcC zNLeu}Z|rupQ8sG87w{=Ez~>9mx6U6B9O4V%D^kac`p2}{Di|J8+QTOwpZ0(J+{bB4 z!pEIx=ooQv>rSt~Fjz?@=r?##@yzc{cwfD2**l`WNurxh(f6I`{~bI9Tc-LY_@d<8 zW%^z7f**_fdoXtr-*4nh20HQEtnYt8oM=S*E!Brt*3*BXo<_1gf;{UZ-6Yx|8cCBb zpb^o>643`Ri#|jPkI)YBpAG&Djlfq<1D!mP$%@1dNjrcH~D%=&|Lgg@8LJPjR{3?0dawGyi;<1;q;Z=*jIAxq2czcc_%KIQ_iMkcP+-2qK|>`g+v~_ z7t8lkhiFCf#DSjH8X}WECmO$~63(-q8#tyTt6CFxR6^j*&LU@Q=Bf_&xM|C>5;o_d zyv@IhcPLqctCxxncna7168-dPKX`<{%&yoC6;bvI>Ys%h%$XU(DHXVhW7fI2aPN6Jxp z&g0ku7OS(A7T6>+ly(wnOO!vu)Gs<-QpLugz4v(Qfh);BLU;quF8-p&JkM_a9rZjX zk>_;s&?Zx^^l6B4$5}7oM|cSzCvZl3z>l%DI0J+;p0H1~#&0iv%q53+t|TK4V+Q|GK}{ zW;Ncg@s@CDm-pYX^Ahe=@cF`O>kC7nW8l9;IE*rK((lKIgb&b~Sp5z7J8a#5Fb(gd z-7B#d&U)qW_#FqwTMryOJpQa##`C_qIOMI_EBh5%;XaSy@UDZKc<(O_d3l$!mG?4d zLY=dU`0CwV-Uhz4>=o_#>FvGOz_WRG%`=iWJ?^LX6wBFXy4@9f&Tw1vo7`2GGZrXp zcCY^!e)7wc?x#M+8hNFEuAcre(mzM~$NcpB84oMHcWtq}4%jwO@4@*=_myj>xY_)W zw>r=Kv(xK-?jSZ&0oV&#)7@w4U3qYZdmZ(*QST=|?U!@IZPfeesqUw4!@r??ugex7 zJ@u}9o%GbJ^as}X>1+4_4z8K%zOrE&@-A=6ZK7RjUzW00(6$!Rt39p2sd`q^rcY6a zNl&>Z{d1(J>=m?4>D8VMv}YadQ9jjokT$(SU8`wVmUgj+)6}81cIxUy+q1Yzfxifm_cm{>y%Q z@4xQ1^UEtOd(U+3y+1YM)vYfKRSw@VdJoWu93Zdw|HE%wRY`p5tY3?V@93O-OnjY( z&+qtj_c5o${ebZJP|J*CcWn9Gu{$nqJ$6Uvq+BQmqvC@D*<(i~GcKK%JR-il@|o@ZSJ0rTMcN?bEO!;%?J$^*(o&U^}ML2x&WT4us_L%;npG<$z4z*Y1tG$9(?N#~eFZG}4FW@%)MZc-PRKEJl$XWVJ zvQ}_P-U?3DCpgtU(_i$H=`Y%){*nwQB>O zwAb_({U-PYkKkAT2!6?6^_S??^cVeP`U^T$f2lt8m)fiTQu*pH^`Gf4+H3lYe!IB) zTSrv><&QmK`lr%;KClm_+3U1AglME6uR=5^b|VEJL%#px$BKN?_#?rU4@=Pk2&a`p$fVR|D4fN%+s~; zeKLF8&@T;oK;=nSsjL?Clqm;YWy(n>UFj&TJ*w*|SF#^n<(G2;J!Q(P!zMiyz$Sgw z2%mJ+JAp64eV>Al^q$HVjA6|U0B>EVdI7BHsR6-?t}^fnPQhzGIS&@`byfa9hqnwO zr(Z(e7oeSAmWI3+T!oJVT*z$1>=#J1!n~Og7`q zzZ-tFgf5xM{vqj<_wbax5#=fTjYmh}kE@KoIDTwJT}K!iYM`GH+JR<7Cm%r~dpAdDub1+lZaenjp#0EB>#)r`mZ$s+{@C(G_bQ)y z8fjbgiKa!%hNh|0&@{9wnw>)ZqckmA=y3yk#?UA>luvuy2U5466hF-V2-!w~UF6fz z+vgRn1o*Jmu=qA|C8CW^0*=_>~TNS1Z z#rF_SaJP?qP{NPqQ<{j6ri$giYbAfe_jwJFEo8oWGzs8M_;Wa_Q!qpv@Iu|(yXM_V{aSmdGOs6nBTfUl8rj#8 z1^yiQiatIxUzRA~OHDJjB>y7vYrTWQm)7A>_#-Np{WU@T!hzcUBz4ON9;7$4GIFoc zx+>>-j@)ZCfp#n12PsQ_Lxs<3s3WC#+NynEK|OKD$MILFM|-A}r(3Wz&`r=rv!{)= zh4QqmNE@^GgiaT2b9M^##W<^XqVXSTY$N}`WsLLver(Qda+}jz+~ztwsz0JIZInMd zk^l~;SbhOG%=|gFOvIub>+13wWA}~KX;5q6G`E?q^Q^hcg0kM1y`u8|A~H*`hKrN! z60k@{*vy5b7i3$+P}V^b*T7S01&0QHv#}RN8IJH9kJeIwc>b zZ0ib7yz$SpTl}r?uN2Pv;hz!C+w7B~J+?DS$9Ae%{RVB*9{7C9t-e2TjVHJ?xACa` z&$T@BFpHv=J2RRuKWhKDW*0VB%JJ^tu-FyR^Lw|DsA4Rewa9 zx9u}vtNTVr_!J%)kz2b3f6?cSN9yeot=~^r{Td~#Jy+05)t(71i};Gb*R8b2&|||r zYp*uYBVH`Shg(%<+Asf(hVuIf7etHovV*$BcUj7AY>&hF_v%Bl{wMW9Eu8vA%}$kS zI%hbJEYtk1?mL{99$ljpNu1?b4)ZNvw3v(4GhMaV>-^lB`Bmp^)_JAEW^F|{#5%VN zI$i4vteqyVDHp4+xtQiop3Yhc_OCCwC0bo_%ZIDQ)M&mwY{$-7tTEI1Raw@9MOc?H zt62S-G{Br(9{D{p@BYiuD(m-H z>oao)Ywr5W)6b8);nYC+>W{gsHOafy*{mVsY%Jy?s*ip!Y`&eANmgd3S*ze}F3`h)yX%pHf}t1)2~g|H20kA!qwQ>lX+fJy*W30z*+CFaf-zqck)_j zfOJc)kJ1m*cz(DVn>pEa*l&Mpj`PA&tgDMS?pIltrgTc<{*-m@)@0ZH5PZg2R{iYJ zk6WyBb2=GQ40&&6Ld+L!^CVjqUhmc1%X9|agSF6O=>2j1oKvOsVcL(td5KqhHOcPI zvyg`iSTEJuU(p(*PzUFLtRXGoB;Re~wJxX?c#yT_rX0Fuk;mR7){pT`@+eCEin4qCq)nL*do_oBWjdef&7y^U zcvr2th~G1-^9825nU4Uk%X-C=Sa)B-N2qm9wtsHZ#I)qM(s8!VC8CFWYue)(fp3;x zruTblG2k@sS9rBgt}K?PewO!(?gk(JSwC9ul3?9nQd+pc<*z3*x z7qQ%S@WwukFAxuIVryB?$#d#o&@T2^D6IW;F|8xK&NFxxK9}8~F#E$4{)|_<;U?@K z^5|^Ck#%2b)_bycQD?)vnGIJK-2yJ0)4UBoG2mPT48p-= z;S@M@CY<8K{M+m0EV|jFeD;4R{jCbK-%8;>_iERj4UL<;_mG$Khw6D9lb80_VNl&~ z&hXpcl-*uaKbW%zKjqbwUuTn)Lf1uskpZS)ymmJPn5&pYJ+OB;{T1RNLp%2*G-<0L-pA)u!do5VIILoxZ`+uwd zXV>8maIg9|eO&#ob9q$%o$%{u|Bv?lC=TW{;Gn&TeepK^uXP*8)4*sMX;a214TugS z29E6`a5Ul}pu@4WFxTK>lovwq@`?CC=j6N{Ps|&G6Vc;_?ooPdq>E8}jPk<#Mtsm_ z<^N;&Au|RS5$YCBB@f;SKP+y*L3@$8BxLW2aG>@_@~qE3fm~QV1_$a7gNHNUIUcTU zz(XTVXwA%6xe!}>kKt{zE+3g`WCLqKv!;wGqx=CJZ?^dI>G$&od&uhYVU@whl;6uA zk%UhV4*2r%;qN^Y-XvpJ=k7tqPIli+$12OvaU1T_8Hw9#y4N+5X3wmZME62>$S6NQ zavJ%pIJIR>J-=jhdr5ubf0LY!r}d7GRQ}^+bsYwkQE=QGbI6u89b8zI4Dw3-@!RR6 z{h>9+f;EGjmc9yf#X3{>boYk3{%PvCucmsIp*xo$x3tb%du5ZrA(%HLxD$vqzgjc9 zK1I8!KgwV5g&fKIPWL4CvnPMrVy%}QK>V9IV4C99)_h85m!bQwWo_COtP{(zm!;#* zTGW-^WxjF4pwa7@3w#)zwDu~pb{SpXG>3H^_KsQ@9V-33!J+Il>l?cVD~r$ZYMe>o zEe2-k@)&W_J7Mxf7wo7-^NzcCoL5_Qu|F2D?7M5pk4o2WuO-Q6SzT_Ri*sr1Ap+)N zq_P;8rSr8OSvp^9(HGN)q65P>z?DR28(m6xU0qj8-%q3;b%tMrcwgUh=AXh>oIuwT z-<0ljSJNh)OZ{dpRFSQeUhbc@DOnrKY2V5;cOm^J`^eCa_CF%SLLK+koC5p*X>*AG zntC}4jo$HP&qAYbIWLg!3(>bLv46x@Dob(69D7ze*q1{%Yw}Cp0tdA8Myrs1UK5vc6+a}uS+a5b=8t0hzI!(*=5N{;&;FffPEe1}O2RNz2 zVsuW%r{6%<1~?IYIwfQgZ7^r&^1SvqT==$!aKZT>M$QQ4Mw}RYtldGMQ@_gLpBaOX zggfNvY)50~q$GED)S78e1R62>48V)&BeT!Imo>siqwEdnNBC%0n`wW55AoWl{?Xol z_+L0Fbh`5lEaG#&Zv;c~z=K|!D>$^y-q**YIJvXd0=|Tgpgr^JW%%@g?F|hX92gq$ z+a1uzC_dQ3AbgY@H*NCEF7aVVxVyaF=Z?Wg11_ADPa{r&{l1)8DO!>I6;6De9M~s5 ztOgIpMjge8@FARuMud+DFdLjeBeM-WvQvF{+M_-!few(3(p;*yvCcm+)5pI3sXm@l zFGDz)SdgsqzxjN_ncw*n(TVnva1L%Af7+jrGUZ4o`LOKdyhim=0LxoxMEDq`5#L@5 z^bvTX-wlm`W7#w29iBO!Mr5~-(nyzqVU$L+zc*pv*f9b}w1G~XQoVmN(&L;tjZ8Lu z4PLtIWd*dNcpoRoME7`{Sb2Z!Cf?Oq*FhPMDPvTgY~p-J;Xkk;b#7|FH`?Fo^NtTk zKqpC~r{5||+Ucu6{z`AXEnf0E-(K>yYou=?Kk(rgJC+&c9rnUB;G(^r|E;*F(+YA` z<9NwdwZY(keKf*D0{BH|7G<=eb2KK?KGio%u}XyZR>ECq6(m%2xB;$^=BcKuOTbW255qv_&jrZ#G(}<%{*#c}0bQ5v3XLFQp)JF$r>g-xy z#=TXx2tT88C0@_JkbYP>GN!zR)lPz2Dc!DPLMF*DC4=SHixd49O+PT=f_ z1atipbY{Hm_8{*Sc5Tk6Pg&KDq{A~^4Lc$CoO8nXPda&CQVp?R(&-=%@q#sEW2EZ?WF| zUW>Jk|C|5NGIEw%SEFA^=N(!@UKL+Y?RMt1@%JPX_}G$iBouUoVAP z*)L7J^i$LQw{uQTp=OV}o&IItTU}Smer{slTllftE7A}09cjOuO6VQ1YS%ARpWauS@^N%QmOYT&?5TFJgL2RU=kABnd?!wOC1pElA4@dLIil!8>4Y~O z?9y|6TP@`Hegm~b_GShfRC-Oevd*i~{yD{~&wM%ucI-|k&)f@iExK8FzU)u*sltEa z+gOqVvSDRgDPDA+fY(C~@-U5#p#JCn8XlW@f32mc@dEdWpii38+)skzU$z74BTixpDz=qx$@Hq zmbo|jut@eqGk4Y6vb5jgJRG$NocQhWVF}vf%SCKc@F85Z<|!LpD12y6B~nz~-~~Dn zUYz1-$H_?lJd!DH$i>%aa5G~Bp6^`g!y})ee1)+zXOPg3$Kyse`Y3La1~)SdZlv1+ zJKV<)K9f3rwAMbrk9>SO6ItKF=}y+e)@|`RUS{EQ3EC!I9?cYLZDa5vn^ODe1xtV% zUw_h%1~;7PUB^p=x>a9*lSx@$ZwME@?qGj5K2hPsw<$((qOrxE&mP}TI=A_FoNxvJ zcoHne?^vgsSq->3o^D3*BAf^x@?U6tA)IJGrWuRn1A7ZSTE~s(MD!ae>D;qXTG9St zwWZxvUVj`F;KjGM*rRIj;^WKbAD>SQoj|{hx>V!;Ab&dGp*jrr&lf(p2d7Ra@wec^ zr)4vib7@l@A9Ii6BWQ@W`g8)XC@emLUIRKY?F2W5PQZn4kB{O)e&31D2^Q_g6`jaO z+JKW%FkbR;7PQB=$$vjS0$iw_=Bx$DlR_{)L2uV_anEP``U4(r%`$)0fDiSD`bB)9 zaspf|Hn^DX^Nl6Gsndj!E2H>mq>r(*;g8oE@IiZ9$N97x@J(|AK74uN(}qpI1o*ht z^skQ(2OCdkbLrby8WB!LdBz_X1Z8B$(8#7!eK>SRYBa;1=|-F+0-OjI_9oZqW0g5m zJ&?0+Lm!Do`hYerB0sbf&S*@}9ZC-4fx4`ZZ}DM>=Oyd0+w+pI$ojf`ZBP4f`22$J zLw(GDO}(7o$1kJwv5hwPdPwwzx8)v0#&E8Cy{*!D(s!y` zJ|5}2b+lhPFU*+`*P(BvYokxyS6g%q_8h*UMc7u0qzA!YbiqBf^*PRoo$2s`CH>HGA))(eDd*Ssy?t`A@E?eZ)bY_Qafo0Qxow~#Lq2zlH zF;0(l_f?v})iUe~*~gj}H)pA2nHP5n7pA+@sMFMiT+KmS!fA+h1$^hr!JWs^RUiX} zZ=Kg4(AByIxibm+*8Gr>H}IPLOOn6l9r@$)+XHnU=-p=AW#}s(_>4yRP3MpAz18P` z^=~wT9ykHNwa_lXG)iCo*yyeFHEPf3o*vPd{Kh`t>KvCkos}F{{1&k^PQf=&mqn6; z$@-k1^milACGvhbMh3}-8R0p9-ov+TM)6|s2Te*Q2lCk5ks!HGy!5s&fA9s2)L*FW zY4Ybwq_bPWMH{rDb_e#1&P$VSACaki^W{&Vw;N>-a$9+iv+o-4;0E$|R9|b}M7loN z0LNSPwd#jP>NxOav2VjP(#AW%fv=NBaiH9sHfv@(4WWSz}HEC91hxw zK5j!<$MtnIc6Plly2rq9VjPU>BVRXjZiumQN9n);UfII|e`v4a@$@ii$IUi6U=$aR z;Rk8NL(^M$!ylsteBs+Eqc~_Q)M>}q`iu$cv>=`smA?)2z<1w%8|e2`<8uMg*%skE5OI`xESS)z^0X*ud%@%?&Oe7rTz(Ed8@2A zo+jR6&#L|4!pZtJUVx9c!-X?OCyO?dH~aVqv#r>(cj%uyK;$V{~(kwL~vUNR0- z89KK?y4|9jXomAo&^fJy<3)4};U#y1SLZaZ6@O6kHs-yZsOcx88?%0YFJXMxOq&CG znDSBCbv|!QO#A+zNSgT%^q=&z)O3p!3|BL(jKlTWD5 z!_qI3=^MEBF0i%ViYwo)4Dh5o2;^5<$+$ve3bkMUWzDBAyutSkO`^Z#1DC%|IBDV^ z;~#dwi>0*`_!rWwPH-bJ}Qr)>8G>jLZ;)w=+gY#SR0eBvTEE+3<)6Th^7k#)D*i8hhqGAz3w{~?Pky__>gK=u?^-N} z|NW1*Sgrh@{1!eL{(JuhzYYIAdt0m||KeZcqv2opCh7QZ`l}Y};A1V;wfvv?26fcW z`L@!~lc9^9-uOE#d{6~1oME5v9qH;hJHpk@vmN)G9hX$&tn<>EF3sU-U01lX)4d6w zlr!7+EreMM)H%~}n@OiM;f_w%nbm35ddc??jyUdDQuI&#dmnTXwfb5A?63Q~@qZ4p zE)pL`g1&N!)z8%5*^gbedB1`8FlX;PUP4p(;~8b29zbaVhi{d)*s z+gk1jbh@ww>E{qIc67>z>gNxgjPDE>4(ojR27K7GKav>5hwu~NL-`FpD8t7`r@@EH zdP`knU>OVR*tQ53;UHYc!5IxWvBAOA2Al{-o&T?KQeQW!wYu@#mpuzSv|3;0?2U^n zVHdh7(pUMrJv$A)3jQAGcxuS|sMeRV7n!{Zm$zzdGxoB@xhQHwByku1KKe-eM-s>` z%U^ffMw^%a`|xY6$e4JBeb;&RIA;ed3G7_kx}_=|7by_On)}y=hkqjejmU~}KB0cr&sL*{2i@hCWzFZG=0A&nH~%Dm z&iS`&YprL+MR#kx5ceaRrOJ30cUwBU7kJnYA0u5 z(N48bZRKAP9^O}PtJ1#eMsYw*U|I?B@u4pl}Zhx{SG&J}B=46SvJ zbEZ`*_z=E?*GNKVN}(fkUQ{>ZcyOmPsXDrf<&KH)7~v>soOaO~&q>9yqjRPR>x?Pk z*tTw~#tO*ue6jp;1HNrwjAvMzngg%k9#|1tbr|z?7z=e63;2D1GyIyJy1de4Evmkc zen~i5Gu_XgA;E-SGGW}vp0qv6vy1OxJ&6zLNxaQ7 zkk6u>&FobV)^{7eD150BE|J~^A6fc1bT7W`D=XrOiSUY*yVr~4?}h#|)p&`$!*$+( z){f&1@kNY2i;v+8&MYYJ;QSShd&Czy3q$=J$*Zq!sS0K*$C+dFo8Z=Ygo0b=5l%Dh z;c42#llZvvW!6Q*!zJ;R-`D>w=wDa-^oi;Y@e^(E`Dsb@LHex?eoDYkRuLX@;h_%r zDFa{q@A6VnxP{MvQT){c{z5uCmT(*N6%yaUOM+LtuzD zJeJ?o2jV%uA8x6N_hc&uebSOEmjAV(Uqs6>a3;U3`e+(`Gy*3wK{$)RhY5I4X9->o ztaj?dhVR&8!g(LqZWi_={HK0I_qr{H?^vJeFb<|4|8Mi2+MqTi3STz;63IUcKRgSr zo~_d=PeZHE)@hZep;ey5+oT)eJ!tJO8hB58E9@+EkPwei2fP-io-jDFuwk_}S3Ji7 z8b%kL&6Blh(6l+{hUj}e?K#kX3(4aM@0y2-gQIUBlPx0qaWn7G70-zEFEu-}gfogb zBaObctsm`=SkKmMtG^OUTa|;Xv3_rzj?jDWxUMh%fx03I)#2CISeNv$#d%Nxei~(x za1e*Sgcqd~E`%$q^dfCqQnk_r&vsw*Lirat`-}T&E&qPti1VTsO}*$%NIlQ_HP3tD zWN-Q8#Pgm#sh4|{o`+X^&}qo{$ky`s!t-7ner?M?@15j6?=`pP%dMs7!4vEMM4Q5O zp~zhr=yGr#WA7B-D#E$&{c+l@JsV+b*DK;>@pZ&{sV4XuaU8Vyb@0pHmTH2s#b3%7 zNj&X^QtIcYjUI?OKWNZ#KY-_cP}gxhM|9i|kS9NY$B)NfaK4Vt%#rN260C~{rV#LI zFGSe!Y2_q~bKim8GW4M{SwtV$CERhslul!;XG-Iy)HOrpW2tbq;*BbNssfi)-B0Ar*NOl4SDTp z=3I{szov7Gq}OaGU9sFj#!m~Yk4R5vko5^QOvXj$VtcBGi@=Eub=x$4` zZ?xFM*~HwIY>yt`izCA{zhus~Ms_WxZrO8l`Oo1W*bf0*)4D}>E4*o4^=Hz5+PM|p z34dZ>bfYmHDviK)(_2o#q+U9zbv#OBc)18?A)HgsJ~k?LSgIvvSXS(R{I- zf{(i4i7xAT?|kQZQ}=m#QvSI-Rqr`^Qt#P%51FQKc-iCJRN4rAQEr5DYC}$;)@|~z{(LoK^L?ya zLFa`d8_S*OyQGC*G){OOao27vPv+Z(^dau7=k8bNK=%bVK^HeUobx-suY3#fk~6w{ zA_@M&UA<-XvDMvMHnf?&-L-N(uJDO$D1T&l_>AWyXQ9iR(FdY|J9&y1Y|io#-R~33 zlqH_9$=43Nmc>4HV2fLyszeGtF9-Y~p3quI@kLu&>j}qs=fWG4T-iu-E0N-$Yn61K zW~TZL@djsSiDv@duokf1^>EKS;Emfn`#ICVxU__OsS zekRZ9#D73f;%Ded{8>D^h}Su7XDZCMGxX$}Wb|~xjFphZ@FqBp&<}?8=oiV%rrf{P z?8MK#nWTTuyVygOfcCIkIseqBJ?O0qIy=LG<`U4H3(XavxiqwBy=?aWNEfT$*)#lV zv*YvG>FQf#12kS%eKz|UjE+WTP6gf&dAgBpU0L)=e@}TTa7Vg$0!O5s`*9M;LDD4; z^54mQcbP*6bT4sqZh!eNbI|1a{<1xPqq#fd^SrN3aDUUpjs89~?rDg3_mp+Eo@hZn zWyz^FWJDV@3O=@I&xh_3ZY^;Jc2>3_w8Gq082b1_GD`huCvGtPW}d*Tr(L?iv`t~P z$2@~?*&DpJ>=x?Z=(fQhqU{hk(|uf*!YlB^tD@B#;SuSaNVq&e_PvUK!mWA%H#(56^!0u?=zrOC))|5Gv0i-ev=q2`&Ghuhx*&Mpi9_? z4vazBswXIa4&~e6E}(@R`{i|asm1wu+AmK#P7SANe}=VRDj(Pc`_<2DuWF`>Zh1oQ zi@MnvS z_Ss_xd{DNL?nA;mTK)&h)Y>qG_YxMK75*#2f>+_ME1dSjCcfZ@ze2p--d~xNVsA3% z5DQ14(9kOmd&Sisz8$AAiQf;coRzD&Zk72EdB^U@XTS0ma|Zj&AJ8X@st$dkw1Ra9 z>2?2s-UkIw-iM)2;W|8dh3hbz__Uv9J@Iz;Kqa5rjK0F=13uQ&y`pvWx@%)BoE6S5 z(0P}t>sIA$=-U9dhSsTTEPkhe-zc!@UMc0jp8Nq$mkYi+tVLSxYx39ORCt*D!mGmn zLD+7GF2S3|W6c(42_!bUdCqohaf;<4F#2V0rd;aa%mB_1zpoM2Mmfphhoav)du)_U_lYKUs9b#KY{zI?ueY2 z9rAYD|6eVZjZ|WZsTJ92C)<{*^dufRUqE)k_kmG-qVSW1W7Hv8srT;){(>L=uEIq> zyqB=uz8RX^SZPn;A5nU6_WlH8Im+Vf0@L3%`cr+b`ZebyU(n6)iq0g+J8pG%{XBw& zO`J!-olLr$Y`4vs1nK^Y?(uydTe}grjl2{BPCGj)rzT5I0c#+qHUne8M}vYrUFUy= zfmd{9;`4s^&rO>)(k5R%iC%REf#8n=e{k=w+7~5nYo7B9X^YVlE7)VjxhgUH3)TOB zj7*XrMRf_TRjRvQ-wK6+SKmINaM}->_&R(`iI;ry`FnH4zyh8%*Au`Y*rdngyW$Lq z6Y`Drt4p_>Zl9ua?oU;{27lBEe&GjfM2A21p38X%qLXpJ{TOG=-ah6G(r+Y+)vr)z z@8A1pkcw{tJ=RQky4phi^F@!0`wBecS@x4tM~pg@{;{c?t)JJu%ES>*8_Iv)YQGk9 zxT7AvlAYShTI`9`6=yxRXz^SB_B(U_@_Q*iPW(6jQEkmsZ$sy)-cwXBzK3{fBeYZS znkZBL1%0zPcU3rZe+RE+^<8o3Kho4L{7+MEnEYRu)JA_7%N_4Zn=__$X87grJE{7W z_KP{!BX7!zP|i;&r-WT7oKC_<`3G}n!{X}Iv{m&TZu85MtW#O&4P^20W$BD^kr zM4Wz#QO7rFW6);e%3rUy`A5KM@{#W0dYtMI4ph%h$`Xv~BlVrizk|4Vkufdt^n=;Q z-%8(!j_Z9{y_UX`OjX_Lt4nw{JU}>27}cB_9{@6+ADq4x`Tx2^U5*+|H=m~fIs zCxUDB+jVuEuQ2bIRk+XK)c}q&$a@X%=biida3CiFU+2WSuX7T1ynL$RH2t3+^>w0y zq17eTc|2J^UC}wioLd6x;@fn5zkeigFTOMX?qlI-!*4aOy6Y9q6X9z_7vP_Do^9}> zJ&Pah*}5N%C*u!?@j!?;`Df!N@QcQcUvyI?mbWVC;Zu{c(}1hG9~>wqCcyzLA(!s#=AG$cCb5;}qQ^AiXZ1glvg;>Pr>) z$@kg0<2;?eJjq2KmWV5j^Co~3b4LU;W?Pq4VnyzZ2ae6M738l=Aw%H-E6cy`uUmzY zyqv#$V`=_l{bI()pmC>jn-^kyYn~J9PtHEEQ+$&jq9KiBteql#7FpYn*6is9o+LUl zo@RWVV(*^QY5aFF&e=2m6y`%27i@{7fS0|w*5STCI4G{o>}@z-m~>2ekRWu#D73f;%Ded{8>D^i9b_M;x&gP zpV}FE=lgV?(kGLqAS-jm9y5BY3%`hLF3TBojUU4Kg?BdhL{4~bA9DXkHJh`~Nn^I(W-o2@{x&NTMPK8 z$I`3?%|chrj>Y}uqSvgs10(ME_T_POoA&88i9hZ7{|>!E3!+Dzr5>%*tL&LAqFDzT zfR?R1|C!ovgKc=Y*ZqSuYu)BqYt-L7xnt5iSJj_c`I2ul__UQqv`ZT5G3jjZVKt-` zjfg(r3qv1GC1kye-;8(7CC@w)528ZMGNw; zh!*5u5iQ8SB3jTqv}i%|&s}NG1B4#rM-x40E?V>;eXujhnf2f=LVrqr%9a_WiT>kh z;$5PNeQ!?_l!MLuYJ~PR(LSvim%ml#YenIaC}+pUumR-5lK;xAA%jPCuT_lwx7y>> z^iFtn4tUla{p|X4mjC?ybM;wIv=QaL1kFpxju1_X7Dcy$TQsr*x|Ph1xFz3*RVo>N zlMhS$CLfmgO+GB~n|xT}H~Fx{XD9SwUG)zKbq-b_^EEb;%^b?Wr_7<*S?DE)-CINt z&<7TCWp;wOGv>;|CFagt=FXTyi=_RzGmE>P#+RP=+8pM^kRz@1rOjM+cw)bq-)=_6 zwlY`NhA-00v!$Q+PKK^zm!IOQ--kTpQcH{4FCAV8=FpaNj|#dxq4_4+OTIqe${LVB ze``K1QLpn9>eqUYll4p@Gk9wLV7#8h3qFVVlX%9RU%`9KyQThlzt->D&X4xnj`U=x z!Z-l?;cEG6S`yUxe=_G5DS}Jx^$G0k#yPieiT1k8;R@%p-ORt?=avmDoM_%Hn2*z( z3pCO4QQD45d-V<<2M2u{W*`0J-@&H#ci<=egX>-Db9art%>Ap5_f5vHKmNUY%zK9S z!2k7<#=2?)G$en{N%UJ3_>-J3*}*@?nQG&+*yfhyGS;s~X^XzM^XoHr>$>7`S)6Q}1($k`ol{O&c~GZN6c>`K`w zqIE;(1)liI@VAegb@z(OD*9*9y{>T150?q6UsRv!mY+txL7k)dx97a|oIBQRjhwp} zoOAaJm6!I*`=^Goe=??Q+4_-s+4obnjh+Z-C}@k}TX3BOmuf?pa>Kwn(zZM>UR0c{ zG1&JgU*k@N|3>u|koklkSGeehA61$J;{*6owpq~5hy%QWr8wkGKTm0p-Q@iS=_5JL zZ_EzTr^{HoHQ>h5#hLQ`mfvRlZ~Q=cV9Wv=uv$eQ|JX;zoq@SsumFR`9s`0gtQbyx@>&oNb zQ)Av2k9l7|=KX%&4|5i8VlTeLG`Pqho7KLo^i{EZy23d>+^TR&a*zE>z#0M8TYuu? z_wb3%=B2E+R{4zQ?R!P%ZQcUQI8X}|wwQ^o}9o5NY$_^p(#EFZhdj5(A`nHN%K6aL%}Aj`Gq z}kp`Sb(nDT8 zLVGBS@qUZagh^v?PMVE%oFR9g*rT;3e7`jA<56W&=Ryttzgyfca&~~uBwgmLVt{oIG6GQ9nqz-3%*`BQ{kc?c9cf_&HRe=gy<;H6%mJi zDh_!+e^zOH9nnep|5rMqS+LM=lACWf10y(5c$jd6dosuBi9>a`g7oi1M;xZCKu183 zBXt~5yurgjWvrg~C+Z1wM1^!VeG>3~pu3G7l0z=%>F1*1^YXtypR)agPkbD#rDe?z z{3CnVvfg@5^7rfT$kxG;`dUQua;Z_>aWZiD`G3zj$#tF&0gI8R!1HQ^yW7&LGb1~$ z#mEZB=l^R~@~zItvH{Rh)hOS-{5t+W@@U*5Ui+_lCX${#*IF;dk-{a<25ZuZ`RvELk_N#2y{y_mSQB7RGt4CGKRT9GySYn&6$e5%r09 zE8_U`B(0REJIr^`ZsCJ=pAy_NoVa#W@0qoAv<3NP+AX|lzLzm4ZP(t|OqDg1$VT>7 z(RT5@)Q#_oaPL@m9Y9jkKc?SA%t2Z4j<AhguUTIfI||ofl-#)DCqAD@b_MyujQBA^`~}c{3WMDtAe}K9#BZChie5?uU)u6-{gGxB3j4^?|IROi~X>~ z+#&rQp6VBkFVpaZ=;b%3hhDn~-uqv)y$!rnRn^CT&fGiP%W#naE`=A$gQ6mmj*5vy zc~BlBM4Jl;sMj2l(h_SlUlVnZ%WI++#;Jlr<<9XTA`6|S)IAV2+jo` z%StnK{@>p|`*7z@x99Qs|3ClFXU^x$*{^G_wf5R;uf6u(%(1pl{`7K#t2D5wzW&rF zyiTS*&DDjck;H+M@<8&SBee{0UPOMpSaN1@E;VV=mfnoxoY#J4@i@(U@E896pr5?* zu=C5pm#Jg&LCd=ger7B;{qWbo5Y;yjJRM4X$&CDxR8J2akC9F?%1J)A`=iNG*cl(+ z?P4$W;V+$i9>MQf_{B#)Q((${XOjeN&0`UF*VmCGn@|S zT{E};O9N%(L;d}4`kxK|m-%0pUyI~OG`IgYuta*> zgQWleOK;mKSQt;GhutI?)1ltBn*X&rTO2%Xv~We~-;dsQ17$^e+vQbtT%~aEP^+`4 zo<-CX>1~$@mOkjxm)>?!Kk?4{*V|exJnARY^`E*m#?~k4S04VY!12H7ZB2~P8Q@#w zp>r`#k67ZA-<-0q(n$DH8-@%m7YU=!6z8&r-NvJ}aII%o+ke$2$wr5|B_|tGYj!ot z_8Ul_n`ze82AH|n;(+m#yN7p{K920d#?Yev9wQC1e|tZ|^{u#A#v$nJ;$)3M@cCn{ zTS|{D+EQxE?kL66HwTTmn}eA1!D2j@AMBFuV=6x_p8Gpn|_z`5572n`n=lE!>jPd^v$9eKEde+puP<~i}mDl^JjNGh1~5&S#e-h`^NIt+Qt~(3RjqLsxaYt5arf6 zL)AtOt_!3WlpV^V9pV!M19Qh|(usj}yLiUbm;8^wNiWhmYe96AUPxIj%}0N^AbTux zWAr&^=$!}i4)8a(^^0EEyUSs|09uCdscyrA>1FJd$gwWV*d{vx_cv|(@7F4$Uw^F< zjjzH>o3mqB%t>;svD1?J=@z3y(}uFQ|Nl(spW7Yh*;39)0^iFG09;o`dN*}SmwfaE zCqDX5YX3-GAUQu%JhuG+f5&d|LcRZTgPS@dHq>vgd&8Mkr@N)=oDYY%a)P4vG`rZ( zk5D}ZSMX+r`Cv}|SAXAK>Btu=**ttTtQhm3E5&n^mwpa-h85!-FE^-;N*Y?EUv8)) z-qe{@_^{$D(6P~9QE2en3zzxdc}4y)*f^)f&tF!E&qU_WUQ%%UMFIEmAzN}?ht7g` zGVE7Ov&U^Ved??wg#);Y<!qSv0O)@^D@0@OwfZ*BgOr>xV)eM*eXQ?fEA>cfG%_A~|*=?L3nF%KPeKr+f@8}`F*aRt`j7VvX?MyaNE`8?=2}hi5y@E{AWQqmueBWYdDpqx$d1O2 zwPsz=?Vz8t2U&aU)o%C`^oBMnGv7*f40F5$okY&r^@7D1=sVTM-z{5>~bIag}?@o zhW_G}NQZwgg{_nH?ZO#6A$&!+6W%6+H*itzAYF$|qwwl<;;s4MmOZ0}N7QEF0zXmH z?mMg6r*^NVecV@79*14z>*O6n|Bvjg&wa1bJ)ZC%5H8shh3_DI=1Kc1m;S1|a?qrG zm5ra^;r$h!;|PE1TgqsU(-jt`mb~q*{L@45#LVyhro^aBeEfV|X|%9G z8|bG!chCr%+Q0{(GcqrVr~f5Pe%5y$b)B;Ap}(cZ2lN}jyO#Rgn)-?pk)w7mf%HMi zm`3Ia9h1_?=sf zC07qd&ufVd*7)ggKEdQbvIDtrdnd93C8rk;2oDcY<|F%gdqt^v(3cDO&*lrKgA?;U~d75^325e~yOuj;xTe^qG|>p-G|Y+Etm6=tCHY=7&r`SCO8nHYgmw z&0&oWyE~i}!=&FtI%nw5DW3G9BW<>M749Tg1`C`eUG2ccntRzpHpIp;r%v|BhF^ZS z(!Bv5e|Q3Nfam5Dd2jBnbe}-~V%<^ncMMEUdA4w4?czo@WP197+G5UiNyFPY)-x?X z8e2B9cNDt8B>2$fja?TK;=fOMe+9Q+9Hch(jP2Lk{_|n=A0K-I>4sB=+ASFRj(RWI5-}I73t)zV~wqarm{Lvxu?plR*ld^b+=;ejFSL z{^5Q{DP?s?)g^uzZ^sFAh0x}lU0&ke%(8T&rwJQR8-7wF1Js6`RKmNjt9$?ukeoSyTWZuxb=kp8Ai_BMgRIlP5=6w#naAjfv0r7cp7*z zI!bzJ$szBM)U(Khp=R!OZfXZO7+OR@ZK?OxFn7`XbcSd$vB}aI`&?oQ^_$GMiYx2mb9Br5ATKK^MpW9X?gFv>wDpbRm=^eXVZw6_8x(gk<#Yrt?4ic^fNB%R@f%!IgG3xhP1O0-P0}+1;=ksa9 z9pGX#blq??`-Q9M`nLxv-A6;q>yO`8`328!$M38BjOUu$yDJ-cA4R@)p5EgWeog_n zNUz#67+>^gtgB7q*ffn*Y0yssC;3_I+N=cu8!~%wNL%dbDar3}4Mu!~Y#*w-4IL*2 zew?7z*5T&t_|(DM2fu0d4Kn5!n+N4IBv*DNvW!iaXly!L`W=04U8z2!zUj2=L$1}1 zPa2PuCXxqZ`EE+CD>Whq9shzZe9Jf|>}2FW^GnHppEmf;;s(inPw>yNXpHKgnhJ~;{L2_+;OsR{0x#p_hsh(ErLkQ) zr^X)HO(S_lJh*Ewsn0H_&$S{y#CJn297pnwxk0fZAC8T(sl>cQ03BuDcxf(qF0GL{ zzlZ)BZ>3YERHo(Sh<6pQG3$x@krz(B2yV(L#s}GVU2qZE?cX|3vJe^px9)W42i%g2 zYD?7TxmVWUy&pa}4cs>?*{t@s&Z(?rCW3z1Y4F$_;ck0WRy6+BmL<8`$hx@0x?clu zIL;#e&o=YzhU5xl^pdWA;O|-BYRW93jvl-4zr%4@p5c9l=0&AHtIv^7Wy|kvBz^Zh zWb*K;zT1z!+i>i@$~im-@x1d=x$>t}Z++MW4*4S{Ie#~YJVn=Nnaj7^DS6sjfPT!U zXJ}5by)ijdwz$MxFUR^TyafK$HzQqiH21kn_e~5GTs`C8S4nq+moI)sbfR3XsYWtk z4)F9EgXs&4BL#R_ofBVTDqIuf%4ULbTRp-auNL|-}+l);Qy@q)X zb9^T~RQ*--b2F@mFs9d|V-k=U*TdUI(|6$!C)YC`!=o)P(6*;E2ISgHTWM46yhnU` z7io?}x2kTx(ta73KCJdruXrmO&#xl=4{F90r9X`He}S%TNyg%X9pvE6!LsW^JxlX$ z^wosptt(}aJs#uVNwoI~(x)g-bv&vvGri|$Ztrl0U4ETK~?=S`KhL0;9E~e{QRkeZnFemVtqOs(AzWPxOKTzEIy~oRB`X zJw^Sl4{ue$Ft`eaI53=B1%uACF?%=V$i}0{U(IvBqQ0+E-y-T$I>ha7 zj{&wM<++KWYDdcx@XEi-H=48!K65kQFV=IerOSU;{~5>P)ZNcJg|TBs5&1AtVWN-p zp1P`Z(xGEj-_mOwhx+||@$a+&8G`<5bl|Yh?RwYvc}V~43$9(X=XBxE+B>6jiD*mr zL-6y$3%V=2KHpt=kayDQFl!&OdkU`+Pid@0#_jiWW4tx?8T#&6=*j*SjUSAy%&m`k zGnBF7lO*z0eOPwP$PV#s^!fiBxUZ6?&R%p&b(F?99j$}iS==tcZ@^`CLJPIU86hHkTjgNc$? zF~viVD2-@VSCwY~G!i}fg7YHq@#=m5N)PJkeiV8<_POrLES`6GBHy5pf7Rwzr`gP3lX?!tJt`DV@^4^TE*H zK)#Nm+h>5Ynr=RHTlsKz<<|K<{z0a{G42iao}mv9!G?%lXU1=AgsD|she8+l!<^k3 z$_lOH$iFk#?++BoPRH+H4rp-vB=Y~nHj3%Gfaz8tYen`6K zuXW1r%tNxFv`rlObKUwv^x$6J$s{ax0)K1!uK4g583z4i;yWx8?kJ4P- zO|pJSe&IFzesuqLRF>*ed|OrCXr1OlbcniKIQMcp=)2i`;cMcLWWJ!Y+eYGJ=cPD@ zfN@g&7``cBHi<11a_#WwuC{ZS38#s2dk^_l8N6|ohYg#)a6j?q^$~wH@tf`y@0hs+Hh@)KY4SBtzx&3! z%;TK$Lh@ePN8UVn8E4D0;1`pRZ}H5m4NmtIg`uOx$fvM_&^3{fWy$V^eUx9R3gD`5{jv*M^7oVuJ(p1J-0$y;=vJW0`#6M&zvS zQV>q5HzED#fbp)O^<_5hYx*W0!nVu@-VXsohPdWb2(!jj@q+v_gUulyke1(UvyRcI zb-LtI_;wa&J+Md2Mtxm6rG@RwjYuq*VpYg4<)Bl-Cob2ck$ zKslue*DurH=-S<3+WDkSqkGO`&e`aA%u_oG=YeCL^F4udU$Nw{5w-R- z0a(T*>DP>@k}E0bDwsXquw^K)wbW`%1OViQibsou$ zPHvCrno=IZRNseeeUcM8A62wVGfqe6!U%7Mp1_%9Z@K#WA@qlb=nsJ-I`{P32g$pb zbkc{UTfN#x{H4TyTk{8>yxDvaW;6ZNZTi=;zG=&vOId&KqpWL)->9-E$E-up2H{5b z2@b&M)*MP>smr}gJOBQ!@ym_um)deVK8M12Bs;#l zsk^d@=httPE2DT%=85Kq>f0laMT53$b04FBYOmE}U&a1JSmOi8VL$Ba%`={@1LQ)PkxdS zFGMg5t%5#=J@Gn_=^t zxwZAn6;Ha%**=8qLf*BgFNzn%d#u5*c85P2aK$Kp4{|YO){IHl5zYa`XDMifeFI;; zbn#Q@`(x6px>C^iqlAlo?y#8gBNl8*JKMIAc{2Jh=eQ7lw1rtRsx7yoYYb!57}7S9 zzw7M~Cyeb0vp<0J2mLb)gQpFQ*a=L3(cDciM{wO~;X0%WF8TEeuHQHJhAU;^LMKlQ zr+(=(Nz#tB;p&TmOE3wxM=V^LmuXB@cr)QYu;K8xXXD3Bz}Fy2nUY{k^N^yFS%Bess|^Mz@K@8%T86Ccr4 z{N4th#dC}^+ZpTNnULp1|M}2XG;W|?(W=$b1U@i4BzSMKVc5rw%yyBQ*qGfl|IUSow#Z`VtMOT?w*=*PpB%lV9R}> z!TlFG`%+E0v-|gk_t~0qw>I{``;;yBACw!l;c**wB`-T#rEeKeBsnxBr&XuM^8Fjyhn^MN7 zI_}Iy|8#DbUK026g?p$|>Eo;gZ$e-4?DJT<6ymIVvRztH`ind{X%zu4X2Ealv7=@RKu zF1ZNZ-luJ0f6f8R)80DsZQ4k>H|$;n)m=?HZ(MH~=+}H_YQA%PM`QH+q4gQST}|tQ z{s&s4lY>8O&WyE9&Mon$y<8l8X%8~8F|=Lk|2SZXcv7~n#!htT03JgBcA0}mc8!R4 zWQ!N9vK7c*t`5A$vfwVG`ogn^ggfEtO9R7k6TP6M@iaW|0)K3eIg&Rdrm?Kaqdxdi z>)=x~kK(_^Rn3E>Q%dF{N4F>8w;b(-uAGe=o=5lJ_~ENg^wO7f#^XC1obJc04+^tA z;}@xXs#k0Ly0cE@Ys{@Ke}FCDr+nE@kkRENw)C;!uUeP9gLwI-eOtbrY2-iYvfR0) zxtQ9r6TMVpxOCDuaSLpm=E08;*J$ICteZ6(KRl=Wg!ZSA_H^EAEBzqmojFPEeL?B^G&^G$_clE@jAD;|mE zRQ_7#x#60dd}jO($+y|XaloOukoFJs$JZ-HTQm-P7Jh7=35^-zzmFKZTe{e)JlKb3 z@K)Q@-ue`2pt+x2ZT2f`ZTbw_q&kpQiT+8IJ-B!nWeZQoSw5YkvM5_JS7WToic^-K z6>jYscRJK9t{{)_Gu@PXmhrDv8YhV!Y4fQqCsMc0^Y%N#G87NL0n1qi7Uij~OXbxaXw|2 z;J;e9r9Pwp<50fv6!ReUu_%qgvNnzW|BQISF8i=-SF{DZv!K z4apiBeHIviWq%scrJ;&OXB!%wskI$LBgr4Nsg_2n*X&2llAki(4^6WF3r(tNu@gA{ z9WB0YXb~7%RF6OMVQq#+)pGY+^qKD>2h(?n_j=Y$x1A@OM>x+GJ>bdx{rBqi@&$*c z;PumM!*K%f1#Q-rzEc&aIrAsiiWbOzbfiefle`iSUO-xxa^jRDI#04?X{|*4Z&OwL z@iq?HAWx--urB1SGy4fN9x?tFW}5Vk2CgG)deyD@oBSG#Q>!Rr*16blM?4HO6(|^_P zWdD5e<cH_ zEFRK6eYI0In$u*{?NIv|U#VNXC>bglBYhn^0K6~XTJg$Nk_|2Dm*2#%%gKfLco*Bg zp?;t<1y+?Zq&4?LQNQlbQJZv+p6b5Xrc)Z>PV-aAnb&Oi*@WvHZ^aGArn<+5&mvsy zIG1*0lBabkUVH`(iu-JuX{y)RSW1B#!SYS^MyXDnxgFzMI*Oa~yD}ZD?__mGFn0k} zm2;{sX9DFYT(T(c%0Y3nH` zncG;pHW}j_+bMzPuVVj1=pUyxT}ims3?x@oWPEwXcFu$lVs%Jsiz zzZ13;{a?s`kN>i5@-CX)Jd!=+H?mb`L zTN#bf{0iRx#WRiP*o*g8>d_Zv_nrOccgrI`nsA~%)kdFcqJ8R5b$R+aICp)On=kw- zv~L^ST_b&gpa}EGs=Qj%MZX0GnBV+xSf+UBQCq(BC!LM2GLrP!#ytNS<4z-7XUq=IbKVhkYtQis?0*-p z3n%?G7tHa_<$wCFE$dYBXm75;8MM99hWjc@`V0Ahr+A4CpGdgEMt4xS zcwf5Z-v{X&5$+6w$IyqiM=&Y>A8dJtRh8GDd~$qHqRU`s`eE8|miYmp%Co zXAZ_VTQb_0&pD=rx6toZx0_vtY@AaF;9>0r<-Wt9F@0vB@E<4)SaQ^<{&XF0!3dqo zqJ`+A_^WLE6@ra;@qe^F@RjYHt!#B1GiS?^-i4Q35a+TxTak?y;Fq?51JVWbm% z-b}w|<_M8qHQ~5~v-Pa*%3_}Lc|OKd-LLCtLo7#s?f_?*eBl{$_G7qrQ~mQd;6>w5 zyL^;<)~Ojcvpd(LCbe}7TazPrHVV%qnbd@g;_6hBAOJ=;e*jj_9w4t#x@bUD)fzK?WT1Ea5( zw^H_S<`CjzSLq0soSA3&3|_##&6(4{_>}CGv`2OV($jw00q@kKZ!w2ty;J`QV}7gi ztaWer0@|(f`E_>LBIeTl!B4`|8b9&0S$^AhTfRMna-+3G&J6BzE%994%|hMiC*^JM zLaC3oT}vCbf&=l@a?*7Fn>6az+H3ZDAMw{w#v0)fyyz@;jc+f#_^#or^Wm@RKCiuV zPmx~hhLLYt1Gb8D=5|*uJ0{^A$9n+J(Q|n7bkFXtoIP%D=OkLH8M z4=XL&QV(?07$+E+(u|_4jdc>PUV*aj7AnnZW`H@!S9tZSY;hf z8BJC{n_}BeBlh=;C=8hoK9F&tPLEF4lV-Yn4`}ycglSFr+&ry6WaZwwMexg%Flf|A?&14Tc%n#&|4EqXY?TK{F*BZ|52E+sgcJe z&$Em(>~k-twjqajGCYy4FZ{b6IKu{I&a@OBQ~Bbzz+GhH`FA`srG}LYXC*lRk!jS%ylNLPd;qO+nKcP;i`JwQ@D75J~hV47jN=H``*Vc3wg-M zTVK4H2L}0Lhj!_6Uca7WsMRyt}(Ho;UmKy0#qD zQE9T1e`ob`z0gg)Bcw} z;@1=ZDT^=7St1;maTgoCL;F3RNFP$WcqqRcRNIPvnQPMoz|9KSy#b_h&+TRJK9TK`sN+kdLsLXaCR|roH4m9 z9@H3g1mE&$5)Yyq){xj}GhW9jAnF=0j$Lz0z=S|@8%`Mag>>3{yi23HM}x!VN4nh}Z|&>U zTBjfE@$a&*8HSyA-IY9 ziR#ukqy00H%rW_Chj1R!gR@d-kCBP!mXZ->Y)L`?Ouon&?q*B@{{S+pINWF5&3A^@ zXGBZJBGQP?kt`oheP*1j+Se`lc<6YCHJce`j8PheIo={;9}w+iANxU#FX}_k;x1^h zT(om~>|^iT(OaIYti#?%`9H5I|9;B<4&`TS%HLF5K6;n##5?hTP=^rw5zK5>gHL;O z@~bKHddfVfrp&37SxW=;L+}S4gQDx}ZOSqD|2+E?&A6Thzm^8W{iTd2vxZ8(i^jz@ z?{y=;s2@7;7VRQBL_BNgZOZN_T}(NjA7u7ewW$9`Z5V8PvwPaGm^NrU7;D=Q?L%nK z*R+BD>{6#-fAw=ZPcz(0W5!l^>=m^Ec{9>;>T3Dw8LN}RPrcgoCCYI#woSaNd8>L1 zmtH&)n!GaTUukl5O?$4SJvrL*_pkTnqX)N0KMeVGzkQUpMEhddCkAY-L+dQQLmdTu z9(f~~c*j~R6Ty8FnYCHpyk*mLQ_{iVabRrg)HyS4Mh}o)ss2$1Ob##^d%x`~%47N- zvSa{uj=u6M9{QKDE1A7HuF3(|g#T8wkY8tnCzaP{84h_!hwZ??FbQ}}8BYGU3XkS) z(~&i?EV9nS7uCl$lNY^bbV-gnna3DsVnM%5J$nf|uyyF1D&m}-+Cw+789RyWRdMH5 z=3N_y4bN-@2kT+A(8oEN&&x-$j(w9}YJl|aqUOTV6GmtGrk-a8#JY!PHSv`hD`>4^9_CXYKbE+#YEfhtP(YADooR7mpn!KfoIb2YEqp zJm)Dl9(+R}**!j%Z;f-Nl#_I3jyVdy@MC8Nj`x=?x>V14FN?gzl{%^ zW>*;ab=DQ+ z2aLTIUgNHI>Q=bME7^X9A1C!p2_Ay3?IkC354OT*N)6nnt?!urbEmfc*YUqTxu~mQ z(qh(n+jqrN>7Xg~T)^JliDNoK7$qAIfbW{2OaEj$ejmEuReA+`05a>bGkl{mHA8{oZU#C7`$cINU^hU#tSk?XMu=Eb@pP! zXR@<6(4iGROHz-8t3~tOc#R&QKJ|SsUp#Ab*rzgHsNZR=qTv{)s6C`-z~c|US21fQ zKjN*u47KwBl{1-gK1iQ=cx89xlRSfXezO958_xiq-OIZxe_GOAIeck%rH&_(-!CJ- z)s7qL76pE%-!->mRo9=LNA_TkF8tZqwnzWX+uyY3&;If~i=oe*%%5Vs*=td{!4V(A zci{gy@GoDKOb(yxPG}G?rjkxF#Ly+n7#Oh5)5-U!+u(=Q<~|x{)QXT+hA-3XDSf_6 z{Gc@<>Ee5x2lng*mgxPC)3N6rXZfCn6!IDROrrcTyzw8$hkpdmDt!J&l&13@$9qcW zh*BmyqSTfjQJM>1&I-80J3XT0=g8xYD5ZSDNIS_PE$`{Pectky8lR;s+NXW~!KQMg&1eL%>U$}L1Cm9OyS#2w+E%Y+%KNKF{sbp6qMS$U>4!*lMi0G z$P0E4IE-)ZvZuV=SC0zP)Z=8A1s61o4#p9l;A}pvv+TMCIiFk>6b?K%XdrCwy2Fa1i{zF0{8M@w70nw^gk3BbZ%-c$WWee7frwr{x<;oB>uNi)^xtx@&if}_)hbG3~%9nF6~M^GQk45)N+{$MZdX;Xp^9zD+cRBPm$^E^~cj4(gPxyYvSq)$3_Bal* z30Tkvk==U#G2o1miNI{u;%=j^NH^-G!vmA!=NbN`lct9v3|r}S_3);wld8F$5>sIF@Uj=zM5<=jkaNN`nJZA$Oeau{Vnmo)4UO#vbc|TrJi#P z&{K5>N;HRL+~@_*NNnK~Yv9qDiGt^Y7M{pQcTA^r+rW-e zT^jq0&x5ZNb5*lmEZd4?bDaKa%9$Ga%g9dsi9YJxK)wIiD4jnjvL01#A$_MmJb#_l#&IGx-_SsN)!wi^H6#BU}3kEX7C@#oYfo0)K@eZmg)s=Yc}=*!^o z&ANS+ukn17=l#%lS`9omTbw>hebqEhRna(UX*}-#K;sd>6U`m=)3{Uo)@JxEOWWIO zV7bY{vc^adl8R+c8&&V#)V&W~`H0RIsQJ(1bHA}ZLIJ-HvuW}O4`@z+! zn)1G8;k&X1SLrHTaX+T%57Yk-xcYDR{q=_}HSm1F!ZXvt6ZMC5AN|2?`hVXaw)Ro4 z@Or$(Yt$cpZT%enr~YtHA7xedhrZ&~A6iUZefI~oSN-8U@VMLIY!04{Jnx6b->HFT zrN!xcxA*Q3I_E|6Z}DKv(s2G`_>s)i;gRUeWlP%HB#H&xZH*R({CyerWtm4LrA7 zoGz)Mai)sK?uf7-xBVYzd^qrA@wMwUuGNgQ4>7Los)1*tg=bzBjkAoi8p|S>kTDFc zt#!vU*33_f7tbtmuAlLrbeqC;>lkl$KzeA(jC+iCl#?Bcw>{#;1#y|CK@d@YMQfE_!@ygaK zSfvk``l;g({1y7~eHZx!!_S~8@4`=cM}3SlPFo)2y91eCyB;iDi7(}+a2fG$QAV}S zqWIfYH}Tq2`feZbpHsZywV=3_dNdEznXh^Nk0DQ@X8xrzwLVGTFK>8vZ{?zQ_Et{g zIg;nifA&FhY!}tKRWmdnQghDHZImfpX4h?@oKe3P%`+*{c4nx{q@~NSb~nJB!(w!q zNRJt0X`?j~=`kk%^dIlhnxJ%;PjUWNHC|Mo@b(1tsXuqomPXe3BHw{fW}n%o4s&=7 zK2%n9f9@+@{rOv_F76u=j;#*!nEAiHq;~$A|69S|aXi0xdv9eo&->}m!=2u3TW4{( z+Tt?OQ->$3WHxD}r#9QLIDGrR>8Zzd_3Y>0uftT)b^tWk3$Bl-foH9S=VHObx@#Q% zj_5nw6HGITubaM$4>f%PKg|}`&lfP$L9B{IR77_v+&ej;#@_uo^@0oaEd2R5uK=eC+Va|o!CdZ$)r1xbWf4y z&O*8Jc2KT7%kzHdRjYH}V)1jR@KZIf@T%xlZ|N1Czy5ycbp!DHi~Qvrm8dU@UQf`z zTD^0Pg~t^OuP}JP2#be>)z`&cup@W z)%%NBH{`qlbm+nGP^6z&U$|l&FviHsora|cWZ$FhAk)}TbFBX`MraLlyZVvVX^=x2 zYp~~IFGyqSVxN)H;6HRHY3|riseDsuU#G05Z0L&`=`+z>p#wXU>|{K~-ZbCr!wS#J zkll{5x=uMH^b??s(}de8HqCz#4votblE_^ua?}XK|~~wV1Ggdals976Dz3dzGr@voY}If;Y$K z?ObZ+Dq8QHA>3uuuV*0>_|F(#2TwM$S5f~pr%BrXv?C$8v166`u{kfeWgO$km5z9% zXMJrmJaHIpok+XIw*xn*FNeHEm?=Z!b(6xg3O9FqC-#6N&G$RVEBx%ZD8$J@21cb* zJ+qiEFU4lG6nZW#HTs;JO1xxcZe1VgCX?<1rVnVG5BsY2>gxXjt#7KG=}@Jxg}gg?J6_l}tsC@`6~4le&EyO59oj}jlWO^0?W_I;OB?xw?y~soKgu!qyujkq z6Fv<+MB^pM5B7EOj&v^JbDnTXcq8GFua&~jA>4dtSf_)A!!t`t%{)4{RBMJw-jen5 zGZTzPuD~nLG6v||AuSVbbMAw1IiO}7-vsXnm(rCy;^Te9i?<#Y?|>Jb^hg=XTtu$&VcpSGY9__y)r@8d$cG?^a+*2^I%k%j&aZfFpvz$%NxjRPQGa&|Y2RD>*Ifm+OtM zuIifK8R|CjISco(h5MkY<*b|4n72ynhGu+g;Vw3n$K1e-QPPp>J;s@22*2hcYLn(7 zqmx_I*9($m4_m(b*%y_+xBr9W%KU7(;<4v-G<#Cv!9sM7S2OZL-`ba=cXZB|V|@Fd zwSBveZ_Wve`ic1TD%J0UdvJ9;c#{nNvZ+5UyCrmBUGzxJOE~Wm+{RM!S?#3n=k|DB zuFLbVxw6jJjD9DY$mi{&l%=tOzHipDuO;7P%6@7+G~vHXTO-~0<+>r0=%F{INt!lh572;-dJ(s7f4t%8S;)MngN@CnBC3jxDwhcxl5*V1O5I?sDvXC)k-CpJysh znr9?w)iwlE;=owg7S7X5i0@VJNa#bm%hEsf{yb?Id&mS)qBGCgs(n|DW*&65InQ6=v}^m%UXu@tQ|7WZ(+{VpZfC)mTVCGAbVIKOU zbju@<@sclp*=0bvUh8N|)q}EY^BhFGeSQ4H(!1Syq1Kll~U=nN_c<4CPlI zO=);`HL~NyQgd#Np}*v#XwN(u+Rrw7;F7xYf-voqk&KsLK!cYr{N=3oy0KA} zC)xOM$=iUbbtp>h z{oACWZT0D8@e>Jio&TUuFcuPqJXsmZ(c#1&WAj9GZ{l7)baBcJ>uO9dTL(YzeYws_ zZyDo1U($Cfv#g}NDe7YnCUu-CyX5vsrC)Blypw)IKD6CETM6v!?t6-6))MSwx~YFjO`jf1p7$Z0v_s+E9E3* z3MXbPAT4raKMurSW75A^NBk|Il>X27=qzJAWKPXEHL0~{JU6lg`n@nX)HB3`YJ+IL zt0~mGui(5K2z*);T>#C+0RY18OTL#0t)dDNysCr(Ty&4C{dVb)r^ z(ln-W$l)A!?&auvVIPX@KM%d#-+7QHYoF=7(>!B%QatrMNuFOn-J@ULqxyW&)1C=M z|7vsSbL=;K_MbYVeF^?X;rFlk*4#a^S3RkCGd8CghnAG;fLZ*HA0T5?+Uye(55&$E z9pFJf)D@+ZZu>`nXA@5cPozIA{vTlZP7N&Itbyel?-Q0k8T|H!WehNkV8wK+Z-Ez{4xUJ7H+Q#X@ R1SP<+{@+*UZ?b{Hlr^~25O!t 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
  • TUjx5tmL+`jrgwl6^|&?4h?lNU+?9b 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
      gr;KEEiV2!*Zch}N#_<$Ru)$CMaovg%G> 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 z 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

      S*`PQm0FpSe`dZkf2# zayG){dtRv_>XYg?TJbxXdb%(bB$vA|FSlF0SXoVEoux#*Fdt;I312{qyTN;`W?YKj zsjx#|FHnfm4x2?BvI$2l0fRR9W`8Elx&?`33me2H;l3|N<1N41VqMcnd8lQT8dLF$ zN}`aq%msYkB(qzQN%{SyP*|`A_+re8ZB5-u0t2@mndC5oZu4`S`IGnRi#Ha568^@5 zTnIbTKx%1HJ99PiC8-eYaMgZtMu*A)FuT$DNG8&Awer49x?S$uV1xkr6g9Q1rrfhg zE2p$*H(PKPEIy^?AZllhe7~4*z-(Sv zn;BRV$b_fpx7#sywya4Z$Jx4qOszW76n(Z4=y$uLo>G-`VmpcGiUfS;cpEtt#kw&&tgsN7;f6EtkqUVcuP zQfn|~UM|=`@RJlcWyNl$gqUIB(!pF`?dTsd7H2V7E;^PtN1lDC2blEmX#v0>zZ7cQeSGXK`(cHE|N+M z34nz_EWw9-PETi+fyR-e(eVs&0e>NxVp6)@T}oTCxrj>@g2e#a(dTWy-pd9+bv!Sy zsjO22o#}XFXEbb^(ZSQF3|(O{!-ADQ&aPF z&}IuI=Dv(zS_KFsP^V0DVHh#Imag<{EDXnSC>sO|OH2Thr61oFO6*d>K@kCGUN zY%|(FW9Kv<$=17dkPleZF1Ae+@m^W-^OIs23|DSzAF7oWI*1)BHQzYivRR9Pl&w~T zlKm(MBex|!T@15c>wu5Km?{gscP8V_ciLr7p{18n^vG=w*llrHb!Ug(kfubsmY&*5 z#3C-w$f<-2^w<}QBv{Y5-4m^}sAN0AX_Brva}hcp z2A^f^AmWnslBLMy2flI2*|518iFM(lWHm15#B{!DlR|}1Gti9&2Bnra#7=Z21M5w- zKz=+N*lN}=n~YSsC|lyEj!6w91D6=c&3S;!840 zN6+9*T@!PRB0Hz~I2{;A`}24Mrdo8Dmd<*6DOC0-8izglG?(?UOefczFy*$VHK0XD zLoLZnzKX{QTW;xmUBrfl9W0eQdT6YM)&2dF-2npUl>dpB|13pMx!H`0|9HN)MIA(dWY+H zsMku~Hm+GWJHkMb89pTPnm|TEUsJ zL>=@fS^(vPBR(C{?v5{8$mIiLU#@Ex@}Rk3v=)fn(y?5r(C}7fOxV^M1UggqxFAGQ z*zMeDx693x+OzvIQ%k9y_7#``*3d(aNGb0cJ0p|nluyaMkTuo!MKl?ql;H8f{jv**W�ZAn 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

        K4dU5!anB!f(j?A>!Xe z*eTpYaE~MI7a|-vNSVKxG4`Ao<@~@s>qcK3`usZe;nKR%AK!ttbBDI*lfR8J{PaVM ze);n_(<9885zo=#8ucr$G~Ruw=6BYpnS0H6z6>GDf7i#?sIOX~ql(|3c;OoLBeY>s z|GyJnr``-1q|QGLnJ&ah>N)nu=s$5y>h_|?)~GuWKaut8NK5;zi?P7|t4F9m1fJB} z-@R&$`tac+r^)>?;(Y6u7I}Of()<8^6S<#3_$1;Ya&JZ4&qkVw-0$6vZ=h(SMDCw{ zYn}S~A1%h8V;A9k`4L0bn-Ts2v`aGn{2uc38l-`YL7&F89pQ{V2EWNc@=N5AW9#!* zQy+xP|3Lo9LHt*3{hGhHn)+A7`ChbNauEO3y@zq{O(=^5%9$J_oy3vjqAy%cy%=Tt z1oA@;f?nOr;@)fi?J)H*)CoCA`H}RH<9^)x0Wg>T&LZ^cnIQMRhkJ+17)L+3xJSx& zg`>WBHFf@**QqORSfrDb!RooW6!%_C>I8Wt2N@GqX(7M==Ew&1;qx}AcOhP1PuBX1 zym5kMY+kR&u~CtRHF*Ps4w}R5aywxD>3JK~j?`;xjBDDEFg0()@oprF4=WU$WP7BB7`Gwr!xc59$qFI}had~errP^t8+dQy- zu{+f^JCg1B$&+36I$W~XE3?(Q9lZE8W99D?`IEJ&B2TH4dTpvxXao3%y6@I{xajru+R0V( zP-MdoAx^3t+|+8F#YJT}q)w8UBwg2(%1E!_w>;|&bqx{rMkkl;?nU^i^z@ph;k2( zfr-0vk8s~Kg}Vh|h`VNwa9@HSnYZIMbu0c6cPA$Bq(3ETBXY@H@lW8;ul7l}C!W4= z??-?|FSNjud$+^=$1>c#cx@!^R``+lNH4g`$K$yE_hmTa6%ns;Bp<8zR^h(3^doU^ zAPjMjq9ZkjBVliYBk>#Q!?g7YxOc5OM);GwkmC>GNS{f<-E(Z=sE;1n5g&n_fCEM) z@!s>dhYa_<;G!(xwVe+c*Caka-0Pov*l^Qj`j7-89EoqW+)dB z99KXnNvj=h^Y0ED?$hN}ZcoW~;64dQ#uRE365ytt@<3mlP8 z?rhnwrKXo$OPz2pBg1J`&Oe815+Ad?MZ*0x@mL<@k~j?xaj8phO1$)1<9&Gbdj+`| T7pGE#_fCX+-s&a-uP*;DVLFz@ literal 0 HcmV?d00001 diff --git a/packages/react-native/android/src/main/jniLibs/armeabi-v7a/libnative-lib.so b/packages/react-native/android/src/main/jniLibs/armeabi-v7a/libnative-lib.so new file mode 100644 index 0000000000000000000000000000000000000000..3e41caa7aa4e5348f7f39735e4cb7b4ff8ca8d35 GIT binary patch literal 188508 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%0AG`dLn|!ueehC`SgxS`8Hj|fRCsEyx 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
      1. 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�JcfB;O2ZrijYa0e)2i%~ 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�fo)2@a@Vmk7rWk!hp?o_; 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 b%P^OCwSwTOu>3`$>v(fB=+1Otopk>P(PK+$ literal 0 HcmV?d00001 diff --git a/packages/react-native/android/src/main/jniLibs/x86/libbacktrace-native.so b/packages/react-native/android/src/main/jniLibs/x86/libbacktrace-native.so new file mode 100644 index 0000000000000000000000000000000000000000..5dbde7167ebd5302dbf22598c99a273ebd3f0daa GIT binary patch literal 337340 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

        fBxg&3^Q%hi}vRy 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

        bZT*^G184LeJ(X7BXFGsBEWSwYbc- zbEueaoKbt0Qi`^WK4_Hdm*T03xoK4nVls28EcaGv8yCo(D(h{8;?7A7O{=`gTN&$_ zl=dcVq*dh01H~Z4L0HiNV{DKd^*P>a&7JC38QEvKg`oKSkcPmVoH@Ow)aY&I$hT1l zJlNucBU#r!E#2F&ZOEEyM-4(e&!z%EsQ8p7Mb4R6SS)C1>QoxPk6#XZ>)T6@fMx?g zGeAuY#icSFiK~4TEej`NBjN6(?obYEK*EnO)mZdU7YOFmI}W`W3y;!TORz+#!Pd|9 zU@87A^ZXJ zfeUPoP3PBbH#__~59KqgcX=PM&8y#KX;;<@K#R=s_!(vpyUW}^!N3QKDCu({>fjr7 z$^6?PRRz{1wdP;YcJlhlSziyb+RSQ=Y)h#npy~bHi!(r$e6A?T*k5aX=d}Mb)??MiP%uNEhZI zXXb&#pdVi29JE%8CF2VT_Bvb|feg8pJ^hGBj zCJ9;>l3ai&yH69B0Fo_=P{y_>UTXH|6gw?Qq`7PqOJ?J0;m#RcgpfEcEU*&h-a48G zlVJJ|8s%$@JPXK_I(?7jm4QJRGwl&6lIqeB|(*?-1&^|7b58;CpM*Q<{pL^gVZL@$- z8#kQq@?0imq}hTNq*UPWlqzx_#ZM*i~ZpEKRID+9K?Nm;b!L{55{RnpBc zfjDNo2!4Q6Nx2tuF1q+)(4dE{iKc(a?S6*++{bVfNC=T^zB3wh#OUaZnOnTVYRPNz ze(7{sALg3bd0xi;rs|(Ttl`R2zSY6>XoVGW4w3d1qq-?a!oKS9wXfWU@eT~S`O2>=dIvyw?W^@*7!Wo~`)V(&B6}Fl;xJhD6(m$YU?L_RbC7i= zY6l3EOwe@wRPbeof1WUmN2sWvP%M^~f_@4~{lvou z2xPMrlz-%sV3L9gdKFZ_R#2(>3AkNqF1ipT!77zh77FSL;FnQBF=-%XF)pUhbpPcaT5Oq713{M+_?5a?>62sjhPWPb&#W1=Vn;cszwY$=t{^T<_Ry@*8M zYEzih*fE683MM#339*i*`G(za~-dHx4G^~hlDuV8HXOXSxpFfe1J^_VUqV1^x!qW0ev#p(k0Te!*o{2TW?~9xbcR5T6l3`yvN|> ztgkaa0stV4qnT&<)YE`y#4_w1wd{6ZKPEI+=0*K0FmSA%D~;DAp+%f1&Y@ChHOI#g zFh&a+m)SjZ+%&7apmMlv!i!8K1w{uz#r{PcBM%`fGPX6@ z717_@)Hh+-usA$IKpB%>NXiX-8Y{r>=v|M|NKbGW5^YaJKw@D)j+StCq_^-tu;grx z0Boi461LKZ07#d9&~il{72$_TOn_6teS?!w<`i+K3ruPJ2%Ta%gK1C$!uY?q$UyQ4 zKMs*tfwAgM7;c9q4yx&p`*a#L)X}7P$|!BS-^r|k?g=;GyK)j?zu9A@ z5zCMqqc@na2-b?xJ67x0Pt#U#)o_>_V()4#JxL3iKd2ysz#U!hNd6iZtW3Kidd>>E zg5DR=^?{wp4t=MwL?}>omREUp!`~NsAwNX}CNoLC6-gzDW&4vJ_k#~EN}{$+kDV|d zY$*qaBi3$bDu3fR1#Fo4K`|%QdL|_O3#IXOq(QSy zfA90GAr221a1tIVZ3Qj0BfjWYDmoC5w2rBt9U3Yd0wa1wCt@=chkPsAqo2?W<&fDH zd-|$iubd4eh3};H^Q;Qo+FS}|Sg}!4t@lDWKLvujt^nT$lcLF-WxRMTmho15wvC;( zPKR@As5!{n-mj^%Wb9gL5gsf<+q2S`k+#yv40hKUj`%B$GbC6Hsyq%up{<7vF%mKf ziFSQUxkA|r%47z+#0xgyVq3&@S1#4b;;`+{$d*3#Xl8CP-`gTje#;Rpg@%YtWIkW9 zn@KGkBu5=C-HrSP(c3DHsOQk}64PClQZ}41VnFmNFcVgA6?>wez?W=H3RG+rS{jfN zU-E53+{@Ul`XtLG9jwI=HOfgzh*W>8c`h?;=>a+Y=8912axKGpcvH0_FSC@a=P6mycMxm*TlAgV-y>mP zWT5Y#!4VngO9P$OWcr8|dLi;`gd{VASb5+qqetFWF6ji_(a*t8odrmoXhushod8RP z<7Mx(xr$L>mJVx`2UfJf?TXuKw}~61ec>YXSh^2gqQl!n6{WZUVA|EvV)c* z`K(7^U4?bT>>Y+>7UC)1@qv-^LvrTVJFu?>xABzNWNTlmFFcor6PG!&SIYhtea9nd zFnRX2e$Fw@ytl=88qlCJD4dt&&xn4fcr4S10dJ+)*18ggf#Wsa8NUKQk?T9zSD8M@ z-*?MS#^!a7aF%+AwIOdyHJHnkY!R8o>PpRaYTrh>hGk@{&OsQw|ANkMo&lk|x z|KH`GnQ}hqntyIAI3E8zHpbzfF|aPWUN1QI)b+p!8VAKUF zc3Il>RjfG1?$Yb1gQvj0D0bngSCFM)vKL9`Jyd@WW5sa~FW8odc{txg;&l0}812ya z-Mnt;>z+U8$vTXURHv`a88uG5an#i4WF$~}sE!Gg)EkiS2_zV~`Fr?RY2v?F>jaF4 zn9vp{4j%Xc{vzJA95JNmFHRd=F6Tx40hYk3Y+7O&z|FfFNzm@b!?(UnxX~w&Iddl0 zI-(vhEswM5n(;wA==9z z1uYBG%ifRh^#2O>A7?QUp45uee^3a@=HYgpopk^ujv_EXiWwDeQ<`}4TSoOWAf5pW zc_4r{C1L}$%BQ9QM+AMyVJY`I^I*dbhyB`EeTG z?BTp4@JpY)Cc$Y!l z40XMbPV{x3Teqk(%r&vg?C9Yt01rP)`|75ZZNo-@o0-`qEc16EPggq#yS9Hr>#l|) z1u%>v|Du%D<&LnVOgMwC@Dg%Q#Xy^cXZVwed^({}Nc zi_FE%;;F}ErD=nB@{d)T=qiIpq)KV}p?JzeISO>c@_ayfNIV7b)F_?`CW%Xayw^Bc zCur;#VvV>e}xm95iF@yHxTuncjPzRvPOqwD|wXM=bpZ@N1SwSqEJpACy zpM!>jALRNc`yJD+7ah}K^-%>g3}_^#GHcgx#0cRYSc*)zTz7PR3eWCPKqk>(8pPi zbp$VsN7wD=-9c}4eju`b`|(aB zS8VyUcDP7c{rLctdC+*K0A==ezEA%HfFRW0ITK?a{&D!@V-SMs@As(c<;;*Lf1SL_ zTO>Axe&Qv{X&JV5;K~M>VQY_k3dipNM1kc^c#v5BTwpm#VwrOSSXNnB4m>$5zlr;< zB$kiMr*OO_Vqv)v514lrBh@lrWkI^9awO^2qWnpaPN67^Z26Q#k$rAc_HAh6j)?sx&R+t1L)& z52S-!H~Hj{x>zK~AX3BRQ#k%Hcs`V)-Pho&@PO zGB2SR;8yt*j$dPAITjBf9g=NFdAeuN7jiRsHIe-fC!=ctyrty*Ri1K!3p6Ayx(hgGHVcRh&U?Ml;x zED;=UA$Z=&A^4iOj)b!EXZaM4|Nb-!!QbLR4)`y%!{;cgpTchp_~JnJYUXjcC`ra; zsCp7){HeIgj95M^pThBhHkSPyET7j77b~mtB$glMXOHFKBNEF!r=Ap+KNNSL5X-0J zQ#if^5XE56$AhHh*v@IGWw-P0>Ox_sSgY2Jyo z6bd#W@5F&i4_2PF;eI5`YncKBe2%?AZpVvuiP z@YhpLiUt=rqfl;V&|M9P+0dZrpOOZ*o*V{8MeZ5u+@AIdqi2>F^sq2^A7_nDf)8GC z_~1>O4>Ul`h6XD?mo%7lau~entg_y>Y2eEegU-(+27m5-QZ)F$!C;?_!3sdkh6c+l z3}&1h1|e}l8Tnvwmgh@Pi|tHg zms%YOC3S=`HLK|5EyJ;ODNs96S9{+fLt%Og!1p;J5oF4Zef&CqaYBpWEy+T|R~5qq4+c zgoQ!mFw{MJGcwhzh&j{AdV4x4_hMjv4_PL-q&l1JFd)1;+jgLZ z)V~-#o;^~h3ETEI*tU*Jc$!P;EXeT7ze_S0C)Q#r8TL4irT1;e(nVQfaG`}k!O3A@ zh>Jz3lpd8&;rK7O5XyoEPwta6SdH>0K=o7_BpkK)Pg^aPW{JTd3xl2~hrvL{zALru zyPt7Ym<0`fl8`jeQ2r!n(CeSJS`5plaQsVIVsM^?f$!unc-mPnZ?xCTKf?ZKHZ=I} zzeyUb;C^cM(wE8yKY!n*!3Oyhj-Qhy1_Lb&{so)jBrw?LNaI0U8XpJ5Y-sTPxTL{- zCx^i|9clc5Escn2&I*GwEezn4I2jroa%kYQO@!|PVmCB!uAq9%Bn{O2PGSVkaMpUo z)>vh_>Nc+LhNLhwfUMk84)Z*5n?bv$ZwtBfP-2&)TUdBy3DPow?@gET|)L z>i6Ha0 zb^uK~N;Jd%AF;Fc|NfFyfAW+2)7#1qkRClZ3v-=K^J~$c_Hlvy1?QeC(y}CXsrLzX z=}UH(())84f}^eeDB1OA7;Cukc3tn}K8$(G?hkiz8INRb6r}Kjd7{wvqLuxHTHF4$@=OV!b`P_xhaiSD? zE(4b#Aik-y%$$np4lhVOAC%2ih_sL=)^HKPRtzRSAd1f?f(VWI;p2yPI^2B*I%#uv zrt{X*5kzg#qw~G2=rM>jTz;_Qv(v-oR$%_J_(5s>U#MHDSKJuz;|8grf;hd=HP4;t zwxLEXo-3UpLI=om$BiDaTd;ePE~T3=1KC_{#kkI-W^^dL5oEI|oGx#N5eIG2_wjeL zqHjBEi1aGE)b#Qb}<)Qo25CuLA=M6N@UPfO0xA=qeJjq84^IeRUMg*(p01nUI zQLBe$WDy(aJ?+Qoq9m<}A7fH;NIEmq0JHhXNepK#) ztL<@PdYOEjbD9=N6uSqTgj5YRkA3W5i2})il0{cw5PKk@UDoj>yKqNM`uGlDfVR{p zFCj3g>-Z37zWW$K(;Q#Vk;=?O9^;}fuh*30h``ko7)ncmdRntkx|HsPZQ%?hyz4?r z5t&*9?agzLAX86tFdJDqZjZj^ZOcgEf|;U~kUhi`yhEJXXgS*jr&gl469sDxF0nrD zITJ^Y_x~x=_*Nja+Zx|@5&YNn_`2~wtbt>3INH4^fXuPy3vDe9OG*_l4(ElOw>+W8 z0oZ{w)wmW1l4@nwNEf?{U~)NQg<}s%Vt1d+!G+l(N1lZY;#k4~T$5GehM4oPF;bim zHw5g_#>63ok&CPo3gRo?A-zfs&xtw*6`0@VaN>dt=M%n*=DhLczhdj60nYx(SyduP zy(P{jjCw{0T}oD)wBtYGYyvXcOu%6TWKv<$E{S)XZ!q5afs_*p=_=q0m=YGnRAyku zNkHT^fpxpg8TXF2y3^kkh_trHe{Xl=@5pyPYh*J&&T?^68h2Wfhf^k;U4$%TJwJ9m zdwl`rZ1?}9^O5|@11v2c$vF@owB*f4@?RjBJu|xYT=IHhFV1LL^j-00cl34S>u0Pn zO~&sRiYz`jOsCEyD_A+$WNN$QL{U6A`H%M_CQZP_uFOXO=Hm%?>m+#~C7}T+@!@+O zO1#hm&{W`PC3Nu1gbqCU4m#t)JSrMt$O>@-;9krf$SMi@W-FPIf}nLT=ve?QOB#K| z0V<>s_TgseHtSeDnBG2hWaSII+*MY1LK}z~X1YL;j}pj+Mp&AZbzcY$WI^)v&V!Y>h>7Qkmj8mydKPR+dAe#S{5}q9N6c()c2WHCay` z4~t*I1ah#@P``_@C3tATl(8j_iIJJc7gsb|Bg}3jk8(tg@^TdvUgtF=gDwRq4 z{52BzS`v;H7Bv;1|bY18e~B?zy!^y|Ray3?=D{563!pkHAKEs$v5Dr0I`~-MV4+%J}4&vdEo9Rq-}EErlVK}qC1!*z&SLKGH|RSIM(G>17}ZH zM35J;Mx3N@IMzWUea+U>MI-&Tz{L&@jtTJ3SFMREoqiQOC1m-3c4tMueAaNV>?ZTT zEZCEdH1X6RP1t{H{_onl{{qI1(+2Df+qy5oBve{7hS_biweC|^66sWb*lkO_kA1-^ zLbfx)ZRfc5I4X)Yf7dq6AWu6PPo18Rf$GZMxC_UjtnpNKbvK@ly)le6FrIEQ@Q96L zuP#?r8cZLD?vF~ki<1pVqI+=(%nkp%*%x1oL0EX#QYK#R1ve3A!lX1;IE92$#7J|6 zKXo-`=L@(Q7>=Oh5-87YTs@NmL5)G9GJhn_end}k`2Jt8I?b&+Y-(ll5Ak@C&HpHP zy!8*VdFG>rl+=K>oXK+p+d-j>#mT5=eF^W0SMGo!H!od!(E8AcVa)F%m&54bLW14r zxub(EzUZ~kbD`KZ*2(F7BUhx2wEYZ8`GE6bN4h#5Y52a(i9C{$3m8ns#KT7UMtg<~ zr5u*dkOz2zzk;V{klvB^HJ5F(5RX^mmrYe58Zdt(iJGoY;(mvo55LkKJso}gJZrf6 zB+ufxboo>EI6S9biD92jHe1AXyn5$?d0>D%>h$BE*|9rfz5@i0XTJ|{`}5Ktv+B>s zIB(|ZkL~YIpG?NQ;q*so)EwOv5aM&!ZS!cI&6*XBqGwt9{Esg>e~^J!v zL{j9(e}O-qPks66CHV={pZ8NWKVj|0TAj(C%J}J0&OQ0@$@t>|C_ddNKP^fAbSY~+ zDnI=ae{7T0NukgPdjzUVrcij91^bX2gV?8m0-Sd%R#@Q85x3lZH&vi|+lY;QfLHvH zOt6M~VJ#N0l#up0;P-LbJRYfs5k`v{C42NRrR1SYruPb)`+$N}8R8W@cq z=i>*Thv2!N^<0GKJnK1x=Y!bAXL}o~*%Ul;>79Pq+mu+(_d&%^{~>`B;QQ7y0q(|g z;>tA2UF`+37R?w0vKPD8#E?L?Sm$#48;?Z(?A}Abz_kLC+rAr8Ug}r zaO16Kg1cNi`;i6~#3&lQ@ltj(&(Q}vwt0Dl?5a93By#b&>94xyB?B)pDN+cZf!6rpU8{SbT&q zUxiQb!smIi8LV`~CeP(u@_6=n-op|HSjY>XF)_+ZBqHu566V?Mn69q^RU8GBPCp%I zi7fhEg5q7z*UtP>&l;FtXxWSRzcqR=jK$5gve)tjiZvF>rQSZ)FnqDeOcm9>V->>~aGa%drlrLZuC zl6P;8w0X#xAsKf}dOX`}*6_3=wb2?Z?K zse7JS=?af+x<428(~GP@Z?E*{*1{?YI_4Anxp0Qyzl`=%J8T!%enL6`f^uvqPnv8v zba71_WWjRi(nL#f>N+{jLQY=FNlcL)VXE@cw4st5yL^LDN^|Ve6`r1w^K2k$4=!&I zaGbj{ZIvZ#vHlo0OJdUHW%?KBoSd&aw{$nYj=T(F4UBJAwiLP7z8WYqhfar)Wq0D_ z&Og7LY5!u$5vP9xv+LgkS;MwRhC24hwf`x51R)V!*(10ZQqh<&1NKNM{&?&W@oA9! zRGIwg6xO<0e!3NZY;JKh{O2&mNMwrM(b5n7zI5m;}Kns4>kM<=2}J;H#o^5a}e5zN-^kb4bU2Pq5;^ z!b^;+0!HxbYioNp9LbG-$>_^1R5LvrUsWD$ zwxXdt`o-Jc7dWcJun()fK~8%^?Dq25-uZTWQ~X^txGQsm)MwuIjN`VKpWI&H{C64o)5;&@*bnWjf%(OC z^9cK)tNWS;z{&%1(ggbr)Db+ZsEYfV{DIWVPjJR0#V7B*`~>!Z*l!W{Gr<~!^}u@z zwsPlnA8ZCCMMN2qu=-o}dHcl*DoyZ%dk0e|ay)Zn5DbpOBOZ(ZLCl${)v|9AYYmw{Gb$#nTy@`*#wfg6uc zPu!O`fi+xy;#K7k^Dghpdkn^nqkrdm^e>I0S$EAILF4F_uiVWm^NMENK3CjF6?E>S zLSv~a`C_ijTuzSX(05>yCF10`75v-+ zUm#*fjF}>JJaTJue%pim)WMOsFkq+tmeL5->c(_LYgsMD-WVbTB-P$Pti+{eKG1db zkO>Jljm4#3E z)H-KlzLtAK-L>|2SQ$=ho20G+VW6PI@~`ODd2_XVu}cKVx$2EBWbV>*2YHF4UiT7ajdY_s+Xp%NKh!fbaKWemwY>dEt}IZ1`d$L0xdyt%See_JtDu+RCC) zx$0S?d`i<}DD3uwk>qEJn@`8MFBwF9g?KqLiTCY6+5p4LA=@geaq?5q`QrBDlv|VS zYAf7oaC>rGk)`!~s~)5%$A=>UI4%$ow>|mQ^TbA^h~B}P3JnT_O{Q#S_^4ci$h#QP zhTk0hYme%4@+%vL6RNn@RuK`oZyUO<)b^H=uU>y+V7HVn^tw@8T_iEIY*e zB?m*E3@PGO6X~}VOis&FpKi#V?}AMC4?p&tXfI3u@Y}E(EbMImaB>d$x8T)wrk4!% z#QF(%TY0n=Ye}o#mh9GR*gXE?a`_dl)&QU(M3p zp--ek;?VSO4{-aa9|8mVh2p2!NcNFPE>fEOc#>4B4PICqK)PU%y*O4I#-GB(C{TbG z$mlyw`poqS(A_$+rT!k{sUK?T%-ww~7JepHzLB@3V0$W7=jVkfc}Ny{j~_$Zvtjsn zbrxzr@WL^1O8j#)hs)p)pRFH`?gsRTu_RD>Eao3N^8Vt&=p%G090Aj@mp7vk1e@~` z8^$&G@l9_x9|R5b4#8Gcf%qcKPh7^LJ#qQPxZ+|IFO2yg0PK>|R`engTdHUu@3*o` zf~@}jlB_qa>^v;UtL+S+kLD_?T@&ntyJ`aMmE>AnB12ASV~dH)?G(gyR@vX8Y!@Tp z+oLb{``*yn7zh%F;uL`>Orm?}^ zUr7Ru>AG>r#bkrNf(<^m*Z}a6DYah+LkErsyKHV$VB?N=&qKx*^lKP1F50(Yg>Ny< zlxT0QJy#!{@bd>V*&;n0`DaYE()1fV#OlGd72DNb4I`!_A2Q1#t?;88<%lB`fNQzo zxW(wg>Of0JE(a!79mbzx{nNxSK?uQN=fWA|aM-N?d>js|^;hgti@;%s=fyZR48J#e zs^Eph2i97He@a`~qatMkk~U9?o&wQCc@5>oo5|5UzEPKeM?ZL;7^_nq{#*y#y!=_L zG)3gqJT7xcDw5!pEG1H>A#3uXnK9C8dXjdAU2|y?-Si)-y8d`QW97Zl_ z1#ck~WxW5=|Hvb;;0B-)(1$CV>pNrRS8HuZ9IZ4S1^JZ?`Tkvq7DM*vy;^%`{BL;I zFlIrt7bC<+Z=yDWmh^+?$JD_y!k5~%T=D9ZhB4PTuQ(I?A%cDXM~a{U=F(6xM`>I| zu>yKT(;W&s)%pTTW60tR+I;5RpG#iqnWAa}ZsJ|^CM2_Rue~8(Z&#kL>Dh(>>MCfURcaGA8Koh*{ajVjV9d$hU=PONEd*Z3*0;P$* z-i8%mH|1F*Zc()!;u~`M8S>8L%pyrT%gI_y_{M_6%!d9RIFS7}FBs z=)d~Vo1j;u>{Uo~7}Z%M5-Sg(X4v<3tnjH9^LTP4Ef*6ATEP&0&l*DgMmc;K;7EKp zQp8(*L8*}5Mw0NUbU#8f!&sUSLo(z-qrT&Gcph$Oro35Q zR+-yB;K?JNqCy0bUi=xms@8dPiM!pTGK=(>ip6(Tk(DmLm(#)9Lw=rzIFQK%B44A{!Kay4=&1wT48ir4G-$w7j474zM z8m+Lr*t*fkD-wHgIQ~uCkX-I6l#4p$1|myu?8P(iZ(>MtxpPqNb`Si%7UWjsDviCk znHftl!1|}Sh2WB%NbA+&Fcfj);8*NX@1-?QM~CMU1dG~E9*NqY3QA9ND4ld6fncEt zP}WK?PuL*)KIdQx>M~n<2$T(j(y#<<3MX>)tu}9%mtj&**2m6zZqZx7)AeU|9dEf4 zQ;PPowUeZ=cfv<5<1KH!eLi=H=gzx*@qaSja)#Sx=JnT?f8=scCjahZdx58n-x%{l z=#Jy(XTO6rTzbG~0{QRSzq<+g&!Ngq)Cku8n(&(}Vt_ltYlT}k&vEN=u?IyL#Gf4N zWYZwnSDgP*h6kEN#51R*4lqt|FY?za$-9+x;}>R0~kYge@>;SSdLn2o7nsT(DUj$XZ`<%X!8X8uS4CI;LW6Q0cTRG z|CP6qbz$uc7~d|8+H{PcJ_X0LGd8uZ;Kqf5ZQ3N8Tj`kO}YWpE3J6vb_k_ zp5=SB4&YiW!C8zK-+3LcI3w+KUmnl#s(KruKY=5d+3^}aF~{o}UdYz=KOK!-I$pyk z=6HPp)0RV`sZ#w3_+2?(BevsJ#3eb$Mvvooy(OdL^$Ks}5LJt8uH$t?#%g)qYLG%v zEu-^QTU?lvc(y!JYB%_ZLh+rg4F=i?z=-)(vopXK~E>${osU7G)PHEW!x z|JGJ>>HgbIuq+$~;95Ycx>5MUogajnpx+3iLc*IpaC2iPAM~Jc4DibYx}{mrv|aczf0eAXZCa$I2L`ebuOoo zjI_Nv3)%)fz|v0WuKouWNaKachMitSZVzg9%Yc>$!?*FE*~Q|pUpx77Of z{cZOAJb@4}zTDpprta-R?O%h@5iz|~`kY(RWrizdYfN!>y_A_0ZO_wK69Uln*V*7~ z!#tfuhPvQXl`N7;z4H(h0Q#YqEd06#_}3pe_+i&c0!-8A0B9R#=IdDSlTXs=J%GXD z&;XT^RC1i8f=jw7Npe|w{k^X^{I%j+8Tl)9e166n7$2*bi2dzi6gnSwdZ{!TmgYj( z>Wp^K?^foF!^Y>`MfWl?WBy%>c?|Oub|w2=FI#J-51Hn+ZLe#R&mF8nXEV`r+aDcz z%=>0m^jOatC#sLQFP)ipxBZugYO5sGNGQ;22Dd!#z5P}Y3L#D)R1i-3qT?k{vInYb zV%51#W+v7&P(mMwfQM&#C;GPY8lP zo3^P1Mqb1HzRsCyr4tU2ne0>K#3#czw_D5#a)WwunmtbaQ@!=qI`x?fO(v814~^B& z2wNS@E3oyIT_!P_{(?5N8m6X#p&>{%v#{Px262wu|R0$=fsOyid_K2OT>CosRH zj?W#0(1m`-q?OmWO&!XK!@cpE(@tY^6j7k~o{#VS`29Mkvz%5Mn^l@bVq&m4J$+)h z8}^7ZF<^U@#+0w+nUVw}eUj>?tCS&bU3H19SG2|_#`pNwz1rXz>Ocle2fzC}4r=Nd zC{BC%0{Rd{3dbJKRIu&q_F!7`K`MRow|eM%0`$Blm7cs^_c$~u^dK!JGW(>vXXZ{~ z#ok`*GwI)}+8uuU0h9!J`nzfeB4L8C1a=76E$qn!*x@X;9 zfkdD{Mr$}dSBT<*6E`V3$Dzd1yW`T^J*PU{ytt&3!1$*w4& zAJVz&SucRUlUWsLt_z@n@|{rjq}4dX+wS*P;zkVE+i&!uZW%@0a@TE4TZKGW&iT-K zjE%d3WIikvyDaJGoa;hXzrr#`pCr-w26&jFGaCErhdJtYG#)`>doKgXov<=260wBZ zTl8>rd;oSb%vT?zOmO~6<+0b`H|0qK!;R&wT5&a|{BaxQLc?d2(?^IL|ACxl{ReKpis!o2l z7-B@~p=U?mJ4fQ)hqc7s(v@)@ii@B_&w*z`OH!S?U_z(Q-ve4j?>T?J1hXT<`Z-x2 z#9M4?{k!_$XA(lgVt728Hh`1cDnmXR?eh^J3%dZK3#+ZZa~FDt5eY`m=Euq)wo9+w zpH?FAC%)n_C8yHb33-^!2aL*%uHZMn_ZvQ3%>!N7o~vYpC#KVU_&S-6#A1FP?{@O~ z-Ve(s$rVb$yIQ)6$NGJ;r3$okdWM#wMQbPITbR`GI}fQiSmHw!kG)%&A*9Wb>2!OC zoJ2U#N+a;ek%L{r)9q!iV$b-|)|giK8MeEgdkouM%DDXwSk7UG-tukNT4j7+zH2u) zeDs(LUcHRihzaZ^_&9S)_h|e4^+;jd6T*Yhu#UEm4`9T=DRNuWT&&|%`$GOR7yl%1 zo-EK-70S`};Rg48Bkh^UosUxGZ#@>+kUz-}zmwu4SYkd!y)uaH6~A6y+_?+Wg5ZbK zjMOiQkJnan%rC=8oXSdmrxNVGv({E~82aJkwfrdKs|XQqyOT6S;Y6bci%k_~hmf=q zucQGMcMT>^NWp8PUI-XSHR_NB2XD-gSjd+my!jcm!)B?NHcQ z#>CnyKh8njgRQ>kB2o2VYp&AxHI!O;DCfcpuUvU>!lY}jJlN`2nqCIrvgU$gaAASB z^&K&6Vbpa-BQ@qNYzaI*uDD3+$Wxj)$D#`VdyL}OAdW}|=j7IzpM$Tpmjn1& zR2M%4nBInPB>r&0r?LgY?~E3T7CPA}PYYQ0=M)^0IHB2qaa}~OGVv7BtM=hfSg+cT zKX~~${uJs}9UJpdB@V@(Q*bO=j`GGmroO+WW1tAc!FHulwGZ?Q8CCo7Cu~%Gt|N?) zAqrI;_*0k|j2^it&B-ypDse(6LQ!6{9`i860V1dc;3!)=2dq|DZ~8@lgLQLq>&*`E zvFv-G-n>S92yM&<9BCVjytcT+lk?(&MqYkpOpBPifV^k^z1bQ67g6;&G5C2v@&={8 zS?TL*uM$Bf?a(Cnue~Zlmf#4ViNQr=;V$jHpwp^gZslPPwK}A1Tbaj}rB$nJI75F&`)I{$9~B%z zajhl4@$JQbL-6GN#lsU!AT}Ho83I$}yS8|6Y^e_)YS#8zgBNA5iuwaZeZ2(`4#4Kn znhC*VG4!<(;hsQfB7R=0Y#{FA5O;V4Kg$zAwhtR-)#>Q?$f?B>6|Fa(Vkim&3*mRz z(qhl17YH&G>4)_L=C$(2DDh*A{8578oLYQsS+l_BQvEaSFDqXAOTnA6Kl*0^9~3|@ z1_N$U#SU0w<%=2teU$IBioJ?z^9e?T(bZvhapTHdfMfXc_H z$G~wgZ}swGLH$46eynp7wN=^nO+KiuvaJQXD3MX5tv!meQ%R(GY_xh8A8(WG4>o!u z!Oc|8_bBAo3k9^!TDUc&x&(|NPe7kehpapiP?|I}9Up|sHf7}B#lz6A%3P(1Ss3C0 z6i)sw!1Pp_d={8dEcP;f$PRsBb3W4W8Wka66Me^TU$b`-DY+n4grdO55CZJ-CS2;k~<5fa%)_5sTKPm7R2qMZzfKRxoBA>5C-g%<{WV*jWPg(Q6RHxia4wUo`MyK({s@#qE8+G^UP33j zml)1wwfFM0j$C#(dX_BUXMOlP@Si?0gbJKc61}~(sVVai%yxs)#As%F&c_&p+pA@L zR?10C(f9MEo@c#IRDouUaVpoLy+ujia6B0xPeR?R7@(5QaXSpFwtl4;z#|Ilu*ZFwSW4tW6O+cBp=dBQmF z%b&m?{xw9w;qSBP6$K-lz2R&t;K$**_8&@8nqAX~IV3sRQ=V7!^Y?M(s zIDWQ#9-_B2yw8Z-h|%yes3^m^c^Y9jP$~C)AtsjB%pNxu4^}p81Ko zp$BqZi~0J1w#BPowxbD4zx)c1)Gvh~C9PD@tejm%!$lq)GuU?o>Z3TusrFOgJjDD5 z3S){Gj)sekfN>Qes>) zNg@S~k=PnHnGgVoX^@0KcMjb^ty7~_VyA>0`SE>#r4~;VKijycBY<2`_|X zW9LJ>9geVDWN00(TMYee4b{Q==HsjiV{q74j|p=n{%a`O#JLHWjo$KiqI{xHBA4$8 z5OJMt=B=_>Gcg!2AZ zKQWQo#VsnHlnn#j@s;HSwxN;f9ejN;_uj)wxi8aOz^7 zn62OcKyIx30j-T43M5LE=ku@`+H$SOwi?NP^6wcP?AA?rJArloxISH<`wdHT9*e?;(*Rd)Zo2}=ftmw_N zQIbUZ_}IIu`!I&-^0oIDUDJ0nhE39U99W_&`X>9Ab;6VWuuGr{QYxW+?Zcx=Z(HEy zZ#(;g7=L_E`YqyxwS7+bR|y*cSHY6nfk}~n+ZM8+j+$+wcGhYddW3 zV+^kLt4M9gGFCHPxAA6j8{0%1ThK;gv&5MCA=Q3p|0zf!u}3B?Y+X(AkDTnskqMj( zE$fVirywt39qD9iSEA814ttYv*e-B*nK-RJV1B2T}`E|8od#c8Zojo+-Z>Ik4`3c$+Zg{9w#t@;u;Ix58 z9YQI>O+0_)S4Zeui9w4`z0~M$__5t)jKvhG@5b?Z3|~cuyg^H=!XQhBZd=t*U!1NA zFiu^_*Kx2VS8PgwTFSVc#t393j0UH4))QCES$=prln2+Ne9YgbHHTCO*^Q|%I zC{RVzTR#V%J`$gNQIc(Sh_=v-Xil^RzW3MGz#maR1x?tD+ z!Zmef#BNu;5DPFM?t|&&$LfOVdnoo-1@!HQUOlJvU~7IfaA?;#Tc5aD?T3*jM4IXo zqi#kj#sPqBgGP;iWUXJlYUH{P+2`?da_X_!6Rt6T4zoxiSS#t^BOImi7wDRx1$I5@ z;zJn;T>X)GK6Y6^`iBh71TdJd1XXL!vO!@e<8#?F(K?n+0^)Q)!O9t0e4nUQClM&M zYvJ5O3u=H&KBaLm3WGI?J-w#9o|_97Y+cD(pQ#qwN~4cO;V4FU!=c?x6X6X0gkyAd z5NVHa4nSx~rRi4Z7ol#7`MbIUkX;DU(mx&UfM@U9T8ao(v!A29F0H5;0P`_e+4L+!~2g-f_| zi2c3Ma6g<0l*LBksd#|@4lbVfJS^j}XwJbK5C1y`V*Y;v^mRcp??-F}ZUT*bM~z~< zNZx}}z|t$!ZF6!!;$VHP`7q2d!5T^<79I2k;47%CZ#}fDsTy>qb~45yvp7y$_(v}F ztAn8smBt3VmOwD@f%+Pg_Mqf31+1vIHf@W3D=`xsG=qvx46!;1n>H^>#;C8YF;8=< zT#hPG`4{VLl4k?8=0Vs;5*}{8k%Nx8nM`gCx7y2dOgVYb6CZmO7U|{9SNrzk=+Stv zoI2bvh>h2?vH67o^iA@u{2dz)tf(b3Q0xPNCi2;k1L}!K?g@2*PDx+q9weMt1h6wcIdTp z{%~+hezgCg-RJB+*m85qa6mgHdd0MTXj{*J#tF|#kw*-Thd!?T_h0A~=_)9Ij%iXB%UzK++SRhgM=q=vigvr1#W9!l&*G&-gk1h1K7aEQ*~7 zjN;fpg9v|sQi9XM+RVF0#5B$K*O?d2lY>2t`NpXE7g4+CRzG( zP`l8`LH>qB#R~~aP8E#@_%4@L;3KpNt9gq70ye{r(bZEJUASg_dC0d5mfa?r^~!h{ z!o$E~%7$skW>OrU0-I}mu%^DV4&wz*MIVc(0fnje2&%;Vtr9uj(yp~ep2&^XYfFlK zYAyCU8;61v@s|PEH3E(PzWrzpv1n@w+5%dlDXleteR5=h`4Y-D zEE$S$wKMUAvxZmuMNcsC(4zgh(T^7Gk1CcTz~nF*)s_~b`A;|!q-|mRLp%y3{=N2p zg6gvU?-DvXh%6~fu*PaM@H-8k??`;s{d^RBK(^Z|0joE#W=MEU?hhX4H_wDcKcW?Be6J0Wdam5hWa|R_j4g{!ZWY!&cPUr z7OPE!pouV>+L|fkg*vJiq|y@%UDU92Xijuo!_v!h)Q20EmWxK!bF`%qpZYa%YM)u~ zU?AnnBm7F!9H{!l6z?aXK8^YxYg+VlL$gRcQ`(|mJ@_D)-KQ2LE@&S+*v}q~$5m%x zZET58TZ$1l4b9|6PiY&AwP-$yKvv*HlKwJB!aefs*cU&;F+4FJ`o*fuSQf!*jcYSp z;A&tC143WmYjf9S9fl7yfJ_ul!I@OpI?-UQNG4d6)|_`faM~Nj_OKG1Y%?v_*5uoO zF+#2djWNDfNQJu&6f$^Sq_%E~Tn|#sr#IHc{M-&RhYJ9#AJCQR6#cc8lw4xzuX^*V zb0jgQ@rVxf7n~P}+b`O+N;IL=|`dq6JM74OC5v_aOkc_ zT^P8kmP!fa2-gz^36dCFQRk0dp)H4oA106}Ok6@?h?cfj3qeQ}0XkU+Avkqmts0!O zT*&TnaE`yNniEGd!(`%@Md+xqGPiGqTV>dhcx zyLy5APW@))cs@sOPAHZ~Xqf11bTZhxqB^9Gtf&sFL-o2M?5JnL*y>SYpeXN;_80x{ ztJf7`xr_NQ-|Bm6&!k9r`sd7d>oI7ubAnk4MfxMP4%nXs?75?cX^czXF?XWijW8+5 zDbXw1sxhOF4_8z}>oVO~TQ%nMYQaRS@N?vNFv>bSXw}6&(mH+{epsE}vi9EcwRM*x zY8^9E7&TG*a(r}VDDK3qQH%Q+%fhOhtT+QrN%BKPY~KJP@L?zJRM@JNW{hGKgku)Vo@{*w@1ktv!;s!Je^DI^?MF zhc;WPhA_VhWhvm1|0M@EV{^I#>eb>JPDMxrJJj6JNX@PYr+dt(jZi@PThl-R1VsQ(+>C z1ExZCq#c8R4r?7g_4LF$Ms);pI6Wi$hL_PlXv<+y{hs4Qzn1-sl<1)?w z(%;mu3^@QsRP5(+~Y@I%xhrIN`Aj30fputS>;EV=6J9y zx>W6tUIP-s=OK8%F4Xj@+6%b}&mhYu2J4eRe=p_3uwo}gkeCTpY;{C$p?%v+5Z+Qo zXgj0naOv3Nvb|k-091y|}9wEO` zUOesHX}8yS-2VKdUbgem%+z+gi-S@7#D_>;1Mzc_pN$EHcV56+N( z|AF7f#Xn-hKR!SGmj(Y@7W{{@fxq!Vi$2GPKiYyn)PjF;Ht=uA9{xL1C0*WtVkN)s z!0$Br97o^B4RlB9r-w!LZuI@{SeE*?!xGgj^sny1&#eDb`R@i+ko)<^pfK65gV(3_ z%Omd|{d^Xx#u|p1N&3_C{a^4|3;YowmhJqpjddh_=4I61srY}J6(s(nE&PXOiT_Mg zjWvAkoqxC+xvx-6fCyC?Mc8*24}n?P)QOvuw2eq1O9X?gzya9AgB7bzhr9buf5pEP?Ps)$+WTrB z?~nO^XODb&F`G39qcyJbc!d-KE8CF^`w33WhfCuv@8<#^x+LLc;-V?X+yVYijJ045 z7O-NHv@eT>WiC+xhd}NYu~Sa%M^L*RcbTIlT$LelhOdF0{t~Lg*B;UTW!%5n57MZD zO5@>K^1sBkl?ffO37t*t(c6vjIr{J6ooMdCir0#E)yc8RJ$x;P-aTihKH;bVZ>IFg zpDIuQ_ShgWzg`RE!{W`TVh5=&*fQgl?|;CrcW5sc-ZTqQC+2O?k|c)lpKdnoNWJ$M?x%75D)J&~Kn#2NyAeH$(bv1ZtOUE!$qYb-;G|{=hCFeFr`V z@fjw0@@FpF0%bd{=ju@T-5-=jOxmPt_%(C4d1yC|qijJ{?h6Mi-dZ^9&}a3BcJDS{ zGjXQpHY~Zgs=|`FbjyI^$y?uz6Z+ommQcjdO6oPw!0-?~l=Y5REL3~nDE zLV3Y@YVqRwIvGx5amV~;!4$>_*gfsGm2w+*g`-M$}X(bw2pwf0cZH4ms`=AHFJ*Dng36F-vb?0 zb?$ox21qn|#x_dCSf@IrK@k!`NHo<^GZ0(QK}q1=3nj>(jus(>1Y#?7U;^eaOq*A& zrT5zVvWi-6g_2eqQMq;kF~Qc_QD{t&3nL=VFsLI4iJ;8;{l0Tf=1drCTkl%$y|wPF z_02iIbN09Qx4->=pKtGdlSm<^0-DD`*{8V5wPRJWA`08#(7F;seg`+O*I(7a7)!}C z8xG@2eFTn{Yu%9iLJv*Fu;GPG;2Zo@E1Ea&v^%O}=Sk&&l*-p@iP+01;D%BH9p$2t zK;N+X4l~&T7$Soc4(^Sv%0Vv>US470iLv-*3ee*X&Kk^9FeNR+!n_cMX7fSEpy==U+uF?wJg z)ywO4$ZDoQ*=j^^yQ>F}P;AYFzz6H<*cD&b6Qa?zhjH}eX)94K?9h9K_Q4EqRgB;J zp?8@VUe!Tg2Zo3CrpOHGPpjaal+_#>IF!d&zFDx^aT3T&^0^MC9Yq-}mX-g91Nk4w z;2#{cy9Tmnw3oMopOqN46@iY=V~XmkE%=w6W=m;pA1{;e#GIS*7LsC@*mRv#;OoU% zt!rlce8A86GI4}e*ts4q(18GrOlJ*mtL~oW<6eA+U}#&QQfLU-!U)ak{(*k~3k>J` z#d+HIOnGjHd-%k4Pma(-hq!zC1)+!X(23Kg*;Q<|;Hbps-J5dM3vMk?9d0M?i*PN* zwNyU;-c*U(nV`F%JJ<%sZa7!O!}nNI6?*x}Gn0JZ0|*jJEcH$TxVUL1?RT{HZA%ZQ zQk-Z+=_-;-k+;rp9;*akJj{lnd>G99(f33{$o)%E(Kw)Az?fZyhsskUy zfpyG$x{SV8Aj({EkecS~Ph<8*O&QGI^1Kl^8t&#m+z9bVD4I&cgK)GD7WXA<|;B8EVVCD6vO zcpyRccZ03`H};1IVd(`}nKt;y*B`3Yy_&^+skJaeFIM*l&@x!!GurB}sloyIWiwdV z;63F)sjQB@aJydopD+C)zE?b7j(;`aLLo<fy~Y)2tlfp}r|aL2&9-0c=mvDZ3*!Sg+^Mz^!?U0kW5mmB{RMBk*Dh z`8cXh%?~I5}Q%1Vzl?lWquG_P)9r-9fIh=eb2R2`CH(7#ZBhZCdcv=c1;q6?%P@@$=JR;*rkgs4^; z`y$|WivPY#WzPk*aT;Yo)h~&F!HxEM?_O;;2A$F&FA3uu7d=N|X<{M9=#5i!23YOf zs6IFjVBJJ~?K;`(cHr-$gpqxfvEi4Fl(9FzKZ$7-Us}lez=Q7tF9uZAbiE+%^YxIA9P{wrklJ%1Y}_ z;KZo+*zjL4C~;WZp*=({`c$n4kK$nVQ%oTSVrV%h5bg`~olt)g#!E|k5M6K-V_7W;aZH8HDZI(ap-*A7uVRCbRqRt5xbQmR_nGomd5{K9JpU zaq_Ygy`Yp(BoaVvVU?CdI;+RkjhFJokoX*qR>NvgNYnR5L-30((xZ(ryB zPQN!9?SGxlFS{_^lS1!;ok&Y(8D3C-tB&TOf;F4u{~*_P*e~M3T?+3>8NE-oDI4$< zOE%jYUHrN{suOnmsN%lY*uK$>6n6nxe$i+p=2wiey=B&hi8% zH(Aqyxhi%E*re2B8V3f_?;xyDqYNuUn0`g8MnjD!Fzbs@*$Q^T0h4W1qpOv-xV9MA zX5;FYYlW*;9aZ6~;h&d(ZvGYX&)L=J3d0e9j60eeFHFu6?jbz!Rx!wVc1DzYBFsRV z7o9qoXx}tEbO`eVi#oFYVU6W@4D_xUo@XuBxN1N=!B~P0?ziaX$ zzDsbH2=hazWe}Ur$+fms9ZX6~H$qYsU$%EI6}4bTIjL-Nf{jf@Xk>PV{P&_d>(4$f zr|LHDJF`isQOw<|ys4*Me&89gNxh=q7Z#%fO(i=}#t^|e zyfk#J@D{pew&68uTqDLcY+OGxO`v)Q{Nhi~b`97P3e9YzYbG9}d>@f16DVG7)Nl(8 z*5bUHKp)Nxdzg5$>wY-I);J%c(zW%Zq9IRV;<}KhC~+;a=nTZE5q`(+bc&KS&` zO!6m&hdgFS0rQSq3l_zF`#}Q{o3^)04ZY+TtSA33s*R#aZ9)UIb$4E1? z?7zMk^@=BnebQ+4h?ro-$J7?s2oF9-oBCLnXA?A$g5ke5bu$dmk$0!I!v6TG$~%w)T(W3Uel&-R~!FA-*9^A)R)U% zQ3HPf>hg5Z2c|prLkfMM=X;^YwF{t`g7UqED#Z+z@mWk zXvk>YlF^bZu*h4;Ydlnx1-8m8u=O!iA1ttU8U^+NX0`f=u5P^!L3S6Bjv<O_Uu8|R)pk9X~k8ufCYcFM?~JK3I~ zX75zDoDmJ`RWs^ib(E$20Z!v^4;;-@=+#e?<)|hYZxmaZB9m0zro(P|}M~*QB7RAc{~DC5Hk^ zkA`BdJQ`XdVyaCItU1^NL_XbvwEq=kZI5DcADUzvYNCs^PTMZMDk@=BbgfYpY00h% zTmBFx!Yo@M?wz<*O5Wh~v6-dOu|S+8iVr{(L{aqb!@b%z$k2a}Hd|tLVE0=_eS4Zc z6EkxAS>^T&j9gM(bGbzBP;L*bWe`Wn(TE_s9C`|@ihlzmEa_IlRHw&mq7GQ(^X!u* z_#o4#kD*GZQu;$X@eIki&e^n}$A1Vd)rXc82#coEDUehvc4)`dEvM!A-f^>|xjWT0 zetLl%a!gmh(Hnvi(7!Z#mMCpa+}~F7M7D7_SQgnvHD2P`qprRV8N17~j~Jpo`w^UV zd7^}-ent2>2nC6Yy%f>cg6L+3VI6_oqD%T5*;EfC*#|Ll>!Zj8*!%PampdFA8u+M8 z{ZXgCeb@^Kf;-!`JH_H#^}O;sov*hM#h{l9SXS=K{ZkNq)TA_L=*y$K`H^%r)vd|i zH*LqXGq!F-+R`gh*Thj+o=;lkHz0d2aJDr;hBKXrxea|5qHV}Rmfx+7# zdMsy9==Pz|-Fprj;9-&wFZvIOF6K!TIYXaNoK%73y1eVgH6cul9{AnnjM29jVY`g{aSBUWV!55r zb8a8zU=4Y7fke1)W-igA_(5Ytt@t3f7m_enP{M`+t&g?!WP5ytSqQs4J#^2p-5$9) zD+B214_yo_j1%z8D2!3FFzz!lc*$oL#(gY|$DyL!`ksuUi2gw4An$uDiWua*B!w|p z)nk;$VEvwplj`b2h>BT*b1y`Z_i=cv%PYe_$*gPfjPhn3mu4LVT1SBB^QdcXp}Z^i zNd1AlW>g-=P%5f4NPiOJy#^G(*R?Yk>mj$I3~I0TzGLgQeE{JtWe^?8@xue114br8 zWn_ZsKy0-!9MfFG3*#>h1>i_LTa}3lT%!CNCh36s@*zAklIS0;FTM2QAFnUxp@R7v z>dUbR<^SpW5^0r(PfG*R%GRG&aqfYgtvk`*pZEf++H`-S4{3__7LCZ~>`!ckM}KdB zB8D!)-`<}<0DoJ5Vl4Bi(VyVH%%8tM@frk0&HPvT6QfSEdP9HiF%%hWTpYd8e=zJn zjLbcBJWIUiGx z`IuWooTKYXn^yMt-$8}lo9=%|oo)6$q{D!{Mz!6lr^nI_H2Q$2FV0p3ExcQ?n^DD8{Hpm9iWNu^%|tVg1SR z&H@OSIi9G*lg~e%7{rMG_3;i{s2PqpZ7(urAA7J(=w5UawUsgHyzXFnqdXZ?j++3b zJRQwmp7h?x8LiKl#5l%T$Nt`7kMu?$nYv~UJj$)#BLgxtw|Wo#)B1--qjbGzkEHm; zed_98K(j`xD%<#qu-uWOKP#yZo`xGK98qIZuYZ2jY=^3jY8ms9>81!m$_QLt^IQ0m zyAl(V$Vi5q>87ZOnFpN)PCf=#_Go>*Z>n2AfC;|3^-s1}ZLgHP)Z26M2WUfKj{}wa z@1H0$9QhNm2M1<2CZ>lKgHXv$%tu&gkS3x*npl{)o;DpYT;6(9zRlB-7|lXumpFw{ zt@!UBR)A?kOuca0aELK&I4oc900liA*L$|9fj!u>N85irMuV$!04-v*u868s_}HunnIS|9+OYJuumbuLj3Jwlnw;AD^6s;}e*R#DAWJ;|3Tf zGoTye7iM8Q3ZrYjy+MwP85r73m_G3Bkc3+wm;I%`GZ_JLvUgtZHO^(4j*e0A45`l~w= z7Y}@Oe82w6JuP%1+24|6yclf z4vC6b-Q>#cXBpj;flI#SxaGzX>$}3x$C9^cYjG8pPbE6^&#{L6T)%zm$J60-x@&as z%D{`Mz$Zi02Y*UsVlyIqc@nEvY<{%)$->L+WOZwImYp}jOQ7FY8dXbaW-Xka{C zz$&J_Flb9SW=yM2EzOD5pjbl{w13GziKFBoZL8KiOVrgu~^D0MY9P4^+c z!9|7UpiviN3pY-fhVe6GK99e{M#)3tPvL6DMTTjJ0(Yp>qx3E#Btvbz-ZKBouq{14 z;ei*yt8HIGyRFH$8T2O9$9G_l^>z#mBdVt>_s_ZTEP$_~HXNwa<$uc^PUz!$j@X`q zkg44Vjp>!{#vTlhDIN}s!6#8hO1og7_=#NgcSwdo+DfJUh&^y{Sl|>gbQ5F=KKxKK zlWcG5pe@<>61QgWH*&+#M%>-vh-gE?u^=XT*&zBP0G&ZXB_@ zoXm(DP*a407sC80(G?1e6MH&A&xQiOiub>J5?NLXue|$NC{RYDF`e&+)(ouMSL{Q= z#}EMpmKvj`N$$$Ss+1%ihbHmMKF&Vs-HXJ73>67sMk zD;%2{)wmAk?v^m4vE#4-?HD$5a;kxshOx}jq{ze2mtxnXbF^J{KWp;Fz$T;Y!}mhy z4CgWFlNc%O1pGv?aFij!YGX5e!Q@f4d3b?hgK3xF_+?(Df3oX$QYcs_7(M8|#%{Hu578?0xBtlh5lm8+A=KQ{n0;(} ziE$1-986xpj1M=Jse>?7pcdmp;gPO@KzjsM#ql$+<&g*e_E!H#u%{Rcf7G`2;Ck#z z4F10u`WL&3Vpu=?9t`laIR3nTGd}(s{iZbjANoysyhXop$A6;VRK$P4o11ae?U4Ad z*w^K4ZhRwdMU(o71JT!I<3I8zba@wtPB>2kNm(fQ(}M@=ZfHU~B?FE3kw5b}x$^$* zw~deJpY%_MA5klI)0kJEYu<^<6151<{(%>$Q3`Wo$dInwQ>-p=AQ5afSXmY+4UJ|K z$7Num%=Li+T^Y<#NP5(n4$;VHXk?pyND)m#w&=H|xc#|)TaMeG=(ld%uGeoXaJve( zjJ$?(ztELLz$~F}pv5>Q@kiB+_;a)cD`7a)%clnq)?J7AyUvck{zV`i|M&PgU_ksa z89fMIplB8$W`((@8GB4DA@-pL#@}Vw50soVa<`ErWg^ehOtIrq!w*6o0TWaktBEih ztrv|tKK24*g0B&|?`!*WJJ-#Z%HCmXJk;=<|ByR;^sLGr`TAL%=heojTEUg8MP?fO z8$!(OHd0|1v-Dr^T2etzfw&BwhC!o0LJn8kZnh=t>I=+ZgW@-%0at%_vn@UWH<>w2 z&tK%t$X{=xm-0FD*U#YvMEooH%cyzcKR~2KD!nGrdNI?CgcgmL!S-2gtbkv7T|z7N zeB>1AD7=?p#BSEbdR4Mt+nJk?+|2pg0Tsy$Qju`h+#HItB1vMdmN{__E5kU)G{Ir< zH&4N=0osHf+oOYed$6He{1^nr(Ns7+beMMg$MFt0!RfEJ_XTHstPRH#ZE|0Ht2~79 zp7uEIdV92C@kjY+^2a~zy)k}V_W`%sjE@6dAIEV%OlqCF`&$B*32(_{0Sf^FI|he< zZdB@qsJ}bk_IsQ})fJzrdsp((^~2PM+T&Z0?C@RSPuk=EZh=2;kN=RF0$Ct5eo&xu zaQp%W_jQ}UJtei>eG*qhk=5q<;3mmm$X81I9`ZfI=npm;iSGCweAl4NFXM_3<1g@v zoR@G0hkaQW`q%Pklnx%#-KkrLVKF@!AHsv)%i`;K86ICFZgcfl4FYUB_%=Xhb~Wn5 zJ0Mj?e!UhCK4*TFME%VCY8xhH5EWnik1&Eok}Z)ag>~?NfTsY=q z9`Pn^-=BcB|LKbh%pWkJ7fmzXd;~x6yfpxRiTQ^=eiY7lH7x6Z>T)20>OBJZ>+=&Fd~*5jDk z9INmpsPrMcX2(HkI7IpKgjYNop?lP7Gh$@u8Y;q~F^k98(E2Pd_oJQ`eW;DEQV;c} zxpEZ3t1wfJ7}v0IZ8fef#0OsMEfUp9{bC)l5;}#-@+YplsC2ob_SSDsMb1RcMNuM|W0xx1o9z{i%(_*=Z z0K)h+kN9{=+qJ5LrO`Bz*XIukW0Vj_oo&7a@w*>Z{mKaMjP?N?2)@r*l;>2nsY z2|ou;bgCl3$vNsXuaW5_wHHTh_43o{EIXz)b^->^b?`?G(5)SQ@fliLca1#yo%dmA1O; zwf*ocKNQ%Hu`ZIZ08?#Odt==+C_K&_g3uNQPGjpt(6Y8&+(zYlk3&lmmEs`l+SApvo0D)^>A zLtZStt2m;Kc7@6vfj*p6-^cxeE@iJ1Ss-y9#)qR_d~^;Uy@!Glnq=3o>>n$-bAyZR zA#5aVcX1hJ9N`9YY%gMynU_cH!fB#>9yne|PF>D8D8`fAK~j!L$`GGr%CkEl=slb9KH*nW@Q zqAS$Zr9fbx-sP6LAo}EQz)DRlXl%R%azpd^Fm8GSA0*ze&NZ-pM|Y+OBbmIi7uCk= zb+?=YgG7bugI{8#afgr4b*^F3#oZ6bE{^PAYjd(4QwyhQW`hu%Kt|`a2jwAcZ&TrN zn)6|=Ano8^o{XwFCq@ead`?0T$dpJo%#3j!Vi*QH^AM>~yRoVi^%o+fFV(~xL){_- zRzQ(0%QbbqqJG4o2+t)X=U{Qtm0&E;?81*UFjs8yT#Z?=hjeEsTs$I{#Sh`jwl#?_ zSe9Ix&v}w;@u(A;&#ukP(J-aqb>Mh}9;7MuJL>PQ;Qq6^E0@5KFhEQH%jL!q+lwkQ z-N_g@|9Jy6w#Zc(^5|uDrGo9FQ&b~P(YC!G@)$+XV+&2y3*b~1z=F_JDS+#y4hG6+ zIYim6@?u8>#{DNp&{ITpfc#XBrN&Gay$JTZsD}%@EqMt8hQ?OB*E*R~pir(-af)kP zabN6>Z9u05Yw|m|a;1=&%JRd0rOQ`py|2C>8m(%W6i~M=aup87gbV;zJ3*f5pz)w` z6#XK}@F<+6v19nm!nzP*j5>n?SE1gFsHnH})<2n;AQS%P2N%{|{6=u~wAiJvbA%vl z7t9Gobu0QEIPKf1{m}>$v6$|K0>{sQYRkFmxyXzD=`8FQgfIgg`4nn~{=7PNk34ho z8F;48!1gc`chDKj_#^PEqHJ>BiqNk)SjVkn`Rc^#?CFX6sSwLL;I0yRtzsdnG$o}k zF+5-6DG9+rq3?1lFH}`HLFtTbM_`8?xgGoO)PFhNfxb-eW_#$nd04(!?&8Zl{U!FW zW~Ysd7uY~4b8Q#5Z-`CxU;W|Zfq`6xF#hG-Ezku=1Z{1w z@t2Woy$5u=NX$Q=R)2*xHT4gFW&Z8gdQF|buDrAfD#9cb$Ej*tO6V_6#Ys)kD0lVfRI{_e(O zKdtcCc)Tq)j@ZvI;G+sM2GQ0vpO*F6Ev4wGwxL18@yqBl20l7>#h7jAtzfxau<$FK z!ArdCx&7_EEyR)QO9Ke%JMZ+zzRdakM&tydk`m>9m&zW zg~0-CL~v%2_Rsdj$mzm&{q(wDVz!6**VJ5X4-Lny5`N(8XQ_}zUC{? z4&rIM+8qNZYB;3X3)M3#I1s75w{TY`$1}B4Q_p#h?@n^CvGM73#MqkZN#;L7ZHbv zYXnnN-!5XW;5y<6v0E@j_w^7L3%;K?O6(NuCyo(21UC{Vi50<3#C^m`Oy#FGt|#X5 zh)aoU z1#c#H6W0iCC9Wj)3Vxc{OY9cBjd&(;vEc2*td8SO!C_(_u|seNaV@bTn5y+P5GT2d z?8cXg{lrnhRJE^(I3jotaWipPFjeo{K-?;LA8`wDi{L2nCgNtnhlpE={eqb^zHP*{ zf{zl1iE9KiseHSLy@Ed^ju5*AGwFOi#KnR?CXNz21uMAq#fTk(xpjaqNvsIYA?_oF zK?>rZN6bTv<1mN;b`a+fM+9@m&gUQw3oan$sh{yy!JNbMIf+{YJBf>kn+0>@1Ya?+ zUvLp|DRHe}P6GLO>`}Z%a4~Tuu~+bTVlS~pnK*|yBKToqZfFn>3*JCnK-?<$QDP@?i{KXGBI0Jjj}aFW z`vq?zE+wuNyqVZdTqC%ZxRTf__-SG(J3XNNL%bjvu+gz;yrY$h1zZzFGZhfj>191}n87Kd2eh0`g8Atki&- zQPcWyCC_G@U&!nIxNb1Q@5#d73inq2aH-C}$HM3M!r9>_y*i(NnjUTot_<(|iRthv zv+zaWj^X+5(D}l+lJ7bTpC5clJg>QPuo3~erz4)AB*=`XyGrM~+rqakOL$JSX4d$% z{6^<{!oru#!WV%%E1&-#B>HSZgZ;OR52kUtU<~M&=CSNmJf2Q973!gg+Ul{JJ z;ko~y^L?=_t(S%@e6?^F1)1qy{Ibq>hlQ^-3ttV~DSu4!)!?3TuD9^TvhX#-UG1OJ zd|}*^?X&v{Vin_%JFl!ea=cUC^{+dAKOEPT-{e15pI^0gk;`C2S|1;fwQOBC*` zd~Wn+8NWYS_`F&8YT?exSA0b0J8j`>%EDIzcUHdIqdMPL%hUP{XW?ssJ1bx0U7hcr zEqr}h_@c*kzUB}0`Z|IuKMS85?yP*ti*&vZEqvRu@HvNP@YqIdwWZ|oUJ8S%!zpV3Zv+!-m!WV`+D_`Vto$oCRUnC2k zaz!Rz3r-DUx?gx>S}!@5oE^Ui++~FK6`k)^3!gg+pE5F&&-qoIZSgJ98aSNYv>DloM z!yWmG$Lo5j#g%*)-IUf#Dfn9O+;Od4@q>~e?*zNj3Nrfzj)^+oZ5F=TEaAD~&MK$3 zOy~1k_%>zX^TQqal>%qP(e9hA``D*Xb`4Ses;>*s~OAFjt!>gID^A*B~$EOSb9BBD6=}Wrv+&izot3Y)M(4ZD!nX~4EqLAv z@8kWzM?Om9ls>pS>=pkJv;dh zTKHYnp$Mp(4r%ue@=eali@cWVOpfD%`vi|rkYI#=^(Bo>lF~c{n1D~67Lgst( z`akY;4Vd~cum7W$|Iv$?2Y5B}#sBScWXi<)z_}`2SNI3i2Ud4A7I)2XXa49%i{)L* zU-2VqaTkWW+Ml8g{W0pK#!Ua5tJ5;kUCRcvxetTZWY$+!8EOXb)IMTY{6DlS#cMyE zr^UkKe=t*qsO6o~l=;pHnZk%S>(`d`>360)f6vv-6WMsI?>_B58{gmh?CNcDI z|DEsuJN?Qg>)-Osl)=1`$9ix2QTr^$IZvY;fr>#9Q0;G#_dpSlvkiF!lmt0(=3z0Y z2IL0cedq_AK_9?{zQE-Un=4jGpQx_Uxz~=fY*B! z1q+-M-<3lYY_%`Xu#Qcs0WQRq;U*ETGG3v1(~@%V;j7+~%r8Q4^#A#95#nq9mVanh z)`A`ZJppP1b%MGV1i$Ehm6F`$d)u4r-<)F2oM?g=2+CZJ4ZqQ-SNzl-f z;0KKaO#n>-Rf86SmV?%U9sxZ8Y6EqGx;wQA?m`LhbUf? zCJj+;T0DR0lDp?SizZGi8DD&D*=XlobC)fc?_9FjxpaKVgp$&6^GZfJ=PjDM_*>59 z3zjas8!t+(8B;u_)LG=KtE*jh-Po~nbw9>@Ysr#tEn2W_N&V7!3&zY_a_`u>B}*2~ z^Ub|`@z_O+mfw4I?b0RpESOj4oL4sP+WBQ=^C!+*cujH1glkI6#uZ;PzT}$u6N^hH zj4zpg?KShSSvYaQf>FwpyBB|Z!P4uTQ>Ik(hdQ=;$)fsu7c3iVh(7kN`nwm+ziUa| z*kw!SnX>2s8Zj8Vq`odg0)Y8{hZKr3=I+IJ*Ug!`bm`ptlrakd%=@|p4Rs14jz2{B z-UW+svv^6}f-$B}?w&8t;9^YeBD`F>V3B@v*Ro~GnECfDURJkM8MDAQXW`Ph_b!;@ zn-BD@#r0zhUC#lWKeukK@GV`U^MfnHk?zlZ_v#OQbC>zjKH}NDd2<#t%v(@fH>Ymy zU5geN0x}TM+|_r_7Z2v%d-ptL%rYMYf;)t?gaPZpOSb%*{;q~A*q2K?SBHj?MC(}d zXSP9HKV-Vg!$XqGbcCy!e_L?RHj#X6A4!oCy^UkLOLuH99|HBaacKA0_FacYmF+Bl zi#u}$PX+eMNa_bfAfW`?^7_b?3-cWie_Jd?`w&vZviUA98xWxGsD7G%1k+nFHp z(jD7%As>M8V_f)K2g(J}9s3g`_9v|2Qr528@a|O(D71xiNmGyWaqt?#df%3Te^z zOjl_=vmZlu?EkP2MtZD2wtCu<>o$<-t_E#6shAnV_?hv*@u=dC`l6juGwRgH2-8(M zTr8kd7(KdUzlq<9s4w$p#)Dz9&qsIcZ~5TPd`GwD{hPRF9O#byl0|SA!@cPz-SPf1 z5dEaP=~oR=rsLa42kyEBIwV7g;Ju>ju~_AqgbpXrX4&ZfJgHw;mZVs5$CbcCzv z?oQk@e2FjGh*_7x_Jsl)KU04$VER{VJg2*_@PYB;E$Ik|ewn{jnA;pQz#ZTHA2|&l Ax&QzG literal 0 HcmV?d00001 diff --git a/packages/react-native/android/src/main/jniLibs/x86/libcrashpad_handler.so b/packages/react-native/android/src/main/jniLibs/x86/libcrashpad_handler.so new file mode 100644 index 0000000000000000000000000000000000000000..32b2a0e1007e503dbb0dffa19c56220fc745029d GIT binary patch literal 2833752 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 z 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±>L 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 z zieP+Ccu{>^cD^AxAB4gOLa)UJdo6|z7+*p?`Sw8l@Qp~cictSTE2J0xFqqg4^cRNw zFF)FQQhEM7eEZNDB&#LI8kaL?ln6y$Lacp;d9ZoFAhJDu^k7uH^pyOC8q*RfAHz0Wyw&dCH~ z+k1O||NLOid+oi~UVE*z*Is+AE7o+U|M#)~&14aflyv3<@+J4R$e`6t25!yk>!SWG z=g`i8`gMW~WG>7rf{ZWOnGD3Z{a33ZDDsF@a3qRMlfi$SA_X~!!SNrXNbeCT@|nj$ zkxu_h(>`L_MTUN1lb^*H&)L{<1c5IWpxeqLfh?LqnpbmNHYFm4`e}`U;=rPZ!4Y9M zGlR*!DAWa^gop(*f>D5jORG#oYT930f6Xu+4gEFj(qB1|2^sopCOnw>Ye?#^McvU~ zi@<(DrvB;{%j7f}nh5>%NMqR4U+wWyNEz6UW9YBxGyx!m+$ab+H?g04eZ$D@17#L- zcI@2G4y*)irKu;-v>dE4RV1hkN-3OKFtL;RE0r$luvAJHV0vl)>MDGt|LRef;%j^; z6yGrpD#eC@RZz{j4mBtL%-lvtXnX)25#Oeo{vJX7Lv0OU_%7gh&Y35fW+WS z4o0MB0}J>#EG!N=%3vkN=^p$B5m^K6mLWk`po}yUMEr}iUmBugq?+^xe#!MIqSPrL zT>jGDPk>IFyD(!0)#~TwiM3WO@qqBTO|&t(XZ?801E+dw^``(jVcVB)bC*36kDU7j zo&L^ueeCMJpaS_pUTux#w6F7@9|kb7kYdxfUG*;~Kzsecsr5I`K+oVf?G+o5+G^QE zz(9*N-(2`n7|M|;GI#$2Fs%^SO(I&m+J}qKkO648(uRDoS99?=v8Qbh;u5YKgeBy; zk-3O3J&ZYryee0X5y#1cy|Et3_)be4F=Ttj~S(L2R@ zGXmN|Wt?8Tpt2~-ESYQMD*FL(j3y&6=CtZ@q^_!tT5jHlC1cuDPknS`K!l!->#Js; zNC)oLPkJxx@PT6Su5Z@&lpVHeXAgE(`-pZTU+pGSJc#iy0 zpWPwq4RK5VQksD$+iEjSA0%s|v~6GwF;}>u>v~{)@I}R06F5=KtR3H@9yE zSxHBroGFsD7{XaG?);=GT}5Cd7R0G|EUL^aUofVq2aqUT+zl5!T+1z7U{9jT;10%7 z=s0MaA5P1!%G&3mvc>Rq7+pP%RcF+zn(A8Ay)v;mj8~%@8}X-X+4rHc6We05D`A1NdPiH&~3R-k(_MiYlevx4&u~>hj<_d2 z5eyC~j4L`-;x6%wVP7$bw`igwFK|GhBGw=YXxK~E(T=^I9os)-bgU+bV4@t872*>Z zGLVUm6BL0v#&I@}u*(;xDnS4@(?tkjZ<&#U9ipxHZ;8Vof=t)x`+hBubersmNEXug z3`BD~){0addhwQQ4oT4?=7T1H*N4al9A$}8Op`QqB*CsI=lL@u`{Mk`^KplT)N0R0 zXltv}6;T?3Y*ymY)Ip4C4J6EzbqK6O8xRoV7`BrHnUa~WZ^odY9LYx>l#F#*krb7r zkZ4;_d0tkpY(X?+R-x*8j+rX`lWAgHE^G_K;0u6tQ*&$ex8=>fvhi6B`DkY_tKniC z!dVSh;82j&Fwv03Qt~z2Xc|ClSQ;oRAij=o;se-I^h0eX?!sB|C*|ED{eA0hL00@h zdAD5OCht0mir=NT|ID@D#wG7--p?TK_k_j%u9^)s&`=gU--KTemW##|?Q8Xb7dM=- zAqpJe0*GliaRcT2-qzg>h{@r7IvW=oxRE1J-m1h3(*9lGsz-=GSB83K+W-4^RL|1( zy%AZXr_CB&_H}Dy8Y1Bd*4uC|N!}0TMY=^$e{tcbh!qePC*xBLAHP;vuu-69gRIEe zYP9GPftkogV&)NnnCy*2%MGlnEenDdMp5iD2&i`+#Ueuwvk(q9tjMd5n-u6 zKq9b02z<8{2Y|&S>bE%apqJqj_QzKGgkg(r=?*-LDCIlE)h@a4U=)#5Aq* zoJa2UBz(Q~USSzvFsxiG=;h;P0sNSAJR+<&re@er4eWHwl`LC74zI!_W(z`NOKQya zvdY-CT7!1$gHg2p1b#B^|NdKd=zA604Z8d0gv|8)|1;3_y@MjqC zPc#~IEv_?_a|_DJFkcOtQ^CLg)j3|(vfSZik@Q$aJkb`@IrnVBl8o6lUv-bq6@+LX zpCFfl(W9o1G@U~CJue1nSSFdEI$xj!F;Kl61za0xjHvVBU@kWiU^}|Zk>D@c8Xu@2 zNabu}utr2GacCBF$M)xK#W?jl#wHb5+{}^VQn-Y2s5FZA?e3s$DA{xeeS@{YqL9rU zG=>VJ7>0-9OoqNc$YQoh*`dtcBs{aU&<<^Gn@?;Tm>0$?evVL-B}V5C{q(yHk6i|@ z4w6A&gmSeEfuiLeyj3g$W)ymP(xr;_JQ*)Cj8_<#GNOot5Pp3&Ud7NfqXED+QjBP1 z*YCOdyO2}BbqEb0OA7MXKAHox;l~)DK~y4x{CV%so#?qp(6dAS^hBY1V?{zBm6EzvoY`_7a-+ zJ3_x2xL_W#!=Hv2aFkiYw(F_W)2{DS2Z{`J0B;oGjbrhKAKTBha!>yh7(j8NmFPPTJasIHb{B+vqcOq9+ML%6Ip88|rG1J)g_cXT(r*7kwc@DaaR`uQjzPL?r^g_NsVyl>w!R1T=(c#= zcPB>QohaXtzs%ym*S+l|NX)(_OM&wIJwR`AF@O07SDg#BgczKC_ErexutF$@Q&5|| z6=HB=S2zaec%lh83%;sC_ux1R*XrVxfRPlx0-DVUNPT{}c*bA;p`;+cJ1Z=|??reR zCXWN2HR$XcW9mx28Whn@8t&eGewDJU)imi3QN6W^TSC4NuU!bH7pnVcJ88 z$Sq5-5rO5xPMM3!(~^l`;Op3?MSB~nAbpB(s?UMuFVc1DLqgEdt@!Z0X+zt%(bf5u51y>qvAA*?14+DcqxFraG7i@Jx$kOF96my_RKctC zd#c3)$*uuCk5RAG1;((r$e2K2^iUPg(SOZv+O*kn zE{tVF4zDcC#76m)0tV~H%pSa};z_*r8Ft(f77+lX21*Xk9E!j|*ja&>r`zHX2NvzZ zE4bUf1xJ>HU8u+wL$95P83KU(P6i|I(P;y;5i2>+bSGXigH|zCf^G9NTkxv>@e`;R z{jRf>q~^UH1#s@b%`OoIm#`FQb8p8MR3o7xG!lUvFAW8+-6p0Kz$@|98`#207>lSF zDEfFH#uBT!4Fjz($eX-~PG8u8s29mfJ~^G}FXQBWUs zEVA^)C#sD_P-H8~R8q&;ow0FV@+l)f+j4S26G~ANx^yoT7977^0}jP6-z2-KC_sj; zEegaW_}MNz;w!~)p||R7SCT$ia-?_zR{gKs_CHYn#22#uBf74C*r@+(?&Cr`g1FAu zjx*4X&iF4dndypGQGaLrqGA~(2TYt^LPDJkX2$hvfDzU^ZMY1VwtpsC5@@Azx7=o=zUX7NA z3Gx7r%+Dvu!$f(gmj|I1BxBR%)iimSEe~;VSiFD-{3T;^#bNOhafus?o2)bPJ^m#Z zFO?@Y1wXBvCu610c|SRvj72@LT%)n3sZalK50-tPPQr$OxDX@Cif0aob{Hls5nD+q zD^l^yya&zq-1dhd0VSbB=L-X=u}Q|276GY z6Bi4?YO@Eq_5a_49Nhj33{L^ccd{BQ8XhYkbB&ccXU$!w##z0{IsTpeY7mRFtxo_+ z!^;Xxp@>z607|>DWm?**HNgeX;3pP6zxXogxm)|q3)C5OMEgIz-+a!m1PA*X`^~@C zBt#AEY><^1^7p<^kiZZG*}t&gd^(EJf0qC`Iqk1*d&jxIa}pHn9Sn8^it_09JqjiP z{UY;z^8%1thW+Lo%$fI_N7VnF{pNpv#OMBz{Rnos)*r`9AAxOozMNCXsB8VCtZf z=IBFKi^X9~`-MuW6d=m#Y+;1JX1Y3rovhV!(2~UFVAkRGTTz5M-x&}e`C1JuQ*=Mx-H zUc`yh9x3|+`u>Wfodbi?GUZ$CL;2o~e5*TvCNr=Slbzf0t*&_(gJyi^e5=8KPrlWl z$hWHOj-StNN%a*1v}8Z@!$x~P)xFRUAuNY}B!%T4St-8%Cg<@AMC?nrV@b~JhQTI+ zMefy7TIU<*W1ze?&$JJU@nKV$g+MiGZ5Vt;`c<)f4pIu*e zj=#VEHskoCM_HmJVhq6Z0N0A|;*#$V0zfDEUNnmO{eDBg&qc?jm9%_bS(Udb_OJdZ zqkilvuP9S_vi$2&K97&%Iuj-Q z_J>{5Tamkb0xCxjqyORk7J~t*VG!13LXMT2_(`d-8q3dWQO87-EC(^9eLTjX*v{*l z&hhfpCN$rsU&6nECA$3^PEgD8O@f2cc??#F%%vRt7N`E|)^Dz43AXubG1fy({pQ(U z0D;tRZ2k?DR^SWtZ^)&8!!X#|63HIhKh$al(y5=zHW8+;q41?hJh{sb8l z0q@G}=Rik9Oe(mYWC&gi%QaQ_IlvtPVIBh`w_(=}mQ88beg)v+=McgHehzQ5FnpQz zbI`wdKs1B4&@l87*x9$^4R||j7jjJV3Q?%d-Hudg()fYLVhV&~wgUQoeGUW>&skr1 zJK$VI*Kv6~j0V1F_Bm?soREGhUWGCfGJCD7Wz}pn$J0KNjQbQ+LVp@RN3?&mxW)_V zH54VknCRdayMF%9@QZtAABA6d-Q}C*I{3v<^hjrZaV+}@)qU#x%>3eH7Jd|d(e#3= z{Ta(&g~oR-U&CFNe;&%`@khAM#4qk@?3!PA-Q^4XUve~laYE`8@QWjHi!ci1db*Q8 z-1R(~dvyK)|0g?tfRjZpL)N}D%SBIa{%|f!=z>4ocmL7(1N@(IkLLeG*6^S4f4UD1 z_~-ne8o&|AOOD|G1nhK+8^HewuXcNZcQA_9pTJMX{r!n&#Q<=a#K^a}P|4s*`tfC$ ze}04@$K+&OH`AYbum?S+eR54vXneNKU{q?XO_yqk90)f|J%qznXb;{xF#U-S(je0gs4S`cqr0 zZS{MQfMF)!_%p_bWj{Sm)X;Q~fn@Yy|I};*WQrfZoNFZv{vQDk$DAn9=0~i}53QQp zt+iz+B4d9(xsl^9y_mrz4B8m=A@_oIg@y7w=r^Vs*cW$?tOja{k3>g6W5xVpXkcA{ z{`&}^=~d_ZQavkVraeI$kbKI^=x=xt!IVdjMX`Q?+XG>Qgb-u`?jS1TSVpwkXQ!KM zW*F^r@~=0acJwd&Q7UssROScnYB2?)%~SVez&I-ZCqR4uX4Dr~{Ujs*$6b=ac?CA| zvXR04Hy^!xZ@0=Hnz8(2jq;!Rh9t+Y?#WD!gHVsI=0{B%I<;TQeTV#A1;`oXAMT3w zqkO9q?d_l5jrMn|{Gl1kKh`M!sk4pt-`z#~QI9U$zuwh;HfZgq@JvYLT$P0~(wC*Q?n`Q{{fsOKRQ2EY9S$w+MWYd1f6ahMcjq;xRL|P%nTl9Dj zfX1pnQx0Ki4J-b|q8z5orAtBaYV1$CfCi)TNNIZkPmH%&n=k@Y@7UWK+{k&*2D)Ph z$~QrU*as#VYW=v!!uN4M*tbpDlGqgm!we%bq8>`@^5Hxu@Zi>Ck+WPp$VQD9{>=k0 zs6}MqJDxDk;G((k198Sl2Ie%apY+8IY%Ksk4y7B6+Rql)Yj^=0O%D#oKdce=I z;ivp?`hLE0VBt$1pS=Gna0<*6C>1rz*s5fOT(_zaYg+Bqz{hqSm8!(PtoMKkKmIF+ z6Z`$~@u1`5g}aeYlh5!Pm6A%5@M&>mMQw>2i*&y>Urbyj&lp+@qQ(zYc=Yq@z7k~k z%7m}z(NUZQ*;EqeR4$6tB~@Nz1y;sXDYZ39Y(g4koX?qIU^oj5DPtxou}PxGmDUA+ z%ZkrohhwK-398%BxCE~tRF7AUN1|GyhglDi!^+2I=^x*Ch;=?qO9V1J-G-;P0S0!m z4Yw0e1oWwtO~#{Q6x#Gs!+_LD+jXPZxPl@XBqgdq$bNMvxHPbBBfkQ85j~B`U`OI$ zFX2cuQ8*Hn^BvRwtH{&h&stJ(0T3n`7`g-X<$St|M>su=2G;5EggBQt(%p%jg;P4f z6yqrUsTlUNSd|Y!Get^8u`;$)sf((O^;qhQnySdkJ4{vN!hev{u7!e;Xz{@{qM}~G zt1aql2kw*U4SKH^k$`0LaRjk0oLFvk|Wq$Nd`={>q}1m zngvhTS*YP(Gq2ust|4`4>O1^JgmpOA3<1^Bx#s>chI36$Hk@ltgmcaC4Q}U}6T}@j z*HqP}oohCyxRDo`(Bi|iSfy~TnN_b}3^9hgY3on7d}NAmpm0n38#wi)ht_1YpZ42O zjQ%sGbbISfuA7P9Uk3=&Y_ly5VX|RZ3imDExg+>V><7|N%1hbu5TwT>M&JPr2(De!dJi~slhX7BK z1PH{S4R55O--bT6_J7abe%JhDGArcN537V;fZ)){nBZbGUz$hD&-y zng)|N!I;ukz1b+;-hZz0-~08ysr==q1DUADTg$9L;;6^&DVg)(UB?R0nKd0!iC#>8 zX211ASR(cV+?1eVltQBUluzYKzWh}iLnRfAO?u~xflFTvtovLoUB9RU@%Qm2d|8ee zQ5Hn@$P+fr?4f+BmSux?A*W`VHHr15s*qBVYZ%V6m5Ku6G)Ji`Rw{~&D<-eG&|+x3 z$_IUto9Ve4=o8+OlA#>46#fa2M2*Z1mhLqh$E4t;gR7X<4u{(z7p%bh%$W<~-Ya7# z;On!kKF7=EQ`|qryl<&ET+PZc-$>uJai^Krg9L5<^G^P>>oGeGnEYvir(vvc{`)?- zkEUM0U%{WIjwf^SU~h4Po`3g|ISmGLTK1%yIn5P!z?`0}PBW*w^936MbGk^TP=kjb zcg(}X@8xBJZ)q_E_lHB^tO@$YGyfT$)ifE+HRi{z@&Bug<2CKicNso)*fR}%*z$*X z5)jC*?EZW*v}7_y9Sr(8G!sa*IW-{KlT9|3rGiXa!N7WJRbFQ0tMwt@@<*xI@3~HWbT6?`-CId>*vN)o(8Bhn3RB+T6uRRx^*WntX$U zxFqI?@Fa4t&OU&&h%C3^csmbf0?pLj`h$R>cU+rsJ;crvb&$A1?kC z0RRX8BoC^2k5YeuYkoznxaU_<-n3d{W1D3tH?#fY5fo_63}Ayd3X=YHfu`F4Q2N-- z(h`D|bF4%0N}aHrnq_?$eS_l~1u6$_gHMg>J0dO59CNZf3(C#3O3|<3D_8a z#`uZq#55*XGYJr@_zh_jlBwY7kHK?Hy%@1tNvHId`vRJfSc;`04on;P45dyJ0)TbM z9wOz=B-BOv&*cP~YWW@g=Ykl2oDt{?n}G~rox1xBJmY%F*Ycl>vicVFNd48EoeM2C z8I#Jbl-Y)mR!7lD#rcUaRkO=~gnSL<IYh{KpE|N= z#K_{A`Jj;k@b&_huV7KytBj(k?7O zgdyut$1rb_G7o8@E@5C{Gwwz3l77$PY)@*PH6)8|Qta`oGtjG(pA32!)aBCel(JF- z95gd?8S)yy664!N?{7Smf!^c0IyxY)?EZSuv>JWn74`k!aq3^r`d-iCZ0jW%{PlJr zM_)9ZB4)JZE0_}3v$3nN21B>l z+y*T2!*t=VM^5mc_18NO)u!k|)r07cjQ)D8W!L_C$9-EU8AtTjyPe4SclzsH41itx z>+QY@{rOG&xcbvMUZ46!Mt!B<21MB~=exZLL|7SZ^IglMX(k|~M?4rc{KIbc<~eo1 z%P7Ar|1hZo9t8Jgn#BVpt;(wbnP!e*VNBg`5YE%OpT2wnI?3)Iwni)60F4sO@KiH-_ z+U?9?Cpb)A#@@IrDD@r9~q;G>~nf4t=A0Wk(!Ogy2OFqGB=`H z=Sv*u2W`ebbD*-tvqfZBh(`u2da0ox71ibh6Cdoxys{3g`lBD2Lp-q=n?hMe;?*n? zDXK@E8Tvx?xLWR#CsYUuj03!h467i}2ASaPFs~>7RyHvp^ z9q|)I(QSG)rU;46n40F!6CX1v?~f21(Fgq`yQ)?%{F{IR3t%uS9>7N;0MeJTBp{-K zE`mTt6!98D>ilego{G23h=JV6Dx(DgUVfGS+J(k!*@zg3yE#?*#0SNUnE~%keH$jq z&Gy)Pmxzbdm+L>G|-!Z7D*1F%eZ>>9`qz+D@G1{Xzc`?x5{k~ zm?rK3>8lWf3~d3zYW3zEQEh3glsf@umFjn#AnvBMtZo@A)f(9_n>=>%?=OCuk$>Cf z|A63_ZyNI48oy5hLI!)Km2f!whoI?h*(?8YB`SLqd*!Gu>TAu9e*z$m`nvR4udJ>l z2MjRb|4{TM=g04LV}4vNctI@6gT-=eGrbephFKZ(A4}dP?j^JFSrx!6P84j;mzw}t z&X=bfoR^h^G%@DO#RI_fz;qYfB9x9G=F694nlJk~UoK5nl(MRj4KG4AP$22wgYr(n zLs>BbKvIu%nkh$cn`O*>y^ERhx#L7LDbHQ_eefstv0~uY+~5E592=vyVeP$YNv1aa zz_Kr0Nq}}^c&=*f9}_d;Vbl!hoXm+{$ii5V>2#M~Ct7n_gZ0 z`NrKD`ZNBTnEwq&@qS`57Nu;o?cOR+^Qj}x20t9@F5k(Y#T0;Z4e# z7%MC*3Ds$DvFNEMA^!g}AAGvOn0s`4KKRQqN0|=}n+1^n@_cX&iqZSw$2EU&&j)AT zls{;fa7F*IHCL3T4Hhw#PhVm?Sx{Ljt@Pe-+nHXmdyyPgmByyEEd!TChazjHo# zHUM@#AKWz>{W$_ZuKsk6*N0YQ)F=9F=${^)d%p=FUCsxu1BCR5?_xf9DYWtb28|2^|Tzqwy%hNg=7Q&;oBdhV}=d|Jc$K!jmFcuAM@!8F4+ z<+)$K`z^uj{b2t3jR2B*#GDC!2Uix?ch3YpkQaJCbcH_Ua(jQc`Trfx;VJYbFH%Y) zIt_LKQ&bk9Yas)Qc(97IN%!7If**IoH{oLEiUFFS8I)cad)!pv6A&n`ndI_ZzD z_ISU3d9zR+%k6)&4V|`fhp}8YJzM(m3M>S7){nV-U!)d82jT2e|NIBp9!(uhg!(kK zo=3bf+n0=z-Fd+45ULeMai8HpWMB06nOn&8`zy_g*z|q3zTVTQk2T+=J-!bu*s&tB zI+IZyH6XVUV-)SlV#I?Z8ea|KSjOSUr{#aKy7q zI}krxVKva2&pY9r-U*%>Eij13bf|EEya6B`^93hAdvlqie*Q?3{edXz(9C$C+0x3M z1y@*f2Et$fY`M*|_Qe<)F4wD_^*hg9 zKSa9C@O`4I@4wJ8@@sQd;G6u;Y0q`y`zd_ix&Pk#zHOwWyYH(}R`;d%lR4XSy@bcr zWXm5#sr0Lr$OaKV4XZsCrh-mP8S!Eb{)2@LpEV_1Y!z$uhedy1EOpl(-f3VsCuO3U z6Qz1-@wi|^dY*hL3dyv7vQiX)4yXI$_3C+~Y0M7%>Nvl84$V1L<2q{XJ~q&o)6Oct zE6%MDwfnYj4@%F2+B(bb+eZbN}i ze)FjtxtK<@^vn|B@j@iM@4@JAPZ)+$DY|0()Tm38WG7yOzo z;dh6g)T6@Rv!ql1K1ewS<9iVOiTJ(3P%`iaNW_>|-VtVY5AIl0W$WB*6lwD>>$Kn6 zkjK`1bf&8U@V%lL5Mctr;27DTR%%$Gg(85XAZ?pf+O$%0Lg9f!5_f|5>Z+Kx<}2I* zki`BD#M!}l7M>&!q0du?cl=dTvk)KO_R0#Jt5~k47K&L{1R2+xe#3j?VaA`N{LSelQr_Ql&(#?$*=)b$<5LPYZbA;T4KQwUzN7Y-uhsn=w05ydjyrvtrnVJxS zq3vzho_d%3Uf_G-M=dCon54^vrx|^Ih3Q|{6xo2=NaJ;xS80l@!MU6wa~ap_6L}}V>kA=WH2F#uLap769zjKbhG8^#tMBlY6(jIlHFX}X^~27jaW_<} zKQ~-hdCdejG~XBQ9Wlz!@;!k?bLjYfMF?}(!Jd~u9~LX_J~C=_Vg!6q4ZnSKW31zH_2173E( zwEskU+06#oAqH{?Nhb84jS@=`K=fHIM1$-jRrSjOj|nfD8z?NrY=IO08MytAn%qOK)& zdX$xtP$V4ClCb~H@hSt*(o_f;RY*rDk#q#e-oh4OQK`sLv2^0aIN_kE4ztk*UqFAs znRz3Mn$$@Yfh*acA{ZbU^$yb>Rqki~&i-jUE*NXhoN6}C(*0ll<(OSU$A zK_lc=^|GKkE`&Eia@gYe1xkfizVaEVyCMvt^QfqsHzEcr{L902NFIaCKYkUlw^S^* zumL5>_(1nL;)yryhZbm!a5_L{9N{6?2&b!^Il>j38zUTDivhm;8V+z{bo((T zU@(xw8Dl7W4stz6w8ff7`@I7QSXK%!IEH+>>qi3Z)AOG}-VK{GY?uq)Go2zAh_q;43Kc z6;i5@@1Y8?^w~O3#=55lt293Z~>zF)$~lLG(Z7r&4PW z=6PI&QDjO{suRFzc}Af19;LVqhW9^541?|32Gl8xQ^;L|A_3+053)%xc#XUh0Mo2#GNL+fortsw||!+ zKP~U=o|~&K=mKAZP+N&?RLa1**pI;ZyRlj@g&$k?8>c@0<~&Dhzs~$0P_6lQ2}~%c08nYXP;MNnjN@qI zSi^Au`qA$=4|pYQLNP)m!mPwU66kof_h0sO7%c=qALXI`I-bzy^cZ!V$U<*oV8q=B zxUCkZ9AChx)T94`UtrrtU-Q*n3kkfh6FA3-J`1nH(#D~wAN)3mx(yYIpmJgbaYHer z6^4$1NMaG^qP=jwD3{x>Mzi|!CJKu&#j}OiTMi%ZVYl&l|Co4!=k-&CJK=}U#Moo`O6IuSyOZ9@X&!w??N6wh6huR!3GEo zT0lZ1fgC#2ErM?r&*1v78e$y6lB!UlF+gQ;wpGf_=K`1Z^}K~2+3C4}^+j)4F4VHQ z$&u1X#~$@0M+*KJSl3&dm$jPv>Bsmmp-XwO9r6J1J+7)+Kla8RR92B#?T0`+6<94H z+qz!1HOEYNd7RnSlTQ-5N1gr)bT_^Ytm`j#>(`tK!CUfC-2FCBytCd<*dLBb!UPRBSL6 z)1(dzt@jD62tz3ftdqC`Mh2)&k;hQvn3CO%K@shEyN>g~Vs4)x8@AzNEE>RR5b$vh zb+Mku8+~u!1M#d85l-NvQ}hBN0~MGqUH~#S5g7p><7)GhrNRRXc%<-*_l3^MdZl`7 zZx{9teb6rn8=t<$Pb2trsQ8pA0S`RPX9h+`pCT{{MHhu)MvUfDdqqCFYei2ZEgX@Y zg)$^!Qho3W6-*3e))Pcr`J(exBX{1jcu7ArLCkI}vZdN-BimyO(OE*U*zECwpIh2b z!)$a_TAp*Jf{|N;joSv$a+~@4xq=MvGVu2>fx<`8Js!w?u)DNUBtY+n@qh&AOEJO9 zdaGj>I=6l|Mv7ivC)y-}8CL1HAkjFw5v-R+kv>`l1H0F6!HZLY#`{nqJVgVPVs(}` zSrNH}@o5(q;W>AaEiM)(`Rd|QaZ;czj*62ab@6C%Qmihn5+|kF7`fH8B8pDNU<_X) zrqzMv7DxwxT6YV9~YAHkvp4j-Is!(k0xBn~Hh!;QoK*mSN{j&U}Z7=QmP8^&X#TJ&8MflaVq9-fTRFx(g`DtQJE&jA%to&|YUj581ZSJKgO zEVB)O#w+ucu{COC0X8YBl|{&c)yk+cwq9Mb0Y&#B!75{?X=A6G z$OM_6AS;s;sAhL21?uG))3M64+16Q;b+*7dTWXyxG0t2FI|eOmk3$?1VQXRh(HCB6 zN7xDkcNPenZb#TsyhwySm2X3s80LLEQIkYDGC-o$@*QAjG4B93%_JmVbFA>1-Oua& z#x+TU*B)^kAjn!>?86m!hbHJ*Tjs~5InY3R9}YK0LJ)NW&Er>H>=)<7_)RuHhF|_6 z9j|rvpmny|I=jz0d%!wdX`S6;oe>8T-g4`#$vRtNoz1n*7FcI->uk1lHqAPlZk#W8)n_!)dw$7@ovvTXK(mE@(&Z5Sdi$p%a?e=PnU$EbL560Hipg!># zA^Qwja1)}m2qN(rL{h+x*#@d2kt{z`^h~m165?x6ra>f(!Qh%S1ee;vdw@js4r*;m z-Q>XfJC@^Yic(jPQzk~h=}kCYDNm=XcPtTa#z7wo??I(F)@JkK0eR890MB{7+PLQX zyk28m6F#pgsz`h+pV!-r>j&g@7N4z_=Vct^Le${JGLC&AV|c*<-`rxn1~xE22o^pe z7Z5Uq7rDH6%Xlr!i(SS=loxVf1k1o%1~ki25iG0Xg&Y#WvI)G9;~`i!i5DCW1YOUI zpm8ys7v!>h0<;WhCJV*I!Udwd0nNF%UYH~UH3tt=na6WQ7r8qAW4x65HW-7JXw0F_ zbsv>GxJgd!G4%#2_QQ@fl)GQz@zj$6XzeTl@^zdKeG8$%pl{XbyF#6{*Fe)90Iv69 zxnMj9W9HF)W9^LRL})sKrrt7WDj%~Ms$TUJC8VojS!tV&(cj}kROVc?R5lJpFkySP z{`)gT`+x_*MTi%Q6JDD5%8`l(xysk2?CmPpL z<9f7lJ;Au1Y+O$=uBYMX?CnKAfZh*Wrl%Bcd!|!Aee?Tn{nW7F`6rVU~hw z*+*ULc})apUr*)ad@?p4@c7sjHq)3ty$rtjbimEHUV5IWpO~sz{sM{Ch=^ZN|1!{h zgyqtk2zBi+(ve#~x9l}9>Kf4g1kB!m;c}uJ*13fKKg=zbo5&-?|=V|A6Y# z?R_KCReMKuRi7YRA>*U}m|t7qm?O0JYC=6qdw+XF7wsi%qrHO( z$D%)1|26?Yr}j?9mIN{WFU#EC&8K$N-t!2qtM*Pf%J?VLqqO(U`Yzf_*hYJY5l&a_ zT?qi4+8h6?Z11y`ncMqDxU2S#BDk*FyWq&}okyrgY46{^*F}2?+i36kgws`f9|V9- z?S11H^cVGCPrnLxBAzJuud$CIX@>GEmp7~AVYECezQFzJH1xpYHlx+5P%FH&B*%ea8CCA1F}1~Q5TGjHZVhe4n+{Em)9q4$g_#ZL?o0P$9? zu$S|#uy_k9w2{eg%xJz<4oi6vO47HL(^5|B*!gE-D#7T1a4Rvb<^zdrAo(C-dSPv8 z2vi((_GD%HK2A36i5IQAbc2v<6!*v6G zeE>LC#R7IZ591evfM@?0Bnm%~g-@?nW+Mh0R(w&b2={CiMN<9v*73#$t{3o?ih77u zF1+;DJlTX_;=a`%mA3wPJ||OuxcF;ivXgv;zxL*ziTyg4sIkfLo(O1TYRpxNsgSJd zn0k>t@U%qRMA1wv>W;(x?(X3k#(G)&z^QNCbzK+ygner8llM=ue{axNfk|Ii0)oSs zi4~+I$G0b02AzTj9}nuh$%{G=BP%<8CVG}n^!rBw!|;RHgfK%{8a$lK@Xx1SUBBp$ z4Wag3c%|?)tTggE(6k+wdD}owIowe+JbX*th>gu;LTw~ObsxzBU8CudR1 zyfaV+BOh=fh^2^65gt(19!DrD9n!sQ^!A%mA-E1 zOO)=v`rAl*cpB=MF~9lBNzVFVZi_v>FWzfRd!s@oCfbB4p$-C?=DYE$THN$G)yGLFHSsQ1g7JsSa)3h6PtLll~{=qZT^hz{hn*T>uO(j z%L}7C^2QC9*yz?)?zZC{>yz71Ws@aDS*ATiUQ=WX9-C3}!c4JjM#(!L94%r-$vZ-P zyhvB^@d_vrWav(gKt$j}luaWH9zx}n8mHMx-Dr`p7;S>Y!xvHS@ZPQad%~x1Gb)G0 z@)jHd_@CGxoN<$u_${m{9PgTZf>SR}`7VZn{=_LF;3~NeR$t0aHr`FVBfm1!S|>4Y z9EDF~PpqsO5G$(C-)9uQB>lk5Uv)5~t#>QrZ27Ab%1X90e4N}8+EPe=_h0XZJn0Q%;&7DDM!bTfapS`K5V~Gu&5SGd#|}ej-JG#;*R(~&iXE5X}BINnw z0KAhv>V$tf;7dBeATkI>`1@c1#Kgxe!m;!fH$L9I%1$gCpNY6&((1g*q@16a8l`qV z=o%W`7Z+0hFHg$&XXevDSU%k;o<^}r8ddO^PoIEF#&4g-Q?kKpw%gdRT?^kb@QD1k z$W>jT??oWl33MWW8%S{2m*RkF+DqK}*1O+g`_sYba!oyXYzb;A^yG)`hvFbpqMIr* z<(H`<&qC8wJb+?bi$R`KvO6B7W1%*C&)(>stcGlp{VXpztn81UXxxu~szwiy^*xM& z_@v=|e4Py~$%jBYy8&G!Jzv6V0C8167doxb^ruIa+0nudQK$0pPd;#hO((hE)(q+;*B6<64iIMD) z7%oRG03*crH-L!2r~+sTg2GO(R4OY?JU)&p@|8h+9gPE*9*EE3i+3*Y$0uK2kZn=) zUwA@f@mYTMa=@3*yG@RuC)yuoh=vz>1KVkxW% zK%j(n#7o6`HrTC^X|lq{EA{3m`eA~}gSVf@xr`qnNc%8gY90Rhki&dVIpX_9)j5@% zgKWgK2)mJxek-vD5R?lOn;2R(-5G(VRd}WSdHitZV|*WP0m+lh!w~k{TMzWm%FNiS zx8uzhz)UWYY0aSrWV@oRUX3@*dCxUCPtSXlSM(fITKF7`NUIUh5Xf(tRFw_3UH?GVu9w#F%jFx!Nu;&RaFByvfS1{xi$OG&# zyegIlvR_=4@?f>ortH7l4@1Tlk2&#CQ0Kd_FI~wB*y80t9*cqz-KGG;z8`{8D_{gS zpNsJ^HUcN>tJKC^Fvl2~L27^{Yj^@3KXX3!&*A1oW;>iv_?^t>9+COng=QPXBfhfX zr7i^Z5VRq~enPi?kr>yl_Wa_Uf2BP`jrM$-P%^hCibrgZzC|{@0M}O6*cFh9V=T69 z?Wan7Wbv~ntI-}iGZQ+rZP@riqIpL;?ZB8#B8*q|hX$_z>}s7w%)MP=nA8AH!9R5g$#m{MAfLuT~>ZW8mNo`wO5 zdF7sleu;UNo_K+%6XXQlmKpPmAVDmrniIt$$rtMSQ|}GaVu-SDja+#)`2Y;!GvrOiP?d`V~Axsbg|SjL8q& z>O*tePsI;SVd~Wdd4Cl<#%|dDt4AMwRM`%86c$XecKrB3fy6iDi;=vyVD!47h3{+} zk0%#B^5~<-G!8&w<1K-at&3W)iLB`pU_tOyxo-?XcQEdR+337)2r3I}{>zYcSqUxC za+c6irG>_6q2VS=QspaCb>RY&hQB{sWDUa@~W#i8<&}y;N2xTYnuV2ETI7KOP!`-b?#)GGA6? zL}hN~d|ChK4JblUaIZ%={hO-@)S?IJv#Q2&hsPr5HOd=xOwsT$1(4h~yd=7Lsc_6M z*%BWORZ>f|b6zW*YB{~7Psh0aVipPpnn%wM^)bG(;;d7!X|a9_TFiZPH+{;Q+5sRRG(V@K$%6qxVCg5Kf9addw)H z)%B$p#{<@D;i!_V8TMgg}#{N8hYHAG$42X*!kaR(c{?im7YK6 zO1ev$n{fpFtCvUA8M$CFIVGP4ni!o_*_r@>9im)UFD!XwW>~oxdt$hQa$gCCPhipO zKva9m#MbiVz#eTe*=jIvhq4b?*D6d+?N3B5MhLoNt8*);5h8VKVB|J#1N|{xG}Rj# zs__wWu~O;rU?}M~3>RZL)cyFvbzaPijuc;b2SH*<1QlnqU}4?lML-8=pJ;R-aRzm_ z9{6GO|CD0(1vm5t(iUrd5{l8E>Dd+kjOuIw^o60{M1R=yg<`Fdu?X1(`qDEYU|@FA zGUUruk+5ohQOV&z(}#F9Zy%~#K-`pU#iR!t-e&s~E!?7--@X;k!IGGzDTHhV_-#Gd zQyVFI0ts%J9UeC$G9@l|<1$l0xRJ(tyeYHevM1UANAv_fdIRV9C`a?Yi8Ij?f6bFz z6=iZ4W`y`tiZ&@bl)1nk-wo~1=C=8e<2K}(7se~xBw}sf+o3<-!|IqgJ~b0zqFv@z zv{K-M{IVPQa0lR31c&M}AFkk&;FsB~e*0*0%l;@|e}t9T+j;zi&HkEsnSDgEtpl(F zI&Y_gy8jLN;g{#4t@e0N8?>S|K+1n4KYRjdm^goahLr+V)A`{a!5vE!*<&{Cg%Bzw zTI;f?|9edR-!*@ZR05rrtiYt5#jH(IUw=dD>t4Ayw%`m$B1%J1FJ<>xO1zZhdz}g|kA?-(^J*E>P(2v10O_Cr}-AUM?m?m#ee#OAaHC#(uOT zRcI-TI4RkOz$~#t>6pv_kTUJYslVZUh(!e|1prPWz)mU8FUMVCuIkY5HY8l0#8nw1KZxbi@2lBSh8jkfo&h*&j--jBv zCQIY2SYOgLi2#yj!i!o7Ct!v0j~Bb(G{uI7J=B(Hkc^t{}H z9@x~;5i2=t*GB-?rg)t4720|f`}Cr6qT8;2jl=XyqIJ)%*kWY{72&LfDLb^ZLH#r<>=N7Lz67#&g1DK#7r4I`pJeneDY_Wwwuw*d;_yzPpQRR? zM6#Q+2&x~pOXBnB)9}IX+ZJN?oyWAv-Xcd`X+mXCs+Z2?rHT=syac-gcE zs5npC0_KSQ&L0i5dtj+AuEA|*{U+xQ5lKc`a zz=D-I@7xTq7IVsO7-$9D;c~}Ig&nEe_3fX7>ZbveVIZ^ilQ``;=Z(nRKUO>p1#lew z5DBp$e=9*+{z|O3$n>SoATI6|giy z@JplMEcNDyR+bAqhe~!g9NRt*eN)0Yep`H&IxhzkrL&Epj$PSes4rWHT33jnp1>)M z`~9Af$171$?8XEBbL;{@*`oGE8j}5~hvi)^9u~xZl4$c8*ZmoZ%%|P#YuJ;zmHe+& zn;t<#)nu74z(ZX4$XWKBKsoM1S4UZ4v3x!q78h1w$r>BCv8&6UeEMak^%7VA)RbiC zpS4&GV?WJBxtY+u5}>>CZ|F&Yj`fNXT8CkwDLD{mQXzN@v;x;i&0u6oM!#Tf2l$6= zI?!}I->RTBh-()s(KC8sHb#nAyQtV8)-F2b(=)iR-e@dsfOkn2y~DaQNvq4zVl^lx zCw_5Y-Pj;vAkdT)AFS48t7Ai{LH6Fmd<9mZk=xr*dFeGueve?wxE)b;_gX@V*%Utu zfN~g=Vt`r~QOAZ;ehY}}+l%lmEh1R{VB5^)4_XXW+=g|BmRk?RT0X`!8fY|N(0ohA z9D`H#%$>iM$G49MWsD`^F-Vz7Z|zT_196Q!Iwi${riXBqNP_0nfTXuMpttthao6fx z`y$G^PfV_mX+3J_1)_iLDtNA1m}slfD&X(Qbn=l}4l3-uz5-4`34}RAuO^bYSYG*_ zIz0!iD+R+#OHrXqoHI`trO}7ta;UgO0I^3O=Y5=fIvD-GA2L1Bl0$cRBYLu8C_;$z zmD^Bb3U}(f#m3qMRAbDdf%0rrEv&705CItw?T$Md8P%nI~3oW1^PG~cukqwdEd?*k>NVX?n213brkdBVb$o`8t{r*P`V zoOwnhu_>2Bu;jBq(|0iJ3;$RM*OHu)zs^L;O(l>(bVg)^twq|{z@mSkChhz2V-7G3 z%xu+@my|&p(Y;now>&Di80L8|DsMx<1pgwB3AuZ=t9I_#)!;1Gdt^77h>X3-@-!{sM`=V1Tzjji166=(?8z1!m9E z_J3U3_AknwBr6%z*QXrxZuGA;{~mfSD8@PeE->fcO9ui?2Z4~xD**G^*(C=9P24{V zXDk@pQ-jUE1jCdyFLkX1y1y2O`^X0Pp6AHH5Hz4S_2-<{HAs zBnYfA*wzq!IshGpTkKa9!O*TjEwqhq337=j-p`WdpNYC_@y~pC9>zWd>5?PqL~r~M z)PZ1t0!B@Q%C%(wXuPS=eJ;y^i~_3a-f04cXnkhi!&V%mE`-A#V02%Xs zTb$QojQZ>MT>V|T-G38x(;sd(xrj|3So8bi3dyk2{*0Wnm4HCtz(`F68cG{#%V06a z<$7H1jUmffKNaC&AW{dT3Y2O6akK=I-L`rf8a2p|rNP4-tMPM z9g8-n6$C97j6!Bsb9X)F)4G@<13aqJurjp})PkUv2m$*eUpyXISBAQw&c1jr_2y8@ ztF&$ZxMYX2JuvbW0Ivk_zW4w^O|w&^Gar`I1aO88&e6;4z~d(pGziW&J4XpvIM0sf zq=uDzW5LT(d5`27aIei^zWfth&$ zFxRK>rFJi_Mf{7YVf~8!GIT+kItpw(853(=$(T@zlCcnmpJ%Tpt6>o0=(Yw`E}O%Le{^iLF^mZBQ8_*8I|awDo-qR>}Wmc0hzmh>5j1+zmPMvcsWHxqznsER}xw zy_GDr4;^ixjZ}5q>_zO)i!KuD{v8#*C$cCN3YJuQ(=0l>;g~dw)=x#j`m^|P&)3}Y zH*uCBe_;zt3wAE2PM1R>egZmvFhDz%hh=@y~LR8$;X-bcD@wtITx1euKRv@+D zkr*j{k80mMd&_^9zcr^3M}~nhOEd^mM*Ylf8f>$xQ$ZE)sf`FA?2+o3JZ+FsaXb!2r*=H ze?S*zBm?Gv*~g`-(!g+rAkvp;BfUT&+AUhW=oo-k&atDhi6S^vsGMUDu9+KX`Y+zb zUPeE(0U*-x$znVcQu)mH(BqE%NN#z&VmQW|ZGKw}r8XauK)Q7qAt2GxT-aT)Kd&6B z7MzV9$98fQ4IU|w0Occf7W!|j_37+s5@YKMiAdMC^bSv~5q&yzJwZ<)7ZI4<)mIF8SQ!m3Cc~QqSz!>Ip5p~mcZ^z|@tT2C zU`v*YS_1K7JAhkE+d}HauoaAl)F$7^Ne!`8Q0)WPt^*2GTUvq03o(Ts8&oSosDd9_ z=#CRM&3L=y4=3!N`9p22SFP{@as8FgQg28g%095V5{51ZJ)rVrG*IuTDxNB#*#ES;}+%p zB6YYU8KVy7!E-VB=EQ)L2Ng1hbdyuk+ECnnrLB)(60u|L3Pir`i1|cutzL9`4nYT+ z7z~EU0jH$7qodkRPY@Ie{CO6ltmSHTh}2XvCwRi!fjc(^E^Q60drkG<0iOOI9w4`q z@;2xQ_!t3vY(J?oH1kf*1%)^Wr-Ev4^v6Es?LgB50EazfV}b~02hG{9ypEpOg(~?^ zcuRSEX0A35c_+{t4R5Dx7M(OKmWJfSZznE6?+nM7H+qK+!qAB53;PK2ilqAo)e3j& zBRIbFf%c^Kmwog*c1?e^Px~gG>=V#`&rW#&NEZ}{(VYt%>8GLrmT6DwDog44 zs=+TTeeJq4z%N|-TJF*GHL7PnK#Qyr?dsWLl-Q+xdCxEwmtL-b{d}@v_nXXie9I3R z1Fu7zo_!PAjDpr-dx=$$&DeJe%jvZK>zY3|9i_bXepY$Ue_xgtLwPKBS#MhdZRI}v zmm{<<)sU=EJZri-P;8V{;)uW~+_)@Rpx!kUfwF z%!X2Z1%rpb{H2+4%LW+zJ z9u%SP%R;k-<@nhD5~g844XXmB&t7BNiVH9>iKEM53)Es0V5`gxtP`Pi`yszL^obNr z_F7$*(;9qZ(V>pO`U?LPC6+rS89Ng~Wp^*idTlKGIatyP(=r5p9Wyvc%Mc2A2s$WO zKp1M9T9!YetYGF~C~RST=1~f$l9lDBgcCoQeV77NrNqUD`EbC2y>z3iJw_sHXFprieDbePpqcH8g9Ke*}LxgK=-sq8H?laWII>)a8Q z`I#-A-zPA)|Fw&r-Uw%+Cxmjr`r{C~CymJ;J|-6{+X@nnrFG;Z?JV2-mRW3PetA8M zv$SRCHf1jVAS>VPBAeawK|*xWZ+iR_qMd%T)#Hn;y6;beXs3=Htz9T+hB?jRDwmTYVIprn;w z#ZPp;zFhS$R{YJ;l5I1-u&6KF6@nWYlwUu0CuX~^;HR^^?==58#onU`gQL#LA3i6S z?yZek7$mu9Btzjl=0n1V1U5i+jOL}`*TeDk@>j=m`a(quK5Dyx>H;nF6@?#66j(qp zG;675V>Ke_OKjTT!1W~e{DzeoYYXF zM!6ta;e`SO*AVV$%g1zu*=3Y{fu;}mDV9|t098iC zmb75P(hX)bPi*5MYf_NRXD8~Ft^fC%n2d9ZbC7SKGQyHc9GU{?ET9)}un9Ts1HrR| zNBZ3uJusGH-wM8vHc7GV{E;O9ss96YbNeWzZIwSq`TD^(Kr=^_*VpAZ z>4pB#$P2Th^>7cvHjJf!bJzlsoT`gXD1|8u|K-^?jx&y)gkm5JyZ0dSE)>#T6RBEBJ?awYo4=HKw}T zk48aL!z(_#f~H~xQ;GSFSws-W-gq`ph5Jh^gsTv)vhn7L0$47tBA9$vAe!HRSPq^S z)d0XOkRuz3N_d4B@#b5@1>Q+a>6asOHiiFV7-wBL8;hXy{S{tSPC*F$2x z0tm&DL<8`UrWPm@t$M$GZw1!3V2}i%EwmK=5p?bgtojSr1!kP*(l0l{FztE$oxa=APp1yR%>EDS?%nPOFLZ39LIP;N~5~)XmraEy&9BT*fv97s~JXFPm7i&6lOY zFRs?TB)yB*lM4619EdqL%4dY`_ ze)ZXST%3$vXgt1HKITw~M)4Sfr>Zg;z1(;_26bIuJrXw&C_Y$rAz!OXMz1m+UoF2b z=j};&aWr16Pe!L2k8hHX$MErVJg&v#*~#cF#$z}b5-1=KSg-*1@W!Mm%5sjf;ehQRNx>nEHD&~HfMxgSguD|58 z2Rr%m_yI2dtoklX9O&72v$|AW&D1r2==d9~`)V{?_?k(v{z$w&HBHLd- zy3j-I`3|n^+CDiiRU#fPK>gJ_n(%9Tn4QX@i%tjqF|3hc^PL)sMnJ9aJfFWSn7RHp zqW&A~_0MtC^xD)EQU4;x-O;HkQN{hDiiez4{6^|rJ}fI%t4qH|&2QLpMEUq;z+Hb2 z(+4$L`#^z&lOkDCLo#|8vM}u*-S^1w8{F`xP^WH-_Q06p?9>!~Hu<_f>5#92UMy?J z=}vf+8euVffR~Ab6H#*@LOZcUPU&TiiK055tEP%?qf;iYE;gu074)hK|CEku zI-3O6Ez1Yd{y*y81wP8+dic-65*Ao}mbz-tR99U!sZ7ZVc zQchC-f^-9@tSZ$;vi&R=uleW`pRtv9xSR8-mQR_tbLi{w&#>1JI?UCmisGzIO*FO) zGAwp(XUJE>Y-O8MgLR+y0agnAYEr`9)753m+Isv58#VKzC0hI4&db)V#5*vPLa+5f?pp!66woL zWBT17Mdu1go;OfQ`byfGoe}x^_mLrR&jFG6L%KnhtY3&-figmNLVrAAUb@z0qL7n-y zYG6YD?H&)28%K;D*LosFDj>3eb%@-Ej?+yOCE0WcB*ibKOXYc38bUV-p`mYu^q}fV z8arI*n^QW`ofiKUE`7Zx-FtTJhQ99kQfnZWUlaLig&<3H<3m1%mA0w~+qs~1+^?l2 zX3R!Y;-?=ilcvWH)j+Gr{N4LXxgg`GWGD$dOZVW3)ES({avErDz2G8N)%bbepVm`! z!FMm4P4mQ%LX6L&(oE%xB@tsV4hG$!gv~UFqy0;l&5E8T!t5ABBqvD5mO^V&~Y@t?JDoF(uI%H zRfYYJy;$s?00VrD^i6*bJpAII+iyPn2_qt4#QaJ;B+~ks82`Io$J)9SzjzvBqqfa( zHskm2@VBPNI43mhli6?fZ!`J1*Y7{H632wFvw7BN+rm$W$B8*5?rs!xPg?fYIXg1H zdB{a_X;Hx*uy?n)hV+d z4mcwOs~2Qpn>9BIZMAmst7G@gy2J+*N+s2TYV<#l1$AXq*b^)2JPB=D_Dg$3y^?P; zhq9us!qHoj=vOPFo#cy|+XmtI4bP#wfO4updFvN8lyd}1DNtr9C@guuzPr!5EM22@ zTn@dRb=e|KPi>4EG{r0`L?K3^V$IR~^E}w#O6$LL)kC(|WB?#O~6)+1i z;524c8}mkTkr?y5Wt8eY&RjHHWi*y5vRAI_+Ie8*#z9@&^Pw0Hj<}}$Qa-gX0fykM zLaNov^9eo%4|HCFci=@$HT#mg6zOPmC!iS;G6Gx7F$!Ft(nO)tXXOACY!#);8&{MuKR!g~oYW)LB z`d4br`?IzRmWz%&qOBSiJ*a(syc~5;^x*av;zyIZiiG=l|80hAW$;9ftDKAp^g`pJ z!xmG@E|GXnUiMo|af5!LrYIqi|B%M~saNs*2>Kn^eqmNx@^FFuyt_Z^@OijtXw6C* zY;jXFG?rLc#vV#eVU14|+gkT^5A6=#vAcvs*=v#q@C$1k{cbM2F%Eth zu5yKQ;mpRP0ly=RF7?1n>g! z9d6kLJPGqMR@7X(g12#XL3m?;XHkn4I7>F+L`cx~khw+5I{Sg#_6^uwdG6*SR}(O0_Y2B(vwg+TYt1uUk9vukUZ=qE+s(4$FT?uD^+V9+R75 zLm1)adjb*)P5zJkz0IN;^O*sDE0$6o)8^2kM5A&C{s?1F*iR@$bR(ne0WA}%v0Q1 zByOj0LH+CA`Q^VhKCy!MJoV|n+rFZL@Dl$vycPF*=;f}jhvvd#AvG4t^5AT<9ol(U z*y%vZ+DGT>6JOj(i#__2|6Bg~wrpaQdhJpEU;5|k|4mj_bT0e90#c#|`m4Nc%=FfiXOk|Hdnum}7EAY93cIVuFEpe*lI;^U8 zAPF)zdjIULJ{!DtU%|pMlX1_7(RZ`)cJvVo{|Qa72_J(kD4Q@#j=ec5p}h5prFuhz zU`euzRb665N3vhnS&2m{T=ZGF{upw8;(9LCvsfFzz^pXAe56@FzQKdzEagDa34yZDHe^Q!) zRD1N7z+{IV1<|bD58bZ(CU?x-=RQS}x$ONJ`|E1L~xU< z165^Au801~ghz*zeTdZJwiWb%0*Y6sB)iz|;ND!+%yW6j)E-FPoj zklaKjbGLs_)ow}rNk9twzudQm38`VPBxpbPMYeQJQyL8=lpGDV46pyJqpuV_W< zd+~+Sc=(T+I&Dr*k)(Ck9-ydWL6)&FTeelsuk{X297R?JuC$drLL9B*CqPRz_7<&Qyi}#6+Wqn&eGBQJkV>lAW$be>^QYg; zV`5D*x}`;zUM~nUwSM#RR_iS6^X>N3I_6f@mdZ{B%r>hRd|Jl{)(KH`Ht{62lL|;Z zn_o7YeAFo@iH+kKWeSIhUx;gu5+OKq} zq{es(q}a@Fx0q{N1Tj(Op$?Keb8YwZe z-hmrGkMXmKH1Lv7HC=PY8<5ENbotuR%Wv-$XeerJ+{HGZ<{?0^j4k*-pA$u9zyw#o?``)Bbl8O`wsnw|_zK=EM zWf*Y*{fj@soj-;Se3yagOB{gn-B3~DN-jE~xGYs;yyLhpIGj}G8UFO&+}a}QT) zxLL>?Wp%lVKQ_#bKPKqS`rJGW#Ap=$q%BqlkI+{trb~vHInerS0F-tMjeJ@==kgrP z3qOpKK!mI}pM^GC0K;_XKuGNEX_yR&in<%7WO+;b9d0oh{N{ZWqDU^cY5xJ4%r3IF zeJVEmbIwr2+1kC8kSa@r4!)U(K^z?U%-3!5e6t6RSIqbt{E75xpe1H*RzXDx^$?YB zdtmAL_mAx!KlDaLy8C-+>Ef0tw5&vLn7l%mwoS$k@ez=I;ZqRV1R{O(-EAKV9fV!6 zXiGCurT#eMs_LwzM&|aTQJE_(P3FdX)C{62_?xM0F+aLpezT$?U6hy);7S=nc+CK0 z8BAR6a$TG2cN~OF#YltmFOawvS1z_G@K-*}+?VA)pjyc_C8}yRm)OY>A!nuF z#xe8YW%lTCHpolWx*Na2Y@|ei_6qNETDsx`MD~=QR$h1P>l4GoyN8)R&=`?F4 zun*3xFXdfs%#P&FesfPy9cwLT{}7Q8_X3EDDOxUr|L51)ZF8ovIoxVOb9yezk{CJ- zAg)5Df2z@kodHY`9e+S%V3Pfre(GvqG&Qz8u@xXzxtjvSOJSA%W{g-NxA*vVGPfWa>+3yH)CBN*A4}}qh ze2^%@R0t;y%?#x!Vq$26sjb>#e<-cZh)aktKI2qMt<)QFsT8xQq+3T+vM9>w4l~RW zIkk?H!FQvHxC;W72;X8F>aa0n(-RgPrA!~Gn$1ATT`(ObbTpNgf2>_ATt|{LA;Q>5 z@>67OH6^iCNq#y+OUm@oHxzA961U(%$_do17cBu8Q+aF@$ zK-HXW)IgCwM$yHxk5VIU+$6S^$yk!m}2KlP_q34)t`p384?&o9QjC#=SM zzqPh>;k^02H86mp0G{obt zto=WK+q3q|oMyjrpM2vVuXkB*@+zx={F60_m7itq@L7VCYy;#QGR$$8S{qS`*Ul1t z-Q{W$EgTswN|Ymk2{5*4;+)ZC6H=wtaT!Sto6tu_WlJiV^^F_T)|ON%pdK;hgKzt_ zx-GCS!4o%sbvqZ%Kanlz0kS2<#xikSYE*Ag=VIGDb7@dOWsU(QXUnk7+JVkgJ5bqE zE9DJaSN1jnl%ay7F<-ASGTQA^J1vEc+G*KXXk)Ba3wM^Ck-|krBGe%XVqE+y)p}O! zvNa}~$L&+2fs5Hk%e!x*K2V?NcWKi8p)kOPz9?QU;>5&j1d?}q{JQeNhB--CNg5*7 zTf}X@-DXu5XEyz7bLCV;?)DpneGU8ZZuvvUn>qZ3`}wtX1^B~@KXUm)9{-c_?rDVF z*NYlW-uM~LiO`KeC~zJY6VM0#09k z>B39w3SQ+d;5~F(A$YF+!lA&kW&upxo(`PS4_PDp(>~sw1BmQ-PcD7m{cFMUS$qDP z{QC3s%Xa`kcv)5)7Q@X`8o6_hy7!cE@(dfN#CRr3Qm2G48OQEqG}0A@e5aHcqr;j0 z&YIb5-m3&$XG4TomsK;b_@RgYc;bZ~A_#oF^#gr7>xYU(w%he1V6Pv+ueE+0{@B-D zKfXy5zRvpb)UB)^=iBYgqj%LCs=0QbL!sP-!#)A2i(2ca-;pN+30krYdObDKYk2Era~(n)hXUUn=a z%|Vv=Y9JF9+f`S!`ja0jh+k3f-d4R*4bI7x#1u9c{=v(Gs5QRC{OK*u$ljGd;Q_Db z%wOR@UVp;DE;F3mY+q+F$7jK1{R7$OdG3sR;58u1`puP?W5ZCDl|;t2akY5Tg>knu zPZH0Py|W_bxF#05CnGMUymt{d-)xQNy#Adm;B(Knerlg@i5N0tD}tX~vKk7mtnsPj zI{CWj9g=$%eJ)ZV|9TefaNp#*9EM!IJ&VLfP~Kd0JhN*O*jVS6x%}a&R}1n7hwJW7 zvEAASbnL$Tt2Y%c@AAtrl=sNLa9a4B8Gpoc6qV(@DS@_12;eynQ~j5F|6tY^_{kWVO>!cFWVvE)tNu!)~)UbL8}V-J~$TDe3-E1c^ZPS)rl zu`c5{o?#rbu1#PGb)7N}zCo;kjUS3Nu)av%5oZ_4FWIC0L{hJp-j@8E?61!d&93;TiLbSC~#3iXQ z`Q?DQ%|`nJ>*UJYrryon?NK=-=%3s)zPSS+SWCMG_9J>jxNE7x$`27d&+CU#0=VLAOTg=id>R{HYWv1BB zaosv~_NiGaJ#W(}t}0Mwt3^%)Tcv^$M78U!3ZT!QURU(N9`|ZI>`O=*&N49EEP`U9 zB@z^JiY#g7wqoAx-AD)*+!{Z*AnaFeJA zFp8qGXX#7S#02qSwpIC2wp%$sb;mxig!I|`u~Yl0RN)lq`fRFCrG9|Om#!dH8)6=~ ztf2q+T>jDVazXyF=Ng$|Sc2Lj%8NHJa|_+49J8zP!tk=?Z`xJ)0hIUf5BUE=nK6#! z#ujymL>xNM#^Y3hvpf6F2VW}Ko~*ny2nc=UKX>&=P(BYIVapzT9M;--y|q5%((_m; z@0Ew!)NH>|W_tl3R{>w$1cM+luEnF+ss)VMA@pA8 zRoR}dS*hd_(KiQhebvnD>zxzqox@+h`Kl&b;0Uw(JFEl5K9(h2&2X!ZN^S!+IN^a4R>W(H}>X2@87f5Me=+Hs>xx#4xH;V)VekyU4MyJ>!S8i*9J72&Diw{;({mihr z;eLy*-L{BREXQfw{GqY9r!csWgXdNt>GjTbp??&-*U>ahoqbr@(6iYz#( zHx{JTa=Qy@K}5+gG%b}Bv zY@|R%^A)ljd7&@2E3ygXsVJ^0YBqPO9Y(gI_kfLbVpa54`H`isnt_wquA+`d71-U| zBv%fVKKNs1W~py25xZZ2noH>b8^LRYCfkLcH}#?Cag(5h`Tab4Ldr7!mm*o2XDRGT z9Wr$6WIa{JHw=2Uy@C0~-DQF4pYKkQ@e2X)aw=(5Z7Py2H)V-Sly`En64xl2fl4%;c;)!Fzl6rud^ zV^E3>>LwreT_u=>{!-P%H`+6DuP7ki-M`foo6)o$4`1tg4 zl09^6G5ft#h>jzF=g_gmjKl>WMAlqji75{AAZqN@!J_zP&XPhk+rc0x1cYj%(Zgz^ zAvYe#BSN12@d>AmmLKDTIR|P#*ku{s{cs{ibQ}H>-N;tDq~!lGWBjacxK6;DkX4 zTHi{nhir)RtSen#X%_RhT&C&u6{$sQRNh*v$VltaXg%tzN6dPRvmR5d$7JhqzV$fU zdd#pMQ?17=>v4(om}foW>al2{JowjBKVLl-Eml8CSk&&mEpy+Nx^K6+Z#TPd%iXu1 zx^H*6Z+EzFqIs5oJ&W$MUU*w+zv=8~e|a>UgGDL~Ccpe}M7EdAborNB^bT)5>aYCn zS!CK@*qf>^TkPLGi#~MUcDQd_?KibKn66#g`H6PTqR&Zmg$U1>8QWe+e(;=MJn&5J zfWhB{HDI=>%6<4dUnDh3tDe1gU$7S(jq9ZiEUbP>uX~e$>9%$iRu0x+kZ&`fgfU?r zmrKqy=FG=0L<6P5nXsHEqSQC%0h37=Mv-`EUth(_WBn$%U<|17WX(Jy48ML}W&lB0 zWFHIT{n(nA#a+DV+LQbT5-Ucaz5*hu-t1&bEU3v8wgC!%xM#pNz$k(DH0AFwdZl z1536+?s=Sber3vRLLT0{PGEXms9B~F`f8a&1Y4-x;^VN;&joNCbcph8>oj#jC6bYx zrHkiPQOlL$C%CylQgAJaOL)QMF<+cklkel3Sqx6AM1{5H>^i3x#RnBj?yOjxTrH*nTYE*kf~2 zEPFK}nB3M@WQq08sWO`_*`T++8ZoKFK(~csFD6|nR%}+CTD#ak8VB+%Ad!LekC?lq z@oAMW)SMBr0zFt!9{!Gtje!12d=T*+wB#}>PPO;}1;@eHc55_mep>M!EU(8zdyqV{ zGd1g4_jSWNq%%Wo2t;#uMdEd69p|ENLEtBDk?OLU%I&VX;!Y*YfH09ZLRbTXvF)JL zzI~-z!5jjF=#yv;5QCe=pCEAPBn(Wa-{eqvX^RBkp8qAiRZ8RDb)Xn$%p z)lR@l|CTrX#$q?WMD1|%4;$>Jf66R%(<_I#>2G<{*YD}3KkZHT4RzD+_okmgyFK!c zWtgP3-%cL$>Z=)oyBz12%DDZ`ckOXIR*iGU?Yd`V+y;7&kC{Kilq_8hBxZ`=JPK%@ zSX$Dx9)7YM>O1^o*^}@SS7~8wOO2+g6+RTZ?YP$|N?l&1Z>N0a`nD^v+KHX4{h&)b z`BNjjgy=IL)ZlJ;1G(C+vA$jR1V6;=rTUn;mU_^dv(rG?+MCZ1YaeOO_b#xT^DC!0 zJC!pwG=vow%coFgu5jw>6=xgT{}kamGmCm>p@}^30%tBwPCX`)kbJ6Y>0PC`S<{)$ z*W;2W`4Xq57KxaXx?UD{GU5Tq%J-0c8`+jeEyV&ZEyj5TZIPrB-*F~CUF5JKPm{zd zRGM_#`F4}mN|O#qmoXd6+pkjFZV&yJ4am|z^h7TG7xT@yLg?QcKO)&xr9WrS%gPs$ z*Mu}Rp|=|&e~7u--&hDE$ps;8g>TMLj!?ZcDi9L;IS6~r6y;0&J@XqN1kW)RD#8Z( zkJ@5P;1pkId$~VmK9OAu#BBvZUW}p>-sf$>ekaJNi63-AEo#8{ekV*8czdNKF}b58 zJ}9|kxYqF(`K7caRk0?ju~(QsOmSBjwW0*D^h+W!EAsa>d)b?w!5>Q$?G~BYk&zuSRa}zvt`bSr zJoFcem1d=9j$CLr$1ww00m_gjEyHh?l0f1c%7{8uMQE{WhOsbg$K~PNQU0&0d_VMpWG~-Xvqg#M+8E`nUf;MO z&9dWfz#s*cSrqaXungQNL>+UhLg0EqKrUDyKoV5z_FIb57SQ?Wp{>^L;+)lmhx1S7U`+$Y5OrK~4c2Qj+eNxQ{ncBIy z?8O>oaPi(WhgSIi1+5(YyRH8ehAMNR2p6wg9*Y*yJil>{qtnGZ4xfxx;Sm^-D|^FJ ztMun>KH)sz7Yjmu#V-i9cx%Tt_{H;D`>!YqBk`~BY1hd%kSX;j4^H3YA^&*oR4;Ue zC0sJM^i3(-kqH7DTlq^%0HcnAW-D&rU%Sq7u9+jL9mh04Qc|+oj45=uFv-@l>`5|P zCW(k&KJgsKB+0s2p;wlDeR-P8zUGmI4ln)Q#!HCo zM(am}w2tqQc)yRUVju?pk}UYq=o-mj4pnZ$1=;tWyChZT^V5|9ENF$+9qS+FZ&AF# z?gFRdTz+43d9M7HvdY!0v&v~BW`)$->;W8?66L}YyJkEKQ1ir}DmFoNaCSK51ibA- zAn+D%WfA76?B9!+9wq!27ZnztZZcOAM8oRYQKD-eT{~iQUF$v+ltK~8IKIkiGZGw{ z26M3prYkeeyr@+5gMgQuOe(h&`=|)0kUtaytrGJm{iPy5<-+Df3teto1SP_pKQXg@ z1n^ofg}mv7YDbkgu8ZZ9ony&KYMH(J&cjL(a$_XFtNJoITE-Q!90-@`X&e z@&$&r2>O{p_RIY~{pIw}kfm&e)Z@|?&-%TbpK5-xAB#QW-Q(Hv(*&8DgpFHE##DWk z-b0@AZtEX>D&G9N{)u4dEmb0^b6r*#K^%axs?tV7baqo&wx zo5nXahyH*=H))%>)w&YtU1&sviI2@(ka|p-nYvyU#U@6+B?h&aHy*5djgz0@RNG=U z9io2gN~`0Yh5{%nTJ)*nJ#+PJWSu_uYh8W@y&@0i$~%geS@Mq7ehe$UBl9SE$C?0H zc}HvC4h3LrT))t+lha7VlVr6vcZ`Q#mzFDf$-=zO9t*wAHobnsx0wgPb5fl)y`EHS zb}0QIfZ6L}l0X?FSKM6D?9Tq{rGCXAqBBFWUbXEuH&1lGUn<`*%Z4XhXuU=&w2mnP z9OX9CX!yewP*LBp{VgVUp|Y#h5#c3Us-CbPdd41f38ky$@R2FssZDf6-?7= zNAx{1i}9o6fqFBm%t5y~+qAH5EoOMZ38BtLx~TQ@rxDjmtZcRNJFH$CMw!lJb}Ik0huOtksQKULg&|nYR_grJsu7a^T|>Ice@UH|`*W zOOG~sr#MuUJ8(|akp<{Dw z5+?RybpO1$<1!ZTosyMU0<=aDNB(HOL|-sVpAeU$vZ-(_1^f~Vcv|E=TUZsISz?|x z4Ej?rhZ+uUV0`?@yICs95 z2pEnEKw{`Ix|rAFtNjaU({@3a+{1 zGA!q^(Q(#WCKS+-FmhMgoVkSPcP!t7=zmIE!?dmzl;tEoob0Sfe1S)I9LS_xPFs zb?cu&!hkWqc!$hhUs3DGJb8&u42;%aDHqmo@p{oVCOd;QPix7Cz$&-w>=#ov^!EPl z(YBqvz?%J(%x3r}(0!kGi26z{9hbz9)E0|n8@(z*ON;rz4^+pds;U`KEi;QGQ_QS_ zP;^0N&&qAC*aP;mlw7Bl64_u2{}rJz!Y(A#TQwMehcR~uo=(q8|CBRgU@!KXvUIGQ zp^6MLwnFAb77EJEDS-}q8vKx^sHZ_F#6t;PSbLnPEtXksV~#$>F2+$q1M5u%gEgQ} z#BRW^{3piDqrRsa0T$$ta9R;T2&T*?$`aYk`z#pJu7>#|u3Jcjt!GJ-Xmx}iwpiFO zpN??Tz~v%kT`OW+T*C|kcro*Q3l{Iq=49(Vb5dS^=E;_2<}>@Kv7QS)@e8LIp=^xv z%Aju;)JxJIA-)0Mk)f^;KGJW-X!?^Y5b@~9W-~Lv<}vH#TLhWliZvD$aO}F(m>lpY z-+D0lG}}qu*lWP6W9D(nh%JQwPEVG8Ru+HC_&`7n<^=gj1xgBWfz#($zD-eLh_HI0 zE%b*LlW$a`%FD&o6x`pOdGTlPe4$)+SEHukyAFewZ|2)%^V$QoeYl+7aQOF%6}j{6 zHon>X8Fr}5L0SB8q`j>q)9t@_s#oqMK-sQ;w3 zwo>nOMc8KZ*75m*X>_$MXq|Pse9Ae*7Gx6DPHT`z)jmYANOdkTKp1VzYo3}E{l}{M zz0pR(QDbb09zlx1yI=* zV=?AhhzE`P{Q|VIXOvdVw~mtGgo zqK@6#2R`+izVs3JGFk-w^4-J#Y}!}Ap9cH_<6+M=qF2t^cRnC+3fYGqx~uYQKrCCn zHCtZEV;+C;Z{MdzG_J_(xd0CSly3cmazV~2l&CVDO({&i8n+0duYDhcnB|eoSVz#YpDOg3?9vCa*)HbU zAaR}QWiQ?!+w_TS(1%WtKlS*ek0!gLH9NI-;f0P>RIxPH_CqJ$XMSU}_>~quMY`pQ zCW;~+dAPK7s8Yrg`5=S0gc7r|0ny76+4!WrlrhibPpw4YYj<;W18#lOD=*46KM?(4M*L`JWd-v$cv+e?huv&x@~ zPtt=?wvszIC!y{B6QE>m>lsSWy?2qdFH|v!=lKar3_()C8}!CN$F>D{uTjEypvC;< zdFp(QvFh872U`baInWtw%Svl;N_r~U%=h?XjoQBQ%Y(mC*gH!_Fj@$62Ra1F`a9in zZXtPS+P@8Nc|mx41Fyh(nw76ErdT2Ugjb)q;Z7QPbUS z9TE(g<>c+F}`FC?hxI@(IbuR?u(#=brD8b(eBjA^Qe45jT=qloa=j zwq@O7Q7VdkdA0H;hZ6R(Qy&Pkc$kTq zYuaT9;=PXP=Kzd40C5yVNpzRPi?sH$d9^&u!;H9xDkUmAGbeesDeF{q$1rmp30@d& z?_9sR+;TM7+aOl&(OMJ_=pxmP_o`Y(eaHy^-kAS;iRlrcOTxyu-;3!>DOCE>!6Lniuy7rvp~Hh=0cyD;ua=q_D`yL3Z7w%Rd|%@jU_xHdSf_e z2I=zxdNE_q(8Od#YyT3>hprjLN^4hm=!ieUbSGO=i?*3_6*bVrq^jETOU!4m`DU!9 zgjkcGP-_piBW19i#4Utp?v{;Jp!c|#xtu_vDF0i`?G0+&If@8C$_~_w*iAxa&mW6~ z(CAHH21W(>-!GY59?uUjs(6`b0E&gVp^Y`Wg>Q55(EhoapE|~E*Ic`A)>6)Ull0az zz5L2vUn9guayVYZRwCYTBy z-L|v&^wam&k}c3r;$4<+f+=6zDSDxYPv^@Cci(f*;JHJ6oi*#U(Om?TU#qq6C3#WM zr2OK)57lrj1Z0oReZs#lbOr^$$EL!IrQ_tyznHcMyWYd*YmRS&zL8((=jLpESZdn- zR@VppQ~pWBoR`_iWaie5{#=vUdj_2CBN$UTN@)gqcmW;@{VmN+D3x!QZ*mV$)|FYLrkSoNaR1Pq&Bs!nG3>}6 zOc-e=F1@811cL40!KD;x`)U5>}wf#4kvugq zo+h6&K4e|+jE~Owg~x|q53Whot@%&m*ZWoc`a~u3Js>?l^lDE(2NI*5iR(;#^~9?C zd86U;o`%oCmDpULBk5#p*X#bwo0Z#$L*K|`FmF1YG4c1wbcc12n}0vuBOjmk)BhcM z&bsP%4o$XXMJl z^bGx<8J{6FKJ_heIcN%J_EzIh2I>r{m!z5<+=rO!9gEu-i}ikn+f`7)=>5IY~z!tCVK03QetccqxWx=+#QB zhh?)|8?k<2=OW+AtOsX&@~gsn47VQD)}zXL)LM^`)}zsS)LD<1^%y4)yOkcL@P$nb z9ZR2>r|A^4_!KB%iT^%xe zAT^<}rVB|tjvuWMCWyG}i4k`hcayan38CiaTBrHB5|{CX5;6wLEr}hZ&n&{n`ioW0 zj;b2x7?N6zbiK!sPU^v_`jMn!j*lhbaozAv?-jN{Je1kTB^o>Q>_q|d?umK(*WC4N zZ`B&N9l@x!x)Em%d(8dL8WAgq!n|2rQV>OY4O8B8Wj?-F=IAw?lX{X82U%VLwAEcF z^k2xS%0B9N+L87NJN;L4KhUXkuMm>-Y$mgY{jmp3{GkknejG_#_D;F@PP;X4{%EUf z9qhdq)bF3*^j~iIL-WfosU4g}(Dh2yN^$RbmS??r`xZ6ev-^F7ZNiO>jLKc(9lk`u zi8pytf+1EP=qbh$U-Vrvm6uG6E)Fc2cH0>CVp#iWAT!SM=Wj}xMbq+#f{|u_Tt7tOC}z%n2a_64<9&-l7-|gcXm8=bHVaieabK(+dLBo)L|SoE3fQ<#FyZ)>q#&=Bvy9aChYg6fU2|{|rj+2LGpS`l|NtzI+GeJ@P94 z7aB|2b{4f^`Ciesv){EvMc34+nb@||M`HX?o+Kt_A0cue_E8)^Gb8)^AZtHYMm>p$&#IBOPG z>V*IG94F2KokIGEw{NuOzZZdB_}^p!JQ#zWuk^n;&i0>1j|~wG_3r&|zCTNB&e@EA zrT@*>$Ff1T^6l3DW(WDqh~3`Y`S{OedHv@ID8il*Hg~Z17FA#3DRZpakc|D&=$V~ zG*nz-BOWp5eqX7%M8(Er3Z=qwxdRh8uBu=c@=!f<3|%pwlp_odp2#WTx+9t6D%bO= z1ejvX#q}T{K4-oUJf(MY$3a=*a($h%VXo{fUnim-%Kbf@Cd5anwpEeN<)TvD<)IEd ziNGHg?uR6MN>m0s?4ZDlnN!!RPu!DH)hF6AH#w*fHkYkRCTT7k!=yg~?DOVJ-uz#h zH~+at;GOR7syqsC1^fv;*tdKkajie43)(9rq`a$56Mv>*qp8G$fiv^F>I&9>Y~T7_ z-w&SiwlNxg_@Q0`%(aU7j-eChHw%C#iN7(}3N_QS=Gpi=aO<%+tV7J{sLea0GSJ z2>ClddOnew{4=BC>iHX0_R+xK_@p*3D{hqHILm8$op=iUut)p3lXBQ_@(dwmsY>C@ zp#QPz%)oeH1%uN#k(ttB_KsEnxV@YxG1uZv8Dxy)N-`v?IUSO7RhbXTqXpUkwnl#Q z656a#*4o8PU2GjvkCbfqwAX0II}HiUVMmjkN=jQu!6AdRhqth@fAwgrw3be-oS7_t zDkx~}l`%dSLh{?%LURBwvORV9se_v}a@d>P@y&;YcWL7#D9mtUVE=X%F@Yaq`dCHj zTAHHl1Nj~^i&!tgJ-Gt|@jC<@83-jl5_l!R>sUXpvSytyAZ^upB>`$<)&WQv@@Zqh z4ah-mm4$rq2`YvF?SPK>_dAXAm*MiCQ@nW0oO_tvRVNAIO2k>=RO|!sPRH?$^`q)Y z)g202;-Vy%^}igJn&Z>1RUYG;T?&~aq>r#mBx2XhiMiDj9c@=rE!7m;)%^GdPc?fS zldUHHBUPJ0mnBX!jsx>%^NU)^9E>&hCQ8jt94E^N7!$M(z>K6EE21)7e*}l)A${-> z6-a)1h0RslqcW-!QysQy%wc5!=G|VHmsl{9k17%)4lC&Wg!%}Ra@-LxR;rPcxm|q% zr1Z0lC48FdKF|$j7Mpbdb>@HG`n~cx=31`2u|dfjsru5dFLLOt>jysW<08*+d5yn- zzmxh}kSQokJb03aALXBi93lw0lV47Xk_w@LMni2+gM!I|b%9*tkDtbvLWe=%H#}%; zfgt`&rQ7+usCWhYxbb0(+Rp{M;)_t5y(75|A2sQhi^&BG-`}UR@NJPC@9>stP)!*` zQ&J73l6pPUk8@KzY_u42!(1#rS%l%tp4l1^<`3`V!$gh%Z$FU9&C>v|Li5jZLf8<> z^dkkk@Ml6<=(J~7@IQIWf`3FVe1e7ue5D=?@yT7$y~jm| zpUB|I>NE1j$ITsi<3mKLI*zyG`RFtcOwZorPbXx@o87;&9Oizq0$3{TALA@_&~b+N zTAEm9*rp>!ORYY!))-UL@xqev5rRH_hr8aB5o{vZ4b|*O?2p3~vG_UKOP*yl+fk_Q zlbW@4TkTd~{3E-+_W?`Q-x2ydQHn<=>F?*wFQ>{zMGr^Kt-L9ON~mn{#JWLSxM#&Q zGa5jM%)L$3mEvy!@e9t4I>`FK;DaBDP}|!ivX3!8T5G`Rm4L% zXT&(3li@0~F(JOG;1x7vxZ%@-q=^I5 zq3E!ev}^wgL+~t1&T?hxcJVDH41@1e?B`_rdA|KTTb=|!x|sdYIOq;kp_iha3=QZ< zS{YRjw`r`9Kg>eDN`Kj#x`9;8tI8;NHWY1?{%73-a2-#v#ES8hwQ!tN!gC5wF@Km$ z43_haen`5t{PHt^=uB~}At4Ns*VMB3w+RDQgD1Zi7`HM?sD-jov0fW3rIhu^@brB& z&>1W|lihxyrPh9_+~PaYp?u94#Ocyu8)pC2Ns(rId!s+U_o8>4oUIQ^?{i|?u_seE zy*GcP8b)t5Mg0s~#q2KGgKFZ@YWhHF<{2I#ouP3vq2=WH>;-H!di;#YsMfv+T&W-N zLv2k|cc5DoQNw)ud;t8umBV#0c6G!#or;r8^Vhh1b;48}IJ2H>k#%vEA_t zQ-m&M*n_C+<|RvVX(j|Nb%s0dGJoZUP)-vaO5TqM#5*R1vN)|)^;|8c3GQ@T2#NX* z5yeK}DfR#vj^%|ixv-EcOHB-cV@2jvYmj*QuR>=H`5fZsQqJnXDA(t7h#!>o5bl6iWIl*N z4kJOf$mT2O%1EGRB)5=CZv6-@MSNDHfXm?xC0bIv5CcJtJ8Kj)gmc@Xbx5A{2>t*I z;gb%Ao+4V(_KNcqJ(E4d?FKX&dqOM42SLs(dd64ud!J|gbcl_SXJ5M>=GU>D5NYXq z`NRErd&aybNpJI~;Q9Z8g8MIL*Z0hE)lib-pwh1SJBG_kPBtGUI4gy{6ct-e$RU>h`=xP8lw6 z^X!>(@x8?X4{R&WvD{C|wqJBAeewNM)h^rr74RYj;kD<(bNlS z+Rga6b2sqH3c*VslLs$He|BD5&uIcN&)~dl;XL8XvYmeTg~rOxO!A z`V;V;sP2EH;{{&Au^V4^b$oe38M)BdMSPD+;G3KO)EXBJL}=FPm2Z z6>uTCwhq< z^J5E_?Xj}NUiMa#6E>;ceEw*KWXL>>7yUEyKpwmDhvnR_p+A#X6zI?7Jdt{`{V4~_ z|K0sLYRbRRpH-D#vp??z>c82aBBK9C{n=Y#_h&ON^yfq#1^P3Of3BR{w>yJstOvN9`zsmj zc#~@bqqO!UpN)RTnSN~QL;4%TzMTC&3($!A@c!qPw7!;^$hF-IlRf>D?|)vtv$C@* z-7ns(ps``86>$>xngTB%@cg52H*hq5c0!K;wP@I9voq8?VpdrF+#Nzj3!JUQ zOW>_x^TpxblW5WtrlaV~mpAh1bx1sqUWM#0{}0&b)}96f{BN<(J!S)|Et`Vx2~uJY z=i29GA5+8pNZB25vELL4$tBC zQ=LF(4nU$qb$Z*>g0Ov+S9*oM%hdO<(PF-AOrJck-^g z?xen5_anN_?Jv2Yl^)fnze<(+3-Ph)^w*1m_Sf&PSI2*i{(9-K-S?M2r@ww8{Y8{( zxgO=3z%c=>m|^A_0u0?N`WG4aa!ErjbJ70c63;m^+S`NbeB=!Gd_<<>tk2E&K$^jo zc{2wNZqF?kA$A(}I4B$s`d4mw(MqC>1#Zk-W~I8kr&{Zn2*C}1)L9wjcxWA>d^;2YY<2G6pv=#a(vel|ktrzJ)?Ue5R_sV`tx?S8xnQITt;dfTN7l-97 zyF``{Iodha(M?y$d=bYvaB z@u&Rg*aKtVBIb^BoEI5^_k*7jHYadH~ zMr~nMeS^WVg7y61`|x|BK8u64W|mjg8bb zzJ~x(w7*rYmV8S_hGZ5_UcZBb#)lZXz34JFk`yA6$+i6ilLJ(8xj3CI*&jW1%`12w zU*I36^bFdyZwMG_^L6b-De4XAPb1)lwQJ7?8kmZ%K1$&rPUQI7^`$>G0WZX$f=~2n ztF2+niJV_FDw^^nH*oF&T|4^YMeYf0^eduRSxo_@SfP~QrEkJ}82t>c5&f^y+cEQz zMwSh64i}ZxY;D(jauk7L{b+fjWjR`(f3)b>LFwoKegJt5p!a1NQ-0<|sRE!ttYwl? z(kwj)=0~gH6QW4-ZA{f2Eo%AzqfE@3Z~-WTj5yc*##+N{i>x4-VophEuM|~Fp{StJ zm(euJ6qpp}%B0vZAb(PvdzrEwXf|)z!=4o2QObd?IEZRO$Vo|Sw}6Zmcllsn86>gl*Gst)oA`(|hvA>^hLH5m!u8BC`2h>DtfR^17>WKI9^iFTKIc z80H$lV@Xq+?xK;fKwTQeQ^Bz7pBhzp_S7IVPkP|VfSG92U@ z|5g<_(JTkA9DPHse*Tu}f{mj`W4sXvOQC`(pPZAJgMjU>Y1ysu3kNvsN&fy{0Os0T zD0sMyQ1BjljG4kt=z@BWobFLsUjg9V;QQ{he0(vFa87ibVdvEcmluTR_Qoy1vzkX^ z?RKK*xAX~6QEau%cfYwyeZuLx!N;8jUVMH8tlhM4z;58NH18oYWX^fX*xkc>aO$q< z<(lz%@!MItTl}W&23~0){O&FY&!zv~x$yo4`??r_U3))Q8}rnK`R(0S+(w8Cc~(Hn-Cj?FwPH3{B7TFlH*2tL zXB*TGt*0R(1%z269|cYMfhpkL;HzfcTv5Y^Idc!{4X|=Qu~wVSN1s!CYo?fCi0pHp z^&0>Il_pVKZ&PU@Ws>G#%&}%egvd!7W4b?3Hq$1k9P9`#A>0A8W{i% zY4uInv7cpT`X}Z+!xZ4$^U<~sL&yux5cr1FkY&Lb%<^$tZGT@P>=ipDHGX_%1Y?8I z;GZGC#Q=H@HOOl4TND7P7b(CM>2O;zg?t~cDV zj_m7B047-?lzY!2GZXJcN(XQ+`3x>+ak(NGZQVm(SF~<%aXtJ0qcfvZqe7MkA(5OU z29SOdGK6^d3ehMI)`=q|JO6b)mPRbSlnS8POqQ_PT6wztdxCGNF}{Ql=fuR+nMqij zHI(#N^G|Py^faiwVoyVvg|brAc!o)Kwft;fbVIiS+@eyU`zIHk2Yqtw_Y`dg8WW?) zLNkoHWf-?jW>Whz2jXBK*egCNb#9}ju!dHh_O>s`;KhId4r z!t@tpWon<2e3;v+dQ?eL=YDynEd7#4esTGdflKG@Gjd3KX7o_9x` zJo|!Ho?~Xrx?n1aV~b#$VydLhD3#5K-!j&)fCa}+sGn#q8-T0%5B+F`YJK>b#&}pr z^OqC$mHHgjoi#w%eoKAisRpu`Mum7^^fb}lPN06V85^S5|RlU{ny_qpfJryYaxW>ednIaDu-PV-ODMj;;Go1s}Dica2q zAP_c2`7?Xb`f^E3WUR!l9S8EQ6avX!s)U9{F-NbJ;a$G`3l&(VRsp^Wz~oSFVy^kc z7rmm{ycygmS%M9h^0B)YQa0Kgp{Z$%VD?KoNIl;Tsj%+_dRX$4E?#MsmDOq3AmgfD zw6aEHsXhx~To8zl&@u9P&U{CT((=y*97w(MKVS4(9n(&%$llE1^6_yy)5~OXuzw_* z@kBCGZH1t+k}RO%u^ZDmj^ul~hCg}tH}d)EF=yrR3!|Zw={|eiCzxvs~HuH7A^njA_;MCXKDevowxJGJ>6uT=~Rv+dA=|!M`{374Y{4zNddA-g(676VLsi3k6P2yz>fEhAI;Di!CyqWy6LF z(@|bdc6>65wh|W3-T!4|XVY)Mx8Nk9Bj6~>9ifLrRM$@KD(_+;(UjhS45`V{{b31V z;sCRpRG>ll7@nJaQbPVl(04Y7{vc!&YwPsl>0R~y0Dp=DfR?*v%I;aD8T0Dnl@i9C zF=d{8`HdQT4v&0M>$Io8w8uL+s~NFy`v`~%*N@uIGI@e@q?p8m8YY}B$g@Zcr@bRN zOX%NBqkrnYfS~q~pw{jC zi1^Wg#r_jhbtlSth^7rKT6n<$h!V0jYMInbh3rqvEqgFgg{?(oXkemL!FfAop?Gf; zr(G{7EtwEtk~t0dl8N%<4|cp7|K=#8KA;+@C65=K(l_`cTblG$yet7Ilx<&clt$wk zh|(cd=7Ba84ASXIC9xn04zt_QZ1%n?9fl5jTUG8btWN9=e)h^C)>5U!^96f(ei~F0 z&BG7u^~0KP1f#levI<63YMc|c85a@{9EVn%DHBW1+&R~n9gvt|HLn;~m$Z&G2A8k% zZPFHxX2{U$kp7qQr)9fa{#+Zq(R-4R5G5*|<=ci?mGZsSv4c)g9*Kw%RHQ$Vz71_U zH!3kzDE|nRFY=G{2meJn2-3?K*-EfB{f+YHwDuwL#=#oB6-c3HB}?+lh*Um%YHFgd zhDEP+Foxcu6b;O6k^zG1a`R^32U6i;0;tLUdAjxww#?N-Bo8e17%s}2s2mXyX@cXRRM;mv;p7gHPlNip*=KX8O5H)#EHTXs&K(O? zaP1vVzPVX``_^fz_N7^C-DXMS0gvV0ULpONWi(~9w5MNkZ6x^w?HMs%^v|LAf%+@` z$A`3&U0n;Q1t$>K2!Z!anm_bHP zt36;8;8w-u{_;2QeOf7b!BO8NpPOSydZkRCXp8wnDFth#Bvim1>ZhcKGJdKO$ulg$ z%f+N#u8!DrBc3{RBR8;uR+JDb<44G%cKbLPQX*$c2fV>hPK6IpfoW+U&sR{f1zHcI z5j3X!!1^u+a7}Y<~yVEINe4CD-0rHLGhCr(XwU7EfuG!Ek z$0C8ucd0*`e0#I+75!tV67;=6$e+qry#wSE?XtQOI^eQk3BBOok3Zw~3nib3)Q~^% zCSW9hhcd1dkn#Pzg?ZOj4PCs?sQQ|9iGQ+$;7FIz5@Az%Ai2ZpS~HD>yiMFujtzpW zWcma$)qFO02*bp;vu2)OYuHH>N|-FO_mmO!MC*wu|1q%QzPD))7O1{5^9R|h2EF8}s$-*JZi!hoCYDqrtV;oET zTe*56_ts_i!qu!N2C`V}RH_SP0$`HckHjI@49xCV`N)E3?_|yCZ=&J(&|gqSXN&4f z>_zw1vT)J>e$#~F%;g|4QfXgqr=^UvFz&;{B9$_vWO-~OGPpl%pGhOzXtYvU&s@=qr}>5M|1@4?*rZyh8hz? zbDZKtfM;G+{1x)zyW^#I-SdinL0=pJv`5}@CFq+3BKF%JV;@3oxzx7A8%{RWuI*G9 zOw7E6b5mx`ptW(dangN(-nlpgIQI#);P%cfHCwG5&67laq{I`}C+o)?^}{i%r*xis zpg98|g3{6z!uRcQeeo?Mky!{gD1_@=gpcL5LH2#hsoSn)Km zjCd5ZC9_g;B!XJ|fRdv^aX3js_{N6{7l4_Q_4o1GQ4$fhlyH&+)gRW>`>i+BH6KrXU=W<@1x zGS4knpwl0a0D08eQDtxDR>)u}08@tVNDiodGtwYQ$fCOF$e3CEp6L6DbU#PF9U%;6 zc+6Zo(K-cKHNn5F%NHMPOb8gwLH(u7fMoZ8jcL%6HUFn7mnh zeMffX)`pl%XpH%8QGxR@XT3eGQ6{6~%mRjA$evfcDt{e+s&7eeuxFLaDsq|Dkbav3MiVgyNe$`EA)_g%H{+)z ztT&e!O(XT@QlqItZ;lvE)p|1?2Ais;>&<06OL=~aXN2c)o>87h@+{+7p{*WUJ6)e} zbZUZJ+EnLFXcPv4ETg(-kr>Lzzn(=^?pv+XSx0w4j&VF;rzh4{!fne3RFv_ko2wO(ua2&BWMz9?<8YMEb(HJG(nbFAc5Jy#E4vFyX zrcW#p1@gpFqp@0_7%>{TmM=aSM^5LmKF=UeDAX9>356Q{JfV>Mgg~{8)AfdEKj3m$(u;yqh`n(nM0%aIkdilH#?Hk(0b(D(5Oa9u9Y|b46Wy9XcQlY z)>Bnz6#0kNQ$uJJaEI2PFK;1v18!(kK;CBY=98CsytFN3sPSWw^$fKwvwttTmkM?r-Sbr@vL#MWjpUKfAwU@>U^fbd1&6s+-7b_Z)fc-XyQx!_;FBmGkAT zOp1bpJrbzf9vuZcTY8rQi|o#pUe0#5^eeyY&X&inI@{d&|J%;~Vu!O3dH8LvJU^|r zFMkrULgk@QFQg`PZ9v{2_t4sqywMp$mE@^rX>CN(8YQhv-srxewH5LvU0qwvn{;(; ztt0_yXf1iIuC67o)z!6bSJwjF>gw7V@&=@#wX@_6NJDFZ>CWqg3+XrcZFlv;oUUGG z&ugozm*sTzVo4m}Olw)@#Ps3>=v9zEuH2sGkGb?a^dzC5v*ppn|MUv6tgt=j&5&@` z0{Sf=6a;++ANuaMA}09BX~6m0JwPg{8c=L3Qt&&0zevGn!#^MRXco-4w;m67SxQCu_6JJe-1gxzBu1xE zTTY-(^oHW4&`~2vlETvV5h(_N53Hcs(o{1fhRg}ZH1p2670UH2MIryxF$ z{Q7m9`9YzT{Kf~BO4r&svQ`2`aUSRh=>mEd2O=w#!>X8h?>x7LzW_vA-5y;;w&}`? zm=u`K4zXhbFKmr^SF8H0?N`j~-L9kq93$FWAh~PLj!V!;cFi(=D7lksS&;)++S~R% z*s2~+oxk@bpNw#r-f_F2F8hUHM~V6TFWD2Io(f|MJ6?=k!Lx=2y=72Q%!#5xEnfOgvj|P0lY45qC*l+8gf$G3%gL{-Ll;{D&=Tl6cbWW_WZ-D3XW5Bn(H0UHgO_HSS-7H zV_Y#>{o-+qt;AVCLJMBfqPB9f4K~krAesWv+TxA0p~$5TqTBX1$q++@IYj8EHh~{J zx{p{RNxJqJAM}QC+UnDTK#TxCY-qd@qgIX`%CyHiQAeWT+M;wPEY581n@y)$u~%0k%^ zXF|voFllWbV4nr}Knt)dwUi|Wy9&i8%*u~#`P$|u8(^#sKUrQ=h@Y$@M<0H&oH@v( zpCRrWg{3?kcPD%Y!$mYhilvav!%}XJc9Otco(Ie!OQZ97*!Omk?TeiDDW0`5x}36{ zv#J>mXIVyO`w=rwaq5d->`s+t=7>miG4m4UNTw!#GOUc=0Yq59`7$2@FXc{aRG5L- zB=evhYIv#N>tL8rchs01RWVn zos`$F7YU&;x#Ixsx|=1rJvkr$n!ZiFn;8}B$dN+h$ejkF#hJgEjmeuL$hpR2vL+jg zKIE^sZxh8Kk`U?|grtF7G0;_pw5(p9{=W|%DmDc~ypxj<83Joww1>c`3i#{Z={E=M zs>Gd?NdJz{RAk{sU5j>rLAo5&|3CKL20W_b>>tj;0;{Z^MHXEoYOHHbB(@2lCW5-e zkVK2HK}cweiWM7!_yez@&$Z)+bAXUY$t`t&|vZ?OfaQ4ioW?z-|yPcK~QS*KNO zZGKIQ{{ba69Rz5QvjI61?lBq z)ZM5CqyV6Dq3!^xjwcBvjTB`9Rf}H+IOG6q>if9~UeGMY|e)gJ{yvye*1; zrjmXJKtAbv0Yg0C`K@SM*sLn!H(2U9+v)M88JFZCTKrDbl3a(MEE@8_9ySySM1QpS z6TqtMKDm0Jp=V`yCYdT|IXKF<)1^mpl>TH7rGK9kx<*ha^m5t`^rloXT3opUr5#3W zQ74&u7Jd4%>GJ^xDs6;66P3mdNTZVX2=s|#0kL5(b$58~IpS{$op?=;8}@=mdF-IC z5^I?jQs^qYd#lC!qF#*f1oP*pZWZKk`mb@afmKxzy4b?|2b|J~!i4Dj1O{(`_iSF?bh#k^jg zVG(;X#4zWo$T4x>LC_Qee+6jnIRa>+NObg|DM4xrG$Y~91Wnswi1pdi8sB3b|A|VG@G;3Yn#+8RnJ+9Pp40X%{MVC-LqB9N@=lJ^1bM} zmSimOY(9W4Jkx=g!t>4{<=KhzP7(4?2<&FdhX=dNGtf(?esAV^f9KGg^0YYi?@696 zpgirp{)@=dKLLG1p5C99r#AqCj@j?Z>n&c_O`d)YDRc3=Wq_vx(z5~0EP1+Nqk^=O zr$5P*ryV(jJpC-9u`poEbRkQ3EItI{Tw(<)} z)i0nVi!8p^O{%{4m@h*Xi~jNj$zm6(kz~O|l0yJ&!NLX+ST$x(U`HcWJBCL{)%lrH zwIfo-dipYU) z8B(RSmf&C8UZy8QswO9arA$iI8>Lj8 zMMKwOA`nOd^XQZ(<@E(XYOLE6*y$fqzRmcDLWb561(g^j%Wb5tkDWv)$ zvh^i>yUEsajQ*pt_2=$%r;lE?{`gN{kc#R6TS-M(tm%`f78PZ)rlXOqZ7RtvTRWn2 z$<~hOOxe2r2m<84Q?_pG{bhhZ1Joxgvg_)CMU97 zf~OG>!4o-erfltih$UO!{Jfg0Y}wiki*{me8rd%9CZ}vozV~Hi>*BW|TX*2cVUH&B zJo@ee$NfQdlmbPcv^Q@F2@5D6Y`5j}%>0v(Kdt=-69i4%s5gGN2fsP)@%@zL zKyj!?{enI$&v`y>G;;SlM^RxEMg619_PlUfxBT2N&ynAkGk-Jl+uDrm5BIB$A5zB7 zQOHZ%{zZSzMR^jey7PYL@oTvmmWFSP<;eSunf>|asagHu{Z6R)WT;R(8kSa|Emb5@HUHsBpsQ39I;KD_)DU zSaS@z#w5lyrC3hg)sMfp7A9W7x}tVMo$2mS6!t4b%{V?)<0L2+5&3qKRw>NS(8Hce z8q1QN5d;Zs+Z8P71gwK62NkVu7L{bkkt{ko$yx^+?x4Pe=wq%xHF~=oI#egSH6zb_ z4zm?Hjx){(k`l)xY+TMQU(w#*m{Z@xGit}W_3GALh*zs?|Nw&NB{`K!=^M=8lo2ono-0bpaD#I0h$ z_crc}JhN6|)`i0WUmx(H<|_&x7Piu3X?sc#YVp&6>gGeQW1QEq*AvWnvd7Q}$3Ws$ za?#7-!xd;Fn!YZ%gYAm?lVtrl+tSd2nB+{VD!jV&?~X1tpM$WiN!g?57~H?fcSWjc z{b=iGe84hKZ{spgw1Rfleh75iIx`6E3}~wZE)$P+UEuf7AN7vL{YYQ*_VPTJ@ynu_9)RlpD0`qS3*(%ZHsR}wwEk$%Pm*5%dKoXEH1zY2STya~WdBhece5;PVF z*sOG+qWowubtdm0Y}@(|D_P`i+@)IJVwExtKwaU9jshsWd67w_t*Si$bT0t9U-X1f zd0X_8)JR8rW!fSEJ-jMDNq!Fo8~{Qe)DNEBs=yo-_XcC_#Hl(nC}8Uqzyb(-5@7E^ zX+ew$9+8oNYUcZaXg_W{d4>w@CmvP~xkH>tE)gdkckrac5G)(~9GBxzLD(E9S0d%@ zk&BHb+nM4H3JAE22;+*h!8qqE;~th`2py;Lc75C6&8TFKuc&kIR^3swnr0MvG{28c zL7QI^EpT%(xdR)7J?Wo)coKM(Q~yj}-@%P7PGqTxe4{T!Z|D@h(HF)@!x<}`$CBYQJn2NF^8-5ebm>rM`>)MC&6f^~3TI?>z+;S?1+HFi+#G@3 zAeympr}`_L$Y~>pm+LAtcJ2-B6z|LJVXigEh4r|pMgJyB8VmIzH=4Vj&0P>? zq2o}f8obws0CjQK2l>}t;YtJBsX;&f)q}a-e^B~b_Wgh-1_^|52q(OW**5_K2ge`~ ze~B6(myAH&;z=ceNjCv~5O^9B+zsizrRvu7q)Y`8zxnDb2OV~G5Ek8Op>mJ%_L*!= zmVSS%4Mav&soUf#!XeICb~>&_RnGnK*v_yudA|;0*EHUXt1%9%R5cyEYY)^1P2zX7 z`~V9CiOwBsREN>|AYU*EBCG>fyBGuAG@7^x&=1$TH0$TL7*hh{Uf6N~^M)eJ?LsGq z&{Tjtr-CrU-8ZC%{8nOxKU^upc}W`KyroCL3mdZL+A0C)TMV$<-mp+^K(!1^6mQD- z5-WVI|J4Z?HyyaRLd(;B-l~n;3MNLAxejsS8LB1bWD(?*_num*AM)wj8zBP+Q7pl^wZ1jbm0zKr>2 zCobbfCo2)uxE6v?Vs&sVUvLYfTftAi!@r0{)y zA}(qOo9BG06uJ&%~xRi_U{zfeoe3y z0BlK^Xp2D^L_chvx<&vF7+5Hv0kl_c30a2Qq1HRq%O6ZTsOfim2E`|Zy(~nULEFrP6!ugfu*x70Dw~K8uXH@Zi3dxNLJijl<;74H!Yg?UdxXBDKQ#V8 z=F))V2t;&ONu4=kml{Gyqlf?&Qy~ylZ$Sk(x{GL)ZH6>3{S2$rDqpPaDuH6)uHAA7 z>%&I%#PW4Q_G{ir@o4T?eQVLKwgbIxI57H-70Y2Pr0Kv{Kb)AS#lDJW6?H;o?1omx zJaZ;OFB~xYY?>+aXPK0tNP5FMLK1MH_SmYwpQwz=fV1Av#hAp1vKuzh<7xu{3#`!q zLkeN!f8HUm2XN0%tSDnLfS*^A{pD@aN-`Slly;XdSMzKeCt<5JD4}gOuRvM)0YDG} ztv|Y*u&o(u%nR$Y#*%aD;V>LrFq>GuIZ{S}Sbw$Xa8pOdWDb6buGE_+9TdYWV#nhTp0S`1Nd9OSTZcWmtAQ2YK zB!tdFCgNL=#Uk-=nHc^$^PU5uep`?f{G+)U@U~`Oqi(EzplBjZ7_a~jBvgFh%@?eZ^d^>-h>?Ui zFKm*>mjEdVa4{`eFm;X}>^t8r^J7Z#N8eRrH!G~q9sfgV%{f^q^!5qOo#= zeQpM5@p*DbJZ%01;7DGNFC6H%CQTmbKeYjyjuX&i`Myfl{1x;0`O`0NpAu zV)Tlk5I?wF8N0>TJN8bVcIP@+3DefRW_W)HyBQxPWUlg!FeO>zkInPBvDYzsULtnS zaLaIGNc!Bs=N%|j&$QiGh9Gn1N?3Y`wW)+Mg-2t|Zkm0=oPPEyX-%U7?YA+W{nMI5 zNN8bvtTliZwXhn>W5P(Kmpm4eg`2MV3n^wjfj(|zG6*~i#=%r0CJp#;GeBE2?pBc* zIUI?SNJO^#BixR_oZ5)I{7ck@4BW_o5Aa(C$I1$xRIK}9-}@_&rjV};`2hAH{yhd} zEDiyRzn@vqhO;4mf?!YEuwQ>p`0Y)Fi#K*&?=Xkl zFFSJu+L`3r8B#hBwZ>k83?RVuoJ1h`0xbo4jH-7XkiZ=JOCnG&3xPxm&k0CjJ_h@8 zP%_TLtqWWnamU_&GPVg;Zu+{>t6;2E0O1@kV~m%S-+^qGkHI&3^W<+o>%v>`q8_mb zNJv6bpaL4)k4XOUrn_aQmWCuQ!}P9tjLCN%U?mn)Z=lBn*HA=*9PUR>BKIk6NL?A6 z2W~^u6ZX8Ez($gj*U6ko=;Lekty&SDrbh2)v2qqM;|+w%Exp~*leZ?DH(@;)9fDG6 z#BXZ(y673nIJ$yuJ`ol9E0J>qa>-~dJ{_^Lgvdms;$9gt!|L1A=Z{4tD_!VeBsewp z(cy7uV?oibn=g6h?-F`Ie;dS%;`84+ zItzR%_1l#&7fTTZMK>UC0RU;evn(DFM&F>9`sg39=SwU+*zWF23$0UOTK0FymefuH(`JN06}1C^L{RCz6MdT5n$(V`12s`C9DRJ@5?zqb}4Iy^SK^ zOV2Pgh=t5U3tf3h5Ifn-2nH-Yd?K0FI>Afg*hv8K7satLF5Nukb|MSIcfiG%;S56j z!HYdr%S&Bm{v~8O^bq&?hLRVfq93k1*wx&+V2Blop!Y$g_Q9W7zP3VXP3ptUR&##nGc+P~=Wh3tPzf0d0nr%r7=|dN7BYoj)UT56YZ62cdHF zW>3#kXQ7%pcf**qbLu?dA~|)=$AtWRACv+Pmoaq$a0m(^rrV_XBDOvhKJGv?kc{ZZ zKjf%XZb-Q`bTN)$%&%gzSO;dge?dr+xFUmTi8aLOg~wR{WF;;wh@&lSjccVV>fUOm zdc&wUxEpL2f#qpqwyJR{-=f7A05tN{OpAZc0xomo6a%Q8zf_KpH7WKtq*$At7q!JZ zk-;%HK7@X)bfNI~(PW&k#KjFblvU`MC68vVivIaXbJg6n>A9+q(CE8E%~et{nbVb& zppqw}f%>|wf8#xlPq0=&>tIe^Z;xCC{Hjqs{DYeIs|=Yd_VMBI*bz8@;VzgvQs0G4 ztF11rmR+I@1yLtC0Oe=ug`4C+)MqY~_ z2goHq$FjXUBv=I4tFYA$za`3;AFPprj1XgFajs~8NHNl%>Zj_ZlmOhu*G{7O*x=;; zV}ny7*DH(NxBl$&uHh4dQ-)(&EZqbVdqrEK@|a#oPKuF|L=P`qT9q!a&``W{DMN)g z!6{@dus<)OwCLjrnTFgQO%prCldzMBwv}Ye^V*_y$P9eq*1DL;sp|}xEyU*l5G9V5 z6@wEZijYfJ2n;$pDdom@k5)>#_Q^~sg{_68BEjkqRx*1KyNH~2Y%mPIBW7hwMiIS8 zKbr6`+ObywG@@Am1?4Sc1Hq}S{5&K+1{aNqr6mxC={6uuau19OpwOw(IAnv4ykUeV z(rbgJCjsNt!A1biAv9U+|ARYaVMCZHy`nvI@#kI1S30r7g!M3xN5~R67Q-vfhgeXF zHkik*#%9IC__5C$)%j70iJGY#G3T>0s1f9}4_TOTO&nID@%$*ZTI$Vrf69|<-q;im zdIlz78?WU&h81uQJP+()ZA<9($AG{7r#oBL&lrxyV(1r=Q$$ z%C`^`U`#K>0HoL)w9EG;#&wl%q~y1VlVz;^W7r&xdbBlF)4<^S@>Clveq2MWeHy1I zm|Bhm-8T<_xG*CRDk4kbVjDR%2#HSwO7q0R-CpTJMXfC^6a+DiXMHmf?xBdQk86;7 z%e2!+O94P|+25T%5hwM4cI-8A(ilC)pyAT-u2er`+)VnhRg3%c)Bq62_=V=Ya}_+I zXYcI?+ojWKTG2kXD2x=OzRHcLHX}5%9b-Sbf#Z;lcibl*_c+c=4AM*v)}pKi!^ z&Gpw^iNlB+ubVTcBjox1>_`F5DZY2XHQ(vT`}Q^8`+j@KPgX7#A{3r4!2&_=0LSu3 zj^!iA`WcGH3HS*-H;SCe190*;C=>pL+Nrm=9Q&yrYFniiK9fvaL%!L%~V7 z6~2iHp25Gj>A-c~-DmFH6((%0X-N*oTQJ8Sw4G`re+>PiXZ7-X9-vpEO z{~_UB-ch+6G93WuUQP$e{Rr~V5B>;prr?fd6@c;P!z^*N2X?tJ@ASiz;}XWQje2+N zAl`*OkIkFwi5=`eXCQ2+ZE0~OZo&0hVe9$g6wR>*60?1=k2(QT24XYh`)G!KQ0z?? zfNkNK&?aG?m|{i=SR_rJ`}K)UZZbWxJPaJpT_*nyM<2V}p~}ylbING}1BUc&!?k^% zcwDLge9n&sRfLpPjQ|Nve z004>Vor%kKc2o=5y`!4)3!aDDLuYRVv?-o2zSSA~3|$|I;?WA8j*mc7gT`fhVxRS= zo%A`U>D%+Rx1gZvPn!Q29hsWs-28+;F~o?KjdilY~IUJnC?49glRD=G=?#RjNGqTI55c(rGqm7J-egtYc1*5_| z=2V2*Bv2L^U@m<0V45b%q6OC8HmJ6cP{jGd%^(|*`BS77p3C5YVua(oT+xrsKc4th z@PAnqV4l-HDR$S7%0B5^XoqE=l-h$1`=nc5!$|xG?312{KKN6|2+YW7lN1zVuGfKM za6eRdhT#Pb3mI z?&^n|yLFYxvbuUI`qM*K*RMQ^u6Cf|=xVKbE+DJA$lI#UE>eR>Tk>lzr`2e-A|#`W zH*n*yr_p5UwfxEMqN{rsnJlY|Bhil@y13(4N72Qk&`CiTC!jjj#W%USbRg_NbWU6H zKH;mn=toFK7w^YPv&Swn^;-U9ck$F$yNx1~Wp!~f`q4udKmX-Xbg=+!6QlTjRHwS= zMVPaT+lXUJ0*)?H$26mhSK_p@$1XDUTK;5rapWuAy2xZ%U5uh1J#_Kpqv_(GaQYy+ zxD3^)E^b1Yvx{@tx+UX@LTVJ}Ata-V%fUN)>>^XIR+-QAKE6m_z0>~T|9&#X*w+ULmc{=c};DC35@p&lL}3T1(S?prH&ZE2@wJkJ021s(C2#5eu}1eYkL^>H;Z;P9eA0AFRDT&zWQu z7S(M7itG*ba%=Hdh(H}~h?X>+DrC%%&(Po%;&Uh<{XQlrkbcWWOE4IEDaoR8K`*3-nI%jFa@G z*j~*uT6pTjFOjN+CrkViZc9LY3AZJvzJ%Mt-6EzGZVQgM#Fube3e=ZyTZ+|}a9em_ z#eAX_Eg|*grQ1@YzC@c^#;PyBhzkQ(ces`K1@(U-; zWfH+mHUXIX{{X9&_wy!sy?U4PlZjPY4TH{QfQ|9RCpAM$j==r@2&FF!XUCo z8De43GCPDAM4Vb-hvdoTHQr~3aAcY0Av=WQ$&g3w5MmTVR@))O6^1-#hY*(-vcV1^ zRx*SPP_~fR#E>`a5MmTV-nB!BRSfyi4k4y6WTzc6S%vJeL#C>bLv~1m3K4Wep4T)> zg$V2wA@fv-z*!N}s6qsth>#W)BIrnjELS1LaAm*lRUt%e8FIf08D)p8R3Vji$SUD$ zZ+Z@H-o89H6hDl9+TD%+h4190P&Ce(9$Y``nKF2dUR$)*Bc=yX#_!P72;&$+x|O*Y$B^xI2;&&C!wz8_Lrgn_ zaSZ9SLm0=9{dR~I=WFxS5o#K9#Vx^2}x=*Ee$WF0JrC6&{ zJgQQxwo|mK6dP5{2I&gomA&1fQfyZ#-cTuChAUI-P$^6m^R9ID5A774D#d=4Vy8;6 z$4)^JlA}+B1dhicmBP&_RzTgSQUp{AuXJ_4ouWXcpoKSq7b->2PEn##aKaXNp;CzH zT+|X$DQZ*-%JE34SHhL;pa{U0QgUS(V^sFYDJsP@xU!5{D#bjNVx~$F zu~Rgv6fG*nttv&_PO)62xL2iErc$i1Q{1motW+uPQz;&@Q>;=c)~XbbsuZj36s;=7 zMwQ|@m12XPVv9<#U8Q(grFg?mu|uUWRf>02iVy7+ohrqCm13t#vByrqd-4K5gbVyo zDcmwVOS~kNdK7LAXv(9n#fOxXWQ5zo6&1g{bVF`f_ikc_|d?^cMHK;$P^TZ@<5u~?+}7T;@sa&5Kve*2TluEi_uPp-%o zud+W2__@~p4Dqwo{^W9O@kaZTE3(B~>`yMr7IVsxt(wZu9rh=eW{Wx5$XKq<7K@pN zun`YoEEZFc097N>A%O*(wF<5ZHY9-LU4QF_72mkqi4~dhd?WJA?u!MjCmKlGTflLP z7N3HW%%877-v3?Xl6w+$0Q~;}QVe?`I1T220Zl|NhNQU=eGKuz}JJETm7(3NSzDx}a338@geGRwcBiZ!BJ| zya8kJ2Ib8+B>zFS0%LKj3dLJti{%1vx;`2YhDrVgjy)Q$hAkGnnICvMOfo`#;Qg@0 zWYT2cqw$KEkskWdxy7DD?pZ}G{0i@ao?c0d+zNVdIbmVCMHb6hWqZ$(=?L}KRxuvF^7U%I{@&-im`juu}+UYs~q`>B6tyvop zx3s7x^b@2)F!T>C?ja`d*F)qEMZvN zjWpgs{0mq$9;l44eCKIT4uz7NAXdfLfF7DK>XLAs~y;LOXPn`IZcYotx|M z5C%=YXwCnJng&#~!A%7ywS<7Nsez@fyyMgipe1pqva9qpn9ez0?+3IjGw__0xGXXX zS}l6Lr}?!+JT1t^f$ORdUz;)buc4j?`W%@+fZ&21Wx#w;>$n!f=*8Sj-i?2+8{8c+0v z@rd+$D~f|zuO16b+MDN!V&m0=r!;|NnEeLy<2&hYq06cPdyTM%daT}H=4G3qcqjcP z>aAcD>ZmegKKvNYkl+DueWa0U>hb931AuZo(WwWP;!vtnC7==_>?tJXdONCp#MzE& z0lbcCKfl;8?EJ#&iPf;awuXZzGAs21*~mHHlMS46oOsB+Zx!xwmZnC_H{8*-dVt;s zg`s|Eop{7uw5=W54*D!VmB{CL^&0Xm*agFt>O8iP7lHYTd%C{paTY5y$03FJh>m2= z_p!6}O9yTR`~lds@iZX2bxW}OJW=#L#V#ZB&=g>Np_n7SbG;RO4S*Kxk;ff?0@4r2 zX~aNjG3bfp+3(sz`w0c&ZF}H9!U=XkKvKa8BUX@n3gPJ)04>#o1rc*y%fYU_eO=L$ zr_&x!dgc=;sKc6i7h*s=hOSC*ovai)P;Ba%G@3vk4k)6~1Nvmd4=7LoP8cNK?4yRc zz!prN&<%S6)q^zr!t^I~N5r^T&2JtJo>U=5uHG!0Zb51^T7+VJz-GKkIsj@GD55|Y z50ip#AgC__sO?%Hm@u#li2|!!0w~e`seHi_!C(d|1_Q*^(eMmvBm|n@#q?+6#d&CK zxA)ycCO|;prT1nEFKOkMGG11o_@%!Jwc}8yYa==WMc%M^sx@;)rb<*O11i*+_19S) zycEqJ0aPev(QpfuD<{hRJ0vPlUpTh^7-Ik2n}dgOv9OS6g>HKR=(CfQD4auHro~5L zK+VmIG33zTJ#~6VHKxG!ei_4#RD29AwH+s|(>dXE6NclOcrjMZ~z7Urk z0Lri#`>hy$+OW{qp(Q2q&LLl7M>~tH_K}-#SOE^R5enl-&JhFR_@{TcM~kTzoSws2 z0*z$!DAw8w88CH~0aE8ovmiB^=fQHExjLqn7_wOR4GR&(+y!ijKm{TPU?fnX5H}eV zDxfZf3ZsAu3($!yRDd~|4Ng=T3K(YD!<6^s3oLZl^D@u@dYqH2=k6hYU?>ISgDcq~ z+RLE@ScGEg!H$cFo1_-S6xuU11zAk3b6VNTGEa(rKxBM5$ z7Z?s(aRg*Q_Xg3I#~)>1tQm&do&7A!G97XBAuW$*-S;2C_B+&fA$GsZ2QT}=Vi!iD zVI|tl)A?N}C58t^#NtNaz{0m7NbsfURwUsc-nNw<_%$&!1^1rpW`c-E5D>(HTl_&2~#v9glkYgKpx;kjD!aLjSPAgg}= zm#F{D9_l|1;ne!;(?dH>K|6BW^Nj7Z_2pwPlK*cSO#2 z4j^cc!mWI-jLBl_JeO*5F3&TwMc)K#pe*Gxe$+84xF^$byzF6aTPb)I&6|UesIKQtcsHVMKa_{j3e{+LXCl(+Y3^D;bAGgK>8mxL zYr?bzVxlmF>=ZRx*j#;;K(%(1<<|uyUmts&`Qf7Y5Vv^dN<1C9?NSTGB48ojM(tA4oXRZZeP zujZmhXh(tmB6KBp>$|lW7zS6KEmM$tD6W!7jmZOO#Kll|r$LoX+}mF~dtLwdOul!YcMdJ2Z733_e`$o%40qHm240>u;sbXnrl? zPmHi@ydI@8eJ8a^0Rzb4?ji`Um|JVjgI8Kp#t2Y|#jV^B((`Na;$YY;dQ)&Mu-}1_ zVtTD|q1gclo8Hu^rR)Oy5#DyrXY;^Y>j;HTRGDV4h0zl&aiJ9J=Hz>Trg?ZF>7L(u0dXYqTlVbkLhhXP_vxPB28$#A6+PvD;RUqcX}@`NzENA?=z-OO z0lC}XjQo;?XTh&E1AedH)K7FXyn7xCD+)MZLO!c+x7#&rJzR+i(U(Oxlb5O z&Nmxm1dtG{#-~Gpid-A|Q#7zr zPDgFRepF`uySwH04IQ0}W4(Wi%AbYL6InopLC=Yh0e~au{#K)e0Kmn^Ixa}l-FG0e zj&d{jxx(kE7DxWH6&2uKiDOAP*{E>CjPuB9_mJ_PIcFGH(s=48bcHEHq$`=M#Ro%N zNuG%xhyr6t@NjFC8>Wlq0rSU}?hQ|9nIt zvYIL(TXa+jRwHPn2BKM&yL=x_ELFl3!O1ASYp$|OP-rL$>P~cC2hnj~f&>RikORTYK!8H-Cg`yX{ZN^#Sf9 zUi-YbkLXvkBv!%3l`tLeHzo!2Ek&K!xw`%Lkoa){%|`)hy>W}%!2LOn^#1bo2+m(H z-Z-Xcv+K`V%Wsg75YX2by~Ms1ZM+cexERcoW?+Ii!N3T)TFduq6&=m3=vKbgycd13 zBwJhw>x~rp0giR~OWN&ih)lSTFWqab+o}9`>a5J zT|YSc#_~VU@w(n-<#-49;Or|A8KBB|?1LQ%|7i?&Z3j#}iAX6dr8^fR@MCNK_)g8| zJsvLrYubRZnlIK?Q2tW%1_zay`wn#D zr9OzuvoA}yPb|k~*&Hv9P!Nbp-E+^4{bdKj>33}f9^+a1k-pMDYCiX=ns4l>KJ0Fs z)~OBfo)%kQQ2tKz<8pu=cl{;?eV8QzMWnl6(QeKdrF$Jc)YjyewB(momG6%3A-WDj z1wMUaQ75W!7hwp+;)j3r-+5s3Ckh1CRm0HGh?_VfnGVW+x;Je}2L}oK`^fw~E@)u>A4^bA}+wTePKUyKBGR4!=9LzhKU>Y;meVe=jx1 z^$vjIMP5(&;W@`6-0kWtUpL3CccyCi72B}`OojN=8C&PmKPBLRKf{PW!+<}-fj`52 zvGxL7N3Csb2c0oV5e#xuY<8tXhApbLSz0-+X^I z;7-pxWOJUsX3nQ$p5b(8O~AT0m@o>3ysEdwl8qgWjUZ6|bu`AM2coe@1XvPsrXVZ# z8gLt%c|rx!ksA-8LirVxPKk7irBfyyGCt%BNk<+khU5$ws+56Z9_$Fo=`l1}22PaD zROw8SPJ?u&NoSUHW=dzCbRu;0np-;>m(hp64sjzw`c{Y#hAp>!_u0OCZQnz-?|$3& zsO?*6`&Qe&RkrUr+qc&CZLoc6QY`4)Wfw0aR-V+~;i8}iqI<@t;D#o9l# zSPEAFlYarJr2WHKM}8C%C{!Mp7yQJZxxgysaT1I)$T zl8Q--^Ut$RCV3l45>>Yvw>L5X{E&eYVQ$@6Fbjh41+b6;JNaJN$qz1HZrR7*vp2Ly z*vCJ_)IUNIDQO>nmcBq(-j5;3o^1mTn-xF#ezrWDB~QAa$^@^MFoNU^Svk5u)xgqkSA+B^u`sI`2Ib}nZoS1d&W%gi2j#b5tG0<@DvQ#_VoZ1 zxCVAOMkkgK@eqUa@<5$=VN&dU#1>A>iwuBFip1}L-^#>(=aCQ1=il+YO!?noKHte- z1pYPcY(+&T{&_^Q<4JUBl6q+c=6Z>tzH**W z@$kYx`97qjmdCCM>ah7K#LXCrzAk)@yb@X-YrZ88kkf0EWugYHS={)(ZqHR$!=O4r z>R1Lr(eaK63Rd#C22e@FgCy@6`6#{Z8x|zz$DRw4)}aEh1P%c%( zLaQ%^kI-6QtDyA(q4l-oD?muKf0JW;LaQ-8_M%LVPwbX(@41s5wWO$ggT*6s04A}D zsa6%sF=R7%JoEQw)PS7%&D;YL{~XeiSv^yV5xux5-2yORQF_zFFfLSo9#$|HtWb+T zL*Z&l&|`^@u;1R?#npRWq*!aA3Z#@7{Pkw9yM)YOFM}x;gw3(23cwYj3RW6Lhfy0Q zMZQ%O^_uTpY7OxfM!yTkj+s>vx$?pZS5#gBSRj>0YrcupaQGx`$#3aNL)-z22Et-u zSb=*JVR3$vR;#gKLK$G1%^%<^`FH$)3woi31Vhre0WPYD7ADst!s4IWn!YXls`Y19 zqKnL31=#{S$Sasv1}-83m3Lsj{B`3_A{ute4~&LnjwBSri?%!i3|V*~cXP8$W5ckY z*!EB`n_#~BL$PfUL|XtPv4ZkzYmRU6mL;Z?xv&C)46@)%fDB_$K(N)%_;{N-cTuCv5>{;_y5tGD0Am2J~)!#{y z<>!X;Lc)3HI0a`H(VFJ==hK)RnZRRp3g-yq)ExdA)qcHcBMQfAx0>7f<6%Q&Koe(m zxH?HaF*m@`h>Ye!w5g4gu{9QSwdaLqO)d7WM}HSa1`nV=+}RebkG_wcVr0V`6zE2YI+d4i z>2y?i(C)mw;>M*bTG)q7z9;<(Ee?j0CvCg5P#_WNAWh7%oMb00o4J)rNMC(lHFm;> zr7F^A{W!i~aR>T%5D35>3|M%9Fgj1zc7dk^lfFJqYKGLCOB;YJGF`h{OV6<$OwpE= z9f+*vFr+hI!B4mIu1tCL?%z9E6%5{BlP~A~(filu+&`Mc{7!inJ6{&>&DbyhMeh8A zy63kJ-JH8u*CMy#w@O~fvF8NqsfGGmZGZPo2hhgg7i%2sk+l6ydIQsSkBJfC4EnR* zS=-#$cyS04pG}v7gadziuCLg*wB#u3`&tk68Qts49G`#wHXFV*P(+Iz=%uY_b-{Jv zeFq1;t=;|MELWayWXV?#i2}Jb0mgBiajqW#0Y9fTphc3BeM?Enpy*4n^*g|2EG5b7 zN+BZ?TrXc|BbdFPo=tDVSs@QoExhQN-pDRUZ*-4}-dd5+L2nzxXMakuN2a&nvZJN9 zlhMPYp|^F@KyO#3!IAY|q(dG(g%$}UH4mnXA+(bXY0G*$(;Mw?Jy}35^yszS@gu8zf3ETqR)M5C83HNIWZwOmWutrbU5Gd>KN_e;Oy;1bxhdi6(%C67U4=ov2h;T4;8;8M{2$&w!c5rr`*9g13?MG zx}!UoxXIPr8vS~z0wRh#G0zwKxKmJ+uLZKy<=jxiVLa&OCJ%M4${~@!)EB4UFka2+ zk46LY*g7PnHCHrMd#b_J|FH#N4trzvITq4n;9cAdS z`aRl*x4CW!V8YVZ8L)aW-;a&Lt_9Ge66={CPeqNQHrHYOCbjF#cLyDcmVZSWGlZY+ z=ciBpDto+*h}e%}?XdQLIZnttOE34g)F^O|bR3s{a9i=n=}Z7zV7lr^|c#s;u(Vd??QkAbOm^5*>$Gg;1S_p&alMuhq__q?79TeC~JQtbNudp zIOq6zN?VnlL-NY3{$#>u67oCbKQ(^w=A7gAe^6F8c~rs29>Lx$5tJBJZo>69JqQU)*o}q4EJGU>|ytXF3_|7A`H#W{s<-4hSAZkSsruE zp9OD@w?;RwWdn5gVZHLOJ4J0LPwX%I#j_U~t?M28_)tdc)=$aNx?Yhw)iPIGX_r6< z_tT;ga|X%zp}KtEoMDCvoV^Q;!g0Q8RRLOsUh&WzEqk-W{WRN#9J61Q?K*_x3Yb0j z^4#M#A0LQfr=YnLz~;>`*&vi9=mjzLb+C4ud2H+4$lLmDH6LWn=amlktpMc{N`cg?~bo;EXs+mpL{C^zGn4z zA`8qCZ@mhJkdOojE!N7VMuvQ}EM0*uKWEa{KYx+k-ZVeU$$!dGyz#BGskNTOHZ$d(ew0p*=kr$c<3l8W4yBP zYtPSFAQVry#g&GL7nZb)VS+17=&Gacr40uMNfoo1S^7>{<*#7*N5bF2*oGeQ_vQM3 zS^kKBRX$E{dn|uuj`B14!J9wJfVVez)bghfWjo|gdw!0w#HeZ#W}ZUcf?P7Ci%5dD$Nw*!B8!}5L=4cn(;pUrL8GG z!Hz8}JPLt5H3)NB^JAFVgvL~~TIS_1_AghuB7@NaUWlQ3YOLLhWdqJflO_0~3Fzp~ zX{^HiZiMaOEUl^7c=PG^8iiC@| zG)@|DfqOvomlfr&M|UOPMI#;2%cY7}oHxQ^?KHr?A2!uPsmWFv<9J{w_U8Otm134T zG)YW*>dRKe1IDO~?z---`X7Ti0G=JdaNXr_*ob zrNHR^)K_E>Zb_7vMF!!Poch+F+EMPo^^NGBa*TfDIEpQ}huD#HVaM1e$-?MyK$46T zWuJM+#GLb8w!HZ1Pl1oPE}IJ_p?FhU#&%bE2-7!!c#u29x&v-LK+Nv~y3kL@g*<>2 zvZ9}lmlh#0aL{LW79OJn+zR+8@bwX36(EIS4d{Q~`j5TqU3k%bo?B}sL&4GDSGJ}k zibXF^O_!yJ@yJi(qjNm8_}4P<_pJ1#Mw`h+=R7C;E^jA@lIs@wiOB2##ijjo8zxg$QqfKfv8&i4iuq~74&on z>ImMwx)K-Z-uXgR+UcpL{6~rHC3t-KvR1laV>Lw)^~(IX^skZ`S;9wEG>q!nx(!X)N$a^JNJ1Xg4@Z-n$QlX3xjj z^xm5lV5+xPK841y*wrZ7DBf!o+e`pfNNhA|u^NnIV!p?ifLAWs4)(g?MJ9OuQfxvs z9XR9CJKbP-`A$3cuWE5Gv$*#r+#y$|j9_5@RpQ=L}c^!-eI$Befj=qPJq}KE%#RruG-!uLN?%IzEKs z;j#?F&H_yu+$Y{46Vc&q7Uwf&39Y77U))7SNqQN#E3oM0eQl&Ie=Bl2!@KEA6gE2a zB>*a@UvT+vcHZoe@tyYz_Ljbu{2XLr{%kz9Q4WmDlE<>;(`$dk@%hj1PtA%R#s1WH z(Rx7jzq3E(K|LT%Y=Rxt{?viX|MmXV7_`c~9|^nfPYt>|i$10N)(&kbMMRF>q$^QG zxBY`m`TKJEc(er4Q484twm>AJ}iHm5w#Pj?*(GgqA}6d+;?yiio4 z-4qDfvHj<3OG@E)b%<8U3m!A_>dj#Q4T!UGL7=y`h>Jo;Gsd7c(G1s&v)PQBt!Dg~ z%@~4axJ5I-wLMEO4YVu^{t7*Y#FtnW{0)3FT#!cJ7iQ#S(+0_=wO0l58W#*kg^yF9 zOZPjw!am(9yh|FT6BQ25UEwT8g%6DouxPIu3_Y{P1t+7*Z*;Fx-{0fEw3HmP;sE|efXW8`6RypV&pgC�+#7 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 z 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

        ^6Bz-8JePh#Qif` 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%0DyVsKLC(P0M`isnFfH& z{|G=n0gP`iazNL^a@x2ybA{;XQ8oAD+RWXzGQPX>lsk+O_s3sh{_> z;3T-S#jEqNg~K?{@!0gFQ#lT;%*``-ZrAct0{cY3G|6RevhH$y`F{&06TSxEGejqc zWA|olj00M;JTO)fs>>_a*R2p$$m>4o?^lIuIqn1AP6Ka*0}k&OMEJkIU-`CAf&4g} znkzv#jJ_et(l)a6WcUun;b?-gl$RV}`^i5ypV10m!j1rfthRh;!CB^+zH`*Z1hvr& z4@R}oiVdi7_VlgB*+WJ@)z6XmEi6-ba7RXMz!}@A@I8>>D;7>uU|!^X1*I5=xJw3m zglA)*AQK!E?Dv(?1@P@=!2lpYmFHDj)zsUe-`@?5?shy+dmZmkT<-n^ z?|8oV0N%TCrUrV`Ea(T@agb+$&4m{XOTNtd2EWj`MkswYyk+3i2<1&Yj!?eB-vvyl zKVbo+&vDcT5QEU(dQe*s3R4ei3_>3CpthikP&MPQ4%8gp@^u&27Z{&BymQxU`2T-M zdl&d9tKz9hT*Jm)fJ zX3m_MIdkSEd1 zPx(yJvNlfQqC;16b3&Iw+PAtBcRy9=JR94oqd0P+4Kn6>hLn?bU*cS)!jUJD(_m-u1Y zWmq2Oa0@6RFq6^3M0I8SnF5&NJ24U1pAt2Dbya=I>Ep|_8%lRFCb+Yy(QW#UCTNfw zt1Gk_T-xON%@f5y1iK4XhAJUpsJSRqRitW@1L^sJrY3!wAX>T(*8x_MfH<)35_XhI zohfzN*L0>#g2W72JHY!5AkLkiOT7uPuaDHe6pAbTKgru`b)+G%_*7?WRhJUyyzwc) zO0!B4FUh!;yVmOoh*><|efTFv5Q%6B5xil%Y(QsA)y}TBh+aGjM)j7c>k@YDy3Q<%&B?9O69pVFs_yBOenL$h?VnJ7D#4S7MY`SYj&-C^XBSEO}slirR_JS!{!Jc z)j`eUoh=!ruGyA)KP%GW@6;K_K5uaPjl)e48_^lyOb2n`?kUc84&`XSddYMS?`$Jo zv6g8C%^+7X0JZxS`znD&SI3ux3u2eEx38?N;jO)omow}~^(R&o`dwFi=TTJ~kyPaP zW7Et{vR|uI>{y1%Uzn($QkR^`iI@1>D`%${jYpVqI~Fkv%}B#^6C^E{x!HRn{4f4{ zxd8qn7T~bH(2csI%4B|uFr&Q56mk0YnM~Qf4>Wy;I_}6$rly$F6f=_v7-r7Tn@sh~ zocd*EGR<7#%v|D4Cg#w7C)0IIDfs-CD;YJc{th(pzF)Sqk`(etJn@-Q>e7G)-y z#5m`q=i5nD#mu5R`xiM4(-Jb{tpd45Wrjy`s4>`jU8e=xBE-jP7IfSRR2*dAFh3NY zz`vFX8Td>{Z2S)|Y}!fe)%sN>{dVP}v4z3#SMcFyihE*m59 z01xQoS(rK7?A~{enX`&7(K^I^qEYiC++Dm<5QJ9>F`le2-vy@F#hEh2iB6Xy!Qt)< zqwd3`#8zDJS4m&Pq0e-^?N3neIZl=;lmZUjqiBADM7R^|T%$>XE8gj34w({&FjbV5 zVbqH>i|IM|IgIMMBsJ6o=EnQ|a;QQnInb+oK5zb0ABG!fP!tH-!!~ z-}><=1BFMY=})0y7_Pd2OL9n&Antt={xozTPRFE}33VuwSQ6G3`-f**4xMQ@RN+WE z<1I~xu#({>tq)up%jeSK&Y-yg&g0T8h@(I<77?eaGF(bXiu>``4WDXV@%Z$o=1I7_ zXeA;l6uv2sPtA9MtJT7(pW@8iAD{M5miOz|#ib02C5;<{VG)aHdj+-mN7YH~m5E3_cxQs(p@#=l<69|rd#gx!g(?(~(*(3_vE z;dd%;vh$8g)Jr{2CX5C6Mdptr`gphUK2;AGRlmtSIs?FG;H1f4qEL-4g+w*Dcd_pLh&#aHi6#sepQk`7Jo zW`Y(tJD8CeYy=h)6QYpSNX>3u_)p_GK76Xf9?becG^!*DWr)b#>z**Kt<-sW!M)6!NL{?IsO?sD#VKW! z(F1|GG`=CQA7P(055KzI@E?m4P?7aQq!JU(uycw04;x~qlRHPZx+N2Kn41_vYoL)K zgrn|(yA6j^>_8?WxloVi{Nd)>BCtx*m5IW$_xZT`uqL^!@dva3IPN+aq zEh2%JRaC6j<#y#UE?U&mTRo>DwCZCI@v(|w${8udAD}Nne2`vr2$0c=bc7|Ffh)F> z#Eo*%s~4ViPYM)#1eF#%-2-9hbn1eGSO)m9ho}|jgH@@^TSXo}W zI^BKk5_0=DluaLEhPngkgF~jW?K`?S6QxsXqwQ zBU7o_4Vy}0Xn3cr2?^4OAc6{ak;pjyboqX`FDsDWd&vxwTq$X+x4($ceaDh|XJu&h zR(@z$3Lg&ey3M3tWiLdRfY|($q^Z-{cts?`0^xex7>4V$AcUK!=~jGTI1w~OWNVWY znK}NoKDa$#xt*}a%k8ZXa7LuI2b{Mtd1NNp+vUPcY*;MV>L(lMv9>t~Q7m3>N*&9A z#Te_ybIFFC@g04&I~NXnl&t3IWUzQdSM76)4pXt&?swleV36oA>+n$YSJg*Ja>$?= zCZ4_o?+BUNpSA_*;7`;vvoW07kjEg_L}uFj=1*Xb+1(emM+cjb|4uiMgDp8Ez{eEP z1jPhBR_QTBvg`e58jV5t)!CJ7-?_Uh6q>X*zPzj;GH$DWW=7lOHsyXq2 zlE+i6lJi30!g(x=^Fmd2E-<&!)gY%72Vzw5(il<%YVnu%=;n9TN6Hn5_M_%)u`e3q?aNYnC(3E%f~U~|nJzfQn(PWO{->8Un(RxFqxNozg8 z8Z(zA#te)pU`A`n|d=QA~l5k3b_=>xHKJ9}SdF#QKc)8JwLCWhC(xvQ6< zy|_Up4*!(Y0H29AW!}R(liEUy{I234Pac*xT9B;e-47&L<#iz28s=J^GlLW>;$;n+ zk&-$zGt`u-P#&1Fq{}opfP4n*_b9CqLO9m3{mkF2m^$eN&EJ4~%PqUOjTBfW8KvmV z9;LzLLN*wA5+aLBT;5*0OIgiNctYOHM98-*zTsfzt=|cn%3qD^LXKu`Hpqts6z_E{w8?kjYc2syq)Ncoew=tCY8U5{5v zhwcm(?jFR9p<1a^l)AI0NIs)fB5$f?m&j?`%pe)vv1UX^*%94?Fl5FRtGiEGa5(*V zczkangj-CQDhAj4^7Ji`C`>TKNZatid$xJubVg1I+=bYx(FO@2@{z;0%oMu%% zO&%cK)O6AsBbDoz;4Om3u!x|4k&4(VGPj3YfKo%hEEXVbSe zd4U=rJ}z8vL~;Q+T-QX#c5I6s+8L>BsNG8%n{&feAN%@zdl*U}RibasUi{YLla9_^ zXiH^<)>zT>oIRM4kDLq#}XxE8Nfj$Ga;L#F6H2GyuGhMQxUOF_GfiH%ruvn8PLF-iIlbcGHTCI^4Y6ei zHf7+0DM-S#A)0|(B;vuOild_L1UnR`t7OlT#n?3^eNuHh3nyx&r2W)=baebkdU3)j z?yC#7d{>}A!9`H;kCP1r5e3Hgo8U9UY%2N_Q}ilR^gdIxtmUVAW-PZt%QUGjhS~B< z9xLR+8g>6P;o)S0U2|91{A@(UFFZZoHK_iawwD-I zpnF2PAT>sv#0^0<(Mhz`=U!-gvAZpQP|u*I4b(g|>HlJvXx<+g!g3Bg#nXigjs;~> z;7&z|+R1b<{YkYBx^Eh#j)DWO4>w{h%S4CL95S0I9B$PDg~|AdW69NlpiajBa2ns3 z3xB;C&qVz7ODJ;w3Z_T=MZQvrMWDd_J(Wm7XkL>(u-3dJJ97CZ_{WKFq3AwRGTZw% z|DeH0N~Y}z?PUDble67ZRox%H(r4WLx6xgEy&5dAo^<60Gu^3Fg&^B`Y>+vAdV}^P6$8L{5Yt{@qsAS>~fQ~4bMm>lnKtdhzgk=Y%e2Io%Mrs1T28aSD z+8TDdZ#A50>pZU)JwVUNC1;Zv@~SrqR`Rf!QIqu+?V5yA;*E78l{>awJ!0~$GerCu z^t9Y^k?zQOg(A$@v6LrWo?EjFM841a#IV{;?Yg?JF}+S@+>>|{C*ks{i?2Iaq(Y++b(F58x6 z1^Z)__o!@f^awp<@%l46i25vMGYAWq>>>9&d_IaWykZ9L|Um10NhdY0xfn;3tH0_Qty3kS3**z7K zGCA?_?#@B=gpl8F*%_!<%-hVAFC{Ah`=CShMEqpp8+rA<#YF%)plbnI$G#2rOld13 z@~1|BW$Fi;7=*dc^_WCLpyR^|FDa_s8uO>Ku<*hN>rMq~kOqQI(VM8gB+e=K0J343Q3}hU!jg3cn9)jQ+gq ze7kzog<-hjkwtAYvwe}zv%-CzlYxm4eO2`D%RJ}oT$7AA@nD);Y7SC*ascos_8k`b ze7p`A+Z1&i|GO}{A=Zjw?veBjAhyqwiPLLy3@{&2ka>P?-t+VFp10&ZuggByKwi8N zW?QG;`e`*#mRnGI>SV|lteg@#z|&yNtp$3Ot_x(8ntZJ)(QOG+?@vz&v`KzN-S5sb zryvcPCrK)PgEsL6^dXfEYh<*kOqTqtj5veVLd_ej9kpISa&IM^m5iS-}2ghUlVoFD%B%-Wj!l)RoD-|@d zryZAbWqbwOfQV3k%Wo-;fQ(T3VMCcfWA1d0rVV-AN6aXLEmCv@1~DHN=7xCM-?n+>yvY0T zc4`izZjl#{GG%BbR|9U@c&l>9DuPeyDv#tk(LunzOhJ^d@uS>U+ZfK_Hsrf@f=b=L zU12Df}c%mPm+( zNcYVsZ@7he3Z=BL(ubX|`AOssX=gXOjYuqzOH0Rbt99y3ph?CJB3SD$rsJd_MSPp9}tE3;r#_{o*|Ezw+7O{|RwmabG3y`=kFb54?GR zx4Cvd@E@O7;HS30e&Nq5k8?MIehj<~a71xpg7QXW9q93;L3`~g7e8dg;c-A7?vc`3 zz`YM*m#BMm7G%jK?g&Wzj;qU0f*X;X!6Ye|$$fE@uY2p>-ybGHyF}0-tsJYPn3hK$46@g5W1YKqEaKG?pZ56 zOmHiAouAEz)RhV9aqjy*ky&18$q+<2S7h~cy?2zaXDcT@*3X#@wa3)aNcz_wNCY*y zf4#vovz8V?<4CF`c5s8aC?Z^|U4-DW-*E9pNwVVuQ5_E0_fn?S!?5*F^^LUIp^gLimYB(QWoRu+gD_tX*29TKVVnV^2B0pHNE>kjn`oL*Vq~%i zLd$7wfsPHK&Y7wu(!%DQPj7gqxSmN`QG*uUc|}EK#R_K^T|c}b_62I{5KgIdl%=ho zV!khCG(+RZ+`FVt~AJ(9(7ciRLqh7=SOE~r%lfpy0dU55E=pyM~S=FN=sp5Fo zgU<86D#Ty5jO!g@LsxFD?hJI-`3mZ$rJ)5*LrD>e(&rMY82oN1@goRB9lrt{9Y15AUa0<9r7eP2$dn$(0w@3Z1-rRnz2FQ@+ zsXyez$$W}PNWt|fdKEOAs`{2s^C{0S;XbK)dc*g&J+M47hzp*~?sC8+gaYeJhQZC+`$!ON5DLyBmFFKlVrhHBHEVVeH7rk$q z;(EgkPEqFJ>sF)aM{R2ef|9{_+!W;2&p@=#!+Fp5VZ}=y6?X&@q`e=sc#1T)TM|3* zm;1J--$`VG*JJ0Ak_t3*dFYHi8 z?|9Fk`g7X0rw(V@AD1Y=%U7of<=(rH>D0x~DS=gQAdSybk6ej%WXYy{3g%m|n;!u# zO2)1oU(P~OxA5Jd_ zyBEygl};T8EKes8-rPi9k{Xhj$R>B}NNS_&axs?ln%T^8NSXR>Vq#$Agh1-+3X{4` zyH{p!EFY|s1y)I-Fwq!9qj9#3?D*g=)Pc4m*}Bk$ud~r`?%@FtxUXGjn>C?_1C8q} zo9=j+7TW@LvHvSmYIl9a*H-L&)Vqxz?j6m8%%X4yKe!&dJ`&$_fHNVIsAmsCGOPWV zWa3|!?oPKJr%0%<`}jYM=+s1UCTOl)Ls8{Ngu^C~7F44zH@dE=HHzWi{P(;ndS9C; z;xGFRe&;!_^^+)fG388xIY+M}&hx3!hR;ny#K0YpI+Wjy?wBU2w|KqHi&M1WbS3lX z$S+!TG=E2|-&W8|zX20we=Kpms5vp%c95aw0^&!*?k(3Ebmsgc120eihUybyOe9d; zy~Ox!n9^FLMC2qHvGCkt#_OH?i+RR5iZnRR4C2V?@?=!U(evgY09%8t)s3^=vpBMh zV$X1o&^DOKE;Sf)%;CzC36Q)5JI5(xer;B0OP0p{HwO0p8n}otJ6Br zX*v!~-h?xTo5VJ7EiH{SHKNHhM_DJD+;Nnne^GBktU4Kgjq7YhUq5Z+|btY-e&^JK#4(-7oZeSxnVr{6UBjZFUPXO}60` zWx)68v9^-`*_!Q3>AK8IhvumB2m6W%!J=fVRcER_n5*_7K$vPJwyUpaUU_vsWRjY$ zmStXqI=V7-OoPqtrCwJ!4%oS+J z^!!UZ$bVXv%=VkD^IYbIz5FiQ=*A3SzsMDMA9-U?U}`tJcVu6!UY~iDt=E=&DLK`v z^HyB5VZk{s`?5ok6>41nM_5x9R{)n)X|lk?d`eN!*#Iff zz3*VC>YV^2$!ZhtFgVtUgN#8mmE%tsg=*16Gn+ZUwIXRjZuFPqsm{H0YLIzUPL!DO zHZ5?pSCYuf6};$H_Y;i_nBp&L2Tj55W>QGO4bh+WC+;W6{`GeRx0OUV5{&zDn! z2Fj^Rjazh}oLcox6fb2)L|v^WxJ`?VY^gNyvkGEgAhy)x5RM&&QZ*ePaZ3R;W~aAe z(4-rBPluOLCbKUZ-M!X!G@DwTCWxjO$^_g|I~i+_4$%hH66X$EeND6RzLXMBg4@Eq z{5B)QQTh=pZ$c#ZwwL#sAAjP9u_uLF$f&a=kSbl>l5M9m=5SgxSjy5;B z%Q%r`-^@s${c@7d=TjsY^|Mcx1D)(RVFtutKc-erDr9x30{^VZC) z|Nhng)tagMbJ1G0^f?VgUl4l1c9hdV9Bl`@zNQFwUdPw?HhxH`V}ZC|8s^tlf0Aw; z!cOMnmwCc9CML5(d+aM9v}LEjZ){|A_mtbwZSFmp`pNnsno@~s_!MiZ3_D@66<#%) zS1v0WGA6WI#|V?LqM<9#92Hu zAA`cy*01!oVFD*-mZ<0WXbB?Iwfk&F;>4aYug2A(IG zgAboJ?SmQZf-75)tj=@X$u8*?b)S0KXuY`AX5dIhxSdMt8KDts&2vWfxp9tohi7iSpouWG%r_eR{53{#MYR@Z_4 zT%qGl?Hg5l2c`Da%AWYKQAu0T$Gnp&Ru}coehrj!nWMLC?sQPo{b059%Gmi3X_PK& zTwYqU`%%RzJ6nm@@A6JRo#xcAI!ul@)oo1~JuC;KgVq#nEpAcr4<^xRhpvrr3l`u~A;J4ZV+2Z1+ao8t!qWcufbpr}N>t&AvVOQ!RfcF0#o@dcO#)mbW_8 zQASnmgP4PkaO-0_w!%2v2F4)qX);~IQ~nmMb|^6c_qw2IlDBK`;Tb;2_#2BsKY2}nzheb8g-Y=6`GlKM(?*HRxkr2HZ*tMcjtK3e?avN!6kbP z(Z4n%OY})J%*BzF4?34@x8v#q^@Ho%|m+C2xD!nQK%L?(o8J(j0HtME}8H$8LGz(Yp{fu=p z3qrTP+E0>=GQ2gvw@VPCT4WYAPFf-uvaE3WVTN&gC+U1qworw~n72|H>2Zix=-V1x zw$OMAr7jcG#CuqUf{caa3=J0u7t)DKqo~!dn4jq1ZHEssq1FD@BH$n2>^_ls6PufB zbDG*5misN^54V1c2gog@23ioP{#f2D)1AVY223-+3ikdMC0wMG{b)9@AUc4Bc^L>z z-s82AovrVRVCc?Fxh8k}O3k@28ew(KhDJz$MJiYp!i;SFuLbvdjlqh$E`ZWl>I~5y zJ1b>$HcRn3Q@wgu?$w%$jwSV2E7!1=e^3$k&rO%J;TUZByZv>-RRH`3C7~(zUym zA2+BiP^EKm!lc92==Dqv=FBh*iIwf?^0vVg@)9ttI2_%7Pi&> z)ZaFnMR=`9%{CBAXy^$}F!v3KEgOG8YzeAfYhBd6>2|itVHE~|!r|}s*Ou#a$cw3i zR_|VN0LMDYR}^z_cu{)A2ZZ{hCb0i`N?vR4SR*3po=H2ljl*d!z`5q}Lt+QhQAo|b zka`N+L^f$)UXQWRShowm5pgwo|7{^`{zVmn4 zGq*O>xndi=JO!Z>ZUsnzVB`BzaBYBP;sW;UWU zz_}lpr$z%)RyogR0aIviy{HwtvmH3^N%Pf|=xo2#fip zYFKxqWqtOY7(Z9NxbOC6ndx58r!Q`=F>L$tQyvYzAc}j=_-;k-|&4JNIG%6>Ql-Nj)iZrKwi;g;*r_=G;r6z1_lb9A*Knx1PF1p zLF?}S*HXiD$@n$D*qbJb;8ZJpqUqDzb2k`=P@WuP&xWlr?HVG3*=l6lu?z~HtE=7k z9&l>RLv~OK*^0Qx?2DOb0I_R8@@py{_uQ7+qwj#j%>G&ahS0_LAm$0;=Q!Jxu(Ngp z#S&8@&f2HVmr`f#CiA7tS^EdRB-d)?gT{?$C7U-Htp@6rGN_t&)6PwLi-Ui(zDu(8 z+_Zzg`Y&%oXdt#;zgvr%87pxAY6qoB2(?OW!GQkQ#a?nC$6ry~m+Yw7!izy7UP^xQ8cFEqR$F%jMR?!pYYoFhNR0s32XV|>hr)gDSAFE{ zC6`gvM;zE*P}=HiCewvtfpo>EQXP;biks@$Dno$@I6Z^a0gbESO|w{k`*@!k%-Iv( zKDdLIc~snIHQMzJhRTj72sfBXJRvMWvRR35XuRDWMQY#2T28jV#m6RZ8D<7Fry}q; z&eek4^-Z_XH_&OdP2Qw3tp%-NE+*Q>1A0i_w1H>9$;?c@jI3)B12nmV@fxejz7dsK z_v#G6h%?UW7}tNW*V8es(l<|~xZ$)x`QwE142|*`EN^@HldsdFZSH6qVYo*jS?d&N zJS;H`eZqu^v_4c=Aa!Nr26o}I+lOizTO^%ndLZ-MOWR1;<>B(SI{Jt&DJ^I_&3*F8 zPt?tcHsH5hPH6Yvry7aL2FhPpF=vQ7|RVvBya?k)R13 z8lDiZEnhHRYS^lq@hcz~^?jcGZn9rw(02C>F>AP|pd4bPih6wdMCZ*XNB-p8c$d{f z*PV0~3(HYWEuT`}z4Cl-sf(QeBR%HlnKK1rA;6q`H(*4jy}oLb`9Tz3T?#cO*jnC1 zFvc*<^3MUgAPzl`J9Wm@{!vi&v<6D`QA+x5+;psUdmD55As zqjf%gqxpTbP1MwF0{`?v){l76T{C?btxiZC;IT$fxG<3vxy(TWsr{=vg%GomeyANB zU7m{fZ@t0LNzLhMop(C)0)wH}>SlwnCb!5uFiDdF?lZ;a?LegGG3+$D@t}H;!ZsZ9 zhd2}H?N|+a&KSkz#JJi|TDDF#$r3phQn>HEN1*@b2mPe(5GN7dz&<=I6hE`P?To}y z7H3po)GD~uz4#?j2oG`UT29yK$!hb&+@X$Zby1+%tuf&#B5(ds`Y&cH)fKW`;VY~O zk)FaZXcnDJ-ckjg%rUE(Z6>n;@8Lb`ps!Uk=meaQgSEd?1OoT^VoSN#a&K{L_>-ET z@x4WDUopC~GWnIJj-(`6u~t%+bx>Cdnps{0dI$j=rp=GoxcHv(wo}dQh#1Bw2RKZS zsiO^g%Wz0^he57e*XGQbDiEv zL;`~E-)SCCw~w7JBW-XHaU>WAQIVW>2M@+tJBUa!sXN}Y_5OXBXdtut4GbVnvE7WSGI1IKkwJ?wK%`as~68r4i?PmX0NI zb@UBdI9^prTlq9Q=n{{zeXj0lP%yPxO~#{$CF4$swtfX2wZa`+?5Vsm@7h8=1^~4! zS$iUO*!97AJrmgOcYfu8<~6dCGSSv0rjZYdOe6c1#$i@wZh};08L2S5kld#+iY9jfaa26@+<&Qx+|Zs=Vwk^1Q{Ui0iG_wN}aE%p`Inh`88`8i~b zMBQ&qFd;FC;>4`-L_6LhotWb&GPBYBrG3Y>ZGjcx)c8bw`M8Gi6-B9&YoBkI@5Cd6 z0FSoF&NpMeda$7c@0(nyAHq^zMjx$``ODS8Yc=TtOuEGhqy7N`dsV?E!+vZDapbwo zz3^Z)8CKjg2C59C7_CNvKu$I3LMkHGLHMtL52uTn1UL2D5;#f=B zeb=+B2wRi{IJ4zz+yUl})7ply3y;c;exw>~jkR6_xv%w`p{LG^KWUgP_QgcQT=~5e z0Tu5nd{j=R$FAZ}XcBt>83c}16OAckdFF`{H%41lQqZ(J+_qb@n*~EFp0V4((;Sve4B8o1P9I1b)vz%>+$t8Kxnm?e=Ww`DXO2qcDyWz(JG)wNm!sZIstDJ1FSvFb=I7#; zL_>9EybR~M#N7gge3~=Du`A(LCN=rA1XyK#OAlMq$P`yBY za=wgNG%|>5VUa-|`6Bm8n^q2ZTa!d#6*F@Iis zvc}Ad?3^g418+`*9wDYzu9ihiu_C*mr>c7D2gult91|^~v#lKH255!8Wy9=Y>dpD)Cd>0kpfmYaOle5Wbn3K5Ku#X8ZmWxX+ob=*R>BW`l#pMut zi?Pber9X{ps9Z33T*IhEQL|HM=lo;W(tL|f3~4{V!rfG05CK!jnArau+INoJYIz|@ zP)4^nx4b#cAvePW96amC1jnA;p9xZT<(URqlj(5B5IEjmS`ZWWcmgVAFf@si1bApI zq&do_7nQoRhZ&j5&9>gNr~wMF?T@yq6r(z_cIK#sr{-GSZCY(jP2iBl=G4O4 znd28;n|=G(JRvB+3Jro%<<9fT;2+g?ZP&u8Y@wD zt@~>m-9ZWWit&oJ zu5Ab-q8k(hm1vj*L?swWwGDNlvvI4hu4n0F zLnP501+51prbcVGYPXeace~hWDd~=l!k8!{OVwsi>(5X&f6R)piMB3EoyBfeMsNnX z;n{f0n@x^53Cuvcp-y_;ar>x*anrzjGsI*6V}>|TZx|@9US4gcQ08D!Jx7&T8kFxV z6T*Kh^frk@WiMa=FwXhR6?E&w{EFILq555vWj4#73Wl0kRLWGo!wv4sazs4U2)_8y48UwNSP1WH5^oqF* zCC6&xv~6ZWQ(70pZQuIDBSq>c=tj^RXQ3KUTVsRcq#~r)E!G=~Z&3ohV2L!ayXmwvu8@rO6+;KMJLVLbpuGG0J=Ve@4AQu3bIm*VTy zMgh0LXA!naG?pQEY6fzqoJQbYbfku6m;1vK3DM2fx`g+`L+-Vzo86$u7q2;sjLi83 zi93y18sAA1tQE5RkzwvB9BTurGw2?NhNx7-%;d>2J@ruuDZ5^n-mITU)~S2aznOwV zRQ#3?l<8;x5NJu4MR@C~{UhawQ}%Jj@QWe_qUhm`YGw;xi>EXeZE z-j!AW%pj}o306>2XV_qenlKOQG|3d?Q)sxugnhCY$Gp z8$&mn98gL~c_4Bi>K;4VXG@qBv^>#_@gZ|#xMyy(9gscO>f7mi2EPN>z|?LD)o(<0 z*D5=x?vF|Q_Qj9WWCjI4bIG>aym|2fBddId7*Rpav`tIk3UT@Q0TAtGyjv< zXG{eqf_t?+dWq2?xa87}y1zTwjI}>yq?G5m`7U3ve_q)|-NZVBq|F$!6KM2|%v2g< zPRAXqd3J(|71eCEibofv4&^cNLKAr5>|)u-yvjcwhC|!%>Uo3z)=u{;Z^PFAEa&z{ zN+8y)kp3cu(zq$*?aEb`j9-;?y;yU73G)5%4|CdtY@WrXKtI@-S)Mw|3m#ldkikhz zHHamuKLUBdn%00&$1g>7w(@;VZrT)43_4p1?hjbay$ah*nP7UcU+>%lOaye`QOOSy zdT>VxAs84}3HIttHbDxyZH7AKbTMgXQY&F%ia$ZN{pcJ9(&&C-59TKQAJPZ_;0U04 zxXJxr+ijx0Y+QZ$f-jT#c-+kJlPa|EwA4(304}D!$$Wd1hmJ1ZMO#+$7f(`!`*Rk4 zsgUJO?xdmK5Ml?*8#*k}?&r#c;Z9Q-XX>=Bdpif>ohEm^?YaN5K5&X1x7@m()*DLv z28=b+=jI7Um(-GEX3$+-kYFPFcAex17#!b3Fk3a+_%or2&)}0a^T25e*KP_mbU8C4 zs)D*5I{`Gb=)4KJ6bq*!{wjg1MT(qK9LDJ9`48;a6xwmOkVZdO!cys7xj#s{kG@|MVV6qWBHKixs;YU3iX}N0E^Y{@N`IWwm&)4K-TL za!|w>fP0Nf*8{}suB`nli9>z0sz2CRAEKfy2f{{fwkeEhp_i@w87aYKe=9=B( zCWb>3Ihvo{3hw8YTlO{3VBB&uJu(qRYB_|L~wupQmxHpy*mJo{IfAjPP=oil4ZG0IQ_ za~zL@-s~Gb!Tt`5apa5Y@!kt%= z*X(}NnvDO2{(_T@7bCzEvm#YpwOjL9Z=2!!*3{_))ZtJ=6NK*Ld|l&a1l!K6Z75w- zo8y&#P}YlOG|c$2sXK|#BQkWn=gpZMIPmeKa2GSRH&HyugvLV##py)dgKCWBh%xJH zU`rt4YbZEH9_~cXL_X17%u~0UK4kz2@^>in;KtVp+;hLj5gQtwkq_B zc%@fj+nX3{VH=d9D9a%EqlECS=R!C0{fH8NF6pJuRTD%{|{Y9458AZCvHtof;7 z@$-u=fhzhEv}5$iM46Jq!JTy3V=y9sa-iH`o~up!JcHZI&2#pS14tOuu^VmA4z~pSTg^#-vNuwsz=@VR z(TEe}PO37Su=ww$ruO42T;DsM^#3fpoHzL4n7OpZpE%#2SX%1zRlNdP&>!M{+KDek ztaE2oVnW2}s@h(=b-_3o-RaueTl;)+{8^#1`<%U1f2nLe>ppDHbi6AvrS0EL`;6U?&!20lft=gr z;+x{M+FpO#2YFmIKuBFm;iTV5{yMJKsq`;9^@nhC0OGCz^7XKRFE2?}&KcD9zqIsl znvwfS)w+mgi@L9# zYGq1G|35Tk?1pAm_^7+UHdVD3fK11!vLz*2 zgNcSr9q7Jz0+q-5y$8~YLaV*S&T*%mB^-vUaC(w{ zMd#ZAi7oG=s0lKw+WVyNn2IbtNC3D)ypiy|O@?0a>U45Ndd0VuO)Yk4Hpot>|SrdVfpP#>pX?jrgA3T`Brhz)6pvL zbgZwwlz~mEn9tWSd<{K9H0?ZojJ40l@^w64ds7Ai(p|g%t}?{4TxF?XLQN&0C&c&o zLpOfUmTh(q$ncR#VcYEf#{!!9%!&`zm;oTUa%!gOcv3#Szdmt%7_gl1KHquHGC+VJ`SUE! z!~ka{{1v0?{X;=Yo0#Fe(e(j-%xyc49nIiqc=C+2kDEH-uY$$8yR&@sOhSx?va!o< zwUwp)B?^~hd47>+ziO7cvP2uVcq^DuMn2O90{Xei$f%OK?IzR-_6oqG=)rspj2;e1 z=89p`&&^>=88CpJHK~GqMk1X#XZB;}BH$=)lFfjib0ENzE6KkeUA4fsoolR?{#r(b zD#ia+%z*)CZ?C)#>W@_C+5QyfCfv@csHC5AJLUNnv{y8hdbgEPW*-T|drDBL-ruq##CdH$fzMt|q^gUv- z#|_k5sTl$CkTXvrR?xE@AAbwzBfZZ9d*VW@5E6NXI)2SBfGh=Uk1x;z4dL>Ou*kzqknoN*JRIfGCF3?j^MMi_9y!sHZxugQJb z)%%bJvRv0==|Jec0|o*v{fPs0;z0X8)SW8wsJ_PmxKhSKdzw$y6Wvs__)8+eXjUAs zS1P>IM8LOe(0Af4BX|1Je?wu^)o7g)($3DQo!6(Qb~dJ`IvcqpO^>#iujcKRshyYd zb^_Z(I%wq=B~yb**wt3rIlOa`&o)zED55nD>YVBCyw==u7w)Vt>gp}+oJo2!YYmx8 zo6CB2$7;sE{%QOjg&rruB<*=DorZo}Mr?BY6vvdTH;3R@;zgVJ>zU8H)b-j z)!8cU7|}IoagcerwdS>RYPKH}tnfW&%RT4p>Uv{v*SkYYo{RT{(-0xF8h@0|5(THm zE`*9fGG5y4=exSZw9c+a&tiNdx@0GoRSYWY6rjP1%u{+xTo@eWPpDra`fTArk%Z1X z4;qt*3sJp)2FC^hni%n{&;etYyuzB~6ob;Y!X+;`i?ion2U0`VWj|`D@!W{+uHLZo z@`xTN0z`v9wXCVoi=amj`HrAl*N&lGZx1fn==2$!*Ss=fr}N2(XMImqy(*3$$=$=2 z7)pnTlHaxC0Gw(iJ4is={OL zBt0ihLy_QMgU%5fNA!&74n49t{?tx-3G{YDrmi<6Ovo7R>v~f$QIV1@i0sUq5oreK zwa!&6VFY^-B8m6yKxP5Kujb}FyPAcSNjFx)p2#Man-N*{@ha&1SJ}ZY`f%Dazb%e-=N3!plajp?JM6XelpGX7v2j!92`Dkj|A|V zTSBIGa5(OzBb<+uOICjLO7fx=Cl3uhym`$nL+r~z=QOna>(Ld|rDhSLJ@oLLqIAhK z&Yb$a@eO;I_U2=|pLKQK;KSz`WN?VYT&Q{>*ex$ejE!BX73WEs#BNWwosuYYu-7JP z>%bGr3jdMFj=G^wnDDGp=BCsHyC^y_?RO^n*Z5C|geQ|!Vn&eE5}p3jv3p2w^3P&l zckKslKS^E2?Wh;k?B>4K|JKLP**T-wzI`BF*Z8Zs?zOs$_L;(+!D`+3TI~BvZCkkQ zCyZ;qcd1ruz)1YDp@)aD`1wK)Hx2)D$KDE*JjZCm{2T&JBg(PCq^Rg*26oP=IH2pzK*_7lQ(b=xmwezn*Y#Fu z$zLc|NwHy?7+a}ZPTf$~j#6_Xz0~k1#$)^n=%Pbl92mqaq0_qeKn*6I2|rXMIBHE> zja?y0^(A6dMBN+rh!{E^L(^K&%+YmPg4e@oAYC(QJl7CIm6JRDqx0yotL;HdIIe0K zL#0wGiyxeqI)`+&`V`+6?rbVF>)oKvdVl9UR!Agg=gcClsP){olZWQskpOqw|NVdG zeyK@k_N}mD`zdjaQj^!b7XP?_96K!hYl_!g%;EAtGB~{IL&j3NcSHP16K)^sxK&DF z@aFiNpN2YgOwgh7M;qCg!hri9bP|Km3zNTi;svh4c>KzO!$a{~q%KiRnNa5p?{k_z zEqFE&xz`Ea>qKs@^F3qc@V3x(MYJ2bHgb1rZ1UH~3E|1#%F$3z@N8(|uCe>6@!nP{ zg;vZtrO&Im-*(^IV%`StHtld)b)TN!+nQe@{9j9y{?`)a|FuNre=Sk{c_o}zYhLSo zVcg{R;mWM6hGkZ6zdQ;*M zOe98us%+=ES6zP$@OJ3`=eJlkRHl{DCjwrXGpZ)J$S=&_xB&JM#IcLTC;RO@5xM*1 z;mJil%By7OoKw;ZULx0G>^Mo`Vrctt&119de7MGL#~K#CAbH0pTk!a-2qedx_|czP$FKV|^!U+{1vR%h{+s>2 zg?nl?*KE5@{U`jl7Di4i*cku4FHv@P+n~gCpE~}#ow8e3cKH^*nHt;aFV2*&c`do9 zV2wYNDZi%dP*c9se`se}$dvE7*~~OBLZ1zNPQ#}LSasyh2fMB&SB`^R8CYilYvQ2L z<8MY54B_wL3yb3$4tpxTA^21(JWw($xO`0Im?fjGzBX1>pzk$HMqS===>q#>?2=Jm z{pymcg4t(}DW7-Ug7PI}PaRc$_U!Ycb7nP6nDM3Z%a)dpzjXfm1=rPGH~-3O7cRW! z#OoGZb>{zz__-~kAMVVHFBo(&PQkw&i98|TCU$|M+0v0%nfr=^eNnGHiF&M8b1bH3 zm(2dysnR}ovD15|+=_F31!ma&2F|>Vkv7_Aoz3mfe-Kbe~JuCy-Be!#ZBA09J*TI_gyd0{g zr45=x!zPo%>TRTY0YcN2Qeo+`jA!pv#BP`lot-wAUSYtDWjf43x0fTtF_?9BJe*9t z^T1y27HW3KM!nPHm>8wx=||AJpK#pVxW{O5CIpZmdAEik(VbLr zATd^VDxfaZ5Fk;o)crHbCgM-~o84{p1Us&eGnF~zGgThqjE=t$-pt&%r=ZwG$o;-P zl*U4SKwU?am=$&t<{>%R7~B$F+1nt(YePTk7VR|qS{lXDGM;cYTVWk$W6)gClscuS zD53@$ShD3~R~&HEeeOL|kMP-;jRrB*{=&)?ZBc(Mck`#!@BZ%#`|J#gPy4&BFPwY0 z0{W*38#V50-xLDbbNiCPBwxPzkf9iSrkw!~#5&WL+`Hy}O!_**>uUq~ore5qFCOF1 z+97=B%i2LvI%EamdW0+8k$R2CJ{p!yR1{m33osJ~jmrWYcxAn{N7L%j1+_3n6J1Tk81qN8GjzmK# zd;Nf<#OUO}z4Nc$WQzGY)5dv`?CVH+e#DL0*XB4B_I5Vo*}j}}jJm+S;v}_PsO%8C zS3wl8@Y%$F@BGguenq1Iv&6qXkN8boNMUKpRJX*ReSjgpNhO~n{=$b1@kMx)T8~!^ z;ae2y1ns}UN27cDmVDX|ulm2B{b|5$eJo}V+7dqk@yYoVbxUj@zrk6DW}syNQd7YI z&mQK1-_A+ZECZZ+m&nLD5NMiV0WY}MB9-2))$D~{z5W-;Oqa^zJfW9+Vk5_%;D(Jy`MW*K7xsJc>5nrfgCEl0oED4 zhqdKdm7O7f9-^b5;0YAr^wjvC;?T|aF-rMBacvL;bW6g|A#>f;pdG8dseVOK20&m-Md2e%*4_}-54!ikEktd zBndZswBg3tY{-3xK}1nlUquR70bsN;chB8s(mBN@!&q;c=Q`cdv5Gd-pVE*qlrSF> z`^|22j}GE1ZwOPpQAaRH$#RZ)SPn_d0Sd;U46G8W+~nn!VKX5aXm0Jjv=5EYAc{gA z&v>1!cJwq>5$V239?>0#RAg0NTCK$otD8h+2B4OXD z(-YMEG7cGK!5fng-g3z4fhV*8US+(`AL=04xWUEhw`mygw1Bo2x#R3zt!x|(CYWk1 zGz6`w>2y%0RUV`Bamw4Wp}exq?q#-Y@3++6#Nev2mb3|e+S}bpDp34=dZnG-Hrq(E z``3@MgQQXDiDlfxiJE5jPv#Aq7d&TC`pfNx!e%msRu`K3q-4bh6*lMm%H7EaX`~zl z?md*Zo-*(;UkMRtE$H2yq4DJ(ddU_-9XjzP{DN0jN5h-f*|#{2#YumpfT5^?;Q|YT zA@8X${uy_Rdsk~~z!oBZV@&%T^Zku(biBbGl5!*~!xYZGggU;#@ZA#wblOD*S#jXa zB7->Zb$g;oNU)mLk7zsE@&f>9xtBkP&_&O9DiaZ=y+7f#6yijQokVRX<*L3bOkRoEBk5F<+iVR&m(V-bknT&Yos^;#Q`XxZX9Ay7ngH{D_osFktRCbn{i(*vw5${=klQ_0r& z!`T_0I>no^En-1;b+(C8Wm<7x;`KW{r&`Sa6__C-s#}rzU)o?ybkq zoR}4Km$8ZM@%>cb1jsR14)b^_&^chC4aQ(%1)_#`)v-wofeb;DECZaO!GuX7{lXg4mGz zep5tesm4O>l6-1kvoXs#H`#_LRY$48ImWpz(^C69n1=VG^si+|emfPm9iuSa+m(!! zq*JwGLpv>h%_yTS|3e4fNou3)D55di@_n9WChO*I!|Mz{T6MGgDYK{dbsdlZY2u2% zE;TgjZD9)TtG`}8%Y<^-$VQBecdhb@G&x*qZ6l4sD<`uzaKF_nNu-jqx2#^d8gS4n z@8qM=t+nuc_LUU7W*RL(XwiKXrS1c^%bYHdAIkHTN}CHH37nW{+0QCEBY=-a*ph7{ z6ZM1Gws2wwnUkh+?@Tau{AW%?LfN5?6@q?SqKVnp?4D=eizlo`+~f{F(^L`mbD^aJmB;I5 z2&X|4gJG^0*BDQA|Gvib?yY?5X%y(Stdd)X368F!Bx;;+AkyPs_P!L&*A5j#P$MWL zYnt45)>>5c48BBiy037tBHIivZndv!d)kg-AuDBON|kDIH`(Wp33IhPjB%fkUT~1) z7xtBR3ka(XqcyQ=-z2L5la=#}S|;$$h~qh_VHu(S!G-=>`E}DX9LS0e1OC!lE;$Cw zAk27e>~0C=}DzziZ&lNk%ND1-B z>dncZkBw52rKqO4AEDH(%+yB8h1R|f-jeZ>7LxJZc@Tf))1j-Q`RbMLTjTX+%HMCw zk2U2d@E2TYqBRoaM$QLrNsF>xRI*qcBNbH(UdK|ZP=sMKDHh3o=Kbrr_vh=q4#af~ zwelT#FWRRQ-@#y4nQVADw&Wf{rHzQZ0g6teyiZQzinI##V5 zQY4mbTVx1&tDr-g$;(yhR^THyV9<5tirKv{!Iq}j5BnASPiL-J#fp)=4`hnn)34Y| zdBw^@YmIN#*qQOoPosK??uM5t-M2<~NRj8dAa(^2w1YycM`3TkJ!SQvI)jVGK7%Ok zbh>3b>IIK;b3@sqSe+-r1XvI3Vv%)Xzuh1q#XImyB-%4`O)IOdoN-hpQEb)@<(mF_lyb z?*}S(sN)X7rW&4eLkyj=7o5@PT4g$6Gs5YLZz!}`q$hP{s0`J`+hcMNohA~iu>fZ? zd39f|A!YQJBSi1fw9X(Ww1I9Go3y%=gi7lKvsfWTE*yTptKZG;g|-n-&FTFI04L*z zsRP@>8M#j6?W3wVso6a?_gqF^25MfGHM=W*;UOi|abpGpl@{oK{mgsSPF^!}=e2?O zYZ-{YOD23n&GvH)n6*wBFyV_AkoWxE*hOXH`739ty1ks@lTzR zH6bQ1Hr?aP%DP~a@hR%VRGwwKQ69DS6)5&B{n;^Fe0N!JcU_|b#0(tdPu5@7Qs%LTV?C(E!-jWmYe58|7J91wl;TL z4TFqOo)U%|yUAUR7A8P+T|kptti_IB`^(i`ZdA?eF3TS$pe_;68zCVRy&C7MfH~DY zYlZ33nn35HpubHlb5=oDNH*zCQP8JzRjFZIjWdoVxK0PTGD`VhFaK=k|7&MyZXxJZ*zABf7aQiuStb3An4eJr$>r($9iP+m z%1qNLY??mt^P8S!ny$FA-)*87oc6ike8F@A^Ly2d(Y$*0=hpe>nHs{%{{6gv>gU#3 zM;$ZCylSSOBL?;}z(i`N5=Mg!g^ceROxnvmg|XqJRhsO6heacMtBEr#RYMdz_RL^x z!k!{1Yt8voSz=gxso&QYaY)4(hA~tJu|xQ$FW>0tPo%+uc6p$%O+m4o`nR`zUN@iZ z64@~O-v`=q#(+ve0d)GnN*TK+WAl8IYV5|xSCkcy=6*$aLF}sd3gXZ%jjtfi^ULuS zSRLmA^9n|>RC8-_wR`)!W==9uxOgSrt&29(ixs_4>fXooE*Q2^x4_H-64@am1MO!~ zBpJV`mA%+wqb)xHKi)m4=22PHc!7+A3L)^tUwgtLH|ZtK+=tf7I(2`p56o8gKKrH2 z{igj=?%rm-N*{})Br*tG1Mai4a%FQ?@^T9yRH0yZmG!{SQu1_zHxG(s=tAyZ(qHWI(jpa6cpE#Q2FB!_-;{+w`&&~V1pKc5&V{G?gzENJ^)J2_?5)pMD zu+^j~-a{SRypG?%mZsfTpUlwpEYo1j<}onTyE5AHf7p8$@TjV*@jC+nCNesMjv6%T zM5i{Xsb(Z-T@Y_wo6B40F!ex3$+^x4rk;Yd<9f zDf4`XMz4!DEO0@8^p}0`8fQFCUqx*aZbR$dLNo%^nf~SzX`DEc_8>O{mPMe>UYX7D zHfvkb?K)j0;Hkvkv(16c-`wG*O3h*WlKM=|Nm&aJRDiGf^Wn#LMY|J{42+zR*3pQU z+KFE|fXRHl)*hK{caf|?$ZSC-q(z`?p4+O`DJqNIjM-Edu|<+J(D*KlP8 zJV@(J&ESb5A%U@ozcMum%I&kymomC4aEw5U@gn_$t=P(^Knd60&CX=Oe@C;}*R(p_ zCyTGiENaQPs3%Ue;XmAQIQ|)j^I{9aIZV35E?B??Pt8ksQuAy<32*OGuZ+<*S7uSc zLT}{EOowKhmVu2f02xy-ZnI?(`&NX8(}9a5AOh!~gxp!-f9N+3jJ^1;{wEMkv|*kL z-|fHXODCAtGeh<#~qEP;veR(BlP@|WkG?rvoqh73B zVwt%uEutl|6@j06!iKRStN7f)-Xs* zOEOSxq8SH0I!JOC37A=bUIsHObhAR>D;V= z@g8PJ=^==ymD6J<4V?Q$zZ&O zX)cD9IAaB5lZM+OG&tzTl{@(p%HcvE`nYm$mr0)v-=0LI{kU>Ze?mE8dS}Z?q!_*B z7rgO*SPosf2gcp`t!qDhSt^x_4LED`SppQ;Fi-uTK0Ja+ z;Uys_C1=RvHTmKyFi;-n6iCf7eUDeF+<%WpSUX?V*=QGjfuoLzXynT1nmbm zDFP^U36SVVWjrvopEY?ALuQJ-Od$-=nZkdDDCoW8(^nEa6FDKr@xPRSP&rvHaY#C|jBpn@L44vxO9-Q^ zu3?&8vQH<|pmLn-4^`e>J<{IzR|dO!D&NLKSYjI3mF&;pp8b3eXOd2<30s#};`S4z zKltA)7i_TT+E{PR_oXl4W5an8ldA!OyWmMhRZ7SON?w+2&&Y zF+|)Ws-YF<)~R3cMaENH!<$%6@ik0J50al6A(4jDwUyVN&{oo4iuVE0>WsCpqAg+6 z^X%jkPDdF5Z(|`j<242BgNa>RtAWL7fc0Tt!&P++)#)eX^T!2v?~m6rOGQ*j+yuRp zHPTYk=}%UVtZ6&~hQHSXN2POUkWTrOp9nx#7ACNBwa(=Be4D5%)#buH=+#_?GEZ=E z+0PF45II<+dl>`5zLh)=0?)kX67 zo<5ey<6HVzCXaL3z>QazCgRCWMCXxH!hH1al6EJ{(FT0_D9n(j>=3Tuu0 zVis$lBjCoa+5g*h6`& zmXIrKXX~?4pZ!C9hP|4ugur{wwO;`m6c~n<{j&S$wV!hzefE?3=xZp4QQt7lrMbM( z*YG)5SxsfweDdSUfdB45#9(^B07%QsHN!hyi&1uLmfa;NxV>0!Ik{7qft-n%p;(KY zw8J?e&cEuslW*b*Fj^AbL~7c@g0cvSHqOCFW*Cbe`t6m#E&^2#8k~i|a2L3_j`qrR zt`0eFTm|a9=}{W+GN(@y;vI{3u$p=TYt+62sHFbPQYAznro?4l-L+lREoWQjov4l% zys)r1kNDg?g;?!g(Gu$%>9V6R(PA4X@{KC~Kx%TQG7~1Takp8-B@bC*75X&b5Yr_mE zBaFh5-1nH=&;p^^CXg!K9_My@CMW?)(?tD))F6xhVwvRItJsy19%PpDrRq6a_3ZSI zdV~60B`pVff4T2|y-h|=Hn2rH35N$dX6E7cUo>ko@WWQr--Gdo~c z|F{=%AIC=r!Q!Nj9PHU35&o4sh!b`aWGN4%+WMt`!S?XL+W6 zDB45KK->Gdfy6G-pi4sOtEh{TQGBn@L&>RO|2s3}kfay~s5X{;o^ig3ktuE8Wtz!S z`go>Q-2;Wvm80s#MM8K*FP`CgsdtUo?rFRNBA;M!1l(AD70EllPM!6IvnIa`O8N@v1;D8-%AC$; zpYQGj;(&k>oJ}7`n{kAGrb&h3?JW@13n3{4)3PZgsq2I=bF`X1DNhgv2g%C^mE6LJfBUDXf znpn@ErYQhp?Ch_9RiR*GeV0Gh<>RgoIT9t^JHT$JvWLH!xM@Pct|%cK)NDluH_iyi z+)*E}caMf;%X;S`sldL>;4RiOu<>LXjrDk%uIp8*{#emVAuA~wQ}+omFklV)hdVoa zG;aUmS7b!yMb~fw4|VPe#^fU;Go7#zsJ3tUNFmud~Ow%rIx3G;|UTN%e;EXTWeF&Uv3{77qhU6;hX}KcH5o{QsKV^@8qC((rG>q@;s(koiPhP6{KMsnu*($$NRE%G zd~yJQ=Qp077*kc(Gb_+DYiiUw$kib)VCg#atCT;k(mG)6Z*G}`9GZTq2l!J~*{ z&~;f5??v2%Cd&f*y#^kf=xf1P5Ld}_jquC}E|EF(N7r=tb;Ope0?E2Xz`pn~Gnxe6 zdmqSC7$H4$PlU9jBQ)ylH;s~E^unn{qzmQA4J>J4()!VEk4C4aIEiEVG^zeMfD^K` zpZT6pEoj>Es5X`wNj{m)IJ!A=)M{FxN{w;~=GbrJt0)TtA~nje%;=xL`F`y%^W$Ns z2*$Ao9|Vhzv7C_B9V{vstOpUr8hCwb4sp-bO;BE`fQ$;fRnqQu(?+8*g)4vYfU+&>Z@*9v&+C4|MVc}fSb0PboBcXCJ;2<(2^-ef|jK7L0*X< zkKd5^{M=iOblRATHe->pqm}|g=gG+K6Lz2v&FmNe$s<};kYk(j{&}sDMOm@Y zN+;U4G2sG7fVFQl=1E~VxFAO8mvi{!gBLFhymk0x9aGT4b+tj%z}e* zW2Z21hCQxWp(KYm&Ic||3-zQ{Ib8cws!AD&;;Xma?#)i!W70EdIO`l(|MMVHmqdvN zy`@tWf&|jdl^dfn8JAh20YfTm>eFt8vxF(^6}om8vO4z@)a?|o9JPo2P`E@UVr8jQ z9hhEpON~wqbUyvo`DEmaFxYzga;+^`n;v3lv(&!fAtP$Gv+H&^QS*L*JIAfFf3H-6 z`7sGcI)Ol>BUXv?27&5(S>|1IZ=D@B?=lL%9|Gk-u%J0iR32zqCwbzh!LzC*!#1~; z+E4s}5xYz-vL<)12F~gl;JKwqr?vWK2?>?BLBTBF6$<4A#lj zUe(HbNbHDgR%k*)bp*<{K+kxh7!1h?iIYG!*dOpecGYkrU%+OTZThe-QcZH7tj z>{D$tTkUkM*5^VrvxIWX)rL}N$7aff#GinRoTKcM6CJE}Y zUn!H-)OX2lU;3co{S~Zc!zOIN2s8yU-)nZJaMd7M28S+uzr#1t9}Z8BP7 z_|(~7atn^9peb~6w$L|4VzP*XsgmPgHj;M55nL9oAcs=BVjX}OQU@A!fz7wOe`JJ1 z8+u;^DZWBvo?2_SnTaoY@Jv~<3O4=9@L9e+@O!R22}*PR<~Lc8inKthsbjUTqAK$3 zKR=+^SlJ>7=7VIh%PAGXV-tHQ%lfaJ`P4s-~yn(@@GeO}j{WR0sPKDc((m zQhcNoPrBHFj3>&{j(wKt31GOwaXdF>?nc4Z_RJDJ5fVGl5svgls%oSv1@2)#*@SCMwR47u2$gVtzVNho; zJYMNsmm;f{mP*czCT9`EFj0Gm|H~_e7-SeUzO`5L+8P^4Mo|Ro~ymqvgi-~$J7A84M z>>qzeuwfc~P@f&cROH4leHpni77<7pOby4JZE0kEja^O|K(bzVL?-JAA}uwcL_kNZ z{a!p=#N6>We$dlkbjS^Ven%#h8Dh^vg|Kgz;YAUenzO93!ga)QkN1CU%0q z2!>#rjmIbe*=2V_kok7d$*FP$`|X05=mZVjQY?9H4cU9|(^iz94FTG__++#<=Tnvw zPEr{Zb)O32Zc%5y{4FUWgPU(ZtIq*ze`=-yJ!(H{l55lAg`#{x^nQjcX$*p}E$ z+3)uCrlM4_R>RU-Roz7RTD)5-YwdeteC}Tq0S!ZsN$^1ud2m-;)JHUjTj+|oT1`6 zd%WqAvW>Ohm;j4U0npTk#>`By{U(N^@!MEfQ#qI|>V6w0nf6YD-d~{rDt|03;Nut;te6DDpw?(~l zv)haAMkaG8Z}xy>NZ=T)8@DI^p6cdLCZJ@#7(^`fS?pde`-`B>s-DaMTx4ENsog)R#C% zF1moGR?;xyMTic9s`wlfj+1_HM>qbS$I^G(6F0664;l z=)6-FMia5uWwYvpC^sYD$h;%GM5p3x-&TT`8OT5nXQ+zzCnkIZK~B^K#Hjt!D>|hi zN202{r!6O^l0;dKjoR0kq>mX77nJV?07b4ux;)lBbRO5ki#=1(-BhrUyFJZ@fWn2t ztwak-kE%@E(UYk2RIF_ZFD&;ooic&z6fOiZLICcoz9-tV@IX(~2+wX$XT^r5PA8s{ z*6^h$jtDd9*`;@D&$2SBk_(A*oB!B!8ttMsT~u5XZMc=={oO-um&6_S>pFtRv0c^Y%uaC7cJhG_fUx8>4 zWj%lV;(hZ=&{^!9F68o5_*(C~_~%1Th6O2cx*Ewa$O9(+*ieB*Sj*rd9yPH7ZTlvScr|y2uBGn_0?zBeM6jsbODXd)^1?sVKo~ugtHkXay`^(}u*w`*_GF z^R{HyDUq&1WT$7dwT)Ovkq&Ep@lH}hk)3&MiLbnGZR699;^#>j!f zwT0V=uRS>&P98iZA_ty|C{!S^s+Tr{86-`?8Dg|nh0A#k#9D^($Z7OSepqeGCy|p? zzIoMj-)C(-4a39gV%sdz;n_fh@19evuKgQPr;9e^Kyp~Q1;rA6zYG-l{Hw~&CU*6z z6AC}b+q>k1F_$!@XoEA89zsKbEZ+rWpZ9&f6-n1n1!02m%IVO2teDXJasE|cR5G41 zHeUcDQoAI2Hs*DKkkbT0c1HcH8ix(Fx~=xY{j_+@e!_j{by*vhpvi&)_73yCcQ^q1Ix9P=pd0@Y&-F4qb#Jm^!*IhkPg48mP3@3!Z)z8x5?5~R9BMp0 zVx1y2&xL93e3j``f)7#~-_<{q z>=HX>I@oX(1B3fODL%_~PX*^FO_e3+$~9a$jNdeS_FkRLh3s>$GwXXsXOE&a83T5^&|TLF8gk;Liw@o= zlRS)^rm^xV%GOdo7barzPYN|1#lfc|UX~oO0|&YGdmlgksx6F?-YfNglme`AWeh>J zQz2XN1QxOw}MEHnCf~o zCpy%#3!B)=CtYVi%U&ZZOrD>XRax8{Skz{cL!_1B&C(C1lZ*Gw`63$2Diz0|(+ttp z-$k)#y{ysJFXJCrdh!BS6K54a^e^XnD#iNf8r*nWtZPuyo3sN4nZDWQU9G)9agFAx z)7X<#M55DzxXDHv=A;gquhPYzTq619-XU4BQ&7cKEowjS_Gf;c2rNByOf0h7gzdWt ziD%!>g1OL^vNGgn4&~ggj&8Th(SsuUDi%i#PMR+ehS!ZtVqN@Vli(q@VW5n4&+SFg z)SF`RBXCXC=W5kl+9$J!d=~t4l2~N7{#KMaM4E5^vqs?N+}L+dlQshJ2}Q)Lr-g<= zG);hYsh6jc)Lm4aMS%pg63=A^!+Y*j45wC@34yz5l`;N*HW<1QA3|@OyLE`f2qVU; zg?6sY$Jl8+H#R@W4u-R^&K47Us8=XxvYjEWD?n1m+Sl`JTguS4rb^&p4Llq@${;Z5 zjE1@&uy#}=z~dZngJMbaCr)<$<~?LXNnw$6_!qyUWpXEK?x4N>Wn=C9k&Me*Q>^&N zs7LLsJfai5X)B99p&W-s zzr!Om`pi5-qkp_KeWiBm4mN~n2(BJ0!y$X{vViIK>N^{i2e9#Q?qK3dU=$*S6!gp% z!r{74kV5+r>B*z5*lvHcHhz-0JYtY5E)7dx>GL%CYU`nwgx3GOD<)k0?>f^F*ft){7*`A5UMI1pQ%b7VgN zc_ZgR%}kT}9I+rV&Y}&|od95>$m+MsCnJjzJTlH5bImxnq+jkOU^9&J&4Ilch5MDe zb77aJs|9NNw|@{!iiK=KZr2WFPS~5p1{lC$?`kA#Zqo#%;^#~_ zt@-M$=Cms`tj#=Vnt_I|0jSsYs}NMbtNK0-7# zQPA1!oa1bE!iSvN4G#7%z6Aqsl*BynFCHTLdt4~B2G*#-828`(ntW-FRY|FBJ-gzA zoyeDqlcLBoG*d+#QH^qzS}r9ZvpA#v$^g0HYH@|MAOQ~ji^uVZ4>|0-_$nGfc&2LQ z7hN8^BM7TVNXth>?@wz!;q)q(sM_>|*smREyP*=v1+H-e^)N1P4)_r5Rn zWRSOsH_^jikvhf(A@O1hy9iDpL{w(~S1-q#Xy3{wm`7BA_-18m*{-#GBNdcd1oBG3 zm*q(vFCQ}aRsRREx*To~kqR}I*!90x+$|=mN6^14L2c58WS7F$=o0IW(v+-|GwI@j zX&I|aZ^ScWDnVm zYU+UM6;L(mdFm|5J6}d$^dRlPb@(W}Q`v9)c~_r>igw3Z&LCaT6s;Hirg9CD_I{J2 zx-`Iztl@TlU1liTQy?gS6VsgLn_bx)1snODxva5Nl3Fb-=&)3-USBLXx)> zA;Sfs7Gx||feegQo>J>Elkp@#agGnGv@KE4M9`)$)dF+8Y0l8Q!!Wv(`=F?@x*$yy z?jW?4{<6!LN{vmTY8;#q)tzqMM_q0=k22kSK_+flWl9Or%-H;P!91lft(r^D(mOKZ#lId7hP16rs6N2d$LHzAlWcHmGag5}$0Hh9WRbj-(7 zz=fq|S7lg=Qqo-#XHp0qCi9c^5_UaHut5JK<2i&BvNjlo;Yc35-t@GUUVw1jSmEuB@u5pvjG)Y^tNkTpf z%h&>i<)v)Wy_)2b?+igg!)#?H`q_4?_ERyP3P8t+*!0f#r8jf4HL!$YD!FR;%H|8~P!aI6w6R5j&}cB*@OpB7Pa?Txm~R#Dytz zS!R>v7BlH#!~+dE^|_S94}jsmaGhh*f}?xKXEWLPb5sVT%K4_z#nY!^e5A#Mud~0B z1>#7pDt-RTP^eG^cLh69anh#~iw8k*bX_*SP5LtKh@eHu7j;A90LHJ^Dj2RQT9=J{ zn?CVnJPUHtkDFT3N4$)OMNaxVbqyZVgY)r9hN{zR6tWg&3}VVTwdZQ!PU-0vZ(s%C zpcUlnbdz|P!(LLjt#L)j5?R4-xB(iu-rAt3P0Lc-%fpoGcpum_9a9 z^MhFTakEcL)O?t&DbI`9mhRG)#4Rzs90gmG+P(T_*a#`Add2oN66~f z{MO&DjnXUHn^yhW6a$|7^HyDyXKX%}wrd+EveSAghe6uB{9h@9(xJl#L zOYejQ#I{^GZ$QsW#{b&t*uPOed0JH$X_>FlQ@nQpWRiXB^DZiNW)D1CgJ%=4i2sSe zSw3-+;3jH6aJ4go^e=fsFrtf>)GkiC!TCo0x&30%2^Mgna7Zz5uCl+|_%x!+9anC{)78c7yf$6Ck64fO?iM;4*xEkO?tmMnUeC>wJz+|vcAEQ0)&U{W0 zfIH(XosaiAJjmffW!Q$=`n$=iH67#D#CQQ;Zu%EgNca`jdsv;apEPx7kix%cQ%^DN zYfwwUXV>Y<4ik^YBxw|oMItRXDwFaAwR$VM8&4|krq{WiE^;ykp!SEcm@*=y9p;<1AtE;vEnG6SW% zForSH*RePtlOy3v4n1I|vNl0Zx$I}_&B~ir`vm!b3hH=C8I#*B$s2AQOs#=*9ygO# z%To=M=u2EWfUVLivu(+Vc6Lj3ofX z!%f#j`Tl~6wV5nI2JE&wwCj>?7F->o6k-n8Pr9j%O&keg>0N!nWf?YLFU_QVnSP1j z@$KI@P{a?Zv>oywsR4z@u%gr6mMI}ZmP*R_lO^&}{>p3Z3%=^EPMsew3v)PN5H1sC zVPS&QWMfy=chCuP2RKet!Y9uE_Hb_jzhq3E#TSMq-|8stTG&{6(8IpU$rKMHsyve5 z-M?L8j+ce+Ij%J5^&A}CBr#&b$f(JO$S4wmZB>Dumne~%{V{B@>tDlj)YA`ZCZ9Wf zWj)Zt>JeAgGguA8)NdK?5U}*PslfKWU=$1IpWkQX100Pvt_J%>SDlKtKzc^CjM9tx z;d5+oZPK`kA~ULlR>W|!JXAlCr|?7^Vy9{wxeZ)^B)6anV~9{Fv5(Zokiqj$6)ohU zE4s(o@OjzboGtu6!y(P|ae8dq+i*7fFAS&sEkk=*((fe}GG^bdeSsOkkK-5X_ZFN8Si_ zr;9H}6TOap!}NMzdV-6zTCi4HXTPpR1!HF!jIo#Wd1`TLK)s00&`O48Dk(%w9D%1U zQ-75|rnQ;Tx=HrhV+rxS$;_3;A{dSeG?`4=yiI=UdWJjCTP3@DZ|0Lo3u4BQ{EurLDs$jW ziA_$Ia$^Ut766*caiPdPx+$`-Jh!Q2;T%t(>2$et@<(Lb>z`jafPZR^nBm`Ysh58S zw99oT#Q#AQNiNxRgBoh>>pw5pWY;b>TG3`mq%3Nm`9*yf)1oBVGkbYTc$g_#g zVXDcr$FQwjz$NlslnGmuIhX}m<}GdfDp<%R6s+hK)evM0+1I#jG|m)|CF(Trxk&xa zHHy^qDU$ZMq$x+b$+JyzWMBP1BuzwF$Zj|ER4+mY??&Bawx2a0<0Hda5oZP+BL^PC z7bJ7en8UFT{V+=#D7f78Bj6{{#Imh#um2Vge>DSU_!~QB__roU^^pH80JpBl$*`bno{H_ynUswaTts%oA|*fqSV{7DSb@j6@8yL zQNP%CN~}ByesZYCqie#IN#&e@X?y>Srr@1|zeMabxbFFz0jXiQi4lA*Q#|TPH}!HR zqiy`i+MArgoB!p*`;q;`&43@-xnQ!7AKCK*`Olh=Yxq2$~1z^-(s&K~mvMXU&( zf8$hko6Vftbt?M?6MM(0j4*n_`{GoFN4;?>GusqsQR!jB<#?3EpE8mdjUmR)QRGA< zmEm4ht{!EP*S{o;zd!OuB6xD4_nEuHak&^V7Bu37rcI;1N~85ri76)gz8$*80en!ZvFU zn|YCgr(rRkMz*{yZ2#urhZWg~5-;q+&ho|f4)knJesD_Oy23TWNuDmNwSq2mT5mM1 zusSIa*+^4C}mn&4qi#t1a(f;rhajv0b<2b&8xtn0q#eV}UQS$=XtUP^5e0VBUIZbn}QNAMR_Q zax0%p@;)eBLk-+EpP!iXK0(yEzkQq4UA#TAJueyQ7Dv2}$fm;WgSBLzt-;E^t2q8zR|8Hq1iJ#HK3Cl9Qo# zJ>d2+$LZ?Be(m7ZxT{Wp81Z~hIDA}ZHc zyoFj?4$diK5ioIw2l;tPo96}&>dh-iRO5-78?Ap4sO#)+KinzD(qqiF=AHLZ+mIK= zId|xk3!|PaPOS@Q|LLz9-N|xkL7S(63J`ppa^GSfO$C&0%RTQ^hW?WT-o*l4Q~m`_ z!KP8L_&px0b>UkF7anM6I&8$32(yEbM-BUq~UK^g2-PyFBYlG+F}Hcch0d?0%u?LawU*V)2%RBTHXx zI+{MnA!e@~U7QC-7u+O2WCp6|j4HxBlr9>d~UaEvUn73p(R z!Rj)gN}oRJ2c$HfFiHZuHw{_M*;C>?%eu2~^$2+$wEA3rdVA)7xai##e8QL0ziMdm zO_sZ^@Fd>~}5OnLA^ zshjZ#GM1Z+xS4)QZUPCLY)6u<#Lae;wVjM*)|%vBy?L8eeSKw7Ytvi9xmA9&_`6o- zwTX$x+d$rG622jc=E%6aI2a$9!N&L8p8H&=2-#d;|$+n5;O{#7%FP<@quRgE7AN9L_VdWB%yV8T~g zynRvf`8&>g#9IHNv{ks%+K~L0xA2YlOE2_pX?^maN4=;m?Huva+1gTymhN#{S}rYN zCBd^*{-<^ezT~-vg&ME5hCT&p&X;KRBz*U;v69-Y!fvZA`A=`*!T8E&wW*c&WIFX* zZK_*;My$;AY^CWL6R3(5hgy^3zaLRUP zAkjSJgyE;&Z6yocIuBEw!N&GO>s%SW&tM~zeA7D+!T}kI?c$C>Z@>MQIsM`N@72AO zx)~r8iFi5|Ky7*5G*IB+x9seyqy7u{{RH5b2=EM8(v}6RAdTcpBcjPzhES}(`iB>H z_wU8WVci+Y!=b6!wB%sF#KC?6*uQT2l7jy+_7_UEpxj_zuHq8x=Y#zRAG-ao{o(%a zV81au&!E15`h$vk2kn382vk@bXe#*W>Ytz&Pn1JGa#CiW}`*ig; zVjuXBLIbCU%M#6}Ja~WMEMx&5@&8qhJailz!!xtkE_bjU0NdByyfg9XD!vgE9F`6f z&BG(7UHrHHwg0ziurXY(SXNTc@RJ&CRtJ(GRNOUa!=GO|@#AT6v&!HXR9tNuv2v&@ zgIC5>GB$>%gB+hB#gQP#mwd-Na9+3){#B|>G<&bDzN^DZ>UK=wCL_bP#8*CNL}EN6 z50;zx`6E`o=wM`;Kx?Yc@R6WAm_hkS#QLYB^Ql>^i}-c0u2wb} zUow37sh_U?BKi;n<8u(`pROi_$zY=|0V=YaJ^m4ASADt`rUCdT$k-8azJXG74Qd55Mwn2YIfPcE0N(83E(H`H$JURc> z4lYLiG{P_{u$mV7G7n4m+pISRwIRem9lpnB@h#%k!FQP>QG#Inw(s3vXtf!uXs59p zx5t+n%W;6L+6G(W2hFBd9{9YMef|KshV)e8Jit&u}k$dVy{ zFFozzGq6U{LILXo-A`q5t%9XZ+sshP_qC}Hl4(b_tQoQL1Z_%W%L~#JRR#u~h`i<` z)&`92w6}0we8u+_(iH~M_Fj;#Fp$#i720hH3ukO*>wF%>q_yUXi(8E~S0=+%)?CRT z#+@}cz>}C_*4!XZVl!ED^LY}R#+qBe(?WfcKppd}xnX|hSaXZ`X|(2+@H5kzD;MqE zXw5C-r{0=d&d+pf?nr(rt+|!_jI`!f@iWbuTf@&(Ywmb{imbVEyAas`cG{8 zchB1H*))QY6RMY9P>jB)dBI^mO9@!MxZLKxk+hGPS+dV^DKX?0Iwz!Uu)AZ#$_#0* zG-J1$uE|XYff2Z$Kn5&zYUe_9E*g&Pi0rX88^&2@>DVER`%opU=y2USmnz{pXYA;l z%XNDV%Puuk>2Te@>D;AdOP@L=8V{J48*J;6--a-RQ9A=f}7Bb4ffo})3 z9V1p6u>xuh&!UubJu-NPE*UlzmLgC}MWB>Lb|X;Mv%aFTBukQq@{7Z9S(0qcva14@ zB}r3Q1g*=iOEc`skp5pK$!IzKnmIDEGqT0n>yo5vAM_zfNUc9fihW>)j?S6F87<su+w6Nv=FphG*8LRDx$E zd^SkwPynpmeI=10M{w;lziq@)LyrGsiN-;!waJsrkfZF+w6TuhRi3Ls zgI_uxf=p%wB?7y52aTlaEhrsH1y#ZnLRg&{VPIg?70N7Wni_h`xU^u3PIS0L*@(}KinN^kzfM{nst1gHwDwRvus0(uT~UIxymSg0 ze9Y8HC$SbX_I*F!jXRIB{6Cx&qVl7X^iZRY__($ zmMUgE$a0xNj{FQyAxp(vmo<&g>=d#{ zq-DwfI%)Z-r;s6;LWVz!Q^&ohI(lUc0n6U6SsE%`F99M~f?!m(d?n}7InhoG27pmmHyxlV)zU6;Kd09@q z%$)AbjolgK+9ruw_|vzDaNw1vH#_x=LH1VUzE#Yk3cP4DP#gln`akyr!3pk^IappQ zK#Y~+W6#aIhBF#tL7^{!=XRZ4i@R)0PL|2hZq6piY12CUbhf2qzvJwMeXShw`JK06 zTAjV%Paet2c?H6A^q?3C4h)o&N#Z6(b#utxr zmz&h{UYS=S6q&@>t`<*gG4U0-)9Lo9v33sG<Td(@s|-aWTZ?dO=? zcNCvmrK2dvx%5QuBH99o?4b9L$n_r-AVf8IX#*Dv6Qez`u8PF%1+z}~biQzrU}7y0 zOd?)|eU96I4y+WLdI?nQ8~j4KWRvsnk(NoE_&(BrO58_=fgSq^ll>jmxGAJJcqsbM z5egE=8plnART>EY9{;0`d3=b!1J2@*=QuXP<;3SWuly3t&?mn>Zbp`0&U5tkO_wfx z=z22$>{mh+-o*T1q~&>{GUV+2nZM|pQ@^pl$3JXvdv&1m%|EWu;$2r=t(?@S^i6JQ zPCjHyuP~*l=P7-v4zyR_D7U(OOhr=$g{7V=y)TEzlo)xozi8o0QnF~ttNdiE9yY)~ z?9zZW>&8A6xknf?;%Dp1kEQfbd_q_$J)EKRuu?h+_5CQls28OdeIlg~y{QkS&%5^H zDLq8i3^Dho^ouE&N$f-E^|AIMrR+NUksFQ2zDw!L%)96I`o6<_2wGa66SVje^NZq_ z*SA$2Rpd}Fq}$bxbmwZFur9LZ>1$m2>qcghp8s1Wp+FM~OahUKDR}!yl#w7H$8yRgxQqn$1kih!R! zt0Ew)JAP_T1}ZiWuRdmL5w9aNP*!pXBr7xe)_;kqKO-v}mY7ElhFXi{7^OA3${Jm1jUI1}u4!K+0nQwDJLLZ87k=rs zF;eT0HpXY$n3`?l#(&#}a4T3kq>b848}l-4EX}sDBHPAO|F(_Nk7;AiGj2a#%Czxn zwv9h$+j#fiwo%!qjYIfmi8RIe@nwQ(_$F%j=GMggsItxiK4+!=Mb|sB0M;4toWnYt z3VC6sWOJl`dsR5VtHk^8Ykt|fj$d8{*WC3g-(jI;9sI_t$Hyt82YWNI?kzrh-rOib}qu(#5*D}H%_I0#|Jd6!IX^U8C8hrA^>wjHr# zeA`eNdX#y3-fHDoqHD{^Gh*qEAIv$n!6FC74+#sW4&gR-Z__*JNvnws%bCMoIZMe| zra8+rXQ|0qw3?VVeRCoZ23Kj$D$QA`ImMj#c;5cQ)56;>qn^^AQTr?RN67A&NS%UC z#2wbiNeQ2^lO|LiGp_13Z){wRCssE;Cs7x*CRAGEs^WJGWniqy0o>m%6fC!UHZn>T z`)8kCiz%6&p&}cfJkK+dH6;hvv2Ab5;q2!kTiVu3^ zrV*k|Nn`~iYSiBHjE?@Ig9}NYb(%mrgk(9pjJ36zRB$6_+X#K}_JZQhw4CaN{#peOMSHwwR0%}DgPRrjaqwLg>KV0u2hk~U&< z@^hNbv;Xnh0cqw;Ls1ghYB!rxc{VDL$ue~e+L)AymugSVdsgNI}t44<8T|<;(N^=2^UnHR`r>t@Z0zM`Hu+IRSFl)66Iyz z$(oVcWeVzR2yrWP!<`L&`?rP8anCH0577yYG%VtQe$=a=0&7mlvH=cIGrx^#d@zv1u~gX^_?Vf0(>>7d^J;$UX@dX(O!*F(BcEY)lLGj1iLexWla zhsdz|^i5*SNaVUls7lhfiX566#c^kEpy^x&wqBwRLBaOycV*yMOc?)V78B&l3jGp@ zwIQaWEIZg^UvrGFteET1Fb_TnJQ^;B`zm7X0R`p7KWRD0+wwr&eB{#RI{OPd^s~fq z?mfdgq>p1woz6%-SzvmS{H-u(|`)s+EJ5a}_ogF}d?ckrmD zJ7P(iMVAF8+9Lrc{dI|;BjE`dMr(t8t=8(5P%Xr!nK_7&>IPqNV(BnA7sL)IwsIQ+ z(TRkCI{Olr*$cV$m+0qTEY+}>U(9?a3<$ZOGBGxfGoP)biZia3h>DJC7%W8kmlGhPQC#~p z5;$w^pE+7f$V8IsPE>@(S_DCK{-n*I=csJ)uTUI7deeCSQUB3T%%~G8$Oz)W|KKn> zg#Lk)ZPAM{lzI8I0>tzi@ZLgc3RTf|;<*PzD1~bqg7(1%1%PoFDyG(GCfknG`J70d zTN=)>FFEPoOPzy179d$>0S9*p>9`lHIAQ1A3sz`{6W)mQX_tQ}nXJKlnHXE(&1ozX z$YKiFB`|9s%H4eShu153R<&pxZusH?27(cC+sN5h8N+3q&#IQy1gkp0S_2ogh@4_+ z%9qxY`d`B4AcSPYZS-SNf%Jo=IIrzTfGLQdEW?VVSE4O~@U=t+=sC|WsS&_^4h}~U zNZ)Hes7UlRl)-ojgHVdKR|aXOx3WEi``RBj4OEIoqW(JjXJ1gfNL;-6wPqoZ$$zL~ zz-=MY9sD#z8*U&*(>eCjC+g6oORNED4OfX>RTrIT)*S60&`lOAsp&XWnOH7FF4|X} z)sZ|k5&HyDnmZ0~dg`GMBXaijUb?2Y`$@M>fM3>YC;gpBO1-~^vUdatI zO@r)Xhl!=b`W>;B8@Xb~JE;y(gD~{nuZy$_rH^NMv(|1kvP&aDekYlz%EPGmc&Qls z_y!*b*uyt?-LR!sKqKlqXgxC+I;)Ouj(AHUZ!edZVPpOaGe$s60nGuGd7TtU_`O5BO9kH z+!DAM5o;OB<5>c~$ULCuJem#K=Z{sAq7D;Yai%#mDTCqbIvVrXDZepd|_N7 zQtxtxPVdaCvybK889GU^>!?zq2n!9#4O}RmKNvOju&JLsEGF~$Xrrd?az8gM6KRbR zeizCPFUrWRO+A+u)BNBInpQ9Pi*Ibs;0sD|%hjRimdqW`q>% zJTu5031Uf6msl~=|0;#Ce0Y!Ae|uBkV)FwzjTdqa#%1KhzV%5EI*5_`WeA;*%Q#Vt zYk@#TlibuIu@t>>ACG-?k=BqtI}7X4bVkDcv8d>Xzj_IT&uxN4U^&Nr>No>_i`&ay zJt%d1Fzr#t7R|TEov*_p{M1$z9++d__Bpg^o4xU&0bI(# zkEl`Nbcp+pGw)m_!|2Y;yqnRUmU(C7NRMXTjhL^@yi2sVI=j@oGt#4JLyQH`fjtax zhDb(Xd5!8hh57Ww6iCFjhz7qT+HgxsLNsMRo#n(s(e#mAH`B>j-|U+fwA-@fW@wtk<;=J9E|s2Wv`@Jerc^*EvVSv4`zM{N=vz^d{oW}V;7;nB z7PPO)HX_lYdjTG{f0ZpKN}*R;&@RrFd&Lke%G&<(c^TLwlv|O3tuPCl1exwtPspB_ zZDUd2w4nX_uuF;8_bO9hpX8RAGqKnAp#7ap{tCY9gbpBr_NvTxtb3WpUz?@PiOeZ7 zgj$ZMW+lK=2?ZIcbfR>2E$&*oGA~EQ8|>2gQlX zQfJRGpw`)gzVC`6QFC?n`wzPBMil)$^KL}XYvx_3aSK#MTOs=xLZK27)h9n<7K{u_ z)4PP|n7q>TYf66-!B);#bM^KKd$kp*<<(4@u2*Ob)mppyO6d{CroY(<^hjZD0N`I? z|B_n!ClfL`9@Hv?hXVY$v282m+3wyXEonuwGTD6gp5t7`S^RaGU?|TADd7dc(mMOO zr5OOfp8=2!>-foTx#lw{XCHek?`APl*dl1pbqi8Y$lrVuh50T^l0I3C`Dn6^l=N#- z1{@b^X`i;=dMyL;nVLr>0(VExSe60m*uI79s6WK*)K6rK$~w6nJLy9WQQXaoEH(&j z3Z9tqTzIlVlKQUlrlSMu*YVbi0qS4l9kI{lz315X`jufKEv$N|EtSqHkNP)FM(2)R zVV?ST`qd@&XcXp?x-K?##dC$qqW0HyI1K01nW52}904_8pZFc=wj_q^?_Qu#XD1yL zcet@jntL?+E;rpo8wSeNziyTz_>`*cYnYS@2fC_#@dL_#7{8?x?S`{WTgDuDwaUC< zeQ4xe@d*gn?|d766Q+bTE;Jdyu=pOFNLw<@$M7p$K^}A#0XaWfuHE5s^Y7|#k|&Ck`$E~(xvvp>!kw#shU@;96mEf z$GG4$|4eIj(Lb49MH{}6ittMzR`1mCs23_1BD(>?_`;D+Y&?45Bh0jk1E=&PcNkIJ zvEB63xxGqu`V4vYNJ*KV&_vY!Mup%jx7L2`TL#;iH6Ew&30lR#lm=r1bClA~rAwut z$}H(sw3ce6>!CXPr_4lDrZj$;+}!)kXTbzXA1ey80T-JAN@rvMA}+}M7OJ?jXE`X-3raxH|{B?k=$?B7jMBcaxwGfes` zefQZH8ECTWj+D#{Q(MqsqeiZ&l68lmk(HHl35d*+(hp>z#W_j_BsJ5}Kz6VF*>B-N zwy^a2?8Zso<(Y4j?yLlk+hSG%SCz^#)5opITq^}wHoj9ig?V9sVzJ-p-Jll>yZ2px z?6<}qc1oMI$Jbt?MaI)&aeeYx((1>qo~Q3u3OJls*Z&<~ms2hkqR4o4$>uj*6S;DT zS63NXGwv+?eO;<4m`VINUzcYuQ3}j>b^Xx1e~hooqIXLfZq->+25q_z#KPWSg$pW}TCK zJCH{}&oSppwoVXro@OIJ=a_QZy)V;lg;oe|HyVtc@78;P77!du)VG<0P^0XqFVY}?A&93rEbC`8{4+QHoqx7nKEpr11;D28E5Vqf7QtJ1-o!I! zXC&V{yl(YuC8|iPk2s?%!Y@&IqWOg3V_&@^*)k;3>N$XVyfJ=}e*;0Csv;i{9%iW$ zCO<;D1D7gsdXk=Q&Udy9i*zKDc^oh&P!k;K^FP%#EOL;i$;n-EOf+{>Dle%=fjg5e ze(|)?P(ABAuiy;fsgz5+y<4?M$}iMTkZ~ zoB1T`P`E%>8KBD?pi87gAD|^T)s69)UjKR;d5oGPoxodZwFBA|IzzH|1f3_ei*%`j z&(TN+U+O*Wf-WDiY?g<2Q82MQ@Qq;P9qGqL(q2+P;!73sWbzndLT{s(goctXdG@no zyVd$2xn@}8gJgSNM8c(oNL1Q*s(n~wKLE9mQ+hBtJbu$Z@>)ko{HHGI!GTC?viC6?!}E4p^Qfm7nnN`Sb6 zWXmx!;=tIfy@6&Xd%7WtP5p>MhF0RpbA*HfxdKcVy?jg{eN!MU2hz19CX-3O928Bq z98V+-z6E@=&j%@c=N zwgGRIP*We6aW`ts)0p9t0j!MlAhC~lO16SRYWF7J9zuVnZL;$^B`Q*~%}+e?&SdNH zT56huLxbHg06r#AZ=_wJGTN+<9N=j66zLk6Isgw+-Q>i|0cZVaNky`4NMsM6rQd6g zv35jS$y*7sTBNXn-P7UOD4{fxt;4`ln~?GzAgls78Q1{9Rd^D(*3(FdpcrWjyd9+M z78DZpw(z2Mg%8Wc~4Za3;s3Fw}r(gI(r5-S5&RS&yOfbHb7k!3Ve zX-J|{31~8ycudM|_N?*jwYCZ0ZA-4nBk(zFL9^2Da+Mn8LJ}L1HATt43O$rU4?9R% zlUyV8u*0Q?QmCFn0RSx_(!0Se$Pw@&8z6O&11-`f;isWns+y8m5qN3osc$FO42f)m zoJ~5FOg6AiR#*jhG9{=~9(zL=W>}<4c&rOxD*;xb&=GKgw`l@wCz->^cLdmx0DFLx z_GG&Nd%y*DB&8hU^#O2^Qf>igU7;XCe@5_7m*E9436ccp%EU{7JCMf7_92ljMet*E z3J9tU&{Ycb6mpi($Yc+3Tlz`jb}~<;RikJHyFfmfk3o?QOH~hwfMe`bCAJA(^C=L9 zvcRqb5+`JL(n}GqJSv9fWHZ&JxOJ2(*)mqLc^&$rR5PGy{=kdT9nnqG4B%p-e#?=@KbA(*QgD zV}P9w;Sl3rJm~8o|b@5$4x?*R`E?FD>SeR=#g0Kk+4Q$N$x6ujT)pzBLXb$ zjp0f{LkCs9BBX{Pd>E5F6_g@jC2Xvr(CGpxT2$q!=!+qdHIa2fmutu~GD0joMZ1%O z9+q4Ch1S|58zh$~vgwfx1m`!nmCO=9M#M9jOYvbxV`b#DL(e;)g(=c0$-IrsZ~ABW zZ{AL~CnLi`1j*75Z}O2i62thh`6G&!dFf&}YdEZ3Zf(N~s1ZA)i*&gZs~jpq4yi(hZ5_RWB1#5@KAHznY~6wzG&SjE zLP6a0kxU*B>582v5?l4hG=P(vLNHaySQKeTbC~NM5#DlTQWe7EZM23fJhqZ8WA2FM z06oh%x`IQr>afUeGd3_h*#+yIc&3e+!Vw!?_QCk-!#pCwMJl)Cku_)?V5h(TBr>W+mYC??!ZzzbUTfjnygf84AwkO`2M4ke=2Uot5u%1s14tNrf>FYsV= z4B;*j3F{e>rW}1FfJKt0VbDjCo)0|hJe!3;d+B>o5@Jy0tGLQnV~WSkD0os(saU{R z2aXXXl;Xv%p%t%?xV3{!zQWeLHHCZgHq)5IK^-6ImQeW~kuV{#q8cIHg0okj{Ey<< z9xR6;++8Dvl$h%Q180D&gdr{56KSQADh$6(kS|h{84Pi)bWQ+4(4-H2gBTLbmRXyq zAyk;Ow&b-H?#vUTY9wFEBT3r#dSo6Gl=cB8QFg?OBmZ>8yPlnD$Wc+yvl&B{UFkE?r zo7#^;60V{JW37h`^>&J#>8G}lhI;q7R?ajkD>KLvW0`nAWC|8;wASZs0a39A47sjgYrmMVTX#R0?&5j%x-6(L<9(5 z!?Uqf&X7wgdWbTXA{+htfHDt}SS+-vgkJ3n~jT9=8$j42cR zc*NQ%2Vu1DjchFJ!fx8C#)08*k&+^R8ER?Hkf>n4%vwv45G0x`+?}@xg{4@WiniUx zX-UY!JMG*ZlO7wIu(piX*^}OL}hx>s%W02|{B(&Mj zBo&1Zd&(tt(?vEAkIGd6L9sOzw9(h%-}LZ&t;ahQVKmw*gYTI zye@Aq_FIb(95-}C_7mqm1pVriXk?;b!0HQ-IxaJd6fQC>B<5ux(#l;zBVlEbg^t{a zU1)TqsK7jP6BYSNldXCK3(>`)&%$+>HHiDXj>3(3+xU`C%LI{wmCIZW4G@Wf@)u?! zNw{1}Ck`^?Wzwi&CXw(X4SfjFdSqtaf7T%ADW^zSZSQhp7j4vO0;)^;Y(}Zu9i{1H z_8DMBn3Y+bfEO(6u=eL|DBPMSR#^$gMGc^oFo{s*w;i}kvHhV-DU+KRS^C1eNFdKv zXYN3qu&f9Gky#;N?$q0_0-l}F^}#+yuP|UxY*&6P^f?Wd(fm$?Pf_0b!h>+LnW>O( zrb=HQT#4lHCCUOirhyl>A%Z+iip|VWE_OzkiCrV=A{T0bO!+ucC*A#7TC@ZVlBf5- zlsQaYh|#aM$a)zuVT6F`ny8fmETRq&7gBaWz;a(kzDMpP zD+NCyt^jWJwMZQgL^=e7RC?47@1-QG;J@*hz%{Iul_LhwD#tLWA-N09OzLTKngfci zpN&*0FB6KOm_MS5q7<&dPHy9G9pzmqlA^+iz=I`)r?WZ55vhr3q+@LM^D(sf`}W%6g}A9JM-^19Tr;RAyJ);z_Ftj*>aCXdJi}L}V$nbNMD~S9QcUR8FB&3Q^aNia zqeU;i87{C{>}l0!r$Ee=O3Yk<_4y2Ib1NGzqxURcl&oc5Lb;FSia|#ZxvPx~VfD;C zT0+9~e6?WrQSu9#3De#1wM^Nrd?{)#^B27Vqs|))U;a! zw~a4PirApMwhdQ?+i9WQTHdYgD17EfwMZT|MElE#bL;q14bsN)7R4>yfr@+ZI51OGbCuO(M7k#qqZzL09B%=^HSz zL2^yFkc~_zeklLPP0v2%@!pXlh zT%U3(%UqWI$ZRD1_%lD4&9WX3MRT7H_rF^KY)`!r?tit1H+yMuk4B8gX=Jpl)pmy8 zj$T|QynybxFH*oqXBn#W;vK>b)!O!j``-W|Z-bCG!gIBnGYI*c5TZ5y2CWIZZ)zAI zbn#Of#=m$&+g;CqsxoM~9sRxib-tsZ@@?=+4NfdpL(tY1?(Y-$FVS2#M%r-yCOX|k z1*W0wA%B##l9|R4HbZM_yPdjaI7Q0dW>91 z$jr5pbVf*9V3%M9?O1%vSD@|tkg<#YZbwu6hUCN)@e_OM)k932{E<`bU{XmzRHcC=z{EMw79^) zS&J`d7f&kCh@5@NJI?(n(um}@e;}qjK{cOsQ>LJD%e3vrKrXRwL+-8-JBCpN--NkX zVTU>F^XE{CX_tY#s}KA7cD^zf61l52n^~T%1whqe!ESMMHK;_^3N}*q^8Ec&sDrad zm`_9~-jo^rKKc8iImjR} z$&qcz^LH9c;IMd{%!YLumM=U3pQxqGio0d>S8FU%&C_;zTM5=0Dpebupd$APz{LP7 z)u|-8rr;blY#|)`ho$uZw2lFR*G0Lz4`TN)x)N_O_p`pRH^@loiFRm-8hXZ_i3Ui| z&3032#*oW)ghFc+R)fnvUKb-~m9sX=ESIO>~8wYo}Opo@^#q zjikqDDl0ra25QKC)_K89I3mpyl3hOOZKgCMj#_PO_eT2~=Bu${7-@MT3NjWuYa^`{ zTqCL%H|H|S0z_Vz1X>Ss0WM38%7ej&W-;Z2oM#zRgf)x7r*>q`mQ%dKE}jZXHe__3 zBJ{L(%$gl*z7I0v68P#U-(n~f)*;+_>Y^vhWjU8h02p0Vimg^4(r+DQz`K)j)o+c*VdfwNh3W-@(rvpPn}? zG_uy4jR@B)$JYyd#nT{b-aIk!VVF4HW*J#M4NS0VEtDEZc{v-~AK~GD&3^~fb^$_R z1 zSh{T&n7h;2jq_nx z7L_TLf7J5Huhd=GLEg$@R$(?nHe9HDMnNt!?k=2*~!(dUja5C z1`aRsjX=VCov~OEy1?kfi;}fP4;aI@K^Bq$T?FlvYN`t9_i59w-5&P|KUq#$!C%VU zg0E6QAOVZoo#tCJWytajPU0u!Mt;ENAwyl1Ra$%cI%D-_*=h}F^AbT9T4P-yuwbk+ zR(H|V)0pa{x|;9>HaK~7fY#9(^Ho7=7a^n22YMwq%ijbNTKK)7ax3zXoM~HBMnex( zKWgmWd+l~1BQ|@Dl?%9L{REkEB?aTsFs5AQD-!`^y0FMDHey<-TAenK-w)&8Pk+rA z7|NJv?)%|Qso1_G=efzM;QhvUjkG9fO_MD@86FccCvmSJoS*FxLr~d4A|SL7*wM6x z4X)4}HO*VFeGM4C_$EzgU#hB`@ z6CW_fO_w#{5Lr3b*aQExtu{O4YO<01NG%!<5{kc}u zkz=C3lT8owJq3XUGnKeNA#(&BO&f4_LvlsN|Fn-M6-cNpjJ6c}^MJUc=!>*LmFtWR z+Veg=fjF(5q`>p)IIzlT$ld~kEu8v6na)^^6Lu<4}STaQ&c1elj z$|)bR$Tc4Pa?*l$O2SgrFoe=CfFtq3-m-54C$Sje1gvaohhDTuvroiQ?d zum;%FElU~M&ReKk1!I6BrM6Y>n}+NL-lX%)tK1HG>cxgI0LX$#bW8XQ%V078)-sf4 zYF1kTU-KQFIBy&_A0$V8Abs(?#1OS2D!b73i}K;B zxZ{u%2l8Jy0T(;60t|{fSyN3Cz*j6Qf8=UL z<447pdB}stCTq4*q$*$xGVMn40Gi5Y@t!`*!vfT)cT_F^jIWunNez5T*d(J!B3xg*a#r0clDvpCC_pC7G$eN*Oe6p9#QD(%Zg*won z`RYJhR!obO(8^m|v6qz4J;Q>9M<1;4XEYG5CnH)ZGLHnUezPPk{2hC&kK zaL*&=TZnHWe488a=jK}h&+g=#d%^rXQi5?n=sIu{a2Nfxzpgr!PErK zL-Ajnlj0HgV!(;(oN(efi=xbtC)-+~JKvH@>d#pxgfnT!1}`%-#eg_m8-ba`Z_wx) z%{Ps?)_fCgPUoB3!hv?3B|MQI+RfZWv`+G5#27ukTNwHTkM!e*{NP2Q+w48~mVKb~ z0^mZ~Nh0mgzs@pMxNm*N3{SGo1(FeI-X3^6h899m zQh;RfsH^Nc(^5zs>LWRIvIeQrhEM54VTbZfkzZt@nGOz-_P=C6pwI^<**f==mSd5J z>eE`K(fQ;h%!#(S>)Orne5Ie7%mV~_Z z;^xg$k%QB1hHd=r(h=?{%C+3Hk8d2|6Ag=UEn)xCd=pdof%#UhwW>1|8Llc9BQdNyCtwBb6ka*Ds}JnnFWm$gnM+%TTSqTJTRg=lGd{_E;1*t z;VI!B<*eZy2sf;SIDui0CY5d|z$=qu#{ET$K{4~y>Xw@!MVtNEVu!G8!xJO!3zubv z^GzB@-Yy(m#TS1}e4358a>yq*;Mc~`?w;MIs^Uwf?iWdVX}=e`pRwQD+)FbLi{0uS z22ci9IC5sz?lr^}p>p!0czYZPv->>@?J4bB3*_I7y5&fF?75`s6)tospCC=tQQ& zv=dBU_pZC%ZWp9fVyTa+H zzzl;2hkWg?+bbBx!c$?u4NeCTDiYB8NL9THVWRQxC0su@`Rbn0rMwiVQNt^lt~{%rBumci?6M$q}`)N~Tl9hGRr za{B^FyS6sx^v6Znz zK-qOi`U*h)K%J3EY;w}~JJg-@S}`PQS`p$aY%5MbnMjACA2%vc5IXJM)~)=M&aTc} z_Xc{@c-A{RW1@hOx!-1LXGZf!+ZYQfZ-j4&|BN2bxPy-8Cq@2v$U7Kxnsp7x`U8}( z3=4bYVu&*L5g5gJC-+yTYqp2iyaAl#svaKqsImuy=L{$6wSX=Zn@F^VqA?_|V9gF^ zf4Jv+6i9~tz~7wYZ3eB%nWw8#uJXY!vTe9W7lat*RUdG!38g-t3_Pq_puyRaOqi-h zE5{2#?U$ySL0ICO;dF;m)ipc1tJLwTeI%|sZ^Z=$8A_Vb^gvSJdRg*T4N-M)2y z?)Dn&W6PiA@Vm)YlR91*QIBH^Is_&A21zM9wAnz7gPRRCR;EX?3LJ>#?_30eE(}8F zhcm0a+m?Q4AW+J>&vAbRAgPIBdq%H*KZ2RB24buk2;=js&K0JkR{&7uwi%E`j!R}i zE0{tyq)I-QRnWV6>1o9O?mc;H_lKPw$+@=%l7V#|%!U&7i~rx<8~81+Ap-tf{&=nqObjw|s~+Pt%i2(=|`T#v_HM zK9a1xS<5~-_vS!ldJdkcO_s}=n_UXs(>!=)2FEFOJUE(Y$MX0V^?gYYac*05Hrf*E zbyMPyn!fJ(#6^Kb)s4wz>6!sLzR+}hqwV-c(=omi4-3+)$!V2u5piK~Tn(YaxuZKC zy;}Yju|vKj#Qf!H{tjxLC~&sByv!l*_z$Upts+>t?E<9?ko--g3MdQrh=3Av$RrTG zTq#sz$H#~BmLKte)=TR}WK#^dpDfs!rXuTopeZPFVfNv5!F4K=gvuomEkR2>i_)!h z`rX^f&bymUhoyGnsZD{t;XG$U>S!its`J-G`^fxkiVZo>!Wpo_X73K8NBim=Mmtl& z^I+*n9|X=Xv^t7 zhOK6{x6denm%q=L-R0jvFm@ZgsZg9F!%CN$pV=CSpfZRFBytQUJW#TronjaIAvIIF zCkW)gtzH=!%%Dp%q-nO$Q4~4?Z7^{SJKxs_>doS_l|b=jR?Nvx1$^Obe}o^6cSAa5 z33iF~(P@c8<9qX#A7*F>v}%)^dZ@uHD_R6JlJO%mgz+SVH{8cZ=V&7M=Y>a(rSdU3 zM%Ggz5r66mC>wL#FG)1d7J83+>UAMEOU=B zNib29L03BZVQ9aTboy~SCXX;XPr%^$lr3nsyHQ+g^k@nNt4)S7n?`&|nOx{T=N(=C zUoDyPAN_wR|ND{hhaS9q_B4K3r46AT3t6_gsmYov68abfd=X{)y(wl7%R<^{_!?-z zlcq6wJZS0{{LfJxI;z%*6Agv@&stA^+~6W%ra6a7?}xPC*n%Eh*smu1zjd%AyMuJ- z|6zJ&Qp5c>CEpK}QVNXV=W$BHOf!YeQe@c~bF;I3XSlDD_zrHrsiTOu>_+4JsS8Yd z$@nM#@Jc$Fcp8Ex`_cKf-T#TfubbK!h0go&zo`8&{k`o}{zh6aa?c$D+!#UaQtG-# z1+s^lO-j@CIyG*mvY}S-QPUrr>b^6{{0`8v(^t8^W=r^XU(oOq|G);!RyA+@@GNC6 zs;gq5zK>$HgA#^YF46kDyuCBz9(AZMD4t5kFHR&Qp>l$sHPEOnD#tw>9&gispQ>fo zMb5#xR2#(J`DtlN66iW7xj$ZSCHm>>KF5QUa*U_Xbf2d+W^3KmJmU$vNv1;7R4DF@ zp*THjL6Cepl4g1gi#i6#=|9mGLf%Oxo`3L_G-4pkw$y!)L|lmp`t}9-OEd=c^BYPa7$Ox(K4{w9mGar1JJdjlM!L zCEb%y^Kiz*w6>q}C~?L~5u`}1k$Qe_3s|#Hh5JhSzaoS9`Y9}ASYr7EFHaXqVAUVm zTxA-&L!QtCT5@7brQw;Z^oPl;D!Q7MmDk%{ug(ihO$zUu8fd3SzGY~x5|`M zM9+0R3b-wKh8-chp3h`xA~541++e-$3Qz#)&OK&43*soIAVxmWG4Hk^e1aL)+qkAw zT;R+Mrn?HxDCh@`IxxHI>dhhRzG2d{~%X#%fs znGg?Z!@Wv*o;BcY7DK>_co;il1kDz&{4N%*A9%~)I^zF+#>aK^kea1|8!mFd?uBA0 zX03I6N>V}td4fBG?t0`1Gq`Zif9M;pwx%-IS%wXdYbjd&CTH3)NubuPR9P@y=D|ob zL+`e5uOh)9j4Ih_s0=Lx+)4{i4QF?F6$-D3BHeoVtF`(&-l9^ZbE21p&OEYdHM=@L z2jhDEL96@?L4n%9PZ?)ub3_&7sW&#+{FQW3)&5|sr8Xz>Ot!zoi~zSRx_cgGJ)>#< zJ_8|_6PVcvbS$8{xf#KN9&}fl7om<0UO;T*nB8hH7U+=Yf+t0(uN=(W_@M?Pb7c5< z$IT3}9d@g0hO{o?XFsG{POb~OcbeG?b;$b-qrJw?NH&`ty*b`@zTF?pWOiPU={e}u z`jve7%G2aBEb~SxF+Dvif%@jW9;Wd+zByY6sUfhY_UveoXT3dukerk244?d@b-_U< z0raXu3W?QdIW08c$~40A@1CzI!Mn?g&)64<3NuGvf5-3>mS&)4lSxb1s>Ryo9`mkw z!E!1!G=h0pwI|!!7@~fY3Oic|HvtNs#sD^6vV)5=k zPOQMa_dnVMF@J=6lo)md^|D@Q7k$cJL8Aiq@CaIGudJ7`IvHQ_2(uwnxaYlLSFaqn z^}&vfstn|E#+A7J+`U7;MJyR^l35>J5MPEp_EJ!x^Hn~jLuzoUQYDX zrkf`^j}3lR7K9A7-bv#TGBGcNS|^f28I>|)qp-UyWn0~Ed&=O;{OXXArrppe5EZ&B z%)5X|ajOTZ@JRFbo963N--AM}5N2*;$WP=aauNkKTaO$-$ZtTwpVk3geoO%f= z9Uma5e3TOIbH9e$${+dMoyLMset7V!G$ZJ-bZ@8mfenD)A!XZQ{` z4);!g5|asShR!es9w?@@UEb8fh}-c~U+|fUy-uXo=CRICOr^H<5r(NRQfhNw<34$?p>W+H^A13Z0S(r{thXui+aPLp~<-WiKU`>e`{C!)p*W5^F z9=E$pa<972%#9=iO6o!`^|svfhQUAQ`(}XfjDWvvfmABgKVlw~(JI0YvCHs0;*H=N zcK?8iK24Aw6y&A(HeD}`bS^ZTO)_qNcSSlU4=N4j2y|COI`a*5f4O%IblfLFS3b0Z zbExM3(2KE`7-S5LpE{2To%AbjLMMIi{U+4?=|Ly-IZ$IJH2?i4^tR;tP3Vh0I;`)_ zPUz3BJ8(iHwh3=SPk+cxr~)TOCe(xh9JfK4X#P^!{7Z`@+=9kw>~@L^Io&J+mDOQ_$oJ%$>g< z1Ll~?Z5%tfALGHncBGZ(up?o#LmS;+R*!t znLm+*6_BWT*muq3GX|}rw<*ib4VGtWh2O*jpV%-^SdyoOnYIXr77)L=D|TcZ+;W(Q z&v1_{(rH!^*P)Clw4pFlNG#tJqU}b&U`vMcv+Qg7m*2*A5s*PyJJ|@D<>8NXtmbcr zUVzsByT_oF_0BC;Tq>wdw8*BQO)VIyIG~E1d48?WWNMvl*Ja0FOo4pAzzka;b+q8n zS`&)nyZ+(oLaqB=H(-u3yj`5FT|PgZo&APTZfrjCiVRg;7PU7wdQp7uxY#G%u6#43 zho*)eZc0$^L^uM)&2 z84R?!Mf*&BX7P41qV|ndapJFMq=_m3g^&_xAW|qK9uy_(rKO-GB;!+_gOxWB(#kzD z_t&g_xq8n_)7i$uNzDK^`X&S0l7S|mtTu3H+kz+J1hi`o@-Z3)HbrjT34jP#IrH<6 zA9!r1dtnWtm?h9;LZKhwhE1&0!tlL;ipJz^uT%Q|BuJ?#_=}g_J zw!#!xktxvbo{%X}nwVYSY&x|`_UU85$dQ^0-QRUx$o=7NBPpfEn=94)o#jBc$4_eP zY+NX6OLvu}uPJjsE{2k2gBfGySUkE)D1A-HE&AXpbyQi`!33h$%Szp=#h&7$JshIKvTNGT7pVBxoj(SW)2qZIy}9lj*%J($;D; zJva0xL%r|?$%LaF7k-yzUYGWFe0^XH2$`L3F(3ecB^&y) zj;^sbQ{!T|LAtBlO;W>f4leaH!2uEX_qQ5m5+B|l{YZQ`9i7j>W*O#jeixeANo?hj z&Zu>^PjWx~Ys*5`+ndzlri?;ZBAqe6%(=FVAzEXr`(B?SA*Gp&w0p9tv)He5h~IAW z!J`EKc%}v~8$$tG=D3`2&)GB}7I_0)rZ*is288(Aj{D53Ts}P1$eQmtg<|YEO$K3W zdnNTNXer#YpE(lSQh<)bm7c>#8M#hI80nB$4`l7ZEhKT@t>zKU^-4#kS7CoXov{B? zb(=#|O8OG2*%MACRD`7N(wcZA!OkHO_)J@zifie~7<;}!NxUcFM5BRjCtH)#$AoTH z=a>Zw=|&*B52zr$|58oUW)nacst?-z+be(puT6*z)A~#U%ydeH*DPg4djm0}xYo4e z?2nyXxj8j&WQgu3ctO`QSr3~BpJN+gg@x8ttGi2ZO&8X%67N5UpYYlEaBX z_iOK^&ry6Y5hna)~bCs(9b{9C0bJg+q}S{50*!(AwdloVf1zK^-j?_y6uZfke*CK^7X)g8T(MU6QH zZKsVmo_>%?nAOITnqjKN;Eyt#O?QV~ziz)Zrn5 zbFf$Em{R4GDU|9~!5+bW5=YEjJL!1I2Clfxp@<{9yP`^{ZI;tKDyYaQSyCMvb@H z{oMzbf83VO8gI2*MkfCc81FX^s8Z;@{mz&wV=4VJRAS!Np=IPG9}Hfr3veUugtt9G zJNgl0Z^y-wXeQ#rTyxr%-U<}#mJo5E^B635_u1n1Qq`&QqkNm@5WLHO>M0wems_^z z|IgF3)U?jZagMNL3hV{q`K*w(^po^NFUhzd>pU4*|Kql=EE#?D-v3p#Cl5ihX8q=W z>g0@X8ysD-V^qmoKcM8fUdd)f*c_XfRmg{~&$73kTAGgtD_A^WBfYV6{&1IW?sb^rlKx!bngTpRA$*WzqLca z^EK$+V!qmoHzAoGJKV91IGZvyeMB?q8SW|*#6_Q)7yC$je_nJd;h_6-W78zcT^o>- z;YBQ@y64LOJ>@)YoIxaYl7M_uKI`B zhU(acQ0DyYg)cfHI%oxwf2#$&!L+7V7TWi0Bo&Y`Suk^dde)TkQ=ck36MI? zGgr%@gqJDEsjT1r-D^C0lCw(=9_-j+5FO(+64=joXc=n$)ekH+pFC1x^5_x?Q-Z?? zpSAssy|+G_9;;8a>-HYg)sJYX4L{P~|LZTapll|PjW|QcPtEK4j;~utPOy;3i9A*e z%4mmApJFjsE%VYg>LKWwtH}zOWRA(1nZF-Q>CRjfK}FMfPUhcJ8d|hP`h`rKYEkS# zu`h~b6HP{J{2^#VoSIuXqz6!$sOl#??m%U z)`(M+nIv`@^W)uievFQd9No?gwPOM}m{uYoD;b<+t45zaZiKWJThi)W4&|M3r>8EC zY(72%GKvk2D0=VTW%B3CJ@r=}I6K_c?-}`bDOJSYBijx)jOHoDZ|=rv&W zbaWvm)eyv8nm_nvd0T*-5`?U5$S{w0G9%#FH?Zer4&2^taPdGSUmwR}< z0lfbGy9eNP^mN@uvk-A+)=I(9F%M*K>ph;fbla zfQF!Wf}^8HIa}iU^0>!#Uv8`vu4FoT(bNRgWsf_yBbSu7Qwv(8U*nZwhg6LXXs*Pj7Jwj=D5F84Zv{rx^J*} zvPiqu?23l8k4V9!Nx+2pLuPRG=#BpK^l;$lU0SlE4?B6RIj`^{3a1qFQR0c0pVWh? zSr0DYfd+r+60M6%E_zkXWQP75h7RCnBB=C%Gxu1je2h=fT)%rQ;UBtwI@~i1^g_r^ zjY8ZFZc;26MuvV-mJBa);93lcf4H|&TL^!MA7E*di9OODW+p8QOFIXVHAqJ4jdr%? z(hx?e83ge>fzk&|lWK!!Wi-25^TxcC82ol)NnvDVxym_H%;^i$2ZV7RLr-)WCgxmZ zSX7sGAj+1|s{6uU1!MFJP1tWrmp{zoVh_c`5|}8JIu+PM?+besuxlZe{Y4DVUlQI( zeoq^zm$DlDp&n@7{9eAw164o$lbW}GpOu+61Kl2=OZ_ZseP#CS(i2!;EG1~t+fP5t zS$!K$8eaWVP0EC3*^1(;Et+KScNp;0rwj%QSoB{otHVAn(&K)RR+Kd1Q(BfqD*plk zEepRMv=&<4cBFV)qvGqqvL^=|@*04CX!NsF2MubAn{*^Sb{iaC3DR*c7&v~ap^Z7g z;c-LJn9oOQk5~BLkR_z`8p?ntnk%3tIH08{l|cLTZdp7w7GQ^zFS~$?PPw~%(jN0r zSi;ZHYt@ec@mkaXfoc0yqYja6)BNrBdiEtGXJ-Q4MBJ0CF$I)N zwp$yV*wETu8-V5Oj8?d9cMD%NVjAQf82lR0aztQo4WAIzeXNf$!f?C$uUAZYLe#Fb zrM_~oQjgeD3D^?C&o&|8x@PxqCXvBN#>ad(kV^wOh*L#Qt2r?5e5p*LY{Y$+)lE6E zGK0Qh7Pc&&HZl$MX}8U?P%{ut{($G1f?nK7%D#?QVMi}xa*b~!{0gDW zJsUfzL2c{`Mu}D?jC1}w9kCdXo+Nr<+sfs2Cy_bK)|?U#>+1x&@ESYDi&;U%3%H-i z0JcWHB^@xSQz>aSiqDi(6mf5qmLUyPSdWFhc}mYQ=W!K%!U7}|t=TPv2q`#PT=1yy zP5|(!@ZRGjGlY6Klg1+uJyP~)QvQgyZNYj5dV&bcolJH zbKu{=ga;Q^#!3i6SN*1Tg^G|0P1cBT&zJR@q(6dlK1U(WbU*W?hsp5T=XgnfRq78J zT?wO1+?WZyJIiggCGCV%xHr%Deg6tQjkxbzYJMwXB*wwCK>Ezi2n&6lPHPuGXwqm< zuHF6k4&xeOkhMBsFlE)g+#F2!$sbtAmF2ZAu`D>WVVorO*xB)Afumzph?DK>!zVWo zq;yW@=9RVKoakg{Q~bqo0}VY&T9Q*=^H|IU_r}x?Ln%rfZRbyyFBb8?P;{F*t8#PY zw#xPS8}c8E9)7R_A2QmBsX(OyDiveA4_SieP}wO|-|Rd|&++9woR^+*b6{$1$+dyn z71xfB_XSe9^)qS&_j5A+1CNs1)aE{!Y{<C^!u~Q&njM>f~3$e;3+rJx>j1<*L*s zcCb)RKfliDRt~p19Ui=flQquP_)8374MRBR=FkzV|FZH=FRpy=@@qd5zIX4H13B}T zlEG$BjR$UCGpX#Ux6`Ye^Wv|DZ(cLq{uqZpE;Vj-u+9$mZm128Q7sofmGI;Q(`UI8 zwix27At5Y%H$Zt+;Web}NT-&88caQEKU$13+y$j!5j$2Ev5zr~nt!tO?SiPyN}%|*UN9S3iEZ9raJ(UVt9fS z0PWA5hz9;I8B*oeF8Q-uz~u)&VEn{U42*O>1VP}bUEi#W=GWny6PnY}@rlL-&P3_fmq+JTe(`BdPizMkjiK42 zZSG?`>r`jP?mi7#lkD3=YrW~EAF3JdK2#E-o~`DY9s7t$acoN^2efqdL0bBH|A8%y zUV2YY^@o2vLyE5#^%Jjr4e>Fx_Z#ZhArq7x4w+<6hh3N=0S?RYB5OTfNRB0$cpLgg zJya{viR_j+A7Id&C2&}Rif=hG-W|z_HW-d}8g$cP&4@F+xNY;u24H`lBjl6Zsl6n2y zZuENl6K*lQqx&lMXjabjHTSsRcqbkH&Uz!S z+ch-S8lBZaGaYCfg4fi~@7)%g!T^cekGPBfWNB-I)3%TeX`Iu&Ae*|fn6U5aU*J4p zm@#&>-G|X?eI((m1VRX>AvwonITM%5qhXn`Bk(?xuGj220iN=JvQ_p&qKHgMzQFH( z`&~)lb(~52Tzo}KZtM!?wm7lU^nfuU(XP|5+u$3j$UfD;@;?$c-caAT*c4i629%um zOQCSD_A)lrC7he)WYv|uLrWL+y-~Pld;FDLD*;Q%EKXf*DUI*u5LF$=r36d^wfQ77 z5ue^6s*`ViH$Bi~s064=5G=Abw|fr<@T^z_(gPO5!K6zy>+JbD8p??lXqvBm&??`j zF|%v|b171R6xqWxjyg$f#tH_BR=B|DiBztPp ze3{xtur0-%>={zd6wXrpat#hm7a9|k&&>1jltLy-yhtVLf0eYL1;Oef!} z`I0l#N67q((s&w3-<$^^P(m?>(Vr3v9T);-0cS&a=3JB9xemCtAQzM;FUTCh`y&O} zIj0z~)CiyrUQCPNuP8BFAFuQF?Y;89C*k8sS-v2IQc0on)%Joo#JnC~NBka;ynFe6aTNR}~ zrcSq9K^b7Xz-enqG)8z`&5TQUEa$)J=1=R*eozc*sI0;@4CIzC;wgffaDcd{oWxgX z(-`w^yhAVc#$VcRh92&@S-3Izorn5zW2X=GX~ae0-phDSk-3n}Cq!>eEwTl!xsdPi z&4FfyQKsP-gGdoo!#!uHC1_MM4kL6x((B-0dJ}m4lHT=$JGe-4c80wF#d`}!??xIU zLbxux#@LbAy`ct%Q{lGK5$#rM{r-efe9x@w6%R3bnZ$JutZ-v+(!v^5>3^~u{rS3^ zBR(2gx=9IYt9_f>$i%n>dnmnjB|T7}q;GJt7P+E|;leGH&)tB}6Iho= z$0C-}#b*vyFiH?(*1jHtWvmyQ@)%-sPI%@f(TZSD@zliT@Y*z;A>;Kvj+8XGn;+CR zXjLg^cWV1+W__8*tm|#bQOtUIk73qERG2Nt!j4D8j0S(epV6(dg;bsqrCf8&{E3_uTKf%KYfw6NDgMLS{8 zTYQSR-rG4?oIc};*hjdDx?7Dq2!pzu(}sdR&dZh6d9jn7ft5>hiPu=UA}=R)v>)&6 zA?1@y1Q6ZwF;LM6@s`HcrN#pqememprV?q19V1G1e{?*f=qL7rgI16Uu^>?MutAG< zR!00NwCwb2%-vP94FN2fuXW^sv`(*^7P289!5FpCd3t8Ly?9W^L#fixYfie6s0+6$ zO)k>%pm)Z2?od%#v_z z9B?}j6Kcf8RPBakR1=M)mhj~;eHkOUd=aD%zVYr@vYh8px5mM08ns5|tr|s^yf$R$ zFFI%6;MMOT7}qZ-q_RlIM?!0{2yYKg1hafCa|;76u$RVHEaeyhjnq*~eHKsP6CVxI zL$ktbC{)}xI3fO0E^XE&o96SN0)*nzTl*)*NR@I`HTn4L@*kP@z6a=Z4rxAy>O%#w zilLiUQ8F+3VGsAt(uJ&5Xv?rgAKr+8w+VRZrY^^?78p}aeF^)cs})eqVe|R*UT6x* z6^XMnzBf(G92>xmU!jhjaN-a`@fS<(FXBn;?9}!5pU4+9xzkcz<{7(XX|gSMI?~Mz z6Xo$aBGt}E^rBJKqvzWVk2KBB5(3$Qry=$sifC1Mr2p{!K-9EwG|d~^d_%bBinq-u z$q>2rZV$Gau9g**elPIhn&yJov_zdk(dFL--$7)d9JhxAF@orNMi#9iG7ICQ^lC<3 zY&Zu>5M|w=of?>N$w%jS?GDw2N}@CPQQ=fz;~gFgb3QP8v~EudS>PD{&9FY%=Z%u_6X@N;sk4MjhdxM`&d^z{vn--Eq3Hq4-6zJ@Yp**g2eJ?Fm3UIKd#Cx1u@1`&}2=7E-2 zT8uGaEg|@Fhcp;xfaGeOYzgvTXQ|5_MBq@$NPx%0(-W4De-uSRV~I@fc~Gh;K$I_^ zfQOw=58TaT!5w0A!w9aKZPu!75V!{{zpo&u2)D)I-oK-o3&Y4Azkq^_eyIw;2@|dg zLX~)XuA>4}oo<&;yQf2P4xDFBgyl(L<5M>fS-(1c=C~JPv4@~5OpA#*^9`}n zLR+$6>{<)=giXV2CDDoM?a5S-4|gZht;8jD{U0XGssnHR!3bb$&m0HT13W|cPR_}Q zegEM#pm}=k9Nv~jCvnK*rIK*(_hE=4-f;Xgq85Dm>gLanQ^OqGn4@nj5qLutVzpZi zK|avTpp1Ab?S>8^Q(>rpcSh!p=gJDC9Nl$)Jh%y1AuQ@`q~+krd+IsPq8eXt&46H^zO?kP|KwUrX31}a%5NARijWQAa~ z%rE~QRP8p)qkf^&x?t?m2=`3i$&4|3cGk|NJmN=rcx^FII0JLc#2G_Ks=RtE!~lVzIqo`q zvd~ovZEB{3F!#6j=vj9eHU`_1nbCWA8n4cab~Vz5dE)SdD86U?-xm!Sf)ssZ;G6c8 z<|le8XTXQ2kmL8ihJ^IGlSzYs=DinHtZy0v?PUGPo0_>+BvJ5(`L+JB_l=^wn52cseTizm2? z{b&lZO+IG=7uBn&?zUcxfc0Nkr~jai2cw%xc}>+Hq^Z=B4-~cr(`wm><3`JWna~Jci&} zhcBLlJ9e;-mg4;ZIVa#<*XuBkC&_$-5h+mhkEUD`P4~$^aIPU$u5t=f55I7Jx-AAdU*u0+bCt+a?1*O*RSA& z&&ZK50IUc*CuqwAhE^GZ3pE#WVUFPXIIpt-XPLk|MBtSjwB*~ru}yd-**XpY?0%kM zpuU&&H25WYJQ(gf_k;Tz6#SqCT|^4T;i=(X4IqBrW=K9N5zo5EHye zuIU}_KhfZvea1_`NkHCBLR9E;k4r{#Fr|ksawoyYd5xVq%R-uE3U_H-k(zhDCo1At zAjA+28Ut%6g(oDW*eUWS-)Fr1HUj{X(X^q)P#sz*&We3SWI5h9HFhY+;5k@G?)e9D zIp*O1dYe@00N{me`%gO^%D4wZ=~M%VpiuAlU@q}P!>`8u%cC~87Vh`ZKr0Ll+W=a>i_5bHksD^n7~>qDNK-S|Deh&4CTd6n`>HKlC& z1@ruK=J}$|tMP|?Yq1TWO{XqE&5ebkW!#UU8%(}y+60X2H>z=ELMLnegBRN&q*v(f zAo9aDS;y#PDiOhShkZTb-O5G_q)j3vf0p*WQ-q5~VO_CctGkY!nz1_lp4Qa6ew}7> z=@}H!spNL|>s|>Q7wApl-XHKYvy)c@NDQ zU-fq~URK}9oE=_&9p&jgd5<9rC&&o~lN-W4;!%%Ml?9B1OnSpHinZVznz`~COEcMr z7qXi@PGDG9vLW*0G*wD7X}b9)jS;|bo9*Jj^ADNb;OV`lnM5N7s;E5D=_dyowZG!m zV8uiak9RN4Apj6=c@Da|zt1(!)st_vvnQmT?zvcalL-@e>#_Z_e-3}{jwBnGLny|u z56wyOaQ{v=E~k6>LHt#j_|68wbcsSY#9`P=raA;W!wuKt{B)WMd$&1FElyLj(=^v% z^TaCAG*7aB(*mby5qBdwO;M+*%V}EfG%a;*(r)bBw35H!o?r4eF{9RLYDmmL@JuES z&wn+IdDEFwnwWut5Sx&U-~BuXgt&oeMxhFX4)F>UCuV?;Wa3EwK~Z7`x&y-wc_qpc zGfJJN^27|ZnPj3S>^-hX%qZ7`Ss(HqR3&Cq=)tr8gX+YLD%zdR%;IVNQ$)5+ftM_X@=*J_|L6B8TexEqs@KsJ>8~)>GRI zjeH4X7NtyH$+~qD5gQ2OIEoK?B7#a3&Nta|Gm_9P%&ad7oq9DQDnddC8FwV2DVs~W zl-4fx?2!0_j`i0JM5WCcvEUG1E8kDJ*O+CXertJAC5fF zDXa{0(WzK3Qr!oubtSc|UBbFfQuDm3%c;r+Rfj8(wmd*q@bHnd=#@plH3=vBLe)1P zHd@EwO)vnjel11Wnl@CDWD7;-Ynfs8T=9KxJfFws{XGHtBSv*h0+my=3q~Uhy;aaniih zmU60`OQ8`K5&eGZsv+End_qF+HorL~SXcTTHiEOuI*; zaM=+kcOoHf9V|p=$wJ{5qa>ZQcjjVdw`D%kJCwXG-K`taY+^GaU+JEgv^}^-5da1pkwz7aA`oWW!`1FbC35F--u(wNwOBr*Wav-Qje1Io;8r zm8-xNge1QNa=$EgZRKnac+_AeVwV#1DQ40JYu?& z%Qn(}&?f$fXE?sG2;ru>-3|WGPK2pSb_W4DyMvEXXLc7KCC+RC7Gh>~TVDzdf|b4= zdMF6@Y!IdCr8KQYz!Parw^jg;i~^7H5)qv2M~cHOYKLh6t^YR8TM0)rt3gzmLCC6n zq5_qAN8U|q*q_w=QA6LCD*6)+~Jv$AHL{m>JneV{pw|t+a zvZ4ca)zMs|yJxsRW>(~eDUDj54ndfIq5y!;V8-+tlh!@v3BRpn7D1~G2VSg%HI6}b z8ojBkCz-SAHFJwu9-4)p@|MjxzI1^J95t6~3^jJu#g3#rq_0@6OG55_xYtxoCK)y# z_oQ{!Dx|105w;eo0f6m=<}{FRm;jgPkq+UlfbMtSX1afirnMD$W&iVGHNQf$5LAl? zl;5aTxV~=i5k7~E#FZC4X~+m*c`;Qx;h@!$6i+mE^{ii7LK*p!4s81Kw#;3@aBme~ z#ap5?DShU_O7~8o$l#g$p@g{U==L%Jjf01qRyz`hCfXF4V3C6a%W5qVb}q+3!{+b} zodw6b$W$e|3ZS0~z5M7@({Kfp$z`J7q?<&eV)<+R+QlaBqI;347NJ@fZ;ff}mhYM1 zDlX&}c~q6sgnJv$_*qOjnZVquvdj1nueOC`|1;*xTQEoa3Cb}&r2^`~@89G&Wx?aV z*e2FKGc;5;7vJp$s2;?yLdPIR5)b(c{)f!;lmBQjC{P-T!k1JKJ7%b97Wn~avy?Wo z*DlD@eR4pgLrNSV_$T6`VM`oqenB?PwRZn#78zlh)R~= zYiJRE>(sowlBj!2K9e0XnYzH>c5*P>b06;q8W-}{;wCQ>P1>u7%~Z)qlbxo?2EWNt z+a%lgGH)DHy>SfZX~WD}eg&ol5JW!RhB!qGm@?5jaJPsPcdssUt@E*6uAFo`XPp!hzmCtf}jJVmZg)}Z1_epHhrvG$(Y87$eE7rc@0?2VGQ}Cupp`j zxG4?$X78bFbKlDrc}E&mIg8A5yaH%9aKj)${%;=T>$ zbf3vK$98T}Uh1wg?U@_x($|%7S0uY^nLGP!L!>a`**aVpj6G>86X2kW7n=eDP4gKE z$nfKmk>AhqAZt<##<{#z7YNawTxf|*T_+kVjB~m$I-A$mRoTOAH|{YrLzmU>)4}#{ z*`b>b&O4xk=%tB9G+Nsz(wwA)-~G=u#~J^?s;R0pt;tT*s=@Kye-lf(o#z0dN4pyZ)? zD)jtCKTsvJe5Vyah3a)(Eg;ET^2YummXO6}8RKxMNC$lfTh(999k{ zgpK$}M;+ldZN2^tI@{GdB&?XxhI`&nB}p_EzoC)1{T+=m~AyUx;L7WAM=6$MNSeMyW ziiV+v=LA0T*aOv)kDSI9GlQU_l&BWtM>55hQ4CZU#=DDimJ#1gxK~l1du)7Du9qw0 zfGx1Z**;?HJ@ggX88P8k(vI0(H#34t&la+n&LFT75NT4}A=$&^mQFP_qleFNx`}kG zBVCeK1Lh)@XwCt>uX=qYk6{kQzG(mSzltznV(#V&J6TNvD<2q7k=zZ5-Nv`glT^Q~;o*vB}7;t}cyJd%H8my?bVcwVRLGO8q_gSP*C!>$OfhrQv&LnAo zk)WOJBfHle9Avawpw#+0fLi9B!C6Ua>qZGWlIWgO%S~WP?tcPs0XU+c*+t6S)gNPC zFg-|1D|72M2}L^QR>g*Rd?kf97MSoDR& z1Z#H2v^N)F#pGfP6aC4U^n{TG?&hI%eJr!lGl7cD6u^u=A3;@?^IreAyN7>K-fh+c zLn^^Y+frIfxY8Q+PF#(KI(>%HKUBn&Q#C>&tX8P0$i4F0#@|KrowTF{B|V`~J9JgJ z_bgdc(u2RE88Tk}+%Oo!ScO2QM}hDC+Lq(&Br zGn*Jz3f!xIYNQe1E#_WI0E)Qh^cw=!m`5tCQH56bJX`#r?x!v;c-Z1Ets7pFgvU|L zfw3A zSrO|I42U#-Tvq3NHAR;JfEMpHu;ixHomQnOhH5PQW;D=w;r(z&$XlK8R|HwRqaL=Rd9AEh9N@$GXsqUKcZR|o6drBxP@}zv7L)V8HaKgR1#&FP_+c-Cu2o3J*vW@iqn7V_nsR5fg?2@$>V>@^R zgNX29I_EX;N$xU;YowT(@Xp*EXKHoVfFcgzc<4FamdU^p_<^NXHQnS@d?jg6vl)7c z2xYY%7+ZKwI}y;fDm9yFsWmTcs-55R61qOin6Qmw>^`1oCZ?)-*6<5|U}mGE$wBn} zlI=^Ux~jAuv*_eKx7+U^AwcG>PJx%B}2v0x_EUCPACzeI0&Uum+D)5v$m`% zx@;aCuUedn;X(BYOZD6qrVY*;Q5ZI19#SS+*t@)R0V2&i^t(TQ->S_kg=cTkOvhjw zUeizfx(IUP$iLIp|HSbhf2-x`S~}l^37VbyPek-P=VA<_+B_S9C>L|CT+NanOl;^U*?!qJ5hij3;a8|*m34|V zp#I}VDhc&e?%Q5>K5?4G%+g^NBabscTn{2v~P9ZA^Yub&D-u9y^V~w zI)GN>o$KMfNTxSQY3J`?$&YX?mwER2WXbrAtn#)@FG`c<8be6YwN6YKYfQ6 zv%;~FI;?Bjw`MubgoPKUjzo0qoTm_$@9`X|^@p<$3}Nvh_NRCrePF!BKlK@D3-OQK z$>k;K>q^|=n*<)^ZcrCf8_n@XD{ zp{z+WctDPj5P>bRFddeAP?Y4DtiQw)$+2Q+37MHXYDr_dB*Z!OFO}v*Kj+mb&56nP zoP1D|$7GbcCx02HOomYu#YQ9I6D&g)Wk$QKDyI}`V8seUlun~DtbS8H5C$}(%xTp5 zQgua=l^GQzTT=v0lp~)8OPsL&aB_A9_o3sy#GbsQD&n>yQdz2>I~q!M%5%JW)j6@# zi3TDjaJXQ}Y4=Y-P)DU+d}4BTb-ce;i)A;rXOY~i+6`u!o2WRyJoffc7ZQ)9j8$Y} z$7G<(BEmi2&_J4q+Yxd5B1%y&V^xaEE8VLYHW5dRsLKnyy_%PZ5Hm(LjVMnXwu6de zlx!qA6KNl{j=VUYG;>&w;ddt@yqeJ6a>}zctf$n<=FrO2#DS&~z+f9{OdTTLH9nfF zJ!$9rFNuf$n!O~7&63!bYjUk*jP!o4flNHvYAR`SWgT?GY~q_qOCuvc#Pa}qHB;hr zXWw%JztOGRxLivw5+gEK_37C8OR>E7u4ZH2_vh-(f?j14M*B2dN!>`Zy3C2#x z?rq{S%BldP8K3Ab*9>BvuNn5N^IG*C--o)P!ppvC^QR8 zB+((lhN@I(fBJ?2%sH1`KtzqbY5ZmaIaX*lU6HPIKby2^zx;GQcG?e~=Gr5P(Ow#ey)b*m`5hYb+oy;Fi1N)R z4Hj58#4C*C_%Tt-!i~Fs6|2i+`uVT~2yM7}oaXVUR6pyFGO2#HADHUL!b}h2k@4ko z8skgKERfF$7PH}!V zoYsCzZ_hJw8EhxeZG_(f_*S9VP!GjTJV*gSPy;gpEWw?#xClIwwOVZZDm5@EY|WQ_edFKhzyKgAi7pm_zyE1!wH#-3Ao`s^K>$` zkBgs|6FbT|D|G}v0@KfmVpOB*(4l6F8q0*oLUE>`xKOA@+d3WmaCr&INC_KM*bP-nY6tnLCJsmvzi^>QLAaFa&*NfB+TQ4kLD0;%U*P2~1Q?Fo8gu z(*G5>Z-2?-IMF(4quL?dUm=Rr%cZvcMnKdBOH3R=g$h1jVqc`|n7OLb*lScxol31_ zyi0uhW${QXrPm;Hp4MPwPF}XVw_`K`-VY7|-SKB{NgzNK+7NNXBhaa{AM; zl61`Of1liM;5W%a+uSPKfipaInU0;qYw3j5&S-Q^=kE^jmtMI|RvGj9He2kqDC%_W zb#d7u8}L4yLbUM*{H_`Bl8!i^jCuO`8gp?n{{5b})9qX!=pJh%@BcCK=N|_s!--A- zHc0aXO~jdQ>MC`~rIZ^B4V*YiCm8A@1=w*TK*&!R={&!4F%aB8BO~dL@T##$_=5U_ zXKWVF_!*!lF!d;%o?r;~8YxK;$laAEl5jI8s_S~vXT=8s?xR5gq7wz=tc?}4yYs#z z5KBzx%k6!s%X^2Gkthk@*V_1h5i<*zb#n%x?INYvI{JaVqTAl}=7>(Tl3holC@bQm z_`dzIqeWyii{*Nm#kO*5xb6(8%PByC9-uC?V>Yz^B53Mt+^Xf@k)Y)?W?xB|0{MAwa*E@aFg~g@6bAT>x zb)tfUK#NF_Z?g6f5gbLJUjb)*JBxH`OwU`Pf6=>)DgDGNop&E!{9U9i;}dVt#3=tL z_EWB-o7ZW63#}>uGS~sq7Z0Qm3OA+@ip#zYit#h^AdGLO|0&aZbpE6|?}_c-uPWyv z;R&CwMJDPv?H$dOkk{a^n!E+}de)mkJ;*GR*!Y7kMf;8Vd-*o^+nb^~>qujvbgApc zKVikU)+q@)399i_`}^No;nhxN6k)v}roHjtw^sOrRp42oS(sN4Kke}s0)X1%M2-oD zg2$HB^P`|@-K_LXF`I+5x(QtU2x{11x!U(I_iX{J!Bf{uWNyh`d*XJNU=&izRH9w! zqemyuM{>IkjHh?4d0#KiUi%~K2cjyVJb+*;YH@jVKSUsGuO?{o5vA6RI-a$Akxd$~ONy5E@T9Dl0ZaMS5K zMk3BkndNTB*bN%4(wv>W8+D=o=#IQ;Go{&1pmr1AL@;Ei7Abt=PL&G^I+4tzU-bXB zm~^S75$(ze4$V?dH=T^W>7~T8#i=V#)(a=I2PU5ElWO2GlzNh9;`3xKvsH;_6}}AL zi<5C-#2FzyT_Rhh&W||nvO7$E*8AmSz0Ij7@k}q?gdjvG(nF<`(&cmd@KVIA-l;3- zqqJyt-^4SO{N_A~E5XRbGj;knw0#2(6;q?$(gCR{r*h*UJ_tj3amQQH{?Cz+>z$r* z>fATYJ9)~f>1qb%|AcG4HfWUd_s!MOd5d97-RiHD1(M0{iIG#4^+(H^wnf$gWnFJs zXG2B<5_6^%wMN>eOlV7AQNh{IpV4ZE|0~R4!yWKRy^K_#F%9voyZH?<-O2GWweslG zKtJbg^to*lCd%$?g%T8^{aq59Pmh<*-K=io(Yc#7SFJnCz+etH5t_w{ajUs)sD3ZC zqsD*p37xFeueEWt7T$|zAmQAlr5 z$Z`!@;kO4ebroDM9880-0_ng}MW0U&_X005315+Pw6^x7i1h#*hg>E&_^R}heMzTU zB`UA&beW-R|AZ~O{2i%uxr-(^aVnQ#@!93)4j*mmLPt_x!G744o?Qmaase`p@0->w zm)zXY>>%+jX%0CRe>61jrkQ(3x84BME85(3w1$ku2mc;3aA=gxTy*Ig7m8zislwVkvXBx~Lm4wYre0Z6Nd~dvvey06?vfmkKg%Sh$J_j$L1rQ2Ju=uK`||%}S#ZkPDJN)~<_ed5 zLF{yPJ0b{^Hh&YCQ!$QSChE9tjIlG;8Yy`+K*`kSdcX|4Sz-F2u(HRrfZ5H zcbUPFyMzuAHG70!EG2CVGhK<=`JuHFKOhLd_}mOzGV&ISj)5pjYjw^-vEa4u2la3& z-HlBZdzcQdy;7Xq5_mY{T*S^(kdAxqVGS#6=aB@ME_Fg#EE5}^sT&zXh5tJ&vxvKe zjjLznGAf&J@v;*aqW)uVeCsy;_M?(wqO7!T!o^2C$-rK_y-x0>j>(xpHOW2x;1|BN z&Q;dWB>E8=PkDROcAo`ou-1`}RM_OBuK#>%)0N#TNCfkDIR0BDu#cB(%*mc({&MNJ zcJeTFY|KG58}q);e`}q2`F=F!bKctin9s1*8FSEj)F1fmV;9*;hxUXp`1ZXIHg3(N7*_1QC7&kt>6 z1UbwB9L~Ua$XWSEpT9MEy^$6#k*_+v{Y(JHp@hVrx0G#0GU0S4&I$^){-KmRYEI z-gP6?Ab@t83irGMveG&&NyA;yOGi_^;QQs6pY08chj7Xv5c3+|yOY;nNoq%L`MApT z)!d=J9qMm_JTQ!vH%x70C##D2CoB=kqwVn){#J4Y*Ag%j>2QOipdW<@m@vL*ud=16 z(Ldg4fnf26LwTi6N`d;y4n*Xk9OlZXf0_*+t%H~BVlX(hXhXnUUNY=C2%=%C9*x<2 zsnp`~@h|hQaj_fl%G|LFY{M zAp(TCeQT2DR^X3!#i2jVow$ii+uX<~NfqZ#LfN>hRdCD>fym$E-^OSxwf~7>Gey=6 zPKvhHbc%?z9O+(4-NA3DcFRq#Cv|Sq0+%O{u4P7*>1xH2_mZ{DtKaK<+le$KllX>Y zz>`#7n?n?N3neGZAz1z;7A;hx(KG;OleA;5D6S#o*Vc1W#{c7aCid7nFO(7`I+VCicu?5iZnP(jbS^N-hV-{C_-U zWNR~FB=_FsA>)jT-0BqhrCd)8ag&}0E$FneLDF)}|A|#CFU((wKhHrU2lWWXh^v|F zCx8m$&@5g@LGM!+WqEIipAQi=LA!uiH{Fan#iMgmxZ_)%E`j|y>Z$O{&atseNU|9= zLTT{#wqC;N)#ji}P*2ej-09MTgX!%Sx}RH=pKPs%+4}*_F5;k`UXp@jgv60ir`w)p zYQbN26k8ymE%Xs}1&8_9mpUG6?5KGppm4#v#6N46@!8Jtc6iZnj`05jw{=T1IUV}< zA7pTvW>L~5BtRchepB) zJ6<%^L=S5H02**KHB|Fgp@R=h^-410{P;VCg}_}Or+ zwc-A!Ed5{x=c*I%WsL3!zn4R(*qmM{$OazqG*`?>U$gT&A<72}w;2a64ZaKo?O`(=LEsPwL&r{2!cJPFs{ZG$w-Fn1`>V4l zRLZsmJvZ}_ODg$f{TfYg5E3H}g!e{&tepz@4!Js1>(F0d*{aWKEfOPy0R+RCaexgY zd$_h-s8%!g)HKapq#1eDN@x3$xiv@dmKeWJA#~qLjqM#{^aQ-Y>Vy)Q#v-^k(@>}o z$YPbucv-=l{a&kB(%?Vu%0u#Jjo_}*8u&7#S}GP`Td@pX<^B_{6ggZJ$g|%njR+2m zgG%X2W8O?pMe$0peyi5%s=@gGn(GVtdvPG{At?4d`3*6k;HGtGH<4=WfRg;XEvmwR zde(XG{s03(ov44~b6Zr{QW{-CmC##Gs(PT!EK&7FzwJe{R-jpYC5?=~Efl;m6uWOz$Srm5+G@_L7I#Jyu{vrW*YOLi)InDs#_vBd1 ztl%=Opx zp;qQ>`t^4iU~z7aMVRPE%b?^%9`H@@h+w1t&!{y8&c@-rh4TZyPGDRFX;?!Sd`Z4T z$P%h9%fr?3L+z(G0x)pxV{lcn{p1=7B`y^*S+D^zo99wk_#8yiva9*Xq=i&&M2GFX zvR{Bztk!G73F@xQ*aE4Ed-H2C1xq!Hxio_Q%Kij@f}XcRPKcI?s>#!Ap(&Pq>-{%v z78!6o=c>fj~<6q=$o!au0K>Z^wormz-?}3Bt0jZs!dOb-~hiPMKJxPI1!`J z+3tH{bNHCDfJ)L(fdS--cxX7$0OIWe90v~>UVKujA>pkhJyF=hR$Bcza)n#U}EWA@O8NT-D zw<2q_RYr=RAi{Vgi#aBAp4!U6X{Vs9Y*kpU;=3g__ICd1TwC>$chGgV0{}APk0|wgz2Gax9`vbRIUF+ikL9pfMONoQa&eg8c?!k$zF*Izy z?ihNQk_8NX@z3rUdb37(A%@nSr>_u0f3bSE^RIAn!H<+@F!JSHsjsau^x5g%G4vN& zhocn8a%+Mc@CU8@G8EL^R{k!({#H8s*Y5*)AgC7QO}Z^Ah`swju8?VWQrvlspib1; zd1*vzC)%}S9del-P8$u>2}L42bvD|vWmIE3>;EI;&0DknyzzCi8b*(97}K1Lfj-s6 z1FLAl|E`IFrHMy{P_FNlST11|)l18?Ml@vS{xIA!rz4FK@F`WDnjSF+^=N7WS`po* ztxQ=5I!ZUjns0z^oBU6(zq0&O9W3XDbTR*)I%31znUP-Px;JToBZe&a%u!g3)@zU9 z44yi+glj^G35VxSC%@%PxxW7a;9BN09^bi7aA1?H`MQE)lK}Co?)C&ZHlSn?X=>cp604-=y0+1}VrO-rb=ql`Mt zE$N2q*6TuOKQL%lVhA*7Q30+D)`-nXQp$3mX!P%5QzuD50Npx?W+&QocALNvBxDcc zA2G2l#K*C}H5S9RpL!ENEWmCMu*aUPo~2xk_}_PccVj0##hGF?VV*7N{%N69YN8nt zzw4ub4TWl}?d~at2199ZXQjj+Yl*C} zOU09RhwbguvK_XUcV=o*r?^h)R?q;6EMD?Kr~n>BBt#BG$JmJg@@eg7M{ql-K--bb z!`92lrj}CwspgRL$u_Y26lCstox#47AYM04SA9jOP$BXP&OY&DQ1Ru)(R|C{ip&>j zISO6>g%_y}r;7HE)3_roN9Rok`}i*oF{|@%Z+l@YDJitI&gFKb(vqF{-0Ww5g2b=$@Jr+ZC+oYBDj$;cdE7D!plqOU&`fE z7`Xdf=yE2ZU!x6fE4wQjSHhB|g(|bPQlI0&_-Nbwxs<>oX)=W}i5GmtC&rM%p8XQ7 z6p+odysp%tjEbUsKDRCWXMe?JZ@1p0NV0>t{OFNE&Od>Q^`)8gf6pw4XqVB4^yjn3 zQ8ZmMVnZg8y^6=JVd4(c?|(`y&Rfzm2ctWNI>Bk?j6I@7^@&am7!CJv`8 zaiOrnj;hcvvn0);VX9;rgi%JNI`yBwfCHm*-d5VBN?T4^$kw(Nf%-8*0jt{)du%9< z#uca`lUC!+)2NOG?rIufRc|Fu=UpZqznwOCKH3P?uJKlM3mZ!?9{O20Fy1a+p zi)xt`dB?3{9A$j>@Ah5J_W)s-{56UQTdKMF0hGgzmi>+{!*(P(HdC_-Ez?l&IozB7 z9>p^=q4~*~$Pt=l%vqY5E9sArCo2Pd2@h)7ACjUO2>IR(jv$}xUsN=uy=yt-(>3Q2 zR{Lt-i))2R-B`xD@PXzf7n8buVNV_?@? z1k5tGgo|-s$Cc|LaLEOoC)GaB&hMFew&SBdyx5sJ`A}}wl+>zkchOY#&nk2~g;M>rfN$zUG3kw^EhcbQ zq)LK}zw0aCptPkYoy*OwW!#qz!B;zMAcYv(s0z07)3L|kC|ui1PN5V{B6xwXGH-q{ z&?Gt(d7+X<%cxpq)!pRYCSGk=Kja1jXSlHa+GnI1-j`eh-qq90&sYZ)iP7>En^3Gf zw!;(e>D9z?^bysmbsc`6#JXbBeOIu=g#R>M7UqDGlpZS3a)MeY3jw8IJi-kJGf}op zqy>}2Ho|ACsE!dOdPB5&=SR}S` z1!TjY;2Hl8*in9K7&ckcCah6!sJCz+&2u#Zk8XvS4Y*YWg{a})=KSJBn`kq?Qb%53 zRT>NNDNxC)rejb3dlba8Q8ZSjjR@kRyb;T7yGAoH2X7a)=T~s!WMm~#i4?l z7Apj?f?0qLZ^0KJc|-jkAbBc4C@sLi=aU=;1_)O{w1nX{G}>54=7#zmBCY+>(G5H; zSSt@s0+DGL3h63t(tWFB(v9T&1^{Adv}?!D?k4CaY6;=ysp4fR1b|tzUAr=VCC!-c z*2MPB5wmD%ujJ`J_O@Q2*(yaf9u00dt1k| zZUtAv<%t(!BFBCxXS|J|3S%mGKY)gYq5upANdrBwzlTBKC6AzW@+vme?GcHelAdYT zoPJJgoB--mD-|um_U~V7!v&AMhgv>nh9CbSY=%p~}0&dTqAe&+;Q*#K|H z!ay@+>Diw#KEKX2KCWBi<4Dr%v~I8M+tqfwTiZWyZU0Sp$xL6DuG^?*!Q(c^@d#Gf zLx7S!wfD9lRSXb+KU!1m&bp1vvv5#(RJGTRRKw*qFZo?gkzlZ944AHTtFQ*oIVQ(j zF!F1*1#aq3$o8XDfFYq^2@U!GIMYyI3`1%ZWsGruBU0_ax%W}I!%DyI%02-PCn`=y z$D5J#$vbY$OhKy;kyY`3g@sk-#VYy`9b_nKz#IWMXaeO{$nEJ~vwi@3Nl!M~WW;AM z<9J{iS-!|YhIzC|B9bX>ZM{q)<0z}05NY-JQIUGg*U=92okAoLt9Tn_uH$Zh*!E1k#FDg~1 zSf0NggQbw)prR14f9H~zNxw=lZ`yrVMS!0Vg(pyCe3Fl+c!iw1= zgT?2(DL)}m-5mO2UgBO)<7l{TfDe-m%X)_KsGqy72_nx@#3U#Sgz_h~v661+&aLyx zK~b0oEB8Ej9bpZV^Qb^LV=ctKoZPmSzaRKSzh zw(n4AZ?kUbl!!JuOUbbJ8TewhD!GF~a6#5L({Ji*U>8DSoGh| zi5#d+FQ-5cmC8Dn?Z05P3R8!Z>Mg~1m>FBQIrnBa@xGKHYgfx#mwNqQc+5fy>EGI$ zV@bMy;!RnA8x;NFvh{X)wH1CO)+e4oVC)=tz~m#vX&g}tAw-{ho-UJ{h)VMqO+>VS}9&3kiXl~*``?1yr22cy+sasg`uQ`64 zYr11Qo`*fp`GaZS&frx@mgqdAe&=7dP+o3n%zW=g;U=oc0!{>L5{b%IFy2H5evG!$ z!;Xnf#i+H!^@!IoP(p9(-no7*VJH71F5|e1V$>*sgE%|DRvOyy2wZSHIbRTri(b(2 zSo8vBZV>fLuPd5AwrXcqY#Gc6C6<0^?Xu+kvq6dZy_e5EzHkgams9{2Pc5sB5`c>{ zC?o(MQ|Lb<vr6DBZO<7O@@#VmaOG@d`Fi0jC|$ya2$OszXqy6YNWI%y z@85DXrD1E!fUPKgIFAa)cSv;gYTYxFIO)3gyK=lUvp0VYRJ`P$_1`~|3Y(C^oD`gz z(DTw^s7TRDj~1K~h5#Q6GCw%(1AqKiqyJPVpt9@!n*QO(oygoUNKGW}x%HYto76Za z&&=`tIyUXqk=-K`AJDI3b8nc0d}e5C^+wi!Np$Km~M)2(WY|ju3gJ?P#w04RnmVRy?nkx%?7nhP5sPspAqTEHgAv(z`P;K0Y-p5=&Oyjs2v zb}O2bk#R?kG1pD>qQ^3 z8$%*E3XDLGhoKG97lC&CV*xa)K)ry${oH^Ahl-xY!>7zqEh$k9QKHJtd?tOW2-U7m zl>2*Aiao77bu2T7UdKzGO=;BZt%Loxhh3hcy1-(+PA;Mtbk3wN{Rs3 z8X|D z3#opVk_cW!#Mwk#U=K*!wda2gd&Zmcobjh_T=v9z+k(ceBPPTRSXmxmQv*S)KI^re zwt|zexA14=Ay5I0R;?E3Y|D;!rnx09!)sCeNWv?%uXeu=P8`|Ge$A@#mJZ@7pSN^k zasTH=yvmy%wa?UE zI9Qp4QT~-sNU&L7SzaH)=^rIY$y>l{WYXJiV}0eVI5%A9HUc)O{<0g`>L4Q3urItR z|6)VM*+1GfBkGR^2wV5w*v@UWR}d19QHy$9C(_88D&-bfFIQL3mrRhR^bvq&unMTK zVfLWZnEo^43$SKMVYukKGyu5AmoYp@|&>CWUZ*J%15;$@tcFQK$XF2;K z{AWV)Kdt>MKdJeowRa}+%r?gF_!V9TV^TJH5!<;)M$GNP+2Rf^<~*tAlZqsssAbij zq*Y7kYfLd*7S;vPs`w}q;SW!bk>=)*L~Sn!uyob|-qL8toA8Oc;{K~fJP)(4UFF^Q zSjStvSklWJpIDQNs4Pe~%}t{OGf48)+F;$cxpf~b@7G9%$|_kN5KfTT=@J!*(*)sw z1fk$c$Ze9pY?C9`m$f0YPRZAL4|u{T|CS(M8bb0#%EJRvwp->K>l`WHQplecQ9_W3bkb3f8*ouSfa$RvyPV@RGZ<8^o-|p*Esd0~5-=j8fEqM#B z2^hxlO34U!{BbT8tvjBGVGK_N3}X_inIku&65g-J zx{C7FkhncTz81@_55x{p7J8RQ`L`&}tF<@={E$}7w!YXEdXQBmiCIpkShU03)-9UI z5K)>3eN|>wSf(K?V{KT8e%bFcD7@*PXGdnqxt(_`Ji6m8t=vlOzkJp(BSV*&{62OK zYmg|ejK@L(qaTW20YAhaf%4e#-aOWrDK$z`{X{c@;^FEGHgsXm{%oAPo3f7V^11RH zVL0Br=NMIHdNFO5x78f!wRiAMH7Y#by#n22(lN%lWo0Yl|-9uG-Qp-5XT>il{eOo;;IPm}*lHUHP}|8W0g)B03C z=rKJkHrn&rOChA}Kdp*f2P*l0DF0XZb3Zb=eeg-}1x>fV4=mX)Dc!M_6J|+FZt{hu zH+`(qJ)8ckYRG|#F_jp`sDkJG5Tp-qkXl)+8=obaQPp__cjdR&2w3L;{MZ^O1GmX|z?&Lz7 zo7@;efY04tgSq<)bv9d_JY5`Ybt=WMj0T%`XEe~^{Bfc~xU^hwwXQ4to2rf8P&Jk^ z3N15yBDPX^lKw^Vb8m!kL> zoEV>|-@CffL70m~d|G2-)+ixOJ~g z;&*hxfOKnsfu84rBq6Y;xQ?yYJ=sP|rc%J7tl|0AYD${)vHNCwBw`%Zp(d+7Z zjXGw|KBRjlD=ydUrM;Pwmn9L6hCQ&E0)D$3*w}uNv`@`h3eDM9iX%yjKJd9%fekLj4TarqY8W9 zt}cu4Er}^qH)KK~*1^usO&weT#AE>>seyV@pLd|niNZm!Df}Jx6W4rlFPazJ=mknR zJ0#Zj8`fb2c@m8`SgU_qPQaDRDWryYAw5To=co zn0$(`3Jy2js!xxYcElf50OS{8)j@bvSid*8n&DmBM!)yLh83B5*ST|Qsbwm-l8w@Kb&*#YW9f|cB;&u zl*(`ZH<9}-a;3@9`9*4qpqWwrD<7DAJ%=30))g8sx&E;uC0AdmkT@lBO>pr)X$5P< z?{ZA67({nz+|Dv3R!hYn1c0JB2T;9S)_WVrII7F7LF4rn?24X73cS9A?(5ZEX@?JZ zZoQPtTX>qj@?$$@^3(}}?!H3IX9pVagY^hkeCKpyEU+M=+}(-pbA-#52A0EYH{a7h zHJtY!OVBKuz++JrmsNq|D*xv+E1`|E)^Ol~Bs(J^O`8Lkh18V!TCiuAI(1eL{`-T+6|{C%2p^Z9$oPwWu6FMos? zX|qD1OZK4w{?6ks^pm_)m34BnM`5ZpacjAQ%KFIMN;{fvrM*KMDy=s4D!k3JzMzeY z)?)y!jAU&n3>Y${$<8|W;ONY0%wI)n`uXZVz%60+1)GX~L>K96)u^50hk8kZQOd+M z(nyt#mhTNFkq89ycz_ViKPsA6bgtncagKA~$!o{%RaiQ;H}6mFMFzB}5_9bCu8rh; z0gRUQNE8aPmto`Knvr^npAK|{TaWOkCfyK8A8uBlYCHs(o?(g6y`+CE?pW*ekEmx* zgw(D#YeYBwV+UwrAT|CjrmO-vW$}qLX_u5kxbGhZhuK4Hv8GskgRJ4LJ7j+*fPzn{ zr~DHsC-E@~#b;NLyCu#`KqNRnSQR;>rzYqrhlB2g+w!b+rTsR?c84K z%6_F$LRKN=cu6sS@a^ww!|)a^)HhwA@;2%+GA4fy4N7XHqSlj`3uz+EWcjasHT;>! zgwS+QKOE)%JTiF@kBY271doxk$)lt?a`e zfAWW41vr8;)SW%38(=tA+A7Byrrv(Cm-SMXeL~N;Y|Q1t0p!wRg*^@FYg*xip~Jkk zEbUHy4gVC}WP8^5#g;WBMEX+n6>8*dX3zSh>-tc$YN4hnmNZc-16b>MY++H1hHT{= z?5h-DMJ6V8PH}`){KUrCLzc)5w<@ICora*2N$jrDVk%+VEzv!8*{#eno<_-696wA> z4@~w;>8U}FT(4>LFQ%aN$Xlhf%R5RX9q*gu(wW;&W~QJg3a7qkv7?ulO;Gk>o8M#|5aV{v$L-Lr~5(K&uYHy8kjq9!QN$%KRr-oT+E7BW@^>7|ros zLV3I75@r#>SxCUcBF5c>ogj8Ym3xiHw5*y~J@Dg>eAvsMBUssaLdZ>=kJQCF844!K@P-*#ZhUvr$ie+P5}V~gQ|cZ2n7!#I z?LxVKva_J-G790QYByi{BxUquM`E+*%@gMU;;Auz=F29mWwS1&`xqkrWStKkX{{z- zUN};1mUv4iRSm|>ST!WI&RZIo1r3`+83-c1?|a? zi8HarC|;0BT;xVqO6+aEr4YkNT7sQT?;RpJGomJcE-lgu0M#E=J?o#4Dl{PKOHU6( z(z7U`qfa#TMP`XwM<00eOB$f=#b@kSDLClqgVA$+FQ1{igzv~l1ZHx}P1_G-b|WP< za4U?I9rcgB!H`*C1U;KRFRbtxhB&J*Xv+#)2x=p!!E&&TcP}u4wlLn8-M0_7)>lS! zevGqdVB>nj(_JsmB<`bi!T#EfsF3?2;Z^#zKL>R?a;YeE&3HadNMilR0?7TH*nQiK zIQ-}7u6rE2yrd*-p&w?_pGKqEbyOD=>SBQQ$78edNhtvEy#N3&`FBhI;q|DI0qocc zIJBVQaD{h~mo!FSMEg{}SkS{bRB#9lXw4+ak^4)jLLbKKJNvn!LxX{Sx;XUfn2h4B`^bO%AwV z(RRIe^5(E>e&pB%=CE3B(-SO)c&o78qw!w{4y?GBM~L6ZV{ZovEJQ6-q$7xb5c?Wb zYN6rDYw$j(eW>^3Na`6PVv-_6tMK75zsi;E&bGSW=GuIT%^ChWd!~2v_oW$zQ%+z0 zU|})uU#3mdsq43lN|4ulETJiFttd34XKj&?%I|c4ed$t(8IOO>WN^?1S7p+*{{aLB zJYzmNY`*36tG{+CvprhHIfUy*+f}ak1R5^KEw(=5Wn`XVtPQ$(8h6<|Qb7v5u~Jtn zt)J6_emDI#aaJ>t*5#@jRoy|VYfbT< z9nj^7J`rIS&Cgv516asiUk3B!rH*z`I@WZ3K7EnAO*B(TK#l&)Li!Hs2)!3CF?;?V zA3(7dJ4A<0ic7;<;qS}MTf-eNmv~8OfyiqqZt{OHIEW?WZne7(qD}rhR*lt&&$M`0 z#J7oreWo^g^B2Lvvp3NWJ_x#_3+7{fzddb=CeTVOMCU-42CeKTE7IN!Tb*!yu-gCg zCMt?LXAcO`m>VO)0H=_%)SEsWxVeTQ=5`Hdx{$61 z-YljmEqb|s^M8$j0#py}KzI7y^Wy)1={tX3ec=a2-=gOK==k@nqwMGTZImrD4j?L) z{y$+^0ae@67cO_u_I;#lTqH_{QHLyNMHTuiG2xi_}bekbVbY0o# z-(E;h=F=;vQ`hJx3wg~hPi}R*AeT>1t=C$>)sCw-o9S4X?sN^Hvn2|dw;dv``t#L{ z#xqic@z>pq90TG!Vu)MMTyqia{hG63?g;XNWqBol#aiOczjDhjvewx%R+!8e5@krF zREzoV4R#Fzfzjbd?t7ce;U*3nhIC^NPJeS55B&ZSW4<~1-P8d=Rpibp0HnzQpxn`g zq`z9ym=MOZ-!K?cn{vZL01IVx;auz_7|%#o7W7I--{9|rG~oD2g+Knike^h9`z2+X zAESlF+#}uGF7p!qqZgLv_bTgBvKk}=Ru-hKF;T!7P$~jRt8CSc{sZNPE;1G#NJb`6 zG}nanDrXs`b|u>$YC$b743!uIZgW*aEA?>goI70_VA71laUPdo{(IAunWsOS5#|DX zk=NeEACWf8Ba*&cO+y?*8~soBv4aiY0#v?8nMCv6CTPnF@z4D&yKPk8A}_hSYokn? zK=C^D7usg4u+9G76-{+wLM>|>HTod0{UtRwcC?t3)^yBocV#lOYKk+F(JqELMAr2`y~swc;s9D|CQ(N6 zT9AyPKhpd?+5;lClba88&A~J8r8#OCFZ>O^X%LqC4mLX@SXO*=c5U`+a;RF_2 z1IuY0m%Y`M=VV)^<439g6-Q+<-Boq*9dj0T6<356y`;>P;aZ}Dp-!n@+UWlTEiLtH ziQlP?y#*h$Od+2pe+VnZy7k(nipu`Mx(-+Gj*Lvy{u{S?>tC~#k-fV|p}nloWnrPc ztYcEFt(*T$U1w`{$YHw$_it;)S9W}^0ut7&01VN3pBU_!dq4Em~SNfC~lKbIeoKw?U6p`wq!<# zmtB7HUh++Zh82}NG5R(onLttE#Apc>lBZe3Wg?Cgy7V^c<9T}-ZJTa=zO@%W&xzv$ zF&3Okh|bhHPC$VmZd+*Jn!U%zI@w&=dwlL*t#KN*M*3RvoIUBJU@qBJJ)t%p-Nl}S zx87Ed2W)Zde&`&NF}vAE{)sw=?eG65`$%=cyYU4Usy@zU?tgw6d6CH?n0EGkUIt=3U6CF3rRQ90u^$zr>LEF{E>8#zVB{o=?MRO z{(>kM_Rpe0EXS9FaUJ8N`Lc9hc@oAiN$Vnx?d3?EKvIf}_iB>tDAyWyrDbWegxq=P zmnCx|NaMuch2>@#Jpl_39Zlm;lvgbvfV|p$iv{*ofI6KMEiMfZqs2{pq$h$zC3qJ8b zMjs9eXY>GOMkITOz+wspBB#U^*EE>Q-?2e4&i?_Vc7-&}Uast6C2e(N}VHHhR!Is%4hvvm)SPQX>^-}a@UR8HW9W&-L9+sf6MR+EvRB-rW=p{d!^ zQuXIcb_kn6ZADsI2oI>P)H^A)h8X5<&)lwL5aNy9=(R8A15}g%*nFkK zcmuOg%8XT9N(-VkcQ~9C>L{XHj=XW;|JikGWn&yt>j83AEE*@dC z*Pg#v`tVF*6q_HHL3Hq)$~=|J-|T!eoQWqYr4oh2M06|c46m@gRF$f!bcayRT6ls| zfs?ILT$g!}odd}6{h;LL5-W+Jw@50yNsK;J@;j%G_s^uhQ;hc!h{&LbNHO4&REW1Z zN6sdH&254S@kruB%So~9JWZDQewfq8uL`Ybwk^heCecJI7EIS#;h&-YydDjm2AuL_ zyrdFwiurwn2@&56ilW-_s3W(B`s&rCTI9dg6fQ21SLULWB>0!8+#z9 zmUs)^hTU+c#Z7_OExj^{vBExExUl{aidOKze&AGz1uv?en(vEFXG29RI)cHnSSE2UT{O=Hu`U#Avt&NR&EualnM^(iVH~TT-Skp7dV?lDSiLor zrKc*mt(>r8T{FtNo(I-K-9QA()7=xNQCqK7B9p%}AWti|YSPA)IWI5SWgy8w7xe zc)-kUK};Z}%JcUxF=|5viXSDwjd!hMgyw3|w(M82(0;Z4RP(o1>%TqQ8ZlBuNf?X| zp`aE$xQnF^0qq`fl#l1Vc*3#d$uhMG858z25>#-UTzrjhID#fTu{i)~XnL?5h z*2cZc1)d5mtr7VG?WZ#y!fUkE)TKuf_U{}%>!<)~9);mU1wdELU^NN9Av2SxXthBT zi$0Pcw7HpF1j;CBhaf-p6UP&n4SN7V^%Vp-lQ^6DF@M#MLxfq=2T>Q+EC&tZL`rJ~ ztmysT?UyJ2vB*aun#O{rw_KJabJ&n>U&BXjtPg3djsB%Ob;p%_;w<+(mwR%U>m~If zmt}RjtlE55`w*drEkh5h@Hf&r%qIR08$-m6K|}i?6Ke{Cl2i@l1P%pb{<1S@8YG%p z@nH&)+UR@vQ6=vr4P}{wovhD@)@Ev+8-VXrPla zZtl~4LWCt3kz-30*{jL_nQNG}dasSOqS%+0;~nv%?<-HHZLDy3qw2Q zfkLpJ9XLsaSA3J$IKZ1Xp5M4>o}YKqgx9|d9$R`lfGTzjX2EN(py={FY3@;`vM9TQ zY6`b(>aFfMVTaedXBus2bh|JHqlsckS?<20Y$3X+p#96lAZGy7Ci9{?CU}BY!EbiR zcdQfna(GwKqcm5Pbal`1ZaucoG zD=Ig@l^d2XcaZCqcw)Un zs~^`ixV-@P-KRtY#FM{~_kZ&kdz+&L+vq6M_t+Zxm1CuHd|B=!O+z^xgcmx^?D?1o zQx8NvXcQ`P8|rjHtU`C-!KgfTGp`*wp#jBp%&+W?Nk;)F3&@MJkXmiQuZK=T>4P2JV75sCL=fZdjI2$^(DKq zms~+_{xP%B-@ACKz158Lccp|lGPHg^z#)sFEf|yUPQlJVR$YKBm^JZrwEl#w7G!FT zUp7D(4Zt|nYH^mJ0O8B8kF@&oCQQ~+saR!~B^yF!W9So5{yhlQG~&^9z|J+*85 zzVKC7b`4|5H`F|buUPW}+A_6UlmDe{8>}rs(wtH@z_dGHKJGMd88bL93>c(W_}_P^ z%DzO=Li?8l4J2Iye{v0Eb#^Ee`jjvAl5mAm-FwO2WktcQO;@8InXdT?0hI4w_9H98 zj2g^(cq7&8!-_`v#aNCpg{;&qpllm}dMO5MjA2zf&XsG)gmxSGM z(T)w~xg^X(2HbL~2InK0t47*PaLMOd@DwyV)W~gYb^#~g0?2ZviZyF^Aw}%BJ*Z(R z#QtT9^Y?z%J&XGHoI+!NxABk7PVUjg2R0s}4i|;vc^t<=po4O&R$^!VLw}MT z1g81}*-cE)@fMDO@o=nj2OFFx^Ve61hPq1v5nrCO?sQxQ1;P_$xq6Fzga+&!fp5U> zIIr?~^l#}WKJ@52_=6)ch_GWR&wBQ!CEWt&%n7s&P1zPQ`6}g$Kio?Bea1#i1;sn? zlEWxKXO&n;q0RKst^rQ_Lz%-$9k7RT{opdICDWDdSBE*UIId?BsegaorQ>;x<7faGn2M2I6B^@O+z|P84@2_s6^7Eg%FXUTq^%;VYB1 zh|O#BDVlNnsFihrUc&XIt9T%AL+LkNIXwE#7GzfJGlH(rK(HHHgzEDh1lkWTLzpEhK5g{s{}zcxCReOkzLf3-h#r3_8Mc@G0Wb?E4x5 zOvU=ZCnM+}G+@CNc>?7tLsvmF@IE9RvYc*;oVH%OF@CUcKR#* zq^wHzhq#Fe{nU<9<`E%5G^HCHsCZQD)lHjC`dMWSw1X~kQVV|1nR z{z&;u;)Bb9i?3@a>4K?BktDf6hW&n>Km^aD_ufQtbed z(nlyAe5bIyT=1nqw@^DI5LDnEK(XQG>u=6zXHdYxr>bupPW^W{$Z>i5``-Ml>P%r5 zeSz855Lm`FDLnpPiRd0m{NPOD)gXtaYXsg3%fa=mi91OpesAPv8`GF5#v9VONbdiF z6PdsiuhlIUgL64pkzM8ckf@s{8}4}wS757m{u%;X2q;Olk>h#gi|B~^!P%9Sy_xn3 z3hYecVF#P}gUheBlNlaE8U98j7=`}eqaTHNkD!UFpck9gjtg<|lLdC1`hL)qWj##tcw<@d?S^SnBjZz9bH60ls^6yoNzduGFy82nF*9@VrKEU zYq`Ek_LpQQ=0uC)-vwaZZcO4f{3*!SBj)Q1&52z&VK`&;x7ZfxPE zwzE}%y{ZbMu8#TsMOH^R5w%KU3?m8*BKoUi(+iJKGDR}Hj-hGdg$&d@nF&I5S!RNi zS;3maC=KuB^pe|PwV5kh**IltLzF&BQ_B+Mnmflu*TJIYP^vc{mm_3h%}Tpt^=1Ak z#dbQ@?y(|1Gm~h{=N#2N=lo3KntaaQ-E+7y@xy#hzwSAsGKn+tIUg3~PvH_e4MsLl z|0NDnxxKV8W zW!{M1Yb>j>mA6-&9o?yZ(eCUIcVr9-@;7^k)8A&&DIu$|LAufX+YLmmsY3o8h5UYD zerdP-zZLS|Pg;F$B`~YFOGGn^pCK1GIB8A_J1^^2d2ONcA6(@GPcWZS+IqNvoKr1O z<{XfiQ(82qDlw;|sCCc8oU)=h9AC@?k}hJM1N>C~Vpn^M#k-|yJA16y6?We`sbXcY zPaMOAuiuF@xczd4_=|r{l2tSw!t|07cf~4S|5Utf_SixInzu=jZhazlSlYVrG2}95 zd@nHrHH@UoAI|w3OpGw&>#fuv1nhEMf2r3VEmltZMgBDj6*Cp^m3xwhp`T5BrF4pb z^BB3E^=vzA5c!i$w^^^`{s>DiWCndTL}HKX)-Su?yAUS|q(*<|uRaQveGL}X=So#wev(wI$}MS^YetKLTvbAp~23;i?~obB(oyF^wmilYcbGq6Rl#YB&&HDN^8pun-aTuTzq^?c~PpY%KzPXC%+UiaR{PBc{cW~hkL%D8xi|DE<)pU zpuPMZk|c=sO4@b`ORD4Y8Z}seW8JSZw(wGfo=OQms=k`)P#Be0<-`!|FpzK7MX`d|9H?T{&hYR9eZ_cQPofc`}iPBvw_i zNSMSZ11j=YJ}!V+bKJ|6ow_t$MXQyz0LuYP2Z<@# zvaRr>-9m%@a&&o7+mUswylAVJ8DA`dZ14xXgN?91lh@=QUGJ6vs`ofI|0Cum$0=#x zGkEmb(uiQ`Y2_6ydk(tH|E}teEKK|n!NlLjxY$un`KzPg6*=b@6{v64d}NCRJoNAs z?ax^>vW(AAGqq{e@Mnc;XsN0wdPt`j{bK0Ch_z8`QA@_vAJQK2)JJr-FQ7w=Y z5X}gf5>55X9Lo_Er%B_R19dhSv?s6!ANSo4*1W42r##elU9D?>o4fIo3jFVa9lQc9v(rP zTy<;2l-9(2RW_Ka7NA%)j@U8@ooktX>9%B(jQaOHW}S(Wa9co1m5-}9S!ts`36KFq z-&gPg)6wn|2??6b%qeMos2$^|hDTf``u4`IqNq-xrT!pSb{k`;?9Rl;j50L^drIk4 z|LhL~J~;a-cvq;VDA-@2UPWyHe0YY5+zdo(Nj>tv{=$Eczgkcmv6cE&)~4)iZ><(R z+Q^#xOMhh}lh9+}zWaf7jn!sJcaVEh*NsQ%rr27s0~YBeXKnwcSc{eX>`GU1?6;Jx zqa;YnBvjbM=8sM{(6*-!@~r8qAG@ZrXKo*ecaIF3R$*&;@wYeq7b<{wNZ}xkg_!F1 zOP3xssI@ZjW%P>O(>E@@Ubd%Ky515!%!tT?`Ih0(^hxqhYbYchxDScu8te+yLe9B^ z3;BIf#OjgTu#rWtl5buCuKaPtAT#pcVtM9?zeI5AlH3F~lLOITqqUL33W7e|@8fD? z>Kde^D-~XRH43fsB4~;K;(r5D^cL<6zZKhM6wLlr^Be)% zQ}JdG6#X>%kGKlb1-Vz_Sz7!3-8i5G3%OVd9Lhqz75J71<*_L8!hDOOPz_D3jQKyt ziz}h$&hB1svI?aM_f?{ONB02!FGyY48**PJsj65#wkYfi@A6LgM&WkQOvQf~IF~F2 zUiQvPCXBnP!y958Z9cw6*r;d`rxY*kY{lMbsh)s#YmJe@T}(0{bn3_acg zESX)oN$nd_>j(gSGu|S(W2hp`wVX+ddgfY616cWW_Xez7&vUgB`9W`eLF<7{^c!EN z?rn3r>Tq86sxb~Bsl6_M1)N0{-Tf^3w$TPLL(tw4h@a__YV$L#5Dt0l+U96U9dKF6 zIwh6qbmM;@Rah|xH+L{!y0pLQCXXrfe0>(AfM8@jHy z4%9i16rRy)>C9=Fi-s&w0}^Py$*TMFzqWa#8GC%8gjoXvyfVXCF8fz23-?rqEj*As zrdg6dQ}xC@HdWahdX%^_rU*Vk`Q|qAV$F;AmniYr2Q|xj3o>ZpHrGV%DCG&}#+EC> zyf({2thyBknx(2pLhM*#DlZ26n- zhAcGXbALQ#3llek{Z@alDFLog11?tUX5(W?Y=Ci3RV8DzO|{j(|@Qtq7bP1jN5 zN?LcK0~q@r9HLMPL)NX+c)P-U%d4!tSq~Evr$#wqVwmz(^i>#JY) zvleoLtuY=AWIN(mxQ~|HiKdJZeB4%soHmNP1%H6+9v&!uN?uw^LQTWC+=`~#<_N9f;g`4*T-aPwDOj^FR7Fy zV+WV9h4Q8+J3E+mt(r*3#J1OBhUJ1p7_7ZKwS83$C~h5$lYUuBV))0Bv!T7t^tHEx z9(@;qXKv_qc@s84Y7;tA9do%2&^1S4e4h0d$+V&QwW-z#N_C!ollHiYZ+AKPeuVEr z8xvQhR()4ZFh`39igeLA_Qnf8zDw~YZnc$i+hoM^Uwl#9;Vt?AC?EoRX=X5xaTGqK zWcExrOnGOqB$*WNmfF=5PLf{x-$;R&%H8oF9s*c$rB{8JMx>g2zZdP`DHT7|8E?q) zr=R6`MofPZweY;zwe=G9BD2X1YC(8QawmhY0%qPLDmiMeKus9vp8mW`m8UghxGSK2SVRQ3qJ(lo*4 zjrg}l4wt)h46hR4`1s6i7R=hOP+`2{;t44ziO^^NPW=a zIqGobtosTKIMuOC)67ZaL*jC0yRE`J=@%Uwh=)=Cc&E5dbsE{!nX;?1E+W^@aJ*U> zFhmqpjV(Jg`H!Dr8)WS|FF8iU50+VZ6e{JsxW8paVt!xy5tWF}O~*km+uDXi=MNIW z!`5`MfA*lvc;0px9lSC@M8kOLh1_y;ZMGb?T@obqGzglbP)a9Yr8@F zr??i@aZw}jMCqfpG`6L4s_XvX$gtrytquMp_6n+j;7a5BP8%Lv2oQHfg>o8JRU|W( zrKZk=n_a?c-a@+>PPzoCFkWYMCT*GoPDI2v)UK)k-|0i$FQH2(E_76Cu?}K*{WSw4 zCI9Yf{+EL{UTkk%Y@C_EA2t2Fb_wvZ7Ohth3Dwj_tqR1ncX3}5o1^g=iOrRcy|Hu< zK3Nb1_=(JL@qK0#6W>R3b3Cxf<9?RwBC)w&e2_xJxK($VWWYhL_Z&H^!7B4WmT*u!D{I99yexH~gNH>@WA-In z0Gs?PUo~9TA{uM;cnfZVbhaT{R;E^k^7@bi*x&{%KMVv)m0pnki!>7d z?s`+#b1ZIMsSqz-KO_2J9i{mlVVq{AKH&Y2ApB*P%m%_F+g`LY$*kt&ZZs)l$*%mR z3XguVnUxG%6R*_@VwOt9i&I|=TfbZ!QDLb^xuQ;TEhBi)Tc+WqxYu4u-gtWuwlphu zhxDbye~DfhzZfd&%ecY3;Yo?BY`w*RwAM#V?J> zRuorAKp2{~%p(7g7VV_oe7$ce$4_#*MNJ$O&l|h0AR<^wZAa^eYzA&% zxfej3|GPJs57Z=iW5?I9HwD)0il4!$7%5jXcU@$}b)ycg+1T1QxuUf$cij9ZmONVY zTIx%0>Bc3MMKAxga>1c{>+h8L}Q znV^TYU$ov+*o3{s_UO*oqORNr-FD!-96WnJ37;~+272+txsHvZ2_{f+qyG>-8nAGf zq#40wqq}D_d&CZz#BA}8M*kL9Ld@e~F%J$l&$-wOnZ!Jbz)LLXF?X1PwoD$Sd{;H` z1Rm3l9Bop(x}UmgPF{tEnTdU%T>cQU3;=Hn85W@7Q?{2iSGk2e9?EJV_qlCfMu?+_ zTwY9Hz+auAWB!seAyAeEE`qRBv54$#!I z!d7N~A%fStwaF*-i=C`P41bF%ia$UVY7EZ)fZuiv=SBwzE23Omht6X>8}Opz+8oCA zhtA0;g$Sn@g#FGnom65~ucP(0k=H(2&FYZuB@fe2o!IUJ_04kii&@z3+)&|0{S-Lky0hClHS|XD!qG(0@r;{M^>LA!h>>psoTOwr($Bu(X@88zWgf5 z-6Wj2K_8+)w~WcI>c%qG&HbP<3O&6P((}{%aPCkOGu-*K)2+fk{3lcoBwqw;2LBqD zwWyHwe3$U4#1o&3d3JsX4}>byZq z+$L%APkl8H!Hx{XGT%{VA2N?BWZn>F{x{6rvyiE40R@Dt1>9J(&Q#gcdXs@UuQ8w7 za%Rj(N4lUW7c=4)7qWg3GcOghNke>(B57=scC>F~`&ggoXZa$^S=4`kH-g0&ct6r> zKU5uuQ`B<49Kx5_2oT#S-{@aIlmc3XUVGmjWoN{iWfjdPRlL(?i!}@~Zfdah#VgFZ z4>6e0liTL(Mwv;2iZc(}BGLBPgtK+jfAw7_;8W#unnRD3dXiV3$3)Y;(i5V+H5Cx5 zBJq|rHuxw0+omFHG#2eGg>!UeWPql{Rxpfh_xG&LY)s?t>|-ReNYTrQ7QVn%g&=&E z?oypPg8>XS6agk0P(wvfCM>KfmfGCp?_lvXz{8xqymoiHA=(lZU;l@hEX1dtv}+Ge zCBfzT%p|Y4`Cgg@_EHFw)*NTp6ij zlr=@EFS49&oU%y(w_GJnlROllhWr0-JJitA;e5`ojFa$^#FI9GAP9c`{7cp$Fv&}> zBt1ybWyY2kXO`HMJw+ef;N=yqq4}Xm!^B;8ax@IyW@WGydH@U{s z{d!lYbP8FCq9l7i^(d3ONEny0%&r^zXSn8Vj+LWT(j-zD8)Wcwtip>=fJ9Q_ZMImN zTE<8<9CDoBQYqF_8Di$v$y|*geqKtK)(?+iT4jo!fEs>jDVL)#X}2Td0QRd%xq~W+A+HXxl_YVmOL$hLpah9vJeZrVc zl|cRvd=;fyp>7$fndQ!`s%;muAbb61LPiNP|F6yO1)DvtalbSC+Tj)hF{R|C($b4k zvz&K~W$kTQ#n;imK(fvW8jxqouU!komvK-r zSybY6slQKtICdJin~L1L5i$RYpR_z;HD;2&O-^80Z?{=Stk6C93Nf?~8(jtqQdeXj zrjF_^vHk@oszv`?$32uG2CQu@6~(_#a61v_dq||Lq4Bk*96@d0RR}_MlBN_AAJeS0 z%?g;h$Y?kFHlK8%x1=d?vhJz{C918&wiZDThQ9e$YluKrE8wcp+;mz)KkV9@)~&s@ z3srC%?FstACXw2#n}v7Ls@<^+8alTd=r>zKmFi6rI{n4`YaS3WK&DsP4~_*d_~uIa zb*CZa+s)g1?iMUbO|LDFqU19Qdh zU76SzowHY_WJRWAVsS@i!NBuTQsnk!E#-#GvuFPitMSBJAsk+xWA>*Dpt(;oosdZTnm*9(vw+ie|0j(Ap1Fm$pUgAlq0=QCy@=;rXhl)U#2Fg+vNX$?7a(oRMpk+Jrf3)z`&VEgosgsjy5RTjG+R8815Gl z!Zlt{@dC!E1Yriya!Ht=ISgZIrPW&6TB}d3wa=rLA}G~N&=5c&fO1uC-cA@b0TmL! z-r)`kM|6rE5eZ%K zv~t{VqZzGeJRAxz%l@~f^=dTz!ZwguTkY3hT?R~(GsIZtiuwVjzLn+~pJxQjZ2F_i zNk`DldBz=fkemco*euzr$fZ`(6@NHY02>%7JKfl{+vfRxW=R>~+W4wu$4+r6{$-FP z{;9lS$MZ>nP`xugv%S2a_J@dqfe6?wUx>a?57knZ?a>aB?fRE zv4=4sYz9@`>>k?RP9|eiRpURf3Is?x`D4ckGaI|{Rf#vAGUJq4M*q7~v8W$%r{Oz5 zTiuZ!U*^%rdW1pSYpW+K=G=zMT~fqSHVpSHDxwXUmM2+wtf%;pd=t$O+qyYfV1Wj< zvvIDC$ik~EBnV7114DgWfpewpCE@4g3S-tC_r%(&3Bw>u`J&a*j7LmjE5X;>`1Kam z=L8*P0m2Ga&7QYmXv^>;#cJ^6$@v$-liXmydaWWc{g@`tmq{&rd)uL+i%oum51(ZD z)1qB5;nJ>Z*T#otxV4MtUQXa4{c?@RIkimkYh_l0rR*W}))7u~@#{gAhE@oe-)bUW zS|!j;)R|o03yX_O516^T2_6DOIQ(aVkxPU{b#VgXxI)SlG|ml=iU_9;(%Ox$R`O!} z(><~r;As45|D$I4b7*72EJv$pUw zFX4I3vclZPadnOil4smtnnErg=wAT|BB4#kWvkd}1QoU68W2}ON4ARHGf@&|wD8br zS0&N8`9O*>)%4qlbhLF_Xxie&t<$(e`(+W~$IFufxIDCb^swXQ&S2j+ax!3|9o@h3 zZ|wV(wj!zoUysVZUj;7Jw}lQR1-l(DcLzGIL8m&7KPn=sZO{XG+|eVh&|#-umDqAE zH+4PJ5%e%5SXpItznUpvY)+OX?w7YAEE(ZGf{m`dnA>En{sMsGhSf>W7YGqiV_qUv z!WVt)aI6PMM%Zk2kyXG&LOPR@#uwWa87=57>X^ti?WKOoxcdc*BPQh%m?kmlL64pE zZjv5XL{5_JAR}UJ!ivJ*k?}7oqbK}W5tTh2MS;M1kBHh#3XGQhyn*ht^Nq5ZASx{z zs&5@sNrc5*fgWtwxa4?L6p$*VG;r?ms9S&(y&)+a51r*cibTYJ(z1L2N$DwpQSs9E zp8o#QRe8rBk@9k+{5UqxbKi&U!mj0Q7;!FouDy^>4n-<6R}M?$iFJY`Z48QEyHtyu z)M}$y%Zxx0%Pf`O*QLhBp>hYnN#j>Y(=))Cz{-LxSfFL^bTtPx{A{4U2eak^@6~qH zmJ4U3WmAkITs4aLl1r?IMq^!$7Z*W9Q~VT5A502hlj4fb5^6|OKF=;nZw0af+Yb1~ zr9c+h-jsJj%X;+`RPah8s3apozB);kyTgwP3W$QVurg%*$4^ABqdkHniVu|$6Ugx& zf1WE>LT?J2HgsH;G`D; zxmjOu1qQIsrW-wB3`nY;aJlq^OQo|2-z5dlkDX6#h50*$ACsWt(Tt!wTHOZWEUaSl zU&7wfrhTQ&+o+Qu!Koiv_mp|s@@terinoGI$*Bg#h!>En&@I zMb53N-SI|u7zeJ_E2>-ZW_)y&T*4E$h;fXZ0x>W15f8H^9|JW!P|m#iLS?BjQw81z z+=8JDfeU6cbbn%zIdoTYcOV*CD|v)mp|YNw$THpAJ z(zi0yaW{{cqv1ZrMdO(6#TaKtq0CYcnvpwRCa*J%32OQ@16&5v&;+Ft>tkN%fxoKS zV7B&ADq7)p2l&Yu6I8bPz9F|@mcsY5g$iF{CL8Baap;gZ9Ji9^#kR^+jj#knv#DFs zHVym7uc*a3ogfO@4AH&DH@!_$VVIg~#H?biPVU9E%g+>g&4ga}nB}X}@>D`fG^owWg=m@JqsEIk{{~@QpWT0N1IB z^He#!Qe+k-qXRj#Af7cVNiU;(e7Klz!rYT3@qK1uBC+YsJ9F<8Hwf@4(_tPpZ%YZn z3qtTos+jbGVZsS{tk&xrj0Kxzu|RC&4C6YOcV#3Z9A}~ z*!vlUpw%%B2GPj@-;eX;7%RQP3sO0zEa#a#QUgk%?9pb6s9OPY^Opc4_Ag>0 zp%pR=yoD#?~Zht}n0m3Y?aI(NM_H-oVT_m~snYn0F=@#RpQc|3> z-@n#b)e>Dx03#5^Gk<)}hUWvzJUKz*U1hO)AO+~U*b&t|Q3T?yUZJR}E%OP|$)wsz zs@iOzS7`8vy8j>$$*I;?EvxY^nt=Ltk+TX`)*z{v4c>qu-in~J7!2_qccCg1)?wgIx3_n;5cSg8KP4*TgMAgF`RKSDDZ@l^sh5chcIG25A5)v}-cOjEjA_teD zjF?jhtl7XYIq0z!62T5)5eQa&NFyhv(pk>A(@bd2WigM(Y@fQvNU-y$3c@Rrp5uS? zedFSCTfq$qZJ@57h#k;QsSXvte!ac5V<3s1m`oDQJ4pAQ7p;AvoW6|B`R#8`0Y+r69lqE6nVuGFxs-qU{T^+ z)o`@P>`18HGK9okFloL7!KXLRGnHp?Vv77Cz7i7sj6|^!O#tRvrxq+2ofV9;&t!X> zX0l}-``}_#9IRpP14+O95Ep$L)6Kdhs==oWh^P1d%a$G8L~Q7! z7qP(+dD)B0C4qPja`^}~TS%4NPsGT*G|%gE6unf*f?-f*o0O^nvgfY~vU$m16XH4S zlK4j9?I{>2mW$W;)cPDGpB`hES*xa1Ie-@QW1(1;IovEW_Ukj(>RLB;0ZSLc61^m& zlgaQfO!(azW=BI8OT%zH*Cs9Y6hd{Jh13MT+{R$*Ya&a$#?{uxB&u?miEN_0YOX0~ zQbdT`StFqVw0|Vrm!~=xE_ljOdE+I9jNgmp6@sN=kufx!oO$eF_BiqG8|Z+oeI4y1 zo9=^f8vRIG$y9z2?I9ZKoS>=ZL>){vvga#Zg=OoG*KJatrRZ>@EeEHDOhI z0bFbXP86yBjYac)?XL(j3NryNGrcj(#yO_(WPMD${ffYN9HFUbZ701$mCbE>fp*a3 zZ$)ETJ7dogX>|qR(cFS*v68bj<<^sSQx28!ACxrOnR0{9)mscX>8Z-3ZNrdO%0=(l z^{f`qlZ}hZ6wh(lcGE0QlkMEnu$>}BV)`s(+p<>DA8jx64T)%gE3;Qy`dTZw*Nz%u zMx`}Hjj^Lfno-}H{Y+Gfxx*BI*PBs?o1)U}TsN3e8=9i5Q{Iu#I5X(G<$v+8*$vB>>mTaj=qtr1jC@oWL5|oF z;hn_!xF_n&Migyovdw5_-(U~eMkaQ2Iw32@idDWJhkI=tn&v+2A#U90?IERMj?-ra z9fA4})vJC&o$19_U7BE12yf_9(Dztgdc!bvHxT++j%9fD9V{g^hE8^v+g0DApVCjf z;Y7V_f8MD#=m+%8+G5!|7CM#0ywNFVa8c38o&g@$XiHWRUNNju3}<&3;D+2)C+sF( z>?32HV)DE$=5=h8`XOg9hZ58D4b8Ishn4Lzex({LtI8_&3(UqsJdBPsoa)dGac2=5 z4C=AL&9dKPWfxxoYP}sX=4CI)IEu=|-RqseQ5Vc*N>63m2O#tv&Rx!()vYi%0W3#X z-1>f1hw}u9hNNIWwK-S(5P1U+fEAH)Cq0-UaD3`6NwrlQt%GR1$cR3m*hYD9PRNQd zY|1K%8r37UA~^p6io$xYe_crm)S1WH&F5M3092zyZ~h&UCO0?sdw5y}o3#AXH(eY{o&Ls>vcRqS7VV8P-E?Or6EDU$h8h^OL(vT5;KiZXHAMsP z(Wo;*`tt8`)@Ur!`9kdt*MP)aZ<1>)w#!EqLk1)5)96J){C(8?gi|vN-X_JfN-Xe`i&_4WS$)8czP6)_M=UTW~ zaN{aq8EA=dm}gvWLSp_-EPy=Y>sM75JWj`#OVfP84$R`SoXa?u#Vdq8AL4;7!UvKe zEp#YDTT;XaxjAJ`i9HR+YYK6M2h(v($IxBm&v^VIOXANPpa#PtEz*pJ?h?vu`iJHV z>jv9LSrriz)vU!;b}a%g#_&BIqkrP1s=^oozIyH186-Z|?0W16+4S?j*?qub(_R!X z*_if%*>H-{cwKXUI46YxQoa`=< z-f_m@E6Zl@$pS!a%0jUhT$5)!74KO0`Zq=}^z<>_4Z~6a(x{J-p=Bi0^*jSxew?KC zy(RW0TwppAqUmIlnfNc{?yq{UR{}n48j}-f zH}|a%OkUDBZ?iDTWGuYNFlV}P&R-SDoegT!&gCW(DN)jg7!Xf~TzX}Xy1)xPwuCCY zkiyIrCDcXYyby}QZqzT@#Qgc<`3bl+9yxjQ7d8*zQ>KmLK9&_0>ziGLM5HZ!R zqUM+S8xaG5Y_vhr4|4%ZFGjEfq8UZRcVet6L2hR>EsGU@X|{uSF$&$tzF(|})Nwr0 z$K~;4`e(fHjOv+cH$MoN3JPh4hn z_(oS`f^+Gp#?p6--hQv>+m3TPXsf?@vvrQxiYI2ZMUy5EiXAAr23@^ZmI_ZqQnMMt z^}C$0nl^ODi9OI0$nJ4$VHqdqP#8q90^&AiW{7y8-{RZ^^UT=*+kqc0=>DJ(qwPej zYs>QK_cENa7DvyhtI7K}6-PTzS0s_Ytly+mZHagu7M);D#UXi}RnATRjsAUup==b| zdZB}yd=cxoZ*5?PzO|^oGbbQ-`=rWYtj$i=c}M8w&N^i*4q-7SRgOBlonK)Y6!p)_ z5ncM_NahABFpla$wihFQ%kN!X8e3%D*fIhRy2o@AB^muSzK z;+P^4N-N6Fw%l|&e5-iDrf`)1^dfLvXUZtOy^Ar7qUbQr{=-VqHddU}o)Y1>j zzHnu{8*HC5mJEHj&OOX*y1bzOwIN6SWqr2<^RRtbMB&EBrRmp{>V4Ya{iTN_@aunOI6jx4ceKG<`fLVlu-$M(-&(Py z&b}}omrnP^Xd#wo7NjQ4I#(q2ewvtx!lFJ`20K*C5pN0H$S=VB+oh%pWUONvA98)V zXKCC1mj$Q1kHOASW(l|Nilb1uS>#FYM5 zYD+FB14e|WHAmTbZ3H`z)uXXoDgJoW8ORDXxMp#m6ryh$qf|M;2fO)epx@G;sFu3~FE9;GZ9c8P_Oq%Hd^ul9|X`c9N? zk1fK3mHMs|yF|n~H$+^$`wdOi9_QSRBP%f;c-MJ?F=1bNU7&qm#8j}8 z@Z76BMb}*x_$%tRRWS8(6v8lRm(5ExeN$0+Rnf_Ivo4jlH;Yboot3_1pZ4o= zh5*`%w@Z!$J1|2Qa2G}YNK4O69zKS{bhklxe_6F`Y)O#tal`9RhHx^jbCi>#8|aQ@ z4-M&yn^e7iPESVtV4?3?dUa6)C6t#O4|FDRX+_zWu8f_*cEd*MC;QgV-5*QhcN-0e z+zYnB$?DNq8~Wz1;CT>27W>8-9skr^F4#m%#HmT^v=^)fa&SSqk<5a~EuicuU69JI z=PUb8b_FjAo$RbF`MofcG_gmOlG}(sSJ{?Vtu(>LYGFcDfefjcQ|OH$r1(`UeTfJe zVA)yKu-MKWUci})z{N{8F6?Gaxb;Mj=8CDC3Xb*Xe#=Ha0O@U2JF97nDJy~LOoq7-frt!&+i$k_bi%Ugl~)B9A~}ZVqYS$_v!Va z;a*p4s(32q@WA-Km4R`wN%R?Y8kw2RUE*SdRng6z#e?0vE9m~NQToy7A=hy2joM^U z^W1Y8+%r8|fjaWi8{O0OUhYtiH%XRXV#)g0)W+dy&Gz9$0+%`>>wY3Mnlxc@o`3tw z8}%s16EYmRzh8NyA1#8SN@aydd+pGLt-Wk(I z@|yg1as7|(O+sGFKIm(&c%>)~2a0JXmUJ5Nb<(%8bj41v@j@dG-KEcppXY#wD#jmig$Z7#=CAtVIe_!x-oWI6B zUpD{mcl$nCj<|5GUoPw|JUn4}I4P3uUS6xc+%(M2|`B z1Z3*c&XGCJtGYxMIo(wwgGW#7jvC!=zis{W<>F`6CPe_mJX>}J!G;PM`|%+Rb?;cX*}Tp%AbpnsZb_*e(1-SqE_@{WzS z%DY3AcZ*$K_c68s}`uf)troS%lu`Sa7iQrzrrbp%3 z@X5n1F-58g!_X;?AFibfIJ6DNX0<+CAG>0C=#*>L`8tFXSBs&TE6`OXh<#}BYpKvQ zCwjzveei4l_FHaW-=e=(;zY*mkHyh94@wcrnKFaa_h3qj60>Wg zyaqkR4Mor`a9(kP1CbO+QL`My4P`>iCC`z@Oc3;JSX@gOvpkO2g=V}RCNp0gEmH9v zc{g+5{i(OMMZYS1yGz?lnflGHFjB~Tb%$^FSg)S&tzO;3ow*_;*X)+w@ylL#dK7)a zA)yxu)i+0D?$<=dcHa^1kCUsFf4rLGuhEaZ{;%{c-FIrMSG@W&&f;_2$-h^?ZHa!# z`KMK{_QKVNf2Y1FdZc6V;nP%xlwEpryf1n<&A$`&ab@?`SB1nJ2(Jh!tKpcwA|ys? z_KMK+QuKGdoeK^h?dp;i3&ck%KbFQKwFp{T3+N~zk|G^uhL2jYjPYnA$7W>Jez3O8v> z?&kSsl_cW6qasy*k?)uXE7p7!OB>5_eUFLzdg=|kKB-XM0p1G4vZWS=V3xgX zjUw!3ij@uq5<*|TzBa#hn_qSE#Ymrs)4a0vN$$IMRlmf{*jZ<{;&$P`K0pGQ zm>WsnV~@6F37;ptyIKmCnKkV(xn?c;X_8`dX{L##wc-9R>GMl#_0*U6`Z_%SCHBIV zeyvY@$;Eda-z>zH*71#RlG4+Bvs10~G~b?3#p%9BBO_h&*MwBv81(%GhKP)SLvk=J zxzYV=y(((J%OxQpk-jTh)A0>q;_fH3)$966Sa{v*Q}8YgA5IaeKyvpRis-d=E{S@X zgahlk9}`}YT-oa$pTb2G`a@sq<<3-pTsPn2WN{}ooa50dvj?hMg~Ds4fNhPDR9T>xQGJ?te$5O;dooJ* zfsTjfVlFEkQ~7np39_`A5nh*VHES;fy_iV)CNiWpH5M)23&}3_qh8+qn0%rmfDID^ z4WMX+j%yXjE#YM*xMhzEIKABTFPi|22oo57J^;oiz+^CjX3Qh2TS zhXPaqO+3*r-DdBv$R^kXlde~o!n{GkM0wrsbBQw^Qd_VZ!mAWgN-eE=UEsm%X0E#I zRUr$K+ympyp7(L~2m=DRvvWT;We~&=vShCc3;67rwNiDxj^4$zMy62OrIie&`-w^r zjcOHp3i3eSt|oaGEAm1^iZd`BKOv|_u05t=Gm~IJzw(%wc zNe2}dLQ($;AZrvs*N0b{n5&@jvU=|dMKgpy8<|O} z#+5>&@FdzQB!XN&5IrQMa5vQgncvMaQIa<+nPoOoB{J(#r6mr!lXvT1b;m>B%0CLS z$?K&HM#bRGPA?YQ$fI|adO~LL^tbL&r87RWX>O5=>|O1GPAQUG3`0SS;{}17xBDs5 zJ{2ztE=tRuvPNt(=8kW4Q50=1l6bMI)2`@2vt3?O?ZP$-vqmugM_!O^(J-odEz5MP z>LrxPa3p(5sThG$rn{-dl)YB+imKv4F>S7qO6fbIpL&yJBQI3248ST13E35^6$a|Q zP0R*Wv8Ym66f%0bN82ccjPSIaYDy4d&%CdMm>caV+g!b@5+JlXYn!ugbIGCajoD+| z;dvfyYxY8qsU){GL|oq}!9_cbk(FRdi!r&XAbl8eVl!~G2 z#QQZts1|*9_quFeMXA7nI>Wp)`X%Dc7BuW;5iz*3vjVhI0fI2zCcc+r z)a=}^vq#kFo3m%0){kcQ36*6C>minW)$>Ix!EDHij#Jhm5F@!`Rjyxk_0Y*#8x-%q*C z0IV~s^qDt#tJOwlC5Ibw*b3Uj$)rVM$!@D;WRX>4x`EL7AZ=@vilAQBSp`DjD5KWy zr_{I=p>?5|)}34_h$x|@+9LV;gjV$>2%Dx!nD2RmL9oZMzP#S>Qn9fJaBHlyct?37 z<1@6ps_9yv54MfeyzL_6y}@IAeYlM&Ff~1K&!aFfR#&Fg80vXys*G3kc1s}1gNO2ONQ67}KkM0|e`{(gbK zKLP%J0kS^O)a;h>_%oX7sCCP6G;1p|e{e`1 z)n~7)M3G-=yh+}h*Z6~K!V;@3pN2i3Y_aZ-!>2{v_9x(zNDKH z)0}@z`lw3P7<|-{{DVCvN6RaOsj1VvF1Xnn^DdX5v(*2CqY_d7J@k`!1sh;O$<^Nv ziP$q}Dq#ZR!@BkQacjNhto%h9AxgYH`s|IGTFjeh&3KKm2ua|Zn-UXaKZSfxw zm0xLvo%y@X%VT;5j~Q7!=H&2Lm>ZchHDpYUjchSLtfh1zy0eyYyX3mftEJo{Ij3i6 zDTR`IMwXT`S0K#E(NY%WMix!wT|qNmMp5fW^gV!`y#_b}L$XUw$z-Jul}*JO0&~ra z7nF=y*J|F|yn%Z(?{r*x<;+^Bc`2i01^8=T3dw6!-WtvVulj2$Z1tz_R0ZU#eus4S z{Je2Jrvoft%AIYC`WvyPctO7U7i3P*AI9I9WNLwoazSm)zsDOu99ct}A8ddTRz{nD z|JUj7{5R+?lhS9W{|uAi1pkBfNa0$;-K+I-FkIg@hHR{sC5Ai(^G$ zWf>YX&BmW%<>}frolmvmdC|A6%r2qPLUy++Ooh3xxoEv3a-T}`u4AzJb`F)Fcb(=} zlKGW1U0cNMYSI?vAaoU`kcMDC zVv~cm_)!{lW?j9*vZy9C zrxu1t{Jf)fZEYo9Et@$KQW%Y?KR`|V}i+*=z2)}zVu7e za){l%T#7Mn`KnpGcOk8!(&T++;}+|SBC_Xp=_rxIk$#Q6};sT)=00-H5H87zoGggI|i}QGHpV1{vo5Jr9mg1 zcb=J>E{v9$DhXCYP65)xBy&3?U*U1k+q~dsH%C zcT4-3T_4>}KtM^H59s(ZcrjJ(83JGotfu<704&q;1pM@w3F0cZzprvr(jZn$sBbSPKPNh_Y1$7Q2|lS0S(|y&9WXTYRn(h4H3p4#B)=C7~q? zkzmb}U`cC>bDIMxtZ$hL>WP`Mh#5ewu9^xlhvxKDj>=uGT zb{j#Y$Q&V{B0S)7ct2sR;L1iVQ^Y4^HA$MM=!uX~$Pt-?BoTpQ^!XCp5@kJP6B8wnn;nr9{*(dSxCBGsDn=l zX^UL&nCwwQgnD`VSiNQNc2)taVsjC*fwS$8`tOssNLv5Czp`i1q5XP2hGmc4KUVOX zlG-#{&mw}QgD?IooZCYDD*H5{*ZzNA{;D~bMEScvQU1!zOP~ERS!PYH7=NGx!NQ}J zKrj3M_fJh={x{`s-jRP_{)&qQC3}aO z8+$E#G(rBFUR@Jpux*H$mO^s{Zi(o)W{)8*t4&GV`7DC??9|s*kMU}&yNFQNO7pzz z3~eFQQNEbR&Bxqlg4#(#Qv83LNVf!nH7?Z-uwp+0>+7sVXKUDm= z%u6A;dz^?K#5G`>r&-3F2ifQA%X~#dnWFi`+elwW@GfoL+o89eqy$3$R=QZ0Vm(k7 z27_Yl*6c#wU=TE?K+EMMEl-kd;BSkTGO>4UxKxet%W2#B$oMy9&WF1lC;Dc}I2DWn zcx8X|5pak(A~!fALt8}_v<|)9Mq9U0TUVy7Ya|m$ML!d~I`Nm@p6MvD=MVGIlOc8C zF<$!j1Hmf(_M#HS7OnY+7t_G~oHu3U)_lX8DPtRWQ+BSH#4>TD>IsVyu;r?{@&$};d9Lv{%ZN#${$3-c%RB4+jf#fp=6?CqLLu$8LKK3$eJ*1a>kgO z8LD|gMPtWjO7ss=qW^mVg9I94>Q~yLiM^lZIi>eYJn!yZ#`FH(RC!ULHv@)6^Ly9Q z3XA7sXk%XYV75HW{ySw{%V^5Hqg0v6J!CGrhH(4$d79YHGlZSZD35`oCJh5$GG1?f7;Tbd}?n9Jf*jn=iR+Cc;4STi)WyBPW7ci zMl~{ysQwKB`>}pIli$u}=cJ0wdY|yXztsa%dsmmyf>tRvI0ZayMuSmEHh=xwOKJSw zW~~`hr0_5uL{WDqzrybas8F>OZ(Pl36%mDb5+oh{T`eWGx0XU3t0ziX@%aTGlHtKeP(tlg+`%5!x~Rmm`I1SanVvBclCP2 zP29duWLZHh&bAkWMo&TPYhL;zQ`9h8hT5MKaGRGG5gk5}DAlu^K|HJiag3=o(UO<_&$r+dI6Wb9j4~H}no~TX;kF@V1q= z|F`O&?`n}BZVg-4{6ISxuO4inYreA$gbg-9%hcYyn8f$;W)eSxHDrhcm7Z69}D{g zgG4k>jY9mD1jL(b9l>3TYaUVcaqUy{j+TP%A;r7@H|ihubLbyYiL_8mwxFhmKB`4` zXUJGb&L_1KLsd4nKl+j8U0{uAm~KKy>6-%!v`iL%ytBrH3~!7@`~fl_YK~yEygIeo z2ybI`H(PDoh8sD!OD06gH@h-a<_&tZ%#%=Jdv!5J8%{TlfAy?dUG2dEWj{_Lc^18`_2};l8M(2v7W1<`SUOL+j$*Jf5~hp!O5A;7Occ(y7u%%y zm|~O#w}a+tO|`iQRm)edmdEV6noVWaUuKAzj${f{s-tF!nQxn03Q@F7?pVsz9(#yB zW7bq=YBP^PEbS35qQ zA3}B^^S8AYmXLIxpvmvYf+)XVFkh=>O20o2&8k162#ahjE#I?Bp9Y$&`V}(Ceu-To zGIm*uV3{o4)a--WTIRPQBcoc}V>O$9Fv1)?w9@B&A{b_}OHUBHUAi?{GgvBPaWyM8 z(OhraBXwooz&niQ*hM5$+~$ItT0E0XYIV@8Ad}l#rbv`8LPkz3Ww}K2hZSd@MrPhQ z*q&nfE{mm4U#|5~ow-agn*M1I#dR2RsXk_Wz0w0nDF)$2EoFg&-$rG{#rbd21nD8? zv^ITgwBuKu+_@$4yFI)|{x&s*I}J;bJM~UCE|vlxV{V`X(i7P zQe0mo?@KnhY_b*0`5jh6gvHk;OJvHRT2{3WR6310e5%(ZW19WyGH$kC-Nsn^)oTo~ zUo(up_G^xDrTtoDTx`FdZ=~6;R~sF8)l!o5QMuI}!3lb$BvA{k;vj1SZ}GEC{cNO3 zqiUNdvh8wp0+^S(V7bC7^rc|j$MH6g58s-u&H9?d+cb6|^9Zv~x}fQqFTzHw&a0e- zoXCDtz-6_7^5a0T-d|XinDa-K>s7?oM@_BnOdB{nIvZ^B2* zJR*%Dq_7$UqMl-NDTJQ6aS~({QnHvjb2n>c6vSMz46mCSQ`V z$PP_1MBb{jF5_N1)MYHRL*2#%JJfCD+o4|LT07KhjJHEGjGx${8Ag9QG{;EcRW%kK zeyR`hq3};R=X?8$-JcHApWf3d4%46b+4urGKH~k!B!62V3YiWH>3Na5H_`tG=uYzp zsmYc!GH@O3P$k@eWbE@H{85n2sddYhxip>{c? zv3o~dy!daGcm1i{vEg5ZT^`t8HShVPw;z7xMRuiyS$;Nz_)e|Gu6ZObow%$d~6 zA@oUZ*WN93OMI6&JKRnuY3z52Yvphz35DCcliS&pPYkoe?XbkO62||nq=CrZUK-BP zx}D}q?%2xRA*rp$*`~cCIjOy?LmSQQY}d-ux?@{MhjwjU&W`ONr{+m+(`xmXzyGhb zzYKLNUNHX#_mh{+yrsoI$JEt3dyM>JqdWhN{oMyXal-NWy4-R9`oek8Gv%e1Z|!i% z@zJxxbN>8s+phI*+oqjjt8^`7f--(ll`|qgPe{P2~e-Fo?RloVw-4|84-aGcv@nM%vb=-5) zyZ`azis*eWOuA}-r|~OC)q9uz=2ypty>xul-L9#FE^bjq&X}Pk)NLs^gs?TsP)3p?aL(m2(OcJ zdH9%J?BftQj?R@r0ImuV-P*_TfjUeg`dGpbWwGW)GN3ASA2?{D3u1z^Bw}!0cz`5W z4SgJ_hC=3qYd(|@(iSq96Lic1C0Uhxd|+0#W{bCW&5#$*pwKgn1H5@*mGn^@7i2I2|L&qD7cAVcr-OnTon)j~pMEei+F zGzB4b+@#n>OoiCFd@buB%1j`! zBW_VwXn(En?c8AC;x*!?#*mYwBeW734;ohhA@+qBK9)YGuwicFQ?saAQ2AIp=WFGx z%W$f|YqSdPhUL}RCICK{HyMwP2;6NPkPmTH6x(jkZwWlF@f#wP(=B5iZy;G~$VF8n z0$Il2RKUzKSdewcRN@+pa^iU5Gq$D0{;A0Ci^xEQ84)H_mCiYp@KAY1s9dmKB74`2 zZajo81eEb-?I&t7dJzCMGgwWWy123hQ3Tb#-S#KH>goTJDO-tY%uhF_y? z(y&pr?L2Gh$t0DyMk{lw<{?obtDdtP=?oHUen?h6YW`(zt}C1-upg-6!Mcd>nc1&} z-zOcEMkGq{tm@BnZW(+Ps{Ty0Vm2i}WYi!~RI(5FAZejUCe;xv@no@9jjT}B(U)m< z-X;kO3=Wz~FDIarRe0fGue{N1YRb*}Q*Pnki)bQRA?v6O)u4Q znx(0{$UmQ^Wvo)Ew^?WDIGrUg!xOc@q=cE&w~vEr6;4*Qk=X|kowsF4xJ3{vL5`K% zOptqKf~n0C%#0^cOq0M)oV~0?SV{kBVei`e=Oa^mmDt8<=G0sIqaQK5mZh(c##)Eg zx7MGM1^%^JJk%m)CJ~X4|$^hYn?g zj%Gxzc#GQy4Dnr)06VUq1b*a-KS`3KxHOb45(;&hJXEuW7V08oj02>g&TR#dLecc6 z7P;aM$^Y^X=jSZWS@O5sm%(h5wpb?66edjB2qvtlJ^B$?+~DYOLea9nj~x*%HY&UI z4UsDjur1s8DHw!s|8`B2zcj%cj))o;3wG(^uY&$oSP2@gY-Tn?HQw3#VguszFw-+H z3|GrGZ9~oz#q-su9fqtY$f9&S|7I2k-9i%r+bg;xcoa)F=Z}ilKd=ISLN{83)aqTf&|vK?2@p+61Sxfs-xZB><8sakyPbr!J{7&moZ22{bYKf z*%Rgryr8%22?Y|DCALel>}7vcAa`ajdsTr1xA7ir6NlxqCwt_Wy*RXS;msmuIXC($ zyt11BgJE3RD_>Oro1ez_NHBPsr`3;TuY5uv`z!r>{OiN1K7W5W{2Iyhq>jY z5n|#0k+fet$(CpjO{hQ%4x#T3(9}VYu{hP9fr}}HN=i(lWLx|A^ zIm;3mo1vBTkookF#N&dTZ*hq?rZnYP%qGDUoTDsjubRN))5T*~_R6(_rk?JT)RxPb z16G7IW4g~gk1tNlve*4mYOTZZ;*?1_V=_S>2(RlaU?qis6DLfj`=31 zS0+tb$7-0p;T0(=>xyEPHPP)1L6UWU_KKGkxgmpct-(epue?~zQ5!CC3J99Rn_cp< z0)r<33xoX<1Q^v6(nGp`m0j{%f#=`lFZb7lJwE?deTV-PPU3L5?|wttqx(_3YLKJR z(Y-dgGP=R5ZSwE+uNOM)^fw>`T;XK@QJ}f9f9}fe?^AEH-Pyf-u!^*mD|>>+Uv4tC zIP0<9<8ZPryfRG@0$Ac-OgLI7%~g2x0Lzg@ZMc_DdJDufeGx^a6H!O{j@}>~iDw|o zAw^}2-cq074ueht2-B6r*6fnkEi$>43p$v@tDnHtiRsv4Yj|BhMP`D3L2)KCV5RY$u<}ii9(a?Qr;k3W4Q~|AdeuV&a~g|Yq3DDkAf1juPl%IbSwBGw98i#yT;Ga# z{+GJg9yZ7esU%5bBc9JBiPdMsZJAIsd6S;%Qvx%gAo_^y90o5`s+7Z4DJRL0=w+j2 z3CY_`$y#MQrwFN1DpkLb{uM4!tRp^vjv@k0S1k2b-*2i+a#Xn->RyFsK~;y(@O&k8 z*pR$c+%m$M(%<(c*Fhw=@}y^acRQ-@3NLGCQRWRrnWN&oBQ3n@6=AsOr)l^Ckv?c5 zigHj=GWsb2QozpSEhbaqKnd|HG&%}XxJ1efKsO?JUD?Cj*<(EVsVIwwK~L$0^5!kQ z&8eR%U6@pQTPqRBX{EO*!AyAT(m8EPC%09isdTbie!ZoWlS`+!D;?Hex>j20Fy;2j zTRN;m>5Pu0W3-mOg=&jGmobU0DF;WCro{ceD9fcx4_hj7k-YwZ@6B6C6M00yMeDjn zjq@WVZOo6>`eIS8+G?j>;#-MzA+5AYTm7I@c}vn(4|Eanq#2>D9@#o7zDQu#Dcb5m zZlYw$nLOI+hm)f?M%jSUyOAglQOn~|9qg!yxLb(~EK*2xjf{2{MeExz@C6>O!L`-n zlh8rPtf|Sk%NyQ`RZz}NB$tOv+E3X;(@*sEL|4V7y)7u{6*L)c)l|n8X>W171kwKZ z9$IFqdO2%}-@VCgD5lj!sl%|g6mdUAh@dRVo@y48`M+BX9^-K(GpJqkpu5!&A;_rq zxH2E@%g15MitM|klp$PGUT*61ss!n|%(OL@nPQk2TLw!Vq%z_^PI#SzBOT3ZOoUb% z@b0D>oS8-d=bP2Ypc;6I#+hdG-YwKxVHQBNMJ@3qXHpBLsGsn%9}7-Zb48nZ0uHB6rlBP))qS`4){+|H9ZPUZFsdX7oNNqBexnc*w?=*Z z_5Kb1N=4qI`bqq|Rv;)}S4wX`>M4{I0ywyNE_6TgiEI?&t7GM3;22g zuEYd4!UQL#wrw%3I#ly-LNTt3H1M!uI-#&1F6h&wy_P&(Xdi zJm>rRXg!wss_2+n>Q*haLF-ZCJE*>Dr)x7lW5ij@5f(wj~9JUOI*c~3@vlN zR`H=v1Ow^Vnl)oPqsbM%mx!OP-N}T^{ZcVEeWJf$NPB>nl@W4gzMY zR`HHc%Vb_=R#hi0^ANvZcVIZnR7lN1u^~DEqG$9_2P74>7ttUZw^Q`f4lrRRQY_#b zEzb2iVG*k^pI`g};=8UBt@K$3lW7SVLWo#o(T_U7(q3%AA-+Bm1}T6~FHqpk>5ie{U)zIFqN_I9ci3bmq|1xi)QWU#>-|Bro$4sv`Mj=xhmGgXRP}7ZIk8>k{z5aTF`Vizl0N5eUef;A5dT^#bp(nMT z3eFkYi&a9}Uix6U5NHZPJ*}WLeQ+;=ZX_tv3QE@p_aSH^K|TrM*Nqq+++W{K0lE5( zIsEk3ZydtUX#K_!`pnV#h+KW%L})hRMi5Jv@k%$)9RZj$XPIiZi9)Y#kS_LVuQ+2QKdx5c&QccW>KMnkLc7@ zz7jK!snGs37nM}QeaVE?pO4*Gns;3#1rlJBwDZ5ccWtvgxDrz24 z%5GFqJ~PU#qUP&+DPxNMl&bs`-;MfHif$ak*Pjy765C&YO3`0f>M4N}Ua1;He@e>Z zLp8xuf)^i>U4KgOC+mFusi)20B7XFzo|We-&&zZ1i#%b%`)LWE_H6A1suL_0!9{33 zp&3?any#kk2)&!oo>pkOzIctKox-u+-Gpaa;ck8LIuph`eQ_CY`fG2=b7`d+8qgQN zBX2>EUR&HC=99KeJR@nD6>7uW_ z$FFqE=)rEttSNL?SPHvn@y8OOSazEMp+*S%tk<71%=Eofpofv*p>DA9($5LTHjMJ4 zEtAz1UHnI80(qwPY+W~#(zRyZ`>7rDuarqPJH0ZPe_4rtof+!7uWU62ty z)XBd`U+N*`tRBb@J>*p@Lf}72_CCF`@hx?6?+;*ic`4a%bkH{E|!)cng z4ae(hxlwV1T&tLyhU<=w{4s!JM~TL6k5GlWxR9o(yVvWdN-`nY;6Ff7B;Akk zX>PcgkC^P1%|sS5OWNAc#5P~IyZA`u(i(lPcw=eM#fOhr=VdCe0nZ8&APY8kbJ&+Zb8YxX@LyJ#bW8y=gc%s0DMmwl+BSHI^P7 z+}{=)@f!21yt#t|UUR88Z?M;Et<_sb@UqvK8Yeay5{vE0z1 zwz|A-=N_o-gSeiWTQK{DuP*I83{0+2w@c0BdQKTjV3!z$KU23%DSMgT;M#GJr#oZF zfJSG7ctyszI%Dc0fkNT=GH>DK+7NE0%HlGtHsRh}l%{bd)sDZ^F{!6lK#Ore3Uh4s z8m=2smpRP2o*c2ZYeZDbMYx_wxPXh}@^!w)<>rfvoq`U=q_0lOoh3kZ_3a(tE=+E5 zeGaI!0Jlul+IUeHcVv+Ay&WFr5r-`&VV>l=P^DWR=824BeI#lAcxoOANg)Nn-0}J@ z<0m=lI%=?6sEEQKFc%(4)i)To^h%(K#|KGn@B%SoNMGgs*0~k+=!&%ubF&Aopup9k zcaDS4FXlU!Te%GPK=Z~*55dsR&($844H#`8B)jCn%fw-qeWPjZq?8&`sD@AifBWtqB}jc z;dXtGE^Hef1OmYaLJQc#TO#@}GR!F?e_WCLImw7cFrI#rmP<>yxw6uDLQy9}@iEID z$-2uYlA%ZC!qjl8&$)@}a*ykHV`jD@l??Hz;V8Ex(v$Q`eZ9?5Zte9-ZM7%6do;Pe z)RP@fT2i*KE0_3&08=q|5aXL zhhaw*J2daGTugtOtLMVEdh|UeiM9{gaaeAs2waTKQ{OFGeSwqTR((4zJSRNIO?Z3I z=}3xA-0gMd#q;s5{L({8v~wM=dxP{hxgU)#a(C%|A;~zo z_HR4UdIdK_3S;LPANE$as5bFyLNjOCl4dZ48Tq7?t=JDD251epp6)YVICip;J3P1h z#anl(z60Lg)?-ho-i;je%zfxhH|TIsy3SdJG}IQ~Dp|LHsd>d5z1&FaTQ5GgQx(!$ zNk3B1N^YdIvr;%8wdFQ`zfW~5hT})+zDOypbQB4fh&O4^!p^N=b#1Y1bJ6Sd^*y4o zcKWVZ8`cyESHNbvocmE0>C_l`>>0<+SbcKsN0#|!TzYq%?1k(}pDrnT$WIkT-ML@} zD!THUlZ}_ieP`GHjw*3q4ocH_ktWxVA=jl8FSSVTan#9T*7MvODLX7EOD?rf<<373 zDSXMhwUWbx>s&J8^Yp0F_x32)9uXGTN*@EDUU#CZZ@Kp9VtKEUej^g+HAfD2vWWsj zi%Vb7h98T#20%sNo0K%Ro2@9#(}v7Tj)Qqd;3ul`P_hn6lGrs_QFH8GMNK$8;M~xo zBDjZSatCS#wf7dYBed~4?N`wqhv}B3QU(2_R6;ICB%#N-URx~AB$)|bq9GPya`{1O zsGeJ9G>RTreGIRZBlR8Hl4@RXQ(C%@)Cv;>g)@ezQ;iS_6^l%*ATl@qF`fnY(Tf~k zs$N7IxrETT?q`ZSV_gX_GZf6oEf}bhzW;^U;r3mx@3w_)Q?hxnbD9?<6MtllJ=r|? zeS%|SnuQfCs4jpA&BF3umUNdk4_ho@Es8lL#pDZkZs(5WvJVP<#g@zSNe##;}V-J_{jx9xS7UX3tHl-)B_VP4jaDbHgI z5!X1R$o5hNP~BFU1EUoD;R5`K~f1tYm@{e^3| zJ5p{-H?N?rlN#9(H0OVb<{Ttag+2ciEd^gdV_7lR((w6jLVP&v5BPfp`{n|#Ib|j)q}-u-t~9xB z$c-*BR$ZzDt681X&1)04x6hZ1L61~m!*Ev`1?s(g#?qc&HtKElxo&DXmpg^%$AsPm zKq}nTw8z8%bm`nm`I|fIor5jpL&4BweK-z7rt@XBx#`=K4V+2dt0KRyp+@}pE zPc~#*9S{?8=83A7?j7X9>Kv{s->B9H0zH>($4iu0xsJd97W;zkrP!=;iENqnT(%ApA^aMtYQs@rc&lE=0xCUrE)pzrTX5Y!%l7W zF|pYq6O$U34(Z#NwOdoR6cm92$ zlS#AEB7+(u4+5}r@{VC6f+tSwOWSASu-ivyS@q2CkUV!hXg2WYZq_(Z=rX9tGDK!V zCQ&PY^8|SSQUd7Lb#BJD+<3a<=h-7ksBhR>cs-$$_NfdrGy~B~55O1vA5{k!xJb;$GUOq%3fW ze|!JN;Bf5E`bci$FhA>PZIU+(8x=gUq*320cH#}5z@F1(qpdXuDq7qY4Cn1GSc8>%bpn^=zgvVd;6e6-#i#;-MwK zVdMvwD8a)Gsh_Y%RV`Y+sY-)Xn+}f2ZP->Vhe=TWA(G{P z#DkWu{lrxA2?Hu%_VjN*vHQGDlz~OTw0Ep`6AYQo$jv_>Fb?vF^)5cjPf>DZu#5DU zB9&>NYXiw-bT=&aTs-gEg9PO#3xILsD15eAcr28_MJ9o6Z2i+2>dGCt5M8W$*+6oW zYf0n0Zf}UqTRO2!NcsNBuUmcA=_1Bo^( z0f-sKC6kdMy;9YYupUS0Qy602ak=A-15*@_C-Qf5k^960swcx0mxtLFFv;Y~mvt|oO$S}!cK{VP3*f`dr48&AY>*g+7 zYFsP1kWSkJZS~3CsRXS=B&N*e5X0!hn`i9!#ukHJ2+K3ZR9oM{ zw#8#yNzhOQ_chFB9nsbt6h=n7d21Ca>&T!wRHtc!>tTYt0>@W+S?thyRjYgRKQ<}y zi$iA!7^#EB05(#CKnlZ~rXOJ9Hpt~aJ|`Jpm{(4$zNc?B8BGB(=TvVx?S`H%ey*SMbZo=v2>% zy;8-Y?%c^ndp36~iSzYsw>LNCbM1QM3do_UU^Pwd9IeA_gp8Aoe`TmCCGCxl`lh02 zRZ)G?+%!CMFBq%)SnTGP@#SRWx=+on7dKc$ zWrxZdw8#1|7Z)n8Vl2^X>21zXMG}^TT+Nmh@dz~?5s!}6$@Cw`=%L zyC4{P$5Y_SHD111jVMLNJp&Ul^@4&AjxVnNaP4nvH%&3-oVIwXbRD6*k17#K^6%q)&90D~moGm?rBc2N* zscC)pVydKRzxaqwC-uQ2hnI__mux4Y*x#waA=N3+hwv z3o=OMEdElB(Q$Nu!3+sWX?N1f9wN{kc-U}|@`?zo9uTE4)Mt5x^YpdO&^+`_I zMUd8yC8dQo!5RM-d2b&dRdGH3XURe~xN;X=CF%-GSv5$siKa>fG+;=ALfD}0qE)Ka z(ip8(+y%5D1UFGG>w=F}`{~DOAMB&mN~?%glVAy8KRjAQZ56cEyRQ8-q9y?;`+J|6 zdp8eazn}kqeO0n|9?qOObLPyMGiT2Dv00T@bV*b4x;7hMVYr5sG|KkwoJrcEOZQT> z(96jdW()&oa=o>EqAFr`u~Yz#hk>O(8@w0;KRz04Isz82-?v!yeFhUZk$*VA~RHeL388X(K$uh5dZL~_H2D(KC?~1FQ z|B4iPKJ|3na|SH^GmIr=J(bpuMdR2XP{A5-n$po$#Vk3;%< zIa86(2DUWZaK8eUoYGEuCn zVXVG^thS!!vm$`-t30pH%hWRj4I4C|A`FAg4DO3>*fO>*b5<(xzao+g!zgZ?fm*L^ z)bp(ih_Vm8ng9DD*4mk%B#WEt@L)5Dy}ad=(TZzjrNLI=OBN!U{iXo|5G;gss)+S7 z5U!sWiCS;Yk!G+XFFkWzOu7q`jfkH{qcW)!Q7R=_Ez@5WSt4rj$jqth7D_T86~{JY z_~OJ#al+BodwX=p(67I+aFsga`p`A@xW=wyN#xw?s$?lvhiFSvSvGHJxJ+h~&s^#; zZ}xElX)cxRSJ?XJqs|~+rM@5kq55XW&)HcvCcVs_Yh5GK0y3Q|D=og`9(yya=Hg*+ z4L9uJ--cKChk-cT#&^Kxjan^J&u@tzE3cCOiDE5H=V$W_Q+zXPDh|Zo)q8rc!g)kb zwciyVWj#oWmCGUy+9GxO1+>kI-7b}5yze? zeepJw%cs~&w}hO|UfxpYXV>im9xA)Lo(blsMqiOWHxdo58nwdb>f)@97)c|{YS=~$ z6uCpPpq{$6Knl=Cx<@uN@Z~IN5art@N9c7ebX0v$1#e!xs|!XfkKp}^FTI0=BPlqY z-(XNV_~!k?} zxeL20{UqjPP7v~3rt+sZeh*gh?9Q?Fmng?CFA%==n3xiOUN_K`I9LuoOfgx2wX?%x zVJ&%bJG;S!Z%~B?oS?5z^LD^ibkO{tKfHnpYNcZHIMZ9U^CHCO-0ka*rB4`>ma^b| zca;lE&-E8g$Bx#6x~9&tS5}1#Y%qFpEo#VPxWm>r>N)w6heTLKl^|Frq+yqU#mUGs zYWpU3E;3fR%ug^N3e@vQPzJacBtf#tDrEeFOmV?f9p-*RB&dThPm zw!7uP(K5l}4g^L}n+qa0ow2c{X$Lg!iUVOfB(U!cy4 zj~=6poWY@ccpSmGKmaqSo1xRJP2{+nPffjW&Uv4SCpwm6ccUwc^e)OG>D74g~=9R1f% zB}vZEi^D5sk;3& z#4B!@&peEqODmN-T#T*7+R6q*NCZJEDeN};$~Mo!b7zxlyRrUTK0noJjSE?EF*nf6 zl2xi1L~Th$FSkkP1PBO_uvK-B%7fSyUGc9_WU`Q4ROx|amn-b9CY&7RkP+a&(2xSJ zQb6=;);%`A2s;_YMweJS2EzF%#p>d3)1^`uwos*dvKXSiytqc;A*V~&Y#vfy?kE{Q zHg$$*sgm`Fhm>q%_^JpwCN#qJ4%ZsU0L{~~jgs_Aks4ED6IeLL$#*a>c6Qt5I0}_K zITw(*7q&ip5H08oxU4aZCNV!^z5W9QoDyndr;Z<`_z9}`?cZ0qs7EsRszhq-=2t$| z8_VO4QA-#W01o~mLpuIz0LajsaO+tUQ7M~Cn!f_Z7!tmORIz1stjsiGlPM%XfmtbV z&5gMk5xdOQD_zGqXPJ-kQ^gs0G+svS9GG;xTQGi0;XzY2YtTy^m;KZ)4qJ;rN6o0E z$GJ8#=(RQERaU%iv^|OTpDDzEl5q>%!MfSNmFMyKYIT6VV`aO}83Zdp*n0m(t?m)u zu;OFm0c91e9AJO3g=Hy*zO9ZNhzO|5JR7S*1$kwgdpavc&fqi#KQV~D*sTm&*!qe- z{NkDr6z2P9KB2d;aUdKudn5Ed1ZB3Xei^NcnNW(nXYWy*$ech8+)b`NM(u2Ce;Gvr zrD!fCSBf)w5mT%KYG9`HwC<2F_LGz)SACtt^rUfGs0N^F6rj>Qw%o_TAjXlJw)|p7AV9Dkq1l>jg%}E8<-t1 ziKo!GLrmg~8varTAx5@Td~m)24A7UYq+#Adf%JX+BLK~h6Pv|-25n{L4%{bDmq#aO ziAfZV`B>w*cD4!3*(gXAqf>k=z&TFN&IQs+?pMnkQr>bYf9a~(p@P=UsaWYSqiR1| zv?njNv~_cAoI<%kqYN-VEEobC!F!aT!H~(hA8o2!np2Gy3&UBGrO?L>tc~fhT0=0&dXeXjL z!it{g=s@$?Ed)##73vWvl55?kYRROKr_p`jSQNFg!ZAW$aBBF9K$3K;{v-`3yYy7E zuX5>lVU$!;flIkaG>G~cVH>mzmFf?F)+$wY?%?AvZQ9K3Xuf?J?9R=&Ds}~M2@)Mm z=JI5{J8^LAlKPi~t&E@SUQ`1s9V@JKbRMDx#rslbz8q9ss@!U1`_qsY6m3!rwezf> zeKJBuwXJ>W(P(XSt;keXfg?>mGM&ly#-(Z=C-xR#REtgENxS%IJ)QX?#xdY3s)}z# zxS@@I(;alTrxR}*k>uhpBSEo+q{ed$5ZFn(sq)cgClXR^4rCT%PAM`TK<|Ne0eLj< zu9Z@4Tk`J2i?S@g0S&VIgcT?w4*o^#=yr`(!y!C#1*Ip-MGm$F#&h^s0W(u)JX=sh z)9y?azi=Rx-^R0ZU5Tz?nMo?C$VqbUF_K?1jG~3ImP+CLM3-CLaCDb#UPa?8JI3$m z*f$)G3s&^5tE9`u%ns>rRR>mC959(oaoIk)3z4dB z#hSD!b1iL&(gZho8b`3uoW+p>3al#IJk_L2Odj+i5E1PFYb=J$!LZ*0penz#o)y7c zJr_!P;=6?q{F2(iijQf>E95cS&?~Z;(>aq7{~3D}9|uHOc_V7)pQEkeTkI_W$2MQs z-pX5*xr3PB&qJrZ6l3Gg*hLbxAyy@)a74F#wm@zRyI0+PRPk${WmnD)4I>)qs@8n< zRTavoAC1Ep)seDziOkS$XR*;Wb@5K-v@5r>h6OU89BC&unYP)2$|CN{TNF$s#xv8Q zqN_gKcvQri%8_`2WuWh6S<^G8QjT$0G$oaoIH;UIS58izqO4XvwN`Lxv7OWB6WR;= zEyBB3dPByu9n)GUxv0S0pLiGdPUE=;F6@R|7mnX=Jh!u_^P1RMJ)NF-BV9}-%Cul) zC5&WW*G$m*B()_IPD9K`)T4~OogLA_Qn6K~>2#&LlJ0+`B zS{b9%J~n@2o~s|MbYo!gs={o#oC+-mu8hC2;vcf^EJP_&?m~$Q!EzWn;gCABvT5|_ zEJKj)`;z_eGhs#{j<14DQFF3*g>)xpViIK~zCk*w3@c^HT3=${FrjC*_w}P*xcVHN zK$c?1ce8+HZ+2r0kg1|PLcaR15qX)h>qZn)Bq0R_)`0xK{I4y~n%&6}L(e1Bt}-W4 zj}zq7PBodZu0b%h$0j1~LKa4vh_7X)5jJgBDHSpb3}pQ|QK8ym+0r#SgB$_m(zJ6iFnPM>0DGP>X7DuFS& z0Q*d0lPj|jL>eAbK&Gp65tgPCH>#Vo+3m=z8MkM9#*#z ziOnvvZqUAPuwCGiI!4eLyOX=rFHjI2D3#pzJ1fgLT89-;`$uCi2%mtM>FKHT*>;qq z>d~7(p>k3aGgn#Mgp~(WGH;U0{7CuA4Mu ziUqWk964p0Dk3X0;R}T}9W8|LjD}Gc>5FXBe&jl)qOPt?%;}r~%`pb`vX7Nu~B@-iuH&`&hGPyS61n z1K&o1EMdk=ei!9K;N&-6s&cugg_Wby+JAwr`2+;$|*0dE#Asy`nwlUosZe_v8G;t9v)%b^(viA zJuoAP2u!xF^^)n@lihnm*LA}m;9yogRf$3zV#t0=$wX&)B72rG=XEf?j{i#1?=yyp zPI;y3YW^$FG=pI|M=N~P8f|N+!+IT9vGGPm%Isc0t}RpF`=Pqx*m1DH)p>pAJpicK zsH{@4;-MvmyE<>^yw2RulS>b_qoJ|E3wGl1me?dZY;C3jAu%6E?55DA9PaQq6q^zu zOdu_%NT5>UlDojy@n4DAnVu|(t%;lIWkr`v`#fXKEDR{rypk=1m@r!J-%f5SHewq* zbR!NeP1g#T)WfO+dtO!@_}3RYut9fVyt${>$<(-Wj|j{+J}@2DSl4#f>#lb?`i7CTi_eqwSyKD-2r{#f3V-mZ_7^jL&C> zbCS@!nD|!07290U)$b5GwU;z3zq0if{SDrAPd1q$Bd2LT|2g?JW_K;KSgLVFF1|DU zYZB$tsl>FKdPRIvjWmOgNSD!ODzKIM1mP%jq_7G;{mIYFjcIWnQdk+SSMzh~88Hu2 zwoRU1D%;GY#j`UydI6I>q(RciF}6(BTT~dK zZC1@x-G$G|CV7cem;No0{+(`TzD*{?oSJf;(rH?&VhQ4VA@wMfs5yuRHx z3Y1A*hg`~YbyYK!+GIJV{eWy_pJC=3Ptjcpc~Er1;EeP`J|M@>xoS9y1w|bStrR8u z1X?C3W>oaqgu6B0DShJ=!3ompX`i+|CQc4*d}Oqu+nM8q!l`-;T3T@ z@R4@?k@HGvATTQ^K{Ht79Xc22aa=>tW7)XpK- zz%d`pu>YQ+7?w)}V{+Fjt|CsQ%mwA(HH1rZ)9w{2+8m*$UBP@c`2XRm!x&uxrcqZN z#;7CrVT9cL5}vVL|8X*q3pU2HBU?8wJt?toxm?58!nVTnnceA8%qPaBfIsG@#NNHr z+8Lqv%*5eg#@+v71`|ZeW$sS=qkSDpUv|ae7P5`DJ>(?zjqBJqBJu78gtcHTNx z>FkPwQsCCd)6Y^u0CrE?OG12M;&8rk_oE8nBA3~l_`n93mGVa0UAn1Z=B}3a+FL$v zG1}s!bnL_0(((KS6dBK@>Jfz-v9|Aj2_4F5O^zLn#8+uKU1hh}H?5oe`0~VIw{dsL zm$rDE%DG~g`Hs_KzDk)#=rJcnysWw1+p+JMbqWU}_jn7pj_>ODU_@c>_|C$EFUi7X zcU+7oM&hRk!nCri()mNv`pDOcY2xs3{K&u5QBfIC%AKRWTH#kE z5Dm@#x+1YJpMZ8bw2skec?)})QSR}CIvi1W01UUhBpaL@hCwhKCadR(c%Xi8SiP^X zA}c34ERlytEaM7F&Qf(GJmc?zRgPrw*M{Ku3g2#U_Sjhd9-N2gaDF1O&(*PSY!2rl zjq@@6IC~2ZAV56hq4NkbI~i-)dgaj1bK{u?AExIs;EpAWT_#tdV+JCzt!MesVq)3J zNUEBw|A~XkmmH(^$VTgW(pQd7ujLPS0+B*XrXUp$yO`xLe5$IFjf+HymWXib@**Kk zMuf(B+gG|;-o2n@OUuf7m(py~H){}CK+F~p!xV`86z8`5&$wGm{sN_zzoNcl?egwj z>5`u#)?N_Y^IVIkZ{>7X@J-LbmG#5c2}h^J&@ERL$K@@#Okn0Km{_-307y#;ptzk0 zlw(2#-fj)hI{=_+Ah<_>57WT&RorZ~wSqM2DrEkW%U>3@s5orQ=`!yAsSWyvHt3>I zzPC?4Tt?+$DLFRe@*dIvi-rI^W&l7NI8Piy zB%SWoz=y9Br~{?2y(Z@DQ}JoCCUPXta^(}3k`JkXj6*Qz#{)f;-h!CEdE%2*>D%Fk zzmlKc#Xr{d8@TbxA}7nIC@NS&S$psddh&KL-H0bt5hklZ{k*Vs&0V&^$Y|}5q8wC6 zwLkG&EsLKom3&-FkGo&)6RNYDQego(P-AroTGu_IGLm)PDVU|2$s>o;rhd6rX;bNW8ip>^crEuFoDz5G5}ZP%j~Z0y zI~bt!W?O96iX^wDl|{W;k>P$?NY*w81Fuvlc*JO`O^f0OTAbw!375uUM%zx6FD6*b zj#{~Cn5$NMIO|NnKyIPcM?gnJ0P}=Ua9HoaF z9_L@%;ay>STezW%B&VZ~KBE;&T(0NZ^+eH7XT$;G$g4r2u_EiY9a7TQe|ps4(mkpr z(Tp-bH@k3!{6l}ov48S+s>4Un6IXoH%}^6< zfr1iH<4Rf)p)P(5!%T7UN2?9+A9JPBB(CH$a?T`;tewBz%Fc^~8%ye~vyT=JSx&lQ z$8m(vmDdTdfmhJbidkoBWr07;%XIOR6H`NZvBhkQG1yRprJfpHd4J&F%tnr(st6#2 zrHTEr^_zw2HfXf1Cw0FZ?He<9r{)qd;$-8li&##vc;21N+a_mL*?mcG2uruoD$6)A zC5$#Xlr{Z&%gC8sdMw`x!**IqUk<6&pb5PiE=DU6ORMO$(CoISHIv{Nl)eLbf_f<4 zxnZ`SK}zIVwSWIN9{VB+^vh`?MlM&x@kB(gW$W{{vSwY zUi@}Wy0^g~P{d6fb91_K;Fe#mo#~&e7gn=@pTH7r$Hrs95}X|r(YW|_nRF?>+=-v$2y{l%2ABNJzK5!exvbz zSJ28a!mE1P5${AX!uz+Xfgvu%5JtFs5d0NRQq&rP)4iD=#UKAM#*$X0C*TyU*hm+MYuRS zHrf3b>#2R?wS8Gx&ITl%LXsNorB&cvYTbE_l9F->RNO86)`Rd5Od+Sch;bxE$UF;j z1kG9xT*-D4?1r~a7TT<#Ca2suRC?Kqm zm;HrP!TLs5V~Ma#(7I)Wy@DzFJ1{2>LS~~vMpTmY6@xNXN=APtFZh+>QN-1ZLB;N- zSo-8aNq<%#Mfq?h<}jzSOmi7c>o4EXoo$zO1j~rnwkxyo(TNvBe}~pY=P|p|*zcgH z9I%G!#d~jtu4H@f-KW3cs6bMtO;CY|&6E)!1TM9zSn)%s6(tdjf>G<_vC<~a`^HLf zd!EEvkgxRs?=P_BCiVt_B66-M^A%?;K{gR6FC&Ysx?3dabPsicVS`VqB!?wfJ2?;8T9Hp73n9tX;V)Ug6#8CNlJN4`=nR32nEC7nn-hp=qS=c-H)3P_Hu zRIw8CfVCey`FV!fv0|UtMB;c-W7hsNtD`P-ESD1sU71350V_NsCc;n{q_{!)1yg=* zclXd&Wp~Gsc&*aOXn;)`!PSl?Hd1%X8kBBCJC21@{HCDzl3mFeu>pc zM@vh$56T#+GCFBqsYmFWg-^)n1X79fQAX9e@{!U&edz}&J3PyM;6z`6ahIs{91|`T zm6yZNLAk(V&7Yx^((te#+%xSvdk6KLz1nIf5+0>99vC={=|15|LE)!w16Q zMwjqv=3F%XvL5BW9S%n_rtpljC7vSmh2Pup*DI0Ehj0|V2 zuKKB#@cq^=F5XZoFYTu$zo9^0+M|D?xaFk}q3e*2uAP_e=C@;wk{zBXNY4K2uO(yh zIB-I`D+7Sf3cs)VZFasa8@<%pPnV;quoajR>5HEP73PTu$S(fW>Y|{Gp`J9O&9xt0 z1DQ5@=f+=SB4qND)rXESXM84_D1c?}cQtLp&g|mvBtef3!__#FYjA}hDm0Q3hGp&T+{ErF?Am5}V?`A6uPQWN+L1UoclnIO!RfKNiGvr$ zujtBa0XE!VAN?rd)}RRd0vQdW?J*e+{n#e3gL2|vICfm(;AQb5*~l|?FLvcs%HQ92 z<+aP--@x4?R*u?8{EYrl7Bg|UL97Z6;GZbK%(7oP+S{E<6ZU29A2=iqN#;yKl9VNu z`ST$5;jC>GQb>zUJFG-&W?XWG+7Mp%H)#+8{d<0Tzz6+4% zBT_XLXh~H);*S}`9lV9>-nGQ^nC{LDm%~0nusu>_Ha!wR0Gd^g1R3ot5lMW`J zdi)7o9d3|evTZ9WwO3M6eq=*MA7?y1WaPjRciTgXqVtD;J`wC-mfeZ19&-ne7cduA z92RM4%-oVVFm|yg)$)ydda{{pcw$YFvW8fCv2Mn43F^E}_E` zw-rB8Q-)|svd*8*xp2i+qi!prPLYZt*Qg?5MIfex?YO6C^j)Emh$C3* zgGU`22_^~EtEkmj^M4q`w$o$~G58y;9|25sl$|}*#LkfI4*EnYac})+th!O_*(68z z`{le8v&nX&t%KqOXfj$QnKS@+~GIPa?S z1i55}123=&G_2=k!Kv63Kb{qUw_k_VOgZ1UTRc=VXAx)iOm69A@V|7M2VRzfse}jg zqv3jUx3zJV^cQpr4{~J*w&lLU_WvYb&N~%SaraunChYr7HQT*U+0CS0P$;bxmNBY&`|-!`++&@W>p_`J z1~_}ckDWfrCBanUNr*33bENbvteemwa~XHuGEu?KW2I9lq?heZp@?~PK(T>*w zL;NWuP=Z)1l;+;}b*7Yr{|Sbz(hn7$!1SfPjJ+(418+wqCWr*^SQjuD=7<6A895QC zMQu**&(jr>BVd5>$he;AT*Mw};#0Dkp~-mU*AF12jv6_@MP*>CNB0AXA7yQzq6E^7 z5m-v@_ahCw)^k5q!$GRL`Z-!=Njwm-t``QT^LP{FP#h|yfBO|-QIEPQJ{y(7B&g#4 zM_Ca!|DwQnK&T}**ZsdJh`ToyC_A%qZaL%U;6c$YiVkH194$O{;HdtoF|bSLNt?uJ zBNQT-mPV{s|x`y5+hu5ab8r_1OFyavphXhIaf9QiIcj z3-TcAMyV!;A7^RW|@0m;z1WU*ShF83b`YDJ2}cLf zg+J0*Z1ucv&xW{M-)=mfi$)D{j>GCS>*1W@lk4PAv=0YWM-hhg$q~XpQ*J$+6v*xmddE!o|yqcP%vOXo*5LD%M@yx7THyH6zrO_kL>?cSd$InyPlf07I~Y9z;vVZFN)uV#C~iFo|}7%c+7an^sV zGeOmX{q3ea){gTBSAgRWA;!hokF|3r`cj#B7L*>IoaHt>7*!THKJT{oyW_NeHQKSm zlP`{igOHGY)7MwhcVqT;wBMaZ?e4_E0(I(b%^(uL*ysV!ygQ|9=MAGRx(WM+%8`eB*{U+U+=1-8BjgyboAtn&JGf%A`GCkiFbE_vbn7jhA^tO!<^jxX7!oJ%_A`} zhOL*;1prk-8?sK6PYDKt?1J-a?Di_QH9f-B^hL(Ts`6=h3v~%1OQARUUKVa54CW@+ zG{F`DnmBmD@_Mi!gpYq&ZCSfK1aLCo1uK@Vmd?E`2ftxlxNYU^@+knEnpcf$=FS;~ zJ60SJ2r0i0Ah_^)mmP&%4FJX5-n71TbKIj^9+_7y6bRK$tlCO@k?MB@rDB&`G~ zuL~PK{}u6HU`iE^yKUSZC$8|o={}g_9|;KeLYaHtv$7J7MwS`4K5YF$t*60$``zG* zSF4JG3#CO<_*Khb4%Q5r_$X&+JCho?QJ_|@egoPOlc3I6ErzGEolm<`$tijobM4>0 zrl(MX)mXbV2HDHlDx#!bvR-eFJgfEf1}Hx(JLy=vTa zjPdDqadgHeUOyaZ`iGcYJBc5|&;XIv5B6?x;+J;rPQ0|cM(+F!`?sJz#WRA zd!H1qPNA^|F#3!XpHBHRDFNfPzmekCDO>qjq<_B3&p@g&C|`-RCw4|}2d51-JY5U{;x_;nmviMOA4nd-SKyf=1s>PajW+h&Pu4W^)Lu4AVJfKyD7Z2sqA3 z0lzsoAu=pZ3MiW0gT~|QciH1{=D_h-h&&l)eA+JbU!KQQOI3Q}A3^opd+|bVWS!i! zkhdNKiTC3JEt>CNiG*k911~@T_X-VwytDwHxEh8@teHk1v1h zYfh7V1$d~zZk4YPA#Lr3`6`JWHK1)ppdtK))OAB4C3$;4-f)lV|CRKg-61pxh-fKm zSNtZ{_d}%$vS^B>K~fyPu3MBqeVlLi;{JLWHc}|Igr?>*cGPzC)SM$kvQ}UhP6fJ z7y2~EJW88qj?}d|=Ed&V@+0+*91rn6kI+GKys?Xq)JJlB9F88Lo8Ql0S{nrx5P&}4hOh9=wNH8j~Cuc68IcnwYdzl_)5Izz^5XlDO- zeIX||USG(`jn@})a^v-doZNT~&M_}8`v2>Ay>H8mAp|)pv5{xX+=&hDIktN*bMQZv z5pRBxJzriXw(S3rf7SmZf7<^e|K$IeFPA2EGGD%mjKsU@3%Z*Z2aLp< ze92m-C?3B{@tKfWJS7|~wo-;Ur5kjR>C}n;RL~rpWLH5+@i1V?k|sb+400rHP>BwP z;&4Es9LKUy*@)h!6CY8D4!&~Qv<__Y(kmo=lu{0$2b6#gG(#iwoPGm{{?b$W$+AuV z`g_)8_bhgvKoE7X&JB<`oP{Ykq7Euhb7IsLXrc}(fOB}GPr+2`g_62QI_UkKS4=@Z zIX%KHyxBWtsW(oLQbL{86UpmJaF<{+#QMe^?8bZ54wvJW@!a!o#&k%cW{0oH^o4M&tT1s&h}_<%JGo_Euwdx0wF0 z<|S`)W5w}Q3R1F@)Rs#gz9Yu3dX#A<_0y z{`Hgi;3@jETpP_YL3*SzvQ$hXQ}+=QBYII zPp@=y25)vu{McBz2I`2l0+a=Hh4vM9+qATIbc71R8tzF>jxZWF)={gN3#8CB<$VsR z%7y3>jrKE>%0tQXUXYVo*PG_&6E~PA=#Mwb-r_t>`cWN!yG)#Tu@aXjIu3DKp1{rG zOn%nIKg$#=)6R4(D-Gi65+;uFt&RECtK8JV=0$)Z!svQVmLQ zSRXd*zEkY&>agKe^-~=-w5y-W3jYW7Gh||rU;o0tv9=4n85_sieg()|yZ&d8wSDLj z$4SzvI+=-0W%CD}z9ts$x$-<-taiF7KZ5b<#B%0DWlv4fu=shf_GDddfnqL(X9~STFiYVZJni5^w8?PodEeEOGffRo^eJ`Mr)za7n zEP*sVIf=`Srye^i(U)q5jeoy=tHT`4$Qx}j9>h8`&m8J8L{aJe_lsVYMLAw zd@-Vc493HjF$@8>{C=lKPCN?Uk_BT_GNKrFXUrQF&b4|Fwi&OGO}^GnSH1sFtoBxhAOrgwL2)s-46i@2qCK)gc?Ct!lFl1bc%Y*H5g-Z z^b~GTx9gzNx1iGa?>SU@U1ra~bKrOKWe_}86PL#ov-!f-z4BWE80QXE2TQqMOC5+= zsl?V#o<(eZ$*JCoK_!1VsN_H_E~gw5H?{V9;nr19Gs1c4p)PyDiJero89l|6$E&$a zVb=Q1TEfT&%-SLy(_5Bh2|(FMXUlK5JNu>hXNKX$b{kU>t|;iLEb&mgzXwCv^pBK= zLgL3HYO0`_P-uS67n0gXBy+!2x=G>cFyZ+yLG?@GF~NDc{Z8E89ci40gM1U~QPv;sN%Nt)n^fHuVJCVSam4aA zIs+5s4rC1%Y-7iE>>UQC;p`Hg7y0UX?NMMpRjf5QW;;rdJj9&_#G9cO_dE>6)G#3 ztqG+KhSymsI0BaA^=p!~A%x|KS!Qi0b7`{Hp9~kJ7G=$wi7b8Zq2$t_d3fU1#bwE` z*W5Mn6LUVUYq1FzCEn%T?umyblG{a@(ah`QeU(CquzS4$KGpH}&DvmBWw8*;p|I2N zK-FMzo*ETyMJ#8--zG3*XpFXV_$4Y}jgJ@$07=%A*t%Kj1x5JtDG+UtwaU8d6^HP* zDdtj&LKnn}T7PU-+|`4+=!qeRJ&pJS?Z(rLnXFju4aF1UL+>{4kmi|FtAzh53@yOS zdlWZD2`S>vEQes_a__=O&UMGXmWsMpbVzmv-#TxDMEMlQ1i6LGlE9q$fvZHZ6mswt+HRx(t--s1~b!^Rj8mTL%^5;N*CfzW6A*2(N~ z)%dbC;`Ji;%ywJ9)~BN_3w@twYl8n-Cm5bRUSu-pMy$C_&e}DR?^L2m#LVle{cj^9 z^Q~-L3ylFw7Sof7*|d_2DiY|EdN{erC2KSrJbR@p%EjeX{5i7r6#w1|)s9|+eovLK z)u59yPvjbY{s!tc?332(>oa!@U>0T;|HCbO)?vZDNH-g?j@JvSMBoQX#QLFL7}d?@ zh_%}O;>=v-Hs`)|=Wo*Ac&>y5ysTFXu`sbT$*vPML@qCxntdcw0-z<&B|DH@j%4x@ zErPf%FCDVh+@^Z>d=MyR=fn=4k5qx&n=dlAn>*ACawlQi-?w+-CK!`Y#l3IHi$Xfk zEZ(1}#PVR|iA$7Nci(B0OLXGx#^uqG6E~}bmve1pgp+7?IJ37_z0l}NH2wb6FZX^$O6x+ zw>-?W?hs8>IaE$$UHmKuR$h!tTk9n1oTxSPz>65vg#EJGmf8I=T6Z%u#K*W&-ZwdW zx|fMV10@_(CNGedDy0Kep;|eQFSlm*SNw0ONJ++RwTf`3g!vs{BH{9JS6+1}HT5oL zx?BZsA~HIj4$0#Ys8tpFUq(b`V>eQ+G&%i{geQ&_CTI0g)T8|UWLeBJKk4m(h&!kf zGM?(Dt@7RvxQPI*%&jNvzV!^(8*|OWlSn=ZBVNTDi%yiR)YKDb&3nQQvp2O^`I#*G zD;wlq#xp4H*|GqHvZVkmM@#O0SLur=X9#-J{W~)8M?6HiN-ow>GHlKHKoyzTC144c zGog2nj0KvMJZwOycF5{W2A&ze!3_LP!X15*83CAL%mmV7dM-@^(I>toK~%kq-&YV_ zQVe<@N^Cro=sE8Am(&6=-d%tD=k>*S&oaXVpCvGWogXU zOiJK*+JjNmjJ#F9jR)M^B0ON$=jnX^Wu|X z1@W!-S=~$QeDQZy8|AliDQvz;iCBMjQet0|6g*Ru2vc#1ZiCY^vKb$kcyXbUYtBk0 z8?^pvM1(+9WX|Me-Wt$>oNvl~2aadz*yz%SEm7u&UF~|L03tnmS5ul2*CAB1602<+8y}%$AQL{2K%+%QbGrPA)6?VT=q6^f+ z0@=hAdU2cf4s)_6f;|AEFo~qM+xCS{s(; z2J06{IJ?8qs5M%5wjUQXh2G2s{WT9buDwRC?2u$ zb!NJP9BVCGP#L;A=qbWNIz!03uCTR18xzQD>ktqm=r|@&Lki^F-Zjig$ zDE5I^lR`?S;(sxnGRritln4>RSmo}_&9Uz~oD#A2=nils5CgG z$uslBAr~UCkfEwMA`N7s)`OZo`7I+Or#-^7r{AIg!^CWz^l1hq@cj&1_wN_nW$>)A zx*NjkcE`NA6p{B*=HMre?2x6o^(Qnyd8`JQRC1qQF~!D-MlHsUX}LMRa+i!VjYef8 za7*`>NC!}S%x0ZALR7dnjP>(72+^_|v=Aj|97{a#g@s3Ht${DN z_zGDHJl5B>P=w*qe}m&4xG?jHK(-Dr^PMy*iKm_rHcVFn)^HVoPt-ByzR^}fOX&|0 z2V7+ZvP(lw-w9a2?I444=*}X#d_+Y2mKNy!;PnfiddHAO|yZBJp8qp8clBvH@6j5Jo{5g3DS~P?} zvLLyHEyUA@@|I4p&bbLw@G{tv{tH?m>sm*0$1h4hp@oNBSPEG;I4rMYoFxm&c1}`{ zO0cgQO(e4>o}inNoO)01>*myZXH@Lw@k?YdVNZY$%Y^E5`)mjF<&U2_;xt}{tSHWl zkE1(+h!CknWc+!GITVE?#+ev9x*=;_=0)VZIK3;|8kGaX)H$8din`uK^H7aKsoR82 zR1tY~O0Jx708svVs|_6;yve$|BaG_-ao8LW@ED}NiC&!SN0d~pfIWa-tAyq zOc!O<4Y@Y5B*CfT!iCU4{s|BJw9J%?E6hA~6DEjaM@xxifjnEpJ*>B+nm;V_Uuxb{ zCYVmzH~y7DX~jp|Y0D9F*LRDir%y8?)@g7?LgsgTqSF18rgTg$QR_~u8P?(N*aZh_ zPukEogU46$t;yd$lJ*p_>Tk3w8m)4Z8>;hgh1N|m)req=ST!1T^0fMSZti2)23+;A-QO4-EG=$@(jn|=&N(LyeuD-c-vZY@3Cw&?OG z(FGJGz1)MPmwTY}a_6L%*nXr@8Y>ny_bcJWv72gEae4#&C5MC30mAF@S{&NL3=oyo zQq`IfrZSvrlI~D#d>uGD;tQ=;4F!jK-^~r^ z`*ai(Jhd{>nU|E2IjnTPX)(K4{AgC)!aQu%1DTnqDA$ouoI($0CZ@rIH50{D($lY;8LQ``lBN@MdzI44T0wXDKj-B zVC0Q2??s$yyW{N|$r1^Sw)9lGpIRz1MwkYJp`g3J)q;Yf&@k7O$a zGJY%FzjF~4Q+A|ScPrJw!wDqdAS!B?m=D}|lj<&5@1~U`k_)3_rBJg+WD7e;bAeCA zIs$am>T;&)(zES8Sr=qfMe~4+%<)pS3lj`?1JLJIO%Q@Gw~W?87Dcmp>hp@@Bc+Lh zCodoOyfAv=VBzxP)V*kewqy?=ckzh+fqk zG-hveb)@`qup{9$k3y-LnyTajpH*XxXlLf$M3<5HpnGDU`AYg#62R70d=`R;C_YUh z|E_fupH3#3&A)!@Sk0Jxqs3e$FJ@h`3gp05eP7HXNckMNs%Tt#YRGM8W_YchK`DUb2@7SuZG^?x31y`F3YR&5F z%<9?dVzXJ@U{(|F(Vz6#ed5)+sz(kj{U$hAE#Kn4VqK*o$YKvydY?or<4&WvAbvaH z=MK@Sp~RpjHOe+~f|{1FVP!kZHanDRw+pAYNk%&lj0_{b`{%=&#wM$aYR%6lEts5a z4y2lvv<7D-f1FD>stedZ@l&9(e6@(Xs zwDe{{AQ?!SCr)=AtmtU^IMG}@%(z22SHXd@|MEw5p(2)w6Z~33A&q>CaTM4bL49u%HRjCPCU$NL;DRqISPmr8*dYG`XO(||An;>8%Xk&aIj4OnQ6lE6^M-4ZPKay+<4Dm3_ z)&*gSL~|+AsMuJ2isY&eAaudIQiSePYA>g#_ApiEQX&3kGEz#7i3g=ge$t@0%}uBd zsut(dVpO#^$7wId7FR?$(={ptQNXQB9N1=`zOD|JX3ihLoi=aMX6Ec8Gc{SbjAaZ> zb^Vo$XpQg$Jnm^WjNN#}V*CjXkU7b&*Z-SZ|1|0q0?w?(PB$yuF# z`9AvV98UPF&E8!f=r!0o4@H2T@^2T~@-nte7HRQB;jDO$kBE-T7s=XANQYlDOx*8Y z@i7D3A}ez87*=ty!}wDE2T7DuNk2l>A1Zr`g9G50Z=W6a))8a;@VE)(4;Svgu;TNk z4C=ZkNpM8}OXk5DT=(;H@y{LKtYR>+>zpUt&~bRzKg{xwxqH`PyY(|jCJb$okU9q^ zT;?t71y2vr6%Gg+>MxZ{G1fKS*ufVSaM2ze*#8?^IW8ZF&^&0on`6W>R)g zDfddDqjcG5yUx}*1y^nRc9_!PweA%kNdRSsH&XAx8#u+}_2jwY<6-Dj;>TEdCG^U| z#>Fhs_g~>G(r(1Hnx;PMsc$H*QAb)#TkA*mcSqp?qqR)fB_6DhcPl-{9Qh+V^@#QF zy)v2DysXkk2xREZ%k8;uBm@N;bKicmHS`+>KqX(2OIBu@w}tVTrc{~ zimX^7)Lq}@6I2xK6$`0UvSvu>8ncRf(WrBsoJ{JQ@!gS zVl0_emwGWIMn-BTXA-yKD&4Z)AkB9+ND8Fd`pf?4ZPmV7h0f9Yqq_LZa-59G4sBb4 zg^AVfF4QA6JWFM-176BzS1Q)ihJE(97_FZ|JF+8I*Hw0LVtSFL`@y5Zm>{fk8lAk> zSEM{LY1kr6y#soSsfMD(*7Sbl9-*l0G1QjO>2Y-(Tf$POyEnZfh}io<6`COjGuPdJ zsm4`zYozfmH{G=oU+0iO(OTUEF0t;rK8K@vAdGp)USPH8k!IH<#>ecK1jma+W8^&0 z9JNXIiACxKwPKafgSIOMf26J#8&3`yx>1e-z#Is%fL;YgETDV{quZOtlh`i-&7Yc{ zrL|~>G>V~9!DzhglvM$!u?a(HvskbrT{j)eq^(@~b ziwY>xD|vI;o$e4U6a)MUw4H9y`N{S5I1@Zh!~s5njGDZ{jSoB3XtRhy#7<5Bjz8%9 zGGwv(Da_*dC5h`o9tRv%v9e;l)9`xf-drFOulTUd3l9Fu`0UF;K01An#~GYVv{u(P z7qDQ_H7ntq%&}rNwTA?Z(p@CN-*imP!D3OZPGW8;p{L#tf3Q=yDZNdD)xx!tkKEcf z!1?!qzp5=eQ;*Xo=ZQ}Nc_!V36!@Rw3xT#Ts1@;u{wz74 zkgowAzO~JU95PLFm`DtXvc_F*PtMqJY`WR^*NjBq7r-%j>8bq0OJzh?0bi`8esnSz zs2m28!(^}Z6Q{D61?>~uHBOp7-c*ew-w$di|}KxwQkjgD>mI(bgy6B<2U%-_rqwti;X?SZh?=09l8` z0SqiauTy1|y)8eyOJ~!yh4`Qp9!8y7U+sf7N(9)Q2xcD41wkVBkkih>xep zGTrwdM;%<--V^fx2ex*Ta%lLM`I4&}4MnZVszD4E{wQ)`va~u|S}g%&anyQG(J`p$ zxRt>d#-!U~=%(*4I$LKI9!ao>;x|3)f7H-1{d~P|i0vEsC7LS^gEdSTxCiwC+NWOu zpc=0D>o!*mQ|#fRFPba%?-|Sm@8-TWm+Z`aYu}~L+_&^OVm*`lwrQikb$@;-%MJ$^ z4sW~;;berL(CP4*Xh1Row_YJcb9m!h`b+ahz*^nU=Kn<7qZYg&M6zQ2IlIUyYZu8R zejw~qDrR^kAdzh8?qF3XNz{23D#m%KKT_q+D6W}h!!Mn@M1*f0N)y> z5B`KQ-Kd}vmsv4&v2}N@Zrc+uCJZE0hcyT>b?Y^DtKtHWh!BVR?>QkJp)ru8tx5qF zL0KG$1&z+j$iyE_n`BGJg!mJ4kl+b{L_KjHKcgSonH0|g4PbWW3%4nnmf9eVHaW>m ze~of@WlHZPXbtCkR!E)gsL6GVYE%N=$&+CL>q9-WDa??ZMpCg2eC-y+l|qp|ro3PU zqGT3jPT`k$GoWf&clQ_Dkt?QLm&lytV9#{mKDf%4{svThOhKEK&u9&^+NK|pS>K+1 zP{fOxIn+ttC134n9N$HG@#Wnnbe7dTYHfC48?8k-z{OURBZE|ve+KA)y#mz^D!vv{ zto%2ELwprwmk>(dBSqC{1gxq{9ByhAtDsPXIV7ixqS*)z;&4}Q%>)M$i|L8<<8F~e zDqnZ9JI6Y$%gLf-k(>h2oL9{LGKK1`>p>_7L$ZvOx7mnc2Ay^^SPAslMDsxAG!WG5 zV#DVwSuBm}vK6c2H)pHWF?|>3X?U{rrRM;ntfx+9A<+GT7Sc(v6dz*OKrT>(hoW;lhcH?fOlmZ}B0+*&jUn5w8iS>+5u zMh>ovd0y2;hyBW{PN0OXmj3zij-DUINi~F;l8@-)UbYLL&NqF``=LVpglpeFKD8MZCA+mzr{2_?=5ug=Ay3IvTvMs$Iw zwI!EaLNWqEbkL1qYZUk}C)Aq$U7vbKv0fYPxR-?tiqn^Kw?n1+Mq0Q&6Pr_ zWTkR&V;3QYxhW`b%Zlj)@1!e3Uef!!qr6Y|?oih##&2=Gz9U^5@2#d>QPWPiLS5mE zSd044^LFWZBA0JD?zQIk=R8l2`EhcwayQ^$4`DL9yBf5KDLh+?G3n@i3V>S9i>&hg z^xON>i>*L^`n9AB**m~FuXlT5uM27viJy@#0vCUvR8Q7uk2Q9-BAN(PMdeZYTLdn? zv9mX&+_Q)oN_Nm#Ev9|;i-f$D(34UH-Yw=;+&%mbby(w)qb9giZ(O`xJ+5r`c!Csr z%5IiPUsO-v%I~Un(St-5Dh1VA)@jchqg7;~qOgmrR5aq+(UBfkwqt^aHph1e4E~d; zO)%S26eQ6igrM=&jy&^U|NnfX?w^5aFeQMK~w2h^l&% z)Kl4fH;(6~M*4BeK`ssl;bYa>(~45ExIfU&#?)xNnIbsW@@pZ#c=jIi0$3e)k;4c@ zm4en<1%9eLc~cy=KD#$}mU%0+Nc3=DK-OZee$ZkqE3-f4<%n<9l_B@aH(fhjvZXG@ zHEQzsZRY1Y(vVJ6FRx}6bZlZ7S6w!QmWScLjG&9aj2B&}ORKwQmt@s7l#DW7E9M?fkaK>s%hMYmj@@ zXgs%Es4e81h2Cm78%%OI)!VGejmXZ)M?f^rh@^{9G-2hyV(yG8_zibZB_oqpwf3z{ zq4V<=nJWFQ513&*8c2(gs#n-?Nk7<9`5^2D*%t-pW+^c9LZ#th% zp9~72IlwN`^r{>Pa3JjE3GEv9^0V!$V%lPSVXMAiQNVDqdLGYpqmF&U=s54XAcp>) zP}ze_BQ_R!U)JDJ(jeio#rIo`v;i%;fX*?wiZcRupvw*2RvUh^Fgpw09L4O+lnnFS z9-9VP0wmtP=+O+%&gu36hOkBOT_oD0muzH z1TwRYjefx7E$hQfILQ=dz}H=6QRf4d9Q&TsUtS|ch+@HjoBDZnnHARQu%5XwbETbb z{g!W36|dC!vHBfrU`|%rFy-D4tG!t0Vi`4cnRrrm8_s9IH_SdFL{1RH=cPO&f8I;* z7(R?X!SYAasoXK4-c3o;{ko{?8Dk}oC#jlBe##Y4&n{mVO-#iTlq>j0V!CTnj6iw~y`UGWwPqCzt|+zFCgMc5k3@gU_GzbvoBj z{w6Xg?6z;-ft`@BVnggC^9@K1+@e%Mk^2f3p(;)8Bkl@vjCkjtgb~rQ@f;KWh+6Wh zHKU}$UuzX)wjSbsF(Mp2@Lu?I0WyfmetQHa`;@)RmoV9Yz`38jqB)F<*Gq-TSQzpV z8;Wm?)+=Ef);{r87?C^+|L3aiW!_1P+-SL!6GNeYLirEO&g50TNtY-Vp>}d=XoCL**T)lgl)Y848;+8jFh0|J zhjHHqW9BC)=fJo~@rdvP)c3kxP5CE--=ygtS04(s%N;U5MvgM3=Jt3SOsAfPXk|DB z4Vg)$>`~hJ@Fx8)jo*Tfgp8vtZpnpQftUE@m1kx0XcLWW54>3;v3}w^G%T3N9h*FH zQ`u&E8jy&}Ogp7!jhG+Fi<6tiV^D75j@gI6^e}n?dmKVviyIrcWb^NBY zsffwCfR-k494a;utM#%X!a+o=Ut_Dx97oQ~qD;AP{v5SGsdmmiNsk3k9Waa_q6n)X z{3Ck+GQa+SXQ!pcWaB1iT;@MbWCD zR!#O};^`g3yO^@lj`Gy3h)^35-G($sUaCJIw@RYWTkD43m&!S6cD0SB-L> zbwm2M&Zr|H+7w}LC+dsz40>&KlB&!MfmU+| zrTgesoJS`8HPema94=$nubP_rel&4^G-5t$}#lpN*3Z~V%u#y^}B7mjBI;! z35Xbh2c4n#6F63;W-s=-*7nn;D^FcvbTHFwwRq|9Ca*J;O|Ay%+|$VEZJahio#ZHO zpzN$#Q@Acm>%($WMXuRAG=I*#iFDEUQI-9#gx6Rcb8QF2l!ozr9d?a7~kz2U9xxRTo-xH#R8O&(iE++oG+G%E z%50&(F`Gn)qe3V7jBEUEqd8`7w$l0D-^GP=(4~vro--sgPGG5Y1FI2O5fBNsKWtci%yG%)Kec`8O*ZfJv=#4wjho+@YAv#A;@ zQ#HElkY{D;*O0u*IXUyrOpw3vQZpNGlo}SH(r%QDSu8N7~JSWXb`A*pa9brE1xh}FrYKnjckGQ^|lr=(&>IVDbwj* zA-+@2^1m=Y_!OzY8e32$q*^(blLBNpiNRm~K$Pg>tSy+6w}b}xpVBNHGR^0_;>w>$ zJL>KVRg9fI*=`JroMx}Er`6MfbZ2n8BUmrCP_C`tPmg!EuVxRPysqVQjni4Oxbo8m zRb)rM*~7_Ts*OD(LMiXx$O~}LEaZR6KZqI68*Y|)<$tQNShZ3fjsv!DWzWIj4hUXN zR4o$tu_shcD!nhA-v1OkI=649E8ft<&C}wE*KJ4~DJc_Kl0{`cM#^$iEMrOofB$Xc z5etdaKm^p${`zXimy!9T@i*Q8+WO=?L-=_=-32u&#cvqI zE;VMW7(?`V@*mT7GVf*~BG0)uE&ctCJD^|+7GbGN$70L7Zj5{Wsa`hMMhALAuzm*4;*ZfGY?&WinT8gauV}i93Y<%q) zfHgn-Q-(Fi7*I4zuVZ9}Z_|hH{Gz(DR{KVCy z;_)EqDX&167nu%w8+f8KYcLNoC}#*BFj#UmOif9J{zhFWZMd<(^uVBto`Ei|P1Cfg zlxAJCdn(RWX42Hw5kDdgRhFQ#(oof2II`|niSeB?1ACchW2SILP(ai;(Xdlv1opI#CGnldrc!m$_mL>YwD?G2b z3{8rfFu;8;CgH!nUQnWXi;Vap7s3m=Bp&)?jhYG z6?=v;18z}RgThc6))~ecn4++$3X@fEhA|4pC~TaP9Q%vxs4b&t^8JN#>d4 z$trLp{&`!StR-t?-8xhmDL|hO(V%|drMFwoz1w6GfLnj#y`*I@JZ~GG`d&j1YPjfc zoJ*+998K=u2;uiW>^f>J*7Ke2bE%$hb)U;*Xz2ZVy|X4UjKm?l6EgFAsET4|nT9b@ zR^*f{da9;={EgoL4euGaS}u3PKTx=v-c)mOD*a0x=|v#tCnmi)Ebnjp3z1BKQH2Z` zgCNy)Fr+s7){1IBBHRb4f}>1v)$CYcdl2BUYnJ;DDZ!~d$A#f>)fJ~J7n)o^L$aVI zh;GL0Rq}^Oft5Ri4feW)bvu50XvqKolRzycn<^TpivCFlRu;|q^R5Pi7R%`k=@dSW zaPkDnqcuWR82|zDfTG42pjFQI7+ER3865Mz0eud0pGmp_N~aS7W;`mgJCActUa5Dw z5DoBbAgd^bDizkRf#-&aOV5}%w4>EBK`$vhtX~tuB?|LJi zOrQLdYSh$;B<@ty26n?h@|3%2BJuPuy!=8d8Zo9{n$>XxsQ zO^1>zveDn%m~CFq@^FtPRtzKEWF+2x<6`j2%xV2^Te8Fwxd~Yg#E8&+NEymx~;?!n&ja<3!3 zM(R1=c_9_96#!)DB*wa~Md5RPb#j_ulT#z2U%0ShR%mjiaUQk6*@4Ne*~O}^<_3z? zh$7cnFw28{ILK^Ja);4W&Gzh{2O9n+F4fVX$3C&M*#@#7ygu(wuZYi+1uWb>=f2SGx z;&ey7=5ZNY=3d-&w7I!kBNA~XPo*c+9Wd0D7Wqb6s1I4s9l@8G0uJ~WceCBa9$Amh zj~_BZ@!+Af0XzqWok8fvy4TppUFS>u0AvOkz=@+*hu59~G)E9VQ+JHYUe7m9+VbS- z!C2hg5Zir3rc@P_WjUuKND@7qIW$XABsoe&Zr?C>2fI#=xS=03&84q?A8!bD9&1!5 zke<%lVMoO`ccn5MrTgaO!^&PtXLJAK6sW8^WL*0k2@2v)mokJ1Fbh6Xh9Wz1o|Z*I z-wXIF)~GrC*R%0LtH=HY!h}=*E~7tQ=Phwh!VZhaKl0|Z%Igx$u(bYF)xm<4_O_Ka z*{_rf_=P~8^u$$_x$~`HP;1>?cb0D z*sGQ$66V&u0Zm8v5*NnGlW9_p@Xb6A*z(NffdLsdM@eUUQe>1Nrcx;a69QoZ8J{XL zWYpwTaBk8NFeG=hOd_)>6o==AhDVVK8g}x882?N(^qoFkG?aP;^`DVS8KurI1uaH8 z+U?snt@${XyB1e`I~U?f%<`-rw8N#%kT|x0=n>1cAt5b4FjjHiYA&H_&#BXlp*)xP zY}Xc1Pjybj7y{IB)U7odqt$1yLr!+GW)`i*G}!Vt4x;*zD%tb-ykz|YsbZYXG+J~l zHok>(*x~`Uw6_}}({==T-f5l@dcW*zBU+Z>@8*O zmhP7OmETl4XiKe^WklRq;l1z1zk_dzuYZW~5smG%V_|Qb=fXeG*s)qn46n?r7&&4f zkhr(a!}y9QEgJ@vQAY!Smrbe!`kQ{IZ0#Og_OA5bbssO9hw8Xz6SK)2nz*U_Rasf_K#TTmUnY}WarieXLEVJlXxoyn7z{#5C>UUQlUV^OB)C3xR zIy%6IpkPt1{giK#iEHt{URPkONDLQtpI_j7e7s9G{0 z=~-1ddmuqge|fD})J3VNZPC0?+j=1EsPALyGyFE^ipVZc-PvZ7ca4Wtyxx`0%bCdX z=88}@kRH&u^2Tn>LrzU50u4Kko56Z?BKz@V!;aB2yEJ)E9eVnJ&@InJX6IV74yUTx zBP2GN={{!HN^|TSn^qtsE@;ly536BiO0jO^0ohI2iJX>fPs2!0!{gdUlDBP5Fy7=B z4r;qLRGgOdfKRE)3#vKQa}wC-d}zsDCCyngu3B5$^PSZxL~rRlcd@&%9Q=Knam;n> z9lZ0h+X46Hoiyis_=w>g^)H<8y>71p)s@aM$E3OsOqFu7W5_eJvSxAj@Y}Cb*G8y{JKNwEu{E1onmXo9+|fI zenb>#1Dyr-&Kj!*ubp5gfw+O>VKbt-jwD0X<;@hCT>Lpj=wibXH!j1ZZX0O|NwM3M z-@-j|2(RrsG|6(C)OH++1V|aGBcN&x++1S6)vcHvb#ATpF1Owtm=#nCwh(|%qZ3Sx zvv4M-O@vIv?4lGC=5Ku2O{;L{u1r#_##GXE9Z4S~DR2bJYBj79HpvBV(5$iPoXBy; z7AO+?VgPN+->rQ=qg`!>5wy3g`SiDjWe|V1H)OcR`3KCh2dB*aWFy@#%`A(^1C1qM zyB%d3*&$EdtK1_?B)wu!h+C$-OYPbpSHN+d8Y3*gr?KV;WYP*2&pNna(;BO>Gg1&f1byc7O`j1gE(h) zvc6Ir=Y%Lfk2Qm`?e6;|-V1pzcHiBd8r4oe_jO?zrB`D3_cHJJPG}5Cs#ZFEOnGKw zpERhwy?^T>B_8yO|Lh%@_+~*dc1Ng*Ft%hAO)&emx-j}dK;{nGo`T$eYZ+8QtAZ_! zJa`*tspfOWX+C9tZH)X;|P~wj8ntm;sFhhLML#A(=OFzairOF;ZjNm1; z2M&t6E9#Z(Hox#J%*lgr_{oa8`np+BuXesXH$`#6&6!9#fHo^3Hl4mS7ouxpoNBCe zN***7?Y>VWg@B9^evm-y*oL0(Y<$4Yg;Jik4d7G9Bqyc{1Fso}+QU;}axV-cGa)=E z9b(>&ci++-Qbw=lSV^s=EBth`j4vt05_?^mmHkbrm5(ZCZC}&a=*&XTHnWlY^qEEW zmfE~nIh$khx!J)n2PU2m*yTkLO`P6rI#qGO?@}dSxRS!JfAvy`Ds4`yX=0~3!iomfw;s3eyg49UF<5F)^ImRU6<&2x%Nn{ z{^Gm2FzumIkQ(s+`qQd%L$TCAGD`OYb(V{tVO!tRi5 z-3`Bzz!~5cwNLiXOe^#e5Zd(WZmoJUtx9wclUY;gnF$%CkgRIwo5B=NFsh%e&fs_M z0he~G=zIusf`%Sd&Xs_ixY!_VoDAXql{M3AZUkK``xta3IPyZ5`M4leT&knJoGHE{ zUHtbl#XoI0oLs*%skD`36(Y%H(RoXVJ$<$>FSC>AThBwW`f*h>OAMFOo%9@Y-2Ma^j#Bjb|yqeOOz(;h6p3yqjJ;RHQwMMx2~6S z1)%9s@gKoUWT}=~D{>~T&vcnHSQ}vY1~yTw`3PXs%G%FxPT_C-P<+1&1>R=b=7liy z*kF}2{OmM38eJD#t}P&9RykL@oAQB!9-Nn2VSxzM5((OXQ0Uxeq_bIudk$J62#{@> ziNvMgTPfITPX{Oknc$tK(`nF(r&oH2h&|;(z^bg7X6U^k&!u-)W@_s4ItbM5uoQvF zR^`ld?YNFPAd@=rzL6+yT?NkRX%O7|7>TRtBH)6~XcUG)kZG8fCFp;7nL7beZ4|_1 z&H^KsO&cYTtIRqmF(Ie<%?$eE2C?KLqKL9M-sZfpLD44TgC^P)Nd?ZUX}#ocv^(V! zO3lZa-;r}lrvxDi#(RZxT}Sk}ZovYFPrh@E%f@XryQmvoL1577+m7~}queScvbylk~*1A$uWrv)P(;aHo@n*NL&)wXc z=;rSFr7kJtYMhF!NvVdrO?J&Ihn&L>NztL!IHPe7B8Hs8G{Ch#a0NVxb-*v=Y;(_H zp}=lA-wc9;>#|7u1^#*8!{*}@SbMUz3}G*y^C|9HL4`<@M6ZsZS544$hT*0hn3Bgj zA&;+c4eH#ZzdBmiKdrH9-yyrY9&i*=YcY{OH`*Tx*Txko088Bg8bO^PkUnd>5%}Dm zpr)X0&q%ku(al`oMC&FJ~&lET_pvZ9Ug_wCvHCh z1sAjxrV_hQi$h%gdjD4{&v0hfOnHS)EM11-9MKs4NAQN-B1uuV(1?Dwe9W$h5gnN2TW}OUo_> zI_!}}^0`QPCY`zNBo@Hre}5U+H_@O0$T-kl>73}+%+5ZBN_ETHb{VQmOa)Cf@1z+M zV?SGi{v_G`{&-+S_RFFxuo0I9 zkq?%{M$YZOiTUfHa;fUxjaEvrutXlch3K! zf2IEgNAuCqE7+y9LR!TQWK1)`YjY)PRc_{f>4gm>Jf0alGsB~u>O8kihOJ^c!|dJ{ z4mCT&7QH<{YyYPZ{<_z`Av}`OGZ5zQ8^X!+OR`HQdP_$7N~&|CGo|UhU_eJCa_uoJ zi_H&jDVdn(U+`u0p0B(7 zEZ7bq1K~CC7knjmeB}mxpRnCVXYd{V%&EZ(|+2tHPRQ}vPQG--tY@zY*M!sOEARotBGL=8wSJyDc)Z;KlbD? znf~}cl@}VP#!8LMaFiK&(VGn*{}0KFeL#2}?jiOC;r~KjwC`J9eDh!Ay)Aq4-k1MH z-g7$hp19?c|6r{);VpW6zfT=7;!OwH+g}2$~6je*>3g)Q=HMM#sOX-YP=}jxnwM?Na@{dd!pAK$rXIL zbH8msQm~V2XdpTvZ|=8C^p=C0WNuJRhg?4pOCtW>1EpHxT zF)#M_CD;>OEyo^!@hEWgAPvYh;_W{nYwq5v+t*2T`wUrgjq3JEb?5#kWcBW;x^Yq4 zp}7Nws$Mj=HzYl;WoZnrqLOYU6TBto`$}*KjFjIS0soQh@^28}+Af_C@E_SO{~7_V z>9Q9BLUVVCo&59e(Rd!_i#?}zyL`Sq@g95RPwnda?d9=}e!LWa)+_$LKWB@*D!$2Y zmp{&X&KL1dd)e!GvL`+nXBB#D&d2u1g?9C``_8juk37$3@~p6{U)pz`jeF$zAf0EQ zP;J>G^_S_?BirrjZ|t|@?`Hx3XMH)zp7RBezn5iC4Dz0{HU4Q|yM-rvWQb$%IiKe^ zc6A}szRJ@}dHnHBG+23PZ5i*%<5wQPJ#t8VV=p()FuS}WI1$71&AaksDNmL?^40jp zzHXj3?DBu?tDfB|$<*N3<)7@cRY&a6C`L4?M)^3>z0WKY1AFAj%jC)D9@%~8Dc&Q` zfJ~l&c6q58=d=xGgUtL`?J?Sv$#PDyJz)S&`0c9FlA*zp389kn3rnhsqBDd0=&}Ei zP5y6stZS2Z>aqWkP5!TYtZS0*(PO`}hxSzu&4O>-9@^I~H~c~m%~B7A&tHwd2cN5l zzF}AYL%nV9JoE)RMn|4dCXe)o$k|(b*(1KGx67Bk?O#b=5G2;@A=d0+-_@v~jlB(b z-rFR3a=X?8qZ1#9j(j*;{Ycd1@&8S~*gMaX-Pqh7`Fw`cSJ>q*3Ff`~5^TF$UxIB@ zeaW!x%g6^|tuF#1XDf}`NPnx8ocLUF0!;U{tH&Tra<=3o?DBE;#PQLQk4LMYjFvBq zPJGrTzhC)#8S$h1$cV=UC;59BS!!25X~e1WFSOk}eGR1y%9RIMv_)`|C(BURuKv;x zSb5s*iQm}O+~hmNo;b`NSz*5>!6a#9dK2jpTh)`))wW1ZNrKtsR~R9d(`HYcVvn2} zt!{{xH%2EmMMvHte(0fEddJ`I;qp)qyL=<>;)mXXthYT8=?kI7Lx{&u_9?Nm)yz(c z!J84mKCBmIF$nMjpIc2YyS!LnlE)wo@i>6CxYZ1_t4l?~y~Xx)kprGfi|yKs*q&vV z-(viK$L`fp4JHBI*%UKhGTLZ=<`6XgTZq|{WCP8~9Ai7txEY@NwZ+s)ZLhgsFClAf z&fKpX_^s&>j3x6gUN--K^jAOmmk&hezjXRI=cWaJo$+YJNvCdZ zS$ylrw%?3SjwzV7ZtKot{~0*^gemVVZK`_w+xUl1P}}Z*)A_UbzxCEzi>xC37d>G; z@r3osC!Z{_mMr1%i4Uv~KCq5G_SkBxx|*ORA6p-PZ2j|}|NN8nr#}((!BN&xM_Kdc z&AZyV`f8F?pJSbKj`h9oeeXBcZ+=74k3Y3O{nX0M%^hit97&cx9c~?dxHWk2;2&8( z`Vm==y3M-nHf!_d&40H3{AY@|`WEY!Tdce9zWWI4h$ATKobOxT|Gss|A&30K`o}*g z@;4K#2@|Y-{rYvcx_77OPk(Fu_P18go;?Ryg9cH>$k(jbUbD_W|NKj=OD>_R!#7wP zHdt3)dF4gcMHf-!k49OeMp=LV``@QpQ>Rk(ZTQ5BS_>C0ywAGtK0x^M*VflxTX)@c z*W=dXj|0jrwN`Ddl}IFxw~jv^kdD}5ZP{Y2TD7XtYHS3w@4suk`>s`7T>PT-;){Uz zj{(+z0oKHc6K}9?xB*ZnTw`5xjkSFF^50v(|2-ggUt_IVV;y?vpZ}Y6Y zJZsaYO{ZC>okkM|y<@%ej`hL|FZ8l{^`a@SootmyO^-fmJ^HBCqeqVitOp(d1^4~h`t`3ZHp*XSU3M9$_rW{maH zOE2}c`t}7Sk8iX#ZnRD~;e;!!E3N=FwE-&-uns(snMnSQKmPcKtcM=5g27;&RaXb9 zwlrJK&DLN3@|O>-4?hHDjX73Mj`g#j{p@Y)?YBYQySH1n-)>b@R79*u1Qfpbvi0)I z*3zX*=UemVgUSIjtQj+`IdkT0v$kymr8oS-`o%A-u3fu6XFc~EsJ-R_>w*icr=EK1 z4eO0JK=JQaSSwao;c&RcYH0!0Yvx*W=UN9JeDE}D+B8t^?QQk$ZN2{b>z7-XUk>W? z+N`!VYuvbTzq5Y#J4kTaudHAF%DVK@OP{r#eHK!@)8Fdf-#YBD!**CZc0iI|Cs`+* zWEB(?JZU}oB&0ccmNjdZ<@fu$S>3upqWeFxKKjV&)2GjM)^*oGs?o1nufA&K=jZ>y z`okX}+2>7GQ;@?vHteAza3{CcN`?WsnjYhwSM@+A8xg_ZiTd=GOMi2^7(x0taa-kvGa`e%rn*_ zk34d=b@thideTAGK?hmieDlp8tv~(|lK)_)HFKuLjC+IC&;aQly_L>ytzNzQ6FNOC z@W8Qjc5C+R+5e=I!wSEiN9VR|+x{M%8kV>$m(Fb6d+)u2>BO+cn9X!v>*9+qzMD=9 zi}XE&&T9Sm$3N~zCxulu_M~%KNW$~!l(5VdSJD}+wQJY@olXer1QycytmmJ9{w_M5 zSSUefvxW^Dwu(*$D?L<9=d!kM-#(E}1xwW}r!!e^z4g|ibRt-*c@v$->e8jl3v?P- z?89<8i}mK4Z=OLXfz@(6bPnsxGtXR4r-0?&uA(zo_uO;O2s#0*cY6<*-x@!D{A8FO z7L2?Evs+nNStr2cu;R-H!raz*=baaXsbR_ae}S2;l9H02!NjoUj0%|7y6UQ{mcq2K z=(ag9tM$bfUvz~@Vbxze1#?>U_4Q$x5|(}LV3^T*@4fe4hY4Zb3&z2G*3W@U^eTRV~#0+$zbIbewfQT_0&`Qz*MkwOFqnGoqqc1N5Vv~_S_*bkM)zE{N%4N z4JCZf&~lSf=G0gle$10>)UU?eG{V4Wu80}Vptbmc;P(|fvz)aJjl0x`qQ6g zfpof1xAQ=@RZ~+_0+Q)UA6*4#VcRIvpg@)tY_+a;yg*d~i5Oq07YEG^_lMzX|=Yten}u*zM+*D>zDlTMfX%`0}-d{&4Uqx;<7%d6=|;< zU~6g54X9J~?z>?(M2a;DF)i)$Ibcb8U5{E5_b)}gOUnHL@=2TChx(Ehs6+foI(9>S z$%?4P+_2C#4?tFN=?_r@;+pNKEphMPFgMhSm2_`m>p{eSe1*D~l)8&h5iimvr=aF#HT@Q~C~3MJb3|6y zZJ2G6iX%|>>U|}MU2*%jsB1~b$*4t1t8tha>Qz5M-Nv@IVov)Dcwj?{!rAHq{f+; zrRvqE)BU8iZbi(iS1v&8N!q-Hx|Ozl6*Z+^`BT(~tR4q(Co3`5T-rK@+LrciqB~2g^+cUX+Z}@1lNED2=9{$K z`IynNPP=2?$?E$(=ApD^E@rc&&5fvgS$Dky$~@csWTQeFX=J`vs_xC67eW0xfpRH?XVg(A}NoSeqLHEj98bo`yytBtdipp z_p&bjh`5us@?!={8^3^<(&%D3>R(zTi8_-tdopIctj`}{CQ3W`FfU|nUMBsoKh&(O z)(~c|tmQQf4`h{p&2U0e^=ZsKjVeAx{Asjt4r)VI-dxnRti>6aOR~DJky(nB-iY}q ztL|5bQ%Tp)P+QV6=V7+VT3&|vFKuulYCuvmj+rQ{!Gl_s)%qdkf~5G-3_GOdhG8B{ z`~M7cLsr`&h65TkJ;889Qut=nmaN4csA*X-t1$Cqtv-htpwYs+3F zF01!t%w&y9reY4uO6`rACoB63)UUMM&rx5pS}(^8mKFR9%pMC8FTos_b{melDr@5@ z%mIzQeuEhyZEj=E$$FZI`5^1%FPJ;BLJmgVNGp7aSt@JyS%y!tBG)n8k`^0^*`!g$ zD-3I-RZqoC(CBLd!zx)><(Mzh;`cB-k~Z6k*(2-X8_aT94Hq-~kri<-!w8L1c42;M z6m}8jt*qO}7#_%)EyY}y6;;77QPx5i)Vi$A?_my0>wkecqEY5im`$=47h(o#bax5n zzO-%)=9xy5KVtZ)(cfzfGh}`C!(5kjG=yQKMt!3&<25R1!CaBGGn?V7Mva3QK5Fz4 z!JN}5^B;)=mEn}EwZj-zN*h0nIV@}YAk1lv z0taB;Xw=kKqij@E0cu*-eLLoYMlBbhj%8H_F~>Cu%)|WBXrv7@Qr7X`QQsORz0Gh~ zqwo(Hu4;7lYs^#&)x8mOL!+x^)VoFlTQS3B<*vu9)9CLe%odFXo?$pEE8u;Gi58-{ zjNzk3<0Hq8W`m&oTkc?2j(kAe|4mdon{iaj3`U4`qeAXTUlRFnN$jS%{kLy_ckV|^ zv?Imb$aDLbk>|bI>%%&0K1(|VEbRnY+6mcYORoU^dNWRkg6h)IbFAnk!RUyx=-5fI zKQ<6_eqDmvLUTWr4?T{9>@O=JEb-Af-m8T z-q;ORbfhoJ!dGgk#lM2Z7XOQ63z?lTPruFDQ)+jOyJ}@;`(Mbccd3fl4Z4gxKUS?O z3LmzL2 z7Y`@8#7h14hVT+#<^9o#6s0@jCwg0lgn~-lHi$-<`RG(j*_R?b;?tM|BRcdbEU;Lf zS-eZ_^~to-yNOmRUb}tFs$L1L%qMk;HX85?g_(VT z-wER`qy;c#1{W-3rpu*NwJ_Bj(H3f6-&2(I&yx~L96EVEu$lZ&C05&$Q_TWce3T*P z*_U2(<60))`qPZ~wo)aETUVhHzn zj}MIj+Hp{Syt@SJF1->riMT6>n?l^wPK1d#x_EFpv9-j`BKDTV;pzP%_WdDq^Lu0H zr&MO&5qf~1g;&m+ekr`?z4nS=3BSIRPq^$xesgQD3|>vwA49hv2lA!>>Qux)E#S_g z{5<-#t|urI%TSN}tqmmoc;as%-E{I*l5Z0Eu81u4kVQwjOG!HYnFFXeVR;-NYT(gM zgqOyb20UxR>Z$|c%W}z_=XoQ%lr@+5QaM}ode)G$IQ*i=i7(3zw^DO3-Ws6PfM*xg z6o$W|(t+{i+AWjsaY#X?c&qaIJiDlQK=>=q8}a4Y6j~di)Bp|0^Q-~9B2#UtTWx`< zmP~HFxu)KMnR?wi^F6!5U%7SVrRvI6UEUB??aWlVfqk`WK&D=|&H}XyJQk}ymo|Gfj}q1P z?BV`-r?c&mWDh{Xu41Dukh}{d?;?_aUFN?vK@17Rb-2Qv&PlLYC0$Cc*5Y^6<-(HT z!IBxFlF`K_HxIO@1ngl!dwR&OEVgG2ga>rq(FcVzgRX6d`E!?xP3OkNq;p%uqLe#^ za>tci?JXJZE18j7GCHs1=6rjK*B<7xr{~(0dG@S)$|?|-h}x7jfU-(~c0ABd0otjQ zQcEeflw4g}R*RE~$p4gl>Aa;YNcy-f|aB_IvXLFyIATnCa$TNv6pBC-kM`(dHcXKL6 z0$2>v)k5|^=YEn)9Q#!5$3hZqv4%u9%lg7U?Xb!IX=Onk4&ZY^fVW~kv()i;sP~5W z;>Q1R17GMwV>Hzo17O1_kEnn^g#B;1uw=;lder}o2f4{v<3fAbrY{R6Fc zcv;5_x8F|N#BIE5^7#5Pmuqle>YVJ|J(C@xWZ7=A>1(+^clydfe7$w|{Lb0_e=PlO zl|JY^|Ge*`k*GtB-DMiPE7RD>jFLky!D|+;-FQ8K*Pap)>b~l{>bfwRg@q@cv9Kd8^x!I&jQ%dI?Q&Y|IhAYd-+i$7^7fhE z#pTO)PCIPw4zkr|2`yS&&3%%x}Rdd@E6MHPwzz<1JTfSrZGK;Sl$MUuAQNG?v zF5j`MteB^d6tS6zon>V_ZC7lP*!pvLtshaz*VsvXT{4}LE(-8;C0})u_?kU^`G#GS2&*4WlKP8DQh&K#uO>(QE;djA{^N>t!QYYwfBN3wKad80 z((d3J2n^^O4FoBu8x-zBz1l#%7r>8alE+=FzLnhp<`z?%@U%OEH>M#h+Z)0Rf~W5e zA`NlMY1N%TQT;=k|q`kqdO@H-&i zlED~kkw$QeBg)bYl{DPoA{W-4Bw$s zv0e0rt-I)yZM*1{n|7&FUbc04+ht!b-%%4^-d3}2`O2xUEMIxe_T@XK?p(g(nm3nk z-8{L0mR-99XilN#Ib{r>DDG@3oHl&5O5do`w=CaTe^mot)0XgcDxdnYSUo9sowG!B zu2!8JRp*xfb)8*Qr7BmypGLp`&MGZc3AuJ5M5wa(e_iF-Wva7Mbxu;92;1*!W|``Q z(z_7L)H(fsQ|E%!2-SU6@th)D{o#*1#8IKSaie7#|AZ>Rq?US#-Ovzq^-Zk4Vfl`0 z$CgPQ0Z=6Xy)|z7@=b|1X+v3%-~;$vAXI{ylnDmQctd<)Z19b-!FSrSN|Z1LCgr$F zzLZM#7vD;?DPw=R88Y@4w2#9vZx~(`G1kFNFX(M0vaeH|Z?`z)8hp85Kx@;#r)ha<0aR?ZtHuj7F9X7{+G+@InJ>BmdA7C44k+Xd8g zobbnS=;!-#HBby}_y;h4vE{n}hZocpiww5EN^*q0TY>SqLUHGq;6LACf;S(Q4xVCy zAKPMr-*AIXt2k*n%tcd8H~Av?)w-R@#ChhlWWf2&-wg36R)^`iP;#s#dN0~P|%!}8XZmo=z#J70>+^to^Ka%Elx|{wIb(e0fimG-&YJ-4p*%K(h8V0&IU`75wIsn~OdMdFn*qXj%U5cjJ{6rrtq5oMEVj z!w6ArdeEiXNn2;-ar;Xl2b0QitkI&`uL{b_AfuV z)>KqGYG^p=Up!Ra0%(;l$>banc3fM0>-(=Tj)ie6?0OK+@+=+ndi`-R?{l%z!FX@& z$dpf}p`h|flrml_^X!3eTIx<3L$Fc<*Nr$@>FHdyCPT2jF6YU(Kk9Q4B*RHsbjzjm zo0WAvoNp_;;V|5eD1apz-P*^!GxkhhG+U3Ay9wmZqT``xGRPJd`F!;aDflgu5plnn{`$ z?O?>pwsXO3jr%^-%;w8aeXZRV%%!tlfhf*Tu@>3b0#%i*2FGZ z{atrU{+R+Ap7|1#vWz2|4R_nqGdd6f2Y30R(|rm5;*&|B6%~HCm%|x6xtrz8-_pf$ zJ`*ur-)8}Ca&f%@wM0}ReLq8AAaR$Fx|UL7OM{93E}#xIK(z}f|GXnSmemr`izgO& zkPZl*oj>M(YJ92Mt~Px2WUp_)HSe6dO2hk+JEjvvrbn*ZC2zYv zJkp0(G3V+s>CqMN+{a(KR>=rJZJUN!hG((x<_WHKlD7fLw)9Mfg z=>n@$afvKDUfx`uY+O=XT6$XDm+F+w+1xlwRcW{;Df=xU-<-PRRR0Qld+Z67({Cu} z`Ho_dY*zwDX$omAbFsWO(IXZ$RSotr-_Omd=A|-s?n+H9re0YW@OHxU=sn$tt*U~+ zgNo};^e-Ol(PaKAXFSe!V&{9f!63Xg(mu<7&r<(6TkWke?`x_UoaGwdzPXyehUNi& z^lNc!r*+gOR?yeqoZ_eSAZRB~ce|(v&v5?BC z8wZ`+=yb+>Vt}x3A+u?W^1>;v8FlsWt$4^k5D)pE-)g)zepj|f$>x03u>D_*k!~l+ z?k&E3U`LB((l|%))zRXgpZ+geoYv3kjYceBrXEcVIQGO67;dkEl1^FIZ{e#sXP7%H zjkn~XgupoNO`>$@$G~b>*QM0yvQO?NhQSUX&7js>UP`&$@9^5Rmm(h5^)I9Qh~07b z8H&sdN?n7LIYqUQw74dYl%bRfDSi$(AXULAEUC^k1N6UECP zl02F#H!EKDgEVz-y4qvEfVYgM(ODE7Z^M^cu<1NZcW={WU1iG$n$GJMck-Lg$~HAL zdy5%~oa{XfTfWJAT9Y@dR<%Sv%=WYn`r1EFPEp&m{wV0~;TNB!|3m0LJ$yIlfa8Fs z8W%c&Iy&p$K<8`ra$RH4exW%xTpVxmo{Wv#lq)5lhHrMjZ|+9|mv(XI&YGh2Btz#3 zb6d{1K;1PEX)p8NwYDqrCQg>vh1u~$7ej=xc?<%z{44D*QZtD6LZu+<;{%`$y=%}q z|Lynj3;Pu7lG&y4_9NoX;hxnXbw`(2MXr`B2SzrwhgbGrii^F4l507-LbQ@BW&P!c zq#|~3s5WmfX}E>`{a5GcYuG-A~j@(eUg+6Q2w zjnO;A5xC&zLe-V%^+Kp;B{!yc4JI|r8pv6idh(^7a+cb!cO*)2@(cEkj%08KR~e9< zr0P=C3!Mv1Z`anKVzIBkQ9CJMAK)|o68w#tCLnQT6BC1CE^!YOS5}02tI_=C z5qD5Ju8$jcFmXQO@`*bn9e1c6#At`XP6e>o;Tpggb^)$Jm(9d7Fw1x`jmt3Oy6w&| zW6})6kw^c6oz!F)W(*9o4u(nOeBCtOWf<6;*gV>=EjvYOD(|N83ElD$Gz@QAiyIt~ zuZ7S7{aZalbTI_-qgf~bAtew^eK>kY^f8fX1F1vl&O1Cg-0dqoG|k{MngH}jev@L1 zLQ%}+ynNntc5=AtFl^i6kpm{(!d*P5mC#%)+Sdh#Kk@`joH!UZkc_lo;qzf(bMbOaN@dZ|AAeESp_5++l$#g-k%2t1IwQs&?Z+;0j$mR-?`+ z8aaz5dAahU8Pz!g13GKrY=@Q>NiK-R)YJN$f=5jByQTv3B248J82wTXN*t)=HR?xRr6d^vhq?mpFx8Qc zD?rK}PF&x#fYVh5rI^f9;E@Wtx7TPmbMFBD9L8s7Bd6Z?FBp?8VH`xqy_wQ+&4}7& zL~Zl<(1Fd;$cPGl^O~;+9n?Gqu%JD^2lMMgWKlALq#|(&4ILJ(@S-2RdE}AEll}Fv zw)N)PFXD(!Z~1OEy=(t8PSG%BUiL3o8{g#1*${uv5R>ru`}ra!=Fsy1i50RDi%8Mj z;O$?4WRGvk&sif%iqxLFs=Lb7+e)?IQ?>@T^|BCbJ4LQ;w15;{Mwko7a-3r`ZCPMfdXSlo=aALs)3x@Rd**n%bIqcOd$UnR8{br1^=3C&$A)y1IT5gIbE8)|;X4F3Ky3NVQ z@4@_rgw{m4p_kOznzmbAIt+`BhdC=?PU&L`HNYyTu^3gfLh@CHLiAASUx4+EZG)PT zvAs0@en4zV3`Tp-8_MKg5H}o5cMuQ9Q#{N~Or2R&qElPdi~Dc!=&r2+kzLv3E}D4> zI$e}0H0nPnK^1NMYmxY5H4Iyr+-QI?0?1gl2%x5VJ`<5hMnXs;8QGzjwBfGW#0k(p z-9d!*L8}o>>W{DcBPU3|cV{F*c-u-|q@LE3-8=Vg|()_Cp%U6WTy%V->X96RUuKS3ZHZ_~Z;-dZ6!c;%me=ST&g8kRRl&sr-Elf%C{nx^jzS@5+94JXpx*tVP zu__#}-$YMzaG@$J+K(*^s>0BIY+=4CEZC1N45-4q{n$dED#W+&{u)lDhHv|;8}6we z%{^ai%^W?JgT$=)MCW+pOT2bVxcz8cD{Kk3gj?gSd3Jkv``nNG)|Moc*cD&W({2rK zIT{};*9;PM$xSLVRN>_4McrrqDUj>*X*n$TAS@6pVSm zxIP2p=keB_!1(&yk4!6eg?Gl6_OV|Ne?Ip;)6Un!>*K9CZW#sozPhy>c^(+~XSTob8_F>~;-Xk{5Z;Lv{oeDM7TS~l zY`&ozlXuNGbZxHkMtdf@H(!ezXkYWSp5~sr)$`!jd(_kRy9{tz^3AV3+xRZX0Cruc z474i`k&qvbhu?Hl`R!^gQ)#X-zXRgGry#C9fA_ME{#RwiUkEf+chlOz%&tw8>QD5H zuVgKrb_ANP^)&TNq^6z=*ztWKJj`y_M4#Q~-O_I~$vU1-A)h1p=nl%m_~_Qw1No%W zeb;X%`WEe*zGV<=U}eYGo`ep7%e>tQEf)uQ&ZRC6O#D6wUAh;cbqCS^5ux3Bc5u=N z@H*=0L}=p(ri0LKhW1W?Nz_8HzN~k=1Oc@>RF|aBvFqpDT8d8xj zpqY3ag~?eM`))m!mwyuSs|OFyCO~0c;*^G8rPZ@MwzpcI*f zMjz<)8B+0VP|G{W)w9WCNNLg-vIzNx( z6Bp!(58*s3&ZJQseo}b-HD`al6$=otb*w`dqjK zi^_N5(X;-D%fLpN{Lu!%oN1Htm~@IGt>r7TtcEfZs)(TbOhj4GYEWu^`2-t?v-smz z=}lY%;RKm9%Gbb)Uad0oYsylZ1_JqzFPMo_nM!NI6z4uG%;Y18KjQgT9A&Bu>e5GL z2K7vM>eJ%JVLGtk1pfG+_ zioO+gYfx`|cvikNoXTUuh*KT|3(u-YaJX>qwOg8fOOa#Pw=^Q3<2`Isj-DL7Nj~zt zI&8@PM2@y{D90O_U0~IAXWxCbbE8JlIp*<~?v1V(RT?V#ntEc+x?7{GwDY*>{C(~y zORqTZ3zqFi14|uuBeO?X_1b=&O=F{QxmTxKKjAcIweu7%`q-$!`Jisma<4sfUk4@F zl^J4Rc66YBL6(2P^&bC%^Rl$5#lPU9El&byW^jQuitSwB9+cG?rSLXJgGK|elkFmz+MV~Khbo<~ zQ*D-ljQSX)ha&*(b;@g9&VP5AAb% z92J<8m1;1XzIw7v24YlYv1&r{UZ$-bUvR6(hxs}0kfe|#2Wm(58oQlBdTYPO3Y)FWh5#4N zjo){jQ5 zPhC!An-8^yC`}ij1t`(}+QT^)mDW6@G}r9^=O`@O7f(*_DcowmQTG6d=DgqlG6%&s z>`L4>!uPQ;6TBwCdV%WL9rHTUnc}qH9@)oQWOnO}_4yan9^h-fzqo?!DNW-K@C~l} zw9^SV?dSi7%Usp0u8sN37hW~@L%ix*;jIug z++wd-?7l%NCt!f}uuU^qxf();G!S_x!9P`E}BMT^p`?JT2Fn{nn_6o=+F+ zd0oznq|R;FdKmRdDg@TOXLd;k?9bWb)P3E@ieC32a)3g+Kl`%^&o`Vqi?`*m2esdZ zxN}fsV>fpG!!+@>K9NlWksoyW?i@GBA|ZR%v^yx-wHE@b2K;!|LY@yzOi% zuJ8iu9g&JIWFkY4qcx+_{f;gbT?yD8|M;MV2K1%z&-yGhfVbqV?|#P<72Sx2dfFGC z>wjuX&ieSOzH%xs9-bQTCIpzfiB055Hb$*H)UJ5byU1Yp6;9`PUbHtvzQ%>7f8Jas z_&N*q&WALQ3A#s@o=9+XspflCHD%6AAEb}zpTM@>R#|);j?>Ix(wwp4jC)I2p~oJa z7g-Xt2M2AI95}()hw09mQ>tnP*UYZz>U{N+%wf~aAd;0e`Qdf#&kUrlEx-PtGiI>ZX{pRrb&#a-110 zFXq~egdT0YPoIxt#ZY7Z?1RUDpOY47F@ zU{6RbK}yG)p2u-PBpO6M^q%0Z9rW>0u{MA6n1 zB#zRh+{wgo&N<(2PbPAmXZ6$7DLIofV5FGxQ@Rlc>zpHRHWcM-R>!%l$Q&$&pfmN6 z?VR@VH~!d^>Z_94t8}(Bn+)bWBGhLds9dLQCr8?|{C8bUQgpkt?9AL~x%Q*xJDVzT zJwjfUb(#{;t>*4X0`@|S*QXz#5dX;4kzE|5UJp0tlW<-Gfw(@S24q0smaCjqlW`Yu zrQ_vPp9@>JDR=}akcPms47w($VI@RF=OgcftAAW*~cuw1A3Cewg6 zajh5zC$3KDwDx4%qZH|csYbFuKyoCY+()}O2;c5OR_E1SANj-=UZS$_qFh;7bpa+# z84XErUfF9RatW?UnkaIVRXacB8r;b9#T=Xao?Ba(gC zGVg#KqP*(1DowwC!rAz~ZbZ6(V@v^oaI&qO6#Fv9Y6@KL8JZWF&siV^3`YHE7(8`*tIV#=N>2Y_apJxso?{ye9ei(q_-D0q6s$e}0e+B2@6(u?> zKYA8U9mGPp^zQJs(k!G~?FFTtx*_w{x=x!T^#RM@_%(C`@KInb?*iv3fNI-jg78*g zfO^aTHIXE&o6b$SQ{JQrLK(-hUfAgNh_>%wro#^vjdH_l&x*}W%7|_E z&pe4+=H=wWxUfMojZaA?_wKQs>e&7}!a~!*ZO8Hx*^y!O zyHZtqU2lfxCEb`ES^nEU7ZvLZNFudhSLe6AZ9;rj?YX#LZhM6{H}y_ZKX20b+9b#$ zJJD_T^59=wUT8YDJ+rv&R|KF9ICHXg4p+F9wh0I2Ll z^{;+nBpu8rB+y-Bkv?uzbw|{ibW}e#sH>zJp)IZWuWo}frj;PnuQ5U*V ziFFw;lIf@#H)^#Tg%b;DB~12tubC8xwz}7q%g3?mDO@aJO|iU)QyC1^&P5$j9-?Zp zB*1;n3%2MHZ2M8Vh?7k^xyVrIksV!T-Xx8T>=>4xIK)-XrogwVjJ~J0pK1>+kYzH; zgl}D+fgy{E5FSqPP*?leNhRG%iFDdMLcMRZjW za=tEcz5Ds{zjIRyPI6X}W)}P%zCui3X@6~l(hShI3=36C=EUZ$_NtG(;5tE_u zSB9*DXbH^VrX*EkXo=#Lu*oF6xFg}cB%GI=b6|K$^BvyDh%K)0R+J5Dt=rO25vpit zs3;xo0bEmGHT8|FbbfhH289=rn>KUcv{>X2GOJPsK|xJfrSsN>!ch>2?mW^!=zQyev!t0@B2N=S46?3O63)({_s z8T@~45kS?|PS3w(a52KoTup*9&h@|N%`~xu7%rz6f*WxR>Qeu$lZ+Vl0Zl209a80t z{b{C{Zl)Mt6%hmJKR?Pudl}rWPP8sPa{#6qpFYpHW`Oc2NW-^JBpbVMvl#x#v z>Bd#nSk9+(WtTRMQbW!&caV!#iGcae)!kCy*UoY)4G^qzzXes!$V}XL&`Nl)%6b3C zsXAeSS$)-4In_z(8jv3Tq<$o4^z$bH(p{wMGrFo`~Qf0|L{7i z>&{olKG?_jz&U~gIR+&hCnt#nHm)W~tP9bf;JUDIU5P*A z*UUq71H0}(stf-iwuhcihwq65N9Y0#f7iT7>dfGCXl}K)z(r-qcIwuKyKtVZ1{?nB z=zWmVj;Lk+%!aD4X-$dAzqgb$k&2nGrozvRsD3Q=(_wx5GaG&+`bm3+OBhcz!mmvTO}ihwlFMh-jh^B5 z%{9C`*idX^+^ywmw9lqL{@LtT->qr)8?4th{3g!uCytP*r{NP@d2DD1PpoBPT}fR= z1~hGUeuf^|%*yMV%$(;3ZLo;L1uD2~CJ z?LQrexS>F*q8LHv?0AY4+5V_9*YD}BEA zBcJy-F0zARRySq(xH3(IS8h=_1x;o%gVoN*r};mj9#H4EGi>Kd=%dfcbXU{3PrJyLuq^j9bS zNw>Z4h^j{wt&@lMKjM|#`yH%Q(E_?V<8tM?@T&=vh6(4_R5}T@>ufk^3Li4T84h|r zW^c*U@Z@RB3~i^Sh_Y!Zee}Qao3a_!?CG~-P8`d|IQpeluN<8u#OAGu&8)j6e22H> z$2Syvt|GCsU1&Z*>}X^mCj)PDtmfNOrf;=cSob~evOUGl@IU;q%u}o5(p>?j#=9+} z+_Hkf{SHfSoeVzGS@^>{PtRz-ZH<&db((H5&4f4pjdfArE=sK#X-W3cG@Z-#io-J9j?=+*MPKH#`Z`Vb_$%|Up7xRCkE9|pwU8;N`yG0? z_GW`FMZs>8zzybOZTnQzAb2!3T;vscOKy;dMdd4Q39tPR=M)yu{enpN-9J+_NC7U% z-YnP0omxhvTfz>H+NvgB(MZIN1AL39=9^J)t<##iCwzMMaiz6Mkxj+!{zZ5}iJ8a? zs#;4o*`guY9C}jvCdC#17`y zy#Q%CrQ)YDe@k0a8Tm}l{#8kP$C&29%4g!EZsFgYv-pFu9UujtsaZY~EuPsl>odvu zW%^#~(~gMseHmnpe5RiamG}=ke`M3tdGjp$uXqj;s(rHj(O;G_t+h0b6%`r+>W8%wP`#Ds@v0D&>29>_3z=^xGtj z4BW^19>c1_?f-0nI<_*+4DE&kE2Tbo*=F$G=RuoR-bO*uV!ud`?D_Lhm9W-)D^K65`O+{ z;f_ade|PwmjcydEKy&^x(-&q)ipGmGXKcL4b9t1sJTyu3ZDbFX&wZ9&QqmS}KnlQ($I{bGHfIjm4Eh!#$CfHy2=a-&pi{)=}oqH}#R-Wr!Z zuCQYRbLc)V;}zYiIdta3eK{Mh^u)E{vN?&_f!pQIeT0(LN*|PLx67A%kI7QWogoXT zR$Y)_QAjL*CtdTR!}aN%Nr? zKj&@-CXZlR%byIIQ~ElVwgR~ayRc_PQ5}T3T^#n&j^mu0-+wTlkk5uxz`cRD)7Y>s zYRj)aH@qe{oDIr{o09=IDZ`r!wu$hqP}smZmNpYF=JbWj##hFK@KOjs*n1Y4smrMf)@bmD@N9@+k&yccwW-Xrw zU8nC|R?d8x%kq;m%i&Pd9A0I|4vJcgx7)%XOHi4OOLf-tZ9Uop_@mFeXL|bB4I0qG zTBln+b1VZ4T`s(mrjun($I-@;CqJhGx6U(FY8BD*@$lccbT`|5?!*In)`jo0g0ys5 z7vA^lrKVIN?C$iv({|HLh>-zluJeD;fZE-;9Yg!j?Ph3-;JsycrxdULNkSrUK1qJ3 z8u4~*>7YQSa;EUV{iN5F?+1MJ#D))`IHCr`4$#6{j%qMxoFV#YbH+D0SR{`k72uz| zZH)X&|5BN_3Y7VAFY}{Q8(1Kv*7^OSQE6wrG&iTW)T$7#kFHP&T#ATY+V%%KEWRB7 zqf;oT(E^oP_Y7|u*sd_{Gr<)1h2@IjeJiOiw=52hLB}d8;Ks}?hU>`;Dt;8rw|93qkqi9O-kdn9Q;2A!!z~o{h935Gg-WxNBEt{h zl-+#qyzE9nBhChVm?ID2fAz{T^bo22T@r-6+>s*VtV?tFAD#EHUx_4@VK(3PNvitZ z@JoMS)j0P4DD6L5TBoJ`YfH=1L@<5#y{6VTUy=OgW}QA~BHqCllm7%(+L!rxX7Db4 zM#9aHnZ~9(VSQYU6d`&mBVi+d-^t4qq`Fm4AB2fb)vv-D&dPc3TH^ z`SY)Mqy0w_&ovsH}_p$h7Qm=&plTfgyIh^@BV@?fOC9Vy#lx^Qu>AXU@`3}O@ zQB&WSy~%5$f{)i*!S~D~u(x5c8T2osGJQY>+g{DjTj+K*(Rjn1`)`>NOB4OsGd{3! z7Gwuri*lMbpJ;`wBZ|K=Y2w(m_%%T_I^KiMO}RRAAvd#D(&d2{0EBK{T%1=PT{B0{bzs*nD=E#?o&e17AeW$;!z zZ09Ss)c9Pmvv`=PbZwYkt>GZOqd;le?_3);eoC0s$e>d+ho3c)?8v6#ezNp0oxW?u z4aJ+%^+PM%p?!3fjVNSL`UB#Wm_)_0wsVcfK61;#;|7X%9x>KxDgCUZ2AJnE_b=e`%Y@xQ#|deUtgoH#XUq5OxPhuI-Sa~|#($b!^aML{Ty3{1 zsYB=c$+du7Iz7GU!1#~zcKDQQ?N+6@bP?>rMf>eeJM59`8rLk+p=hqWTeaAeFIRGY z(O#09NKVJeS9!#(r^{9`TeC(Ae^)H}4Sv|0PmE)CvJJ8% zEX$Qv>U?K9Z*Hkw(3n0|jkoGkcR0RPpS(-(cKR%m{5JaJ(EBCySw%^2qt9xROZwzA z{r_5@l@Ps+KI=(-t3G*Y;w}0dEcRo7BRh*(>^F1&YFBASDqSa2&D?+UyhVFC((DGd zIyO(B;F34$$s@LFV+K(brt*DhCbe$mt9({4Q! zT;^!ESg&>?{n{0?6q8Po^&&GWGHXR@4Fpe9Eq!L))lPBMtWevW!nC_T7%Xme*bR2w zHR@^W@}BD*i%u?mA?7^hbf#m`T<bSsaIObJgeax{Q zpf=`MJI*(T(bYn}2YEM7C-UFW^~H33q^qI5aQ_WTE$brqZ%}Ge6U2XlQ5(8A(eHb$ z8Rw55yKL#heDGM&)$!NnEtL`8C)(E+G9@LM`Z)036&xNW+{frceJA?BkGw)rrMnRue`kmmb_BdQ2MCpni^9wwlvFO-x=5 zcTn@42uNAxHx&EGrn5~hfUT38c)MiM*jBm#1s=$o4W>?aaLRbJm~(ueMBtsH;II|h zD>(;?-7Z)c0ylw2-yl^Q(pJEr83rckph-kg&UA|;=5&meQbWG>V8S@_5(K=uf@ugl z5{Jw8CZ?_?72$iShq6&CRSrmufz*U5wN$Z95{frztTahb;Z^7tp4e}xY6^sta|#B? zTcpSus5>32ZB^5G2UjJJ7TXyl1UQ6qdL-r~~y&0uR#B*{7qJTw=QX zS(KtgR3uU$Wk-!IsIir256^aW*oQz-|YA%$5)t{H9GEj*hIDLF#KWX+u*cWs?r9BdZ&KMsWp`3PX8Eu zo#WFoR&7vn_{Q`e$*{wZD&f2ub@zsvk%^G#qB2|vBbbJAO=`?#O zI{t{`)v68Fs!?s#kSMg4QuSdL>o>rvvl=z-IjXIO6!jbF6%tidm6Eo>O7~z@RaHtY z0`^|Vs;a8gJ&rB7Fm44EE@0kqMXOBCaaqS@smP@)pmB}`h?G`VM%rA=fW#U|#Q~{s zAc+Jd0f8hokSYPBs$m$H>eKg;M1@4?)?sRJPm9{gKvWJSDm7B63`DYkm1L1(WgwCl z?DLM*i3*MNqs7CHf6DRFv9!70v5z~pnnrIkJxx0P5ywl*IjF}RJLx7VgQ^4jh@0e? zW7XR_!R~bI4#%puHGtjj*!vtSV`?;Gy4UgdIKB&`?6%>wi{9QmTvCQCCr$07vq%#% zo>}A4tTxxQIwI4Gj3{rFyV!(eSgKrPLOW-xtjg{1DsOkJs;tW0=h%B4t17E<_Xw-; zM0VxlNkN{3MiZF{$ubijKw<$T#xfI!RJbUqo+x<$%{8dEH6amVWU>vbZ%J*^Q4N|b zL^@ONQc-A91# z$_6ARKw|u+c71D0HZgn1xFrnDn58rmvs6(Tv#QoXks4Rqpb%&Bs2s3r#+)^y$_FoT z!B^7J>P&rouGU^xtBzoL)ATsL+wmF*8mzB$Ilj~J(t;YN!?Ep-l`6WC%_r)TxNV^H zZnd3*LMRp!K>7|tJ)*E;0h04nX+2%7GV0Q*mmV-B%b;QWLk{XX)5=d#f;>gkfuFdSdeu>< z+?;w!yA|N{fsX9(CaCB5sjAjRP=F2iA1G%~eHd@7olhN!muBqR;6c?n45^~`x$ z_BL&ul^Ca?25HlQr^|R*`SojpQ<-g#EvB27fuy~=WE{T8qAL}VRmMQV-D+JY^9l5E z5WHf}%gz*VWM=93GB09@7XXvH;l&;lS0O!1sp+WH?Y^$#jrMCY+n!#`SCpc~*r+d^ zI8Sr+red$e87=nl0Lmc;P=N>m-Nou~u{s@^^0Xd@`aP|}h1^V9ETs4& zq_dutQ)yz3fov&~b;R9D2i{X@|}`ROT&^4!wx;~P}ZTGLwScP94a`JtC zj?B<&dZ3`b@^VO_@9tKwDOI|Q*AX9P+U7Q(0uI((Ba~Ax^P_%bvxAKP_ILM4sCYfwz#NU9opuib|7k#iP~doZ(sT% z%GMCZ;N9Y*q=I6tF5KM`?)3N!gVV%fmiSeOR!=F2R*h&4USOja-{erULoE)qI@IRS zsDx=MwwVM~>EH!#iV4^jgZ%^h3DS)py(ZX`*>-yI{66MTW=r@q zAYj8o94PzN(rIV2Z`mpC?@2FFz*fuYd~m{9jr-7!zr$PkhsuJpT){zq)_513&1~Dd z7~n9#gU0O;SN||s9ay%Hp*6omQ>MXE71_$o~iwv2uKh@Zl(rW;q9Q zR+Y-~JG1S?Vn(SnKO@Z`Ob%#xr-iH%dtjyk+AXO~H9P6q8~B~sc409Y>iN0!2~4n+ zALP{VXF118IbY^iaLUDRna$Z8=R86>&P_AfdWv0MT04nxX-N~-N-N{1m8NNwJiS(w zx~pgFoRh6)wy5g3s1AORt;dRL_dMNm@@V3VDpnWgnNm?4My6SH(Mxr3Sk|^%n!wtg zkhN7%|2LpF=Wf)Z({s(EYKgx2sB`+c;7nv}aI6eY$^$wm&Fs%?n_Mhk5j&_9Coc1) zwX66^2J?!viI`jRH0D-`(KiPBX*Gsb1v?vp#|93T1uu-hc1`eNX4@Xgl)t(MOWt0r zg~cv2*;BiW)6_DVe&dp7)HNQwy6SR`xH4><#~)LC6B%fE+5P$nCG#=gK|W=R<>x=R z(5YCQuAdM@8jkLRzjtm?oKRdpA;=PHANy19nT<@>m;!&!lkfN0#MeRqmT7u~ZBssq8 zpheKAq4cnR-0HKN9`Ld{Z`@=P()BxSzlU`7Kho4Afr>oJUrfl$PTRNTYZy0V^rgyM<4G$ZF-7%) z$P^{ZQ${-5bPbUynpq>HHJvOuYxzn|_q^vTHJ!wvDsGcvEHTMn(!rSEgOOQY)P9=% zmDRMMta1+M(m586vbj7tQAp+bJtc$7iP=;vwZEIUeotg`z8yw#Np>k|{hpHS1ftQ_J|Ad*{UIci=*_UKDo$V>LpQ(2$GC*Z4wO@f2+3wQUUF{wk?I)k-`t7!g zBmD@>Nt5jZ$##HbF+fsM`3s5h@}~hbKGUoPk~L~GR@KqAZ$MINTNa&3;PsE0W)vFG z48$5ya}v-SlngY@PFC+w1CJZGo5#)oDi#bj{UDhxH@gH;Ll6$(v#=M| zKWy#5hrlD_S^u1A{#h!!RjjwfqmcYD%6l1RAZ4IHGE5+~DUez+@i5YDvBd(Ioz9}! z(_47lxW)WyW(cuIx;~IdC-$g8jcfYJVWhrWYVCa%70Lz2o0Xb(M1J`e)2n8XExtkX zqB)EQ7t_5vX;ri4hGO^CgC1DNGbcBYyaSA-mBOzd#3@8@%_^Pca)-KM&%|Y;2Pq7} z(xjI;j$))qFH`jkyiD994Jr+kI;BhvcyWWpR_ zx7g4MH0@9g51?v?)a`)O-R8FybNrOP`PqCmTdy>m92W-0b_f!3L@UZQuh+W=rZYV` zs$am*uaX{Y=t)n|)E zTqr~H8f6@g%g9<8c`sxCGI%dxrA7AE;BZ_@57V_dLI+Si-^q0Mr3#nItc(Q)hAm5T z9ZfEiGu3L2PzytDC(Ln!bb(m66z1CvtOj7lhs-nErWS*fm~I97hO>0okT^*0M)v{7 zNVcXYOLb=33yUGDvhxSBFQ_Ym!+ai;h6>I|CHuxNTodfgY}>t9tH)^k$Kk4DypW#b z3QN?ACDy_);WMYRm9D)+rPEaU2-$ISYN)i#cW$MNR%v~Bo^Ppowf9qpymLCFrPe_$ zwJ^6<%&i4(vOeAcrXNn*d!<=pk;mwz++ZqplhpD%P0OVztA(QiQ}Iyi0lhi%RVOA! zvJbfOzDkpoLiSU$GnEX!G*ca*R+?HMu$fA+#rE~_G^ODGR5W;%=BNYA30uj+IH-P# z7g&XQs&7=Z(?_7|84KWR6*?SOXwU-?KB3KV9=av>;n`_eJWKuqI{<(rTeajC;^x|1 zBHtoMf{pu1NH2SKt~X0kH1%pqI28E|dqCS*tQ^(KVZ*R|W_>L-tLUm4aQ(j0WH=-N z25s(PHPMG@+0Z^mV)ghr5^E%xm3Yu6*H~yGDxO@DyRRg-24*X*B)V^dMzSk;yKBR% zKt}h(H9%J~^r~eU;MAT>|A)Y6fCsag2ax(4X4uS_OxM$xT*=61gFRU0gCoLD?o!?H zS+(`B#cY24!;#n2f^APeWV8KGQHlyIP59CAkjc2M{N|YT4@b>4TGTvAH;HQQTehqw ze5#huE%_jb+HKI5vg;qViCdL_%9Eq^bB9g&qb7_tz^zxC$F1p^#;l!VY??bP5bqBD zoK|bFl(_r&+*vZUQ9t!@c(xO1=DDchG|)1dM4iZII&Zk(bVAY}aRQV6rC@^0GbZ?1 z#>oO*s!P(cprpCfmFZS}{FFV!J{U6`5UZ^e=``GaPpb!lQrbyO(P#y8;d34VGqeb%IVk+zK~=58`#fE|nn zX?`*V6`0>}fr>m5d+?i>q!=Oc&>mKiWP{cePBz$@MQG&7mQ<=9nJ3BhxqhD+fl6$G z%aBU+?HU+u@4e-x5Ws<=bdaw()AkL zw2hfhgDlPbTraYIk02s!5!*SFpN5La5mOK7Bd5(BV%Myk(NKhnaTHC8Y1B_2E+_~} z?HVwbTI{fRBa2L=#QtOwiL>Po`w?jcdj99W7 z5?UCp9xI<9e$NT(vzTH-w9&$9sD-6zi|wOJLmKdJwFD) zy&}sml<$d8gnLoJ8Cz1?wnRH}_Hve){I;x;C7=ZD$k&*?bHM_Zy&uJ9p4{tFN|s`v zrI$J^8r7~zg~?JW(>}DABs+^?;BVR0mN{Rvqk2@NDv*cpO6 ziEf$ePv}WvH;I10fbJPtD3OX2vQCmaNiLKt(%nR|&B;Gre?m|CgIbUD2IE~rx|=E4 z&*&G~n@O(2D>+PH9SyLa+po~Nj$gE4pLsrlpxW9xsg~NN+0ntiWcH0wt32alN;K)~ z9M555=nzdo)DaDkw2>_GY1*L1Ssb8|nrv&pmYqF#S`y`KaKdw+AiXZoLQNwOhcsA6 zz$3@Fz=qR_StdDlpUy(Wz=Eda(F7M5V)6{q-We2Nsfjq*KwTvc>XB+PG87@tYPy;* zdzzL8bVQ^=qo78n4Jjs>>Y-JIp<9=7Y5W8B%F-lfKse;5uVY-cXnJVXyD_FV*oJ%+ zt2op?9$pPu$4GK$Xw`eUn}6tY?;AgQCA75H_>qN+CWltNKk}ILy#Q`# zA3wTiXw5RZ!qIZb>O__l*#|U$h+%SQ)s5pv(?e^jRGfk!xshb!(5eq2C2s>S99s3S z#*b#mOOuc5{{5jdFKtSsvbXj`Ouo>%6k>){74dl4=eGqp;f=YcL0Xg)C{ft z$k11Rkxy%QUFF_!lY;fBrIU1@mv|j(Xw5H4$oWHSYE|7cLu)>21khG2Jwv^%&L6|9 zs-pf$7C@RR2A zVp;fU?quUdx?S}kb(3X7h#k8f<2K&ohep;G$iQ>0@F7XmoE6HztiHcW#-tHx;|HVsbjhB3hir0<)H(#Ri zMJnX~(tBxV{k^mtFLS-!YgD|gK*iRq(ggZdg=$;jTdP()g{l_jvNVXOoj8 zzt`VYE6%=fCqdp9zaLlW$?uM?CrM?dX_5Qev9hXqVKKH zA)=S~s-56NvpjhlY}JQdyyX%vYp)CTAl@&;(tpI0Yi6a_w_ScQddX>3txNDrizfAj z91U!|=eG7^_NLS~Kf36wUTfS#DIb>*yhOG36PEP3x<$|GvpElw^vk#_dCW4R`07pe zG8w(Ib^K`b)|6(oRxo|zN9WlT*9XuvesrM$O#qF2(!_v9fYgDb_B+LIdi(+ds>kp3 zAS=iUI2*D8pe|-w2T+Ka766hl( z<}$uYG3Jv;0o78Jh&S1EyzqxM?;fK>KY3Vk4x(*HUvM!$mr9*dalTRn9hEw2TMD4F z8o(lFK;M69M;NA_I6PB2^~)jzy3@y~wWdRRhp7WV4o8FhDCvvgnt3GFgCveT-Z|pf zGSipZbH&lf4E0l1%q~;KYp5b6@jSXVSEwYcOE%-Jt`{uAvFcrkBE+eT#u6X z?!Fl4M;u*JN$Aus8~XHXCIw9PJK8*;lItFAiupEKFzGRbqbMXP?dT-?7}o{t&ESr7$pMtOEjd7@DO$V(VO7e@FxQ^YsdTbF57aJxqtJYWfQ-leyd#&%!o zc%MPonqs*^&1tNhwWO_^C8&o-5-;FXsnRMi+U)Z+@CkYSb+~l{SVT792d}Jmt1m4 zj`?s+k)4i609GKuUS+i%9HJ_|2?kw}Xu{qj&rg2o3n!y@B8$!g)4oq ztZ61s?_9a-Z0|?MkQf_h*>C_(_Vk#JA;nu-nsgLXs!;$W)}CS_RTkIKiwGQbh33- zLWk@1I)aU8NZJm8jhztaX#`0K>Z9Q;1%Zv^iu!U>`LeUY>Gk`BNl3HVU?PtEKH-sH zMm8v$$*wuN^AfvKXrPD*_ah!%t~MHtZlr^-#J(GB!dBMQfm9;PHYLBr*dcYSewisg8-g3{Vx(R7F27pqmbMIy5P;o2Ykqlc2Jg0gp6b3o=!d z%UB9jzX7h^prG~ARn43&D|8cYX+#@p@fnqpHM_Brw`b0Nm4;ukmh7|xX??S*v{M&X zHW-ihsTir6EfRuN$IW+k{VA*DN#s_`%Q&P9?UwUqOY9Z-s~8BMF9{zxS*24-EHDAWfYD){*^@%PWwWMEn%u zClSAfwX=pc?9_DsV;Z72>Pfzs#h}gjWXf)QWYajnMr-VEUhtm9^tl~g>u1yy=&6r) zQ)o(x(i=O{S~FH^HP(5+$R}2{a`Y@8I@Gl*N%G#b{(>2xUUAt9XE=4jsVAOS-9haH zG(9MARNC*sVJvO-X!g$!=ZZeI+5x*#w3#y)(GHAW#cIPwqn!qCN+3?R?^|ysEfJ;+kF~*fYjtbYHDkn zoNfM9dNI1LLF6{y!J?C(H|KD?m|kKr3Qpl2xsTAuu$f0oP528PsAWhcFnsb;)_^Z0 zpTN{%N8D|e=lUzUNNM7(;d_QmT^F6k(7RBLHZ%}EoI7=;mOQ4}483ufBj$m}6i?fn z=r~}Le{__9RVkxxKe8Z6D;dzFA3mwDNn8U#aaI})^9M@OJQl?l>nO4gX{zB-9iP9| zL|R;8GXu)VqCFfDon)8GPH(Wez)r)k*&(6qptiK)Qs~sUng9WEc9L1H4+V6`C#GfE z(OwGO-VRKw0pq=ts>E*Fl%RF;-a2hj>)2k3W(n=3)I^@PZKrHid2Cb!Q;BILZSuO> zCP-Y@3fe!KDhkZ|YS6j!exudcqV99`-x^$a%f?KRHq?s_a>8onYQArYPA;_~K%Lbf zaR`~JgDC|%$7NjZYw=xBycuSB=$2?6uEtUGL1XL`phj`B#nRr%UDN_ZyTHPQ%> z;zP(9qaM@Irglb%e#k7&la977p0%wDV)2BJIJX7ED3X6-F_kx~^dZJJU-)8gyvw2^ z2!~KttFfz!_MI;*wo!>mC)x?|4HApA*HK2bu}Rt%%Eh}Rc;{Qe{ta*4Ad!?Q+95Z0 zgG8>8KGGX)kkriGAZZQuVSRlX#OcvSqY0Z=6U-c=4deq?BkM`u0CA^I?@s7_2QtgI zY9LQV`PrquNdmI9v_*pXXjDCtso}M|C`BKxo z0?>h5Gtce6HS^^INq$U%c=pyz`!ly@IuD%6e5<9QlmBfEtpj7(4Ug{{hr#l(VE4S1 znsq}@_fMpTrpBg|{jW?_^2zv`b*nbKT-H!r2gQnHz(g9!J8~49K=86eCj zJ+Nn9{lHB9SMD2O*ZhIY#aMG`>eTl~b{6{q4F@J?7)_8dCJSb}2P02}-}@jNSxm{n z8H&0QAUF}64e!toVV1<0KZr34W6W>y1GAKf9SF6YuMSbK8mrf!*J~VBHOp+LtQ(_H zjZ2kdRtVpFqqB%BR{@`aiFvCBF4TYJ??-f`D_PvbTCN`H!Hfz3=;6fw{YxI$GPs2>*2S~N{@2^=GS!jQ1@0yN)=k;WcfL+44W8eyW@L5s$Z)8S zM=0!M)k^96;NfR~Qx|_`?l{Dz;f@c185#ci@152sobD>G%`N;&F7ut8BqgR2CkCc( z*zoGnzX9SFbE-Efot_A{uOO43w^tXy^pj@#bOTHugD+S&DDFu>Uxs;oY`ep_-eR*fe+#C=xNG z_TUVX8KaZoJouw$$~qhV8<>)^)no>Kg)2C*2BTzZIDr|}iiE2LBp#^KhJ25ZJxn9A z%O5Dy&SL9=r~-cmY}_~NM;#?$N-DzJ9EA8DQTyx1S44$8V)dAiGV$L8xeNK7(ak_> zHoRdaVj)pk%J8RghAL%P6lZu>lmQ=5N-PO?He62zYTSC6m3}sS<0ClK;9QnhfNrLs zC_`Nl$&K_(SnVa94R=E`Thex*ON%yhRaBQhR)*!VXaiA(w~Drp40A>MbtoVDomjNb z0R0Q1{fU=!Hhlj@B`t|cQahnFYN8f85#B0tX@0sU`tdqHsI!@Y+KaRm5{6Z)+FX{h zT=1+J2=y+Z;XaaO0+=Og7k*9KwJH#*!OefkQpN5wD#G z;@$pkpdWV1{&CTfoWUklKn>xZfBa`%$NM`ajIRx0ls;ZK%o#3?3*KbyPjQ#XtqU06HWQ*MHs-jY5Z_{tOK^f?w# zI+d3c={2Bqb2Vy;uPFvQGX)_Eq$X_|@M?q7P#-<0=c${@_A*k8d9yE3a zjU7Q_chJ}sH1_auxmz<|9KSX5t@`GNW+3D`?f#v0GNiH%*YHb5RJLJpVh>+!edXv~ zK-^$I^lhFGm{DjvnXnjF<%7MDjwG+eY6}t>Be7zOCSeWMq*~w|v||FpR5Ww{pp`T@ zhE?akd6T9!QOOohuy=ko{Db#!59(_p$@^JPj0`5tbkUn;A5jgHEo?wZM|EO+a4Zuv zDer`gpC9-Y?O`=6N}~%%Mwez0F}fhGjaPB9@EXoM`Mx+AStiHAg=Lfbr+f5;(#TN=|BKLr zHTO6ZX^4JX6W$FvmQ4&2j|NT2c8UC2j6Mt+ktOS;YNX_ZCo9|k^lUI8kEwZ6QY1<{ zT1q2>(uAB+6UhVy$G%zj*5-L?shZ~t6TKsY^M`!Qy|``eEzmZ#FjL!9ORpET%_#Zf znn>&a&)en;Q^@iQCW|%9FWl#1S;NR2>KHiR(k$->IWqbShoPO@ELqU8c)f`C|AYRc zPGdfDdw2?U-Z3-st(nXp{Z~G2gK!VXyB5kDA1vMgWjtNYnYz<_DscIuxYVQL!Q`cu zrx;eqpO&ZRHtV+hBm$?`-B!>S2LAq-ed3`1{nK}?_RH^a`xQ5p3;2!`_VqD_iLam1 zhrCj^)vpVi{;N*^WiL_ER@x>m>5nOC_}8*bo+mTeGX5GQW4xz-&D^<7M1h)@<12 zr-Pk_9~e(=`0p{j1_J0c&;+ye!WzBsMj!VGF=iMs`b|k`K_kX1ak7dhS@{{6N`q;f zEIb2^sBC0Hr>$|CSTYotR%YrUDph_pOw!b zm*d4{{E%xQ7U2P)xHL&ZX;D2?=tcDqezqPWw&aoMM3jy0;t6Y!nly*#LNR-#Et^%q z|18O7l#LQ(<#UO$)AzdYdi#NGsTj8jmNaZ3*b`&!c1$Hy=@>WaI0YuFV%%oO)q%^$ zIE#=lvw*9Paa)~E!NvL*x6N_db+3(a_c*Q@TvLp@SGWnjw8S%!7*~jK|M=M@BNb1M zRQv{U!-WrO8Fu=|iGzeMJItgD8NCRM!(Cv8HmzC;Aj1B5JHa5_)&B2K}{-_PZ#`23yO(UhA zX#HE6!?l{S7*Pg}C1|s@%)rE1rpt&8>txIP35f>JXjswm`CZEQjg*ZTk6^pI3UH%t zNeZ#imJiZB@;Co%%Qe)(2X{^@)CBedSep(1hd{iRkr_q(|4`%iE`BqkqHWT%aUxX47~!VfDOj)FN9Ou*N&eC1m){MtoC0442VVOoGFocQavj}E5dN~WkJ za<+xPi>J@bUSmE?TeudGDfDFcS^bEDM1K)A1@sKsn}Osi;EvFEVNrxpi0K<5)Oel& zIU7w%0C~u!29}mre#Ff&^-J%W8{jzzBx-HlGJac0P%l-naWE73UdU$SNdE~)!5UFp z5NS|4I};w`u?v?^3_Tdp>ev{HVWwa(PK7DS^QMnm@hU~# ze3)$FwVTMYTQ9r%kFL?N(;6_t^B4|VhF5CasCRf}ibvbpB#b&e!wMv|-Pu`05I0jqW-`P@kIlR$bsluRYrH-anp`dJx(BE(rco%7y{PumVz|c;N@uD9BE;jW43t7St{9Z z`gLm2M$HQ&>6@sCGS)j;jmVgB!M+Z5r(?H!=31jvNE40aT%4lO>Fp_ShaHzTx|bby z#Bo(dcieHI<0_2KUaNwiikdR2ZZEY%rFxr4!Z#c{B`lpfn55eEC_}+1cDPZ$8`hB1 z_3Pn{blx%3%1Qr?u#dPbV=jv~$>WZjbeuQIQ;ys3xJqvl4SS_euT&VW(MzdQDV&fu z+#`+~(_`8&Mdwzb$0W6DrN%l9r?De_lT|{Mecm%3c4j$K%e|iU9zDF#wmarN9^~|< z*y*?(!nNttfGPPY7kH8fl$FM>;AP~!3~!9P9k>G* zz6U)1GSz9NV!V@Tbelc*sB*{se5>QOI8J88#y0xg=7?s?xZMl5M-Q(=nG2^CxK%=m zYIR(T3+$B$9e2cWb;fPKb9+P&?<$o}Rdgzix!ttTV6j)ijTZZOjHG`ts>Ps?gMN9g z_w!T8+ym-v$*fH^udc0={IDP#nf#KKQ8s(-COr;2#)WNi*|Njj z4o4y_gXGBFMVr906I%J7v;|Oyb*-&lf>yNP+KpT2xR)K*3>|AOa&2Q%_jIL}XRip5u7HqOFz^NxsH~f3Bvj`e+w6cJPwG24U|%& zpA46r?yBb}m^L0joephwXsbi}9ePR-7b8F>x0Ot4Rvn|nE_b{&%Ew3L2&0j*FSAA>|opLmkgyv)vdoCO$kJumt6!;A`~)#fUNLwPENw*Vb_*`ebOC9!bQ(mbFn zI8^D7jE}T29;7|*&=H4{&L!nsiVjusNa($ndQO!p_>xxG;{4L5?J8!yl2fG`B#^Y4 z>pCVe1AFy`Lw8FQEU`m|HSy)qTkNJt4m(#%oKf>Ef$AMnX97~!A}uWe$RKe>?H*C( zbEw7BS{>Tt(A^G=IrNA_Qx3hs!|uJVDSu4zUf?*eA~rJSdX9an3S1J$WT{vRFY~zY zz~EXb|1b=&_9DlMpLfpF;>;Ui4&|r^ zx%D{ID+n2|@78j?Xcfhb_S=1M^@vtux0_%G{ggFlOP@B=7>2oeJYy^{8Tp435Rw#bi|?1p)${(a&8q46?r6H2u^V~ z;u-bH^Gp5G;u;LNm3_UjU_w1%p1oru?Rt!i&MJfFAQP8&I>S*O!#-bXRB+@yJb>ltt?HC@TNJcimsaWrL@Uj75TTSBl_=I1v5 zS14^xy;HJ+BXsJhn7JdmGx6haBoi)^ZK!-pl zQ0+)=Y$T~Uw?eT}3+v(){g@6@K~OPAqh_fJ#|ppr6aKo2mHh9aLvONR0H+QgXkyR$ z)=Za@S$X+LtcWppxG40fL;u+CiDi@IQAmLUhPNcCJckE$0|#dV760UjRW`Ui2cw^H zobjjpo#yw!TQldL;>kYtxrxlg?x9Tiiu_w576Zqtf_=l65C36u_%~9RQPJZOX^%%_ zJsy$sctqag5fvVfC=CB9A%Z7I23JZeD5w&ZBseg8U4of!N#ZcSP(zyEJhBeu9LhUX z;ZQ+&IQAPUl#O!^`CgYeJG5Zv)&!^Vk7b8GH}4_Bpo!ohw-|)^fg|%rl6McSn$I;Y z;ew%6NuE|pas1eoL!Y~hW9BpSgFQ=M9DnuNk=)s#wF}_*>SaS~7aC`cXyf4(L#tB3 z0Zw7hB$kfrBQ){7C5v>(lsii<*HL7b{nf=oYdK7NHQ9f>VA0;8wP~*WI67}=%@ulb zdB~M9;~eK@hgM~V)@FykS}sP}p;cGKjPm2J<~dxjl#l%^eQ_jx`_P)Jm4D&Tnp~Wp zqq&)(RlH4766_r#$tQ+ZT`OK(NAixCS7H3sD~8tQxhsG#7w|ddq{LbxcFCbN*Tw8A zIc!V)4vdHCp;gz9AIqth3l<$7TE&T4yZq#xutaA5IOL5`bp7vY*^Hss}w>j(@e7RDStm3{u`#Rw1Kl&-`GQ1(+l*EZ}z$sFTA_{g5-$e0SPSGDza5Kl7C~k6!>6qfO zw@|#(DY`F@O5tKQ zZ;EbC4IHoMu>_Y5PjfNQkN78tv_9& zHVs*pics}&2$=vijOT>W$%SnAS76aX+PRJgHTooTJ{$#o330M~e(Q-?nD6(p#jsNQ zPEuv~TV%1mGLn8r;-sk^|A0esjU+gzFL#O7wh)$Ist7+;Kez2~q7-I}-f)XfiL7ZJ zS*JHyd&3bxUf+@nJbZKW@aH>&isJA(y;fIO3MV&|Ldjgf#3FRiukRSOKw09^;m@~# zJ_b4u7eWjbVz#=K8fk&gjO^$dL$`rW8d@$n)NO{=vQ`n*=qz}&JGQz5bQ-i@GDoUb zGs8)z-0Tdt7=tb-vqpKZ(4|PVVlMv4M3`(h(jG_^A@VOQg5Ied&m^9+b-%C5`S8c- zE|&SyG`=(%PmZJ&Z&nPY%1h9KhlHZly+OE9yX_NPIx$ApdZX@g>P}H3xfIps#L+4( zYs4K!JnF=Ei`YXfykY9p+jx8d$=?U(Mk7u;aZ1D<2tGzy0fDQmGF_a*)LW}KJdvEl z$~{j(d8Av_r^#{k!kL7lcB?6ZwmVtY$mHOI(;9K}_ru8^Xi5|9TA4y+tB59G-4YG?24aRoJGxYNSS7X)N>NuNKy{JjY zjPbCd)S&9jl&C0!hJi1PzYm5?b+Fgy*kHAmIkXV4A%Ih2zeO26J{9S6hhr3uLCe|( zP_BB2jwoevI4$LP2n1GrsI$fl*I(ErWixamIqh%Ma;cDCc1U)u1VVVEIW_C zX9-S06eOmn!`N+7u^>_u?TDnQp(C`b}n8q{+OYG-HPaO6epLk#~-|R<}YNqdQ`wNR3}$Oq%S1 zG_yl8f-%eF$OC+;NzvehWX+`1h)*B!C4YyI#7!=i8VP93A+?JuxxOa`XE=MGZ}K0n;cRblcpAj`gvzk0mdwbvn%k)ky3Cz zit1@V0n_Pxx*Xc<&=x@)yg&-wYp63RIeyn5Q45@s_(PtsS5^t{f@He$00Ms^)t;Z{oS z7!bs7;FRE2hf}}>!Bq|yfLWgs19n(LcTRAN!-_H|1-Ch@5i~Ej-C=$|kw8t|^0SIv zwnh#1TbwNpRb6NAzAv!rq4mCTQ&3mbA*S=3N@BoTLQPO;A$Ue6I?p~&QKdCBH`uaJ ziPpNhEVzQqIu4{ecgTHUnO?frmnEu{Q>RvVLzDb<_RghNnFzO#cC4mEmhH`omt0tS zW|`In3U5{f&v<0*0C_DW;*qtz3t0o|3$ePXphYA)2c^;~hSSC1F=6H<4oXNZMWbUv z+OOBDzLktANpybc!^@rt(rO^B?Z^Dk7d1pv)kHV+vND;UP>3UGriPj^2i^qpP=c;# zNGZm_1v=E_fTBAEGV4v+D7v$EnS!6X(~@@;zxZfW9cW?|l5cV$E9^W~X{VYg4J}A~i}%P+pEjP>aQMQNwN#ChQax%R~;ZrJo#0e;PHE z4zKANog$QJ_&mp7hl$r!tl~GX%=3Q+{r9>ob3z(fKTUOpgJi3EgSCCc*TyjSVcgF< z`zch`8QeMOzf!@S8qhsLqTt4tzUL8>=ZKg*cMANWHwQV$UkL8hK$|JQQ?qR3*nhiu ze$%((g~-U-$`SuoPN*@-NKR$G*>Gni|5*>*nz_JBp-;157#N$k;eSLd?yOv9YlV0T zF?bxoXIC1&gfKR}{P*?4t(mjpg+iZE`w!4kG_@=eO>lZa5{-lBXQiDx1Q>oWNF7H^>F_v<(M)aG;YeA zm7L?U!m*JNQ8qZX&M6B<+2S}GhdBfj?T~8Jrfkgu@T@gT4Zh$sl7n+UU#5wu8j$H( z`H?hlK;r|s6U;?@<^}2iNS-XYk&1Y$PaX%nj_`1b88njX-X@DZpU>wt^m##4yxg5 zAlj+cfDK08k~Q4L4*fL6o*}tah4?CRq=F+PGB1-z4hh^feKuPO{bJ4d@+-v@P?>i4m+#Io%vBNPw<5? z9P?6$EMdeJ={4C=q z*lK=iWC5$bn}+KVveL_o?8~VCg2_Svl;eRoHZk(-VcP2@)ig|2C`{*Mwdqc~kbbui zv-)**WLx{Fa^`)4itT`=%5~j;n_PhNOZ7pl z9J`-7451qz&9P!BtZld#*f9y7m19M@^>8YvTwFT#Gc^8y(I5%b;E>u6NUcel+8jt0 z;5)D7Q?ymPmwR9tgb|zk(qTarQii4srowY|^n)yM&1egvQ$40O=R%l!N zM1YU5KpJmJZ&v-c_(xUTKykSmY26l{4Hl&Au&--$#)bQbxUi>S+}*`_9^O)BSN#mXD2lKgm27wuB&o2{Kv zFPqww#J2oSTc*%fHY&5Ps#3NWHB^J#?2zUUpnDy`2y}UslxOHtR zmagH*E{D1u+TzewhqgPkLlA2+x>teEk?h8>^L*h60p}&A&}^FGxE6B(3a&?W>3Gjj z-gX|j4ymQ)CH6>BT+xG~&MpY#_*Y*F~Fu6<*H?+x$DJ&A*g;$`_VR zk!O-T!Gd6|R%cbgDlPJ=gH?(e=Yv)L!o;fojSaw6m)ZcV>xx!L1aY~ky zYdj^Vl&@Sn{z`Vy1lYV|-(mDioc;;$*E{|?;eWLvx?}v4?=tLX-YM*7ZZK+%C3v;} z`M2C47nS%|?@j{o#BeA+yFWlTF&<1fwI_!2J+CJ?tqrjtnEs(*28 zJY4dCy`l3`aA^K~80AF!@rNLr0Q}NjO3R+=~3{Dr#5#=ln4dv2OYw{K6u; zv^hzG{rT=cqM?#k#@zy2R5hI08&Zah~;N7?Yw^5^!@Zu-qLonR}f zzb;>v8N3tSF*c{!gq4%ZMK-}Ie+kZe%O*0e!+=NPba zCVXJK1Ub0>-o@M-lI=tzoFl9O#rG9DBmMA88~fMg`Kd5_$Hoin%GQ(}7 zT&77H?sCIu;nTr0yeO-L_YhEEu+flNh((HZLj|N8F6bIup!%C`E~941RZ7 zsT^0~q*JivyQ2Nnz?l=l?hXIs)w**G6cr<^rC$TD_tR)~X%Q#ns>-lmB^woWL?-^bh-7k7ezFNC2 z=m}Z2B*g}P@egm||2FL3KC?znaE=_JxozAx+NS&SD-r}(N83LgoZ0Y-j-+JX!+YHp zCv9h7LIj&s??EQ$6%dXH^VXH@PJ{m0~7S2Bwb5OrDhcOK!pEB zs%*oOIZ3dpY+e`ssVBc>RNZ*|ZWx%yz#)|GUuQVmkmkLrhw4Fd;*K)t7;EW9tE`e^KZu4eF=}o+E{8WR<#I|9lYyOgoY#w&TJ$u}Y{;$+ zJAOg=Q)}0T|G-;laC(S049j+KK~LGh%vC+tGDz#q!@ak0@GSiHxtSSEf#Pn~g7#zb!bn1;vXsbYjz;$vf=HUBttNM@U?+g62XCkuPi#fa$xMLfwPxw zIHVx8a^)NOms`GP;HMcT>EuXF{rD@F&)<+n;?6O0-=Aow*@%|ACS3iq^e>+Opjb*3;Os$ZH*~%l3|K${jJ9Z~2db-PsM#*AGl* zgMAzRmiZPx_KOp@X1d49VmogdY{$+=&5-%QaPvC;$8!uruRn%GTJq~)zqQ3ktnZql z`=n_90Q4=*7>(9l&Ebn5Fdb9N{AqYZh4BO7x*sjGAqT@#-x^J}lZCQy>b|rk>2m+y z?7atAQ_b@)4iYhFG*P3VqJW~JqJkBypa@tAmLQ6X9kGC#hy@f3s4-&2-h1!814^}v zV(;x>u%QBqlKYuGNdRBJzx(^&|9zf&|Ihz@pI36umf6|a+1Z)d**%ZYxRy1?5=aEy z!7u@JfwEFeuCfBg3Q;t+oX*U|L~F0onTnUks|p3U6v7sobpk({C;@8r1tl<)oFxh5P=5+WhVEH>h8V<0*Fdmz2$3EF89}DM`UL{7I81`SoPg~ja}B@Oen3@Bm<vNi6M-caqpGmoL{*2YR(~K z8%l#ImNKhTTHmX#`6sRDbmmFg5}SXih$@Pma)B*znSR`r@$3Q~c6k3B zk{C1azD~VvV8z!bfb;k|<}3x*@d%UMT&PB{shOj_>P|n_sICjye@;t?8(u_~iBVo_Ku>qxpum_DOSAnJeZOzz(*1(jaB9`qb zlxO|N!-BGN$lWdi(gx@ zLm9Dy53X?Qg@5M7*;4hIOkWO&P?+#_AJ%*jaU?V_uFp9A#Yeve4!YD&{icupM%F;& z8|th<9ek=11P0I4M@FzKnAnf2FJu~w_=J~>I#Km9lH!B$9RnM({_SU}f6Vi8iJj>d zY!Ynh>&JQ7(V&nmVhy_00Tl5GHy1vnINt`zP>_VAe1SK<^8;&;h19TyCLL*MaKVsTrcU8DvLq4K;t?dRsUXzyyjs*P5fg_HY=q1Y{O;(- zZ8So7O%PDNMKBW}eoz6e2qO_!n@>T75q^{+F*@=dyNiY3S&|S z;wO-PG4l1q4iiW&)3junL1mt-T8-sLkhFLE)}7=X@ zzR03C|DlQo;+p_Eu^mFWAQ=M<2mmieJ-B$NlV}V0mgvZTjbd@*f+0uVryjgx;t#D? z0j)Q$m<92L`N8N@1xBuTg9z`x9-b`+uNqgaEGwRUb!SIN_hw zX>Ksj9N&E!L3E!w{@l<8-|=;N#tzx0XY7!Ddd7wih;KXOuevsDkp%|i3=c)_o5yI) z;J%5+b8++FSll|w)zj)++$OwrQ-4uD*YJ_CMHJ)Ti)1<6IFJa|>SP)BbTpHWqyce6 z0zXbL@;{M~Cx&t42_Du%Krzy9F@wgI3;<)^q6mEw(b~siK?`dOS1Zo&$DLBo9Q45^*nRP3Km!)FW z0o)=6k*N3B{2vvGP~0U<6L0pN940W!_;?#)o@}5`%%~p5m@(K?PHLoS70?9s4AZ>e zcZ{n>?~**)>z0A}m_m&O{`F9{E|dPjvs8v5fzd9>@Mf6g$BGj8)q88P1R^}Q)R4fI z^Jw-a(V*48EZ*cjAf15};Ute@rWw>d-Y)C=Tg$d>7TCw57|srX5)fDJMNrF4P?E z?BS8R_=_PGS?^b5uhx;ob>aA`7?mNT>y-^_42In$J4W4NhBPQdA)M35x!|OY&Aw*iU8)pdzu2nYQm<7XbHGTkv znr3Ibt)Rq(0)dO>fU6-fiKg|<;E^ve#c>DiNf_9mZJ4s_uZtuy}=|@U0)Q(ylnr zYbL=sp+G9wjdq4pF?nXnarDt3 zQ*-Pxbsvw`n&`_@(RK{8^Ar_aQ^d;?T=U={woTQRa*pTEU@~VvxB8V%hpd=o0L`F8 zUnX+lcHxC;B%!V432kB2iI*qxB(zNzpGXJdxa*bC5|0kJA>0Wg26^tt#tD(>YJ|9h zQ@ELf^nAe^9m%4_iyF@ zky-Fpx?O>b=aZT6;FC>g4)3Pq zKaSG=QsLM=c8tM4zz1sZrBfHcHO{y5zNjB&yoAkRPiDOMqzyg`1mj%YBU!?}HcL18 ziBde0r64=D9x;qk?2KbDRk|8sHtKZs57mo8kikmR!dv|#;e{aMBiyKOC8l3-%3xH? zBS5tVS4b4S65a_^DWCD~pngcsQ1Q8R^}UQw>cTn-7LsXimm=^6Ur-=IKLCNFu45rQ z*WTbm6}3S+?NdPrNqfW3@(72ov5F&@jGRBr{PyFrurMI;bUdn~2SNnZpawbk;VPIs zfGIzxD3f9$1bU-=AWIh!U|O?!@WrS)rZ@Bhcq~jXivaf@2uEexl58x#@nQj#|1a8j z;csq&hPuyw6Z(yZZ7dKK4}2gk2JHXg4h;NYb;@7|ri?~luZkzN0~GE{{N)FqO?iKw z%Cs*)PWm~_Nk1o&HC|!|hDHEvBINge@8YI*koa$VFK75HW+(w%?zbFyN4HCSjUVs4j@lQf~YirvF(JsOoIFq1od?`CF?oUk0%f_TF6ygfd|D(BECex zs+(R%6*&adH7x%O%|BFlLX@0a#;XH@U8q}*m|b9*oU9=fj2cYbfi^?A)${4MFOT8_aeAGg{BLIme(-3N4S2Q zDq8>+Wec|e`LC7C7ixQ>1(KMk2)j^AWX4Pe)8eeGA8~&XX08YT8QjB&KNUo=yFFn$v zAb{xLWel@EtCb;(1^etR%Baa_7-+eqD921+WfCyaQ%qAt={GGz~P> zlD|>R&Xw>=BeRjO}9-xe?Tu&*!= zlbHKd#~|IX(Z{y|F@|-CRv-Apo@l9)BI>gh`u63len^@4Lt>@iQb>MiOh%vQE8LfSbh%xbQVa+{RP+ zI&}h@i%7zWR9lRO_(VS|^>w&%thrc-8}%1GH&eV3V{|`X?iq+?%y?wT04BcN<>FcK zd=?}IrhqTEt9afvJ`d#V5j+XAcq<5JggKXG0$dZIXb>Z$waeg=k;#3zb-1a>C?4co z+g?1EtG+!%=oj|g**E1rNHzWVdu1G5rfFqC{{Zc#q#%HLYot1f|t$ut-hv3HI&SnS~DL}C_S z=z*UIPOAp)@DaeFMBbvV_-CpX*>fW>PN!0_K07}`^kJIwZPib4m@7iv!&+z*akPCd zf^%d0=Zv?x3AW-c$)tJEfeI6GmmG3ATcl`E#NsRM*C$wanipX1qDsgY?<)`{d=k1T z5C1uVU_tZuFZC~dq$xY^K_3OwOl_xT+fAXir`rK|6jo~l8Y82x@RvG+V#x~B)@b3E z`kwM7+q|GmA-1BvIOj$sfCoOSGIe(8YS^$}tP={Y3AflYZeXUf`2G^UKPWWovC54O zKBYIZR6WI48*pr2z=r^<`>t|B6;+C$voh29(FM|}S^cH$P~VwV4sdd#^Y(zMDP@;x zdY@hjaAl^TF2fYpta&tZ!_E}dI|aW3z81&-BrE@+T>LuCTEK^$Sm>%IysVp9cm+3g zxX_K1`%jusd`FgIsJv~@FlxYc32KB(e(@n+U)9zURpKvoq4EtQMI8xFI+ZYF<&3jo zH1B@w$o#>@oyV%|P`%{K zZOq0_I=_oF_a;Pg8Ry#&*;tdvyWt$~oC{`pr20_<{6o>LR$)C=KU;_4T4>VT@F+eJ zU|;3}iFR?9r+ZEH*Mi2~t^U?tne z&7omNB`Rm7x)0qgq0k2IBoV=uh+|rS{L~SAURM=?vm`l6Croe5EqlmjD-c!&>1V?< zJ91?p9H0W5=MucwY9#oa72@-pznJFP;WAJgG$K(a;PtZ|E?u;7{%m*C?jLIPFGlA9 zQHcv3tC;ZYLjG`ybk+oj-5LdeT>|v%0$Xr43)|D%g7fv8?MwBW?Q8U#?OSNG9fdh; z6=&fW_cA=o!B#QO_-H@E;#3ITu;KU}@ge-vWwI1+{O@8$Hv==CYs9QL$awvdE9cBX zVCWihE)yZrs>_I1_!O_-Le+W*+-UO)$cCo&0;aHZLlbZeN{blznepUfOLR^*O|`?F zk2ZhuYgD!blEKh$XEY2FlFEZXF)SH{-FSP94=9r(mMev;?M-PEOY)r0#U=*Ac*+@* z(^xVEyrqIaVfvlo6Hw!T9vE zl)z?^2pEt?Dd(*8xkw;v<=hQch<2Zn*puV}`GW`>OsgVPcJamZ0c>mdqJ+m?!UMJ! zzr*ZJmIk#%nC$apGy>>gJ!t6oMWA`*67{(5C4jdt0-jL}xISPHZLx0p7=f4nuYrHm z4>Br3BYV!?aB!iN^1lF{)5U=KA-?>DrGLkKNeSSpzXK-~-8cX%jiCFn(jqoIEJ!e% z&jO;P(znvLT>I}WTb5|q;_odR_>O_ESq!|KyT=#-S`0ZlO0g^i17VwqmJ}8z#>`;a z7K0T`TT(LpmK5=ZDjdQUNapZUySP5UuTsWP!L9Xq)ukV#oJ5U_WxjCLz#p+H$4A&a zqIYcE;S+cWg8g$@3dDjycR?9c3qOD&Vb9Fk}#p((Fw-jeL@zbBq$V21R05^Blj|w;@j|Rmt-uy_TRY~ko0*)O%2NZ&{n`;jW zL53D5bV)t8Z9UK#n?n6a6f#wpgQtnFQ`{p~OjRp`DvX}FXNfehd4Q#&x(m>2q_A;O zE2_D`;Q_4*r^;`nsXuW0%2|lL+yfhIKGX)?j zDiUg$CaOdhK+YetRS_!cbU4|>M9GrW`lF$8d_w|gHIF)z3f`J_Gs5bFbDrT~a3<&| zJ|QiY@zNp(YGHosFfnu$l@2aIn@KO=Te?lOR**(=Sp9_tQF+c;$5d_%m>^b7sGK2< z5%>=hnuVLW0Nb{%>O9pme9aG<2+p3~RK8O`#c0zRBupo@elq;TG3b)hgF^~jT2MC< zOjDS;;ha*^`Yy=}P3@VT5$r-n&Pg}2!N57ix!`kD_9h^wr+Q%>@D3E$p2C>h;^<4r z09#l?k7coWr|WiIYOlVR_hM|KORRS)_DH*=;;b`@Sb=7??1P0;nsYc&+ZNLfiT0Bl zfROiaGMMf>u@axKZl3YV;*x15kn#~IhFjVeI1m{z*vd1|$6S;lsA+Aa z3>J3>!)NavKZg*?7yOrAA zUhQtHc6U^}JE+}pdAC#6GL#3m+Q!f|S#+FGs_3o4-&B1w=qec83L`{#FpO@;ovePQ#Z&-UYe<_yXa|N};BtqkgMi56J}Y ze@>KN&hg+&=))w6G}dP_wDYVH^b5xPVXORv&AkfBcmJqkFwLNLTGqxmcM-wUigRVA zdGswvVbr^?9{u+^rEO1rY(H82&Tkk!U?-O3wSl}MGqb>f# z53Y1u#)hzH!t8)wgcbK`O}>tNMj#LN)p;L_n9HtN2!FFWMI3#H=!Pw=Y-m$9P|;PF z1%BKX^$0Gqr zP%1SHrBD-RBR1qxJHQ0vtLVe_#86ci>cIkw>uU8?G%f7K(G(0!?IFvG{bPOuuGHN; zz<}ccknuG}i1@71DCr!ZWr-gehy;y^pBw^4D)-ebCWT6m26=V#`2<(4o9IC$$mI%v zgy?B{#9jl#$xY6UdT8v!27MO4Bha%bgW?8QN2p1A=+N(tbr!NZ==a>+tluCGoqp7q z^39`PsA5YvknYNGP`Iihq$YIA4*D*B6I@amF}{*9#r7n~pd){0`U68dF`3BJnxP!Q zSBFm)=xT4nQX0h!mS>!?Nl@fdW0KkcDBdn%`8~YQq5@2M(BZ_xvrYtxpXfx8$ zrBTaSmz?8KL&gQvU?kJp7S*Q!5!5%7Z>29^Z0AQ`*H&NmEmSWNt%#bQ*3R)UY07fk z`08x>B`8wWEMf)QOYp#LVinjv6W0(E6nzATU=NLLJ8_oAB#9wOU`&z{yXwI3`Yf=e zZLvwxGJ{PLD)f-e3K-a`d~5|t=Lr>XP_y$a-0C&@=_rmSKfED1dNoV_liuJXQG=V4 zE29|C8tg)$tRTP#*&AwlO5MSsvS1TmbtZT1u2!ecL5~`N7!+KT9NVKAKIq|^poCH) zHHGLB(k7{dQ*36f;bI(+%r#Zn9lEY6wUjE~TpUw`l{NQq)gM?Xzy*b7s3lUTHuyYw zauHtX=uFm4zDIgg6DjFD{uBuSn#uSl#Xo!eb1W$ew(`}HVaug%H`3`o`GUGg3r(`F z;|cw)hklcL1s~JkJI~#|qon{5E9yL&aQ9UH(h8_^)bCV%zpZf|Y5JyI-aSm4QzFEQ zR6%PZZU>kJbwO^ctgW;rvUwSl34~<99tJ)S9B3;Jb0KRKQq`%d=LM>K zQ)MxR5Kt9Q`~j6o9V$cRAfW+NhFRgjok;&KveX!BHCd^dsxjdpJ?*7g*{$yO|Ym5xq7DZL9P^OrS3Mz|tSrMpX3B;iwPgtqUJ^2)Sw6tOv+7P zUewKE!`vFUWl70S03FR~20{UpDBIH9O4LwoUs@5Z@vlYiVhgOI84uWjo3e!gc10Jc zy3&>Eptu!T^n|-LD3sNanqU;S;ud4TF|q`bJ5hxVZq{eEC>n_0fv}p1B;x%)ENOo$ zVtpZ3WhJJZr#)Am{kn0b*{_GDmwil{LX7ELPBqibL{SE>;~%Bi$|>LuvQng} znJ8)kOF})dTcHkU(c?)xLY%-hN>isA)ShC}(CA$8tco!*Xe7EY^dAEPxyzH_8^Fhg zL8u7S`7A0K>SCxpcPE1>T@aS8`QjL+vrt$bd7_27FgNbiO@mSveTWF+xro6LB_t z4$>VB=@MO-gezlAm!dGNL^rA0OR9mR!%Kj*v1DjNNj9v`BLI=&jcJN&I6@^{q#l8I zw|{V?5%HH532|lvuR|Acd;_8G(M#yDC;1v>x`{$A1OrHN2R#u-leL13VCt_fRLDJL zTCdQL?;h8gFN?lSG?Y@Opx@jHUOU#zl5kC80gv4rP{mlfv$1qC;XaQq4a#H9B*mbZ zXb7@Fnk=|;5NW^=4PEB_L-Y8XIL(uwt86cc9l#lr!ZaKp%Iggzbb{O%4TfXx z0v=6Vkz|wy7%;tn3L-617ThUl3y;Ocx&Ocd=V74AGMy?6!Fvv1MvxILK4hJhb6c=d zAO+F~Jw*Ctq=P|d*Q5Y^#~0qu3ghMkzOZ&`Qzx_jp)vrM zMlgf6D*pI!6Zv!`+E8oc2zh-{PYPJ|I22)6lQc>zSckbvG3O&g zoQo>YG#)uuLCn-0WZ1Hd!U~3WvLof(N8>x`x^nKR@f|#d_v`w1=zDmJH|CPNK+YX9 zzS9b%hDj#p*70e?kj>5XnlY@hsZtX~2kI84Af3WU=8i7X(@`8qa3U%)igBMiNH;y=ByFk>0tmUj$VsG zlov*@thk1T97tt}(kY8hPQWF!fY%UFM8ZJiBir5&(Q(qE=6rcbbmZMp&Q&!?332pT zj0O|{KMK2d;0B}`mv$RggLF}XYKw}ta;{BLKH25y6h47fhDb_RQc4Jjqn}?%BU45N zd5;wqdn)CtzEQ$wb&SUWx&`k0xR+u?VVyo5eMiQHq70QW!xkCai!y@w3=A;4YJgl% zPI4}~s6bZ~U7k5ZNv7x?^y>HFj zKOGWq(GsGt$mzBmZpo|+6r|DAo8#PK!(?XGCDr4y)rKisk4o}p!q1CEa|>X|jfNer zFIg%)6pa9N2m^0RMhT6UV+psPq7NHnIX5*~PhN$)eo#N{nb6vgPVbC8}qmS_+@ zc`xQiLinU=CfuLV1Bn-V(#0|w6Akl@l2c6+$+pL#V==#)n5$BT_p6Dc8=?XPBy+4m zP;_B*h9BUzg+W%5Y=rcIjK099p)nG0cZo+6X!Mx!t(zkBC6@&keAzhJjxg>dK_f*r zbUZ5>8lkQ)K3&2)j>+Fiw45SBt_a>)M?-DJRHA?JnrKI6tg7%gwCtg;nRCg&g&k0h zWGOfncX6=x?D<6tk{eEHn#po5(O911`Vg%7h{s1h#nIqpx{40k50!cf(>*asX}%IMjW3B;6M1owB?h0L3e->Fi_B-3!(0y zas~2*f`PU6KtbDDU!O|Zt5NDcN)_ALAaqxvW5~9p?DGOV1LMD1wnlAbTp2cgPX~2wpWHy> zMS=z6Pp(B1t{emm292m~t&pU+8TD5Ir4V94;0_?*Kus=0cZy^k1XxZnb~h^N?ai6+ z#K6Sp;Kqh6&#%ZdpAqib%2y{-@YAlGDp}y8d``}xKTb%Ll;YabGywdL7z8++ax7XH z(wyte~>VQPh~lbrK~-jj3MqQFQ%F zd!tTlr}C8s_GL|I3;wZ=t&rJFNR|0l^Z!*zl^9qD@kD_n?% z?4;0*uZ z_*6p3mq0!ib83k+G;5aC^ekUlzr~1fF($#eq@Aoyb$(WJa9dKe8 zSzcr+gb91=mXK>; zMx?B;f-t1~j3`}3lPJ-}N~T9-3N)Q1MkP)hy_E`-AzY_Ou&_hhEtbi=a-J|}1iCN} ztmp&I8P??xO&Luu>ZPWiRc|2W3vYL^9b6e@qaGu|pSjF6rD%#^gq{egkg7c~RBl=u z{g|JJVL{uiw&*PeJbkL3mkjepUyQzCuf6v-SvC>ZfRNtAY*k*FNAF-iQ3tV=UWBGN zdOHmR87LqC>gXmC4N$gZsadQPPa{@}pcEt1kfMBQrDSF&WP*TLFo_Rf6~gyW>8w$& zqC4n7Ea2OfXQ-03N#yIZ_2l#=YL~?C8I55VsYa|PcqlwUXpQe~ajv5+5M*iG*pN;k zC2cOEjP&eFtX;$kCHknCWf*TFR6mJs(w`$fSdXQF0gLFP=**fF8POwF0uvf%g91KT zo<4Ba;(sBRbDAM#&;r<93Wo77HsnUFdZrGF7U}-b@+DkyxPH>oE-!`>f-dt2lUfEC z@H+q}DvrTeX)F#S2u2mOj zdH#gc3|tDG!pTp44;xE*DndJ89z?2p4|N$+qY4#^MX_CU6C^=Q0=qDPeDFYuNe)y!ZJ9HL=R2rU?#KS}l z(!n6XOCY+^2nD(a+K_Q0i@;1LFjz-QfiSp02Dtk2#6?N_l5lz#wMgwqSUYjx6g`2P z73I^|7xlR~81S?>TBt9HkRC%xa5+{KU-k78s6Qs?B&unbo%c^!aXU{KiExhQw>e;t zBqJ{X>%P1M43Yr^gYhSlC$uSL)tg5O<_&Q?$#|SRQQ4RgM2a-T+MKim(DkrMQXkr5Ja%?vRcZ+(ZuT zr8?hkf4E1Q@9hzpqVPwOp$8Jpg~d)Wn9SCJQy`7 zrZz{~SdEuJ?J0m6fEQdji~=5u4FxHZGt?k)D);F@{oZ&qbo8D0m10zc;XFu!<1Fj;@;+By2G$ZEWlQ4?|n3jwXsO z+#wBF)Z_qG3?j+f8W-lrF*%KXVyFf3pj8+WQvYYl_2Z{(&S+kS;U&@Xx*`!IXbFnS zf@tSHh=Sa}K#M~EP#yk;RA)kpwt=OpS-AhXw93Uq(TglMt|HK*Ayoky9o!bkjOcvo zXJ9AziNFOkVjZA!i@33}A3AMEhU0M5$AD`+@fNFMIBqM#F@?ub8^UnZ+JT!TbW7Ip zWd;iHu8fTfc_@DvTYoZScs@^CZ|oCFfxbX9jV6m9=RcFxr=69V;iP8t6UE$CjCVDi z4ClNaui!8W?xH9YP|aVDkqgXO`!qc+@{++?~=)OlQ3X zMJR-aHl#ENZg1NQQTDg+LX;zq2fmje<96_+iB*_&EoN_5A94sTf*HCzz+t1!=7 zXKf}GAiunL?nR(^dYg~}BNN24=d)x}arAp4Eb?P$TbKl-dDaA`77#p3f=2<-fOinG zG^-C)D=frkme5o21$b-ekTj_o8h3CG#aeSUmgMOYI1vJbvg#X(Z{UlU&#FR2yI}iM zl2wKty{xsBAqB9Wt4$$1v%aGs#4mf#dV`mk+?hgkn03|zJfDJlTbFekPdE_bCFNzZ z-fx2iOV|QAT-2E#I20jO&tyBEbCHCBgiy{R9fOFqwH3&p?O!ww>9sb!HlWvT z^jeu-tJ7QT63xw61lLA{ zIw!W5j&JveY1qVhe&w}e_!)({!r}Frj6LF_;;QyE@{v zwNgB-kZPi>1mpX=q1q|&d;6&*9aV7?w6kQlTl@@%bxQ zRS+Z_R2ndYOu%IPmU%>Rh5oBx@#Tv~^47Xi6f;XZ(7FXYx<(&MCPN-GKZ zP-%C#{v@WVGff6oDXGRa`J4yG*|@-;%OWfP^s5CL2xWy9opn)&%{MV|6VDw7Qj^Ay zNlB;6kTL)%Q4!YsOHaITQW(M{zA5Sf%Rz)KF!tllII{+6=>vu!r<_~KEN0vg!p=nq zVeA14S!`H8!9h5+k%~uB3VGKqKBd7NL*QC*G;_rO5FMkj#eA_eWGR%a0ybQ&{`bFsDex}^{-wab6!@0{|5D)p3lyNG|KI=qrNF-w_?H6z zQs7?-{7ZpwSV?+$Uhc3duHO1#x4R!YSMIKS`|X6LjjP=Mu+s8Mv(ZW7@Ta>L z^xSl+$p`zpce|#C*?6~A^*!=#=JcHbA7*XdSo+SL#pMsQ?saR?t+G3Z4?H>YO6r*g z*)97V+1Kpb$>76dZpfvxGLzEh)$DrXx6ReVm7O}>w4UIy@Q2$wF4Lj9()p{CXUF67 zy;}B|@Tgw(x?As;tLa;5Nso$CRMqx3>~PGw-7l$abpIKb;(`JLI)>Lfu5>S#nEiFd zz_aenOnL=rzdTs+&Sc-A8m^vS(ySs*UhZ^GW6@#v$|lMAE?Zwa_8w%PmsDkM)xn;Q z_wV&Qn)Ca$vR#Yirxz@3*-3Lbb=;j=qg!T-pN2j13vOlVD;?hpu5OtWxpGM1e7X4B z_-#W4-3K3gd4KMS-|bE2?|waOh);GcH;1uyVp+YFo9Zs=kTd3St2d_}nMM>$j_8or z&)xNT^YX8{kDbwB!sCcF6Ivc}sk}6D^V^GN>rc+=cippH?UbJdR%gsNSxoI1KW)g{ z;06b8r9|)iaQejTsDwTrO{?pW&MG%aXJ2Xo7;a&^n>n73rygw*?wg9dlW>Gw(Q(%`1rt-tTaA=`w>aV>6# z_=_i`$IOy<+_$K%*z45>w-5IZIF&!<<<@;`of@;mx@RFZ=N^gM)aq=X%C!zI%`dY& z<@GN2-5)*+eR(3;8DldPPzhi`=)bWdR$~+zIUFW&|iZ*kO{M@NL zRF-F87U};zueJx``7oWck7IL?rm`CWwQ+~Co`eI{B`GmCKIu|y#`+a?9lO?U{46uFHFKJ1$fMH$VY06bt*W{y3 zVY%g*5gCoW=#IF^~r^pbVc$B-w;*E z=13EhsbzQScD`&f#K-w;jn#I|{U?~YNFJ=p5$zX_HR*bMaK*sTuDWUa&N#Inv+-cT zJ?+bDie!pq9mmwV`&w^MMX3s#INt7<-@nn9Sw1f;Q}XuvjZX9nYf_MNeYYaY zD}TVeDTg~NQ!l3m*1C7g`nq~{a#-wK?&d(zXAke#kNuKgJ36{62MxHrwPv#z;SIAk z?FvUKKi%F@yXq)cr_!(d_D&q{aJOmluDYJm-!r$2o@u)zv60!6eS4}OZz#yDvc6+q z`*7vnum|H}w)|+W)yCJqw!Z&?tt})6Vj_A}>9N@J`M~U*M}lHZKm6zx^XkO=mwn=! zsV0{W+jo4$p3mzXx81&TQPI@ZtM+P{`H(BClhT@mW(Eacp6q@_^SjQfivIg;=a)aY z=jKaoGfhZ^&Xr!(UzEFTO1XmC`yX1D?XWmL;;Y3u%jTcH6E;*62}Cb3hXZZS?Grl_A%rU)nis@+eW<-EWH=C)?Pcv;27X z(2i4r@xeETzN+4JWn9w2bNdFCE1RS+SAR@AIi$wsvDI}S9xh&zP(Ii^^Gd0SmdhiO z+s+)DI@zrJ*hQ1&{!J|E^m_QK*RO4zsx*-Vuk>zrY@29=-6id~ef51h$1R!q`1k%s zJ3Dte5Lkp|jZsx4%{AlmCH!V_~4lF3uXLZYCa+lUObcagYRT_Eu=sMN%N*QL; zBUcU_-Ms#<&N+E|0#E$v=i#)q+txtmJky_tVrMtlX?AjE$2X(uo%FpC`y@o=`fKg> z_9xuceJ>sPY(L^kpWkJdj0F%@eR?0^M+wUH~P3z^; zDBz~k$DNAc5%bTjeKT7=<#osJrTwebiuC#twy#;|$g(vYPJH9Sn`(D;5B5Kv9~N|H z&bYacFPr#Wf0WzelA@IGQTZ0J@4I$$8dBrhjy5gghBONvwxYYQ+9_@Ev#`k(+69~s z`1l~~eVtBwwvYX>;BsitlX4@sro5g}Rvl9}B6_v!+fx^2Ig6u3t0wL3;c;l2YVp}+ zlgpGjGkoCC&==7M_GE4y(D&B+6vr8(yU(9B$|1IP_UsX3hJWtUSh8+i3!mf_ZjY{4 z$ZIqIW5;Gg8i~4{8(v_QThA}8a^;iHuXgA)`RB{N38M>NX8%6;W5w!?SubzKxi(Kr zZ&`nTf6rATEQe%W@1DB1{Ox(!X9Lb8IQ6)*x_p`CWw&d0NV@k7lTMk}dDhrLYv&Z&s~ZG=1E|>ccC1;UrtbN6dWM(7%Qteayl$P313k z?)7=SzH9Rhy#~JMf4Sr80b@+w42iiiEOK!Bd1ae*O861HNjtKs<*>RdWLqX=KC?Jk zE9i)%(bo+}Ml098no_v@g6hhduz`(-Jc&D7VUTLeJMSLRbKJeUudr9|vK4IqwD5%X zTD!2Mkpa3LCBxD{aC>rtCQ3*sUQhv#g~8ajDu!UM~}YbN)<^lp<)!(mnOADwlH^vkg6 z(aqLr_w=blA1prUlj%9>o%@lq1+u~yXF5!78a2LAxy9$_x2-d8OT@6bE7Goxa!~JV z;C?%4;G@f;v(>J15R;d-v$2HCNqzU=jR#&(TJPPJWC7hC5> zCcb}my7{Jq_g;mr3COSR)#&(>DzAj8tzRY9om-(@(t)Ady2)k2{y|&2IS4;3y<1sk zF{OpqfnBq!Mcz>1N>a`qhS-f;hW$MUsS&VC(I_-&qa#+fb`hRScZt}*gdxv(qk z3OBxTO)6+;wKj0|-H_ge_XYE;*T~+qZQe0GY2dmcEh~@QVK=p!R@X8#>R`1xLo>Cy z9UBI9oTYA3dt146KD%{i>onN>ZT`vb1sAntz2;7BWa~0}?@Y(X!bZmq+#lgl{h8gc z`Z+^~x88rpyw`y{A^j)<-2F+gd`pW)^pZerPd|0v}ckzb4)tnA?vy2a3 z*R_%+B*m-NmJtp%qKppyqZTx&*n8ZVQIdlCZ>pEPW{KMYYdhM+%PO~2#-T9*DikluDHGAEQnC{!8>E(@& z%=`TEmA^SXwwq&zVM*&cy*k)NTtU%bRH(9{`5m$7_xr1^H+Om|mwH%iY1eE2p3BKU zTF$Ohw{u)Q>C-Q#Pd!&Y_YR$(+-}mUNt!DCEhje^Z7086*D~nBy;h~W_uo=u#G8sM z2DII=_(bEG{mwcsdv~>o;>6mXf}}2M%hmfdv`+h(A5Hy!hE?(!0d48R!X`l#mw&E) zyZxwyM=Lj+J(DnM+wqB}AHSciwbA{To1$J`vg0~y|LZrbETab9d3E1&*oKvd)AyNn z$X~JLGYS>?Oi37R~aK0Gb(@Y?-PZAQ-TZxy|K_r5m!uAJPh z6@|B1wWg!Ij&FbeUf=x!->%Qk`>;Mr8g$`cwKvDt4teeC(Y;QmCrhipnfWQ~!o09r z^UpU7J6yiTtNF94Ok9>WWNPEEwW9q~+Kqi#W#Nm#H5YHsOzAhMciz?6YaiE)+?H}7 z+~;A`lBx45I6s}+<8kzwk?NndJ3MVWYu4J19UfM8_Maj2c5VH;y3f{1XWnG~-0EMh zZN$@f-|I`qw(ov>TTo)N#-`^-ty;8cPJyu1?mKN~m^R+CU_`YY!|az1PAX-&@bkQ^ zTbeNsKdcLEwm1G<^oR+~j$E_PJ+l7$_lYk}&xHjKtS8SCMC-!0al2-ZbF*L8ZbC%) z+BaW+y4a1H&-^*#M~Z!y-1A<0le=$l z4f7N1>e+d9z~T0Zy^<_PT|V(-X=F^>GQ+D589im~@rCIt&wjJL*>lFtt%{KOK`G8t zYfS30?Q(v8yIv zS!4gpORoOUXWbk%WA%WiyeQ39cC)?iU{|@-Mpoh5k@~@6lyry%H zp0DjXZ{XYkx60U?tJ>DB^KQ?yPl{5N3cUitCg(Nj-oI_&j3rIW9~*BHS#8g}b4O-8 zIQgWR*Rbzm&*eSFnT{@a-DuzP=(=U!^l02|LfCKZi$2h}Oq-P+pOiLeak~80eYb|b zJ(pkd(>xirZpP=-gz@er)Sot<^Jv+Wi&b7XEmXCQ{ z_DH=4bzgibGh^^2r=TGXuP<3@CK^_;bL5*!*{^&S7rIQyni;36=ijkoRC3%Zi%6ZR zhb}C*$CM=xD*3N537>0jnO7<0qu_3AP*QB9fZ_)hHSjDH9w_{ z`>ULX6HKQhckODLawFJwV$$cso6Z0^S`^=Lh8c8$QfqhqGtjh?*iy<9joXjVZL+Y#Dv zd4uDpsr+YrXuP|%=htC}H#hR`|3GAx_ti^#&unc>#=Uzp3#!*uJv84WC_i>_gNDDZ zt;n+UdE&VE*_T(svZqA;4OPS9Ofn*?JKwVmP1#~=Ida~CignY@OxZa!@Rq-<_LDs~ z)+e-z_%UNl{HilvI#jBbCX)`T5)K^ z;+DNXR5m7e&0&hs&}J)j+YGVVEbZTK=-eLJC{ypzd2O-yF~z3|K-!Q` zBQc{!&!{od%}L@TewwT4ZPV7-d^GQwGVIEtu2BWsgQ8lwG#|U6{~i0$Uz{?9LkG-i z((6m+2<4ejeXz!ldTOC&o=)xLSPnJgf5(k-*2jhi(8aA10wj-f6sf8BUgIHTSJms-8c zG@TT6HN(zixVMYPsg^lDZ<;SST1K?5{bcUd(auT7ntgMBHp9HlsnM26*`7}E+ZwpN zp1)NZy(2nhPpH#NW}7$Ylikb6zT>|izp!=rjaB(Bo?90CSu8p<-gL!x^{R&z^m3 z#bK90Y5lHjeB*Vew|Gk5Y}XTRmy-4*I+fZKbgB060SktWcT0L|-oRr}BdfC8J9`xl z5f9(iZu77!p*8a>q+O_AVQ$oz9`7&wSo`qA+M7={)e3Z(7gM*-N5`-}vk%RyHn(Be zjMm+Id|NSO^5(Mvzh<8O5OOkPeZQv}`%W)xC2s$I?zL*oYwr5^>)M+>GoH2X+IaH! zR!=%5&ny2u=S-8R5A*8BzUinM{B-!D(T!rhHe6e;L!*}sk_Oue3J0FPzjMa38$&Y> zuC=^!aM8r0iR;(&tJ$HZW!+Sdi4B^jnzns?xyjYGk6N6Kzj~s~t2sS}mEtZ{j2UMY zx%GT0r=V6_Pb8n8-P!HK<{L@ZU)P_nUEu$|ThxP=b0fwdSv0z}O~t_SA6neqG{bXZ zP_;1`BWrqnnOXII_SxQ-W(*r}G;nm2-+nm-?T5deZL4!$TywCGU`_rJQM4}NWp;Oq zv(FAB9lWABK4@2;sXtD4p131X@^k;gGoF_I5#`kw0 zG~j9^HEy~%7%_FVKbg#YpW`0iPg)7%T=#%kyxLd^(#fAqe z(*v!pv|J-PUZw1J_wC~*xkY}i5+7No+}>5c_C`I|3|(S%yUxT9%_8f~S&_APaOd0V zMQXpv=`T9%-u>Z8(#AZK@>}1ehKQuw)(?;#T+!yph@JavcboRe9+ABEw;-v>yC>Th zzI!*NkN-SK4Q z!qyIL#$SH2Iwo($@MBw^>7pz**FM~NV1q|Xm!u`fHmEt_l}Cryws*gE`*|SOQ5TtZ zeOBdK_w2VEU3|*c>dm+c-;?WQW^w&qckEjEW%{SJ@r&$btv}i6rkxx#$E+YmskoTb z#_6ibrSd*YGM%esUaMf;XP)xZkD%$>I>dfBQ~KDr=Uvvhx3HgmaLtVkx9bPYI(p^J z{$mRj>tCPgcQm8fxnUKLZkzr2{;z3fp$BHoN|hbI;3ajwS9N6Xwr4xJ)Cue9Qm*XK zxP4pG?ydG|(Pkc3v)oGW@c~17bW98%H{9fj|AA|kW$o&(s#0fs^i2CZvuduA zeZlc>LtPsjKUu!~j;OhP%2Ro0y_d(()t#@bh$8ocIzgArxQoZ}l)Pnk!j=76V9Xm8UT$;T> z7?|B9CV5IHAL}9Bv*vzUAgI&sq3gM9i-+2^lcpcDwLbEs$?!?{4i^rzb12YuaaOoyH7lAa+`O)<$rmZx>fLuDLdW99bR|6&4LqmZz zD=hfF?xUi-tMB*($g zVXouyL$~)7oU8tI*uix!Plr0)mCx>;t8Eeg*mtEm(rbOg0~MBf-(Ejp^rz-qFFc7H zu`c1@kLum~jh@%KwQkj`4ZC~UY;G31_3YybN5>Z~Qm8+?sN8OmP#GQlao^SLUK=}{ z{!q_0Z$`m<@BY5_KeVI9XR7RV8_T<_`(eMjQr8ntu6w+5Zr{Dm{JX=pJen$RGc47A z$kqN+stxk)mN?h$Qu{V8=WTyq+OfCUsnlBm+mDS1ygm11R$`+gO2M}YD^?E@!n;0y zfB46^UR~zwFFQS8krcW8A$G^!N*?;J5x+h2 z`@^h+SJO}04Z2}{{W8hjuq9a4@99PhA6xmx`7NzwB-d$(!9zSwC$_(#5wyC&ZEp zOPo%YPWSIN>rn2&FN4yO%#*&oP*z>z7~e5r)smBM59j>&Illg?=93A=`R!Jta_Kbah>_1?0bz5sh-t|Y>{y4JN_ckkI2ZlFrpsYn=5u_*R*14O3=RfZZH2YJLLx?RqqmVIKUA@HZd zkpnn43m`y=MibTmIWQd>&SO za#y+EokP^)AHQk)LnGLAf#^98u2b=KOg zMAh9G;`|+$q|N*b2Bu!dN+MQWe{j(F=9YKP*=cMBtg4i4R~sm_2T&Q& zhPvkFF?1b0=;C|+$w7%ATWY`<7Vb6rRy96Tnfr~dbx*~O|0C5x^nqN9ae5-KYej~p z#@nWY0Vv)$s&4pN^2|KNWq3E}idpmii_P{iM%;24_j9aV@#Fo4QS6dB^VhPKQ+Y_! zDTM6B3UL)uX=>rCX_UfI-zV6y1;i5S9@=j5^@^x+bXw&_TVMIGR$PVmV~riZ>3o;z zH?vzySN!x?geFx7#|r*hSkTxR^a8CcPQBp=NIS&VBRXTl^%q71q?!=% z#k+?On@?0#Yga823#XiSZD+6p-^QYLmJF;gyrNYj0j^O{)T_|$b@7&U^)9YbF$)Tc z+e}SNfc)2J1yo0+#Ia+CLmS}>PyY-8_W;z5ZlNKOV(eAba&TFCqz-s`haYh@JNF-E zjF9rgnH+#$<;YTVHBG#5>p;mzijNuDsq9OL zQ&tE{qB0-iyJ$82@(vGw$njaMmyd*Lwz*$~>GJsr_VF>-8mJ{QU$Liz75WFLQ_dn_wGr2m)@e10T zYXyQ24lr~J>JLd(JLf`3%7Q+OyyA#ML=88a(fsj6Mh@ZZkvW!qyw$N0Ra8k&813v> z+p~RSjr?UF@Zi8fz!~cn7I8L+&viYV=AeXBCS;YG;R{jEnpI#;ogFuEsFVsI>++El z{1UJp<6b(uBHkdeSnmt5!Y}IB+Z{S*d%Y(5N<2NihfKOx-}@c+CSOuc-J3XK?MT6{ zf2b1$3ID*;Np&A;;CYn6>Erb?K-6pgO>Ts_AZROWv+=PU{gV`bHJjB36^B;2MIvN# z+cY)G6;7g};(BfrM)mP<(>g9Vo%Y5l)qlr#EHhOc!tt+;O&cOMHIqlBS+tZ7EoLNd zSEQBm*YjDOz}lzx@{N^t}b2I0&{nX=uX)wX~ zmwWSLs?}PUm9u3n`DiXICgyjKc6tKGP$)ppL}nONQtx>t!ggD6l1aMZ*Ye$0;CODf z-3=gx`81woYo9?R;;}04i_#f^b5>e}(?dYGGCglYIMpjLMOmJB_W)oQFVmkaA<@p2DORF7L zB1#FR-K;sjCpoj|t>6cS5YDMii${&PV=rMEi`3KpbAnpdsYX_(f$7@07pKS%Bo=BC z{=;R3cdLm+8>5T;2lRKU;c+u`liZL~IY*4@7~yK|j8+IQp&ughz!J^3-?lu~B5Yd# z58Gy2R5eI9jCpj?uoVF!I(!$5AO@QgZtlOdtN~%UC}oaQ5>Mb?{M$fmq8VgKddJ1c zQ*PC0;bG;6!kJl2C&<0{-fn5htDSd zVdU-6`}~nzws0&gSrpYBnz=0RBzq8znPaMg@Equ%0Hvq+z%`x{7_UN|*6pqPU?Wfx=6B9^u7ySp41ib*{W%p|j$wj(Z`m*+9~Hf?*M@dDm_t#@68 zd^usq*FSI^;SNdk&8z)QFUPl2{O#*ODu6)qNB9+>Op7%3YPc{7P3B;?Bx_72--9>D zmbx|CDNf2#_d(N`C$gUG%o5yp{Sm#ryIu@8Dbi1UT$inKlS=v*2L~qZrztMm_F!c# zg}x_E_bar4^*SA{C5vFfbvpg|O^|wuI`*mX5z@KaBS4)q!@ppaoNuXuLgi;tHtJ|( zB!xzPDjI4_sIZ`%xJtGzvTO8XpH#JP8})I1`0uik;?HHY0-JS9`D>vhJL-Qi2-MuG z62Qu2?)qUI4v;45>0B5bwc&sUK8|uT z`Kn3mTY3cYn@EaS6ia?hCJW&3X`?oEK6C6-AT^HqK=93Q;pAkA6jj$C=)J;)s7+Cp zCsa_!p`0~RAB%6IVm6clu>r26qIq{f5B&8UlFu&1NfUSf}>8_{VFl>bZwS; zocRISRgO~Rt|AnBz*@vHBbqLqhKAK<$cx)aU&>ceP<21+vE_t9j}OX*&#)H;21blZ zgx)BGB!4qV=!u6P0tZhvsoaV}w#S@D)YL7&7qI3dx2_GJI11l?bH9@r1tY(}Q!ULt za{+j#+-!v%CB;-|mBAoo*#U)p$+}}hdLz4)I(98}9;{|QATW(LWIV@jHn=ok(zH|u zQf&GJ{wr|<1DE_t`AtL``PWP3;rY2ipj)D8NV@CHPE||2K?$gkT*l)d43GSN4o^Kt zWk4Qzn&6L*>C37FxY>~~DohtdzynM-)7v2Bj&O%pPm0g(WW4VWp3jwD5l?zGQ;dab z|8g5OQHl7JWtZ&!y#Oga=$0d-!h*tH#=b1D^sp%_((YPASmJcYV2+iE-YDMBZ`8=Gke@K znL#N}p>8@z6C59-AJPJO;pDlQq)_TpmQI3v?qvrihxwgF7dK&kU%Ap%JVp2HGYF$W zB#*LnLAIhH{*-mylFC7Bs*_v0eiK@Zih4aPr?HtvukX9LUQuf+HwAJ{&W z-xJAC7b1+4Yd>Hbz51W#Lq*{Vl_3UFy;xR+RyOlhSVm%Ov!E$j{IrK(iKVM;T13Uj zP=nz?)R$}su|qQrI*T!(u6J>_XJyx?$!toSfYraQ51Y;!qb9}~p^XyR39hW4ORKN; z#hxbSBg;Nu9zCJ#S<3N;4zEXFs~4HQha4RM*0Nbv-AN#|k@yVpfW|kH*DL}JM;jY! zKVZ-yn@LAJs)Ixul8)?SK-QW_d|sF2@Psxn5es~IJOAHz_Q~5x-74qGnp^MGgyKYt z?@kR9*1NhX0GEzamn6sHoUAcT=*c}xUK`!u-qqq#sAuhHZ6~?z4($Sjts-E zPBZXv+pSH(?@}Cu+zs=qxeMSJr3T!1L31^gH-x&uP735r1^%6MXi7Ek6{>sw2uHGn zWgQKl=imhS9IR%ub(W7MwkcCmPMcRsL+Jr}*z4clU;2WB-H693QLvk9YETMdVHGbosm zNUWhEpV~G9iosrNE<%nPeRXNF&#)ALsFA|FB#$MUo}*1hRZ|5F_}k#_0wYW+rN3sR zN2!ib()jfa56K7E8kB_3vsP1IgB>uols5Dha*S>9{IUV)PH>!|R z;hW2vmwgyYJRb%0<8OKyguG~^Zd$c^QQGx&9{#X%LphkY9v3z>6=aaMgF}zawv5E& z?hYKiI_7RfbBHjY@R#*o66)F4wZ$FB$W^;6WJ6FDaRSr%wC67mn4X6~Dq#jh!bh(} zPu-)ivW<*`meVRY--lfsWXMlELC5%HSf-oH&3D^4=P2AlVe7puGy2 zXA0rzy3iZC$c=Uo=rEy^^p$E7)s-=S+cW&XdcNfPP#Yw5oA`k=$otwnZ#$Z@ZO8M|E>QCkI`OjBa|7 z;`Y^W*Z}1Z-gwxw(->MLLy-)=iyMeYev}2!?9y>2$8hV4g8@?8<#sU{6cdnJT9k?6 zPAwPqyl3uF)BuC!7^PHf(t01;Z|#2vyPrD3j0E|bRpW5;HvL2e+4JFtEGg_Ti?`k< zq|M)C3u50ip!K0?$qN91^aEb+xF$()Ud?u*I3*vF!@t|JDK`ei!aLZ#Rq}t;)ig5k zppu&$?r%syYtcmsKd;>3taX|*_fStPJTPf#gv;s5-;DxYFmaiC)v{IHoG-2sK>=&` zmE+pu%%m64Q29(TD^B-GyLFE!8J~%Jcz{7rT3jB2lb=svmMIJ+v*!PXka!6M`6@l3 z)o7><*+Bu^K>`0Dz+($d)qr?{1yN!N`4PR|zc^Py{xaJdQxH)i;uN} z#v1z~yrKm{{unC>nbs^JrG59q`$ka!j zhwDI<86D3gf!@eRI!JuC>n8HmzrU_RYb;gPA@V&em)9P-529Qs?VXV78jFjqW zSSBtPc&!wqc@(|Dc=@{#evQ9A$i->bT1-oZB~0l$!rA!0UPe#Kx+Pe1f&z*`o-L^e zv|uU`EH6D?XxOPP9Qxea`}^~Qc^a9W$eEv;c+`q>)rp_l z-_XiyV_F{IF9D>`V!&Tc+0#elXmgB*P?7A83#af*G8w7>z2qRPTmah`!2iL(kD`o6 zk%r!>3AKjI9e+!G7WN^~_^K8lsjNQlR_+cR)V3M?t39S}<%Nm_Pew2y9Q4g=!SJ(+~UC2YbG1 z*}C4Ctk~s1%~^klJWl%lzDOapK-I_|idNa|C9PgD^YT3lR<$4q(*l8$DLuUkoF;VJ zYktv68XQMSG`a|SYO~fm&?r!$*cXLit0W@Y$g~>=E@yXy+;9C+rRX$cy{@jugdJeW zkKQ8vg|rg11Y75|Sol_EqqiPZ(AyHKoQYfd^ylLAoCv7CYvayph_!UNNveCzycdCC z;wW!R=%iJ}9%&(u{ix8nZyWxMUip35!oCl0y{D8APT*R*qd=Nktq_-zJH4lMcgCjP zLI6AWwo?#?x-=h(_k}TccDhvuYk*x8BT(-Lk;QR3RYaY?=BwU(-Qdg2 z!FaTc(KT~`oJ9ZlimIBF&&g5zr9Fn$XK@?bgR*C^7tRwKdW6WYX@2ml#f&!+Lo;8h z-p@>Pe`|mkCvsxwJsgyg`ZMnnlz+BU9v!4X5ek1|Zl9m*>4)H5ySxiG zqVs5qB~A+@Sof1b?FQtnxl!@w;Yyf_LwM}8Cos`TJ zk98mKE50|~89^?PHYcU2Y;}w+$qQz3BDts4Lr(Vjk~0U-d^79|Lbdh5t~AE^?1t4Pk_hijOKse3$-;mu%G> zm-<=0EDueEe;DKH=-yiMXW?;vfunQ{^gUYa!Ow394_ae#3r1ZyfapDHJSnffb2O#Hzl@5*Fp00JEhsg8YlI^r?u>#2y(Us7b9Mza4D9z* zvKMISXlJ_(m>Dvs+xhQ8=fdJSoUXguktl+QBVkZ&VL5a7YVPx?EO-rC?Xd`tB;~iH z-({L|Iys#5L)?m^J+&Tt<%1Cit73kvt5TE;uisP{@xY%PGXmLS!_2QT2{m`Ea@Msi zulYIqmAm5pR4fgO9s6gO6LWIYP~<&*&l$PK8H+C#)a$~-45yTr106Q-~Zmuj+u z#SNe$7!@4hF_BaZT$XaZ-CQ=RrB zSB2e;*ULxo*caGFawtozl+#^PPX-yr4hx@H#y{##gI?3jL{+25BpK=(7{M4{A!lcGe3PT4hYe8hdHIFx&*LbVY+#h#Ut8vJgm;fmpt2|$V zmcq!J)M!6F=2}b~dr_l#=njf_+?Zp4bTXZMI(by5Or%cyrHZ5(&V;*)xsysQf?XZ> zFNL#^GGT2KGpxK_I#fjjP%tpZSibGup{{M^-tA+b)GLi2Y2MmZKRf5hbHHdAYP0*! zuSN>YfvA>kwxo3PjFl~+{t39-Jk8u&4lVzQiv4=&X$##>o0Meawq0rOoc88KbJd1N zV|PAus`G0fH^1+q|At|B#I?OzLrH)Z@=WX=2M&dsq_Q#o#8?74Q;?w%L_l4i?IouE0hxKOI z8(a(%=%UTvM>E&-TzSXzXyh%S-dqM8h4Cu+b40w;S5FVk%s}g%HICmMN@37uwHD4r zz`p_GvQfHI7%Kl6>OrEc3sBR+YMih%Z=lP^#(7;AI!vP$+^i7rB(0iTseVPx>8*zZ zyeb7*(c6Y1K;N#6b|EvJe1XMK>J zK=RuMkGOCBcy7?1)qSviW!!F1?0Q@*K5t~B5H$C3$bz<(xUnj<1C@1*8qP~lfYddzMxAlMi@uc&^Q)KU#hL(%Ot_F+fJly~K zt;@?(74poVNcmT4&9d%Bz`uf6VA?Oe-p4`9@ij1ryLM~WhjxEEDF~lBr9_rmvv{e#_g&fsH<(?%ZtPf7(WTdV7O`2FLN|6B)-I>q zMW&pbnIsM(u9Ri#PGrNdtQkS^Vr8;5^)K7f@OT+D1aF-5uYqV!i-r0zBL?d?hC@-a z(kj>0sWZC$wGM5Xk@@E*xBuqnG{qXDMLTgchkoa)bjAPcBac5_9Fa%sK3`g*!c2P!65Kii3=>xZWLm5C8o9G38=F$S5!| z$%3oCQ04v~Nf-I*BgbuxW5aMjG7Ct0*#lA=^pMtV(){cse<3c^wO~ZqgRnkzifRd~ zs82{dD~T{E+Zv8&r&lr6`0cDQ+f^pgVWL8a&B8ojX>iqB3Yg8zC##djCUB3^`5*wi+8r$T+7Yd zHtO{qo2L`++R*6OvP{MqJ$Ee)t>iK!>C}I69mZ~heYj#|otoDZlalc_n9oFJtI=U> z2&X|#H^FE7d?Js%ld=gDph#e^+H)(TD)UW_B3pVg=F0yLp$Zisc(Du|MOkPnH}Xht*)sS1+`i-8VHdy%oxClLBpka_zBgGghoBVo z2+z^Xgr^T_;CGA-+=AtZnpg$nPu*1>ZjjYHrlt@i8F^4(aI_4x~BSqK&8}>M8 zo?=q~mvIEOJ5<}X%P^4?&Xm>QmT;M+?P)T{w-o=t-Wgpn+o!;Kl|5T9&np`VVC%E#I16eLku%8EV9-ijk_C#f+Q4$m5Bd8jEI(? z_}4agH*Jy$1a>F6)#?uipW#Uk(VRxjD|%P9RypNaYa2Pg6+2e-!U&f2V@xqKWs7u9 z-l!npd?)Uabm%0r&!g1wxfnwQT@yBf(Z3dnNQ3aqT)TCCalmuY^#C}35SZ4v6zbDI z5947PULnvCSZGJ`<>_Ub!StY*j-P+Ne$cjvPR_xL)YFr<*z*hXbIAxV&)B`D9enyk zf}aD*Ry)5<9=ry^H~ZexspGC;?wj!9n}+akE#Oi#+`51LN@R=m%0 z38q0f@O|e+3UMrw-60pUJ25~y1kwlw9py5Czbg#v7_aj`@H z4o3uIOOZ7%jji<26h_Pj z?QuB=nJCEl#KP>}xRS2L__9gKGFa@NuvxE3@8}IoR*m;punE4xYGTBP^B@Pw<2y0T zjn7>e04kr}fEs?4lhM8A)M+=CyKu!khmZf2m;RMjd%6QXDG%GwWl#91^Fj%=fi%Xc zV7c!;oy9^Pd0i{=Mh)wTgpaLYX;(=zwB7y?Wo1#XXrRu$;cf%rU%Edw%IzSP`u{v- zsIhCsk)YK!I2<_X9UEs%7t<+{q9=Ae;wCpLEcWhXK#CkI!P6+v&n?15^fy{#`xs{d z3h3fN_Z3H{>Bt4V$B*#C#hOkHd+;EPAxW7H_cVkx`w=tNMie~pvp1}DW9J$fq)GBv z9adFjMkW7!kTfA(0HLU=;FIUt5i}j63}>$OU~&}S2=;P5NI^XSSo;hWfGyc_N2VZZ zbe;yetY|vt@fo-aW(Q56wX5oIq2EDvg&13Jcv@Wu;2YQma~>AU+XDEOWM##{QqH^@}qK&C=reKgc{ z3ZL*ZRP)5#PA`GNAgWKGuBNz9_(k#Z(bCVz@bpwS-1`&XIKn^RS+$xECx_J2-2K`e z`rQ)Xe>4H!DD@8iS;xI<3{-w$B#uxe*i`*6>`bV(@HJ=m%E~=%r?mTg+|B$ppE*5}{{swEx?1)fk7NbVqk7%QcE0& zavKhgeWJBaC^GV~`teJ}g_SG_c!g-?AR~*!^|IT+-Q{Vdm#J(nIwc$=RF^)DVPT_S z_0mp|B?bvGdzQ}3x4dJY1bytGN@dd~;lKHa>Res^>0o!g@}LosB+8);1$*LsA}-R& zOL)!SzolhE=nTHT^!Zk>V|aH6;fIJJ$oEK6zuZIJcz%E)g!}{JSYT_Y&JDZ zb@<%#|GJE%$A!fjFiU*JFS#lds%7Jn+~Ms%w*L-v;Iqj~(U$y4a=x(0O4abQSSdA^ z)Lh34Cmj^qw_JX0!B(k&a(#8eF9#^J|L>=MEgSS*z%bFFvtn`8kI&Z=R**X^em4H zU~TKa8Nr=g!2hv^ya97HAK3Jv)PF4-`KEXpE-d2Ai(k9BfH5+qU2s{h>wtP@ZOW zj3vDouvm6~EjK>_X`07uREF+mUrCG`yW^%1t ze6vb?c1-rc>}X#s7rv6=q3%E=C2PeCZw9~xj3Xp=>gl{JeB@7h7QJEn$X;ZBK?K=g|;M>|Wj=GaRdtOKjwE@PHIC!sPCH6&{33v*#k*xZqr z0g4S_>^Z(Wxp;T#s-hAgl9(1JJJI@C?}0dT6 zLKMA`KH;|)CBu@-ojeDQ-4UTY_Wq+KmEX326#Pomlhs;J^vlJB{_a_QddI ziF@6XYi=Q-DrVr1Vz5bIqewzx%qAaMI(w&r5MRdlqQD1xCMFT$Teya|X3q-DZ|DLd zOcQn7Xz+XtMw+5b^-w?gyaBPHD3Awh7io!m?-fE$C>SZ7=F589Ob3^#x<2vO6SC&+~ucX!5ot=w?0eo@;{y9dg1k7S_^`&Rm z{J^%Abl)8Q99t!>LUjOfJnZ~Ddk^eH$LyPi^*u)w@FluK$Y>Q$>os;Q1h<>Grwy~T z@{@(JxPg4uU%kT2^bVLT22?LzNtBa#pb9fCKeDHR?di6)hD)WuQ81n2pTbs>YnIB( zWn2#Qkt>PxCsiibdjJ_9XHG*Tfd#k5K^i$dKt75Clw%vQhqmET(CE7kH*)3PhQQxj z!o~_`r%VI3*nb_fC>&dPAwb7W-CDA>0 zh=#ENfXCioAh-kPKSVjPxEWJg#-JFE4z~S%=YERoOf^amQh{g^SHu&f3w$)cvokcju%XT2TdU#!f`w~dsh&du4LCF5yrg%EUR0>h$#%W%to$Z5`iKlQ2muZxB7>Drd<+cKVeUX-B@JT z-qyKjhu*rD^&ISuf&9vM;)M~D$MO$%yL{~+dgH}*{{+Y8dZGSUQXA|iyVNIq$4dJL zVwpDoZgDTYCI5|=6jmdD6NwPmDIbwmQiZ3}1j*tFq7SMlv3dCj^b}XbRM%;+H}HUv z&UJz3bq{}WSUY%An@V2HBLtod*Vt*0-!_?$)A}{{6J)T!a17Lkz{=Rlio=@vb2J#~ zI)y^T;i|QVtV5joeg!q{ehoN+7k?t6J<|=*{|abQ(id5(SH08f4Ct^T6Int=G+3z? z#h-|ebppR*+9g=5f_)#DI0o9-EDK`8$ zv`io7w9J#Oa zUwZ_I`G{u}g>;@&3+;MH&Ck*WIMrC9uWBeE{Wwm81{GlYi7Imbb;qQx)H;fNoiGU{C~_I(t{uOp?{(1Q+zZhcoW|c}ntYuLnmv!O^-)G^5)J05 zI<@Iig{37Q$&3HvHzk+Ykr(aHDs4~ibY7C8Erg~C#QZjuR3)D4+3H#W3{=~K0qqO- zpAC;L?tE^u=ja6Qjb8pemO5qAvJrJ0Zz|I!A73>B3!gY!r8< z=vi+#kBbfD9QNv{0?bG3szfLK-t7Mn@yob*sDzfF;A0L&?cE2$1B2sw7qWr zq4$pybS$W2u{~`vN`PvA&umetAv8`C8ILpk21W(&&+*P6;6U;U(DuyC!p8?Lo(djQ zS-ax`$RM9Q=Ir;1Z9EUN6lPpezJkIF5M!y-e-eljfre)M<{^G5ZzMIQ>)NPR`8! z7sZH@D44g;dsBOs6tC-BEfzt{du8EsfliOZt>Hfmr@lDt0%!I59kA6*;n-rywfKa@ zQCAcZ_gZ^ik|{QNa9faTd5R9diFOZcn%wLIVSxR)-FnGCI1s5oVuF(XbJ}M*Pp^@9|;ltucHJW(}zym?HZ6EkZ^G}vYlipi5( zELB3Xn_$Mes}d4j3e;427i}?pPx6!&WnwsXI(=0I*%w7(v>h=tK+}%-DNR3IC@$YHJxS%O{P4S8qES>K;Epw z6^zQ}V(DRM_F&U~UqsId0bs(h{4YUF!3J{7-X-9SG`Qfh>jhn&e)k?E%^MUy8xz1} zI75}Xdtsp5;PrqLp~Xm&#nsS<40EpHv*>V2exMV>#+-Li%81Y49{+6O!!yo*K7G|U zBMG;?x9plJ)=%nrBuoi(oR>QYAA-!T#6Qo*%dd=y6?yB3xdW@l_-<6*P;SqPOFv}L z%W1;nKuVP21p1pw_A8SN4)|!iZfxe+wgf=*V7$Q|XCKa7O}cof^_Bp+VS;6{9YVN> zW<%Nj;D+yAP0Z_8nky&r&uGI1l1)vwMt=RbN=ZDcM(X=~CEG`b`sjLKPxqCJ5T9Q_t(sht+&eW*mLV16lY9J{y!wIacfa zw$S-@i(PI+70)MsX_^3*zJOl4S_SGA-9%}gWX-zrZ)Xt2p>>5{++jmB!%_y+>7U=! zrk1R+A>ANGAcWTQFoO@%z&4I|3R)K*juuZ?_jia;rt`o@0Ov-Vb;W{+jA#@rD5AEL6yqq+m2Y{G19gI2AVv*SKrD!2q>R<^!N1;D zk+P;{De!B!UU*;8c9`;3!e2-qrkJpYQxhE;r{AUOHxg}RQ``hCx$Ag|dvMZiMU6#J zSI4ri-Et3~8!2IEwMx|K*AVB;=pxfp3=1-MeLn4Oc}shlAD+JF5`2_493YC&tJ;3?BZtIiG`1vmbs_RAdCB_jv(v&KM0xPOgY*=O#{B?m7d) zO$;gUmYu+(vx51=_=~P+M>*UO*9o+Shx&dD-pj8u^&AS$dcglARMVOdf_CK&g0%j^tmL|*Oo|Ps zJ}Yr^U(z+xuE0KTXP8l@-?H@5!9(H-e4w`f{J@CiG$46U!vm-KOnePG}%EeS6s6{o*2 z3z-Plh5QT|G2UKPkrPEaZO~x?fuKTt*nL3}(j~VQp%y-HcN>7W@g$CLjdN|f@kTOW z*AYNLAkWq zzI|X_CElN&TYT>8hg53A&+J#umo7(yOcnI?>C{CdAn*^`m%_QS;za7bm2=FL0}Gey z1Hn2D_9ZIT1>^uJe*q#{ptWR@o$4glig@*#z@#gzx zSI-87P{n7I#+I@gHwHZ+@*cG3%QlOnJ>HRL!i*%6txH zQxH&anxuJlhjB_()T4v51nsHTgnb%hUH4B_mtH2E140TG)8EJkxU=c3shNW^TZ7(z zD{#sc2{R5T$%)3MN6}UUKwZ)o9Wo(pvd4)On8sMd%GwVy-QnSyB?&PW@kl@%!uim; z><5(U7te0I{cyCqK(52C_g3{2Rr^bUU90jx*Qe&s7w;c&89kBx)xf68TT zc@tl5`CXc5RB>FL1AKFO!WWxbeMKY;K@;T5+k3|QlSs;oe4`UzmiwMU6M(6K^Uw_$O!ZzZz zqX5hQ;36oDv9TACN=nFgTB)*bxA0GJG=GOG49gZIn?bTZ3c)k;yGR!==KS<0z}r|P zo0&r;`_s=HT3@~>I)qUf!&7U>b3|@EegQYaEBB}$j@SZPu2z97MjL&~Cm%?eBve@l z{kPu=ckfP#A#rg(jMq|$dJSj^$cUT_V9Ixv>jmrUU|VQWEX$9|I~X}AkJ=ZTQ*kD# z8T%ee&=iv#?%^Tovld6MQ03**A&h56U6&c!ZrN~spVlSN`vGDKo=H734K?Mi{p+=x z*ug69P4fH}QL9*bo?OZblDoU8Tl@JlXAToggE}RIBjG{&@j}6kSPWiu2{c%iGE}zM zsz|}@z>-?*>#=oN_BHkWeU_VpI57~U*ZU~&$>cL#W`UeBn(3NeaQ9*Pldmhic%Iy0 z;HlA|jyhklap#`>f$s3uW9&-GFt4^Psx6^fIJL$tq80+IU%8`akZ&zkVFV5sd zCglB$-gMj-4t;9Ri4K1WW%%n@06oPU6vfKQD7?30Z#$%7BM#LBb`0q1WDq)b1J>$k zQWU3NKzTzs4Az#@b!Wq7?9p<;dpNtWKxi3SZdpv)rE^`=X<%0o0-Jvo&NmA>5O zVRF7N864;$UKq()N(iHcTn07(E`&Zl2V45uySrB)ZySx}#oLV|8vJLe$m-!#yNZen zrUEtA)lL5ic`=&8t*2(SJiWKe7cfg!_0mz0yGH=P^NZIIGi~VP&(^;+b&Wt(*Ilqc z_Lch@mn68skzZzP$J-XVxCi+7k+O^?xuRLH-brK3d`w8S7tz>kv9!JYtsD?A!FbePAxTtv2rDH!$+rsfH-o@KbMDrQk`>vYbet zgfY`B;gn%MUpFPkw=Kh|ugnhS$C{@G<3YHlsG8???}J)^q~i<(q6?8TG#8`-EfR!h zg=@e%4Hoid1aax?rn^`|l5q76Qq3MM)F=;VHQA&<2{7rquXkflx>lFylFYi>P|WDd48R9KHM9+@-F1oY2GiZ*rrei-!%GYW!202w{e2Dv)XkAdcQLH8gd=sH+>q ze8}05&oU=$X!#fv1y?!7o?bWy+kv#CR0h_0cn-+9R@w+IcP7mDr7hTzru-!ik=;C~ z6nd2fTNQmBn>>vD+@;Oz>Ut}Fc_CEle^Ru&PY0DbO0O=o9-hVu2UyglM02QwCTF-0 z$7`o3_63nXBF)$J{H`KGmOEFG&P34t!%T~dXZ{0*k~H`EQ?uVT&lVhLHWwd3Rvp@q zv#SG_h$Cf*a^r1|H(l!a10rQTp4-m>VfSq-neV!Q zP}T~j;b$&Tf2Oi5RTPAhB0$$#1H?ce)C1rh{ zU7-t@CsVn*!aj{HUR=NJX6Vsr?4T<1ba(+5bSfcFxYFeQTLu)Rv9bT|dG{E(F{EQh z9N#zuEf~ra_%G}YSgpJCMG+4A7ffE%rrzWeL@c@e%|Yk++Po-_3_(q&4fU4Sj}Vso zb#;cxZX=R$X?v7m96!%yG-7C7?t3&{DmlAqH0o~S>D%NqZYc{P05?F$zc}Yxc{fz> z?WzYWAt`76eWjTWT?OZ1ZqZ5=N>;HGNsRPQ*Xd}k2{+T0A?P2Usm4@SV+kH{@<^Ug zyR-35EggAj3Zkjq8&zU!4a}UeUdT*OVm!p7wB$7GoeUdBU})6@*Bd-~m<-v6D^HhO zR%NgTZk`4=4$`4g^{OlEy$`m!NMlz~;{a3jce13hL;*g}=_-2l8D2v+;5b3N+O^PW z-_ius_&7HlkTCK+1LQx1ESjW>08U9HVg|IGGm4JVy&Iu}3#Fo5&#`5Nk{_@xJF@eD z|D8ci%_Ru}g|nzh5)kKHloLx*Q#G8tdaVQ*REoSpbMXoyb-z0jsH8_+l}KQ5T$(vt z+eGMel0GXt8@C~t;fFG>O5@r}M&1=n+{R$$*ODm(AtIZv#Mf%-EP`Fff#PR{(iU%n zsDfXQ^*T_x1j}|!fEE&RsBElw@r;wJ;I-V*r9ci)h|--__Mp^7&+ir*q^glzqmP96 zJ}@6&Rr%9BxMaILk>m}fLlkxA?2HmtG_a|zlaVz1c%y+)MSY)rUdLWh7y1HSviEsQ zNzxl{{ht4IbnqsA*JZHt3JlVsCYS>zwP(b@?SRxE_I?*s>)ykLQQG(A$Nv0rgMhx? zOWK2WV*~@;;NVWSGS$$|*Q(85WTx1j#g{Ox@q&+h80;_|Ewkj#F-BGKlA_Vf0dj^R%mJsZf0>iQPmQDSvf7mGt@{XaLHr?9O zVc6+*Udswn$XX=;A?j+D-U4<4V{<5DMmOPgFG7#*EQEqXLoKNjP)1bkcD)cBo1sFN zXv%~x9dCwbueTt1=v_rR=hAGp1H^5rQece6 zoEN(GJJd@iW0H)yYVszLosF3}CVjO}OvVl_;l|6DlX07>0YGq*D(EN0Ag9s>i?Aup zPb^yAHODHBr>+9}j!pA-XW+|(X~qTQgyU`kY&(-MK8Y;HrGBbdSta)WR+>t1zlb1> zQC2Rc_s@F1#l?jHQk6Re=m{jo8v8UM^Os z9-Nqn)4q^aaOKQNDifHQy~&?bg$KS=r%cwCeUBu0XR=~UYQb!`-030XC&yF&=h5n5 zs8$GEDGCG(+Inz|Jyk!?p6Yaqyzuclh9c!ur*Oi}xSvj+NT|Sq4Reb;{2=tcdESmZ zCWYQ~(c{&RIdMjey=W*cHVtOM3zj|+E<_jA{ta-1mLN1QzVP*%v|6c9YTDar>hGzl z2Eb^fVH->M3s#ZHZ#fm>%)cu(mJEdZJxdAW!b=5S`Y?6HRHeN|9u#uc{os##Mw<}_ zCj;Rv%nAWXVZ>p024AWHTWHrQw4T$i$3^fXuPDuyBVn?%A(mZ{K5?}{@hS9MMRyhe zojEETIBhnUm`sHH_3>GHj3N8Hn+%O$w#4I0GfxCeC(@wdaSLrgjk>cDn+KPI0Y|DT z)XW0YhK9A*UA)i_mt5tn##6I731}|N^FzAr6_CE2>!kZiAkPrFN13pRCb_*!_NBcq ztr~Uc|Hf--F~025#5tZj1wSOZ@l6a21z=zz3>yn$3uf?*4Pz#2F{A6^-;*mqWQlGG8Pu2>$Hy@iduwW<)*I_kz#LZ&RNNba|Ua zTL+Rg#`MvUD`M=Edj*hnx3<}AFx{IfGO@a=8f+`r`#Fw)m~7Cq^LFCqUhdE-*H@3j z6U#-AKB82J)lk!Q?JcHI5o@rv@EyrL9V*&hLqzoNKF6uxZ9F)?gmSOyU=;%tcek?@ zOuWBUh9q;BBAr>FId(YFA0@D4^AKn9d=c`_zOP;`#lZpkfcb~~T>WNH0m1;1gb&>O z5T$NK_5WCSMP5+8AIH{c;sbe&nGp6V4Mu)jRiS??!c_rF~oHkzgT zQ;@tVpF>1zL+KIJ zJyW`CmbI2CqbdsWwG3TiH{jNyzs>nrf1>?VYN3#&VV+;;HQqK;3 zu09$po_YHz5Gi4#lbxyQamDus6Y0G!EezJLR7hCDkvH^VI+lUlf&%}^_xGQlDABRw zD?Nqp6@ojO7w&)4rF=mr$xP{bFrURVugDyVe5Ul=rrT)2p%buFNhL$T)RWe5Q$AnS zLT-4t6$fgO=Q~EZqJ^6B< z_&LMf)oLO9ROTqe@zTx$Lr^dkO+3&X_I}W$hUfLd2F1jv;?u{^y{n(&Ld4Bw`qRzd zRm9G2==_!s;*!eVH+;!}N>u6nJWGMN*&6YYU7hbf(Rkt>4hdr2#<|`py0BtNQ?`wt zzfE_f(F^b~F6D797^J7mrZ6NCjTRwsY8l=O}5}FL&zd9gxxN za9GwV-& zR#U+Oz^F{z{U)qNiTrv>z?L)LzDb3r zh?52K6%vI6AbpJD3hMstznI&dAFmI;_YzNOPKOEbt}0DTzp4lBAQ#2zd6mm_tDKYbl>`20II5jZJYRMQJku($Sk60 zS3F-3qI>SimyKLO2n{gRD_@P>+$^Y4Zt7uo%5}q5ZWmDw0Ja#Q<()}RAb1{MKJ3Fv zLG%8JWUNe0sB=#-#NuLUD?s1x?eJnw!)46N@4+Zxajd0@QhPF4!WJ517_ivnD3bq0 z!6a6OW+Qt4_cJiu(S5II5KG=ZN^rh08aF8J;JRgted-6!@=-m@vNPE8q@c}HcKJqI zg87{eDO=BW)LcjLm;zcB81i9lK4gEs6Bxop(uWuS@c|26Aq{hy>w?6Zv*a;ESfc%Q z_P%d*%)8^Fsdx`d9Y-xPEJa?;j}zjWoubZjR3N}a946ika~xM&njF<-l^Lpvzefq^FF#Akd;Lc|(b1TDBG z{7%RG5nrx2t!lY>*20c$UWJ@M?Os<-+eIOjow`?&WDKbDn0Aozx^)OLA!T zVzdn7y&nrgZ24|#WMpZjZRa?jvSl@E*&u}EUyJ=%t6$+v_t*93uIRyN{tU6=P|k(IkcB7g^{Wvn5mcw3e|m zm$G2Tvq+-+e}+Ds(X5Q{KDP_fQexOQ zn(uks%ZDC4oskl{c#08MmPC##(&J4h?7Ht91dUc!5p=-JA3b`lc}ZELap3idiI2}7 zV|S5}@eCZycL3KYpJ=?coijtSN^(9|CeQ$r$xO*pQrY4$#eep;!Vpnsu46TH%+v+5 z2qQH&j`6!4R{vt66MF%5ZL^Y5+-?YVB~rhd>WL4Q%z4yu&t-W|K%=f_41$FP{X>Ko zBzdW)eIgxf|UH*%j2c2)PvHdiDT{1GRrM5M4-K}M9vJDj8BiP_tGWNCz-$O&)v z@K_L5pC<5h40g+%MLp+~RHK9lwVeOkx?*034G~?I2G;EKKAmR0#ANLQ;H^JSwC@(( z?$!V&Vsr}NXmU(#VikvK@Fkx!9g;hvr162@sO_(%jTsM`U9~zCY zd+!iKX(V*=a&e)Lg>^oR_6~^R9bCBa#EKzyAW%QEi=U)Lo(EteET*x-(#yu!>6B*s z5Ob0xelbGyN_DJwL(9O)u&=Ztk5M)cTDZGJ0}0Ui1juuap>`+Ua`ZZRV}&vatrFzd zkB%e*Pu@AKf#_rj7uT8QVz*NupSe1@v4Q$-Gv`Xm*Qfe=zY7YPJjcE7$B^1$FvgUW zYwo?b4TiS&rx_89a>^9vqO#bohC0zCzc``Ovu@DOELiwds&6r zP?8r#)F027_AF_-Ln7QZG5a3qR3r~1OwGRA*duA;m-S|{W^D41&=nM#M`f3=@;)^Q z(mes3v;FfjMotl{h@J#(@Zp_E0VKnR-&nS7ZBMxy6Yc|BbvY<8kZ?&5affy=tcbAo zY_D7N^XDaXjHC3Y*pzt4cfm+(V)iVxL0R_Gt{YYD-_coPb^~S8(9O16j~aN0cn1_e z!_*vU*cBzpb`>Oj?P)5t1kyXbda|wrQH3iTus?0QpvM_Nt94OJs9M*x$Ef^D c| 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

        ^cd* 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�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 zឈ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�~@? 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≤o@z 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

        d>~-Q$iK|P&kQ0?Ug6r?6CC0NV2Y8a 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
        0M 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 z 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%0ALQ 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

        This source code is licensed under the MIT license found in the LICENSE file in the root + * directory of this source tree. + */ +package com.reactnative; + +import android.content.Context; +import com.facebook.flipper.android.AndroidFlipperClient; +import com.facebook.flipper.android.utils.FlipperUtils; +import com.facebook.flipper.core.FlipperClient; +import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; +import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; +import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin; +import com.facebook.flipper.plugins.inspector.DescriptorMapping; +import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; +import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; +import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; +import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; +import com.facebook.react.ReactInstanceEventListener; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.bridge.ReactContext; +import com.facebook.react.modules.network.NetworkingModule; +import okhttp3.OkHttpClient; + +/** + * Class responsible of loading Flipper inside your React Native application. This is the debug + * flavor of it. Here you can add your own plugins and customize the Flipper setup. + */ +public class ReactNativeFlipper { + public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { + if (FlipperUtils.shouldEnableFlipper(context)) { + final FlipperClient client = AndroidFlipperClient.getInstance(context); + + client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); + client.addPlugin(new DatabasesFlipperPlugin(context)); + client.addPlugin(new SharedPreferencesFlipperPlugin(context)); + client.addPlugin(CrashReporterPlugin.getInstance()); + + NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); + NetworkingModule.setCustomClientBuilder( + new NetworkingModule.CustomClientBuilder() { + @Override + public void apply(OkHttpClient.Builder builder) { + builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); + } + }); + client.addPlugin(networkFlipperPlugin); + client.start(); + + // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized + // Hence we run if after all native modules have been initialized + ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); + if (reactContext == null) { + reactInstanceManager.addReactInstanceEventListener( + new ReactInstanceEventListener() { + @Override + public void onReactContextInitialized(ReactContext reactContext) { + reactInstanceManager.removeReactInstanceEventListener(this); + reactContext.runOnNativeModulesQueueThread( + new Runnable() { + @Override + public void run() { + client.addPlugin(new FrescoFlipperPlugin()); + } + }); + } + }); + } else { + client.addPlugin(new FrescoFlipperPlugin()); + } + } + } +} diff --git a/examples/sdk/reactNative/android/app/src/main/AndroidManifest.xml b/examples/sdk/reactNative/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..4122f36a --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + diff --git a/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/BacktraceDemoPackage.java b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/BacktraceDemoPackage.java new file mode 100644 index 00000000..c2281d7c --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/BacktraceDemoPackage.java @@ -0,0 +1,29 @@ +package com.reactnative; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BacktraceDemoPackage implements ReactPackage { + + @Override + public List createViewManagers(ReactApplicationContext reactContext) { + return Collections.emptyList(); + } + + @Override + public List createNativeModules( + ReactApplicationContext reactContext) { + List modules = new ArrayList<>(); + + modules.add(new ErrorGenerator(reactContext)); + + return modules; + } + +} \ No newline at end of file diff --git a/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/ErrorGenerator.java b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/ErrorGenerator.java new file mode 100644 index 00000000..47e8717e --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/ErrorGenerator.java @@ -0,0 +1,33 @@ +package com.reactnative; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +public class ErrorGenerator extends ReactContextBaseJavaModule { + ErrorGenerator(ReactApplicationContext context) { + super(context); + } + + @Override + public String getName() { + return "ErrorGenerator"; + } + + @ReactMethod + public void throwError() throws IOException { + readUserConfiguration(); + } + + private void readUserConfiguration() throws IOException { + // I know for sure this file is there (spoiler alert, it's not) + File mConfiguration = new File("configuration.json"); + FileReader mConfigurationDataReader = new FileReader(mConfiguration); + char[] configurationDataBuffer = new char[255]; + mConfigurationDataReader.read(configurationDataBuffer); + } +} \ No newline at end of file diff --git a/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainActivity.java b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainActivity.java new file mode 100644 index 00000000..566c060c --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainActivity.java @@ -0,0 +1,32 @@ +package com.reactnative; + +import com.facebook.react.ReactActivity; +import com.facebook.react.ReactActivityDelegate; +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; +import com.facebook.react.defaults.DefaultReactActivityDelegate; + +public class MainActivity extends ReactActivity { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + @Override + protected String getMainComponentName() { + return "reactNative"; + } + + /** + * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link + * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React + * (aka React 18) with two boolean flags. + */ + @Override + protected ReactActivityDelegate createReactActivityDelegate() { + return new DefaultReactActivityDelegate( + this, + getMainComponentName(), + // If you opted-in for the New Architecture, we enable the Fabric Renderer. + DefaultNewArchitectureEntryPoint.getFabricEnabled()); + } +} diff --git a/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainApplication.java b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainApplication.java new file mode 100644 index 00000000..d9b493f9 --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainApplication.java @@ -0,0 +1,62 @@ +package com.reactnative; + +import android.app.Application; +import com.facebook.react.PackageList; +import com.facebook.react.ReactApplication; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; +import com.facebook.react.defaults.DefaultReactNativeHost; +import com.facebook.soloader.SoLoader; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = + new DefaultReactNativeHost(this) { + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + @SuppressWarnings("UnnecessaryLocalVariable") + List packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + packages.add(new BacktraceDemoPackage()); + return packages; + } + + @Override + protected String getJSMainModuleName() { + return "index"; + } + + @Override + protected boolean isNewArchEnabled() { + return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; + } + + @Override + protected Boolean isHermesEnabled() { + return BuildConfig.IS_HERMES_ENABLED; + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } + + @Override + public void onCreate() { + super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + DefaultNewArchitectureEntryPoint.load(); + } + ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); + } +} diff --git a/examples/sdk/reactNative/android/app/src/main/res/drawable/rn_edit_text_material.xml b/examples/sdk/reactNative/android/app/src/main/res/drawable/rn_edit_text_material.xml new file mode 100644 index 00000000..73b37e4d --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/res/drawable/rn_edit_text_material.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + diff --git a/examples/sdk/reactNative/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/examples/sdk/reactNative/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f5908281d070150700378b64a84c7db1f97aa1 GIT binary patch literal 3056 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 axPAxe%7rDusX+w*00006jj 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⁣ zwiG+x#%j}{0gU~J8;<|!B1@-XaB@{KORFwrYg_8rOv({b0EO#DbeQRm;B6_9=mXGf z-x|VL{zd`)#@yN}HkCSJbjbNlE|zL3Wm9Q8HY`sV)}3%pgN>cL^67{Z;PPL(*wT8N zUjXU{@|*hvm}({wsAC=x0^ok0%UAz0;sogW{B!nDqk|JJ5x~4NfTDgP49^zeu`csl?5mY@JdQdISc zFs!E{^grmkLnUk9 zny~m)1vws@5BFI<-0Tuo2JWX(0v`W|t(wg;s--L47WTvTMz-8l#TL^=OJNRS2?_Qj z3AKT+gvbyBi#H*-tJ%tWD|>EV3wy|8qxfzS!5RW;Jpl5*zo&^UBU=fG#2}UvRyNkK zA06Dy9;K1ca@r2T>yThYgI!ont$(G{6q#2QT+00r_x0(b)gsE`lBB?2gr55gq^D3Fi&p%E(p9>U%bv zkg1Jco(RbyTX7FDHOnl7-O@ zI$AaIl?9NJKPm(WiBP`1-#CB1QzU>&hKm)fpa5DKE{2$X0hGz-0uZ?cyTk(YC!Y&| zL=1VrNERSA5NA2jq7FACfX4JfPyj5XXl1yv0>~s;eF7L2$>&oMqeTFT2m$y7FlkON z_yurD1yIOvA;5C6016pyxBznGUt0kJ&k5r#;&>Jow`r)sp9R~PmK~lz$3xH%LT*1U zJdOyABZ3!FvNoR*vN$5ykHS8f`jA4zV+|L}i1C4`B2c{R0;UdYxaU|H)2avz@ z=mEYc|2S<+(B2Tj+FkX+2D+yFI!k9lWMA61DJ{)e;lum$(;O87?vGJJe!KtK04+N_ zI*P~t@dUb>9Xh{dbyl{-ZQ(UMgz7$|QfL5XSPkskt^NgctYC#;4WcZB1@%@wy@2t3 z2z0DI7&%b$*Aw~abe?GxE`ez@+6hOh-6*8fHRV{1os$EL@}uUZeG4h1&Be`98q*7j z=3-v+lhIjfWVo12!<>%V^a6lTgW3+_#W6n|p*~==zOH7z$0{LSZk(Tpd7EaD04hnA zL;#fxS0aD{`5^&D`}>0Uq?byDD-l2=!wm_bLcUl4gc(% za1p|itVANvFF>hghAS07Im1;IK;|b*W)}VDyI;BIp2=K*yu2a)j?B|f<44NI$NbmJ z#dE0>jI$fMr&@>4kN8MLFb4&2O9fEKaQg%(QO$4_1rVQywG^CmBLh#}_7gKW3vd?| z2?1^&KWq8}8I^_S0|)MowU_pw$q@nl@Nkn$z>BQq_KA^9yaR`(R3u{{Ig;cwt z@AJ^{ODQCm^neroM9nKNUAXi9RCK`OsP_LuR0PUR(YZCCX5dNF6VzcoK&=b^r`W?ltt|*F zpkoae%ZT{C1h~EcFui~b7fF`vb<<~j_VquuUA$}QqIKYELPp#;{u?q8Dz}WAG-(3; zjrm$i%7UbyZMM(Y{>!uJ#vNB?R~B{6Htp=>e*<{fQQ5W7V(1coCWlOON!MzZxhum| ztZBQpGR z;~#ur^&PockKdV{Q6R>o`Pl{0x!DEbpZ7y9Y;*ZvE!*gU`V1W3znva{f=?WO5I&>B z&hw6}tjECtaghm5z|C#%M;Yf_*pI^};h}Vl=^r9EN=tVDj86D;C$jIJ?K7VP+00000NkvXXu0mjf D5i!M* literal 0 HcmV?d00001 diff --git a/examples/sdk/reactNative/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/examples/sdk/reactNative/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..459ca609d3ae0d3943ab44cdc27feef9256dc6d7 GIT binary patch literal 7098 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 literal 0 HcmV?d00001 diff --git a/examples/sdk/reactNative/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/examples/sdk/reactNative/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca12fe024be86e868d14e91120a6902f8e88ac6 GIT binary patch literal 6464 zcma)BcR1WZxBl%e)~?{d=GL+&^aKnR?F5^S)H60AiZ4#Zw z<{%@_?XtN*4^Ysr4x}4T^65=zoh0oG>c$Zd1_pX6`i0v}uO|-eB%Q>N^ZQB&#m?tGlYwAcTcjWKhWpN*8Y^z}bpUe!vvcHEUBJgNGK%eQ7S zhw2AoGgwo(_hfBFVRxjN`6%=xzloqs)mKWPrm-faQ&#&tk^eX$WPcm-MNC>-{;_L% z0Jg#L7aw?C*LB0?_s+&330gN5n#G}+dQKW6E7x7oah`krn8p`}BEYImc@?)2KR>sX{@J2`9_`;EMqVM;E7 zM^Nq2M2@Ar`m389gX&t}L90)~SGI8us3tMfYX5};G>SN0A%5fOQLG#PPFJYkJHb1AEB+-$fL!Bd}q*2UB9O6tebS&4I)AHoUFS6a0* zc!_!c#7&?E>%TorPH_y|o9nwb*llir-x$3!^g6R>>Q>K7ACvf%;U5oX>e#-@UpPw1ttpskGPCiy-8# z9;&H8tgeknVpz>p*#TzNZQ1iL9rQenM3(5?rr(4U^UU z#ZlsmgBM9j5@V-B83P3|EhsyhgQ77EsG%NO5A6iB2H; zZ1qN35-DS^?&>n1IF?bU|LVIJ-)a3%TDI*m*gMi7SbayJG$BfYU*G+{~waS#I(h-%@?Js8EohlFK)L6r2&g ztcc$v%L)dK+Xr=`-?FuvAc@{QvVYC$Y>1$RA%NKFcE$38WkS6#MRtHdCdDG)L5@99 zmOB8Tk&uN4!2SZ@A&K>I#Y$pW5tKSmDDM|=;^itso2AsMUGb8M-UB;=iAQLVffx9~ z>9>|ibz#eT>CNXD*NxH55}uwlew*<*!HbMj&m@)MJpB3+`0S~CS*}j%xv0#&!t?KV zvzMowAuAt0aiRnsJX@ELz=6evG5`vT22QVgQ8`R8ZRMFz4b*L1Iea$C{}L-`I@ADV z>6E7u@2*aes?Tbya7q(2B@(_EQ`i{|e`sX<`|EStW0J4wXXu{=AL)Yc~qrWr;0$Pv5 zv>|&Z)9;X%pA)*;27gocc66voVg~qDgTjj+(U9|$GL0^^aT_|nB9A30Cit)kb|vD4 zf)DnEpLD$vFe;2q6HeCdJHy;zdy!J*G$c>?H)mhj)nUnqVZgsd$B3_otq0SLKK#6~ zYesV8{6fs%g73iiThOV6vBCG|%N@T5`sPyJC=Khz2BFm;>TDQsy`9-F*ndRcrY(oR zi`Yl&RS)~S{(6bu*x$_R`!T^Rb*kz$y74i|w!v9dWZch7*u=!*tHWu{H)+?o_5R?j zC3fh6nh%xP1o2@)nCKrOt45=`RDWzlx4E4Vyt~xJp=x(& z&nexdTA1T z8wlsklpvKX6UmIAoqD2{y!U7sJ1pb*!$$7-$WqT`P85GQnY<9f-V#A{D0qB4s( zM}v7W^xaEsAKOKHwfqZjhp--BnCdoIWKR-`Fzd|6nA|kgToLF%fZtoODEB96Wo9H1 z0Sdw%@}akuaT$>wLSecayqMj-91_>92B%+(=`^b?eO-^^iU_rUI1HudU9|kEC)+4kO$7RH+ld1twCmYZY9TvW^5l;Z}B8= z896yWiZZB`qqS&OG0XwC_$cobL16lrJ*2c3&fKbrp9 z%tlJvW_MO`=d4M{%mK#3Z4&l;9YJ1vr(ouTCy`gN^l^_A9NgpWRb8LrAX%Q#*Cmp5 zIwyGcPL%eUjz^{sVkq*vzFy#ta>EToiootr5A5XFi*hI$n2k0Y^t86pm2&3+F0p%mt`GZnV`T}#q!8*EbdK85^V zKmz&wU&?nse8nxapPCARIu14E@L92H30#omJIM-srk(t?deU6h*}Dy7Er~G6)^t#c>Md`*iRFxBLNTD%xZ?*ZX(Eyk@A7-?9%^6Mz+0mZ94+f?$Bjyu# z13t~Gc4k*z$MR-EkcUxB z&qf)13zOI)&aC{oO!Rc0f=E+Fz%3Dh2 zV#s?W#u7wIkKwpC1JpsDx>w@|$yx6)8IuolPXc&F`pg23fo3ut{Vi&9S5ax7tA`Jt zwy+x6 zmAjv170vr2Nqvw^f>!9m2c`;ERAPyYv%geDGY^+1Hu9_Ds%%_dgo`-0nQe|jj?3cV zBs&>A3u~RhH@@aaaJYOi^)d;Q9|^Bvl4*H#aNHs#`I7&5osKp$o#b8(AHEYaGGd5R zbl*pMVCA?^kz#h)fPX{it?;>NPXZ%jYUL7&`7ct>ud@Fafg?^dudINo z(V}0Pzk*<5wlI*`V}S9|VcGUJ>E(Z~SJK!qm!rRVg_iEo}kx(ZP@xbA^ zv5C}~Frbyc79Gf|LEN9bkut~oE_ts|A0;FoQd}xjkal?FrynlE$0~+WvV3FqT7hl& zCex`(-&TN>>hn=Z-GiZcT6`@s4Q={XbGonu=`?IO(DL;a7q4GJT*LFu=i-0%HoxX6 zcE6uWDcb4U{c-Lv)sS5Laat=&7<4^Nx-dI0yhCBphb{EUIOPF!x-K*8?4mhe)ql&=>t&BpmQ+Cro zU}jKu9ZVtI-zmH~&_GitE94R}uPo|TH7Avb>6`bfsw(H5#6i@1eAjnbJ6Jp2`sUyA zT6=~iK`oPTyOJ@B7;4>Mu_)Y5CU8VBR&hfdao**flRo6k_^jd9DVW1T%H662;=ha4 z|GqT_1efxomD2pViCVn>W{AJnZU z@(<&n5>30Xt6qP&C^{bC7HPAF@InDSS1jw5!M7p#vbz_0rOjeBFXm4vp#JW99$+91 zK~k`ZV)&&?=i!OIUJn61H*6??S4i2(>@e9c&~OD1RmDDRjY>mIh*T2~R)d#BYSQSV z<518JITbPK5V-O@m<{jeB0FU^j)M2SbBZhP~{vU%3pN+$M zPFjBIaP?dZdrsD*W5MU`i(Z*;vz&KFc$t|S+`C4<^rOY}L-{km@JPgFI%(Qv?H70{ zP9(GR?QE@2xF!jYE#Jrg{OFtw-!-QSAzzixxGASD;*4GzC9BVbY?)PI#oTH5pQvQJ z4(F%a)-AZ0-&-nz;u$aI*h?4q{mtLHo|Jr5*Lkb{dq_w7;*k-zS^tB-&6zy)_}3%5 z#YH742K~EFB(D`Owc*G|eAtF8K$%DHPrG6svzwbQ@<*;KKD^7`bN~5l%&9~Cbi+P| zQXpl;B@D$-in1g8#<%8;7>E4^pKZ8HRr5AdFu%WEWS)2{ojl|(sLh*GTQywaP()C+ zROOx}G2gr+d;pnbYrt(o>mKCgTM;v)c&`#B0IRr8zUJ*L*P}3@{DzfGART_iQo86R zHn{{%AN^=k;uXF7W4>PgVJM5fpitM`f*h9HOPKY2bTw;d_LcTZZU`(pS?h-dbYI%) zn5N|ig{SC0=wK-w(;;O~Bvz+ik;qp}m8&Qd3L?DdCPqZjy*Dme{|~nQ@oE+@SHf-` zDitu;{#0o+xpG%1N-X}T*Bu)Qg_#35Qtg69;bL(Rfw*LuJ7D5YzR7+LKM(f02I`7C zf?egH(4|Ze+r{VKB|xI%+fGVO?Lj(9psR4H0+jOcad-z!HvLVn2`Hu~b(*nIL+m9I zyUu|_)!0IKHTa4$J7h7LOV!SAp~5}f5M;S@2NAbfSnnITK3_mZ*(^b(;k-_z9a0&^ zD9wz~H~yQr==~xFtiM8@xM$))wCt^b{h%59^VMn|7>SqD3FSPPD;X>Z*TpI-)>p}4 zl9J3_o=A{D4@0OSL{z}-3t}KIP9aZAfIKBMxM9@w>5I+pAQ-f%v=?5 z&Xyg1ftNTz9SDl#6_T1x4b)vosG(9 ze*G{-J=_M#B!k3^sHOas?)yh=l79yE>hAtVo}h~T)f&PmUwfHd^GIgA$#c{9M_K@c zWbZ@sJ{%JeF!chy?#Y6l_884Q)}?y|vx&R~qZDlG#Q$pU2W+U4AQ+gt-ViZ@8*)W| zN}wXeW~TTA#eqe)(vdbZm(Pm3j;>#thsjkQ;WH#a1e>C?-z7B%5go0khC;qQfrA-~ z$^9-bBZi+WMhAW0%y*4FlNC%SvM%a(`BE ze-4>w7)wg(sKN@T-nTl^G~+e{lyeTG(dfoz3U!LKf{rmR=<}+ih`q1*(OB8oS#B&> z;Mf*_o&W5*=YXfgFP}B@p)|WJA7X^OhD8)dnP)jzA@E=&=Ci7QzO`+_Vzsr zPWpZ3Z1>W?dNv6)H}>_%l*Di^aMXFax2)v1ZCxi4OJKTI<)yK_R>n#>Sv$LTRI8cB ziL<^H!Q&(ny#h19ximj|=3WygbFQ9j_4d8yE5}Rvb>DpH^e#I;g6}sM7nZnLmyB3# z!UenLG)cb%%--*pozd3}aX#-Nmu5ptKcp>-zcwRx9se(_2ZQsmWHU!Rgj3QRPn3UF z_sqgJ&Eb=kv+m0$9uW~j-aZ0Hq#b_2f^rS*bL}stW91HXNt0JDK~q-%62AW}++%IT zk!ZO&)BjYf)_bpTye9UB=w_-2M{YgE#ii%`l+(PHe_QjW@$o^e)A&KoW2)+!I9Ohw zDB1e=ELr`L3zwGjsfma_2>Th#A0!7;_??{~*jzt2*T6O%e3V)-7*TMGh!k050cAi2C?f}r2CHy&b8kPa2#6aI1wtOBBfiCCj?OjhctJT zF|t;&c+_-i=lhK}pNiu>8*ZFrt0rJp={`H182b$`Zb>SI(z!@Hq@<+#JSpVAzA3oc z@yEcV|MbQ+i)`%|)klTCzCj&qoC0c7g6FFgsUhcaDowSG{A=DV19LHK*M7TK?HV;a zAAvOV<(8UlC>jP4XE>(OS{6DfL B0*L?s literal 0 HcmV?d00001 diff --git a/examples/sdk/reactNative/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/examples/sdk/reactNative/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8e19b410a1b15ff180f3dacac19395fe3046cdec GIT binary patch literal 10676 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 literal 0 HcmV?d00001 diff --git a/examples/sdk/reactNative/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/examples/sdk/reactNative/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..4c19a13c239cb67b8a2134ddd5f325db1d2d5bee GIT binary patch literal 15523 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 BIP(Ai literal 0 HcmV?d00001 diff --git a/examples/sdk/reactNative/android/app/src/main/res/values/strings.xml b/examples/sdk/reactNative/android/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..b9554c2d --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + reactNative + diff --git a/examples/sdk/reactNative/android/app/src/main/res/values/styles.xml b/examples/sdk/reactNative/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..7ba83a2a --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/main/res/values/styles.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/examples/sdk/reactNative/android/app/src/main/res/xml/network_security_config.xml b/examples/sdk/reactNative/android/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 00000000..e69de29b diff --git a/examples/sdk/reactNative/android/app/src/release/java/com/reactnative/ReactNativeFlipper.java b/examples/sdk/reactNative/android/app/src/release/java/com/reactnative/ReactNativeFlipper.java new file mode 100644 index 00000000..0460d95e --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/release/java/com/reactnative/ReactNativeFlipper.java @@ -0,0 +1,20 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + *

        This source code is licensed under the MIT license found in the LICENSE file in the root + * directory of this source tree. + */ +package com.reactnative; + +import android.content.Context; +import com.facebook.react.ReactInstanceManager; + +/** + * Class responsible of loading Flipper inside your React Native application. This is the release + * flavor of it so it's empty as we don't want to load Flipper. + */ +public class ReactNativeFlipper { + public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { + // Do nothing as we don't want to initialize Flipper on Release. + } +} diff --git a/examples/sdk/reactNative/android/build.gradle b/examples/sdk/reactNative/android/build.gradle new file mode 100644 index 00000000..34ea7181 --- /dev/null +++ b/examples/sdk/reactNative/android/build.gradle @@ -0,0 +1,21 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext { + buildToolsVersion = "33.0.0" + minSdkVersion = 21 + compileSdkVersion = 33 + targetSdkVersion = 33 + + // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. + ndkVersion = "23.1.7779620" + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle") + classpath("com.facebook.react:react-native-gradle-plugin") + } +} diff --git a/examples/sdk/reactNative/android/gradle.properties b/examples/sdk/reactNative/android/gradle.properties new file mode 100644 index 00000000..a3b2fa12 --- /dev/null +++ b/examples/sdk/reactNative/android/gradle.properties @@ -0,0 +1,44 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.182.0 + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true diff --git a/examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.jar b/examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..943f0cbfa754578e88a3dae77fce6e3dea56edbf GIT binary patch literal 61574 zcmb6AV{~QRwml9f72CFLyJFk6ZKq;e729@pY}>YNR8p1vbMJH7ubt# zZR`2@zJD1Ad^Oa6Hk1{VlN1wGR-u;_dyt)+kddaNpM#U8qn@6eX;fldWZ6BspQIa= zoRXcQk)#ENJ`XiXJuK3q0$`Ap92QXrW00Yv7NOrc-8ljOOOIcj{J&cR{W`aIGXJ-` z`ez%Mf7qBi8JgIb{-35Oe>Zh^GIVe-b^5nULQhxRDZa)^4+98@`hUJe{J%R>|LYHA z4K3~Hjcp8_owGF{d~lZVKJ;kc48^OQ+`_2migWY?JqgW&))70RgSB6KY9+&wm<*8 z_{<;(c;5H|u}3{Y>y_<0Z59a)MIGK7wRMX0Nvo>feeJs+U?bt-++E8bu7 zh#_cwz0(4#RaT@xy14c7d<92q-Dd}Dt<*RS+$r0a^=LGCM{ny?rMFjhgxIG4>Hc~r zC$L?-FW0FZ((8@dsowXlQq}ja%DM{z&0kia*w7B*PQ`gLvPGS7M}$T&EPl8mew3In z0U$u}+bk?Vei{E$6dAYI8Tsze6A5wah?d(+fyP_5t4ytRXNktK&*JB!hRl07G62m_ zAt1nj(37{1p~L|m(Bsz3vE*usD`78QTgYIk zQ6BF14KLzsJTCqx&E!h>XP4)bya|{*G7&T$^hR0(bOWjUs2p0uw7xEjbz1FNSBCDb@^NIA z$qaq^0it^(#pFEmuGVS4&-r4(7HLmtT%_~Xhr-k8yp0`$N|y>#$Ao#zibzGi*UKzi zhaV#@e1{2@1Vn2iq}4J{1-ox;7K(-;Sk{3G2_EtV-D<)^Pk-G<6-vP{W}Yd>GLL zuOVrmN@KlD4f5sVMTs7c{ATcIGrv4@2umVI$r!xI8a?GN(R;?32n0NS(g@B8S00-=zzLn z%^Agl9eV(q&8UrK^~&$}{S(6-nEXnI8%|hoQ47P?I0Kd=woZ-pH==;jEg+QOfMSq~ zOu>&DkHsc{?o&M5`jyJBWbfoPBv9Y#70qvoHbZXOj*qRM(CQV=uX5KN+b>SQf-~a8 ziZg}@&XHHXkAUqr)Q{y`jNd7`1F8nm6}n}+_She>KO`VNlnu(&??!(i#$mKOpWpi1 z#WfWxi3L)bNRodhPM~~?!5{TrrBY_+nD?CIUupkwAPGz-P;QYc-DcUoCe`w(7)}|S zRvN)9ru8b)MoullmASwsgKQo1U6nsVAvo8iKnbaWydto4y?#-|kP^%e6m@L`88KyDrLH`=EDx*6>?r5~7Iv~I zr__%SximG(izLKSnbTlXa-ksH@R6rvBrBavt4)>o3$dgztLt4W=!3=O(*w7I+pHY2(P0QbTma+g#dXoD7N#?FaXNQ^I0*;jzvjM}%=+km`YtC%O#Alm| zqgORKSqk!#^~6whtLQASqiJ7*nq?38OJ3$u=Tp%Y`x^eYJtOqTzVkJ60b2t>TzdQ{I}!lEBxm}JSy7sy8DpDb zIqdT%PKf&Zy--T^c-;%mbDCxLrMWTVLW}c=DP2>Td74)-mLl|70)8hU??(2)I@Zyo z2i`q5oyA!!(2xV~gahuKl&L(@_3SP012#x(7P!1}6vNFFK5f*A1xF({JwxSFwA|TM z&1z}!*mZKcUA-v4QzLz&5wS$7=5{M@RAlx@RkJaA4nWVqsuuaW(eDh^LNPPkmM~Al zwxCe@*-^4!ky#iNv2NIIU$CS+UW%ziW0q@6HN3{eCYOUe;2P)C*M`Bt{~-mC%T3%# zEaf)lATO1;uF33x>Hr~YD0Ju*Syi!Jz+x3myVvU^-O>C*lFCKS&=Tuz@>&o?68aF& zBv<^ziPywPu#;WSlTkzdZ9`GWe7D8h<1-v0M*R@oYgS5jlPbgHcx)n2*+!+VcGlYh?;9Ngkg% z=MPD+`pXryN1T|%I7c?ZPLb3bqWr7 zU4bfG1y+?!bw)5Iq#8IqWN@G=Ru%Thxf)#=yL>^wZXSCC8we@>$hu=yrU;2=7>h;5 zvj_pYgKg2lKvNggl1ALnsz2IlcvL;q79buN5T3IhXuJvy@^crqWpB-5NOm{7UVfxmPJ>`?;Tn@qHzF+W!5W{8Z&ZAnDOquw6r4$bv*jM#5lc%3v|c~^ zdqo4LuxzkKhK4Q+JTK8tR_|i6O(x#N2N0Fy5)!_trK&cn9odQu#Vlh1K~7q|rE z61#!ZPZ+G&Y7hqmY;`{XeDbQexC2@oFWY)Nzg@lL3GeEVRxWQlx@0?Zt`PcP0iq@6 zLgc)p&s$;*K_;q0L(mQ8mKqOJSrq$aQYO-Hbssf3P=wC6CvTVHudzJH-Jgm&foBSy zx0=qu$w477lIHk);XhaUR!R-tQOZ;tjLXFH6;%0)8^IAc*MO>Q;J={We(0OHaogG0 zE_C@bXic&m?F7slFAB~x|n#>a^@u8lu;=!sqE*?vq zu4`(x!Jb4F#&3+jQ|ygldPjyYn#uCjNWR)%M3(L!?3C`miKT;~iv_)dll>Q6b+I&c zrlB04k&>mSYLR7-k{Od+lARt~3}Bv!LWY4>igJl!L5@;V21H6dNHIGr+qV551e@yL z`*SdKGPE^yF?FJ|`#L)RQ?LJ;8+={+|Cl<$*ZF@j^?$H%V;jqVqt#2B0yVr}Nry5R z5D?S9n+qB_yEqvdy9nFc+8WxK$XME$3ftSceLb+L(_id5MMc*hSrC;E1SaZYow%jh zPgo#1PKjE+1QB`Of|aNmX?}3TP;y6~0iN}TKi3b+yvGk;)X&i3mTnf9M zuv3qvhErosfZ%Pb-Q>|BEm5(j-RV6Zf^$icM=sC-5^6MnAvcE9xzH@FwnDeG0YU{J zi~Fq?=bi0;Ir=hfOJu8PxC)qjYW~cv^+74Hs#GmU%Cw6?3LUUHh|Yab`spoqh8F@_ zm4bCyiXPx-Cp4!JpI~w!ShPfJOXsy>f*|$@P8L8(oeh#~w z-2a4IOeckn6}_TQ+rgl_gLArS3|Ml(i<`*Lqv6rWh$(Z5ycTYD#Z*&-5mpa}a_zHt z6E`Ty-^L9RK-M*mN5AasoBhc|XWZ7=YRQSvG)3$v zgr&U_X`Ny0)IOZtX}e$wNUzTpD%iF7Rgf?nWoG2J@PsS-qK4OD!kJ?UfO+1|F*|Bo z1KU`qDA^;$0*4mUJ#{EPOm7)t#EdX=Yx1R2T&xlzzThfRC7eq@pX&%MO&2AZVO%zw zS;A{HtJiL=rfXDigS=NcWL-s>Rbv|=)7eDoOVnVI>DI_8x>{E>msC$kXsS}z?R6*x zi(yO`$WN)_F1$=18cbA^5|f`pZA+9DG_Zu8uW?rA9IxUXx^QCAp3Gk1MSdq zBZv;_$W>*-zLL)F>Vn`}ti1k!%6{Q=g!g1J*`KONL#)M{ZC*%QzsNRaL|uJcGB7jD zTbUe%T(_x`UtlM!Ntp&-qu!v|mPZGcJw$mdnanY3Uo>5{oiFOjDr!ZznKz}iWT#x& z?*#;H$`M0VC|a~1u_<(}WD>ogx(EvF6A6S8l0%9U<( zH||OBbh8Tnzz*#bV8&$d#AZNF$xF9F2{_B`^(zWNC}af(V~J+EZAbeC2%hjKz3V1C zj#%d%Gf(uyQ@0Y6CcP^CWkq`n+YR^W0`_qkDw333O<0FoO9()vP^!tZ{`0zsNQx~E zb&BcBU>GTP2svE2Tmd;~73mj!_*V8uL?ZLbx}{^l9+yvR5fas+w&0EpA?_g?i9@A$j*?LnmctPDQG|zJ`=EF}Vx8aMD^LrtMvpNIR*|RHA`ctK*sbG= zjN7Q)(|dGpC}$+nt~bupuKSyaiU}Ws{?Tha@$q}cJ;tvH>+MuPih+B4d$Zbq9$Y*U z)iA(-dK?Ov@uCDq48Zm%%t5uw1GrnxDm7*ITGCEF!2UjA`BqPRiUR`yNq^zz|A3wU zG(8DAnY-GW+PR2&7@In{Sla(XnMz5Rk^*5u4UvCiDQs@hvZXoiziv{6*i?fihVI|( zPrY8SOcOIh9-AzyJ*wF4hq%ojB&Abrf;4kX@^-p$mmhr}xxn#fVU?ydmD=21&S)s*v*^3E96(K1}J$6bi8pyUr-IU)p zcwa$&EAF$0Aj?4OYPcOwb-#qB=kCEDIV8%^0oa567_u6`9+XRhKaBup z2gwj*m#(}=5m24fBB#9cC?A$4CCBj7kanaYM&v754(b%Vl!gg&N)ZN_gO0mv(jM0# z>FC|FHi=FGlEt6Hk6H3!Yc|7+q{&t%(>3n#>#yx@*aS+bw)(2!WK#M0AUD~wID>yG z?&{p66jLvP1;!T7^^*_9F322wJB*O%TY2oek=sA%AUQT75VQ_iY9`H;ZNKFQELpZd z$~M`wm^Y>lZ8+F0_WCJ0T2td`bM+b`)h3YOV%&@o{C#|t&7haQfq#uJJP;81|2e+$ z|K#e~YTE87s+e0zCE2X$df`o$`8tQhmO?nqO?lOuTJ%GDv&-m_kP9X<5GCo1=?+LY z?!O^AUrRb~3F!k=H7Aae5W0V1{KlgH379eAPTwq=2+MlNcJ6NM+4ztXFTwI)g+)&Q7G4H%KH_(}1rq%+eIJ*3$?WwnZxPZ;EC=@`QS@|-I zyl+NYh&G>k%}GL}1;ap8buvF>x^yfR*d+4Vkg7S!aQ++_oNx6hLz6kKWi>pjWGO5k zlUZ45MbA=v(xf>Oeqhg8ctl56y{;uDG?A9Ga5aEzZB80BW6vo2Bz&O-}WAq>(PaV;*SX0=xXgI_SJ< zYR&5HyeY%IW}I>yKu^?W2$~S!pw?)wd4(#6;V|dVoa}13Oiz5Hs6zA zgICc;aoUt$>AjDmr0nCzeCReTuvdD1{NzD1wr*q@QqVW*Wi1zn;Yw1dSwLvTUwg#7 zpp~Czra7U~nSZZTjieZxiu~=}!xgV68(!UmQz@#w9#$0Vf@y%!{uN~w^~U_d_Aa&r zt2l>)H8-+gA;3xBk?ZV2Cq!L71;-tb%7A0FWziYwMT|#s_Ze_B>orZQWqDOZuT{|@ zX04D%y&8u@>bur&*<2??1KnaA7M%%gXV@C3YjipS4|cQH68OSYxC`P#ncvtB%gnEI z%fxRuH=d{L70?vHMi>~_lhJ@MC^u#H66=tx?8{HG;G2j$9@}ZDYUuTetwpvuqy}vW)kDmj^a|A%z(xs7yY2mU0#X2$un&MCirr|7 z%m?8+9aekm0x5hvBQ2J+>XeAdel$cy>J<6R3}*O^j{ObSk_Ucv$8a3_WPTd5I4HRT z(PKP5!{l*{lk_19@&{5C>TRV8_D~v*StN~Pm*(qRP+`1N12y{#w_fsXrtSt={0hJw zQ(PyWgA;;tBBDql#^2J(pnuv;fPn(H>^d<6BlI%00ylJZ?Evkh%=j2n+|VqTM~EUh zTx|IY)W;3{%x(O{X|$PS&x0?z#S2q-kW&G}7#D?p7!Q4V&NtA_DbF~v?cz6_l+t8e zoh1`dk;P-%$m(Ud?wnoZn0R=Ka$`tnZ|yQ-FN!?!9Wmb^b(R!s#b)oj9hs3$p%XX9DgQcZJE7B_dz0OEF6C zx|%jlqj0WG5K4`cVw!19doNY+(;SrR_txAlXxf#C`uz5H6#0D>SzG*t9!Fn|^8Z8; z1w$uiQzufUzvPCHXhGma>+O327SitsB1?Rn6|^F198AOx}! zfXg22Lm0x%=gRvXXx%WU2&R!p_{_1H^R`+fRO2LT%;He@yiekCz3%coJ=8+Xbc$mN zJ;J7*ED|yKWDK3CrD?v#VFj|l-cTgtn&lL`@;sMYaM1;d)VUHa1KSB5(I54sBErYp z>~4Jz41?Vt{`o7T`j=Se{-kgJBJG^MTJ}hT00H%U)pY-dy!M|6$v+-d(CkZH5wmo1 zc2RaU`p3_IJ^hf{g&c|^;)k3zXC0kF1>rUljSxd}Af$!@@R1fJWa4g5vF?S?8rg=Z z4_I!$dap>3l+o|fyYy(sX}f@Br4~%&&#Z~bEca!nMKV zgQSCVC!zw^j<61!7#T!RxC6KdoMNONcM5^Q;<#~K!Q?-#6SE16F*dZ;qv=`5 z(kF|n!QIVd*6BqRR8b8H>d~N@ab+1+{3dDVPVAo>{mAB#m&jX{usKkCg^a9Fef`tR z?M79j7hH*;iC$XM)#IVm&tUoDv!(#f=XsTA$)(ZE37!iu3Gkih5~^Vlx#<(M25gr@ zOkSw4{l}6xI(b0Gy#ywglot$GnF)P<FQt~9ge1>qp8Q^k;_Dm1X@Tc^{CwYb4v_ld}k5I$&u}avIDQ-D(_EP zhgdc{)5r_iTFiZ;Q)5Uq=U73lW%uYN=JLo#OS;B0B=;j>APk?|!t{f3grv0nv}Z%` zM%XJk^#R69iNm&*^0SV0s9&>cl1BroIw*t3R0()^ldAsq)kWcI=>~4!6fM#0!K%TS ziZH=H%7-f=#-2G_XmF$~Wl~Um%^9%AeNSk)*`RDl##y+s)$V`oDlnK@{y+#LNUJp1^(e89sed@BB z^W)sHm;A^9*RgQ;f(~MHK~bJRvzezWGr#@jYAlXIrCk_iiUfC_FBWyvKj2mBF=FI;9|?0_~=E<)qnjLg9k*Qd!_ zl}VuSJB%#M>`iZm*1U^SP1}rkkI};91IRpZw%Hb$tKmr6&H5~m?A7?+uFOSnf)j14 zJCYLOYdaRu>zO%5d+VeXa-Ai7{7Z}iTn%yyz7hsmo7E|{ z@+g9cBcI-MT~2f@WrY0dpaC=v{*lDPBDX}OXtJ|niu$xyit;tyX5N&3pgmCxq>7TP zcOb9%(TyvOSxtw%Y2+O&jg39&YuOtgzn`uk{INC}^Na_-V;63b#+*@NOBnU{lG5TS zbC+N-qt)u26lggGPcdrTn@m+m>bcrh?sG4b(BrtdIKq3W<%?WuQtEW0Z)#?c_Lzqj*DlZ zVUpEV3~mG#DN$I#JJp3xc8`9ex)1%Il7xKwrpJt)qtpq}DXqI=5~~N}N?0g*YwETZ z(NKJO5kzh?Os`BQ7HYaTl>sXVr!b8>(Wd&PU*3ivSn{;q`|@n*J~-3tbm;4WK>j3&}AEZ*`_!gJ3F4w~4{{PyLZklDqWo|X}D zbZU_{2E6^VTCg#+6yJt{QUhu}uMITs@sRwH0z5OqM>taO^(_+w1c ztQ?gvVPj<_F_=(ISaB~qML59HT;#c9x(;0vkCi2#Zp`;_r@+8QOV1Ey2RWm6{*J&9 zG(Dt$zF^7qYpo9Ne}ce5re^j|rvDo*DQ&1Be#Fvo#?m4mfFrNZb1#D4f`Lf(t_Fib zwxL3lx(Zp(XVRjo_ocElY#yS$LHb6yl;9;Ycm1|5y_praEcGUZxLhS%7?b&es2skI z9l!O)b%D=cXBa@v9;64f^Q9IV$xOkl;%cG6WLQ`_a7I`woHbEX&?6NJ9Yn&z+#^#! zc8;5=jt~Unn7!cQa$=a7xSp}zuz#Lc#Q3-e7*i`Xk5tx_+^M~!DlyBOwVEq3c(?`@ zZ_3qlTN{eHOwvNTCLOHjwg0%niFYm({LEfAieI+k;U2&uTD4J;Zg#s`k?lxyJN<$mK6>j?J4eOM@T*o?&l@LFG$Gs5f4R*p*V1RkTdCfv9KUfa< z{k;#JfA3XA5NQJziGd%DchDR*Dkld&t;6i9e2t7{hQPIG_uDXN1q0T;IFCmCcua-e z`o#=uS2_en206(TuB4g-!#=rziBTs%(-b1N%(Bl}ea#xKK9zzZGCo@<*i1ZoETjeC zJ)ll{$mpX7Eldxnjb1&cB6S=7v@EDCsmIOBWc$p^W*;C0i^Hc{q(_iaWtE{0qbLjxWlqBe%Y|A z>I|4)(5mx3VtwRBrano|P))JWybOHUyOY67zRst259tx;l(hbY@%Z`v8Pz^0Sw$?= zwSd^HLyL+$l&R+TDnbV_u+h{Z>n$)PMf*YGQ}1Df@Nr{#Gr+@|gKlnv?`s1rm^$1+ zic`WeKSH?{+E}0^#T<&@P;dFf;P5zCbuCOijADb}n^{k=>mBehDD6PtCrn5ZBhh2L zjF$TbzvnwT#AzGEG_Rg>W1NS{PxmL9Mf69*?YDeB*pK!&2PQ7!u6eJEHk5e(H~cnG zZQ?X_rtws!;Tod88j=aMaylLNJbgDoyzlBv0g{2VYRXObL=pn!n8+s1s2uTwtZc

        YH!Z*ZaR%>WTVy8-(^h5J^1%NZ$@&_ZQ)3AeHlhL~=X9=fKPzFbZ;~cS**=W-LF1 z5F82SZ zG8QZAet|10U*jK*GVOA(iULStsUDMjhT$g5MRIc4b8)5q_a?ma-G+@xyNDk{pR*YH zjCXynm-fV`*;}%3=+zMj**wlCo6a{}*?;`*j%fU`t+3Korws%dsCXAANKkmVby*eJ z6`2%GB{+&`g2;snG`LM9S~>#^G|nZ|JMnWLgSmJ4!kB->uAEF0sVn6km@s=#_=d)y zzld%;gJY>ypQuE z!wgqqTSPxaUPoG%FQ()1hz(VHN@5sfnE68of>9BgGsQP|9$7j zGqN{nxZx4CD6ICwmXSv6&RD<-etQmbyTHIXn!Q+0{18=!p))>To8df$nCjycnW07Q zsma_}$tY#Xc&?#OK}-N`wPm)+2|&)9=9>YOXQYfaCI*cV1=TUl5({a@1wn#V?y0Yn z(3;3-@(QF|0PA}|w4hBWQbTItc$(^snj$36kz{pOx*f`l7V8`rZK}82pPRuy zxwE=~MlCwOLRC`y%q8SMh>3BUCjxLa;v{pFSdAc7m*7!}dtH`MuMLB)QC4B^Uh2_? zApl6z_VHU}=MAA9*g4v-P=7~3?Lu#ig)cRe90>@B?>})@X*+v&yT6FvUsO=p#n8p{ zFA6xNarPy0qJDO1BPBYk4~~LP0ykPV ztoz$i+QC%Ch%t}|i^(Rb9?$(@ijUc@w=3F1AM}OgFo1b89KzF6qJO~W52U_;R_MsB zfAC29BNUXpl!w&!dT^Zq<__Hr#w6q%qS1CJ#5Wrb*)2P1%h*DmZ?br)*)~$^TExX1 zL&{>xnM*sh=@IY)i?u5@;;k6+MLjx%m(qwDF3?K3p>-4c2fe(cIpKq#Lc~;#I#Wwz zywZ!^&|9#G7PM6tpgwA@3ev@Ev_w`ZZRs#VS4}<^>tfP*(uqLL65uSi9H!Gqd59C&=LSDo{;#@Isg3caF1X+4T}sL2B+Q zK*kO0?4F7%8mx3di$B~b&*t7y|{x%2BUg4kLFXt`FK;Vi(FIJ+!H zW;mjBrfZdNT>&dDfc4m$^f@k)mum{DioeYYJ|XKQynXl-IDs~1c(`w{*ih0-y_=t$ zaMDwAz>^CC;p*Iw+Hm}%6$GN49<(rembdFvb!ZyayLoqR*KBLc^OIA*t8CXur+_e0 z3`|y|!T>7+jdny7x@JHtV0CP1jI^)9){!s#{C>BcNc5#*hioZ>OfDv)&PAM!PTjS+ zy1gRZirf>YoGpgprd?M1k<;=SShCMn406J>>iRVnw9QxsR|_j5U{Ixr;X5n$ih+-=X0fo(Oga zB=uer9jc=mYY=tV-tAe@_d-{aj`oYS%CP@V3m6Y{)mZ5}b1wV<9{~$`qR9 zEzXo|ok?1fS?zneLA@_C(BAjE_Bv7Dl2s?=_?E9zO5R^TBg8Be~fpG?$9I; zDWLH9R9##?>ISN8s2^wj3B?qJxrSSlC6YB}Yee{D3Ex8@QFLZ&zPx-?0>;Cafcb-! zlGLr)wisd=C(F#4-0@~P-C&s%C}GvBhb^tTiL4Y_dsv@O;S56@?@t<)AXpqHx9V;3 zgB!NXwp`=%h9!L9dBn6R0M<~;(g*nvI`A@&K!B`CU3^FpRWvRi@Iom>LK!hEh8VjX z_dSw5nh-f#zIUDkKMq|BL+IO}HYJjMo=#_srx8cRAbu9bvr&WxggWvxbS_Ix|B}DE zk!*;&k#1BcinaD-w#E+PR_k8I_YOYNkoxw5!g&3WKx4{_Y6T&EV>NrnN9W*@OH+niSC0nd z#x*dm=f2Zm?6qhY3}Kurxl@}d(~ z<}?Mw+>%y3T{!i3d1%ig*`oIYK|Vi@8Z~*vxY%Od-N0+xqtJ*KGrqo*9GQ14WluUn z+%c+og=f0s6Mcf%r1Be#e}&>1n!!ZxnWZ`7@F9ymfVkuFL;m6M5t%6OrnK#*lofS{ z=2;WPobvGCu{(gy8|Mn(9}NV99Feps6r*6s&bg(5aNw$eE ztbYsrm0yS`UIJ?Kv-EpZT#76g76*hVNg)L#Hr7Q@L4sqHI;+q5P&H{GBo1$PYkr@z zFeVdcS?N1klRoBt4>fMnygNrDL!3e)k3`TXoa3#F#0SFP(Xx^cc)#e2+&z9F=6{qk z%33-*f6=+W@baq){!d_;ouVthV1PREX^ykCjD|%WUMnNA2GbA#329aEihLk~0!!}k z)SIEXz(;0lemIO{|JdO{6d|-9LePs~$}6vZ>`xYCD(ODG;OuwOe3jeN;|G$~ml%r* z%{@<9qDf8Vsw581v9y+)I4&te!6ZDJMYrQ*g4_xj!~pUu#er`@_bJ34Ioez)^055M$)LfC|i*2*3E zLB<`5*H#&~R*VLYlNMCXl~=9%o0IYJ$bY+|m-0OJ-}6c@3m<~C;;S~#@j-p?DBdr<><3Y92rW-kc2C$zhqwyq09;dc5;BAR#PPpZxqo-@e_s9*O`?w5 zMnLUs(2c-zw9Pl!2c#+9lFpmTR>P;SA#Id;+fo|g{*n&gLi}7`K)(=tcK|?qR4qNT z%aEsSCL0j9DN$j8g(a+{Z-qPMG&O)H0Y9!c*d?aN0tC&GqC+`%(IFY$ll~!_%<2pX zuD`w_l)*LTG%Qq3ZSDE)#dt-xp<+n=3&lPPzo}r2u~>f8)mbcdN6*r)_AaTYq%Scv zEdwzZw&6Ls8S~RTvMEfX{t@L4PtDi{o;|LyG>rc~Um3;x)rOOGL^Bmp0$TbvPgnwE zJEmZ>ktIfiJzdW5i{OSWZuQWd13tz#czek~&*?iZkVlLkgxyiy^M~|JH(?IB-*o6% zZT8+svJzcVjcE0UEkL_5$kNmdrkOl3-`eO#TwpTnj?xB}AlV2`ks_Ua9(sJ+ok|%b z=2n2rgF}hvVRHJLA@9TK4h#pLzw?A8u31&qbr~KA9;CS7aRf$^f1BZ5fsH2W8z}FU zC}Yq76IR%%g|4aNF9BLx6!^RMhv|JYtoZW&!7uOskGSGL+}_>L$@Jg2Vzugq-NJW7 zzD$7QK7cftU1z*Fxd@}wcK$n6mje}=C|W)tm?*V<<{;?8V9hdoi2NRm#~v^#bhwlc z5J5{cSRAUztxc6NH>Nwm4yR{(T>0x9%%VeU&<&n6^vFvZ{>V3RYJ_kC9zN(M(` zp?1PHN>f!-aLgvsbIp*oTZv4yWsXM2Q=C}>t7V(iX*N8{aoWphUJ^(n3k`pncUt&` ze+sYjo)>>=I?>X}1B*ZrxYu`|WD0J&RIb~ zPA_~u)?&`}JPwc1tu=OlKlJ3f!9HXa)KMb|2%^~;)fL>ZtycHQg`j1Vd^nu^XexYkcae@su zOhxk8ws&Eid_KAm_<}65zbgGNzwshR#yv&rQ8Ae<9;S^S}Dsk zubzo?l{0koX8~q*{uA%)wqy*Vqh4>_Os7PPh-maB1|eT-4 zK>*v3q}TBk1QlOF!113XOn(Kzzb5o4Dz@?q3aEb9%X5m{xV6yT{;*rnLCoI~BO&SM zXf=CHLI>kaSsRP2B{z_MgbD;R_yLnd>^1g`l;uXBw7|)+Q_<_rO!!VaU-O+j`u%zO z1>-N8OlHDJlAqi2#z@2yM|Dsc$(nc>%ZpuR&>}r(i^+qO+sKfg(Ggj9vL%hB6 zJ$8an-DbmKBK6u6oG7&-c0&QD#?JuDYKvL5pWXG{ztpq3BWF)e|7aF-(91xvKt047 zvR{G@KVKz$0qPNXK*gt*%qL-boz-*E;7LJXSyj3f$7;%5wj)2p8gvX}9o_u}A*Q|7 z)hjs?k`8EOxv1zahjg2PQDz5pYF3*Cr{%iUW3J+JU3P+l?n%CwV;`noa#3l@vd#6N zc#KD2J;5(Wd1BP)`!IM;L|(d9m*L8QP|M7W#S7SUF3O$GFnWvSZOwC_Aq~5!=1X+s z6;_M++j0F|x;HU6kufX-Ciy|du;T%2@hASD9(Z)OSVMsJg+=7SNTAjV<8MYN-zX5U zVp~|N&{|#Z)c6p?BEBBexg4Q((kcFwE`_U>ZQotiVrS-BAHKQLr87lpmwMCF_Co1M z`tQI{{7xotiN%Q~q{=Mj5*$!{aE4vi6aE$cyHJC@VvmemE4l_v1`b{)H4v7=l5+lm^ ztGs>1gnN(Vl+%VuwB+|4{bvdhCBRxGj3ady^ zLxL@AIA>h@eP|H41@b}u4R`s4yf9a2K!wGcGkzUe?!21Dk)%N6l+#MP&}B0%1Ar*~ zE^88}(mff~iKMPaF+UEp5xn(gavK(^9pvsUQT8V;v!iJt|7@&w+_va`(s_57#t?i6 zh$p!4?BzS9fZm+ui`276|I307lA-rKW$-y^lK#=>N|<-#?WPPNs86Iugsa&n{x%*2 zzL_%$#TmshCw&Yo$Ol?^|hy{=LYEUb|bMMY`n@#(~oegs-nF){0ppwee|b{ca)OXzS~01a%cg&^ zp;}mI0ir3zapNB)5%nF>Sd~gR1dBI!tDL z&m24z9sE%CEv*SZh1PT6+O`%|SG>x74(!d!2xNOt#C5@I6MnY%ij6rK3Y+%d7tr3&<^4XU-Npx{^`_e z9$-|@$t`}A`UqS&T?cd@-+-#V7n7tiZU!)tD8cFo4Sz=u65?f#7Yj}MDFu#RH_GUQ z{_-pKVEMAQ7ljrJ5Wxg4*0;h~vPUI+Ce(?={CTI&(RyX&GVY4XHs>Asxcp%B+Y9rK z5L$q94t+r3=M*~seA3BO$<0%^iaEb2K=c7((dIW$ggxdvnC$_gq~UWy?wljgA0Dwd`ZsyqOC>)UCn-qU5@~!f znAWKSZeKRaq#L$3W21fDCMXS;$X(C*YgL7zi8E|grQg%Jq8>YTqC#2~ys%Wnxu&;ZG<`uZ1L<53jf2yxYR3f0>a;%=$SYI@zUE*g7f)a{QH^<3F?%({Gg)yx^zsdJ3^J2 z#(!C3qmwx77*3#3asBA(jsL`86|OLB)j?`0hQIh>v;c2A@|$Yg>*f+iMatg8w#SmM z<;Y?!$L--h9vH+DL|Wr3lnfggMk*kyGH^8P48or4m%K^H-v~`cBteWvnN9port02u zF;120HE2WUDi@8?&Oha6$sB20(XPd3LhaT~dRR2_+)INDTPUQ9(-370t6a!rLKHkIA`#d-#WUcqK%pMcTs6iS2nD?hln+F-cQPUtTz2bZ zq+K`wtc1;ex_iz9?S4)>Fkb~bj0^VV?|`qe7W02H)BiibE9=_N8=(5hQK7;(`v7E5Mi3o? z>J_)L`z(m(27_&+89P?DU|6f9J*~Ih#6FWawk`HU1bPWfdF?02aY!YSo_!v$`&W znzH~kY)ll^F07=UNo|h;ZG2aJ<5W~o7?*${(XZ9zP0tTCg5h-dNPIM=*x@KO>a|Bk zO13Cbnbn7+_Kj=EEMJh4{DW<))H!3)vcn?_%WgRy=FpIkVW>NuV`knP`VjT78dqzT z>~ay~f!F?`key$EWbp$+w$8gR1RHR}>wA8|l9rl7jsT+>sQLqs{aITUW{US&p{Y)O zRojdm|7yoA_U+`FkQkS?$4$uf&S52kOuUaJT9lP@LEqjKDM)iqp9aKNlkpMyJ76eb zAa%9G{YUTXa4c|UE>?CCv(x1X3ebjXuL&9Dun1WTlw@Wltn3zTareM)uOKs$5>0tR zDA~&tM~J~-YXA<)&H(ud)JyFm+d<97d8WBr+H?6Jn&^Ib0<{6ov- ze@q`#Y%KpD?(k{if5-M(fO3PpK{Wjqh)7h+ojH ztb=h&vmy0tn$eA8_368TlF^DKg>BeFtU%3|k~3lZAp(C$&Qjo9lR<#rK{nVn$)r*y z#58_+t=UJm7tp|@#7}6M*o;vn7wM?8Srtc z3ZFlKRDYc^HqI!O9Z*OZZ8yo-3ie9i8C%KDYCfE?`rjrf(b&xBXub!54yaZY2hFi2w2asEOiO8;Hru4~KsqQZMrs+OhO8WMX zFN0=EvME`WfQ85bmsnPFp|RU;GP^&Ik#HV(iR1B}8apb9W9)Nv#LwpED~%w67o;r! zVzm@zGjsl)loBy6p>F(G+#*b|7BzZbV#E0Pi`02uAC}D%6d12TzOD19-9bhZZT*GS zqY|zxCTWn+8*JlL3QH&eLZ}incJzgX>>i1dhff}DJ=qL{d?yv@k33UhC!}#hC#31H zOTNv5e*ozksj`4q5H+75O70w4PoA3B5Ea*iGSqA=v)}LifPOuD$ss*^W}=9kq4qqd z6dqHmy_IGzq?j;UzFJ*gI5)6qLqdUL;G&E*;lnAS+ZV1nO%OdoXqw(I+*2-nuWjwM-<|XD541^5&!u2 z1XflFJp(`^D|ZUECbaoqT5$#MJ=c23KYpBjGknPZ7boYRxpuaO`!D6C_Al?T$<47T zFd@QT%860pwLnUwer$BspTO9l1H`fknMR|GC?@1Wn`HscOe4mf{KbVio zahne0&hJd0UL#{Xyz=&h@oc>E4r*T|PHuNtK6D279q!2amh%r#@HjaN_LT4j>{&2I z?07K#*aaZ?lNT6<8o85cjZoT~?=J&Xd35I%JJom{P=jj?HQ5yfvIR8bd~#7P^m%B-szS{v<)7i?#at=WA+}?r zwMlc-iZv$GT};AP4k2nL70=Q-(+L_CYUN{V?dnvG-Av+%)JxfwF4-r^Z$BTwbT!Jh zG0YXK4e8t`3~){5Qf6U(Ha0WKCKl^zlqhqHj~F}DoPV#yHqLu+ZWlv2zH29J6}4amZ3+-WZkR7(m{qEG%%57G!Yf&!Gu~FDeSYmNEkhi5nw@#6=Bt& zOKT!UWVY-FFyq1u2c~BJ4F`39K7Vw!1U;aKZw)2U8hAb&7ho|FyEyP~D<31{_L>RrCU>eEk-0)TBt5sS5?;NwAdRzRj5qRSD?J6 ze9ueq%TA*pgwYflmo`=FnGj2r_u2!HkhE5ZbR_Xf=F2QW@QTLD5n4h(?xrbOwNp5` zXMEtm`m52{0^27@=9VLt&GI;nR9S)p(4e+bAO=e4E;qprIhhclMO&7^ThphY9HEko z#WfDFKKCcf%Bi^umN({q(avHrnTyPH{o=sXBOIltHE?Q65y_At<9DsN*xWP|Q=<|R z{JfV?B5dM9gsXTN%%j;xCp{UuHuYF;5=k|>Q=;q zU<3AEYawUG;=%!Igjp!FIAtJvoo!*J^+!oT%VI4{P=XlbYZl;Dc467Nr*3j zJtyn|g{onj!_vl)yv)Xv#}(r)@25OHW#|eN&q7_S4i2xPA<*uY9vU_R7f};uqRgVb zM%<_N3ys%M;#TU_tQa#6I1<+7Bc+f%mqHQ}A@(y^+Up5Q*W~bvS9(21FGQRCosvIX zhmsjD^OyOpae*TKs=O?(_YFjSkO`=CJIb*yJ)Pts1egl@dX6-YI1qb?AqGtIOir&u zyn>qxbJhhJi9SjK+$knTBy-A)$@EfzOj~@>s$M$|cT5V!#+|X`aLR_gGYmNuLMVH4 z(K_Tn;i+fR28M~qv4XWqRg~+18Xb?!sQ=Dy)oRa)Jkl{?pa?66h$YxD)C{F%EfZt| z^qWFB2S_M=Ryrj$a?D<|>-Qa5Y6RzJ$6Yp`FOy6p2lZSjk%$9guVsv$OOT*6V$%TH zMO}a=JR(1*u`MN8jTn|OD!84_h${A)_eFRoH7WTCCue9X73nbD282V`VzTH$ckVaC zalu%ek#pHxAx=0migDNXwcfbK3TwB7@T7wx2 zGV7rS+2g9eIT9>uWfao+lW2Qi9L^EBu#IZSYl0Q~A^KYbQKwNU(YO4Xa1XH_>ml1v z#qS;P!3Lt%2|U^=++T`A!;V-!I%upi?<#h~h!X`p7eP!{+2{7DM0$yxi9gBfm^W?M zD1c)%I7N>CG6250NW54T%HoCo^ud#`;flZg_4ciWuj4a884oWUYV(#VW`zO1T~m(_ zkayymAJI)NU9_0b6tX)GU+pQ3K9x=pZ-&{?07oeb1R7T4RjYYbfG^>3Y>=?dryJq& zw9VpqkvgVB?&aK}4@m78NQhTqZeF=zUtBkJoz8;6LO<4>wP7{UPEs1tP69;v919I5 zzCqXUhfi~FoK5niVU~hQqAksPsD@_|nwH4avOw67#fb@Z5_OS=$eP%*TrPU%HG<-A z`9)Y3*SAdfiqNTJ2eKj8B;ntdqa@U46)B+odlH)jW;U{A*0sg@z>-?;nN}I=z3nEE@Bf3kh1B zdqT{TWJvb#AT&01hNsBz8v(OwBJSu#9}A6Y!lv|`J#Z3uVK1G`0$J&OH{R?3YVfk% z9P3HGpo<1uy~VRCAe&|c4L!SR{~^0*TbVtqej3ARx(Okl5c>m~|H9ZwKVHc_tCe$hsqA`l&h7qPP5xBgtwu!; zzQyUD<6J!M5fsV-9P?C9P49qnXR+iXt#G_AS2N<6!HZ(eS`|-ndb|y!(0Y({2 z4aF~GO8bHM7s+wnhPz>sa!Z%|!qWk*DGr)azB}j6bLe#FQXV4aO>Eo7{v`0x=%5SY zy&{kY+VLXni6pPJYG_Sa*9hLy-s$79$zAhkF)r?9&?UaNGmY9F$uf>iJ~u@Q;sydU zQaN7B>4B*V;rtl^^pa3nFh$q*c&sx^Um}I)Z)R&oLEoWi3;Yv6za?;7m?fZe>#_mS z-EGInS^#UHdOzCaMRSLh7Mr0}&)WCuw$4&K^lx{;O+?Q1p5PD8znQ~srGrygJ?b~Q5hIPt?Wf2)N?&Dae4%GRcRKL(a-2koctrcvxSslXn-k9cYS|<-KJ#+$Wo>}yKKh*3Q zHsK(4-Jv!9R3*FKmN$Z#^aZcACGrlGjOe^#Z&DfPyS-1bT9OIX~-I-5lN6Y>M}dvivbs2BcbPcaNH%25-xMkT$>*soDJ) z27;};8oCYHSLF0VawZFn8^H;hIN=J457@eoI6s2P87QN6O`q8coa;PN$mRZ>2Vv+! zQj1}Tvp8?>yyd_U>dnhx%q~k*JR`HO=43mB?~xKAW9Z}Vh2b0<(T89%eZ z57kGs@{NUHM>|!+QtqI@vE8hp`IIGc`A9Y{p?c;@a!zJFmdaCJ;JmzOJ8)B1x{yZp zi!U{Wh-h+u6vj`2F+(F6gTv*cRX7MR z9@?>is`MSS1L#?PaW6BWEd#EX4+O1x6WdU~LZaQ^Quow~ybz*aAu{ZMrQ;yQ8g)-qh>x z^}@eFu1u7+3C0|hRMD1{MEn(JOmJ|wYHqGyn*xt-Y~J3j@nY56i)sgNjS4n@Q&p@@^>HQjzNaw#C9=TbwzDtiMr2a^}bX< zZE%HU^|CnS`WYVcs}D)+fP#bW0+Q#l#JC+!`OlhffKUCN8M-*CqS;VQX`If78$as0 z=$@^NFcDpTh~45heE63=x5nmP@4hBaFn(rmTY2Yj{S&k;{4W!0Nu9O5pK30}oxM7{ z>l4cKb~9D?N#u_AleD<~8XD@23sY^rt&fN%Q0L=Ti2bV#px`RhM$}h*Yg-iC4A+rI zV~@yY7!1}-@onsZ)@0tUM23cN-rXrZYWF#!V-&>vds8rP+w0t{?~Q zT^LN*lW==+_ifPb+-yMh9JhfcYiXo_zWa`ObRP9_En3P))Qyu0qPJ3*hiFSu>Vt-j z<*HWbiP2#BK@nt<g|pe3 zfBKS@i;ISkorx@cOIx9}p^d8Gis%$)))%ByVYU^KG#eE+j1p;^(Y1ndHnV&YuQZm~ zj;f+mf>0ru!N`)_p@Ls<& z`t+JDx7}R568Q|8`4A}G@t8Wc?SOXunyW5C-AWoB@P>r}uwFY*=?=!K@J(!t@#xOuPXhFS@FTf6-7|%k;nw2%Z+iHl219Ho1!bv(Ee0|ao!Rs%Jl0@3suGrOsb_@VM;(xzrf^Cbd;CK3b%a|ih-fG)`Rd00O74=sQYW~Ve z#fl!*(fo~SIQ5-Sl?1@o7-E*|SK|hoVEKzxeg!$KmQLSTN=5N`rYeh$AH&x}JMR+5dq|~FUy&Oj%QIy;HNr;V*7cQC+ka>LAwdU)?ubI@W z={eg%A&7D**SIj$cu=CN%vN^(_JeIHMUyejCrO%C3MhOcVL~Niu;8WYoN}YVhb+=- zR}M3p|H0`E2Id99y#03r`8$s0t*iD>`^7EPm1~guC)L~uW#O~>I85Q3Nj8(sG<@T| zL^e~XQt9O0AXQ^zkMdgzk5bdYttP~nf-<831zulL>>ghTFii$lg3^80t8Gb*x1w5| zN{kZuv`^8Fj=t(T*46M=S$6xY@0~AvWaGOYOBTl0?}KTkplmGn-*P(X=o-v^48OY} zi11-+Y}y)fdy_tI;*W(>#qzvgQZ52t!nrGsJEy!c86TKIN(n|!&ucCduG$XaIapI z{(Z9gZANsI={A=5Aorgq2H25Dd}H5@-5=j=s{f`%^>6b5qkm_2|3g>r-^amf=B_xV zXg*>aqxXZ6=VUI4$})ypDMy$IKkgJ;V>077T9o#OhpFhKtHP_4mnjS5QCgGe<;~Xe zt<2ZhL7?JL6Mi|U_w?;?@4OD@=4EB2op_s)N-ehm#7`zSU#7itU$#%^ncqjc`9HCG zfj;O1T+*oTkzRi-6NN`oS3w3$7ZB37L>PcN$C$L^qqHfiYO4_>0_qCw0r@FEMj=>}}%q_`d#pUT;c?=gI zqTGpiY4Z;Q(B~#hXIVBFbi#dO=cOdmOqD0|An?7nMdrm2^C>yw*dQ=#lf8)@DvXK; z$MXp}QZgnE!&L73x0LZX_bCdD4lRY$$^?9dt1RwCng{lIpbb%Ej%yOh{@76yEyb}K zXZy%^656Sk3BLKbalcc>Dt5iDzo^tj2!wnDL(X;urJfpkWrab!frFSC6Q7m zuoqN!(t=L&+Ov&~9mz(yEB`MK%RPXS>26Ww5(F;aZ zR@tPAw~=q2ioOiynxgBqE&3-R-@6yCo0*mE;#I^c!=g~HyyjGA6}|<(0EseKDTM4w z94YnCO^VYIUY@}x8kr;;El-cFHVO<$6;-UdmUB|J8R*Wf$a37gVgYT|w5^KkYe=(i zMkA$%7;^a*$V+}e%S~&*^^O;AX9NLt@cIPc*v!lKZ)(zahAsUj%PJot19ErFU=Uk( z9Hw;Lb`V+BzVpMu;TGB9}y~ff)^mbEmF?g{{7_0SR zPgp*n)l{?>7-Ji;eWG{ln$)Bro+UJAQo6W2-23d@SI=HiFV3hR2OUcAq_9q~ye)o@ zq8WZvhg`H(?1AUZ-NM%_Cuj}eb{4wOCnqs^E1G9U4HKjqaw@4dsXWP#$wx^}XPZ0F zywsJ0aJHA>AHc^q#nhQjD3!KDFT6FaDioJ#HsZU7Wo?8WH19TJ%OMDz$XH5J4Cjdt z@crE;#JNG`&1H8ekB(R4?QiiZ55kztsx}pQti}gG0&8`dP=d(8aCLOExd*Sw^WL`Q zHvZ(u`5A58h?+G&GVsA;pQNNPFI)U@O`#~RjaG(6Y<=gKT2?1 z*pCUGU)f??VlyP64P@uT`qh?L03ZQyLOBn?EKwH+IG{XvTh5|NldaSV_n~DK&F1aa znq~C_lCQHMfW6xib%a2m!h&%J)aXb{%-0!HCcW|kzaoSwPMhJ6$KL|F~Sx(tctbwfkgV;#KZlEmJN5&l5XF9eD;Kqb<| z>os)CqC^qF8$be|v;)LY{Gh@c0?a??k7M7&9CH+-B)t&T$xeSzCs30sf8O-+I#rq} z&kZj5&i>UyK9lDjI<*TLZ3USVwwpiE5x8<|{Db z3`HX3+Tt>1hg?+uY{^wC$|Tb7ud@3*Ub?=2xgztgv6OOz0G z-4VRyIChHfegUak^-)-P;VZY@FT64#xyo=+jG<48n2%wcx`ze6yd51(!NclmN=$*kY=#uu#>=yAU-u4I9Bt0n_6ta?&9jN+tM_5_3RH);I zxTN4n$EhvKH%TmOh5mq|?Cx$m>$Ed?H7hUEiRW^lnW+}ZoN#;}aAuy_n189qe1Juk z6;QeZ!gdMAEx4Na;{O*j$3F3e?FLAYuJ2iuMbWf8Ub6(nDo?zI5VNhN@ib6Yw_4P)GY^0M7TJwat z2S*2AcP}e0tibZ@k&htTD&yxT9QRG0CEq$;obfgV^&6YVX9B9|VJf`1aS_#Xk>DFo zwhk?~)>XlP5(u~UW0hP7dWZuCuN4QM24Td&j^7~)WQ6YeCg)njG*ri}tTcG-NxX}p zNB>kcxd5ipW@tN3=6r@Jgm#rgrK*dXA!gxy6fAvP7$)8)Vc~PPQ|`( zPy|bG1sUz958-!zW^j(8ILV%QC@x`~PDFczboZqWjvSU<9O3!TQ&xYi%?Y0AiVBLV z%R?#1L#G&xw*RZPsrwF?)B5+MSM(b$L;GLnRsSU!_$N;6pD97~H}`c>0F`&E_FCNE z_)Q*EA1%mOp`z>+h&aqlLKUD9*w?D>stDeBRdR*AS9)u;ABm7w1}eE|>YH>YtMyBR z^e%rPeZzBx_hj?zhJVNRM_PX(O9N#^ngmIJ0W@A)PRUV7#2D!#3vyd}ADuLry;jdn zSsTsHfQ@6`lH z^GWQf?ANJS>bBO-_obBL$Apvakhr1e5}l3axEgcNWRN$4S6ByH+viK#CnC1|6Xqj& z*_i7cullAJKy9GBAkIxUIzsmN=M|(4*WfBhePPHp?55xfF}yjeBld7+A7cQPX8PE-|Pe_xqboE;2AJb5ifrEfr86k&F0+y!r`-urW}OXSkfz2;E``UTrGSt^B)7&#RSLTQitk=mmPKUKP`uGQ4)vp_^$^U`2Jjq zeul!ptEpa%aJo0S(504oXPGdWM7dAA9=o9s4-{>z*pP zJ31L#|L?YR;^%+>YRJrLrFC=5vc;0{hcxDKF z!ntmgO>rVDaGmRpMI7-+mv(j~;s_LARvcpkXj|{GHu1c<1 zKI)#7RE~Dizu1lG>p-PcY2jX#)!oJlBA$LHnTUWX=lu``E)vhf9h4tYL-juZ`e|Kb z=F?C;Ou)h^cxB;M-8@$ZSH0jkVD>x-XS$ePV1vlU8&CG))4NgU(=XFH=Jb1IB7dBysS+94}Y>sjS(&YcJwhn zifzA|g$D5rW89vkJSv()I+Th4R&C$g-!CB30xkh%aw4po3$@DK2fW>}enE2YPt&{C~j}`>RYICK{ zYAPfZ&%`R}u6MYo<>d`^O#Q(dM{3>T^%J{Vu;lr#Utg4x9!Z9J%iXs(j+dn&SS1_2 zzxGtMnu^`d%K4Xq4Ms-ErG3_7n?c(3T!?rvyW=G<7_XKDv*ox`zN*^BVwUoqh{D7o zdEiq;Zp6}k_mCIAVTUcMdH|fo%L#qkN19X$%b1#Oko|u4!M*oRqdBa3z98{H#g=d%5X&D#NXhLh`nUjxi8@3oo(AgeItdJ zIrt9ieHI1GiwHiU4Cba-*nK@eHI4uj^LVmVIntU@Gwf^t6i3{;SfLMCs#L;s;P4s5oqd^}8Uil!NssP>?!K z07nAH>819U=^4H6l-Dhy`^Q6DV^}B9^aR0B%4AH=D&+dowt9N}zCK+xHnXb-tsKaV6kjf;Wdp#uIZ_QsI4ralE>MWP@%_5eN=MApv92( z09SSB#%eE|2atm9P~X2W2F-zJD+#{q9@1}L2fF|Lzu@1CAJq*d6gA8*Jjb;<+Asih zctE|7hdr5&b-hRhVe}PN z$0G{~;pz1yhkbwuLkfbvnX=<7?b(1PhxAmefKn$VS6Sv)t-UypwhEs3?*E=(pc%Dlul1V~OdWvdf z{WBX?lhfO_g$$X~hm^Bhl@U0t<|beYgT)2L_C(z@B^-63c9Ak2*Aa)iOMylfl|qyNQdO#yoJ?m2FOkhZ1ou@G%+^m z#!#(gTv8nx^34(HddDp|dcFl@&eh+&FFJc@^FL3fV2?u&9Wt|Yp3&MS)e+ez0g~Ys zY7d0n^)+ z0@K^GJTLN?XAV(0F6e>o>HCGJU5(8WsSFErs0FsO=O1u$=T~xx7HYK{7C>-IGB8U+ z&G^Vy>uY}Bq7HX-X`U^nNh+11GjG-)N1l_tG<^4Tu4+4X9KO9IrdH+eXGk|G6Tc(U zU~g7BoO!{elBk>;uN-`rGQP-7qIf9lQhj-=_~0Qyszu>s$s0FrJatSylv!ol&{29~ z7S4fv&-UBOF&cR@xpuW*{x9$R;c_ALt?{+dI&HoBKG-!EY{yE=>aWhlmNhHlCXc(B zuA-zI*?Z9ohO$i8s*SEIHzVvyEF$65b5m=H*fQ)hi*rX8 zKlPqjD*Ix1tPzfR_Z3bO^n32iQ#vhjWDwj6g@4S?_2GyjiGdZZRs3MLM zTfl0_Dsn=CvL`zRey?yi)&4TpF&skAi|)+`N-wrB_%I_Osi~)9`X+`Z^03whrnP7f z?T`*4Id`J@1x#T~L(h5^5z%Cok~U|&g&GpCF%E4sB#i3xAe>6>24%Kuu=)=HRS;Pu2wghgTFa zHqm#sa{7-~{w_039gH0vrOm&KPMiPmuPRpAQTm5fkPTZVT&9eKuu%Riu%-oMQl2X6 z{Bnx`3ro^Z$}rVzvUZsk9T)pX|4%sY+j0i)If_z-9;a^vr1YN>=D(I7PX){_JTJ&T zPS6~9iDT{TFPn}%H=QS!Tc$I9FPgI<0R7?Mu`{FTP~rRq(0ITmP1yrJdy|m;nWmDelF-V^y7*UEVvbxNv0sHR?Q=PVYRuZinR(;RjVAG zm&qlSYvaiIbVEqBwyDaJ8LVmiCi{6ESF4pO?U&7pk&CASm6vuB;n-RauPFzdr!C%1 z8pjdSUts7EbA4Kg(01zK!ZU<-|d zU&jWswHnSLIg&mTR;!=-=~z(#!UsXt%NJR|^teM8kG@8Qg_0^6Jqfn&(eENtP8D7K zvnll3Y%7yh1Ai~0+l6dAG|lEGe~Oa+3hO>K2}{ulO?Vf*R{o2feaRBolc;SJg)HXHn4qtzomq^EM zb)JygZ=_4@I_T=Xu$_;!Q`pv6l)4E%bV%37)RAba{sa4T*cs%C!zK?T8(cPTqE`bJ zrBWY`04q&+On`qH^KrAQT7SD2j@C>aH7E8=9U*VZPN-(x>2a++w7R$!sHH+wlze2X)<<=zC_JJvTdY7h&Jum?s?VRV)JU`T;vjdi7N-V)_QCBzI zcWqZT{RI4(lYU~W0N}tdOY@dYO8Rx5d7DF1Ba5*U7l$_Er$cO)R4dV zE#ss{Dl`s#!*MdLfGP>?q2@GSNboVP!9ZcHBZhQZ>TJ85(=-_i4jdX5A-|^UT}~W{CO^Lt4r;<1ps@s|K7A z90@6x1583&fobrg9-@p&`Gh+*&61N!$v2He2fi9pk9W2?6|)ng7Y~pJT3=g~DjTcYWjY9gtZ5hk*1Qf!y2$ot@0St$@r8|9^GMWEE>iB~etL zXYxn#Rvc`DV&y93@U$Z91md1qVtGY*M(=uCc}@STDOry@58JNx`bUH}EIb(n6I}i? zSYJOZ2>B6&Payu+@V!gxb;)_zh-{~qtgVwQ-V;vK7e0^Ag_$3+g+{xSVudVOY_p-R z$sXhpFSk7je2lk5)7Y2;Z847E1<;5?;z(I)55YFtgF!J;NT|eVi}q^*2sM}zyM{+s zD0phl+J>k1E7cZEGmP?1-3~RE;R$q(I5}m?MX8xi?6@0f#rD8Cjkpv1GmL5HVbTnM zAQ&4-rbkpdaoLp~?ZoW>^+t0t1t%GO2B;ZD4?{qeP+qsjOm{1%!oy1OfmX?_POQJ4 zGwvChl|uE;{zGoO?9B_m{c8p(-;_yq?b^jA({}iQG35?7H7`1cm`BGyfuq7z1s~T| zm88HpS{z54T{jxC=>kZ=Z#8G@uya3tt0$xST5V$-V<;6MA66VFg}`LLU8L=q3DmkU z)P^X8pg`ndMY*>gr{6~ur^Q@Z8LNQf*6wkP03K<|M*+cDc#XKZ`Z0$1FkI-IDRw#| za52W4MyHlDABs~AQu7Duebjgc}02W;1jgBx&I@TMDXU`LJutQ?@r%1z`W zlB8G-U$q37G1ob>Er8j0$q@OU3IwG#8HsvJM#)j=Y%~#zY`jaG%5;!(kY3*a^t>(qf6>I zpAJpF%;FQ?BhDSsVG27tQEG*CmWhl4)Ngp%}D?U0!nb1=)1M==^B)^$8Li$boCY$S4U;G^A!?24nSYHra{< zSNapX#G+0BTac|xh`w&}K!);$sA3ay%^a2f?+^*9Ev8ONilfwYUaDTMvhqz2Ue2<81uuB71 zAl|VEOy%GQ7zxAJ&;V^h6HOrAzF=q!s4x)Mdlmp{WWI=gZRk(;4)saI0cpWJw$2TJcyc2hWG=|v^1CAkKYp;s_QmU?A;Yj!VQ1m-ugzkaJA(wQ_ zah00eSuJg<5Nd#OWWE?|GrmWr+{-PpE_Dbqs&2`BI=<%ggbwK^8VcGiwC-6x`x|ZY z1&{Vj*XIF2$-2Lx?KC3UNRT z&=j7p1B(akO5G)SjxXOjEzujDS{s?%o*k{Ntu4*X z;2D|UsC@9Wwk5%)wzTrR`qJX!c1zDZXG>-Q<3Z)7@=8Y?HAlj_ZgbvOJ4hPlcH#Iw z!M-f`OSHF~R5U`p(3*JY=kgBZ{Gk;0;bqEu%A;P6uvlZ0;BAry`VUoN(*M9NJ z%CU2_w<0(mSOqG;LS4@`p(3*Z7jC|Khm5-i>FcYr87};_J9)XKlE}(|HSfnA(I3)I zfxNYZhs#E6k5W(z9TI2)qGY&++K@Z?bd;H%B@^!>e2Wi@gLk)wC)T93gTxdRPU7uh z)`$-m(G2I5AuK52aj!fMJR|d^H?0X~+4xSpw zqNRtq5r8hic*{eAwUT<=gI5uXLg)o5mg4XnO^T+Rd+{l)<$Aqp{+RxhNYuX^45W0k z5$t%+7R;dX$`s6CYQYcims>5bNt+k&l_t%C9D-6sYVm%Y8SRC#kgRh*%2kqMg2ewb zp_X*$NFU%#$PuQ@ULP>h9Xw`cJ>J-ma8lU`n*9PcWFpE%x0^}(DvOVe2jz@ z0^2QOi0~t!ov?jI{#bw~`Aj5ymQW@eruRg`ZNJ5IT5_5AHbQ?|C>_7rwREf2e2x&L zlV8xdOkp_*+wdaqE?6bmdrFfaGepcj=0AI<+c=Tg^WB9BhFx?SvwoVdTEm&zPy@Vs zPs2mVPiw1n_h?Xi6!+w)ypsFXXuM>gIY(J+1N6r!sJ{+r1%BzRF20!D;bN>L^?O8n z(5|x2p^Q6X`!pm3!MMFET5`nJXn>tK`fFAj5Eo&t6;F>TU_4G93YGyzvF2_fB& zfE8(dq?R@@&Wh8~%G~rDt1+e)96O5)by_%;G~Zv`TpmZ)vY@BkAan*zEy(s`*{-@U z;$WPjoNx~m?`6Z;^O=K3SBL3LrIxfU{&g)edERkPQZK!mVYU-zHuV0ENDq^e<-?^U zGyRcrPDZZw*wxK(1SPUR$0t0Wc^*u_gb*>qEOP102FX|`^U%n*7z=wM@pOmYa6Z=-)T%!{tAFELY2`dTl3$&w! z7sgKXCTU(h3+8)H#Qov19%85Xo+oQh?C-q0zaM_X2twSCz|j_u!te3J2zLV#Ut_q7 zl+5LGx#{I`(9FzE$0==km|?%m?g~HB#BSz2vHynf1x14mEX^~pej*dhzD|6gMgOJ_ z8F_<>&OIz;`NSqrel?HI-K(|ypxwz}NtX!CF3&T(CkuYOnKS&%lUSU44KsgS`L>!w zl{MoT4`t=+p8>@88)Ea%*hOIkxt#b4RfrwRMr91UF_Ic~kV;|+dRW0a8Vl725+gsvtHr5 z>?3fai&9NmU|3;-nAu8OB|<(-2Kfub4MX&1i}dDd=R~Dk=U-Vr=@&lfEIYU~xtHHO z4TKt=wze`qm=69lD)sOOkZ;$9=0B#*g@X6xPM-%zG*rCXkN%eRDEUp$gAaEd29t&T zRTAg##Sk+TAYaa(LyTD__zL3?Z+45^+1o}(&f<~lQ*-z7`Um^>v@PKqOunTE#OyKFY^q&L^fqZgplhXQ>P3?BMaq6%rO5hfsiln7TppJ z>nG9|2MmL|lShn4-yz0qH>+o;Fe`V!-e*R0M|q~31B=EC$(bQZTW^!PrHCPE4i|>e zyAFK!@P}u>@hqwf%<#uv*jen5xEL|v!VQEK!F`SIz_H8emZfn#Hg}}@SuqPv+gJ@- zf3a`DT_Q#)DnHv+XVXX`H}At zmQwW2K`t@(k%ULJrBe6ln9|W8+3B*pJ#-^9P?21%mOk(W1{t#h?|j0ZrRi_dwGh#*eBd?fy(UBXWqAt5I@L3=@QdaiK`B_NQ$ zLXzm{0#6zh2^M zfu>HFK^d`&v|x&xxa&M|pr))A4)gFw<_X@eN`B1X%C^a{$39fq`(mOG!~22h)DYut z(?MONP1>xp4@dIN^rxtMp&a^yeGc8gmcajyuXhgaB;3}vFCQFa!pTDht9ld9`&ql`2&(dwNl5FZqedD^BP zf5K1`(_&i7x-&rD=^zkFD87idQrk(Y?E;-j^DMCht`A8Qa5J-46@G_*Y3J+&l{$}*QCATEc9zuzaQGHR8B;y*>eWuv)E##?Ba3w= zZ|v(l{EB`XzD#|ncVm#Wy?#Nzm3bS1!FJ70e{DGe$EgNDg7<_ic^mJSh&Xc|aTwCrTv;XkW~UlS&G%KyLklCn}F^i(YP(f z{cqH%5q9ND_S;l$HRP$Q@`D=F*_1$CXIA5X@|V&Vir$NQ$vCx!b&LGCR<-2y)m%HI zxeeyQIjiWcf4uD9+FP+EJ`&$oJ%$R(#w~GjqP|aTQj#d(;l#rq$vcM&Y4ZQ_i{Kpx z?k2BtoKb?+1-EVmG^ne-W%8+y?i#J5N5g8f^qpH5(ZZp7$u+?I9GB+&MREX?TmVV$ zA}Ps=^CkD^sD9N;tNtN!a>@D^&940cTETu*DUZlJO*z7BBy`Rl;$-D@8$6PFq@tz0 z=_2JMmq-JRSvx`;!XM|kO!|DENI-5ke8WR*Zj#vy#Nf1;mW-{6>_sCO8?sVWOKDM| zR(iaZrBrzlRatUzp_Y|2nOXnY2G%WLGXCo9*)th_RnXvXV=q;WNAimI98!A54|$&OCCG%$4m{%E&o?S|Qx<4K~YGmM1CS!vZAzLN%d znbZsw6ql=XkiwSbNofNeA42q8#LH6Rk(u@z172O#6K>Sb{#`t#GUgpd{2;D(9@I_9 zwsY(6Go7RmOThs2rM3|Z#Vbs}CHPLgBK6gE8;XkJQDx~p5wJ?XkE(0<^hwnt6;$~R zXCAzMfK@`myzdkkpv*ZbarVwCi&{-O#rswrb-#x4zRkxfVCq;mJLic|*C92T?0CYv z)FCqY$xA(QZmggPocZqQj0Rc?=Afna`@fpSn)&nSqtI}?;cLphqEF3F9^OZfW9@HDunc^2{_H)1D9(O}4e zJMi_4(&$CD{Jf5&u|7#Iq*F~)l!8pAzNrX^<&wfEu~}Ipslzx=g^ff2?B9SnV=!$ zv&K0`hMN6BVIusHNX-lr`#K?OG1S*S4rCQaI3ea(!gCl7YjxJ3YQ)7-b&N*D8k><*x|47s3; z4f~WTWuk|Qd*d*DICV}Vb0YSzFZp5|%s4}@jvtTfm&`|(jNpajge zD}@CMaUBs+b?Yu6&c#18=TxzMCLE76#Dy=DLiq_a_knQX4Uxk$&@3ORoBFK_&a>`QKaWu^)Hzrqz{5)?h3B_`4AOn{fG9k zEwnjQb>8XRq!k?rmCd6E**1cY#b9yczN4mD%GLCeRk}{TmR1*!dTNzY;(f!B0yVuk zSjRyf;9i@2>bdGSZJ=FNrnxOExb075;gB z*7&YR|4ZraFO#45-4h%8z8U}jdt?83AmU3)Ln#m3GT!@hYdzqqDrkeHW zU#R`Z8RHq996HR=mC}SRGtsz07;-C-!n*ALpwwBe~loM)YqMH)Um$sH0RbTTzxFd)h1=-w5Yl3k|3nQ zZG>=_yZ7Lsn=b8_MZI+LSHLGYSSCc?ht~7cv#39>Moz6AS}5 zus?xge0PGdFd2FpXgIscWOyG}oxATgd$yl0Ugf_&J_vwt`)XWx!p*gE_cWU(tUTnz zQS}!bMxJyi3KWh^W9m zxLcy``V@EfJzYjK@$e7Yk=q!kL8cd3E-zpc*wwvGJ62O!V;N zFG7Y?sJ+^a%H1;rdDZRu2JmGn6<&ERKes=Pwx)GG-nt73&M78+>SOy!^#=gvLB)2H zjv!J0O`-zft|0Jv$3k5wScY)XB+9leZgR5%3~HtZA=bCg7=Dn+F}>2lf;!*1+vBtf z9jhmqlH=t5XW{0MC7Y~O7jaju&2`p!ZDLGlgnd~%+EJ%A#pIByi-+EOmoLVoK&ow8 zTDjB%0hxhiRv+O3c2*y00rMA=)s|3-ev7emcbT43#izku7dvaDXy1IMV0ahjB9yzi z9C9fN+I2Mzt1*{`a6B?+PdWHiJ5fH}rb2t>q)~3RfCxmyK^y5jN7Pn(9DFh61GO%p zuBErj=m|bDn_L8SINU)Z&@K*AgGz+SUYO_RUeJt=E0M+eh&kqK;%Y1psBNU<4-s9# ziHFr7QP6Ew=-2CdfA#Bf|EsctH;<&=Hsd>)Ma8NvHB$cpVY@}TV!UN}3?9o@CS5kw zx%nXo%y|r5`YOWoZi#hE(3+rNKLZ2g5^(%Z99nSVt$2TeU2zD%$Q(=$Y;%@QyT5Rq zRI#b><}zztscQaTiFbsu2+%O~sd`L+oKYy5nkF4Co6p88i0pmJN9In`zg*Q;&u#uK zj#>lsuWWH14-2iG z&4w{6QN8h$(MWPNu84w1m{Qg0I31ra?jdyea*I~Xk(+A5bz{x%7+IL}vFDUI-Rf{! zE^&Dau9QxA2~)M98b42(D6Q}2PUum0%g>B?JS?o~VrP+Go2&c-7hIf7(@o1*7k$zS zy@o5MEe8DoX$Ie(%SZByyf9Xf9n8xkoX}s6RiO1sg*kAV^6EAAz$>*x^OmIy!*?1k zG+UQ|aIWDEl%)#;k{>-(w9UE7oKM#2AvQud}sby=D7$l6{$}SE8O9WgHM_+ zJ?tHeu@Pi93{AuwVF^)N(B~0?#V*6z;zY)wtgqF7Nx7?YQdD^s+f8T0_;mFV9r<+C z4^NloIJIir%}ptEpDk!z`l+B z5h(k$0bO$VV(i$E@(ngVG^YAjdieHWwMrz6DvNGM*ydHGU#ZG{HG5YGTT&SIqub@) z=U)hR_)Q@#!jck+V`$X5itp9&PGiENo(yT5>4erS<|Rh#mbCA^aO2rw+~zR&2N6XP z5qAf^((HYO2QQQu2j9fSF)#rRAwpbp+o=X>au|J5^|S@(vqun`du;1_h-jxJU-%v| z_#Q!izX;$3%BBE8Exh3ojXC?$Rr6>dqXlxIGF?_uY^Z#INySnWam=5dV`v_un`=G*{f$51(G`PfGDBJNJfg1NRT2&6E^sG%z8wZyv|Yuj z%#)h~7jGEI^U&-1KvyxIbHt2%zb|fa(H0~Qwk7ED&KqA~VpFtQETD^AmmBo54RUhi z=^Xv>^3L^O8~HO`J_!mg4l1g?lLNL$*oc}}QDeh!w@;zex zHglJ-w>6cqx3_lvZ_R#`^19smw-*WwsavG~LZUP@suUGz;~@Cj9E@nbfdH{iqCg>! zD7hy1?>dr^ynOw|2(VHK-*e%fvU0AoKxsmReM7Uy{qqUVvrYc5Z#FK&Z*XwMNJ$TJ zW1T**U1Vfvq1411ol1R?nE)y%NpR?4lVjqZL`J}EWT0m7r>U{2BYRVVzAQamN#wiT zu*A`FGaD=fz|{ahqurK^jCapFS^2e>!6hSQTh87V=OjzVZ}ShM3vHX+5IY{f^_uFp zIpKBGq)ildb_?#fzJWy)MLn#ov|SvVOA&2|y;{s;Ym4#as?M^K}L_g zDkd`3GR+CuH0_$s*Lm6j)6@N;L7Vo@R=W3~a<#VxAmM&W33LiEioyyVpsrtMBbON+ zX^#%iKHM;ueExK@|t3fX`R+vO(C zucU#Xf>OjSH0Kd%521=Sz%5Y!O(ug(?gRH@K>IUayFU~ntx`Wdm27dB-2s@)J=jf_ zjI-o;hKnjQ|Lg~GKX!*OHB69xvuDU zuG-H48~inKa)^r539a{F)OS`*4GShX>%BR)LU~a-|6+sx&FYsrS1}_b)xSNOzH|Kv zq>+1-cSc0`99EsUz(XWcoRO)|shn>TqKoQBHE)w8i8K`*Xy6(ls%WN_#d}YC^)NJ; zzl8!Zduz^Gg8*f0tCWnLEzw6k5Fv!QWC1x4)3r}+x~@#O8_)0>lP-@3(kFwLl%%Mz(TpATVnL5Pl2Gahw45QXI~>Hrw))CcEs@PP?}4^zkM$ z@(?H6^`Jl?A=(&Ue;W0`*a8&fR7vde@^q^AzX^H#gd~96`Ay^_A%?;?@q@t7l7iGn zWms#2J|To4;o1?3g3L!K_chdtmbEg~>U>$5{WO@Ip~YE&H($(^X6y_OBuNHkd0wu= z4rXGy#-@vZ?>M<_gpE8+W-{#ZJeAfgE#yIDSS?M?K(oY@A|FaS3P;OjMNOG% zGWyZWS(}LJCPaGi9=5b%sq$i!6x@o(G}wwfpI5|yJe24d_V}cT1{^(Qe$KEMZ;>I@ zuE6ee%FLgem>CKEN8SeY)fpK#>*lGcH~71)T4p|9jWT;vwM@N!gL}nCW=Oi6+_>K2 zl4sWXeM1U}RETA~hp=o3tCk+?Zwl#*QA>Wwd|FlUF0)U;rEGPD1s0Syluo zfW9L(F>q9li8YKwKXZrp*t)N9E;?&Hdbm-AZp2BcDTHO6q=tzVkZsozEIXjIH`tm} zo2-UleNm*Lj7zgvhBph_|1IggkSuW~S(9ueZEfao8BuzqlF(a+pRivTv(Zb zXFaHwcuovdM#d+!rjV7F<^VW&@}=5|xj!OUF)s0zh|8yzC)7!9CZB+TLnycoGBsDF z$u&j={5c(4A$iik;x6_S96Krw8--+9pGY+*oSVTIuq;$z8*)W8B~rMX_(U6uM}!Gc`T;WfEKwI84%)-e7j}>NA(O_)3Vn9 zjXxY1Fnx3Fx%CFpUHVu0xjvxgZv}F9@!vC!lD|05#ew3eJ}@!V&urwRKH`1f{0e^o zWvM1S@NbI6pHdzm33pza_q;#?s%J*$4>10uYi4l%5qi|j5qh+D=oqSJR=7QwkQh>>c$|uJ#Z@lK6PMHs@ zyvnnoOSkGQkYz#g>||xN&1fV)aJb*y--Y`UQV~lt!u8yTUG59ns1l7u>CX2F>9fl; zB)zH3z^XHmSU{F_jlvESvaNL&nj^;j)29~1LcTYw>(6}>bt0hiRooqm0@qTj%A&P9 zKmexPwyXG@Rs1i+8>AJ;=?&7RHC7Mn%nO>@+l?Qj~+lD376O2rp)>tlVHn8MKq zwop1KRLhUjZ|+6ecGIAftSPT*3i94=QzYCi_ay+5J&O(%^IsqZ!$w-^bmd7ds$^!q z;AkC;5mTAU>l0S$6NSyG30Ej?KPq@#T)^x#x?@U~fl2m$Ffk)s6u|iPr!)-j0BlA7p3E*A|My8S#KH;8i-IQq7Q*F4*ZVPe<{^SWz_ zr?!6cS+@|C#-P~d#=W1n7acn8_pg#W-lcyf+41zwR+BU6`jUkP^`*wgX)FxEaXzoi z8)?FE*97Yqz|b@fR1(r{QD363t260rQ(F||dt9^xABi+{C*_HL9Zt5T;fq|#*b}=K zo5yj_cZB(oydMAL&X(W6yKf>ui?!%(HhiHJ83EA|#k0hQ!gpVd( zVSqRR&ado+v4BP9mzamKtSsV<|0U-Fe2HP5{{x&K>NxWLIT+D^7md{%>D1Z-5lwS~ z6Q<1`Hfc+0G{4-84o-6dr@)>5;oTt|P6jt9%a43^wGCslQtONH)7QXJEYa!c~39 zWJpTL@bMYhtem1de>svLvOUa*DL7+Ah0(_~2|ng`!Z!qiN}6xL;F}<%M8qWv&52-Y zG*1A&ZKlp~{UFV%Hb_*Re({93f7W*jJZMV-Yn|<+l3SPN+%GuPl=+tSZxxr%?6SEc zntb0~hcK691wwxlQz_jSY+V_h+0o`X!Vm{;qYK$n?6ib1G{q>a%UejzOfk6q<=8oM z6Izkn2%JA2E)aRZbel(M#gI45(Fo^O=F=W26RA8Qb0X;m(IPD{^Wd|Q;#jgBg}e( z+zY(c!4nxoIWAE4H*_ReTm|0crMv8#RLSDwAv<+|fsaqT)3}g=|0_CJgxKZo7MhUiYc8Dy7B~kohCQ$O6~l#1*#v4iWZ=7AoNuXkkVVrnARx?ZW^4-%1I8 zEdG1%?@|KmyQ}tploH>5@&8Cp{`)CxVQOss&x|Z7@gGL3=tCVNDG!N9`&;N$gu^MDk|`rRm=lhnXAJ5v1T)WTz)qvz|Dw zR?{}W4VB(O6#9%o9Z^kFZZV*PDTAWqkQ8TH!rti8QIcR&>zcg3qG}&A( zwH^K8=`1C1lRfhrX{IvNn9R9!$UMC%k(;;VH%`S0h_on|Gh6qDSH&#}*m-u{;p~WB zF$_I~xx!RxVrxNQdr@3T>{F#^D{@N9OYC9LsV62F_Z1KYQ5yk*C5WQ4&q}Kz(I{9UWWf?LIcCZicB1EO_FUH*a9QKS(4IR%#D5DTi_@M}Q_-4)J4d zz@!vR0}5MPAOK(#uL+$7XOcP$5SS#*EK9Rt6XN%}HB7@`8S^gNRk!HLv(CvCjX4o= z>9scPwWbE!F8T=@x9^;s-OF2!eO(!gL9$-AmzUiDnu&QS4If5ea2T070n1-IyNhck z9$J8b!he3@q5qB-cQ;5ymVIXXn46kK0sqKZV+3s3^mac=3~BrCW})WNrrRs1KtMmg zLzwXYC?@_H#s3W4D$W0rh%WL|G<1$$uYdptPbxy0ke!c%v#x9I=2?S)YVkg1X$W^cB!i>B{e9wXlm8AcCT8|verIZQngj>{%W%~W0J%N`Q($h z^u3}p|HyHk?(ls7?R`a&&-q@R<94fI30;ImG3jARzFz<(!K|o9@lqB@Va+on`X2G) zegCM8$vvJ$kUwXlM8df|r^GQXr~2q*Zepf&Mc%kgWGTf;=Wx%7e{&KId-{G}r22lI zmq%L6Y-M*T$xf8 z#kWOBg2TF1cwcd{<$B)AZmD%h-a6>j z%I=|#ir#iEkj3t4UhHy)cRB$3-K12y!qH^1Z%g*-t;RK z6%Mjb*?GGROZSHSRVY1Ip=U_V%(GNfjnUkhk>q%&h!xjFvh69W8Mzg)7?UM=8VHS* zx|)6Ew!>6-`!L+uS+f0xLQC^brt2b(8Y9|5j=2pxHHlbdSN*J1pz(#O%z*W-5WSf# z6EW5Nh&r<;$<3o1b013?U$#Y!jXY)*QiGFt|M58sO45TBGPiHl4PKqZhJ|VRX=AOO zsFz-=3$~g#t4Ji9c;GFS9L~}~bzgCqnYuJ-60AMDdN7HZt8_$~Of{oXaD3HVn9zkH z`>#xQNe=YpWTq_LcOoy}R`L<_4il7w4)QH4rl?AUk%?fH##I>`1_mnp&=$-%SutYT zs}sSNMWo;(a&D()U$~PG0MvZ#1lmsF&^P4l_oN#_NORD-GSmR{h_NbJ^ZdY#R9#qW zKAC%V*?y~}V1Zh#d|-z1Z8sy5A+}*cOq$xk@Pn&{QffzG-9ReyPeEhqF%~Z3@|r(s z3(wA&)dV~fELW*&*=!~l9M=7wq8xE(<@)BjjN8bUiS8@N9E{wi+Dd!V1AtT;Nl}9> zTz`2ge2Jn#Dlg1kC%oFlOe<>?jYC`Asr^%i4hH;S`*qZTPRan2a9Kjj=0aq{iVi2Z z87PZt$d(LAm_{92kl+2Z%k3KGV;~gsp;C>k?gMYZrVIzaI|0D+fka9G_4v>N96*8T zI(C8bj?A7l%V&U?H_IpSeCvf7@y1e?b>G7cN382GVO0qAMQ93(T*<*9c_;%P1}x2l zi8S$s<=e_8ww%DaBAf4oIQ7}U7_48$eYpo}Fb+F|K|43IAPR1y9xbqPPg6er{I7xj|=>-c%pGBRLn1~=5KbAb1mJAx=z(loN!w{49VkEthF>*OX z)=gqXyZB5%5lIWYPWh~{!5pSt43-)-@L@x=pmiuKP-3Cwq8qSxGNwaTT4->BWEjxk zUjr)z7WrBZB5u3iV>Y_>*i~*!vRYL)iAh5hMqNzVq1eeq=&d9Ye!26jks{f~6Ru&c zg$D;^4ui#kC`rSxx`fP!zZ^6&qSneQzZRq0F*V4QvKYKB<9FC%t#)Tik%Zq*G*IOW z3*`2!4d)!3oH>GxVcXlorJDt+JnH)p{~olYBPq|>_V@8=l#(f*diW=L+%>rfWCcPQ z#H^ksQt15Z5Uc4ODq8_JwD5^H&OGqyH6E@MabJQO>s`?bqgA6}J_QpytW{2jH#eCN z8k7y*TFZ2lj2B|1CB(@QZedFfPhX|IQbKMI;$YK>9Zla0fsU7}an6(kP;sXpBWLR` zJ#z_kk!`JJC7h(1J!+G)gL2WB2&0*~Q!%s??}GH?=`hU@03xOwU} z6s7?tGySLz!%(MwxQRiF)2(vR2wQX`YB}u&I-S+RR)LQcyH407#-{*pWLJJR?X|5 zsAl2k{&0N-?JArn@)9YTo-5+gl}R~XkbZM*5AOjPrcikpE3P?p0oN^?H+5+n)}Qxe z*RQ!-eu0RxPyF8B=}xnseNpQMXFU$d^=(G%kUd&|!BHSm7bXoGR$WA+%yjuA{|S>u z?9N6JDhS+ui~rd?wY_t7`p)|qKIMM>6jz%$jv4hc_YUDjF6-%5muq|SNuoji2)|qK zNY5+oWMe+5vu{I*grk6xlVk;(J)uuy13G`VDbj(~Vz9lA)_;$aj?=-cmd#h~N0mn{ z9EIS_d4C=L3H;Pl^;vcpb&-B+)8vt%#?gn5z>#;G{1L&8u8cXJYADMUsm9>%*%)&F zsi&I{Y=VUsV82+)hdNgDWh^M7^hMs|TA0M269^|RIGfdX1MetV2z`Ycb&_Mn4iRI! zeI6O}O9mOhN6pzfs5IfMz#Gxl`C{(111okA8M4gijgb~5s7QTyh84zUiZZ^sr1^ps z1GO`$eOS@k@XP^OVH|8)n}Wx)fKHoGwL&5;W?qEf5Jdsd!3hf7L`%QNwN0gGBm^2= z@WI+qJMJG1w2AS9d@Dt$sj_P$+S2kh7+M72^SfcdBjQEtWQ5?PT&a~G9hOo6CtS>h zoghqoR;sk{X)`ZK-M|lu{M}0>Mrs^ZW@ngC?c$26_vYKDBK^n7sFiod_xV#XcPL!^ zRPyqD{w^9u{oA3y73IW0 zH;%xop$r(Q=bq=JaLT%myEKD_2&?L@s6TzsUwE#g^OkiU6{lN)(7I?%a;_%r5_^@d zS-Z)Q-2o|~?F~f`sHlhNhiZk;!CW;3Ma6{xPlBjJx8PXc!Oq{uTo$p*tyH~ka`g<` z;3?wLhLg5pfL)2bYZTd)jP%f+N7|vIi?c491#Kv57sE3fQh(ScM?+ucH2M>9Rqj?H zY^d!KezBk6rQ|p{^RNn2dRt(9)VN_j#O!3TV`AGl-@jbbBAW$!3S$LXS0xNMr}S%f z%K9x%MRp(D2uO90(0||EOzFc6DaLm((mCe9Hy2 z-59y8V)5(K^{B0>YZUyNaQD5$3q41j-eX))x+REv|TIckJ+g#DstadNn_l~%*RBSss_jV3XS&>yNBc8H2jo(lwcLz-PuYp< z7>)~}zl$Ts0+RFxnYj7-UMpmFcw_H zYrsXM>8icD)@Iauiu_(Y#~Iyl)|pj@kHkWvg2N$kGG(W>Y)nfNn%z2xvTLwk1O2GQ zb^5KAW?c%5;VM4RWBy}`JVCBFOGQWoA9|+bgn7^fY3tSk1MSZccs9&Fy6{8F>_K@? zK(z=zgmq1R#jGE^eGV`<`>SP9SEBx!_-Ao|VZq6)-rUpd^<2GgVN&uHiM{0zA9kI( z<1^1%*uE$?4mXV@?W8}fvnBOpfwCo^?(a0E402!pZi&Kd5pp$oV%2Ofx<}YC-1mynB3X|BzWC_ufrmaH1F&VrU&Gs+5>uixj*OJ*f=gs9VR8k^7HRR$Ns|DYBc*Slz>hGK5B1}U+}#j0{ohGC zE80>WClD5FP+nUS?1qa}ENOPb2`P4ccI<9j;k?hqEe|^#jE4gguHYz-$_BCovNqIb zMUrsU;Fq%n$Ku_wB{Ny>%(B&x9$pr=Anti@#U%DgKX|HzC^=21<5Fn6EKc#~g!Mcj zJrI(gW+aK+3BWVFPWEF*ntHX5;aabHqRgU-Nr2t++%JRPP7-6$XS|M8o&YSgf3a9A zLW*tSJxoe1?#T4EocApa*+1kUIgy7oA%Ig9n@)AdY%)p_FWgF-Kxx{6vta)2X1O5y z#+%KQlxETmcIz@64y`mrSk2Z17~}k1n{=>d#$AVMbp>_60Jc&$ILCg-DTN~kM8)#o$M#Fk~<10{bQ>_@gU2uZE z*eN~mqqQC*wh{CI(!xvRQ^{jyUcvE~8N)S0bMA^SK@v;b7|xUOi63X~3Qc>2UNSD1) z7moi9K3QN_iW5KmKH>1ijU41PO>BvA6f1;kL)6io%^r>?YQ#+bB;)Rzad5;{XAJGeAT#FnDV0$w2>v|JeFIB zZ>8vmz?WVs78PuCDiHfb@D0Yi;2#%){*#?bY4dpta6dSjquGLcOw?Z{nxg98mN^4* zj&^!WMUQ_zFp+}B|G0vcNsk8(2u9(LAPk5ogKt%zgQ4^1#UCd;`-W#X8v{YyQ_m9g z8`jydw>>@1J{Q*q#5^cHVA~xR9LR3Hl@^bx)`IBKmj+Gmye36;xwL0>sS|mV+$~%b zC;2wEm&Ht3#6P|2Y0XQ+5t-aI)jn{o%&ZHWvjzEtSojFgXxNKO^e(RmM`gsJ4GrR8 zKhBtBoRjnH`mD$kT;-8ttq|iw?*`7iTF_AX<^Qe3=h8L^tqz$w$#Z@Z$`C579Jeeu ztr0z~HEazU&htfG@`HW!201!N(70hCd{%~@Wv)G*uKnJZ8>hFx`9LnYs;T>8p!`5T zx#aXXU?}B{QTV_Ux(EMzDhl-a^y^f5tRU;xnOQoN)pThr4M>-HU)As8nQ34-0*sab&z<2ye-D_3m&Q`KJJ|ZEZbaDrE%j>yQ(LM#N845j zNYrP)@)md;&r5|;JA?<~l^<=F1VRGFM93c=6@MJ`tDO_7E7Ru zW{ShCijJ?yHl63Go)-YlOW2n3W*x%w||iw(Cy>@dBJHdQl){bBVg{wmRt{#oXb9kaWqe{bJPmGE$$ z_0=cmD9dVzh<8&oyM8rK9F^bufW$Bj2cFhw&f*oKKyu$H{PI=Aqe^NL6B=dkMEAk& zE3y&F=x;e|!7kMn%(UX>G!OE$Y$@UyME#d;#d+WLmm@W@y!sboiIox^DZPB|EN<>7 z57xm5YWlFUGyF|{<*;b&Cqm+|DC8{rB9R@2EFHGL^NX*l#AcDpw6}bCmhY7!(Gv{s zm^eYNvzyJLQA#GhmL*oSt^Uulb5&ZYBuGJTC>Vm9yGaZ=Vd--pMUoDRaV_^3hE9b*Pby#Ubl65U!VBm7sV}coY)m zn1Ag^jPPLT93J{wpK%>8TnkNp;=a@;`sA7{Q}JmmS1bEK5=d@hQEWl;k$9M-PYX~S zayGm;P(Wwk23}JR7XM~kNqba`6!Z+Wt2|5K>g_j3ajhR>+;HF?88GBN!P; zr6sQ8YYpn%r^gbi8yYK7qx6U5^Tf<|VfcR$jCo`$VMVh_&(9w@O?|o3eRHq*e*#P z8-==G)D?vB3Zo~b-dkx8lg0^=gn`9FUy?ZzAfWQd>>@cyqF!sHQ_S&@$r&tTB~Lxq zAjAZTK~?J{A|L3)8K>S{`Qf%131B>?<~t=w!D{;olQ>#31R#{go`a9DOy+H*q5t+; z^*Ka!r@#8tk?~tQbylaG-$n#wP2VzIm3vjrZjcmTL zl`{6mhBhMKbSWoGqi;g3z1@G0q!ib`(Zz_o8HG_*vr8U5G|vhZn26h`f~bO&)RY0; zw(CWk*a_{ji_=O9U}66lI` zCm32)SEcAo5)5k>{<8DLI@Zz)*R29BB!^wF;WZRF9sAi39BGObmZzg?$lUn6w1rYPHSB^L4^AN zLObEaUh7TXpt6)hWck#6AZV(2`lze<`urGFre|>LUF+j5;9z%=K@&BPXCM)P$>;Xc z!tRA4j0grcS%E!urO^lsH-Ey*XY4m&9lK(;gJOyKk*#l!y7$BaBC)xHc|3i~e^bpR zz5E-=BX_5n8|<6hLj(W67{mWk@Bfc){NGAX z5-O3SP^38wjh6dCEDLB#0((3`g4rl}@I(&E8V2yDB=wYhSxlxB4&!sRy>NTh#cVvv z=HyRrf9dVK&3lyXel+#=R6^hf`;lF$COPUYG)Bq4`#>p z@u%=$28dn8+?|u94l6)-ay7Z!8l*6?m}*!>#KuZ1rF??R@Zd zrRXSfn3}tyD+Z0WOeFnKEZi^!az>x zDgDtgv>Hk-xS~pZRq`cTQD(f=kMx3Mfm2AVxtR(u^#Ndd6xli@n1(c6QUgznNTseV z_AV-qpfQ0#ZIFIccG-|a+&{gSAgtYJ{5g!ane(6mLAs5z?>ajC?=-`a5p8%b*r*mOk}?)zMfus$+W~k z{Tmz9p5$wsX1@q`aNMukq-jREu;;A6?LA(kpRut+jX?Tt?}4HGQr}7>+8z4miohO2 zU4fQ?Y8ggl%cj&>+M+)TTjn8(?^%`~!oAt#ri8gIbzIig$y#d7o##077fM9sCu%N9 zOIsq4vyox6`itu*j{eOD<$gTZd-$JuyM^cM>{?v<8# zS1yN%R0zRy&>+D*Gv-&S80?JF+Y|c^^IJWDnfy06MI2{NFO-x4JXsb@3Qp;EnL!a{ zJwKwV@mO zYVGvNmeJ!;+ce+@j@oo-+`DaPJX|h@7@4BD`QEdP?NKkYzdIa3KrZt%VUSsR+{b+| zk?dSd#9NnVl?&Y$A{-OtZ>wk%mWVF5)bf`)AA2{EFapIS4jil69Xan>*J^6Juou&`oJx|7-&|@8z?$ z2V#jm!UHstCE*qM{OGtqYY8q+x%SL6&aGY!a>@d=_G~^0;+7dY9P`oJ*)67*9Kx*O zKitC5V3g5;&L-fa37?eN=;V_c^L-ph_uKv5)Q`&!Z!RPlDWA2{J%a2q@_*?-cn@bH zIt)+mA@HaJj2RV+-MNc#y#Vji*N~m!ZyrYyg-7UK4PYK4F7Y$3Y%@Lk6iPp=I96N> z!;ih(KtZMB23*v{`5cJ}^4D*P!k1&OfU&1%borv_q|7jfaV7fL+wwx8Zp*b}B_O>NRSeJeM zpvw3M`=vSYjFYQ11kx1xqOnJ@degPh&SyXnWz-l719EiW17Yo?c~Bh~;R$MOl+jzV zM1yTq-1**x-=AVR;p0;IPi`#=E!G5qIT>EFE`Bn<7o*8!aVd7?(CZT=U9^Gi3rmWUQG z0|GaP9s$^4t_oLCs!fInyCoB(d?=tZ%%Bb2Y+X&7gvQ6~C4kU%e$W_H;-%XSM;&*HYYnLI z>%{5x_RtSUC~PI4C0H^>O%FixKYVubA>#72wexd}Cgwuw5ZYTvcN2ywVP(dO=5975 zCjo)mOa2Bo&ucEsaq8wi1{h*brT(H=XrTOy*P>?0%VV1QDr09X+Je!T)JT`02?gjX zT@B8}h|;4lH35Guq2gKZT?ags-~Ts~S=poPnQ_T1*?U|{$jaur_PjQ6WmF_(XLFG)d#|iiBC=&B zp}1eOQvQ!3UpL?K`=8hAzMkv#a^COr`J8i}d!BPX&*xp-LL#qse~mOtxI-}{yPRNV zJNTL1{7A55F~K>0e&Os%MwQ~?n1>QV=j!8o_`^-&*E|Q-L9DNr%#6sw8kQVE3E|*}$aAoO$@27ei1w=+zU%?AA!;mf#!%IV*w_D=u516!Kz1F0-WnyVB`I6F1Pc3r1=0iT<_(pCyk>@22z1$w$@M>7AIuk6+ zRG&MFVQ_7>5DLoR5HeOa$?2SA(v2u!#8;5I(ss%=x9U#R zU62n~&)22RTTsp${}6C&$+l&0skFVX%ACgc$(iQ#DVRRz!`Y+b>E?;ib(TH#6Wa=} zs(q_;SA|fhyEo7Ix%rAY9j=Ul^Rzd`3ABf+yO@~h@Rh=wo`?;8PdHE1AUo34r7izy znAr`;VavQueSu7bD5r^nXTERcW(P-{2SOSfF1x0cW1Nczvj0}@!!upORN1%_-b2bh zGt#zokJz&SveJRzlUK4DruxR(YuHEAmB%F}buU`*pAzJ7Mbgs4sg;H@&6x*wxvGm6 z>KH@ilsvvdl@CGfm4T+$agodrB=md8ygG!|O=r@FY>S_zX%*)mqf?XBX*chhQ9uPP z-(T(24)})vWD*{bQM5_hy3CD8C>anuNtCXMkG7T?Yew^>=PK!~Hlr0{-0h0cNAJ8> zRMzLFz7aJv)Yh)_s)^L&L*nDV@qfeg>_<`z1z(?s}}3tE4h|7_taB> zPfmmOCFZ8%>`gyf1@|7t3;e~mwBRCDDw(Rrt>@O}obs#1?!W((+9>d$b7t!{&wR!P ziQbn0@j=&sw={`s##Uc@uS^(tbShjtsk=qrU1LW0lu}BplIfzv{fwxNsSaG~b|ryo zTQ}YXfp6o?^sSHW>s~m;l@h6wFbIPw{Z(IqO1u){{hEZgrTdF0o$n;hYIm`h5ejym zWt^w~#8p1J)FtfY6LvGmNQ~#n>4#mN4B^ zjrQk)Zt%k}GBRD>l`<~og6N_{6HYKDtsAtd%y?KbXCQR(sW8O(v_)kwYMz|(OW zsFz6A1^abSklOl`wLC-KYI8x=oMD^qZBs}}JVW@YY|3&k&IZ_n2Ia@5WiK>buV!E- zOsYcS4dFPE7vzj%_?5i2!XY`TiPd*jy>#C`i^XG8h?f35`=)s`0EhQBN!+YrXbpt( z-bwg_Jen`w<+6&B`hldU%rr&Xdgtze>rKuJ61AI12ja-eDZZX-+u1H>Sa|7pCine9 z&MEhmT7nq`P!pPK>l?I8cjuPpN<7(hqH~beChC*YMR+p;;@6#0j2k$=onUM`IXW3> z`dtX8`|@P|Ep-_0>)@&7@aLeg$jOd4G`eIW=^dQQ*^cgKeWAsSHOY?WEOsrtnG|^yeQ3lSd`pKAR}kzgIiEk@OvQb>DS*pGidh`E=BHYepHXbV)SV6pE2dx6 zkND~nK}2qjDVX3Z`H;2~lUvar>zT7u%x8LZa&rp7YH@n@GqQ65Cv+pkxI1OU6(g`b z?>)NcE7>j@p>V0mFk-5Rpi`W}oQ!tUU&Yn8m0OWYFj|~`?aVFOx;e`M)Q!YSokY)3 zV6l-;hK6?j=mp2#1e5cCn7P6n_7)n^+MdRw@5pvkOA>|&B8`QZ32|ynqaf}Kcdro= zzQchCYM0^)7$;m2iZnMbE$!}hwk&AVvN`iX3A9mB&`*BDmLV-m`OMvd`sJ?;%U`p~ zmwow{y6sPbcZNQPZ#GQS0&mzy?s%>_p>ZM|sCXVAUlST;rQ-3#Iu!-bpFSV4g7?-l zGfX>Z#hR+i;9B};^CO@7<<#MGFeY)SC&;a{!` zf;yaQo%{bjSa8KT~@?O$cK z(DGnm7w>cG1hH#*J%X}%Y%~+nLT*{aP08@l&Nu}>!-j|!8lSqt_xUNF+Y}SQmupyb zPua2PI;@1YaIsRF*knA^rJv84Tc=7?J2}!1kMfHSO$d$+PK*u?OI%=P7;`PHxMB0k zau~T0Wk)rPEGJ$NiXW~kfPA#m%Sr|7=$tHelF9A6rFLa$^g{6)8GSW*6}#~Zb^qk% zg=pLwC!SkY+&Gne((9`TCy`i`a#eCS{A2yMi>J>p*NS*!V~aAgK;wnSOHPULqzyj- z-q4BPXqXn))iRnMF*WZj17wUYjC!h43tI7uScHLf1|WJfA7^5O9`%lH>ga`cmpiz( zs|I8nTUD4?d{CQ-vwD!2uwGU_Ts&{1_mvqY`@A{j^b?n&WbPhb418NY1*Otz19`1w zc9rn?0e_*En&8?OWii89x+jaqRVzlL!QUCg^qU&+WERycV&1+fcsJ%ExEPjiQWRTU zCJpu*1dXyvrJJcH`+OKn7;q`X#@Gmy3U?5ZAV~mXjQhBJOCMw>o@2kznF>*?qOW;D z6!GTcM)P-OY-R`Yd>FeX%UyL%dY%~#^Yl!c42;**WqdGtGwTfB9{2mf2h@#M8YyY+!Q(4}X^+V#r zcZXYE$-hJyYzq%>$)k8vSQU` zIpxU*yy~naYp=IocRp5no^PeFROluibl( zmaKkWgSWZHn(`V_&?hM{%xl3TBWCcr59WlX6Q{j45)`A^-kUv4!qM=OdcwpsGB)l} z&-_U+8S8bQ!RDc&Y3~?w5NwLNstoUYqPYs(y+lj!HFqIZ7FA>WsxAE7vB=20K zn_&y{2)Uaw4b^NCFNhJXd&XrhA4E~zD7Ue7X^f98=&5!wn_r=6qAwDkd>g#2+*ahd zaV|_P_8e%jiHh7W;cl(d=&-r-C}_Ov?bts8s^rKUWQ|XkuW!ToSwe}Z{4|kl+q&&W zn%iW48c5*ft#*m)+xSps+j(B5bPh&u0&m6=@WgwBf_QfJJzg2Qdz89HwcV`5kZ#5z zw;W&H8>5R(>KRwvd0gh30wJHA>|2N(im;~wy1HTv_}Ue%qb)>5qL^$hIyPvoT(nk_<`7F;#nS8;q!cqKspvBc<%xMsQj*h|>`Z)F6LDxue@to))OIbs2X+zY2L9#2UNrR^)?c8&PFc?j*&Q-r|C%7a$)ZRQ->#|?rEj&M4spQfNt;J^ntwf(d+q;tt)C`d{*|t)czD4x-qw{Chm0vuKp8axqy5`Yz z1756|;JX1q(lEieR=uT;%havqflgv+`5i!Z`R}(JNV~&`x}I9Lmm;aB7Bnc^UC?>W zu)(J7@fs}pL=Y-4aLq&Z*lO$e^0(bOW z3gWbcvb^gjEfhV=6Lgu2aX{(zjq|NH*fSgm&kBj?6dFqD2MWk5@eHt@_&^ZTX$b?o}S<9BGaCZIm6Hz)Qkruacn!qv*>La|#%j*XFp(*;&v3h4 zcjPbZWzv|cOypb@XDnd}g%(@f7A>w2Nseo|{KdeVQu)mN=W=Q`N?ID%J_SXUr0Rl# z3X;tO*^?41^%c!H;ia@hX``kWS3TR|CJ4_9j-?l6RjC=n?}r&sr>m%58&~?$JJV6{ zDq5h#m4S_BPiibQQaPGg6LIHVCc`9w3^3ZVWP$n>p7 z5dIEH-W9e;$Id8>9?wh%WnWf>4^1U<%vn=<4oNFhVl9zVk+jn;WtQUQ)ZeEjKYy8C z3g#tIb28thR1nZdKrN}(r zJdy-Y3Rvr5D3D|msZbmE;FLePbiM0ZjwTIQQHk)8G+sB$iwmEa2kQv&9Vs9m#$_8j zNKz}(x$Wc(M)a9H-Pn?5(Lk-CmOS(&+EVLOfsiq>e3ru6P?Lp>FOwPt>0o=j8UyF^ zO{(vf#MGx^y~WaOKnt%I78s}60(O#jFx0^47^Ikh$QTar(Dg$c=0KR|rRD|6s zz?tEX0_=(Hm0jWl;QOu!-k)mV?^i(Etl=Lg-{ z0G}CBprLX60zgAUz-fS^&m#o;erEC5TU+mn_Wj(zL$zqMo!e`D>s7X&;E zFz}}}puI+c%xq0uTpWS3RBlIS2jH0)W(9FU1>6PLcj|6O>=y)l`*%P`6K4}U2p}a0 zvInj%$AmqzkNLy%azH|_f7x$lYxSG=-;7BViUN(&0HPUobDixM1RVBzWhv8LokKI2 zjDwvWu=S~8We)+K{oMd-_cuXNO&+{eUaA8Ope3MxME0?PD+0a)99N>WZ66*;sn(N++hjPyz5z0RC{- z$pcSs{|)~a_h?w)y}42A6fg|nRnYUjMaBqg=68&_K%h3eboQ=%i083nfIVZZ04qOp%d*)*hNJA_foPjiW z$1r8ZZiRSvJT3zhK>iR@8_+TTJ!tlNLdL`e0=yjzv3Ie80h#wSfS3$>DB!!@JHxNd z0Mvd0Vqq!zfDy$?goY+|h!e(n3{J2;Ag=b)eLq{F0W*O?j&@|882U5?hUVIw_v3aV8tMn`8jPa5pSxzaZe{z}z|}$zM$o=3-mQ0Zgd?ZtaI> zQVHP1W3v1lbw>|?z@2MO(Ex!5KybKQ@+JRAg1>nzpP-!@3!th3rV=o?eiZ~fQRWy_ zfA!U9^bUL+z_$VJI=ic;{epla<&J@W-QMPZm^kTQ8a^2TX^TDpza*^tOu!WZ=T!PT z+0lJ*HuRnNGobNk0PbPT?i;^h{&0u+-fejISNv#9&j~Ep2;dYspntgzwR6<$@0dTQ z!qLe3Ztc=Ozy!btCcx!G$U7FlBRe}-L(E|RpH%_gt4m_LJllX3!iRYJEPvxcJ>C76 zfBy0_zKaYn{3yG6@;}S&+BeJk5X}$Kchp<Ea-=>VDg&zi*8xM0-ya!{ zcDN@>%H#vMwugU&1KN9pqA6-?Q8N@Dz?VlJ3IDfz#i#_RxgQS*>K+|Q@bek+s7#Qk z(5NZ-4xs&$j)X=@(1(hLn)vPj&pP>Nyu)emQ1MW6)g0hqXa5oJ_slh@(5MMS4xnG= z{0aK#F@_p=e}FdAa3tEl!|+j?h8h`t0CvCmNU%dOwEq<+jmm-=n|r|G^7QX4N4o(v zPU!%%w(Cet)Zev3QA?;TMm_aEK!5(~Nc6pJlp|sQP@z%JI}f0_`u+rc`1Df^j0G&s ScNgau(U?ep-K_E5zy1%ZQTdPn literal 0 HcmV?d00001 diff --git a/examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.properties b/examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..6ec1567a --- /dev/null +++ b/examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/sdk/reactNative/android/gradlew b/examples/sdk/reactNative/android/gradlew new file mode 100755 index 00000000..65dcd68d --- /dev/null +++ b/examples/sdk/reactNative/android/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/examples/sdk/reactNative/android/gradlew.bat b/examples/sdk/reactNative/android/gradlew.bat new file mode 100644 index 00000000..6689b85b --- /dev/null +++ b/examples/sdk/reactNative/android/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/sdk/reactNative/android/settings.gradle b/examples/sdk/reactNative/android/settings.gradle new file mode 100644 index 00000000..25b2745f --- /dev/null +++ b/examples/sdk/reactNative/android/settings.gradle @@ -0,0 +1,4 @@ +rootProject.name = 'reactNative' +apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) +include ':app' +includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/examples/sdk/reactNative/app.json b/examples/sdk/reactNative/app.json new file mode 100644 index 00000000..7a734cdf --- /dev/null +++ b/examples/sdk/reactNative/app.json @@ -0,0 +1,4 @@ +{ + "name": "reactNative", + "displayName": "reactNative" +} diff --git a/examples/sdk/reactNative/babel.config.js b/examples/sdk/reactNative/babel.config.js new file mode 100644 index 00000000..f842b77f --- /dev/null +++ b/examples/sdk/reactNative/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['module:metro-react-native-babel-preset'], +}; diff --git a/examples/sdk/reactNative/index.js b/examples/sdk/reactNative/index.js new file mode 100644 index 00000000..b5874180 --- /dev/null +++ b/examples/sdk/reactNative/index.js @@ -0,0 +1,20 @@ +import { BacktraceClient } from '@backtrace-labs/react-native'; +import { AppRegistry } from 'react-native'; +import App from './App'; +import { name as appName } from './app.json'; +import { SUBMISSION_URL } from './src/consts'; + +BacktraceClient.initialize({ + url: SUBMISSION_URL, + userAttributes: { + 'custom-attribute': 'test', + id: 1, + 'is-boolean': true, + 'custom-annotation': { + prop1: true, + prop2: 123, + }, + }, +}); + +AppRegistry.registerComponent(appName, () => App); diff --git a/examples/sdk/reactNative/ios/.xcode.env b/examples/sdk/reactNative/ios/.xcode.env new file mode 100644 index 00000000..3d5782c7 --- /dev/null +++ b/examples/sdk/reactNative/ios/.xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/examples/sdk/reactNative/ios/Podfile b/examples/sdk/reactNative/ios/Podfile new file mode 100644 index 00000000..befa2d58 --- /dev/null +++ b/examples/sdk/reactNative/ios/Podfile @@ -0,0 +1,62 @@ +# Resolve react_native_pods.rb with node to allow for hoisting +require Pod::Executable.execute_command('node', ['-p', + 'require.resolve( + "react-native/scripts/react_native_pods.rb", + {paths: [process.argv[1]]}, + )', __dir__]).strip + +platform :ios, min_ios_version_supported +prepare_react_native_project! + +# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. +# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded +# +# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` +# ```js +# module.exports = { +# dependencies: { +# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), +# ``` +flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled + +linkage = ENV['USE_FRAMEWORKS'] +if linkage != nil + Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green + use_frameworks! :linkage => linkage.to_sym +end + +target 'reactNative' do + config = use_native_modules! + + # Flags change depending on the env values. + flags = get_default_flags() + + use_react_native!( + :path => config[:reactNativePath], + # Hermes is now enabled by default. Disable by setting this flag to false. + :hermes_enabled => flags[:hermes_enabled], + :fabric_enabled => flags[:fabric_enabled], + # Enables Flipper. + # + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable the next line. + :flipper_configuration => flipper_config, + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/.." + ) + + target 'reactNativeTests' do + inherit! :complete + # Pods for testing + end + + post_install do |installer| + # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 + react_native_post_install( + installer, + config[:reactNativePath], + :mac_catalyst_enabled => false + ) + __apply_Xcode_12_5_M1_post_install_workaround(installer) + end +end diff --git a/examples/sdk/reactNative/ios/Podfile.lock b/examples/sdk/reactNative/ios/Podfile.lock new file mode 100644 index 00000000..7f775e93 --- /dev/null +++ b/examples/sdk/reactNative/ios/Podfile.lock @@ -0,0 +1,713 @@ +PODS: + - boost (1.76.0) + - CocoaAsyncSocket (7.6.5) + - DoubleConversion (1.1.6) + - FBLazyVector (0.72.4) + - FBReactNativeSpec (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTRequired (= 0.72.4) + - RCTTypeSafety (= 0.72.4) + - React-Core (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - Flipper (0.182.0): + - Flipper-Folly (~> 2.6) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (3.2.0.1) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.10): + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) + - Flipper-Glog + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.1100) + - Flipper-Glog (0.5.0.5) + - Flipper-PeerTalk (0.0.4) + - FlipperKit (0.182.0): + - FlipperKit/Core (= 0.182.0) + - FlipperKit/Core (0.182.0): + - Flipper (~> 0.182.0) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - SocketRocket (~> 0.6.0) + - FlipperKit/CppBridge (0.182.0): + - Flipper (~> 0.182.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.182.0): + - Flipper-Folly (~> 2.6) + - FlipperKit/FBDefines (0.182.0) + - FlipperKit/FKPortForwarding (0.182.0): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.182.0) + - FlipperKit/FlipperKitLayoutHelpers (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - FlipperKit/FlipperKitLayoutIOSDescriptors + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0) + - FlipperKit/FlipperKitNetworkPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin + - fmt (6.2.1) + - glog (0.3.5) + - hermes-engine (0.72.4): + - hermes-engine/Pre-built (= 0.72.4) + - hermes-engine/Pre-built (0.72.4) + - libevent (2.1.12) + - OpenSSL-Universal (1.1.1100) + - RCT-Folly (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Default (= 2021.07.22.00) + - RCT-Folly/Default (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Futures (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent + - RCTRequired (0.72.4) + - RCTTypeSafety (0.72.4): + - FBLazyVector (= 0.72.4) + - RCTRequired (= 0.72.4) + - React-Core (= 0.72.4) + - React (0.72.4): + - React-Core (= 0.72.4) + - React-Core/DevSupport (= 0.72.4) + - React-Core/RCTWebSocket (= 0.72.4) + - React-RCTActionSheet (= 0.72.4) + - React-RCTAnimation (= 0.72.4) + - React-RCTBlob (= 0.72.4) + - React-RCTImage (= 0.72.4) + - React-RCTLinking (= 0.72.4) + - React-RCTNetwork (= 0.72.4) + - React-RCTSettings (= 0.72.4) + - React-RCTText (= 0.72.4) + - React-RCTVibration (= 0.72.4) + - React-callinvoker (0.72.4) + - React-Codegen (0.72.4): + - DoubleConversion + - FBReactNativeSpec + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rncore + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-Core (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.4) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/CoreModulesHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/Default (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/DevSupport (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.4) + - React-Core/RCTWebSocket (= 0.72.4) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector (= 0.72.4) + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTActionSheetHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTAnimationHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTBlobHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTImageHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTLinkingHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTNetworkHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTSettingsHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTTextHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTVibrationHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTWebSocket (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.4) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-CoreModules (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/CoreModulesHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - React-RCTBlob + - React-RCTImage (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - SocketRocket (= 0.6.1) + - React-cxxreact (0.72.4): + - boost (= 1.76.0) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.4) + - React-debug (= 0.72.4) + - React-jsi (= 0.72.4) + - React-jsinspector (= 0.72.4) + - React-logger (= 0.72.4) + - React-perflogger (= 0.72.4) + - React-runtimeexecutor (= 0.72.4) + - React-debug (0.72.4) + - React-hermes (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCT-Folly/Futures (= 2021.07.22.00) + - React-cxxreact (= 0.72.4) + - React-jsi + - React-jsiexecutor (= 0.72.4) + - React-jsinspector (= 0.72.4) + - React-perflogger (= 0.72.4) + - React-jsi (0.72.4): + - boost (= 1.76.0) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-jsiexecutor (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact (= 0.72.4) + - React-jsi (= 0.72.4) + - React-perflogger (= 0.72.4) + - React-jsinspector (0.72.4) + - React-logger (0.72.4): + - glog + - React-NativeModulesApple (0.72.4): + - hermes-engine + - React-callinvoker + - React-Core + - React-cxxreact + - React-jsi + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-perflogger (0.72.4) + - React-RCTActionSheet (0.72.4): + - React-Core/RCTActionSheetHeaders (= 0.72.4) + - React-RCTAnimation (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTAnimationHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTAppDelegate (0.72.4): + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-CoreModules + - React-hermes + - React-NativeModulesApple + - React-RCTImage + - React-RCTNetwork + - React-runtimescheduler + - ReactCommon/turbomodule/core + - React-RCTBlob (0.72.4): + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.72.4) + - React-Core/RCTBlobHeaders (= 0.72.4) + - React-Core/RCTWebSocket (= 0.72.4) + - React-jsi (= 0.72.4) + - React-RCTNetwork (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTImage (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTImageHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - React-RCTNetwork (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTLinking (0.72.4): + - React-Codegen (= 0.72.4) + - React-Core/RCTLinkingHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTNetwork (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTNetworkHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTSettings (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTSettingsHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTText (0.72.4): + - React-Core/RCTTextHeaders (= 0.72.4) + - React-RCTVibration (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.72.4) + - React-Core/RCTVibrationHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-rncore (0.72.4) + - React-runtimeexecutor (0.72.4): + - React-jsi (= 0.72.4) + - React-runtimescheduler (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker + - React-debug + - React-jsi + - React-runtimeexecutor + - React-utils (0.72.4): + - glog + - RCT-Folly (= 2021.07.22.00) + - React-debug + - ReactCommon/turbomodule/bridging (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.4) + - React-cxxreact (= 0.72.4) + - React-jsi (= 0.72.4) + - React-logger (= 0.72.4) + - React-perflogger (= 0.72.4) + - ReactCommon/turbomodule/core (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.4) + - React-cxxreact (= 0.72.4) + - React-jsi (= 0.72.4) + - React-logger (= 0.72.4) + - React-perflogger (= 0.72.4) + - SocketRocket (0.6.1) + - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - Flipper (= 0.182.0) + - Flipper-Boost-iOSX (= 1.76.0.1.11) + - Flipper-DoubleConversion (= 3.2.0.1) + - Flipper-Fmt (= 7.1.7) + - Flipper-Folly (= 2.6.10) + - Flipper-Glog (= 0.5.0.5) + - Flipper-PeerTalk (= 0.0.4) + - FlipperKit (= 0.182.0) + - FlipperKit/Core (= 0.182.0) + - FlipperKit/CppBridge (= 0.182.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0) + - FlipperKit/FBDefines (= 0.182.0) + - FlipperKit/FKPortForwarding (= 0.182.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0) + - FlipperKit/FlipperKitReactPlugin (= 0.182.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.1100) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - CocoaAsyncSocket + - Flipper + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - FlipperKit + - fmt + - libevent + - OpenSSL-Universal + - SocketRocket + - YogaKit + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + FBReactNativeSpec: + :path: "../node_modules/react-native/React/FBReactNativeSpec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTRequired: + :path: "../node_modules/react-native/Libraries/RCTRequired" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-debug: + :path: "../node_modules/react-native/ReactCommon/react/debug" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" + React-NativeModulesApple: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-runtimescheduler: + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-utils: + :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: 57d2868c099736d80fcd648bf211b4431e51a558 + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 + DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 + FBLazyVector: 5d4a3b7f411219a45a6d952f77d2c0a6c9989da5 + FBReactNativeSpec: 3fc2d478e1c4b08276f9dd9128f80ec6d5d85c1f + Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 + Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 + glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c + RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 + RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 + RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f + React: a1be3c6dc0a6e949ccd3e659781aa47bbae1868f + React-callinvoker: 1020b33f6cb1a1824f9ca2a86609fbce2a73c6ed + React-Codegen: a0a26badf098d4a779acda922caf74f6ecabed28 + React-Core: 52075b80f10c26f62219d7b5d13d7d8089f027b3 + React-CoreModules: 21abab85d7ad9038ce2b1c33d39e3baaf7dc9244 + React-cxxreact: 4ad1cc861e32fb533dad6ff7a4ea25680fa1c994 + React-debug: 17366a3d5c5d2f5fc04f09101a4af38cb42b54ae + React-hermes: 37377d0a56aa0cf55c65248271866ce3268cde3f + React-jsi: 6de8b0ccc6b765b58e4eee9ee38049dbeaf5c221 + React-jsiexecutor: c7f826e40fa9cab5d37cab6130b1af237332b594 + React-jsinspector: aaed4cf551c4a1c98092436518c2d267b13a673f + React-logger: da1ebe05ae06eb6db4b162202faeafac4b435e77 + React-NativeModulesApple: edb5ace14f73f4969df6e7b1f3e41bef0012740f + React-perflogger: 496a1a3dc6737f964107cb3ddae7f9e265ddda58 + React-RCTActionSheet: 02904b932b50e680f4e26e7a686b33ebf7ef3c00 + React-RCTAnimation: 88feaf0a85648fb8fd497ce749829774910276d6 + React-RCTAppDelegate: 5792ac0f0feccb584765fdd7aa81ea320c4d9b0b + React-RCTBlob: 0dbc9e2a13d241b37d46b53e54630cbad1f0e141 + React-RCTImage: b111645ab901f8e59fc68fbe31f5731bdbeef087 + React-RCTLinking: 3d719727b4c098aad3588aa3559361ee0579f5de + React-RCTNetwork: b44d3580be05d74556ba4efbf53570f17e38f734 + React-RCTSettings: c0c54b330442c29874cd4dae6e94190dc11a6f6f + React-RCTText: 9b9f5589d9b649d7246c3f336e116496df28cfe6 + React-RCTVibration: 691c67f3beaf1d084ceed5eb5c1dddd9afa8591e + React-rncore: 142268f6c92e296dc079aadda3fade778562f9e4 + React-runtimeexecutor: d465ba0c47ef3ed8281143f59605cacc2244d5c7 + React-runtimescheduler: 4941cc1b3cf08b792fbf666342c9fc95f1969035 + React-utils: b79f2411931f9d3ea5781404dcbb2fa8a837e13a + ReactCommon: 4b2bdcb50a3543e1c2b2849ad44533686610826d + SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 + Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + +PODFILE CHECKSUM: 8a8aa8565463f099a849a8e382f9d9ab6df99234 + +COCOAPODS: 1.12.1 diff --git a/examples/sdk/reactNative/ios/reactNative.xcodeproj/project.pbxproj b/examples/sdk/reactNative/ios/reactNative.xcodeproj/project.pbxproj new file mode 100644 index 00000000..63c3caaa --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative.xcodeproj/project.pbxproj @@ -0,0 +1,706 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 00E356F31AD99517003FC87E /* reactNativeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* reactNativeTests.m */; }; + 0C80B921A6F3F58F76C31292 /* libPods-reactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-reactNative.a */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 7699B88040F8A987B510C191 /* libPods-reactNative-reactNativeTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-reactNative-reactNativeTests.a */; }; + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = reactNative; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 00E356EE1AD99517003FC87E /* reactNativeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = reactNativeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* reactNativeTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = reactNativeTests.m; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* reactNative.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = reactNative.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = reactNative/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = reactNative/AppDelegate.mm; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = reactNative/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = reactNative/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = reactNative/main.m; sourceTree = ""; }; + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-reactNative-reactNativeTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-reactNative-reactNativeTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B4392A12AC88292D35C810B /* Pods-reactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactNative.debug.xcconfig"; path = "Target Support Files/Pods-reactNative/Pods-reactNative.debug.xcconfig"; sourceTree = ""; }; + 5709B34CF0A7D63546082F79 /* Pods-reactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactNative.release.xcconfig"; path = "Target Support Files/Pods-reactNative/Pods-reactNative.release.xcconfig"; sourceTree = ""; }; + 5B7EB9410499542E8C5724F5 /* Pods-reactNative-reactNativeTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactNative-reactNativeTests.debug.xcconfig"; path = "Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests.debug.xcconfig"; sourceTree = ""; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-reactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-reactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = reactNative/LaunchScreen.storyboard; sourceTree = ""; }; + 89C6BE57DB24E9ADA2F236DE /* Pods-reactNative-reactNativeTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactNative-reactNativeTests.release.xcconfig"; path = "Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests.release.xcconfig"; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 00E356EB1AD99517003FC87E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7699B88040F8A987B510C191 /* libPods-reactNative-reactNativeTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0C80B921A6F3F58F76C31292 /* libPods-reactNative.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 00E356EF1AD99517003FC87E /* reactNativeTests */ = { + isa = PBXGroup; + children = ( + 00E356F21AD99517003FC87E /* reactNativeTests.m */, + 00E356F01AD99517003FC87E /* Supporting Files */, + ); + path = reactNativeTests; + sourceTree = ""; + }; + 00E356F01AD99517003FC87E /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 00E356F11AD99517003FC87E /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* reactNative */ = { + isa = PBXGroup; + children = ( + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, + 13B07FB71A68108700A75B9A /* main.m */, + ); + name = reactNative; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 5DCACB8F33CDC322A6C60F78 /* libPods-reactNative.a */, + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-reactNative-reactNativeTests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* reactNative */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 00E356EF1AD99517003FC87E /* reactNativeTests */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + BBD78D7AC51CEA395F1C20DB /* Pods */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* reactNative.app */, + 00E356EE1AD99517003FC87E /* reactNativeTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + BBD78D7AC51CEA395F1C20DB /* Pods */ = { + isa = PBXGroup; + children = ( + 3B4392A12AC88292D35C810B /* Pods-reactNative.debug.xcconfig */, + 5709B34CF0A7D63546082F79 /* Pods-reactNative.release.xcconfig */, + 5B7EB9410499542E8C5724F5 /* Pods-reactNative-reactNativeTests.debug.xcconfig */, + 89C6BE57DB24E9ADA2F236DE /* Pods-reactNative-reactNativeTests.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 00E356ED1AD99517003FC87E /* reactNativeTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "reactNativeTests" */; + buildPhases = ( + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, + 00E356EA1AD99517003FC87E /* Sources */, + 00E356EB1AD99517003FC87E /* Frameworks */, + 00E356EC1AD99517003FC87E /* Resources */, + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 00E356F51AD99517003FC87E /* PBXTargetDependency */, + ); + name = reactNativeTests; + productName = reactNativeTests; + productReference = 00E356EE1AD99517003FC87E /* reactNativeTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 13B07F861A680F5B00A75B9A /* reactNative */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "reactNative" */; + buildPhases = ( + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = reactNative; + productName = reactNative; + productReference = 13B07F961A680F5B00A75B9A /* reactNative.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1210; + TargetAttributes = { + 00E356ED1AD99517003FC87E = { + CreatedOnToolsVersion = 6.2; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "reactNative" */; + compatibilityVersion = "Xcode 12.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* reactNative */, + 00E356ED1AD99517003FC87E /* reactNativeTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 00E356EC1AD99517003FC87E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; + }; + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative/Pods-reactNative-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative/Pods-reactNative-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactNative/Pods-reactNative-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-reactNative-reactNativeTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-reactNative-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative/Pods-reactNative-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative/Pods-reactNative-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactNative/Pods-reactNative-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactNative-reactNativeTests/Pods-reactNative-reactNativeTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 00E356EA1AD99517003FC87E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 00E356F31AD99517003FC87E /* reactNativeTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* reactNative */; + targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 00E356F61AD99517003FC87E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-reactNative-reactNativeTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = reactNativeTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/reactNative.app/reactNative"; + }; + name = Debug; + }; + 00E356F71AD99517003FC87E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-reactNative-reactNativeTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + COPY_PHASE_STRIP = NO; + INFOPLIST_FILE = reactNativeTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + "$(inherited)", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/reactNative.app/reactNative"; + }; + name = Release; + }; + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-reactNative.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = reactNative/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = reactNative; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-reactNative.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = reactNative/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = reactNative; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "$(inherited)"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = "$(inherited)"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "reactNativeTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 00E356F61AD99517003FC87E /* Debug */, + 00E356F71AD99517003FC87E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "reactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "reactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/examples/sdk/reactNative/ios/reactNative.xcodeproj/xcshareddata/xcschemes/reactNative.xcscheme b/examples/sdk/reactNative/ios/reactNative.xcodeproj/xcshareddata/xcschemes/reactNative.xcscheme new file mode 100644 index 00000000..843c105c --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative.xcodeproj/xcshareddata/xcschemes/reactNative.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/sdk/reactNative/ios/reactNative.xcworkspace/contents.xcworkspacedata b/examples/sdk/reactNative/ios/reactNative.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..85b69eac --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/examples/sdk/reactNative/ios/reactNative/AppDelegate.h b/examples/sdk/reactNative/ios/reactNative/AppDelegate.h new file mode 100644 index 00000000..5d280825 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/AppDelegate.h @@ -0,0 +1,6 @@ +#import +#import + +@interface AppDelegate : RCTAppDelegate + +@end diff --git a/examples/sdk/reactNative/ios/reactNative/AppDelegate.mm b/examples/sdk/reactNative/ios/reactNative/AppDelegate.mm new file mode 100644 index 00000000..cc6bfe9d --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/AppDelegate.mm @@ -0,0 +1,26 @@ +#import "AppDelegate.h" + +#import + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.moduleName = @"reactNative"; + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +@end diff --git a/examples/sdk/reactNative/ios/reactNative/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/sdk/reactNative/ios/reactNative/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..81213230 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,53 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/examples/sdk/reactNative/ios/reactNative/Images.xcassets/Contents.json b/examples/sdk/reactNative/ios/reactNative/Images.xcassets/Contents.json new file mode 100644 index 00000000..2d92bd53 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/examples/sdk/reactNative/ios/reactNative/Info.plist b/examples/sdk/reactNative/ios/reactNative/Info.plist new file mode 100644 index 00000000..2451ec46 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/Info.plist @@ -0,0 +1,55 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + reactNative + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/examples/sdk/reactNative/ios/reactNative/LaunchScreen.storyboard b/examples/sdk/reactNative/ios/reactNative/LaunchScreen.storyboard new file mode 100644 index 00000000..80429b58 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/LaunchScreen.storyboard @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/sdk/reactNative/ios/reactNative/main.m b/examples/sdk/reactNative/ios/reactNative/main.m new file mode 100644 index 00000000..d645c724 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative/main.m @@ -0,0 +1,10 @@ +#import + +#import "AppDelegate.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/examples/sdk/reactNative/ios/reactNativeTests/Info.plist b/examples/sdk/reactNative/ios/reactNativeTests/Info.plist new file mode 100644 index 00000000..ba72822e --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNativeTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/examples/sdk/reactNative/ios/reactNativeTests/reactNativeTests.m b/examples/sdk/reactNative/ios/reactNativeTests/reactNativeTests.m new file mode 100644 index 00000000..c2e41b24 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNativeTests/reactNativeTests.m @@ -0,0 +1,66 @@ +#import +#import + +#import +#import + +#define TIMEOUT_SECONDS 600 +#define TEXT_TO_LOOK_FOR @"Welcome to React" + +@interface reactNativeTests : XCTestCase + +@end + +@implementation reactNativeTests + +- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test +{ + if (test(view)) { + return YES; + } + for (UIView *subview in [view subviews]) { + if ([self findSubviewInView:subview matching:test]) { + return YES; + } + } + return NO; +} + +- (void)testRendersWelcomeScreen +{ + UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; + NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; + BOOL foundElement = NO; + + __block NSString *redboxError = nil; +#ifdef DEBUG + RCTSetLogFunction( + ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { + if (level >= RCTLogLevelError) { + redboxError = message; + } + }); +#endif + + while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { + [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + + foundElement = [self findSubviewInView:vc.view + matching:^BOOL(UIView *view) { + if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { + return YES; + } + return NO; + }]; + } + +#ifdef DEBUG + RCTSetLogFunction(RCTDefaultLogFunction); +#endif + + XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); + XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); +} + +@end diff --git a/examples/sdk/reactNative/jest.config.js b/examples/sdk/reactNative/jest.config.js new file mode 100644 index 00000000..8eb675e9 --- /dev/null +++ b/examples/sdk/reactNative/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + preset: 'react-native', +}; diff --git a/examples/sdk/reactNative/metro.config.js b/examples/sdk/reactNative/metro.config.js new file mode 100644 index 00000000..5a49196a --- /dev/null +++ b/examples/sdk/reactNative/metro.config.js @@ -0,0 +1,21 @@ +const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); +const path = require('path'); + +const packageDirectory = path.resolve(path.join('../../..', 'packages')); + +const reactNativePath = path.join(packageDirectory, 'react-native'); +const reactNativeNodeModulePath = path.join(reactNativePath, 'node_modules'); +/** + * Metro configuration + * https://facebook.github.io/metro/docs/configuration + * + * @type {import('metro-config').MetroConfig} + */ +const config = { + resolver: { + unstable_enableSymlinks: true, + }, + watchFolders: [reactNativePath, reactNativeNodeModulePath], +}; + +module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/examples/sdk/reactNative/package-lock.json b/examples/sdk/reactNative/package-lock.json new file mode 100644 index 00000000..f22db475 --- /dev/null +++ b/examples/sdk/reactNative/package-lock.json @@ -0,0 +1,19567 @@ +{ + "name": "reactNative", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "reactNative", + "version": "0.0.1", + "dependencies": { + "@backtrace-labs/react-native": "file:../../../packages/react-native", + "react": "18.2.0", + "react-native": "0.72.4" + }, + "devDependencies": { + "@babel/core": "^7.20.0", + "@babel/preset-env": "^7.20.0", + "@babel/runtime": "^7.22.11", + "@react-native/eslint-config": "^0.72.2", + "@react-native/metro-config": "^0.72.11", + "@tsconfig/react-native": "^3.0.0", + "@types/react": "^18.0.24", + "@types/react-test-renderer": "^18.0.0", + "eslint": "^8.19.0", + "metro-react-native-babel-preset": "0.76.8", + "prettier": "^2.4.1", + "react-test-renderer": "18.2.0", + "typescript": "4.8.4" + }, + "engines": { + "node": ">=16" + } + }, + "../../../packages/react-native": { + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace-labs/react": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.5" + }, + "devDependencies": { + "@react-native-community/eslint-config": "^3.0.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "^0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + }, + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.22.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz", + "integrity": "sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", + "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.15.tgz", + "integrity": "sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.0.tgz", + "integrity": "sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg==", + "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.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", + "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@backtrace-labs/react-native": { + "resolved": "../../../packages/react-native", + "link": true + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/fake-timers/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@react-native-community/cli": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "dependencies": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-clean": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-clean/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-config": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "node_modules/@react-native-community/cli-doctor": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", + "dependencies": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@react-native-community/cli-hermes": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "dependencies": { + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-hermes/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-android": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", + "dependencies": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", + "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", + "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", + "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "dependencies": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", + "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", + "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", + "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", + "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-inspector-proxy": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", + "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-terser": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", + "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "dependencies": { + "terser": "^5.15.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-uglify": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", + "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", + "dependencies": { + "uglify-es": "^3.1.9" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-preset": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", + "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", + "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "dependencies": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", + "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", + "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", + "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", + "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-server-api": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "dependencies": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-server-api/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@react-native-community/cli-server-api/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-tools/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@react-native-community/cli-types": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "dependencies": { + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-community/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" + }, + "node_modules/@react-native/codegen": { + "version": "0.72.7", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz", + "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==", + "dependencies": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/@react-native/eslint-config": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.72.2.tgz", + "integrity": "sha512-rAYuQQXzi63W7+9Pu/+23od/b/lTSzHjMFibum3sKgdG2LIyvhoMEWQ5+Chu7TqebqYy1b9SDn/KEMHvpWFtNg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/eslint-parser": "^7.20.0", + "@react-native/eslint-plugin": "^0.72.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" + } + }, + "node_modules/@react-native/eslint-plugin": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.72.0.tgz", + "integrity": "sha512-xWQthnyKd+H22TBqeJUTFebsyWAAwzUb7EQCT8F/WMZsS1sv5UG+2cM/cU9/2HEbVZgxHYuLIi915WznjKPvlg==", + "dev": true + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==" + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.72.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==" + }, + "node_modules/@react-native/metro-config": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.11.tgz", + "integrity": "sha512-661EyQnDdVelyc0qP/ew7kKkGAh6N6KlkuPLC2SQ8sxaXskVU6fSuNlpLW4bUTBUDFKG8gEOU2hp6rzk4wQnGQ==", + "dev": true, + "dependencies": { + "@react-native/js-polyfills": "^0.72.1", + "metro-config": "0.76.8", + "metro-react-native-babel-transformer": "0.76.8", + "metro-runtime": "0.76.8" + } + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==" + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@tsconfig/react-native": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/react-native/-/react-native-3.0.2.tgz", + "integrity": "sha512-F7IoHEqf741lut4Z2K+IkWQRvXAhBiZMeY5L7BysG7Z2Z3MlIyFR+AagD8jQ/CqC1vowGnRwfLjeuwIpaeoJxA==", + "dev": true + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.8", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", + "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz", + "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-test-renderer": { + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.3.tgz", + "integrity": "sha512-4wcNLnY6nIT+L6g94CpzL4CXX2P18JvKPU9CDlaHr3DnbP3GiaQLhDotJqjWlVqOcE4UhLRjp0MtxqwuNKONnA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/yargs": { + "version": "17.0.26", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", + "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "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" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", + "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001543", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001543.tgz", + "integrity": "sha512-qxdO8KPWPQ+Zk6bvNpPeQIOH47qZSYdFZd6dXQzb2KzhnSXju4Kd7H1PkSJx6NICSMgo/IhRZRhhfPTHYpJUCA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/core-js-compat": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", + "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/deprecated-react-native-prop-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", + "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "dependencies": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.539", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.539.tgz", + "integrity": "sha512-wRmWJ8F7rgmINuI32S6r2SLrw/h/bJQsDSvBiq9GBfvc2Lh73qTOwn73r3Cf67mjVgFGJYcYtmERzySa5jIWlg==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "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" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-ft-flow": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", + "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "@babel/eslint-parser": "^7.12.0", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "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" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-native": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz", + "integrity": "sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==", + "dev": true, + "dependencies": { + "eslint-plugin-react-native-globals": "^0.1.1" + }, + "peerDependencies": { + "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-xml-parser": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/flow-enums-runtime": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==" + }, + "node_modules/flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==" + }, + "node_modules/hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "dependencies": { + "hermes-estree": "0.12.0" + } + }, + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "dependencies": { + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/hermes-profile-transformer/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "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" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-environment-node/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-node/node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-environment-node/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-mock/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-mock/node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-mock/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-mock/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "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" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/@types/yargs": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", + "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/joi": { + "version": "17.10.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz", + "integrity": "sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" + }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/jscodeshift/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jscodeshift/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jscodeshift/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jscodeshift/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jscodeshift/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jscodeshift/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "node_modules/logkitty/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/logkitty/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/logkitty/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/logkitty/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/metro": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", + "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-file-map": "0.76.8", + "metro-inspector-proxy": "0.76.8", + "metro-minify-terser": "0.76.8", + "metro-minify-uglify": "0.76.8", + "metro-react-native-babel-preset": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "metro-symbolicate": "0.76.8", + "metro-transform-plugins": "0.76.8", + "metro-transform-worker": "0.76.8", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", + "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-cache": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", + "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", + "dev": true, + "dependencies": { + "metro-core": "0.76.8", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-cache-key": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", + "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-config": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", + "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", + "dev": true, + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.8", + "metro-cache": "0.76.8", + "metro-core": "0.76.8", + "metro-runtime": "0.76.8" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-core": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", + "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", + "dev": true, + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.8" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-file-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", + "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", + "dev": true, + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro-inspector-proxy": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", + "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", + "dev": true, + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-inspector-proxy/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-inspector-proxy/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro-minify-terser": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", + "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", + "dev": true, + "dependencies": { + "terser": "^5.15.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-minify-uglify": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", + "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", + "dev": true, + "dependencies": { + "uglify-es": "^3.1.9" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/metro-react-native-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", + "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.8", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/metro-resolver": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", + "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", + "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", + "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.8", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-source-map": "0.76.8", + "metro-transform-plugins": "0.76.8", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/metro/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/metro/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "node_modules/ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", + "engines": { + "node": ">=16" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools-core": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", + "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-native": { + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", + "dependencies": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": "18.2.0" + } + }, + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/react-native/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-native/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-native/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-native/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-native/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/react-native/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/react-native/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-test-renderer": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", + "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", + "dev": true, + "dependencies": { + "react-is": "^18.2.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-test-renderer/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "dependencies": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/terser": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz", + "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==" + }, + "@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/eslint-parser": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "requires": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "requires": { + "@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": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "requires": { + "@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": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "requires": { + "@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": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "requires": { + "@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": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + }, + "@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + } + }, + "@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "requires": { + "@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-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.22.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz", + "integrity": "sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "requires": { + "@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-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", + "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", + "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "requires": { + "@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": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "requires": { + "@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": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "requires": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "requires": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "requires": { + "@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": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "requires": { + "@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-jsx-self": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz", + "integrity": "sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "requires": { + "@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": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "requires": { + "@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-flow": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.15.tgz", + "integrity": "sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.0.tgz", + "integrity": "sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg==", + "requires": { + "@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.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + } + }, + "@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "@babel/runtime": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", + "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@backtrace-labs/react-native": { + "version": "file:../../../packages/react-native", + "requires": { + "@backtrace-labs/react": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.5", + "@react-native-community/eslint-config": "^3.0.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "^0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "requires": { + "@jest/types": "^29.6.3" + } + }, + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@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" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@react-native-community/cli": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "requires": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@react-native-community/cli-clean": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-config": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-doctor": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", + "requires": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@react-native-community/cli-hermes": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "requires": { + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-android": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "requires": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", + "requires": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "metro": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", + "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + } + }, + "metro-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", + "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", + "requires": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + } + }, + "metro-cache": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", + "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "requires": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" + } + }, + "metro-cache-key": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", + "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==" + }, + "metro-config": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", + "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "requires": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" + } + }, + "metro-core": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", + "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "requires": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" + } + }, + "metro-file-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", + "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "requires": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + } + }, + "metro-inspector-proxy": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", + "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + } + }, + "metro-minify-terser": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", + "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "requires": { + "terser": "^5.15.0" + } + }, + "metro-minify-uglify": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", + "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", + "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", + "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "requires": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" + } + }, + "metro-resolver": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", + "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==" + }, + "metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", + "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "metro-transform-plugins": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", + "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + } + }, + "metro-transform-worker": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", + "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-server-api": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "requires": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-tools": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "requires": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@react-native-community/cli-types": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "requires": { + "joi": "^17.2.1" + } + }, + "@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" + }, + "@react-native/codegen": { + "version": "0.72.7", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz", + "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==", + "requires": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + } + }, + "@react-native/eslint-config": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.72.2.tgz", + "integrity": "sha512-rAYuQQXzi63W7+9Pu/+23od/b/lTSzHjMFibum3sKgdG2LIyvhoMEWQ5+Chu7TqebqYy1b9SDn/KEMHvpWFtNg==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/eslint-parser": "^7.20.0", + "@react-native/eslint-plugin": "^0.72.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + } + }, + "@react-native/eslint-plugin": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.72.0.tgz", + "integrity": "sha512-xWQthnyKd+H22TBqeJUTFebsyWAAwzUb7EQCT8F/WMZsS1sv5UG+2cM/cU9/2HEbVZgxHYuLIi915WznjKPvlg==", + "dev": true + }, + "@react-native/gradle-plugin": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==" + }, + "@react-native/js-polyfills": { + "version": "0.72.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==" + }, + "@react-native/metro-config": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.11.tgz", + "integrity": "sha512-661EyQnDdVelyc0qP/ew7kKkGAh6N6KlkuPLC2SQ8sxaXskVU6fSuNlpLW4bUTBUDFKG8gEOU2hp6rzk4wQnGQ==", + "dev": true, + "requires": { + "@react-native/js-polyfills": "^0.72.1", + "metro-config": "0.76.8", + "metro-react-native-babel-transformer": "0.76.8", + "metro-runtime": "0.76.8" + } + }, + "@react-native/normalize-colors": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==" + }, + "@react-native/virtualized-lists": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "requires": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + } + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@tsconfig/react-native": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/react-native/-/react-native-3.0.2.tgz", + "integrity": "sha512-F7IoHEqf741lut4Z2K+IkWQRvXAhBiZMeY5L7BysG7Z2Z3MlIyFR+AagD8jQ/CqC1vowGnRwfLjeuwIpaeoJxA==", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "@types/node": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + }, + "@types/prop-types": { + "version": "15.7.8", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", + "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==", + "dev": true + }, + "@types/react": { + "version": "18.2.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz", + "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-test-renderer": { + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.3.tgz", + "integrity": "sha512-4wcNLnY6nIT+L6g94CpzL4CXX2P18JvKPU9CDlaHr3DnbP3GiaQLhDotJqjWlVqOcE4UhLRjp0MtxqwuNKONnA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", + "dev": true + }, + "@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/yargs": { + "version": "17.0.26", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", + "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "requires": { + "@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": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + }, + "ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "requires": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "requires": { + "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": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "requires": { + "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": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "requires": { + "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": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "requires": { + "tslib": "^2.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", + "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + } + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "requires": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "requires": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "caniuse-lite": { + "version": "1.0.30001543", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001543.tgz", + "integrity": "sha512-qxdO8KPWPQ+Zk6bvNpPeQIOH47qZSYdFZd6dXQzb2KzhnSXju4Kd7H1PkSJx6NICSMgo/IhRZRhhfPTHYpJUCA==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==" + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "core-js-compat": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", + "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", + "requires": { + "browserslist": "^4.22.1" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "requires": { + "clone": "^1.0.2" + } + }, + "define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "deprecated-react-native-prop-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", + "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "requires": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron-to-chromium": { + "version": "1.4.539", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.539.tgz", + "integrity": "sha512-wRmWJ8F7rgmINuI32S6r2SLrw/h/bJQsDSvBiq9GBfvc2Lh73qTOwn73r3Cf67mjVgFGJYcYtmERzySa5jIWlg==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dev": true, + "requires": { + "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-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "requires": { + "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": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "requires": {} + }, + "eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + } + }, + "eslint-plugin-ft-flow": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", + "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", + "dev": true, + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-jest": { + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.10.0" + } + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "requires": {} + }, + "eslint-plugin-react-native": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz", + "integrity": "sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==", + "dev": true, + "requires": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-xml-parser": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "requires": { + "strnum": "^1.0.5" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "requires": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "flow-enums-runtime": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==" + }, + "flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==" + }, + "hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "requires": { + "hermes-estree": "0.12.0" + } + }, + "hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "requires": { + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "requires": { + "queue": "6.0.2" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "requires": { + "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" + } + }, + "jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@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" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + }, + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@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" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", + "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "joi": { + "version": "17.10.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz", + "integrity": "sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" + }, + "jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" + }, + "jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "requires": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "requires": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "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-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "metro": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", + "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-file-map": "0.76.8", + "metro-inspector-proxy": "0.76.8", + "metro-minify-terser": "0.76.8", + "metro-minify-uglify": "0.76.8", + "metro-react-native-babel-preset": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "metro-symbolicate": "0.76.8", + "metro-transform-plugins": "0.76.8", + "metro-transform-worker": "0.76.8", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "metro-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", + "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + } + }, + "metro-cache": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", + "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", + "dev": true, + "requires": { + "metro-core": "0.76.8", + "rimraf": "^3.0.2" + } + }, + "metro-cache-key": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", + "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", + "dev": true + }, + "metro-config": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", + "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", + "dev": true, + "requires": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.8", + "metro-cache": "0.76.8", + "metro-core": "0.76.8", + "metro-runtime": "0.76.8" + } + }, + "metro-core": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", + "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", + "dev": true, + "requires": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.8" + } + }, + "metro-file-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", + "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", + "dev": true, + "requires": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "metro-inspector-proxy": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", + "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", + "dev": true, + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "metro-minify-terser": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", + "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", + "dev": true, + "requires": { + "terser": "^5.15.0" + } + }, + "metro-minify-uglify": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", + "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", + "dev": true, + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", + "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.8", + "nullthrows": "^1.1.1" + } + }, + "metro-resolver": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", + "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", + "dev": true + }, + "metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "metro-transform-plugins": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", + "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + } + }, + "metro-transform-worker": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", + "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.8", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-source-map": "0.76.8", + "metro-transform-plugins": "0.76.8", + "nullthrows": "^1.1.1" + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==" + }, + "node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "requires": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@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": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-devtools-core": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", + "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "react-native": { + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", + "requires": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" + }, + "react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, + "react-test-renderer": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", + "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", + "dev": true, + "requires": { + "react-is": "^18.2.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.23.0" + }, + "dependencies": { + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + } + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" + }, + "recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "requires": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "requires": { + "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": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "requires": { + "@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" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==" + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "requires": { + "type-fest": "^0.7.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "requires": { + "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": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "terser": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz", + "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "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": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "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": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "requires": { + "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" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==" + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + } +} diff --git a/examples/sdk/reactNative/package.json b/examples/sdk/reactNative/package.json new file mode 100644 index 00000000..51de1039 --- /dev/null +++ b/examples/sdk/reactNative/package.json @@ -0,0 +1,34 @@ +{ + "name": "reactNative", + "version": "0.0.1", + "private": true, + "scripts": { + "android": "react-native run-android", + "ios": "react-native run-ios", + "lint": "eslint .", + "start": "react-native start" + }, + "dependencies": { + "@backtrace-labs/react-native": "file:../../../packages/react-native", + "react": "18.2.0", + "react-native": "0.72.4" + }, + "devDependencies": { + "@babel/core": "^7.20.0", + "@babel/preset-env": "^7.20.0", + "@babel/runtime": "^7.22.11", + "@react-native/eslint-config": "^0.72.2", + "@react-native/metro-config": "^0.72.11", + "@tsconfig/react-native": "^3.0.0", + "@types/react": "^18.0.24", + "@types/react-test-renderer": "^18.0.0", + "eslint": "^8.19.0", + "metro-react-native-babel-preset": "0.76.8", + "prettier": "^2.4.1", + "react-test-renderer": "18.2.0", + "typescript": "4.8.4" + }, + "engines": { + "node": ">=16" + } +} diff --git a/examples/sdk/reactNative/src/actions/actions.ts b/examples/sdk/reactNative/src/actions/actions.ts new file mode 100644 index 00000000..be0ac29d --- /dev/null +++ b/examples/sdk/reactNative/src/actions/actions.ts @@ -0,0 +1,133 @@ +import { BacktraceClient } from '@backtrace-labs/react-native'; +import { Alert, Platform } from 'react-native'; +import { actions as androidActions } from './android/action'; + +export interface DemoAction { + name: string; + platform: 'android' | 'ios'; + action: () => void | Promise; +} +const innerFunction = () => { + return (undefined as unknown as string).toString(); +}; +const throwAnError = () => { + innerFunction(); +}; + +function notify(message: string) { + console.log(message); + Alert.prompt('Backtrace', message, [], 'default', undefined, undefined, { + cancelable: false, + }); +} + +export function generateActions(client: BacktraceClient) { + const platform = Platform.OS as 'android' | 'ios'; + return [ + { + name: 'OOM', + platform, + action: () => { + function allocateMemory(size: number) { + const numbers = size / 8; + const arr = []; + arr.length = numbers; + for (let i = 0; i < numbers; i++) { + arr[i] = i; + } + return arr; + } + + const TIME_INTERVAL_IN_MSEC = 40; + const memoryLeakAllocations = []; + + console.log('Starting OOM. Your application should crash soon.'); + console.log('This may take a while dependning on memory limits.'); + setInterval(() => { + const allocation = allocateMemory(10 * 1024 * 1024); + memoryLeakAllocations.push(allocation); + }, TIME_INTERVAL_IN_MSEC); + + return new Promise(() => { + // Never resolve + }); + }, + }, + { + name: 'Throw an error', + platform, + action: async () => { + console.log('Sending an error to Backtrace.'); + try { + throwAnError(); + } catch (err) { + await client.send(err as Error); + } + notify('Error sent! Check your Backtrace console to see the error.'); + }, + }, + { + name: 'Send a message', + platform, + action: async () => { + console.log('Sending a message to Backtrace.'); + await client.send('Manual Test Message'); + notify('Message sent! Check your Backtrace console to see the message.'); + }, + }, + { + name: 'Throw an unhandled error', + platform, + action: async () => { + notify('Sending an unhandled exception to Backtrace.'); + throwAnError(); + }, + }, + { + name: 'Crash application', + platform, + action: async () => { + client.crash(); + }, + }, + { + name: 'Generate metric', + platform, + action: async () => { + if (!client.metrics) { + notify('Metrics are unavailable'); + return; + } + + notify('Adding a new metric called "Generate metric"'); + client.metrics.addSummedEvent('Generate metrics', { date: Date.now() }); + }, + }, + { + name: 'Send metrics', + platform, + action: async () => { + if (!client.metrics) { + notify('Metrics are unavailable'); + return; + } + + notify('Sending metrics'); + client.metrics.send(); + }, + }, + { + name: 'Update a time attribute', + platform, + action: async () => { + const value = Date.now(); + notify(`Setting a time attribute to ${value}`); + client.addAttribute({ time: value }); + }, + }, + ...Platform.select({ + android: androidActions, + default: [], + }), + ]; +} diff --git a/examples/sdk/reactNative/src/actions/android/action.ts b/examples/sdk/reactNative/src/actions/android/action.ts new file mode 100644 index 00000000..d82e511d --- /dev/null +++ b/examples/sdk/reactNative/src/actions/android/action.ts @@ -0,0 +1,33 @@ +import { NativeModules } from 'react-native'; +import { DemoAction } from '../actions'; + +export const actions: DemoAction[] = [ + { + name: 'ANR', + platform: 'android', + action: async () => { + const errorGenerator = NativeModules.ErrorGenerator; + if (!errorGenerator) { + throw new Error('Native modules are not enabled.'); + } + + await new Promise((res) => { + setTimeout(() => { + res(); + }, 1000); + }); + }, + }, + { + name: 'Generate Android unhandled exception', + platform: 'android', + action: async () => { + const errorGenerator = NativeModules.ErrorGenerator; + if (!errorGenerator) { + throw new Error('Native modules are not enabled.'); + } + + errorGenerator.throwError(); + }, + }, +]; diff --git a/examples/sdk/reactNative/src/components/CustomizableButton.tsx b/examples/sdk/reactNative/src/components/CustomizableButton.tsx new file mode 100644 index 00000000..04195dad --- /dev/null +++ b/examples/sdk/reactNative/src/components/CustomizableButton.tsx @@ -0,0 +1,35 @@ +import React from 'react'; +import { Text, TouchableOpacity, View } from 'react-native'; + +export type CustomizableButtonOptions = { + title: string; + backgroundColor: string; + textColor: string; + callback: () => void | Promise; +}; +export function CustomizableButton({ + title, + backgroundColor, + textColor, + callback, +}: CustomizableButtonOptions): JSX.Element { + return ( + + + {title} + + + ); +} diff --git a/examples/sdk/reactNative/src/consts.ts b/examples/sdk/reactNative/src/consts.ts new file mode 100644 index 00000000..dd29bab4 --- /dev/null +++ b/examples/sdk/reactNative/src/consts.ts @@ -0,0 +1,2 @@ +export const SUBMISSION_URL = + 'https://submit.backtrace.io/your-universe/0000000000000000000000000000000000000000000000000000000000000000/json'; diff --git a/examples/sdk/reactNative/tsconfig.json b/examples/sdk/reactNative/tsconfig.json new file mode 100644 index 00000000..45a6c707 --- /dev/null +++ b/examples/sdk/reactNative/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "@tsconfig/react-native/tsconfig.json" +} diff --git a/package-lock.json b/package-lock.json index bdb193ac..50f8d6e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1353,16 +1353,14 @@ }, "node_modules/@lukeed/csprng": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@nestjs/common": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", - "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", + "license": "MIT", "peer": true, "dependencies": { "iterare": "1.2.1", @@ -1394,16 +1392,14 @@ }, "node_modules/@nestjs/common/node_modules/tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "license": "0BSD", "peer": true }, "node_modules/@nestjs/core": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", - "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "@nuxtjs/opencollective": "0.3.2", "fast-safe-stringify": "2.1.1", @@ -1438,15 +1434,13 @@ }, "node_modules/@nestjs/core/node_modules/tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/@nestjs/platform-express": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", - "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", "dev": true, + "license": "MIT", "dependencies": { "body-parser": "1.20.2", "cors": "2.8.5", @@ -1465,15 +1459,13 @@ }, "node_modules/@nestjs/platform-express/node_modules/tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/@nestjs/testing": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", - "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "2.5.3" }, @@ -1498,9 +1490,8 @@ }, "node_modules/@nestjs/testing/node_modules/tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -1536,9 +1527,8 @@ }, "node_modules/@nuxtjs/opencollective": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "consola": "^2.15.0", @@ -1737,9 +1727,8 @@ }, "node_modules/@types/body-parser": { "version": "1.19.3", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", - "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -1757,18 +1746,16 @@ }, "node_modules/@types/connect": { "version": "3.4.36", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", - "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/cookiejar": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/decompress": { "version": "4.2.4", @@ -1800,9 +1787,8 @@ }, "node_modules/@types/express": { "version": "4.17.18", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", - "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -1812,9 +1798,8 @@ }, "node_modules/@types/express-serve-static-core": { "version": "4.17.37", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", - "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -1841,9 +1826,8 @@ }, "node_modules/@types/http-errors": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", - "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -1933,9 +1917,8 @@ }, "node_modules/@types/mime": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", - "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "14.18.61", @@ -1948,15 +1931,13 @@ }, "node_modules/@types/qs": { "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", - "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/react": { "version": "18.2.21", @@ -1988,9 +1969,8 @@ }, "node_modules/@types/send": { "version": "0.17.2", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", - "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", "dev": true, + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -1998,9 +1978,8 @@ }, "node_modules/@types/serve-static": { "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", - "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -2019,9 +1998,8 @@ }, "node_modules/@types/superagent": { "version": "4.1.19", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.19.tgz", - "integrity": "sha512-McM1mlc7PBZpCaw0fw/36uFqo0YeA6m8JqoyE4OfqXsZCIg0hPP2xdE6FM7r6fdprDZHlJwDpydUj1R++93hCA==", "dev": true, + "license": "MIT", "dependencies": { "@types/cookiejar": "*", "@types/node": "*" @@ -2029,9 +2007,8 @@ }, "node_modules/@types/supertest": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.14.tgz", - "integrity": "sha512-Q900DeeHNFF3ZYYepf/EyJfZDA2JrnWLaSQ0YNV7+2GTo8IlJzauEnDGhya+hauncpBYTYGpVHwGdssJeAQ7eA==", "dev": true, + "license": "MIT", "dependencies": { "@types/superagent": "*" } @@ -2679,9 +2656,8 @@ }, "node_modules/append-field": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/aproba": { "version": "1.2.0", @@ -2746,9 +2722,8 @@ }, "node_modules/array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.7", @@ -3147,9 +3122,8 @@ }, "node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -3171,27 +3145,24 @@ }, "node_modules/body-parser/node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -3201,15 +3172,13 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/body-parser/node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -3219,9 +3188,8 @@ }, "node_modules/body-parser/node_modules/qs": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -3458,8 +3426,6 @@ }, "node_modules/busboy": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dev": true, "dependencies": { "streamsearch": "^1.1.0" @@ -4015,9 +3981,8 @@ }, "node_modules/consola": { "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/console-browserify": { "version": "1.2.0", @@ -4030,9 +3995,8 @@ }, "node_modules/content-disposition": { "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -4042,8 +4006,6 @@ }, "node_modules/content-disposition/node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -4058,13 +4020,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4076,24 +4038,21 @@ }, "node_modules/cookie": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cookiejar": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/copy-concurrently": { "version": "1.0.5", @@ -4153,9 +4112,8 @@ }, "node_modules/cors": { "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4", "vary": "^1" @@ -4609,9 +4567,8 @@ }, "node_modules/dezalgo": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, + "license": "ISC", "dependencies": { "asap": "^2.0.0", "wrappy": "1" @@ -5574,9 +5531,8 @@ }, "node_modules/express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -5616,9 +5572,8 @@ }, "node_modules/express/node_modules/body-parser": { "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -5640,27 +5595,24 @@ }, "node_modules/express/node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -5676,9 +5628,8 @@ }, "node_modules/express/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -5688,15 +5639,13 @@ }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -5706,15 +5655,13 @@ }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/qs": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -5727,9 +5674,8 @@ }, "node_modules/express/node_modules/raw-body": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -5742,8 +5688,6 @@ }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -5758,13 +5702,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/express/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6213,9 +6157,8 @@ }, "node_modules/formidable": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", "dev": true, + "license": "MIT", "dependencies": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", @@ -6228,9 +6171,8 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6761,9 +6703,8 @@ }, "node_modules/hexoid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6990,9 +6931,8 @@ }, "node_modules/ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -7491,8 +7431,7 @@ }, "node_modules/iterare": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", "engines": { "node": ">=6" } @@ -8731,9 +8670,8 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8776,9 +8714,8 @@ }, "node_modules/merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge-stream": { "version": "2.0.0", @@ -8794,9 +8731,8 @@ }, "node_modules/methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8993,9 +8929,8 @@ }, "node_modules/multer": { "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", "dev": true, + "license": "MIT", "dependencies": { "append-field": "^1.0.0", "busboy": "^1.0.0", @@ -9691,9 +9626,8 @@ }, "node_modules/path-to-regexp": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -9953,9 +9887,8 @@ }, "node_modules/proxy-addr": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -10117,9 +10050,8 @@ }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -10132,18 +10064,16 @@ }, "node_modules/raw-body/node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -10234,8 +10164,7 @@ }, "node_modules/reflect-metadata": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "license": "Apache-2.0", "peer": true }, "node_modules/regenerator-runtime": { @@ -10457,8 +10386,7 @@ }, "node_modules/rxjs": { "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "license": "Apache-2.0", "peer": true, "dependencies": { "tslib": "^2.1.0" @@ -10466,8 +10394,7 @@ }, "node_modules/rxjs/node_modules/tslib": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD", "peer": true }, "node_modules/safe-array-concat": { @@ -11294,8 +11221,6 @@ }, "node_modules/streamsearch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "dev": true, "engines": { "node": ">=10.0.0" @@ -11502,9 +11427,8 @@ }, "node_modules/superagent": { "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", "dev": true, + "license": "MIT", "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.4", @@ -11523,9 +11447,8 @@ }, "node_modules/supertest": { "version": "6.3.3", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", - "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", "dev": true, + "license": "MIT", "dependencies": { "methods": "^1.1.2", "superagent": "^8.0.5" @@ -12118,9 +12041,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -12237,8 +12159,7 @@ }, "node_modules/uid": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", "dependencies": { "@lukeed/csprng": "^1.0.0" }, @@ -13997,8 +13918,8 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/react": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4" + "@backtrace-labs/react": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.5" }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", @@ -14007,7 +13928,7 @@ "pod-install": "^0.1.0", "prettier": "^2.0.5", "react": "18.2.0", - "react-native": "0.72.4", + "react-native": "^0.72.4", "react-native-builder-bob": "^0.21.3", "typescript": "^5.0.2" }, @@ -16011,21 +15932,6 @@ "ua-parser-js": "^1.0.35" } }, - "packages/react-native/node_modules/@backtrace-labs/react": { - "version": "0.0.4", - "license": "MIT", - "dependencies": { - "@backtrace-labs/browser": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "packages/react-native/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.4", - "license": "MIT" - }, "packages/react-native/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -25794,15 +25700,15 @@ "@backtrace-labs/react-native": { "version": "file:packages/react-native", "requires": { - "@backtrace-labs/react": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace-labs/react": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.5", "@react-native-community/eslint-config": "^3.0.2", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", "pod-install": "^0.1.0", "prettier": "^2.0.5", "react": "18.2.0", - "react-native": "0.72.4", + "react-native": "^0.72.4", "react-native-builder-bob": "^0.21.3", "typescript": "^5.0.2" }, @@ -26987,16 +26893,6 @@ "ua-parser-js": "^1.0.35" } }, - "@backtrace-labs/react": { - "version": "0.0.4", - "requires": { - "@backtrace-labs/browser": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4" - } - }, - "@backtrace-labs/sdk-core": { - "version": "0.0.4" - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -33320,14 +33216,10 @@ } }, "@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" + "version": "1.1.0" }, "@nestjs/common": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", - "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", "peer": true, "requires": { "iterare": "1.2.1", @@ -33337,16 +33229,12 @@ "dependencies": { "tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "peer": true } } }, "@nestjs/core": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", - "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "dev": true, "requires": { "@nuxtjs/opencollective": "0.3.2", @@ -33359,16 +33247,12 @@ "dependencies": { "tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } }, "@nestjs/platform-express": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", - "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", "dev": true, "requires": { "body-parser": "1.20.2", @@ -33380,16 +33264,12 @@ "dependencies": { "tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } }, "@nestjs/testing": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", - "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", "dev": true, "requires": { "tslib": "2.5.3" @@ -33397,8 +33277,6 @@ "dependencies": { "tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } @@ -33425,8 +33303,6 @@ }, "@nuxtjs/opencollective": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -33549,8 +33425,6 @@ }, "@types/body-parser": { "version": "1.19.3", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", - "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", "dev": true, "requires": { "@types/connect": "*", @@ -33567,8 +33441,6 @@ }, "@types/connect": { "version": "3.4.36", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", - "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", "dev": true, "requires": { "@types/node": "*" @@ -33576,8 +33448,6 @@ }, "@types/cookiejar": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", "dev": true }, "@types/decompress": { @@ -33606,8 +33476,6 @@ }, "@types/express": { "version": "4.17.18", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", - "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", "dev": true, "requires": { "@types/body-parser": "*", @@ -33618,8 +33486,6 @@ }, "@types/express-serve-static-core": { "version": "4.17.37", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", - "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", "dev": true, "requires": { "@types/node": "*", @@ -33645,8 +33511,6 @@ }, "@types/http-errors": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", - "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", "dev": true }, "@types/istanbul-lib-coverage": { @@ -33719,8 +33583,6 @@ }, "@types/mime": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", - "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", "dev": true }, "@types/node": { @@ -33732,14 +33594,10 @@ }, "@types/qs": { "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", "dev": true }, "@types/range-parser": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", - "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", "dev": true }, "@types/react": { @@ -33768,8 +33626,6 @@ }, "@types/send": { "version": "0.17.2", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", - "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", "dev": true, "requires": { "@types/mime": "^1", @@ -33778,8 +33634,6 @@ }, "@types/serve-static": { "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", - "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", "dev": true, "requires": { "@types/http-errors": "*", @@ -33797,8 +33651,6 @@ }, "@types/superagent": { "version": "4.1.19", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.19.tgz", - "integrity": "sha512-McM1mlc7PBZpCaw0fw/36uFqo0YeA6m8JqoyE4OfqXsZCIg0hPP2xdE6FM7r6fdprDZHlJwDpydUj1R++93hCA==", "dev": true, "requires": { "@types/cookiejar": "*", @@ -33807,8 +33659,6 @@ }, "@types/supertest": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.14.tgz", - "integrity": "sha512-Q900DeeHNFF3ZYYepf/EyJfZDA2JrnWLaSQ0YNV7+2GTo8IlJzauEnDGhya+hauncpBYTYGpVHwGdssJeAQ7eA==", "dev": true, "requires": { "@types/superagent": "*" @@ -34239,8 +34089,6 @@ }, "append-field": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", "dev": true }, "aproba": { @@ -34283,8 +34131,6 @@ }, "array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "array-includes": { @@ -34547,8 +34393,6 @@ }, "body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -34567,14 +34411,10 @@ "dependencies": { "bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -34582,8 +34422,6 @@ }, "iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -34591,14 +34429,10 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -34606,8 +34440,6 @@ }, "qs": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -34765,8 +34597,6 @@ }, "busboy": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dev": true, "requires": { "streamsearch": "^1.1.0" @@ -35141,8 +34971,6 @@ }, "consola": { "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", "dev": true }, "console-browserify": { @@ -35155,8 +34983,6 @@ }, "content-disposition": { "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { "safe-buffer": "5.2.1" @@ -35164,16 +34990,12 @@ "dependencies": { "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "convert-source-map": { @@ -35182,20 +35004,14 @@ }, "cookie": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "cookiejar": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", "dev": true }, "copy-concurrently": { @@ -35241,8 +35057,6 @@ }, "cors": { "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { "object-assign": "^4", @@ -35573,8 +35387,6 @@ }, "dezalgo": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, "requires": { "asap": "^2.0.0", @@ -36244,8 +36056,6 @@ }, "express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -36283,8 +36093,6 @@ "dependencies": { "body-parser": { "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { "bytes": "3.1.2", @@ -36303,14 +36111,10 @@ }, "bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -36318,8 +36122,6 @@ }, "finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { "debug": "2.6.9", @@ -36333,8 +36135,6 @@ }, "iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -36342,14 +36142,10 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -36357,14 +36153,10 @@ }, "path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "qs": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -36372,8 +36164,6 @@ }, "raw-body": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", @@ -36384,14 +36174,10 @@ }, "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } @@ -36703,8 +36489,6 @@ }, "formidable": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", "dev": true, "requires": { "dezalgo": "^1.0.4", @@ -36715,8 +36499,6 @@ }, "forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fragment-cache": { @@ -37058,8 +36840,6 @@ }, "hexoid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true }, "hmac-drbg": { @@ -37198,8 +36978,6 @@ }, "ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, "is-accessor-descriptor": { @@ -37492,9 +37270,7 @@ } }, "iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" + "version": "1.2.1" }, "jackspeak": { "version": "2.3.3", @@ -38325,8 +38101,6 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "memory-fs": { @@ -38365,8 +38139,6 @@ }, "merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { @@ -38378,8 +38150,6 @@ }, "methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { @@ -38511,8 +38281,6 @@ }, "multer": { "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", "dev": true, "requires": { "append-field": "^1.0.0", @@ -38988,8 +38756,6 @@ }, "path-to-regexp": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", "dev": true }, "path-type": { @@ -39137,8 +38903,6 @@ }, "proxy-addr": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { "forwarded": "0.2.0", @@ -39247,8 +39011,6 @@ }, "raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -39259,14 +39021,10 @@ "dependencies": { "bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -39332,8 +39090,6 @@ }, "reflect-metadata": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "peer": true }, "regenerator-runtime": { @@ -39462,8 +39218,6 @@ }, "rxjs": { "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "peer": true, "requires": { "tslib": "^2.1.0" @@ -39471,8 +39225,6 @@ "dependencies": { "tslib": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true } } @@ -40072,8 +39824,6 @@ }, "streamsearch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "dev": true }, "streamx": { @@ -40195,8 +39945,6 @@ }, "superagent": { "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", "dev": true, "requires": { "component-emitter": "^1.3.0", @@ -40213,8 +39961,6 @@ }, "supertest": { "version": "6.3.3", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", - "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", "dev": true, "requires": { "methods": "^1.1.2", @@ -40594,8 +40340,6 @@ }, "type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", @@ -40657,8 +40401,6 @@ }, "uid": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", "requires": { "@lukeed/csprng": "^1.0.0" } diff --git a/packages/react-native/package.json b/packages/react-native/package.json index b59860ea..0cb6c0a2 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -87,12 +87,12 @@ "pod-install": "^0.1.0", "prettier": "^2.0.5", "react": "18.2.0", - "react-native": "0.72.4", + "react-native": "^0.72.4", "react-native-builder-bob": "^0.21.3", "typescript": "^5.0.2" }, "dependencies": { - "@backtrace-labs/react": "^0.0.4", - "@backtrace-labs/sdk-core": "^0.0.4" + "@backtrace-labs/react": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.5" } } From 7ef1510fc9d9bbb02f40fb975b2be583f950cbd7 Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Wed, 4 Oct 2023 11:09:21 -0700 Subject: [PATCH 201/291] BT-720 Initial draft --- packages/browser/README.md | 72 +++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/packages/browser/README.md b/packages/browser/README.md index 8138f21b..f33f180e 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -20,11 +20,10 @@ and easy, after which you can explore the rich set of Backtrace features. - [Metrics Configuration](#metrics-configuration) - [Metrics Usage](#metrics-usage) 1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient options](#backtraceclient) - [Manually send an error](#manually-send-an-error) - - [BacktraceClient](#backtraceclient) - - [BacktraceClientOptions](#backtraceclientoptions) - - [BacktraceClient Methods](#backtraceclient-methods) - - [BacktraceReports](#backtracereport) + - [Modify/skip error reports](#modifyskip-error-reports) + - [Custom file/http handlers](#custom-filehttp-handlers) ## Basic Integration @@ -293,25 +292,6 @@ client.metrics?.send(); ## Advanced SDK Features -### Manually send an error - -There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see -[Methods](#methods) below. - -```ts -// send as a string -await client.send('This is a string!'); - -// send as an Error -await client.send(new Error('This is an Error!')); - -// as a BacktraceReport (string) -await client.send(new BacktraceReport('This is a report with a string!')); - -// as a BacktraceReport (Error) -await client.send(new BacktraceReport(new Error('This is a report with a string!'))); -``` - ### BacktraceClient BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and @@ -330,7 +310,7 @@ The following options are available for the BacktraceClientOptions passed when i | `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |

        | | `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | | `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#modifyskip-error-reports)) | |
        • - [ ]
        | | `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | | `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | | `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | @@ -340,18 +320,38 @@ The following options are available for the BacktraceClientOptions passed when i | `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | | `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -#### BacktraceClient Methods +### Manually send an error + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` -| Name | Return Type | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | -| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | -| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | -| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | -| `dispose` | void | Disposes the client | +### Modify/skip error reports +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. -### BacktraceReport +```ts + // Code sample +``` -A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in -`BacktraceReport.ts`. +### Custom file/http handlers + +Custom handlers can be implemented to override BacktraceClient file and http operations. Overriding the default operations allows custom encryption for data at rest or in motion. + +> Do not use these operations to modify the data objects. Use a [BeforeSend](#modifyskip-error-reports) handler to modify a report before sending it to Backtrace. + +```ts + // Code sample +``` From c25a4e543dba47da781e736b5f03c36b946e536e Mon Sep 17 00:00:00 2001 From: Rick Foster Date: Wed, 4 Oct 2023 11:18:08 -0700 Subject: [PATCH 202/291] BT-720: Clean up some wording --- packages/browser/README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/browser/README.md b/packages/browser/README.md index f33f180e..69e9a8e0 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -310,7 +310,7 @@ The following options are available for the BacktraceClientOptions passed when i | `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | | `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | | `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#modifyskip-error-reports)) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | | `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | | `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | | `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | @@ -322,8 +322,7 @@ The following options are available for the BacktraceClientOptions passed when i ### Manually send an error -There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see -[Methods](#methods) below. +There are several ways to send an error to Backtrace: ```ts // send as a string @@ -350,7 +349,7 @@ A BeforeSend event is triggered when an exception in the managed environment occ Custom handlers can be implemented to override BacktraceClient file and http operations. Overriding the default operations allows custom encryption for data at rest or in motion. -> Do not use these operations to modify the data objects. Use a [BeforeSend](#modifyskip-error-reports) handler to modify a report before sending it to Backtrace. +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. ```ts // Code sample From b7d9867a8e5f93ed00f038debe1904b3af12f5ab Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 6 Oct 2023 12:34:00 +0200 Subject: [PATCH 203/291] add methods to BacktraceBreadcrumbs interface and limit BacktraceManager visibility (#162) * sdk-core, browser: change BreadcrumbsEventSubscriber start to accept BacktraceBreadcrumbs * sdk-core: add addEventSubscriber to BacktraceBreadcrumbs * sdk-core: enable BreadcrumbsManager after initialize * sdk-core: fix unit tests * sdk-core: rename breadcrumbsManager variables to backtraceBreadcrumbs --------- Co-authored-by: Sebastian Alex --- .../breadcrumbs/DocumentEventSubscriber.ts | 24 +++++++++---------- .../src/breadcrumbs/HistoryEventSubscriber.ts | 10 ++++---- .../breadcrumbs/WebRequestEventSubscriber.ts | 12 +++++----- .../breadcrumbs/BacktraceBreadcrumbs.ts | 12 ++++++++-- .../modules/breadcrumbs/BreadcrumbsManager.ts | 16 +++++++++++-- .../modules/breadcrumbs/BreadcrumbsSetup.ts | 2 +- .../events/BreadcrumbsEventSubscriber.ts | 14 +++++++++++ .../events/BreadcrurmbsEventSubscriber.ts | 14 ----------- .../events/ConsoleEventSubscriber.ts | 22 ++++++++--------- .../sdk-core/src/modules/breadcrumbs/index.ts | 2 +- .../breadcrumbsCreationTests.spec.ts | 5 ++++ .../breadcrumbsFilteringOptionsTests.spec.ts | 11 +++++++++ .../breadcrumbsInterceptorTests.spec.ts | 4 ++++ 13 files changed, 94 insertions(+), 54 deletions(-) create mode 100644 packages/sdk-core/src/modules/breadcrumbs/events/BreadcrumbsEventSubscriber.ts delete mode 100644 packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts diff --git a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts index ec427323..e222890d 100644 --- a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts @@ -1,14 +1,14 @@ import { + BacktraceBreadcrumbs, BreadcrumbLogLevel, BreadcrumbsEventSubscriber, - BreadcrumbsManager, BreadcrumbType, } from '@backtrace-labs/sdk-core'; export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { private readonly _controller: AbortController = new AbortController(); - public start(breadcrumbsManager: BreadcrumbsManager): void { + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { const signal = this._controller.signal; document.addEventListener( 'click', @@ -18,7 +18,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { return; } - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `Clicked ${target.id} ${target.tagName}`, BreadcrumbLogLevel.Info, BreadcrumbType.User, @@ -43,7 +43,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { return; } - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `Double clicked ${target.id} ${target.tagName}`, BreadcrumbLogLevel.Info, BreadcrumbType.User, @@ -68,7 +68,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { return; } - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `An element ${target.id} ${target.tagName} is being dragged`, BreadcrumbLogLevel.Debug, BreadcrumbType.User, @@ -92,7 +92,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { return; } - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `A dragged element is dropped on the target ${target.id} ${target.tagName}`, BreadcrumbLogLevel.Debug, BreadcrumbType.User, @@ -109,11 +109,11 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { ); window.addEventListener('load', () => { - breadcrumbsManager.addBreadcrumb(`The page has loaded`, BreadcrumbLogLevel.Info, BreadcrumbType.System); + backtraceBreadcrumbs.addBreadcrumb(`The page has loaded`, BreadcrumbLogLevel.Info, BreadcrumbType.System); }); window.addEventListener('unload', () => { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `The page started unloading`, BreadcrumbLogLevel.Info, BreadcrumbType.System, @@ -121,7 +121,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { }); window.addEventListener('pagehide', () => { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( 'User navigates away from a webpage', BreadcrumbLogLevel.Info, BreadcrumbType.User, @@ -129,7 +129,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { }); window.addEventListener('pageshow', () => { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( 'User navigates to a webpage', BreadcrumbLogLevel.Info, BreadcrumbType.User, @@ -139,7 +139,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { window.addEventListener( 'online', () => { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `The browser starts working online`, BreadcrumbLogLevel.Info, BreadcrumbType.System, @@ -153,7 +153,7 @@ export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { window.addEventListener( 'offline', () => { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `The browser starts working offline `, BreadcrumbLogLevel.Warning, BreadcrumbType.System, diff --git a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts index e03bdf9e..efb97def 100644 --- a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts @@ -1,21 +1,21 @@ import { + BacktraceBreadcrumbs, BreadcrumbLogLevel, BreadcrumbsEventSubscriber, - BreadcrumbsManager, BreadcrumbType, } from '@backtrace-labs/sdk-core'; export class HistoryEventSubscriber implements BreadcrumbsEventSubscriber { private _abortController = new AbortController(); private _originalHistoryPushStateMethod?: typeof history.pushState; - public start(breadcrumbsManager: BreadcrumbsManager): void { - if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Navigation) !== BreadcrumbType.Navigation) { + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.Navigation) !== BreadcrumbType.Navigation) { return; } window.addEventListener( 'popstate', (event: PopStateEvent) => { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `Navigating back to ${document.location}`, BreadcrumbLogLevel.Info, BreadcrumbType.Navigation, @@ -35,7 +35,7 @@ export class HistoryEventSubscriber implements BreadcrumbsEventSubscriber { // eslint-disable-next-line @typescript-eslint/no-unused-vars const [data, _, url] = args; originalHistoryPushStateMethod.apply(history, args); - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `Navigating to ${document.location}`, BreadcrumbLogLevel.Info, BreadcrumbType.Navigation, diff --git a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts index e3bdea73..7f3a77dd 100644 --- a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts @@ -1,7 +1,7 @@ import { + BacktraceBreadcrumbs, BreadcrumbLogLevel, BreadcrumbsEventSubscriber, - BreadcrumbsManager, BreadcrumbType, } from '@backtrace-labs/sdk-core'; @@ -9,8 +9,8 @@ export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { private _xmlHttpRequestOriginalOpenMethod?: typeof XMLHttpRequest.prototype.open; private _fetchOriginalMethod?: typeof window.fetch; - public start(breadcrumbsManager: BreadcrumbsManager): void { - if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Http) !== BreadcrumbType.Http) { + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.Http) !== BreadcrumbType.Http) { return; } const xmlHttpRequestOriginalOpenMethod = XMLHttpRequest.prototype.open; @@ -25,7 +25,7 @@ export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { const readyStateChangeCallback = this.onreadystatechange; this.onreadystatechange = (event: Event) => { if (this.readyState === XMLHttpRequest.DONE) { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `Sent an HTTP ${method} request to ${url}. Response status code: ${this.status}`, BreadcrumbLogLevel.Debug, BreadcrumbType.Http, @@ -57,7 +57,7 @@ export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { try { const result = await fetchOriginalMethod(resource, config); - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `Sent an HTTP ${method} request to ${resource}. Response status code: ${result.status}`, BreadcrumbLogLevel.Debug, BreadcrumbType.Http, @@ -69,7 +69,7 @@ export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { return result; } catch (e) { - breadcrumbsManager.addBreadcrumb( + backtraceBreadcrumbs.addBreadcrumb( `HTTP ${method} failure on request to ${resource}. Reason: ${ e instanceof Error ? e.message : e?.toString() ?? 'unknown' }`, diff --git a/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts b/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts index 40cfaaa8..294765dc 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BacktraceBreadcrumbs.ts @@ -1,4 +1,5 @@ import { AttributeType } from '../../model/data/BacktraceData'; +import { BreadcrumbsEventSubscriber } from './events/BreadcrumbsEventSubscriber'; import { BreadcrumbLogLevel } from './model/BreadcrumbLogLevel'; import { BreadcrumbType } from './model/BreadcrumbType'; @@ -14,10 +15,17 @@ export interface BacktraceBreadcrumbs { readonly logLevel: BreadcrumbLogLevel; /** - * Dispose breadcrumbs integration + * Adds and starts `BreadcrumbsEventSubscriber` with this instance of `BacktraceBreadcrumbs`. + * @param subscriber */ - dispose(): void; + addEventSubscriber(subscriber: BreadcrumbsEventSubscriber): void; + addBreadcrumb( + message: string, + level: BreadcrumbLogLevel, + type: BreadcrumbType, + attributes?: Record | undefined, + ): void; verbose(message: string, attributes?: Record): void; debug(message: string, attributes?: Record): void; info(message: string, attributes?: Record): void; diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts index dc45a1e1..089849d0 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts @@ -11,7 +11,7 @@ import { BacktraceBreadcrumbsSettings } from '../../model/configuration/Backtrac import { AttributeType } from '../../model/data/BacktraceData'; import { BacktraceReport } from '../../model/report/BacktraceReport'; import { BacktraceModule, BacktraceModuleBindData } from '../BacktraceModule'; -import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; +import { BreadcrumbsEventSubscriber } from './events/BreadcrumbsEventSubscriber'; import { ConsoleEventSubscriber } from './events/ConsoleEventSubscriber'; import { RawBreadcrumb } from './model/RawBreadcrumb'; import { InMemoryBreadcrumbsStorage } from './storage/InMemoryBreadcrumbsStorage'; @@ -31,7 +31,7 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule /** * Determines if the breadcrumb manager is enabled. */ - private _enabled = true; + private _enabled = false; private readonly _eventSubscribers: BreadcrumbsEventSubscriber[] = [new ConsoleEventSubscriber()]; private readonly _interceptor?: (breadcrumb: RawBreadcrumb) => RawBreadcrumb | undefined; @@ -47,6 +47,13 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule } } + public addEventSubscriber(subscriber: BreadcrumbsEventSubscriber) { + if (this._enabled) { + subscriber.start(this); + } + this._eventSubscribers.push(subscriber); + } + public setStorage(storage: BreadcrumbsStorage) { this._storage = storage; } @@ -70,9 +77,14 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule } public initialize() { + if (this._enabled) { + return; + } + for (const subscriber of this._eventSubscribers) { subscriber.start(this); } + this._enabled = true; } public verbose(message: string, attributes?: Record | undefined): boolean { diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts index a300ebe0..b9da7134 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsSetup.ts @@ -1,4 +1,4 @@ -import { BreadcrumbsEventSubscriber } from './events/BreadcrurmbsEventSubscriber'; +import { BreadcrumbsEventSubscriber } from './events/BreadcrumbsEventSubscriber'; import { BreadcrumbsStorage } from './storage/BreadcrumbsStorage'; export interface BreadcrumbsSetup { diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrumbsEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrumbsEventSubscriber.ts new file mode 100644 index 00000000..aaba7f46 --- /dev/null +++ b/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrumbsEventSubscriber.ts @@ -0,0 +1,14 @@ +import { BacktraceBreadcrumbs } from '../BacktraceBreadcrumbs'; + +export interface BreadcrumbsEventSubscriber { + /** + * Set up breadcrumbs listener + * @param backtraceBreadcrumbs breadcrumbs manager + */ + start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void; + + /** + * Dispose all breadcrumbs events + */ + dispose(): void; +} diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts deleted file mode 100644 index 5fdc31b3..00000000 --- a/packages/sdk-core/src/modules/breadcrumbs/events/BreadcrurmbsEventSubscriber.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BreadcrumbsManager } from '../BreadcrumbsManager'; - -export interface BreadcrumbsEventSubscriber { - /** - * Set up breadcrumbs listener - * @param breadcrumbsManager breadcrumbs manager - */ - start(breadcrumbsManager: BreadcrumbsManager): void; - - /** - * Dispose all breadcrumbs events - */ - dispose(): void; -} diff --git a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts index 1ee4fd13..185bec6f 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/events/ConsoleEventSubscriber.ts @@ -1,8 +1,8 @@ import { textFormatter } from '../../../common/textFormatter'; -import { BreadcrumbsManager } from '../BreadcrumbsManager'; +import { BacktraceBreadcrumbs } from '../BacktraceBreadcrumbs'; import { BreadcrumbLogLevel } from '../model/BreadcrumbLogLevel'; import { BreadcrumbType } from '../model/BreadcrumbType'; -import { BreadcrumbsEventSubscriber } from './BreadcrurmbsEventSubscriber'; +import { BreadcrumbsEventSubscriber } from './BreadcrumbsEventSubscriber'; type ConsoleMethod = (...args: unknown[]) => void; export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { @@ -11,18 +11,18 @@ export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { */ private readonly _events: Record = {}; private _formatter!: (...params: unknown[]) => string; - public start(breadcrumbsManager: BreadcrumbsManager): void { - if ((breadcrumbsManager.breadcrumbsType & BreadcrumbType.Log) !== BreadcrumbType.Log) { + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.Log) !== BreadcrumbType.Log) { return; } this._formatter = textFormatter(); - this.bindToConsoleMethod('log', BreadcrumbLogLevel.Info, breadcrumbsManager); - this.bindToConsoleMethod('warn', BreadcrumbLogLevel.Warning, breadcrumbsManager); - this.bindToConsoleMethod('error', BreadcrumbLogLevel.Error, breadcrumbsManager); - this.bindToConsoleMethod('debug', BreadcrumbLogLevel.Debug, breadcrumbsManager); - this.bindToConsoleMethod('trace', BreadcrumbLogLevel.Verbose, breadcrumbsManager); + this.bindToConsoleMethod('log', BreadcrumbLogLevel.Info, backtraceBreadcrumbs); + this.bindToConsoleMethod('warn', BreadcrumbLogLevel.Warning, backtraceBreadcrumbs); + this.bindToConsoleMethod('error', BreadcrumbLogLevel.Error, backtraceBreadcrumbs); + this.bindToConsoleMethod('debug', BreadcrumbLogLevel.Debug, backtraceBreadcrumbs); + this.bindToConsoleMethod('trace', BreadcrumbLogLevel.Verbose, backtraceBreadcrumbs); } public dispose(): void { @@ -35,14 +35,14 @@ export class ConsoleEventSubscriber implements BreadcrumbsEventSubscriber { private bindToConsoleMethod( name: keyof Console, level: BreadcrumbLogLevel, - breadcrumbsManager: BreadcrumbsManager, + backtraceBreadcrumbs: BacktraceBreadcrumbs, ) { const originalMethod = console[name] as ConsoleMethod; (console[name] as ConsoleMethod) = (...args: unknown[]) => { originalMethod(...args); const message = this._formatter(...args); - breadcrumbsManager.addBreadcrumb(message, level, BreadcrumbType.Log); + backtraceBreadcrumbs.addBreadcrumb(message, level, BreadcrumbType.Log); }; this._events[name] = originalMethod; } diff --git a/packages/sdk-core/src/modules/breadcrumbs/index.ts b/packages/sdk-core/src/modules/breadcrumbs/index.ts index b3445298..2516ec1c 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/index.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/index.ts @@ -1,7 +1,7 @@ export * from './BacktraceBreadcrumbs'; export * from './BreadcrumbsManager'; export * from './BreadcrumbsSetup'; -export * from './events/BreadcrurmbsEventSubscriber'; +export * from './events/BreadcrumbsEventSubscriber'; export * from './model/Breadcrumb'; export * from './model/BreadcrumbLogLevel'; export * from './model/BreadcrumbType'; diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts index 07c1cdc8..e6e84144 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts @@ -16,6 +16,7 @@ describe('Breadcrumbs creation tests', () => { it('Each breadcrumb should have different id', () => { const storage = new InMemoryBreadcrumbsStorage(100); const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); breadcrumbsManager.info('test'); breadcrumbsManager.info('test2'); @@ -39,6 +40,7 @@ describe('Breadcrumbs creation tests', () => { const message = 'test'; const storage = new InMemoryBreadcrumbsStorage(100); const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); breadcrumbsManager.info(message); const [breadcrumb] = JSON.parse(storage.get() as string); @@ -50,6 +52,7 @@ describe('Breadcrumbs creation tests', () => { const level = BreadcrumbLogLevel.Warning; const storage = new InMemoryBreadcrumbsStorage(100); const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); breadcrumbsManager.log(message, level); const [breadcrumb] = JSON.parse(storage.get() as string); @@ -62,6 +65,7 @@ describe('Breadcrumbs creation tests', () => { const type = BreadcrumbType.Configuration; const storage = new InMemoryBreadcrumbsStorage(100); const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); breadcrumbsManager.addBreadcrumb(message, level, type); const [breadcrumb] = JSON.parse(storage.get() as string); @@ -74,6 +78,7 @@ describe('Breadcrumbs creation tests', () => { const attributes = { foo: 'bar', baz: 1 }; const storage = new InMemoryBreadcrumbsStorage(100); const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); breadcrumbsManager.log(message, level, attributes); const [breadcrumb] = JSON.parse(storage.get() as string); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts index 300e8e01..72fac186 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsFilteringOptionsTests.spec.ts @@ -15,6 +15,7 @@ describe('Breadcrumbs filtering options tests', () => { storage, }, ); + breadcrumbsManager.initialize(); const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, BreadcrumbType.Http); const breadcrumbs = JSON.parse(storage.get() as string); @@ -34,6 +35,7 @@ describe('Breadcrumbs filtering options tests', () => { storage, }, ); + breadcrumbsManager.initialize(); const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, allowedBreadcrumbType); const [breadcrumb] = JSON.parse(storage.get() as string); @@ -54,6 +56,7 @@ describe('Breadcrumbs filtering options tests', () => { storage, }, ); + breadcrumbsManager.initialize(); const result = breadcrumbsManager.addBreadcrumb(message, BreadcrumbLogLevel.Debug, BreadcrumbType.Http); const breadcrumbs = JSON.parse(storage.get() as string); @@ -73,6 +76,7 @@ describe('Breadcrumbs filtering options tests', () => { storage, }, ); + breadcrumbsManager.initialize(); const result = breadcrumbsManager.addBreadcrumb(message, allowedLogLevel, BreadcrumbType.Http); const [breadcrumb] = JSON.parse(storage.get() as string); @@ -86,6 +90,7 @@ describe('Breadcrumbs filtering options tests', () => { const breadcrumbsManager = new BreadcrumbsManager({ logLevel: allowedLogLevel, }); + breadcrumbsManager.initialize(); const result = breadcrumbsManager.warn(message); expect(result).toBeFalsy(); @@ -97,6 +102,7 @@ describe('Breadcrumbs filtering options tests', () => { const breadcrumbsManager = new BreadcrumbsManager({ logLevel: allowedLogLevel, }); + breadcrumbsManager.initialize(); const result = breadcrumbsManager.error(message); expect(result).toBeTruthy(); @@ -106,6 +112,7 @@ describe('Breadcrumbs filtering options tests', () => { describe('Disabled breadcrumbs integration', () => { it('Should not accept breadcrumbs after breadcrumbs dispose', () => { const breadcrumbsManager = new BreadcrumbsManager(); + breadcrumbsManager.initialize(); breadcrumbsManager.dispose(); const result = breadcrumbsManager.error('test'); @@ -125,6 +132,8 @@ describe('Breadcrumbs filtering options tests', () => { storage, }, ); + breadcrumbsManager.initialize(); + for (let index = 0; index < maximumBreadcrumbs; index++) { breadcrumbsManager.error(index.toString()); } @@ -151,6 +160,8 @@ describe('Breadcrumbs filtering options tests', () => { storage, }, ); + breadcrumbsManager.initialize(); + const expectedBreadcrumbMessage = 'after free space'; for (let index = 0; index < maximumBreadcrumbs; index++) { breadcrumbsManager.error(index.toString()); diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts index f049d437..e4798fca 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsInterceptorTests.spec.ts @@ -12,6 +12,8 @@ describe('Breadcrumbs interceptor tests', () => { storage, }, ); + breadcrumbsManager.initialize(); + breadcrumbsManager.info('test'); const breadcrumbs = JSON.parse(storage.get() as string) as Breadcrumb[]; expect(breadcrumbs.length).toBe(0); @@ -31,6 +33,8 @@ describe('Breadcrumbs interceptor tests', () => { storage, }, ); + breadcrumbsManager.initialize(); + breadcrumbsManager.info('test'); const [breadcrumb] = JSON.parse(storage.get() as string) as Breadcrumb[]; From aacd8b1a1eb5738928d9c4eb974f22cb61759621 Mon Sep 17 00:00:00 2001 From: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Fri, 6 Oct 2023 10:33:19 -0700 Subject: [PATCH 204/291] Update packages/browser/README.md Co-authored-by: Konrad Dysput --- packages/browser/README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/browser/README.md b/packages/browser/README.md index 69e9a8e0..20f13ee6 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -342,7 +342,21 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. ```ts - // Code sample +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + name: '@backtrace-labs/browser-example', + version: '0.0.1', + beforeSend: (data: BacktraceData) => { + // skip the report by returning a null from the callback + if (!shouldSendReportToBacktrace(data)) { + return undefined; + } + // apply custom attribute + data.attributes['new-attribute"] = 'apply-data-in-callback'; + return data; + }, +}); + ``` ### Custom file/http handlers From 657d0fd12c6714114f55341c8f06070db3ef6ab6 Mon Sep 17 00:00:00 2001 From: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Fri, 6 Oct 2023 10:33:27 -0700 Subject: [PATCH 205/291] Update packages/browser/README.md Co-authored-by: Konrad Dysput --- packages/browser/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/browser/README.md b/packages/browser/README.md index 20f13ee6..5038ac36 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -366,5 +366,9 @@ Custom handlers can be implemented to override BacktraceClient file and http ope > Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. ```ts - // Code sample +const client = BacktraceClient.builder(options) + .useRequestHandler(requestHandler) + .useBreadcrumbSubscriber(breadcrumbSubscriber) + .addAttributeProvider(attributeProvider) + .build(); ``` From 10a0dc16141aa0b240e7c5ac53930a5256d64196 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 9 Oct 2023 10:46:00 +0200 Subject: [PATCH 206/291] Add breadcrumb attribute to the file (#165) --- packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts index 1cdb66cf..d155ec33 100644 --- a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts +++ b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -2,12 +2,12 @@ import { BacktraceAttachment, Breadcrumb, BreadcrumbLogLevel, - BreadcrumbType, BreadcrumbsStorage, + BreadcrumbType, + jsonEscaper, RawBreadcrumb, SessionFiles, TimeHelper, - jsonEscaper, } from '@backtrace-labs/sdk-core'; import path from 'path'; import { BacktraceFileAttachment } from '../attachment'; @@ -67,6 +67,7 @@ export class FileBreadcrumbsStorage implements BreadcrumbsStorage { timestamp: TimeHelper.now(), type: BreadcrumbType[rawBreadcrumb.type].toLowerCase(), level: BreadcrumbLogLevel[rawBreadcrumb.level].toLowerCase(), + attributes: rawBreadcrumb.attributes, }; const breadcrumbJson = JSON.stringify(breadcrumb, jsonEscaper()); From 6362984f4495981a55b8203f5edf09d11ac08e89 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 9 Oct 2023 12:36:46 +0200 Subject: [PATCH 207/291] sync versions script (#163) * add ts-node package for Typescript scripts * scripts: add syncVersions script * syncVersions: fix lint errors --------- Co-authored-by: Sebastian Alex --- package-lock.json | 271 ++++++++++++++++++++++++++++++++++------ package.json | 4 +- scripts/syncVersions.ts | 107 ++++++++++++++++ 3 files changed, 340 insertions(+), 42 deletions(-) create mode 100755 scripts/syncVersions.ts diff --git a/package-lock.json b/package-lock.json index 50f8d6e6..d61e25a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,7 @@ "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", + "ts-node": "^10.9.1", "typescript": "^5.0.4" } }, @@ -746,6 +747,28 @@ "dev": true, "license": "MIT" }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "dev": true, @@ -1683,6 +1706,30 @@ "node": ">= 10" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "node_modules/@types/aria-query": { "version": "5.0.1", "dev": true, @@ -2664,6 +2711,12 @@ "dev": true, "license": "ISC" }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "dev": true, @@ -4181,6 +4234,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "license": "MIT", @@ -4574,6 +4633,15 @@ "wrappy": "1" } }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "29.6.3", "dev": true, @@ -11974,6 +12042,49 @@ "node": ">=6" } }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "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" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, "node_modules/tsconfig-paths": { "version": "3.14.2", "dev": true, @@ -12400,6 +12511,12 @@ "node": ">= 0.4.0" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -13805,6 +13922,15 @@ "fd-slicer": "~1.1.0" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "dev": true, @@ -15924,14 +16050,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@backtrace-labs/browser": { - "version": "0.0.4", - "license": "MIT", - "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.4", - "ua-parser-js": "^1.0.35" - } - }, "packages/react-native/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -21101,6 +21219,7 @@ }, "packages/react-native/node_modules/js-tokens": { "version": "4.0.0", + "dev": true, "license": "MIT" }, "packages/react-native/node_modules/js-yaml": { @@ -21620,6 +21739,7 @@ }, "packages/react-native/node_modules/loose-envify": { "version": "1.4.0", + "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -23352,6 +23472,7 @@ }, "packages/react-native/node_modules/react": { "version": "18.2.0", + "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -24602,27 +24723,6 @@ "node": ">=14.17" } }, - "packages/react-native/node_modules/ua-parser-js": { - "version": "1.0.36", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "engines": { - "node": "*" - } - }, "packages/react-native/node_modules/uglify-es": { "version": "3.3.9", "dev": true, @@ -25059,7 +25159,7 @@ }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", - "version": "0.0.5", + "version": "0.0.6", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", @@ -26886,13 +26986,6 @@ "to-fast-properties": "^2.0.0" } }, - "@backtrace-labs/browser": { - "version": "0.0.4", - "requires": { - "@backtrace-labs/sdk-core": "^0.0.4", - "ua-parser-js": "^1.0.35" - } - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -30180,7 +30273,8 @@ } }, "js-tokens": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "js-yaml": { "version": "4.1.0", @@ -30525,6 +30619,7 @@ }, "loose-envify": { "version": "1.4.0", + "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -31641,6 +31736,7 @@ }, "react": { "version": "18.2.0", + "dev": true, "requires": { "loose-envify": "^1.1.0" } @@ -32468,9 +32564,6 @@ "version": "5.2.2", "dev": true }, - "ua-parser-js": { - "version": "1.0.36" - }, "uglify-es": { "version": "3.3.9", "dev": true, @@ -32810,6 +32903,27 @@ "version": "0.2.3", "dev": true }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, "@discoveryjs/json-ext": { "version": "0.5.7", "dev": true @@ -33386,6 +33500,30 @@ "version": "2.0.0", "dev": true }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "@types/aria-query": { "version": "5.0.1", "dev": true @@ -34095,6 +34233,12 @@ "version": "1.2.0", "dev": true }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "2.0.1", "dev": true @@ -35113,6 +35257,12 @@ "prompts": "^2.0.1" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "requires": { @@ -35393,6 +35543,12 @@ "wrappy": "1" } }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, "diff-sequences": { "version": "29.6.3", "dev": true @@ -40298,6 +40454,27 @@ } } }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@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" + } + }, "tsconfig-paths": { "version": "3.14.2", "dev": true, @@ -40566,6 +40743,12 @@ "version": "1.0.1", "dev": true }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "v8-to-istanbul": { "version": "9.1.0", "dev": true, @@ -41523,6 +41706,12 @@ "fd-slicer": "~1.1.0" } }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "dev": true diff --git a/package.json b/package.json index 766d314f..4d96f29f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "lint": "eslint . --ext .ts", "rebuild": "npm run clean && npm run build", "watch": "tsc -b ./tsconfig.packages.json -w", - "test": "npm run test --ws --if-present" + "test": "npm run test --ws --if-present", + "syncVersions": "ts-node ./scripts/syncVersions.ts" }, "workspaces": [ "packages/sdk-core", @@ -54,6 +55,7 @@ "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", + "ts-node": "^10.9.1", "typescript": "^5.0.4" } } diff --git a/scripts/syncVersions.ts b/scripts/syncVersions.ts new file mode 100755 index 00000000..f5f36ccf --- /dev/null +++ b/scripts/syncVersions.ts @@ -0,0 +1,107 @@ +#!/usr/bin/env -S node -r ts-node/register + +/** + * This scripts makes sure that all packages use the newest versions of dependencies. + * Without arguments, it reads all workspaces from root package.json and checks all workspaces. + * Pass paths to package.json files as arguments to parse only those. + */ + +import fs from 'fs'; +import path from 'path'; + +const rootDir = path.join(__dirname, '..'); + +interface PackageJson { + readonly name: string; + readonly version: string; + readonly workspaces?: string[]; + readonly dependencies?: Record; + readonly devDependencies?: Record; + readonly peerDependencies?: Record; +} + +type Dependencies = keyof Pick; + +async function loadPackageJson(packageJsonPath: string): Promise { + const error = new Error(`${packageJsonPath} does not seem to be a valid package.json file`); + + let packageJson: Partial; + try { + packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf-8')) as Partial; + } catch { + throw error; + } + + if (!packageJson.name || !packageJson.version) { + throw error; + } + + return packageJson as PackageJson; +} + +async function savePackageJson(packageJsonPath: string, packageJson: PackageJson) { + return await fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson, null, ' ') + '\n'); +} + +function getWorkspacePackageJsonPaths(packageJson: PackageJson) { + return packageJson.workspaces?.map((workspaceDir) => path.join(rootDir, workspaceDir, 'package.json')) ?? []; +} + +function updateDependency(packageJson: PackageJson, type: Dependencies, name: string, newVersion: string) { + const deps = packageJson[type]; + if (!deps) { + return false; + } + + const currentVersion = deps[name]; + if (!currentVersion) { + return false; + } + + if (currentVersion !== newVersion) { + deps[name] = newVersion; + console.log(`[${packageJson.name}] - updated ${name} from ${currentVersion} to ${newVersion} in ${type}`); + + return true; + } + + return false; +} + +function updateVersions(packageJson: PackageJson, currentVersions: Record) { + let updated = false; + + for (const [name, version] of Object.entries(currentVersions)) { + const newVersion = `^${version}`; + + updated = updateDependency(packageJson, 'dependencies', name, newVersion) || updated; + updated = updateDependency(packageJson, 'devDependencies', name, newVersion) || updated; + updated = updateDependency(packageJson, 'peerDependencies', name, newVersion) || updated; + } + + if (!updated) { + console.log(`[${packageJson.name}] - no changes`); + } + + return packageJson; +} + +(async () => { + const rootPackageJson = await loadPackageJson(path.join(rootDir, 'package.json')); + const workspacePackageJsonPaths = getWorkspacePackageJsonPaths(rootPackageJson); + const workspacePackageJsons = await Promise.all(workspacePackageJsonPaths.map(loadPackageJson)); + + const args = process.argv.slice(2); + const packageJsonPathsToSync = args.length ? args : workspacePackageJsonPaths; + + const currentVersions = workspacePackageJsons.reduce((obj, pj) => { + obj[pj.name] = pj.version; + return obj; + }, {} as Record); + + for (const packageJsonPath of packageJsonPathsToSync) { + const packageJson = await loadPackageJson(packageJsonPath); + const updatedPackageJson = updateVersions(packageJson, currentVersions); + await savePackageJson(packageJsonPath, updatedPackageJson); + } +})(); From d6cd7a4ffbcf274446d34fe0f8179e928be24596 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 9 Oct 2023 17:08:05 +0200 Subject: [PATCH 208/291] node: Remove overflowed records on the database startup and replace foreach with for to iterate over all records rather than jump between them (#167) * node: Remove overflowed records on the database startup and replace foreach with for to iterate over all records rather than jump between them * Use database remove method instead of direcrly using storage provider * Use foreach instead of for * Use single remove method --- .../src/modules/database/BacktraceDatabase.ts | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts index 5b21bec2..3709bf9c 100644 --- a/packages/sdk-core/src/modules/database/BacktraceDatabase.ts +++ b/packages/sdk-core/src/modules/database/BacktraceDatabase.ts @@ -161,16 +161,20 @@ export class BacktraceDatabase implements BacktraceModule { } /** - * Removes the database record - * @param record database records + * Removes the database record/records + * @param recordOrRecords database records */ - public remove(record: BacktraceDatabaseRecord) { + public remove(recordOrRecords: BacktraceDatabaseRecord | BacktraceDatabaseRecord[]) { if (!this._enabled) { return; } - this._databaseRecordContext.remove(record); - this._storageProvider.delete(record); - this._sessionFiles?.unlockPreviousSessions(record.id); + const records = Array.isArray(recordOrRecords) ? recordOrRecords : [recordOrRecords]; + + for (const record of records) { + this._databaseRecordContext.remove(record); + this._storageProvider.delete(record); + this._sessionFiles?.unlockPreviousSessions(record.id); + } } public addStorageProvider(storageProvider: BacktraceDatabaseStorageProvider) { @@ -198,7 +202,10 @@ export class BacktraceDatabase implements BacktraceModule { */ public async send() { for (let bucketIndex = 0; bucketIndex < this._databaseRecordContext.bucketCount; bucketIndex++) { - for (const record of this._databaseRecordContext.getBucket(bucketIndex)) { + // make a copy of records to not update the array after each remove + const records = [...this._databaseRecordContext.getBucket(bucketIndex)]; + + for (const record of records) { if (record.locked) { continue; } @@ -227,17 +234,16 @@ export class BacktraceDatabase implements BacktraceModule { if (numberOfRecords + totalNumberOfRecords <= this._maximumRecords) { return; } - const recordsToDelete = this._databaseRecordContext.dropOverflow(totalNumberOfRecords); - for (const record of recordsToDelete) { - this._storageProvider.delete(record); - } + this.remove(this._databaseRecordContext.dropOverflow(totalNumberOfRecords)); } private async loadReports() { const records = await this._storageProvider.get(); - if (records.length > this._maximumRecords) { - records.length = this._maximumRecords; + // delete old records before adding them to the database + if (records.length >= this._maximumRecords) { + this.remove(records.splice(this._maximumRecords)); } + this.prepareDatabase(records.length); this._databaseRecordContext.load(records); From d2b5b221d0bdd7bfb778e4d1e8d9f575bf55f3a7 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 11 Oct 2023 13:32:22 +0200 Subject: [PATCH 209/291] sdk-core, browser, node, react, react-native: builder changes (#173) * sdk-core: change builder to accept only CoreClientSetup in the constructor, remove build method * browser: update to work with sdk-core changes * node: update to work with sdk-core changes * react: update to work with sdk-core and browser changes * react-native: update to work with sdk-core and react changes * node: change builder method options interface type * node: change options interface in initialize function * react-native: bring back missing attribute providers --------- Co-authored-by: Sebastian Alex --- packages/browser/src/BacktraceClient.ts | 44 +++++------- .../src/builder/BacktraceClientBuilder.ts | 72 +++++-------------- .../src/builder/BacktraceClientSetup.ts | 5 ++ .../src/converters/getStackTraceConverter.ts | 18 +++++ packages/browser/src/index.ts | 6 +- packages/node/src/BacktraceClient.ts | 44 +++++------- packages/node/src/BacktraceConfiguration.ts | 7 +- .../src/attachment/transformAttachments.ts | 15 ++++ .../src/builder/BacktraceClientBuilder.ts | 58 +++++---------- .../node/src/builder/BacktraceClientSetup.ts | 8 +++ packages/react-native/src/BacktraceClient.ts | 35 ++++----- .../src/BacktraceClientBuilder.ts | 43 ----------- .../src/builder/BacktraceClientBuilder.ts | 43 +++++++++++ .../src/builder/BacktraceClientSetup.ts | 5 ++ packages/react-native/src/index.ts | 2 +- packages/react/src/BacktraceClient.ts | 38 ++++------ .../builder/BacktraceReactClientBuilder.ts | 22 ++---- packages/sdk-core/src/BacktraceCoreClient.ts | 36 +++++----- .../src/builder/BacktraceCoreClientBuilder.ts | 41 ++++++----- .../sdk-core/src/builder/CoreClientSetup.ts | 11 ++- packages/sdk-core/src/index.ts | 1 + 21 files changed, 253 insertions(+), 301 deletions(-) create mode 100644 packages/browser/src/builder/BacktraceClientSetup.ts create mode 100644 packages/browser/src/converters/getStackTraceConverter.ts create mode 100644 packages/node/src/attachment/transformAttachments.ts create mode 100644 packages/node/src/builder/BacktraceClientSetup.ts delete mode 100644 packages/react-native/src/BacktraceClientBuilder.ts create mode 100644 packages/react-native/src/builder/BacktraceClientBuilder.ts create mode 100644 packages/react-native/src/builder/BacktraceClientSetup.ts diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index abac6b6a..e19f1dba 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -1,50 +1,38 @@ import { - BacktraceAttributeProvider, BacktraceCoreClient, BacktraceReport, - BacktraceRequestHandler, - BacktraceSessionProvider, - BacktraceStackTraceConverter, - BreadcrumbsEventSubscriber, DebugIdContainer, - SdkOptions, VariableDebugIdMapProvider, } from '@backtrace-labs/sdk-core'; -import { AGENT } from './agentDefinition'; +import { BacktraceBrowserRequestHandler } from './BacktraceBrowserRequestHandler'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; +import { BacktraceClientSetup } from './builder/BacktraceClientSetup'; +import { getStackTraceConverter } from './converters/getStackTraceConverter'; -export class BacktraceClient extends BacktraceCoreClient { +export class BacktraceClient extends BacktraceCoreClient { private readonly _disposeController: AbortController = new AbortController(); - constructor( - options: BacktraceConfiguration, - requestHandler: BacktraceRequestHandler, - attributeProviders: BacktraceAttributeProvider[], - stackTraceConverter: BacktraceStackTraceConverter, - breadcrumbsEventSubscriber: BreadcrumbsEventSubscriber[], - sessionProvider: BacktraceSessionProvider = new BacktraceBrowserSessionProvider(), - sdkOptions: SdkOptions = AGENT, - ) { + constructor(clientSetup: BacktraceClientSetup) { super({ - options, - sdkOptions, - requestHandler, - attributeProviders, - stackTraceConverter, - sessionProvider, + sdkOptions: AGENT, + stackTraceConverter: getStackTraceConverter(), + requestHandler: new BacktraceBrowserRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(window as DebugIdContainer), - breadcrumbsSetup: { - subscribers: breadcrumbsEventSubscriber, - }, + sessionProvider: new BacktraceBrowserSessionProvider(), + ...clientSetup, }); - this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); + this.captureUnhandledErrors( + clientSetup.options.captureUnhandledErrors, + clientSetup.options.captureUnhandledPromiseRejections, + ); } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { - return new BacktraceClientBuilder(options); + return new BacktraceClientBuilder({ options }); } /** diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 3d273f2c..199367fc 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,15 +1,5 @@ -import { - BacktraceAttributeProvider, - BacktraceCoreClientBuilder, - BacktraceSessionProvider, - BacktraceStackTraceConverter, - BreadcrumbsEventSubscriber, -} from '@backtrace-labs/sdk-core'; -import { V8StackTraceConverter } from '@backtrace-labs/sdk-core/lib/modules/converter/V8StackTraceConverter'; -import { BacktraceBrowserRequestHandler } from '../BacktraceBrowserRequestHandler'; -import { BacktraceBrowserSessionProvider } from '../BacktraceBrowserSessionProvider'; +import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; import { BacktraceClient } from '../BacktraceClient'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; @@ -18,54 +8,26 @@ import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber'; import { HistoryEventSubscriber } from '../breadcrumbs/HistoryEventSubscriber'; import { WebRequestEventSubscriber } from '../breadcrumbs/WebRequestEventSubscriber'; -import { JavaScriptCoreStackTraceConverter } from '../converters/JavaScriptCoreStackTraceConverter'; -import { SpiderMonkeyStackTraceConverter } from '../converters/SpiderMonkeyStackTraceConverter'; -import { getEngine } from '../engineDetector'; +import { BacktraceClientSetup } from './BacktraceClientSetup'; -export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - constructor( - protected readonly options: BacktraceConfiguration, - attributeProviders: BacktraceAttributeProvider[] = [ - new UserAgentAttributeProvider(), - new WebsiteAttributeProvider(), - new WindowAttributeProvider(), - new UserIdentifierAttributeProvider(), - new ApplicationInformationAttributeProvider(options), - ], - breadcrumbsSubscribers: BreadcrumbsEventSubscriber[] = [ - new WebRequestEventSubscriber(), - new DocumentEventSubscriber(), - new HistoryEventSubscriber(), - ], - sessionProvider: BacktraceSessionProvider = new BacktraceBrowserSessionProvider(), - ) { - super(new BacktraceBrowserRequestHandler(options), attributeProviders, breadcrumbsSubscribers, sessionProvider); +export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + constructor(clientSetup: BacktraceClientSetup) { + super(clientSetup); + + this.addAttributeProvider(new UserAgentAttributeProvider()); + this.addAttributeProvider(new WebsiteAttributeProvider()); + this.addAttributeProvider(new WindowAttributeProvider()); + this.addAttributeProvider(new UserIdentifierAttributeProvider()); + this.addAttributeProvider(new ApplicationInformationAttributeProvider(clientSetup.options)); + + this.useBreadcrumbSubscriber(new WebRequestEventSubscriber()); + this.useBreadcrumbSubscriber(new DocumentEventSubscriber()); + this.useBreadcrumbSubscriber(new HistoryEventSubscriber()); } public build(): BacktraceClient { - const instance = new BacktraceClient( - this.options, - this.handler, - this.attributeProviders, - this.stackTraceConverter ?? this.generateStackTraceConverter(), - this.breadcrumbsSubscribers, - this.sessionProvider, - ); + const instance = new BacktraceClient(this.clientSetup); instance.initialize(); - return instance; - } - - protected generateStackTraceConverter(): BacktraceStackTraceConverter { - switch (getEngine()) { - case 'JavaScriptCore': { - return new JavaScriptCoreStackTraceConverter(); - } - case 'SpiderMonkey': { - return new SpiderMonkeyStackTraceConverter(); - } - default: { - return new V8StackTraceConverter(); - } - } + return instance as BacktraceClient; } } diff --git a/packages/browser/src/builder/BacktraceClientSetup.ts b/packages/browser/src/builder/BacktraceClientSetup.ts new file mode 100644 index 00000000..d5185b46 --- /dev/null +++ b/packages/browser/src/builder/BacktraceClientSetup.ts @@ -0,0 +1,5 @@ +import { PartialCoreClientSetup } from '@backtrace-labs/sdk-core'; +import { BacktraceConfiguration } from '../BacktraceConfiguration'; + +export interface BacktraceClientSetup + extends PartialCoreClientSetup<'sdkOptions' | 'requestHandler', O> {} diff --git a/packages/browser/src/converters/getStackTraceConverter.ts b/packages/browser/src/converters/getStackTraceConverter.ts new file mode 100644 index 00000000..c377e9f4 --- /dev/null +++ b/packages/browser/src/converters/getStackTraceConverter.ts @@ -0,0 +1,18 @@ +import { BacktraceStackTraceConverter, V8StackTraceConverter } from '@backtrace-labs/sdk-core'; +import { getEngine } from '../engineDetector'; +import { JavaScriptCoreStackTraceConverter } from './JavaScriptCoreStackTraceConverter'; +import { SpiderMonkeyStackTraceConverter } from './SpiderMonkeyStackTraceConverter'; + +export function getStackTraceConverter(): BacktraceStackTraceConverter { + switch (getEngine()) { + case 'JavaScriptCore': { + return new JavaScriptCoreStackTraceConverter(); + } + case 'SpiderMonkey': { + return new SpiderMonkeyStackTraceConverter(); + } + default: { + return new V8StackTraceConverter(); + } + } +} diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index e1d44422..389f1bfe 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -10,17 +10,19 @@ export { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BreadcrumbLogLevel, + BreadcrumbType, BreadcrumbsEventSubscriber, BreadcrumbsManager, - BreadcrumbType, JavaScriptEngine, RawBreadcrumb, SingleSessionProvider, V8StackTraceConverter, } from '@backtrace-labs/sdk-core'; -export * from './agentDefinition'; export * from './BacktraceBrowserRequestHandler'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; +export * from './agentDefinition'; export * from './builder/BacktraceClientBuilder'; +export * from './builder/BacktraceClientSetup'; +export * from './converters/getStackTraceConverter'; export * from './redux/BacktraceReduxMiddleware'; diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 06cbb319..e617e2b7 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -1,55 +1,49 @@ import { - BacktraceAttributeProvider, BacktraceCoreClient, BacktraceReport, - BacktraceRequestHandler, - BreadcrumbsEventSubscriber, BreadcrumbsManager, - BacktraceConfiguration as CoreConfiguration, DebugIdContainer, FileAttributeManager, - FileSystem, SessionFiles, VariableDebugIdMapProvider, } from '@backtrace-labs/sdk-core'; import path from 'path'; -import { BacktraceConfiguration } from './BacktraceConfiguration'; +import { BacktraceConfiguration, BacktraceSetupConfiguration } from './BacktraceConfiguration'; +import { BacktraceNodeRequestHandler } from './BacktraceNodeRequestHandler'; import { AGENT } from './agentDefinition'; +import { transformAttachment } from './attachment/transformAttachments'; import { FileBreadcrumbsStorage } from './breadcrumbs/FileBreadcrumbsStorage'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; +import { BacktraceNodeClientSetup } from './builder/BacktraceClientSetup'; import { NodeOptionReader } from './common/NodeOptionReader'; import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; -export class BacktraceClient extends BacktraceCoreClient { +export class BacktraceClient extends BacktraceCoreClient { private _listeners: Record = {}; - constructor( - options: CoreConfiguration, - requestHandler: BacktraceRequestHandler, - attributeProviders: BacktraceAttributeProvider[], - breadcrumbsEventSubscribers: BreadcrumbsEventSubscriber[], - fileSystem?: FileSystem, - ) { + constructor(clientSetup: BacktraceNodeClientSetup) { super({ - options, sdkOptions: AGENT, - requestHandler, - attributeProviders, + requestHandler: new BacktraceNodeRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), - breadcrumbsSetup: { - subscribers: breadcrumbsEventSubscribers, + ...clientSetup, + options: { + ...clientSetup.options, + attachments: clientSetup.options.attachments?.map(transformAttachment), }, - fileSystem, }); const breadcrumbsManager = this.modules.get(BreadcrumbsManager); if (breadcrumbsManager && this.sessionFiles) { breadcrumbsManager.setStorage( - FileBreadcrumbsStorage.create(this.sessionFiles, options.breadcrumbs?.maximumBreadcrumbs ?? 100), + FileBreadcrumbsStorage.create( + this.sessionFiles, + clientSetup.options.breadcrumbs?.maximumBreadcrumbs ?? 100, + ), ); } - if (this.sessionFiles && this.fileSystem && options.database?.captureNativeCrashes) { + if (this.sessionFiles && this.fileSystem && clientSetup.options.database?.captureNativeCrashes) { this.addModule(FileAttributeManager, FileAttributeManager.create(this.fileSystem)); } } @@ -73,8 +67,8 @@ export class BacktraceClient extends BacktraceCoreClient { this.loadNodeCrashes().finally(() => lockId && this.sessionFiles?.unlockPreviousSessions(lockId)); } - public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { - return new BacktraceClientBuilder(options); + public static builder(options: BacktraceSetupConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder({ options }); } /** @@ -85,7 +79,7 @@ export class BacktraceClient extends BacktraceCoreClient { * @returns backtrace client */ public static initialize( - options: BacktraceConfiguration, + options: BacktraceSetupConfiguration, build?: (builder: BacktraceClientBuilder) => void, ): BacktraceClient { if (this.instance) { diff --git a/packages/node/src/BacktraceConfiguration.ts b/packages/node/src/BacktraceConfiguration.ts index 144fb87f..30dc89ee 100644 --- a/packages/node/src/BacktraceConfiguration.ts +++ b/packages/node/src/BacktraceConfiguration.ts @@ -1,5 +1,10 @@ import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace-labs/sdk-core'; import { Readable } from 'stream'; -export interface BacktraceConfiguration extends Omit { + +export interface BacktraceSetupConfiguration extends Omit { attachments?: Array | string>; } + +export interface BacktraceConfiguration extends Omit { + attachments?: BacktraceAttachment[]; +} diff --git a/packages/node/src/attachment/transformAttachments.ts b/packages/node/src/attachment/transformAttachments.ts new file mode 100644 index 00000000..8369cbe4 --- /dev/null +++ b/packages/node/src/attachment/transformAttachments.ts @@ -0,0 +1,15 @@ +import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { Readable } from 'stream'; +import { BacktraceSetupConfiguration } from '../BacktraceConfiguration'; +import { BacktraceFileAttachment } from './BacktraceFileAttachment'; + +/** + * Transform a client attachment into the attachment model. + */ +export function transformAttachment( + attachment: NonNullable[number] | BacktraceAttachment, +): BacktraceAttachment { + return typeof attachment === 'string' + ? new BacktraceFileAttachment(attachment) + : (attachment as BacktraceAttachment); +} diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index ed883259..a2ce184e 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,14 +1,6 @@ -import { - BacktraceAttachment, - BacktraceAttributeProvider, - BacktraceCoreClientBuilder, - BacktraceSessionProvider, - BreadcrumbsEventSubscriber, -} from '@backtrace-labs/sdk-core'; +import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; import { BacktraceClient } from '../BacktraceClient'; -import { BacktraceConfiguration } from '../BacktraceConfiguration'; -import { BacktraceNodeRequestHandler } from '../BacktraceNodeRequestHandler'; -import { BacktraceFileAttachment } from '../attachment'; +import { transformAttachment } from '../attachment/transformAttachments'; import { ApplicationInformationAttributeProvider, LinuxProcessStatusAttributeProvider, @@ -17,43 +9,25 @@ import { ProcessInformationAttributeProvider, ProcessStatusAttributeProvider, } from '../attributes'; -import { NodeFileSystem } from '../storage/NodeFileSystem'; +import { BacktraceClientSetup, BacktraceNodeClientSetup } from './BacktraceClientSetup'; -export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - constructor( - private readonly _options: BacktraceConfiguration, - attributeProvider: BacktraceAttributeProvider[] = [ - new ApplicationInformationAttributeProvider(), - new ProcessStatusAttributeProvider(), - new MachineAttributeProvider(), - new ProcessInformationAttributeProvider(), - new LinuxProcessStatusAttributeProvider(), - new MachineIdentitfierAttributeProvider(), - ], - breadcrumbsSubscribers: BreadcrumbsEventSubscriber[] = [], - sessionProvider?: BacktraceSessionProvider, - ) { - super(new BacktraceNodeRequestHandler(_options), attributeProvider, breadcrumbsSubscribers, sessionProvider); - } +export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + constructor(clientSetup: BacktraceNodeClientSetup) { + super({ + ...clientSetup, + options: { ...clientSetup.options, attachments: clientSetup.options.attachments?.map(transformAttachment) }, + }); - /** - * Transform client attachments into the attachment model. - * @returns attachments - */ - private transformAttachments(): BacktraceAttachment[] { - return ( - this._options.attachments?.map((n) => (typeof n === 'string' ? new BacktraceFileAttachment(n) : n)) ?? [] - ); + this.addAttributeProvider(new ApplicationInformationAttributeProvider()); + this.addAttributeProvider(new ProcessStatusAttributeProvider()); + this.addAttributeProvider(new MachineAttributeProvider()); + this.addAttributeProvider(new ProcessInformationAttributeProvider()); + this.addAttributeProvider(new LinuxProcessStatusAttributeProvider()); + this.addAttributeProvider(new MachineIdentitfierAttributeProvider()); } public build(): BacktraceClient { - const instance = new BacktraceClient( - { ...this._options, attachments: this.transformAttachments() }, - this.handler, - this.attributeProviders, - this.breadcrumbsSubscribers, - this.fileSystem ?? new NodeFileSystem(), - ); + const instance = new BacktraceClient(this.clientSetup as BacktraceNodeClientSetup); instance.initialize(); return instance; } diff --git a/packages/node/src/builder/BacktraceClientSetup.ts b/packages/node/src/builder/BacktraceClientSetup.ts new file mode 100644 index 00000000..acada10f --- /dev/null +++ b/packages/node/src/builder/BacktraceClientSetup.ts @@ -0,0 +1,8 @@ +import { PartialCoreClientSetup } from '@backtrace-labs/sdk-core'; +import { BacktraceSetupConfiguration } from '../BacktraceConfiguration'; + +export interface BacktraceClientSetup extends PartialCoreClientSetup<'sdkOptions' | 'requestHandler'> {} + +export type BacktraceNodeClientSetup = Omit & { + readonly options: BacktraceSetupConfiguration; +}; diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts index 92b72d2c..edea4a1e 100644 --- a/packages/react-native/src/BacktraceClient.ts +++ b/packages/react-native/src/BacktraceClient.ts @@ -1,4 +1,4 @@ -import { ReactStackTraceConverter } from '@backtrace-labs/react'; +import { BacktraceBrowserRequestHandler, ReactStackTraceConverter } from '@backtrace-labs/react'; import { BacktraceCoreClient, SingleSessionProvider, @@ -6,51 +6,44 @@ import { V8StackTraceConverter, VariableDebugIdMapProvider, type AttributeType, - type BacktraceAttributeProvider, - type BacktraceRequestHandler, - type BreadcrumbsEventSubscriber, type DebugIdContainer, } from '@backtrace-labs/sdk-core'; import { Platform } from 'react-native'; -import { BacktraceClientBuilder } from './BacktraceClientBuilder'; import { type BacktraceConfiguration } from './BacktraceConfiguration'; +import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; +import type { BacktraceClientSetup } from './builder/BacktraceClientSetup'; import { version } from './common/platformHelper'; import { CrashReporter } from './crashReporter/CrashReporter'; import { generateUnhandledExceptionHandler } from './handlers'; import { type ExceptionHandler } from './handlers/ExceptionHandler'; -export class BacktraceClient extends BacktraceCoreClient { + +export class BacktraceClient extends BacktraceCoreClient { private readonly crashReporter: CrashReporter = new CrashReporter(); private readonly _exceptionHandler: ExceptionHandler = generateUnhandledExceptionHandler(); public crash(): void { this.crashReporter.crash(); } - constructor( - options: BacktraceConfiguration, - requestHandler: BacktraceRequestHandler, - attributeProviders: BacktraceAttributeProvider[], - breadcrumbsEventSubscribers: BreadcrumbsEventSubscriber[], - ) { + constructor(clientSetup: BacktraceClientSetup) { super({ - options, sdkOptions: { agent: '@backtrace/react-native', agentVersion: '0.0.1', langName: 'react-native', langVersion: version(), }, - requestHandler, - attributeProviders, + requestHandler: new BacktraceBrowserRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), - breadcrumbsSetup: { - subscribers: breadcrumbsEventSubscribers, - }, stackTraceConverter: new ReactStackTraceConverter(new V8StackTraceConverter()), sessionProvider: new SingleSessionProvider(), + ...clientSetup, }); - this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); - const submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(options.url); + this.captureUnhandledErrors( + clientSetup.options.captureUnhandledErrors, + clientSetup.options.captureUnhandledPromiseRejections, + ); + const submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(clientSetup.options.url); this.crashReporter.initialize( Platform.select({ @@ -96,7 +89,7 @@ export class BacktraceClient extends BacktraceCoreClient { } public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { - return new BacktraceClientBuilder(options); + return new BacktraceClientBuilder({ options }); } /** * Initializes the client. If the client already exists, the available instance diff --git a/packages/react-native/src/BacktraceClientBuilder.ts b/packages/react-native/src/BacktraceClientBuilder.ts deleted file mode 100644 index ab640496..00000000 --- a/packages/react-native/src/BacktraceClientBuilder.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { BacktraceBrowserRequestHandler } from '@backtrace-labs/react'; -import { BacktraceCoreClientBuilder, SingleSessionProvider } from '@backtrace-labs/sdk-core'; -import { Platform } from 'react-native'; -import { NativeAttributeProvider } from './attributes/NativeAttributeProvider'; -import { ReactNativeAttributeProvider } from './attributes/ReactNativeAttributeProvider'; -import { BacktraceClient } from './BacktraceClient'; -import { type BacktraceConfiguration } from './BacktraceConfiguration'; -import { DebuggerHelper } from './common/DebuggerHelper'; - -export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { - constructor(private readonly options: BacktraceConfiguration) { - super( - new BacktraceBrowserRequestHandler(options), - [ - new ReactNativeAttributeProvider(), - ...(DebuggerHelper.isConnected() - ? [] - : Platform.select({ - ios: [ - new NativeAttributeProvider('BacktraceApplicationAttributeProvider', 'scoped'), - new NativeAttributeProvider('BacktraceDeviceAttributeProvider', 'scoped'), - new NativeAttributeProvider('BacktraceSystemAttributeProvider', 'scoped'), - new NativeAttributeProvider('BacktraceMemoryUsageAttributeProvider', 'dynamic'), - new NativeAttributeProvider('BacktraceCpuAttributeProvider', 'dynamic'), - ], - android: [ - new NativeAttributeProvider('BacktraceApplicationAttributeProvider', 'scoped'), - new NativeAttributeProvider('BacktraceDeviceAttributeProvider', 'scoped'), - new NativeAttributeProvider('BacktraceSystemAttributeProvider', 'scoped'), - new NativeAttributeProvider('MemoryInformationAttributeProvider', 'dynamic'), - new NativeAttributeProvider('ProcessAttributeProvider', 'dynamic'), - ], - default: [], - })), - ], - [], - new SingleSessionProvider(), - ); - } - public build(): BacktraceClient { - return new BacktraceClient(this.options, this.handler, this.attributeProviders, this.breadcrumbsSubscribers); - } -} diff --git a/packages/react-native/src/builder/BacktraceClientBuilder.ts b/packages/react-native/src/builder/BacktraceClientBuilder.ts new file mode 100644 index 00000000..254d39b0 --- /dev/null +++ b/packages/react-native/src/builder/BacktraceClientBuilder.ts @@ -0,0 +1,43 @@ +import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; +import { Platform } from 'react-native'; +import { BacktraceClient } from '../BacktraceClient'; +import { NativeAttributeProvider } from '../attributes/NativeAttributeProvider'; +import { ReactNativeAttributeProvider } from '../attributes/ReactNativeAttributeProvider'; +import { DebuggerHelper } from '../common/DebuggerHelper'; +import type { BacktraceClientSetup } from './BacktraceClientSetup'; + +export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + constructor(clientSetup: BacktraceClientSetup) { + super(clientSetup); + + const attributeProviders = [ + new ReactNativeAttributeProvider(), + ...(DebuggerHelper.isConnected() + ? [] + : Platform.select({ + ios: [ + new NativeAttributeProvider('BacktraceApplicationAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceDeviceAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceSystemAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceMemoryUsageAttributeProvider', 'dynamic'), + new NativeAttributeProvider('BacktraceCpuAttributeProvider', 'dynamic'), + ], + android: [ + new NativeAttributeProvider('BacktraceApplicationAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceDeviceAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceSystemAttributeProvider', 'scoped'), + new NativeAttributeProvider('MemoryInformationAttributeProvider', 'dynamic'), + new NativeAttributeProvider('ProcessAttributeProvider', 'dynamic'), + ], + default: [], + })), + ]; + + for (const provider of attributeProviders) { + this.addAttributeProvider(provider); + } + } + public build(): BacktraceClient { + return new BacktraceClient(this.clientSetup); + } +} diff --git a/packages/react-native/src/builder/BacktraceClientSetup.ts b/packages/react-native/src/builder/BacktraceClientSetup.ts new file mode 100644 index 00000000..e4c2979d --- /dev/null +++ b/packages/react-native/src/builder/BacktraceClientSetup.ts @@ -0,0 +1,5 @@ +import type { PartialCoreClientSetup } from '@backtrace-labs/sdk-core'; +import type { BacktraceConfiguration } from '../BacktraceConfiguration'; + +export interface BacktraceClientSetup + extends PartialCoreClientSetup<'sdkOptions' | 'requestHandler', BacktraceConfiguration> {} diff --git a/packages/react-native/src/index.ts b/packages/react-native/src/index.ts index 05d4b4fd..b0c0d495 100644 --- a/packages/react-native/src/index.ts +++ b/packages/react-native/src/index.ts @@ -1,4 +1,4 @@ export { BacktraceClient } from './BacktraceClient'; -export { BacktraceClientBuilder } from './BacktraceClientBuilder'; export { type BacktraceConfiguration } from './BacktraceConfiguration'; export { ErrorBoundary } from './ErrorBoundary'; +export { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index 67ad8e60..d5da2c2c 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -1,38 +1,24 @@ import { - BacktraceAttributeProvider, - BacktraceClient as BrowserClient, + BacktraceClientSetup, BacktraceConfiguration, - BacktraceRequestHandler, - BacktraceStackTraceConverter, - BreadcrumbsEventSubscriber, + BacktraceClient as BrowserClient, + getStackTraceConverter, } from '@backtrace-labs/browser'; -import { BacktraceSessionProvider, SdkOptions } from '@backtrace-labs/sdk-core'; import { AGENT } from './agentDefinition'; import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; +import { ReactStackTraceConverter } from './converters/ReactStackTraceConverter'; -export class BacktraceClient extends BrowserClient { - constructor( - options: BacktraceConfiguration, - requestHandler: BacktraceRequestHandler, - attributeProviders: BacktraceAttributeProvider[], - stackTraceConverter: BacktraceStackTraceConverter, - breadcrumbsEventSubscriber: BreadcrumbsEventSubscriber[], - sessionProvider?: BacktraceSessionProvider, - sdkOptions: SdkOptions = AGENT, - ) { - super( - options, - requestHandler, - attributeProviders, - stackTraceConverter, - breadcrumbsEventSubscriber, - sessionProvider, - sdkOptions, - ); +export class BacktraceClient extends BrowserClient { + constructor(clientSetup: BacktraceClientSetup) { + super({ + sdkOptions: AGENT, + stackTraceConverter: new ReactStackTraceConverter(getStackTraceConverter()), + ...clientSetup, + }); } public static builder(options: BacktraceConfiguration): BacktraceReactClientBuilder { - return new BacktraceReactClientBuilder(options); + return new BacktraceReactClientBuilder({ options }); } /** * Initializes the client. If the client already exists, the available instance diff --git a/packages/react/src/builder/BacktraceReactClientBuilder.ts b/packages/react/src/builder/BacktraceReactClientBuilder.ts index 0d88088e..49fc9add 100644 --- a/packages/react/src/builder/BacktraceReactClientBuilder.ts +++ b/packages/react/src/builder/BacktraceReactClientBuilder.ts @@ -1,27 +1,13 @@ -import { BacktraceClientBuilder, BacktraceConfiguration, BreadcrumbsEventSubscriber } from '@backtrace-labs/browser'; -import { BacktraceAttributeProvider, BacktraceSessionProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceClientBuilder, BacktraceClientSetup } from '@backtrace-labs/browser'; import { BacktraceClient } from '../BacktraceClient'; -import { ReactStackTraceConverter } from '../converters/ReactStackTraceConverter'; export class BacktraceReactClientBuilder extends BacktraceClientBuilder { - constructor( - options: BacktraceConfiguration, - attributeProviders?: BacktraceAttributeProvider[], - breadcrumbsSubscribers?: BreadcrumbsEventSubscriber[], - sessionProvider?: BacktraceSessionProvider, - ) { - super(options, attributeProviders, breadcrumbsSubscribers, sessionProvider); + constructor(clientSetup: BacktraceClientSetup) { + super(clientSetup); } public build(): BacktraceClient { - const instance = new BacktraceClient( - this.options, - this.handler, - this.attributeProviders, - this.stackTraceConverter ?? new ReactStackTraceConverter(this.generateStackTraceConverter()), - this.breadcrumbsSubscribers, - this.sessionProvider, - ); + const instance = new BacktraceClient(this.clientSetup); instance.initialize(); return instance; } diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 1d1e8bb2..120e5a31 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -30,7 +30,7 @@ import { MetricsBuilder } from './modules/metrics/MetricsBuilder'; import { SingleSessionProvider } from './modules/metrics/SingleSessionProvider'; import { RateLimitWatcher } from './modules/rateLimiter/RateLimitWatcher'; -export abstract class BacktraceCoreClient { +export abstract class BacktraceCoreClient { /** * Backtrace client instance */ @@ -108,9 +108,9 @@ export abstract class BacktraceCoreClient { return this._modules.get(SessionFiles); } + protected readonly options: O; protected readonly reportEvents: Events; protected readonly attributeManager: AttributeManager; - protected readonly options: BacktraceConfiguration; protected readonly fileSystem?: FileSystem; private readonly _modules: BacktraceModules = new Map(); @@ -123,42 +123,42 @@ export abstract class BacktraceCoreClient { private _enabled = false; - protected constructor(private readonly _setup: CoreClientSetup) { + protected constructor(setup: CoreClientSetup) { this.reportEvents = new Events(); - this.options = _setup.options; - this.fileSystem = _setup.fileSystem; - this._sdkOptions = _setup.sdkOptions; + this.options = setup.options; + this.fileSystem = setup.fileSystem; + this._sdkOptions = setup.sdkOptions; this._attachments = this.options.attachments ?? []; - this._sessionProvider = this._setup.sessionProvider ?? new SingleSessionProvider(); - this._reportSubmission = new BacktraceReportSubmission(this.options, this._setup.requestHandler); + this._sessionProvider = setup.sessionProvider ?? new SingleSessionProvider(); + this._reportSubmission = new BacktraceReportSubmission(this.options, setup.requestHandler); this._rateLimitWatcher = new RateLimitWatcher(this.options.rateLimit); const attributeProviders: BacktraceAttributeProvider[] = [ new ClientAttributeProvider(this.agent, this.agentVersion, this._sessionProvider.sessionId), ]; - if (this._setup.attributeProviders) { - attributeProviders.push(...this._setup.attributeProviders); + if (setup.attributeProviders) { + attributeProviders.push(...setup.attributeProviders); } - if (this._setup.options.userAttributes) { - attributeProviders.push(new UserAttributeProvider(this._setup.options.userAttributes)); + if (this.options.userAttributes) { + attributeProviders.push(new UserAttributeProvider(this.options.userAttributes)); } this.attributeManager = new AttributeManager(attributeProviders); - const stackTraceConverter = this._setup.stackTraceConverter ?? new V8StackTraceConverter(); + const stackTraceConverter = setup.stackTraceConverter ?? new V8StackTraceConverter(); this._dataBuilder = new BacktraceDataBuilder( this._sdkOptions, stackTraceConverter, this.attributeManager, - new DebugIdProvider(stackTraceConverter, this._setup.debugIdMapProvider), + new DebugIdProvider(stackTraceConverter, setup.debugIdMapProvider), ); - if (this.options?.database?.enable === true && this._setup.fileSystem) { + if (this.options?.database?.enable === true && setup.fileSystem) { const provider = BacktraceDatabaseFileStorageProvider.createIfValid( - this._setup.fileSystem, + setup.fileSystem, this.options.database, ); @@ -187,7 +187,7 @@ export abstract class BacktraceCoreClient { this.options, this._sessionProvider, this.attributeManager, - this._setup.requestHandler, + setup.requestHandler, ).build(); if (metrics) { @@ -195,7 +195,7 @@ export abstract class BacktraceCoreClient { } if (this.options.breadcrumbs?.enable !== false) { - const breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, this._setup.breadcrumbsSetup); + const breadcrumbsManager = new BreadcrumbsManager(this.options?.breadcrumbs, setup.breadcrumbsSetup); this._modules.set(BreadcrumbsManager, breadcrumbsManager); } diff --git a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts index b49fbec3..c47b8d3e 100644 --- a/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts +++ b/packages/sdk-core/src/builder/BacktraceCoreClientBuilder.ts @@ -1,51 +1,56 @@ -import { BacktraceCoreClient } from '../BacktraceCoreClient'; import { BacktraceRequestHandler } from '../model/http/BacktraceRequestHandler'; import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttributeProvider'; import { BreadcrumbsEventSubscriber } from '../modules/breadcrumbs'; import { BacktraceStackTraceConverter } from '../modules/converter'; import { BacktraceSessionProvider } from '../modules/metrics/BacktraceSessionProvider'; import { FileSystem } from '../modules/storage'; +import { CoreClientSetup } from './CoreClientSetup'; -export abstract class BacktraceCoreClientBuilder { - protected stackTraceConverter?: BacktraceStackTraceConverter; - protected fileSystem?: FileSystem; +type Writeable = { -readonly [P in keyof T]: T[P] }; - constructor( - protected handler: BacktraceRequestHandler, - protected readonly attributeProviders: BacktraceAttributeProvider[] = [], - protected readonly breadcrumbsSubscribers: BreadcrumbsEventSubscriber[] = [], - protected sessionProvider?: BacktraceSessionProvider, - ) {} +export abstract class BacktraceCoreClientBuilder = Partial> { + constructor(protected readonly clientSetup: Writeable) {} public addAttributeProvider(provider: BacktraceAttributeProvider) { - this.attributeProviders.push(provider); + if (!this.clientSetup.attributeProviders) { + this.clientSetup.attributeProviders = [provider]; + } else { + this.clientSetup.attributeProviders.push(provider); + } return this; } public useBreadcrumbSubscriber(breadcrumbSubscriber: BreadcrumbsEventSubscriber): this { - this.breadcrumbsSubscribers.push(breadcrumbSubscriber); + if (!this.clientSetup.breadcrumbsSetup) { + this.clientSetup.breadcrumbsSetup = {}; + } + + if (!this.clientSetup.breadcrumbsSetup.subscribers) { + this.clientSetup.breadcrumbsSetup.subscribers = [breadcrumbSubscriber]; + } else { + this.clientSetup.breadcrumbsSetup.subscribers.push(breadcrumbSubscriber); + } + return this; } public useSessionProvider(sessionProvider: BacktraceSessionProvider): this { - this.sessionProvider = sessionProvider; + this.clientSetup.sessionProvider = sessionProvider; return this; } public useRequestHandler(handler: BacktraceRequestHandler): this { - this.handler = handler; + this.clientSetup.requestHandler = handler; return this; } public useStackTraceConverter(stackTraceConverter: BacktraceStackTraceConverter): this { - this.stackTraceConverter = stackTraceConverter; + this.clientSetup.stackTraceConverter = stackTraceConverter; return this; } public useFileSystem(fileSystem: FileSystem): this { - this.fileSystem = fileSystem; + this.clientSetup.fileSystem = fileSystem; return this; } - - public abstract build(): T; } diff --git a/packages/sdk-core/src/builder/CoreClientSetup.ts b/packages/sdk-core/src/builder/CoreClientSetup.ts index 7c96c11b..5d6df100 100644 --- a/packages/sdk-core/src/builder/CoreClientSetup.ts +++ b/packages/sdk-core/src/builder/CoreClientSetup.ts @@ -8,11 +8,16 @@ import { FileSystem } from '../modules/storage'; import { DebugIdMapProvider } from '../sourcemaps'; import { SdkOptions } from './SdkOptions'; -export interface CoreClientSetup { - readonly options: BacktraceConfiguration; +export type PartialCoreClientSetup< + K extends keyof CoreClientSetup, + O extends BacktraceConfiguration = BacktraceConfiguration, +> = Omit, K> & Partial, K>>; + +export interface CoreClientSetup { + readonly options: O; readonly sdkOptions: SdkOptions; readonly requestHandler: BacktraceRequestHandler; - readonly attributeProviders: BacktraceAttributeProvider[]; + readonly attributeProviders?: BacktraceAttributeProvider[]; readonly stackTraceConverter?: BacktraceStackTraceConverter; readonly sessionProvider?: BacktraceSessionProvider; readonly debugIdMapProvider?: DebugIdMapProvider; diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 98672897..59cf05d2 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -1,5 +1,6 @@ export * from './BacktraceCoreClient'; export * from './builder/BacktraceCoreClientBuilder'; +export * from './builder/CoreClientSetup'; export * from './builder/SdkOptions'; export * from './common/IdGenerator'; export * from './common/TimeHelper'; From a295c168bad6bc4faeb680d5fecc4d16c6d6925b Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 16 Oct 2023 12:47:59 +0200 Subject: [PATCH 210/291] sdk-core: version 0.0.6 (#168) Co-authored-by: Sebastian Alex --- package-lock.json | 16 ++++++++-------- packages/browser/package.json | 2 +- packages/node/package.json | 2 +- packages/react-native/package.json | 2 +- packages/react/package.json | 2 +- packages/sdk-core/CHANGELOG.md | 26 ++++++++++++++++++++++++++ packages/sdk-core/package.json | 2 +- 7 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 packages/sdk-core/CHANGELOG.md diff --git a/package-lock.json b/package-lock.json index d61e25a9..b9c23a88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13947,7 +13947,7 @@ "version": "0.0.5", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -13998,7 +13998,7 @@ "version": "0.0.4", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -14022,7 +14022,7 @@ "license": "MIT", "dependencies": { "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5" + "@backtrace-labs/sdk-core": "^0.0.6" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -14045,7 +14045,7 @@ "license": "MIT", "dependencies": { "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5" + "@backtrace-labs/sdk-core": "^0.0.6" }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", @@ -25714,7 +25714,7 @@ "@backtrace-labs/browser": { "version": "file:packages/browser", "requires": { - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", @@ -25768,7 +25768,7 @@ "@backtrace-labs/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -25785,7 +25785,7 @@ "version": "file:packages/react", "requires": { "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", @@ -25801,7 +25801,7 @@ "version": "file:packages/react-native", "requires": { "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "@react-native-community/eslint-config": "^3.0.2", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", diff --git a/packages/browser/package.json b/packages/browser/package.json index 72d53342..e8e0b9c6 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "ua-parser-js": "^1.0.35" } } diff --git a/packages/node/package.json b/packages/node/package.json index 34ddd479..007cf02e 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 0cb6c0a2..62ce9bca 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -93,6 +93,6 @@ }, "dependencies": { "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5" + "@backtrace-labs/sdk-core": "^0.0.6" } } diff --git a/packages/react/package.json b/packages/react/package.json index 1193eabd..aa54f942 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5" + "@backtrace-labs/sdk-core": "^0.0.6" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md new file mode 100644 index 00000000..59940d49 --- /dev/null +++ b/packages/sdk-core/CHANGELOG.md @@ -0,0 +1,26 @@ +# Version 0.0.6 + +- add methods to `BacktraceBreadcrumbs` interface and limit `BacktraceManager` visibility + +# Version 0.0.5 + +- add file system abstractions +- add support for `bigint` serialization + +# Version 0.0.4 + +- combine `Error` and `string` overloads in `send` +- use single global client instance + +# Version 0.0.3 + +- add deferred user attributes +- fix skipping stack frame with message reports + +# Version 0.0.2 + +- add disposing of `BacktraceClient` + +# Version 0.0.1 + +Initial release. diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index d7ad8ef1..bfb748d8 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sdk-core", - "version": "0.0.5", + "version": "0.0.6", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From f26a7badc42452ce703bc84859d6f39866211d93 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 16 Oct 2023 12:50:51 +0200 Subject: [PATCH 211/291] node: version 0.0.5 (#169) Co-authored-by: Sebastian Alex --- package-lock.json | 6 +++--- packages/nestjs/package.json | 2 +- packages/node/CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ packages/node/package.json | 2 +- 4 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 packages/node/CHANGELOG.md diff --git a/package-lock.json b/package-lock.json index b9c23a88..9614eab9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13968,7 +13968,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "^0.0.4" + "@backtrace-labs/node": "^0.0.5" }, "devDependencies": { "@nestjs/core": "^9", @@ -13995,7 +13995,7 @@ }, "packages/node": { "name": "@backtrace-labs/node", - "version": "0.0.4", + "version": "0.0.5", "license": "MIT", "dependencies": { "@backtrace-labs/sdk-core": "^0.0.6", @@ -25748,7 +25748,7 @@ "@backtrace-labs/nestjs": { "version": "file:packages/nestjs", "requires": { - "@backtrace-labs/node": "^0.0.4", + "@backtrace-labs/node": "^0.0.5", "@nestjs/core": "^9", "@nestjs/platform-express": "^9", "@nestjs/testing": "^9", diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index d11bbcaf..2369a949 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -57,7 +57,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/node": "^0.0.4" + "@backtrace-labs/node": "^0.0.5" }, "peerDependencies": { "@nestjs/common": "^9" diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md new file mode 100644 index 00000000..05156e54 --- /dev/null +++ b/packages/node/CHANGELOG.md @@ -0,0 +1,30 @@ +# Version 0.0.5 + +- update `@backtrace-labs/sdk-core` to `0.0.6` +- add breadcrumbs from previous session in database +- add attributes from previous session in native crashes +- add methods to `BacktraceBreadcrumbs` interface and limit `BacktraceManager` visibility +- add file system abstractions +- add support for `bigint` serialization + +# Version 0.0.4 + +- update `@backtrace-labs/sdk-core` to `0.0.4` +- update attachment management to use `addAttachment` instead of a mutable array +- combine `Error` and `string` overloads in `send` +- use single global client instance + +# Version 0.0.3 + +- update `@backtrace-labs/sdk-core` to `0.0.3` +- add deferred user attributes +- fix skipping stack frame with message reports + +# Version 0.0.2 + +- update `@backtrace-labs/sdk-core` to `0.0.2` +- add disposing of `BacktraceClient` + +# Version 0.0.1 + +Initial release. diff --git a/packages/node/package.json b/packages/node/package.json index 007cf02e..2d832f23 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/node", - "version": "0.0.4", + "version": "0.0.5", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 65846c7d99ab66b1dee4f28ec8429e73dca68edd Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 16 Oct 2023 12:51:10 +0200 Subject: [PATCH 212/291] nestjs: version 0.0.1 (#171) * nestjs: version 0.0.1 --------- Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/nestjs/CHANGELOG.md | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 packages/nestjs/CHANGELOG.md diff --git a/package-lock.json b/package-lock.json index 9614eab9..52aab03f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13965,7 +13965,7 @@ }, "packages/nestjs": { "name": "@backtrace-labs/nestjs", - "version": "0.0.1", + "version": "0.0.2", "license": "MIT", "dependencies": { "@backtrace-labs/node": "^0.0.5" diff --git a/packages/nestjs/CHANGELOG.md b/packages/nestjs/CHANGELOG.md new file mode 100644 index 00000000..1279c11f --- /dev/null +++ b/packages/nestjs/CHANGELOG.md @@ -0,0 +1,3 @@ +# Version 0.0.1 + +Initial release. From edc408544530dfd51fe674c118c8b959a8afb14d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 16 Oct 2023 14:36:05 +0200 Subject: [PATCH 213/291] sdk-core: remove const from Events for tsc <5 compatibility (#175) Co-authored-by: Sebastian Alex --- packages/sdk-core/src/common/Events.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk-core/src/common/Events.ts b/packages/sdk-core/src/common/Events.ts index c607c6e8..386b0989 100644 --- a/packages/sdk-core/src/common/Events.ts +++ b/packages/sdk-core/src/common/Events.ts @@ -5,7 +5,7 @@ interface EventCallback { } export class Events< - const E extends Record unknown> = Record< + E extends Record unknown> = Record< string | number | symbol, (...args: any[]) => unknown >, From 0e65316ef642871ccdaed6f1c78ef8fda64f3da1 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 16 Oct 2023 16:53:13 +0200 Subject: [PATCH 214/291] cli: test and upload improvements (#179) * cli: move stripping content out of uploading * cli: (hopefully) fix random upload test failures * sourcemap tools: fix tests --------- Co-authored-by: Sebastian Alex --- tools/cli/src/sourcemaps/run.ts | 11 +++---- tools/cli/src/sourcemaps/upload.ts | 31 ++++++++++--------- tools/sourcemap-tools/src/ZipArchive.ts | 15 +++------ .../src/commands/loadSourceMaps.ts | 2 +- .../src/commands/uploadArchive.ts | 2 +- .../sourcemap-tools/tests/ZipArchive.spec.ts | 2 +- 6 files changed, 29 insertions(+), 34 deletions(-) diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 0d5f4ee2..6f19616b 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -22,6 +22,7 @@ import { not, pass, pipe, + stripSourcesContent, } from '@backtrace-labs/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; @@ -285,13 +286,8 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com ? await uploadOrSaveAssets( uploadUrl, uploadOptions.output, - (url) => - uploadAssets( - url, - { ignoreSsl: uploadOptions.insecure ?? false }, - uploadOptions['include-sources'] ?? false, - ), - (path) => flow(saveAssets(path, uploadOptions['include-sources'] ?? false), Ok), + (url) => uploadAssets(url, { ignoreSsl: uploadOptions.insecure ?? false }), + (path) => flow(saveAssets(path), Ok), ) : Ok(undefined); @@ -330,6 +326,7 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process'), R.map(uniqueBy((asset) => asset.content.debugId)), + R.map(opts['include-sources'] ? pass : map(stripSourcesContent)), R.map((assets) => uploadOptions['dry-run'] ? Ok({ rxid: '' }) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 0a4b0bbb..31f05896 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -243,8 +243,8 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command const saveArchiveCommandResult = await uploadOrSaveAssets( uploadUrl, opts.output, - (url) => uploadAssets(url, { ignoreSsl: opts.insecure ?? false }, opts['include-sources'] ?? false), - (path) => flow(saveAssets(path, opts['include-sources'] ?? false), Ok), + (url) => uploadAssets(url, { ignoreSsl: opts.insecure ?? false }), + (path) => flow(saveAssets(path), Ok), ); if (saveArchiveCommandResult.isErr()) { @@ -279,6 +279,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command : failIfEmpty('no processed sourcemaps found, make sure to run process first'), ), R.map(uniqueBy((asset) => asset.content.debugId)), + R.map(opts['include-sources'] ? pass : map(stripSourcesContent)), R.map((assets) => opts['dry-run'] ? Ok({ @@ -320,30 +321,29 @@ export function uploadOrSaveAssets( } } -export function uploadAssets(uploadUrl: string, options: SymbolUploaderOptions, includeSources: boolean) { +export function uploadAssets(uploadUrl: string, options: SymbolUploaderOptions) { const uploader = new SymbolUploader(uploadUrl, options); return function uploadAssets( assets: AssetWithContent[], ): ResultPromise { const { request, promise } = uploader.createUploadRequest(); - return pipe(request, pipeAssets(assets, includeSources), () => promise); + return pipe(request, pipeAssets(assets), () => promise); }; } -export function saveAssets(outputPath: string, includeSources: boolean) { - return async function saveAssets(assets: AssetWithContent[]): Promise { +export function saveAssets(outputPath: string) { + return function saveAssets(assets: AssetWithContent[]): Promise { const stream = fs.createWriteStream(outputPath); - - return pipe(stream, pipeAssets(assets, includeSources), () => ({ rxid: outputPath } as UploadResult)); + return pipe(stream, pipeAssets(assets), () => ({ rxid: outputPath } as UploadResult)); }; } -function pipeAssets(assets: AssetWithContent[], includeSources: boolean) { - function appendToArchive(asset: AssetWithContent) { - return function appendToArchive(archive: ZipArchive) { +function pipeAssets(assets: AssetWithContent[]) { + function appendToArchive(archive: ZipArchive) { + return function appendToArchive(asset: AssetWithContent) { const filename = `${asset.content.debugId}-${path.basename(asset.name)}`; - archive.append(filename, JSON.stringify(includeSources ? asset.content : stripSourcesContent(asset))); + archive.append(filename, JSON.stringify(asset.content)); return archive; }; } @@ -351,11 +351,14 @@ function pipeAssets(assets: AssetWithContent[], include return function pipeAssets(writable: Writable) { const archive = new ZipArchive(); + const waitForFinish = new Promise((resolve, reject) => writable.on('finish', resolve).on('error', reject)); + return pipe( writable, - pipeStream(archive), - () => assets.map(appendToArchive).map((fn) => fn(archive)), + pipeStream(archive.stream), + () => assets.map(appendToArchive(archive)), () => archive.finalize(), + () => waitForFinish, ); }; } diff --git a/tools/sourcemap-tools/src/ZipArchive.ts b/tools/sourcemap-tools/src/ZipArchive.ts index b722a328..a0039042 100644 --- a/tools/sourcemap-tools/src/ZipArchive.ts +++ b/tools/sourcemap-tools/src/ZipArchive.ts @@ -13,6 +13,10 @@ export class ZipArchive { this._pack.pipe(this._gz); } + public get stream() { + return this._gz; + } + public append(name: string, sourceMap: string) { this._pack.entry({ name }, sourceMap); return this; @@ -22,17 +26,8 @@ export class ZipArchive { this._pack.finalize(); return new Promise((resolve, reject) => { - this._gz.on('close', () => resolve(this)); + this._gz.on('finish', () => resolve(this)); this._gz.on('error', reject); }); } - - public on(event: string, listener: (...args: unknown[]) => void): this { - this._pack.on(event, listener); - return this; - } - - public pipe(destination: T, options?: { end?: boolean }): T { - return this._gz.pipe(destination, options); - } } diff --git a/tools/sourcemap-tools/src/commands/loadSourceMaps.ts b/tools/sourcemap-tools/src/commands/loadSourceMaps.ts index 17a66d2e..ac0ac405 100644 --- a/tools/sourcemap-tools/src/commands/loadSourceMaps.ts +++ b/tools/sourcemap-tools/src/commands/loadSourceMaps.ts @@ -13,7 +13,7 @@ export function loadSourceMap(asset: Asset) { ); } -export function stripSourcesContent(asset: AssetWithContent): AssetWithContent { +export function stripSourcesContent>(asset: T): T { return { ...asset, content: { diff --git a/tools/sourcemap-tools/src/commands/uploadArchive.ts b/tools/sourcemap-tools/src/commands/uploadArchive.ts index 07bfe073..f4fdf781 100644 --- a/tools/sourcemap-tools/src/commands/uploadArchive.ts +++ b/tools/sourcemap-tools/src/commands/uploadArchive.ts @@ -3,6 +3,6 @@ import { ZipArchive } from '../ZipArchive'; export function uploadArchive(symbolUploader: SymbolUploader) { return function uploadArchive(archive: ZipArchive) { - return symbolUploader.uploadSymbol(archive); + return symbolUploader.uploadSymbol(archive.stream); }; } diff --git a/tools/sourcemap-tools/tests/ZipArchive.spec.ts b/tools/sourcemap-tools/tests/ZipArchive.spec.ts index 1e9db561..2a8de7fb 100644 --- a/tools/sourcemap-tools/tests/ZipArchive.spec.ts +++ b/tools/sourcemap-tools/tests/ZipArchive.spec.ts @@ -20,7 +20,7 @@ describe('ZipArchive', () => { it('should create a zip archive', async () => { const archive = new ZipArchive(); const outputStream = fs.createWriteStream(outputFile); - archive.pipe(outputStream); + archive.stream.pipe(outputStream); const entries = [ ['entry1', 'entry1Data'], From b4c5c30e75991bc028c37fd864cb0db7fc78d03d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 17 Oct 2023 14:17:03 +0200 Subject: [PATCH 215/291] sdk-core: version 0.0.7 (#181) Co-authored-by: Sebastian Alex --- package-lock.json | 46 ++++++++++++++++++++++++++++++++++ packages/sdk-core/CHANGELOG.md | 4 +++ packages/sdk-core/package.json | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 52aab03f..1fe7b178 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13963,6 +13963,11 @@ "webpack-cli": "^5.1.4" } }, + "packages/browser/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + }, "packages/nestjs": { "name": "@backtrace-labs/nestjs", "version": "0.0.2", @@ -14016,6 +14021,11 @@ "node": ">=14" } }, + "packages/node/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + }, "packages/react": { "name": "@backtrace-labs/react", "version": "0.0.5", @@ -16050,6 +16060,11 @@ "node": ">=6.9.0" } }, + "packages/react-native/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + }, "packages/react-native/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -25157,6 +25172,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "packages/react/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", "version": "0.0.6", @@ -25726,6 +25746,13 @@ "ua-parser-js": "^1.0.35", "webpack": "^5.87.0", "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + } } }, "@backtrace-labs/javascript-cli": { @@ -25779,6 +25806,13 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" + }, + "dependencies": { + "@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + } } }, "@backtrace-labs/react": { @@ -25795,6 +25829,13 @@ "typescript": "^5.0.4", "webpack": "^5.88.2", "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + } } }, "@backtrace-labs/react-native": { @@ -26986,6 +27027,11 @@ "to-fast-properties": "^2.0.0" } }, + "@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md index 59940d49..f7f9ac5c 100644 --- a/packages/sdk-core/CHANGELOG.md +++ b/packages/sdk-core/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.0.7 + +- remove `const` from types for Typescript <5 compatibility + # Version 0.0.6 - add methods to `BacktraceBreadcrumbs` interface and limit `BacktraceManager` visibility diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index bfb748d8..ca356ef4 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/sdk-core", - "version": "0.0.6", + "version": "0.0.7", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From e609c8e6849ea3553f3dac729b7d71b6ecda5228 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 17 Oct 2023 15:45:30 +0200 Subject: [PATCH 216/291] browser, node, react, react-native: update sdk-core dependency --- packages/browser/package.json | 2 +- packages/node/package.json | 2 +- packages/react-native/package.json | 2 +- packages/react/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/browser/package.json b/packages/browser/package.json index e8e0b9c6..b3226453 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "ua-parser-js": "^1.0.35" } } diff --git a/packages/node/package.json b/packages/node/package.json index 2d832f23..3b5a7767 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 62ce9bca..2d034247 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -93,6 +93,6 @@ }, "dependencies": { "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace-labs/sdk-core": "^0.0.7" } } diff --git a/packages/react/package.json b/packages/react/package.json index aa54f942..79b92bb2 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace-labs/sdk-core": "^0.0.7" }, "peerDependencies": { "react": ">=16.8.0" From 344c42a45bfca5ba434dd60bd41e174a63d6c97f Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 18 Oct 2023 10:39:39 +0200 Subject: [PATCH 217/291] node: version 0.0.6 (#183) Co-authored-by: Sebastian Alex --- package-lock.json | 103 +++++++++++++++++-------------------- packages/node/CHANGELOG.md | 5 ++ packages/node/package.json | 2 +- 3 files changed, 52 insertions(+), 58 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1fe7b178..7c030c04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13947,7 +13947,7 @@ "version": "0.0.5", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -13963,14 +13963,9 @@ "webpack-cli": "^5.1.4" } }, - "packages/browser/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - }, "packages/nestjs": { "name": "@backtrace-labs/nestjs", - "version": "0.0.2", + "version": "0.0.1", "license": "MIT", "dependencies": { "@backtrace-labs/node": "^0.0.5" @@ -13998,12 +13993,30 @@ "@nestjs/common": "^9" } }, + "packages/nestjs/node_modules/@backtrace-labs/node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@backtrace-labs/node/-/node-0.0.5.tgz", + "integrity": "sha512-SSlWrxCTklOYYYTOj3dg5RBSI1pdVFMsS1VGTcwSN0au8GCq87wIg6NRHZ7XfvvV/HRefrZ+H1qBLQpq+WmI1g==", + "dependencies": { + "@backtrace-labs/sdk-core": "^0.0.6", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + }, + "engines": { + "node": ">=14" + } + }, + "packages/nestjs/node_modules/@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + }, "packages/node": { "name": "@backtrace-labs/node", - "version": "0.0.5", + "version": "0.0.6", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -14021,18 +14034,13 @@ "node": ">=14" } }, - "packages/node/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - }, "packages/react": { "name": "@backtrace-labs/react", "version": "0.0.5", "license": "MIT", "dependencies": { "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace-labs/sdk-core": "^0.0.7" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -14055,7 +14063,7 @@ "license": "MIT", "dependencies": { "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace-labs/sdk-core": "^0.0.7" }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", @@ -16060,11 +16068,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - }, "packages/react-native/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -25172,14 +25175,9 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", - "version": "0.0.6", + "version": "0.0.7", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", @@ -25734,7 +25732,7 @@ "@backtrace-labs/browser": { "version": "file:packages/browser", "requires": { - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", @@ -25746,13 +25744,6 @@ "ua-parser-js": "^1.0.35", "webpack": "^5.87.0", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - } } }, "@backtrace-labs/javascript-cli": { @@ -25790,12 +25781,29 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" + }, + "dependencies": { + "@backtrace-labs/node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@backtrace-labs/node/-/node-0.0.5.tgz", + "integrity": "sha512-SSlWrxCTklOYYYTOj3dg5RBSI1pdVFMsS1VGTcwSN0au8GCq87wIg6NRHZ7XfvvV/HRefrZ+H1qBLQpq+WmI1g==", + "requires": { + "@backtrace-labs/sdk-core": "^0.0.6", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + } + }, + "@backtrace-labs/sdk-core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", + "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" + } } }, "@backtrace-labs/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -25806,20 +25814,13 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" - }, - "dependencies": { - "@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - } } }, "@backtrace-labs/react": { "version": "file:packages/react", "requires": { "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", @@ -25829,20 +25830,13 @@ "typescript": "^5.0.4", "webpack": "^5.88.2", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - } } }, "@backtrace-labs/react-native": { "version": "file:packages/react-native", "requires": { "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7", "@react-native-community/eslint-config": "^3.0.2", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", @@ -27027,11 +27021,6 @@ "to-fast-properties": "^2.0.0" } }, - "@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 05156e54..79043d3f 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,3 +1,8 @@ +# Version 0.0.6 + +- update `@backtrace-labs/sdk-core` to `0.0.7` +- remove `const` from types for Typescript <5 compatibility + # Version 0.0.5 - update `@backtrace-labs/sdk-core` to `0.0.6` diff --git a/packages/node/package.json b/packages/node/package.json index 3b5a7767..b20dcaff 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace-labs/node", - "version": "0.0.5", + "version": "0.0.6", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 401ce8c70bc026470b8bdd4b3b9f93ff1353440c Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 18 Oct 2023 10:41:01 +0200 Subject: [PATCH 218/291] nestjs: update node dependency to 0.0.6 --- packages/nestjs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 2369a949..22806c8e 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -57,7 +57,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/node": "^0.0.5" + "@backtrace-labs/node": "^0.0.6" }, "peerDependencies": { "@nestjs/common": "^9" From 812b7e10f321dde47cf6abb99edf320420679ec9 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 18 Oct 2023 14:17:30 +0200 Subject: [PATCH 219/291] BT-734: React native readme --- packages/react-native/README.md | 408 +++++++++++++++++++++++++++++++- 1 file changed, 406 insertions(+), 2 deletions(-) diff --git a/packages/react-native/README.md b/packages/react-native/README.md index 27188fde..a0312502 100644 --- a/packages/react-native/README.md +++ b/packages/react-native/README.md @@ -1,7 +1,411 @@ -# **Backtrace React SDK** +# **Backtrace React-Native SDK** [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/react-bative](#) SDK connects your React-native application to Backtrace. The basic integration is +The [@backtrace-labs/react-native](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and easy, after which you can explore the rich set of Backtrace features. + +## Table of Contents + +1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Install the package](#install-the-package) + - [Integrate the SDK](#integrate-the-sdk) + - [Upload source maps](#upload-source-maps) +1. [Error Reporting Features](#error-reporting-features) + - [Attributes](#attributes) + - [File Attachments](#file-attachments) + - [Breadcrumbs](#breadcrumbs) + - [Application Stability Metrics](#application-stability-metrics) + - [Metrics Configuration](#metrics-configuration) + - [Metrics Usage](#metrics-usage) + - [Offline Database support](#offline-database-support) + - [Database Configuration](#database-configuration) + - [Native crash support](#native-crash-support) + - [Manual database operations](#manual-database-operations) +1. [Advanced SDK Features](#advanced-sdk-features) + - [Manually send an error](#manually-send-an-error) + - [BacktraceClient](#backtraceclient) + - [BacktraceClientOptions](#backtraceclientoptions) + - [BacktraceClient Methods](#backtraceclient-methods) + - [BacktraceDatabase Methods](#backtracedatabase-methods) + - [BacktraceReports](#backtracereport) + +## Basic Integration + +### Install the package + +``` +$ npm install @backtrace-labs/react-native +``` + +On iOS, do not forget about installing cocoa pods + +``` +$ cd ios +$ pod install +``` + +### Integrate the SDK + +Add the following code to your application before all other scripts to report react-native errors to Backtrace. + +```ts +// Import the BacktraceClient from @backtrace-labs/react-native with your favorite package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react-native'; + +// Configure client options +const options: BacktraceConfiguration = { + // Submission url + // is the subdomain of your Backtrace instance (.backtrace.io) + // can be found in Project Settings/Submission tokens + url: 'https://submit.backtrace.io///json', + database: { + enable: true, + captureNativeCrashes: true, + createDatabaseDirectory: true, + path: `${BacktraceClient.applicationDataPath}/backtrace`, + }, +}; + +// Initialize the client with the options +const client = BacktraceClient.initialize(options); + +// By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections + +// Manually send an error +client.send(new Error('Something broke!')); +``` + +### Upload source maps + +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to +your original source identifiers. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + + + +## Error Reporting Features + +### Attributes + +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, +sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of +the advanced Backtrace features detailed in +[Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). By default attributes such +as application name and version are populated automatically. If Backtrace cannot find them, you need to provide them +manually via userAttributes attributes. + +There are several places where attributes can be added, modified or deleted. + +#### Attach attributes object to BacktraceClient + +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of +attributes will be included with every error report, referred to as global attributes. + +```ts +// Create an attributes object that can be modified throughout runtime +const attributes: Record = { + release: 'PROD', +}; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: attributes, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +You can also include attributes that will be resolved when creating a report: + +```ts +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: () => ({ + attribute: getAttributeValue(), + }), +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Add attributes during application runtime + +Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute({ + "clientID": "de6faf4d-d5b5-486c-9789-318f58a14476" +}) +``` + +You can also add attributes that will be resolved when creating a report: + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute(() => ({ + "clientID": resolveCurrentClientId() +})) +``` + +#### Add attributes to an error report + +The attributes list of a BacktraceReport object can be directly modified. + +```ts +const report: BacktraceReport = new BacktraceReport('My error message', { myReportKey: 'myValue' }); +report.attributes['myReportKey'] = 'New value'; +``` + +--- + +### File Attachments + +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the +BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be +uploaded with each report. + +```ts +// Import attachment types from @backtrace-labs/react-native +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/react-native"; + +// BacktraceStringAttachment should be used for text object like a log file, for example +const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") + + +// BacktraceClientOptions +const options = { + url: "https://submit.backtrace.io///json", + + // Attach the files to all reports + attachments: [stringAttachment], +} + +const client = BacktraceClient.initialize(options); + +// Later decide to add an attachment to all reports +client.addAttachment(stringAttachment) + +// After catching an exception and generating a report +try { + throw new Error("Caught exception!") +} catch (error) { + const report = const report = new BacktraceReport(error, {}, [stringAttachment]) + client.send(report); +} +``` + +--- + +### Breadcrumbs + +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, +and manual breadcrumbs can also be added. + +[(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) + +#### Breadcrumbs Configuration + +| Option Name | Type | Description | Default | Required? | +| -------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
        • - [ ]
        | +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
        • - [ ]
        | +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
        • - [ ]
        | +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
        • - [ ]
        | +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | + +```ts +import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react-native'; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // ignoring all but breadcrumbs config for simplicity + breadcrumbs: { + // breadcrumbs configuration + }, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Default Breadcrumbs + +| Type | Description | +| ------- | ------------------------------------------------------------------------ | +| Console | Adds a breadcrumb every time console log is being used by the developer. | + +#### Intercepting Breadcrumbs + +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter +out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no +breadcrumb will be added. + +#### Manual Breadcrumbs + +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of +your own. + +```ts +client.breadcrumbs?.info('This is a manual breadcrumb.', { + customAttr: 'wow!', +}); +``` + +--- + +### Application Stability Metrics + +The Backtrace react-native SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. + +[(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) + +#### Metrics Configuration + +| Option Name | Type | Description | Default | Required? | +| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------ | +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
        • - [ ]
        | +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
        • - [ ]
        | +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
        • - [ ]
        | +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
        • - [ ]
        | + +#### Metrics Usage + +```ts +// metrics will be undefined if not enabled +client.metrics?.send(); +``` + +--- + +### Offline database support + +The Backtrace react-native SDK can cache generated reports and crashes to local disk before sending them to Backtrace. +This is recommended; in certain configurations react-native applications can crash before the SDK finishes submitting +data, and under slow internet conditions your application might wait in a closing window until the HTTP submission +finishes. In such an event occurs cached reports will be sent on next application launch. + +With offline database support you can: + +- cache your reports when the user doesn't have Internet connection or the service is unavailable, +- capture crashes, +- manually decide when to send them or not. + +By default the offline database support is disabled. To enable it, please add "enable: true" and the path to the +directory where Backtrace can store crash data. + +```ts +const client = BacktraceClient.initialize({ + // ignoring all but database config for simplicity + database: { + enable: true, + path: `${BacktraceClient.applicationDataPath}/path/to/dir`, + captureNativeCrashes: true, + }, +}); + +// manually send and keep the data on connection issue +client.database.send(); +// manually send and remove all data no matter if received success or not. +client.database.flush(); +``` + +Backtrace client exposes a method `applicationDataPath` that can help you with path creation to your database directory. +The helper returns: + +- on Android: path to the files directory available in the application context, +- on iOS: Path to the application cache directory + +#### Database Configuration + +| Option Name | Type | Description | Default | Required? | +| ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | +| `enabled` | Boolean | Enable/disable offline database support. | false |
        • - [x]
        | +| `path` | String | Local storage path for crash data. | - |
        • - [x]
        | +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory.. | true | +| `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | +| `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | +| `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | +| `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | +| `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | + +--- + +#### Native crash support + +The Backtrace React-Native SDK can capture crashes generated in the native layer. Those crashes cannot be captured on +the JavaScript side by using any kind of helpers. In order to collect them, the SDK uses native crash reporting +solutions available in the package. On Android, all native crashes from the NDK layer will be send in the same +application session (from the separated application process). Java exceptions and iOS crashes will be available after +the application restart. All crashes and reports send after application restart are stored in the database directory. +Attributes set by user and file attachments should be also uploaded by native crash reporting solution. In-memory +attachments such as string attachment, are not supported. You cannot also apply any managed layer (JavaScript) callbacks +to filter, modify crashes before send. + +#### Manual database operations + +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually +operate on database records. Options are detailed in [BacktraceDatabase Methods](#backtracedatabase-methods). + +## Advanced SDK Features + +### Manually send an error + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` + +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and +send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from +exceptions and rejection handlers. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | From 57ee99b4a3bd2edd41e5c2f9c10a3f8559b60830 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 18 Oct 2023 14:22:10 +0200 Subject: [PATCH 220/291] react-native: android database support (#164) * React native support * React native support * react-native: externalize react packages * react: externalize react package * browser: fix invalid type in XMLHttpRequest open override * React backtrace client * React-native library * Repair package-lock and remove unnecessary packages * React native demo * React native debugging task * Builder Api improvements * Export single session provider * React native react integration via builder * Path to the react library * Path to the react library * Dev updates * React demo * React example app * React native api improvements * Do not use multipart content type * Dependency update * update package-lock * Update package-lock.json * Basic attributes * Update demo with symlinks * Native attributes Android * Clean up the branch * Squashed commit of the following: commit 9d76c4741b4c9a3d41dfcb78b65aec0151725783 Author: Konrad Dysput Date: Mon Sep 4 18:01:30 2023 +0200 Source map 0.0.3 release (#122) commit c5b6dbd61bcc0be9af78971986a0f9909de18e2a Author: Sebastian Alex Date: Mon Sep 4 15:55:04 2023 +0000 cli: fix missing sourcesContent after addSources commit f39a3cfde6217dcdddf12bd49f16b51442aa77c8 Author: Konrad Dysput Date: Mon Sep 4 17:03:35 2023 +0200 Source map tools 0.0.2 (#120) * Source map tools 0.0.2 * Release: CLI 0.0.2 (#121) * Release: CLI 0.0.2 * fix sourcemap-tools dependeny in plugins * fix sourcemap-tools tar-stream dependency --------- Co-authored-by: Sebastian Alex --------- Co-authored-by: Sebastian Alex commit 87803544e3e475f1573cbea16e9a6120c006496e Author: Sebastian Alex Date: Mon Sep 4 11:17:39 2023 +0200 cli: add possibility of specifying source files for upload and add-sources (#118) Co-authored-by: Sebastian Alex commit 5327496f108edb485669992c78d5c68d29acb9dd Author: Sebastian Alex Date: Fri Sep 1 21:47:08 2023 +0200 cli: add `run` command executing everything in one go (#117) * cli: removes 'this' from execute function * cli: consolidate execute args into context * cli: extract command functions to separate functions * cli: cache loaded options in memory * cli: add logger to CommandContext, allow for returning other type than number in execute * sourcemap tools: add getting source map path function to SourceProcessor * cli: add logger prefix option * cli: change subcommand functions to not print output by themselves * cli: add run command which executes everything * cli: add more information to upload info, change order of command execution * cli: fix pass-with-no-files taking files inside cwd * cli: update README with run * cli: fix run not taking path from config * cli: fix resolution of paths relative to config --------- Co-authored-by: Sebastian Alex commit aeb482e3715f7ad1db2dcbd01fec253072827adb Author: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri Sep 1 11:19:35 2023 -0400 Feature/error boundary fallback function (#116) * Updating the ErrorBoundary to make the error available to the fallback component * Updating example app to utilize the error in the fallback component --------- Co-authored-by: Adam Cronin * Android attribute provider and unhandled error handler * Add missing import * Do not use symlinks for demo experiments * Start using hermes for unhandled promise rejections * Error boundary adjustements to reuse the code in react-native * iOS Attribute providers * Updated metro and use experimental linking * NatiVe attributes support + crash support on iOS * Update * Remove prepare command and use workspace definition to define the package build order * Use code from dev * Use code from dev * update package-lock.json * Demo update * Library update * Use submission URL from Backtrace client * Do not use async/await in the unhandled exception hanler * Remove redundant type * Adjust unhandled exception handler code * Disable database operations * Re-indent file * Re-indent file * database file attachments * Adjust hermes types + unhandled promise rejection types * Use cached pretty formatter * Adjust the demo project - remove testing files/code * Fixed formatting issue * Use actions in all platforms * Changed console log message * Basic database operations support * Android error message * Remove new line * Max breadcrumb per file passed to the native * Adjust native methods. Return undefined instead of null from the file attachment implementation * Use UTF8 Output stream writer * Format file and remove inavlid comment * Stream writer * type annotation * Add a reason why writer failed * Export types --------- Co-authored-by: Sebastian Alex --- .gitignore | 2 + examples/sdk/reactNative/index.js | 6 + package-lock.json | 41 +-- .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59821 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + packages/react-native/android/gradlew | 234 ++++++++++++++++++ packages/react-native/android/gradlew.bat | 89 +++++++ .../library/BacktraceDirectoryProvider.java | 85 +++++++ .../library/BacktraceFileSystemProvider.java | 152 ++++++++++++ .../library/BacktraceReactNative.java | 20 +- .../backtrace/library/ReactNativePackage.java | 5 +- .../java/backtrace/library/StreamWriter.java | 98 ++++++++ packages/react-native/src/BacktraceClient.ts | 116 ++++++--- .../src/attachment/BacktraceFileAttachment.ts | 38 +++ packages/react-native/src/attachment/index.ts | 2 + .../src/breadcrumbs/AlternatingFileWriter.ts | 47 ++++ .../src/breadcrumbs/FileBreadcrumbsStorage.ts | 84 +++++++ .../src/builder/BacktraceClientBuilder.ts | 12 +- .../src/crashReporter/CrashReporter.ts | 33 +-- packages/react-native/src/index.ts | 17 +- .../react-native/src/storage/FileSystem.ts | 8 + .../storage/ReactNativeDirectoryProvider.ts | 9 + .../src/storage/ReactNativeFileProvider.ts | 16 ++ .../src/storage/ReactNativeFileSystem.ts | 92 +++++++ .../react-native/src/storage/StreamWriter.ts | 19 ++ packages/react-native/src/storage/index.ts | 5 + 26 files changed, 1125 insertions(+), 110 deletions(-) create mode 100644 packages/react-native/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 packages/react-native/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 packages/react-native/android/gradlew create mode 100644 packages/react-native/android/gradlew.bat create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceDirectoryProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java create mode 100644 packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java create mode 100644 packages/react-native/src/attachment/BacktraceFileAttachment.ts create mode 100644 packages/react-native/src/attachment/index.ts create mode 100644 packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts create mode 100644 packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts create mode 100644 packages/react-native/src/storage/FileSystem.ts create mode 100644 packages/react-native/src/storage/ReactNativeDirectoryProvider.ts create mode 100644 packages/react-native/src/storage/ReactNativeFileProvider.ts create mode 100644 packages/react-native/src/storage/ReactNativeFileSystem.ts create mode 100644 packages/react-native/src/storage/StreamWriter.ts create mode 100644 packages/react-native/src/storage/index.ts diff --git a/.gitignore b/.gitignore index a370802f..29d1b856 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,8 @@ yarn-error.log* lerna-debug.log* .pnpm-debug.log* +.DS_Store + # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/examples/sdk/reactNative/index.js b/examples/sdk/reactNative/index.js index b5874180..20019adc 100644 --- a/examples/sdk/reactNative/index.js +++ b/examples/sdk/reactNative/index.js @@ -15,6 +15,12 @@ BacktraceClient.initialize({ prop2: 123, }, }, + database: { + enable: true, + captureNativeCrashes: true, + createDatabaseDirectory: true, + path: `${BacktraceClient.applicationDataPath}/backtrace`, + }, }); AppRegistry.registerComponent(appName, () => App); diff --git a/package-lock.json b/package-lock.json index 7c030c04..da2faea3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13968,7 +13968,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "^0.0.5" + "@backtrace-labs/node": "^0.0.6" }, "devDependencies": { "@nestjs/core": "^9", @@ -13993,24 +13993,6 @@ "@nestjs/common": "^9" } }, - "packages/nestjs/node_modules/@backtrace-labs/node": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@backtrace-labs/node/-/node-0.0.5.tgz", - "integrity": "sha512-SSlWrxCTklOYYYTOj3dg5RBSI1pdVFMsS1VGTcwSN0au8GCq87wIg6NRHZ7XfvvV/HRefrZ+H1qBLQpq+WmI1g==", - "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.6", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - }, - "engines": { - "node": ">=14" - } - }, - "packages/nestjs/node_modules/@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - }, "packages/node": { "name": "@backtrace-labs/node", "version": "0.0.6", @@ -25766,7 +25748,7 @@ "@backtrace-labs/nestjs": { "version": "file:packages/nestjs", "requires": { - "@backtrace-labs/node": "^0.0.5", + "@backtrace-labs/node": "^0.0.6", "@nestjs/core": "^9", "@nestjs/platform-express": "^9", "@nestjs/testing": "^9", @@ -25781,23 +25763,6 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" - }, - "dependencies": { - "@backtrace-labs/node": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@backtrace-labs/node/-/node-0.0.5.tgz", - "integrity": "sha512-SSlWrxCTklOYYYTOj3dg5RBSI1pdVFMsS1VGTcwSN0au8GCq87wIg6NRHZ7XfvvV/HRefrZ+H1qBLQpq+WmI1g==", - "requires": { - "@backtrace-labs/sdk-core": "^0.0.6", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - } - }, - "@backtrace-labs/sdk-core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@backtrace-labs/sdk-core/-/sdk-core-0.0.6.tgz", - "integrity": "sha512-Ir0PMV2TONj2GXh1FmNpb3rC+MHq452ZPwiNQQ+4nTuUT2Rzt3ESaWyHwAouyflMy04B3q+QNFPQjb3qCuHOvA==" - } } }, "@backtrace-labs/node": { @@ -25835,7 +25800,7 @@ "@backtrace-labs/react-native": { "version": "file:packages/react-native", "requires": { - "@backtrace-labs/react": "^0.0.5", + "@backtrace-labs/react": "0.0.5", "@backtrace-labs/sdk-core": "^0.0.7", "@react-native-community/eslint-config": "^3.0.2", "@types/react": "~17.0.21", diff --git a/packages/react-native/android/gradle/wrapper/gradle-wrapper.jar b/packages/react-native/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..41d9927a4d4fb3f96a785543079b8df6723c946b GIT binary patch literal 59821 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 literal 0 HcmV?d00001 diff --git a/packages/react-native/android/gradle/wrapper/gradle-wrapper.properties b/packages/react-native/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..41dfb879 --- /dev/null +++ b/packages/react-native/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/packages/react-native/android/gradlew b/packages/react-native/android/gradlew new file mode 100755 index 00000000..1b6c7873 --- /dev/null +++ b/packages/react-native/android/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/packages/react-native/android/gradlew.bat b/packages/react-native/android/gradlew.bat new file mode 100644 index 00000000..ac1b06f9 --- /dev/null +++ b/packages/react-native/android/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceDirectoryProvider.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceDirectoryProvider.java new file mode 100644 index 00000000..9b24ce78 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceDirectoryProvider.java @@ -0,0 +1,85 @@ +package backtrace.library; + +import android.content.Context; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.WritableArray; +import com.facebook.react.bridge.WritableNativeArray; +import com.facebook.react.module.annotations.ReactModule; + +import java.io.File; +import java.util.stream.Stream; + + +@ReactModule(name = BacktraceDirectoryProvider.NAME) +public class BacktraceDirectoryProvider extends ReactContextBaseJavaModule { + public static final String NAME = "BacktraceDirectoryProvider"; + + private final Context context; + + public BacktraceDirectoryProvider(ReactApplicationContext reactContext) { + super(reactContext); + this.context = reactContext.getApplicationContext(); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public WritableArray readDirSync(String path) { + File file = new File(path); + + WritableArray array = new WritableNativeArray(); + for (File directoryFile : file.listFiles()) { + array.pushString(directoryFile.getPath()); + } + + return array; + } + + @ReactMethod + public void readDir(String path, Promise promise) { + File file = new File(path); + + WritableArray array = new WritableNativeArray(); + for (File directoryFile : file.listFiles()) { + array.pushString(directoryFile.getName()); + } + + promise.resolve(array); + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public boolean createDirSync(String path) { + File directory = new File(path); + + if (directory.exists()) { + return true; + } + return directory.mkdirs(); + } + + @ReactMethod + public void createDir(String path, Promise promise) { + File directory = new File(path); + + if (directory.exists()) { + promise.resolve(true); + return; + } + promise.resolve(directory.mkdirs()); + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public String applicationDirectory() { + return context.getFilesDir().getAbsolutePath(); + } +} diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java new file mode 100644 index 00000000..274a8b61 --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java @@ -0,0 +1,152 @@ +package backtrace.library; + +import android.content.Context; +import android.util.Log; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.module.annotations.ReactModule; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Scanner; + +@ReactModule(name = BacktraceFileSystemProvider.NAME) +public class BacktraceFileSystemProvider extends ReactContextBaseJavaModule { + public static final String NAME = "BacktraceFileSystemProvider"; + private static final transient String LOG_TAG = BacktraceFileSystemProvider.class.getSimpleName(); + + public BacktraceFileSystemProvider(ReactApplicationContext reactContext) { + super(reactContext); + } + + @Override + @NonNull + public String getName() { + return NAME; + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public String readFileSync(String path) { + File file = new File(path); + if (!file.exists()) { + return null; + } + + try (Scanner scanner = new Scanner(file)){ + StringBuilder sb = new StringBuilder(); + + while (scanner.hasNext()) { + sb.append(scanner.nextLine()); + } + + return sb.toString(); + } catch (Exception e) { + Log.d(LOG_TAG, e.getMessage()); + return null; + } + } + + @ReactMethod + public void readFile(String path, Promise promise) { + File file = new File(path); + if (!file.exists()) { + promise.reject(new FileNotFoundException(path)); + return; + } + try (Scanner scanner = new Scanner(file)){ + StringBuilder sb = new StringBuilder(); + + while (scanner.hasNext()) { + sb.append(scanner.nextLine()); + } + + scanner.close(); + promise.resolve(sb.toString()); + } catch (Exception e) { + Log.d(LOG_TAG, e.getMessage()); + promise.reject(e); + } + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public boolean writeFileSync(String path, String content) { + try (FileOutputStream out = new FileOutputStream(path, false)) { + out.write(content.getBytes(StandardCharsets.UTF_8)); + return true; + } catch (Exception e) { + Log.d(LOG_TAG, e.getMessage()); + return false; + } + } + + @ReactMethod + public void writeFile(String path, String content, Promise promise) { + try (FileOutputStream out = new FileOutputStream(path, false)) { + out.write(content.getBytes(StandardCharsets.UTF_8)); + promise.resolve(true); + } catch (Exception e) { + Log.d(LOG_TAG, e.getMessage()); + promise.reject(e); + } + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public boolean unlinkSync(String path) { + File file = new File(path); + if (!file.exists()) { + return true; + } + Boolean result = file.delete(); + return result; + } + + @ReactMethod + public void unlink(String filePath, Promise promise) { + File file = new File(filePath); + if (!file.exists()) { + promise.resolve(true); + return; + } + Boolean result = file.delete(); + promise.resolve(result); + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public boolean existsSync(String path) { + File file = new File(path); + return file.exists(); + } + + @ReactMethod + public void exists(String path, Promise promise) { + File file = new File(path); + promise.resolve(file.exists()); + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public boolean renameSync(String sourcePath, String destinationPath) { + File sourceFile = new File(sourcePath); + File destinationFile = new File(destinationPath); + return sourceFile.renameTo(destinationFile); + } + + @ReactMethod + public void rename(String sourcePath, String destinationPath, Promise promise) { + File sourceFile = new File(sourcePath); + File destinationFile = new File(destinationPath); + promise.resolve(sourceFile.renameTo(destinationFile)); + } +} \ No newline at end of file diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java index a9cb862c..63dcf470 100644 --- a/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceReactNative.java @@ -26,8 +26,10 @@ public class BacktraceReactNative extends ReactContextBaseJavaModule { static { System.loadLibrary("backtrace-native"); } + public static final String NAME = "BacktraceReactNative"; private final String _crashpadHandlerName = "/libcrashpad_handler.so"; + public native void Crash(); private final Context context; @@ -42,11 +44,11 @@ public BacktraceReactNative(ReactApplicationContext reactContext) { public String getName() { return NAME; } - + @ReactMethod(isBlockingSynchronousMethod = true) - public Boolean initialize(String minidumpSubmissionUrl, ReadableMap readableAttributes, ReadableArray attachmentPaths) { - Log.d(this.NAME, "Initializing crashpad"); + public Boolean initialize(String minidumpSubmissionUrl, String databasePath, ReadableMap readableAttributes, ReadableArray attachmentPaths) { + Log.d(this.NAME, "Initializing native crash reporter"); String handlerPath = context.getApplicationInfo().nativeLibraryDir + _crashpadHandlerName; @@ -54,19 +56,11 @@ public Boolean initialize(String minidumpSubmissionUrl, ReadableMap readableAttr Log.d(this.NAME, "Crashpad handler doesn't exist"); return false; } - HashMap attributes = readableAttributes.toHashMap(); + HashMap attributes = readableAttributes.toHashMap(); String[] keys = attributes.keySet().toArray(new String[0]); String[] values = attributes.values().toArray(new String[0]); - // Create the crashpad directory if it doesn't exist - // to do: - // on this stage the database directory should exists. Because the database - // implementation is in progress, crashpad database directory is created here manually. - String databasePath = context.getFilesDir().getAbsolutePath(); - File crashHandlerDir = new File(databasePath); - crashHandlerDir.mkdir(); - Boolean result = BacktraceDatabase.initialize( minidumpSubmissionUrl, databasePath, @@ -84,7 +78,7 @@ public Boolean initialize(String minidumpSubmissionUrl, ReadableMap readableAttr @ReactMethod() public void useAttributes(ReadableMap readableAttributes) { - HashMap attributes = readableAttributes.toHashMap(); + HashMap attributes = readableAttributes.toHashMap(); String[] keys = attributes.keySet().toArray(new String[0]); String[] values = attributes.values().toArray(new String[0]); diff --git a/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java b/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java index 1743ab6d..19e4bb54 100644 --- a/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java +++ b/packages/react-native/android/src/main/java/backtrace/library/ReactNativePackage.java @@ -24,8 +24,9 @@ public List createNativeModules(@NonNull ReactApplicationContext r modules.add(new backtraceio.library.ProcessAttributeProvider(reactContext)); modules.add(new backtraceio.library.BacktraceAndroidBackgroundUnhandledExceptionHandler(reactContext)); - // modules.add(new backtraceio.library.BacktraceFileSystemProvider(reactContext)); - // modules.add(new backtraceio.library.BacktraceDirectoryProvider(reactContext)); + modules.add(new backtrace.library.BacktraceFileSystemProvider(reactContext)); + modules.add(new backtrace.library.BacktraceDirectoryProvider(reactContext)); + modules.add(new backtraceio.library.StreamWriter()); return modules; } diff --git a/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java b/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java new file mode 100644 index 00000000..f207cabd --- /dev/null +++ b/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java @@ -0,0 +1,98 @@ +package backtraceio.library; + +import android.util.Log; + +import androidx.annotation.NonNull; + +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.module.annotations.ReactModule; + +import java.io.BufferedWriter; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; + + +@ReactModule(name = backtraceio.library.StreamWriter.NAME) +public class StreamWriter extends ReactContextBaseJavaModule { + public static final String NAME = "StreamWriter"; + + private static final transient String LOG_TAG = backtraceio.library.StreamWriter.class.getSimpleName(); + + @Override + @NonNull + public String getName() { + return NAME; + } + private HashMap _map = new HashMap<>(); + + @ReactMethod(isBlockingSynchronousMethod = true) + public String create(String filePath) { + String key = String.valueOf(System.currentTimeMillis()); + if (_map.containsKey(key)) { + return null; + } + + BufferedWriter writer = this.createWriter(filePath); + + if (writer == null) { + return null; + } + Log.d(LOG_TAG, "Creating a writer for key " + key + " for file " + filePath); + _map.put(key, writer); + return key; + } + + @ReactMethod + public void append(String key, String line, Promise promise) { + BufferedWriter writer = _map.get(key); + if (writer == null) { + Log.d(LOG_TAG, "Writer with key: " + key + " is not available."); + promise.resolve(false); + return; + } + + try { + writer.append(line); + writer.flush(); + + promise.resolve(true); + } catch (Exception e) { + Log.d(LOG_TAG, "Cannot append a breadcrumb line. Reason: " + e.getMessage()); + promise.resolve(false); + } + } + + @ReactMethod(isBlockingSynchronousMethod = true) + public boolean close(String key) { + BufferedWriter writer = _map.get(key); + if (writer == null) { + return true; + } + try { + writer.close(); + return true; + } catch (Exception e) { + Log.d(LOG_TAG, "Cannot close the stream. Reason:" + e.getMessage()); + return false; + } + + } + + private BufferedWriter createWriter(String _sourceFile) { + try { + return new BufferedWriter( + new OutputStreamWriter( + new FileOutputStream(_sourceFile), + StandardCharsets.UTF_8 + ) + ); + } catch (Exception e) { + Log.d(LOG_TAG, "Cannot create a writer. Reason:" + e.getMessage()); + return null; + } + } +} diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts index edea4a1e..18b3d351 100644 --- a/packages/react-native/src/BacktraceClient.ts +++ b/packages/react-native/src/BacktraceClient.ts @@ -1,6 +1,7 @@ import { BacktraceBrowserRequestHandler, ReactStackTraceConverter } from '@backtrace-labs/react'; import { BacktraceCoreClient, + BreadcrumbsManager, SingleSessionProvider, SubmissionUrlInformation, V8StackTraceConverter, @@ -8,22 +9,28 @@ import { type AttributeType, type DebugIdContainer, } from '@backtrace-labs/sdk-core'; -import { Platform } from 'react-native'; +import { NativeModules, Platform } from 'react-native'; import { type BacktraceConfiguration } from './BacktraceConfiguration'; +import { FileBreadcrumbsStorage } from './breadcrumbs/FileBreadcrumbsStorage'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import type { BacktraceClientSetup } from './builder/BacktraceClientSetup'; import { version } from './common/platformHelper'; import { CrashReporter } from './crashReporter/CrashReporter'; import { generateUnhandledExceptionHandler } from './handlers'; import { type ExceptionHandler } from './handlers/ExceptionHandler'; - +import { type FileSystem } from './storage/FileSystem'; export class BacktraceClient extends BacktraceCoreClient { - private readonly crashReporter: CrashReporter = new CrashReporter(); + private readonly _crashReporter?: CrashReporter; private readonly _exceptionHandler: ExceptionHandler = generateUnhandledExceptionHandler(); public crash(): void { - this.crashReporter.crash(); + CrashReporter.crash(); + } + + public static get applicationDataPath(): string { + return NativeModules.BacktraceDirectoryProvider?.applicationDirectory() ?? ''; } + constructor(clientSetup: BacktraceClientSetup) { super({ sdkOptions: { @@ -39,52 +46,49 @@ export class BacktraceClient extends BacktraceCoreClient ...clientSetup, }); - this.captureUnhandledErrors( - clientSetup.options.captureUnhandledErrors, - clientSetup.options.captureUnhandledPromiseRejections, - ); - const submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(clientSetup.options.url); + const fileSystem = clientSetup.fileSystem as FileSystem; + if (!fileSystem) { + return; + } - this.crashReporter.initialize( - Platform.select({ - ios: SubmissionUrlInformation.toPlCrashReporterSubmissionUrl(submissionUrl), - android: SubmissionUrlInformation.toMinidumpSubmissionUrl(submissionUrl), - default: submissionUrl, - }), - this.attributeManager.get('scoped').attributes, - this.attachments, + const breadcrumbsManager = this.modules.get(BreadcrumbsManager); + if (breadcrumbsManager && this.sessionFiles) { + breadcrumbsManager.setStorage( + FileBreadcrumbsStorage.create( + fileSystem, + this.sessionFiles, + clientSetup.options.breadcrumbs?.maximumBreadcrumbs ?? 100, + ), + ); + } + + this.attributeManager.attributeEvents.on( + 'scoped-attributes-updated', + (reportData: { attributes: Record }) => { + this._crashReporter?.updateAttributes(reportData.attributes); + }, ); } - /** - * Add attribute to Backtrace Client reports. - * @param attributes key-value object with attributes. - */ - public addAttribute(attributes: Record): void; - /** - * Add dynamic attributes to Backtrace Client reports. - * @param attributes function returning key-value object with attributes. - */ - public addAttribute(attributes: () => Record): void; - public addAttribute(attributes: Record | (() => Record)) { - super.addAttribute(attributes as Record); - if (typeof attributes === 'function') { - return; - } + public initialize(): void { + const lockId = this.sessionFiles?.lockPreviousSessions(); + try { + super.initialize(); + this.captureUnhandledErrors( + this.options.captureUnhandledErrors, + this.options.captureUnhandledPromiseRejections, + ); - const clientAttributes = super.attributes; - this.crashReporter?.updateAttributes( - Object.fromEntries( - Object.entries(attributes) - .filter(([key]) => clientAttributes[key] != null) - .map((n) => n as [string, AttributeType]), - ), - ); + this.initializeNativeCrashReporter(); + } catch (err) { + lockId && this.sessionFiles?.unlockPreviousSessions(lockId); + throw err; + } } public dispose(): void { this._exceptionHandler.dispose(); - this.crashReporter.dispose(); + this._crashReporter?.dispose(); super.dispose(); } @@ -128,4 +132,34 @@ export class BacktraceClient extends BacktraceCoreClient this._exceptionHandler.captureUnhandledPromiseRejections(this); } } + + private initializeNativeCrashReporter(): CrashReporter | undefined { + if (!this.options.database?.enable) { + return; + } + + if (!this.options.database?.captureNativeCrashes) { + return; + } + + const fileSystem = this.fileSystem; + if (!fileSystem) { + return; + } + + const submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(this.options.url); + + const crashReporter = new CrashReporter(fileSystem); + crashReporter.initialize( + Platform.select({ + ios: SubmissionUrlInformation.toPlCrashReporterSubmissionUrl(submissionUrl), + android: SubmissionUrlInformation.toMinidumpSubmissionUrl(submissionUrl), + default: submissionUrl, + }), + this.options.database.path, + this.attributeManager.get('scoped').attributes, + this.attachments, + ); + return crashReporter; + } } diff --git a/packages/react-native/src/attachment/BacktraceFileAttachment.ts b/packages/react-native/src/attachment/BacktraceFileAttachment.ts new file mode 100644 index 00000000..e9b1b1f1 --- /dev/null +++ b/packages/react-native/src/attachment/BacktraceFileAttachment.ts @@ -0,0 +1,38 @@ +import { type BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace-labs/sdk-core'; +import { type FileSystem } from '../storage/'; +export class BacktraceFileAttachment implements CoreBacktraceFileAttachment { + public readonly name: string; + public readonly mimeType: string; + + constructor( + private readonly _fileSystemProvider: FileSystem, + public readonly filePath: string, + name?: string, + mimeType?: string, + ) { + this.name = name ?? filePath; + this.mimeType = mimeType ?? 'application/octet-stream'; + } + + public get() { + const exists = this._fileSystemProvider.existsSync(this.filePath); + + if (!exists) { + return undefined; + } + return { + uri: `file://${this.filePath}`, + name: this.name, + filename: this.name, + type: this.mimeType, + filepath: this.filePath, + }; + } + + public toJSON() { + return { + filePath: this.filePath, + name: this.name, + }; + } +} diff --git a/packages/react-native/src/attachment/index.ts b/packages/react-native/src/attachment/index.ts new file mode 100644 index 00000000..640b896d --- /dev/null +++ b/packages/react-native/src/attachment/index.ts @@ -0,0 +1,2 @@ +export { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from '@backtrace-labs/sdk-core'; +export * from './BacktraceFileAttachment'; diff --git a/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts b/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts new file mode 100644 index 00000000..e4d000ec --- /dev/null +++ b/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts @@ -0,0 +1,47 @@ +import { type FileSystem } from '../storage'; +import { type StreamWriter } from '../storage/StreamWriter'; + +export class AlternatingFileWriter { + private _streamId?: string; + private _count = 0; + private _disposed = false; + + private readonly _streamWriter: StreamWriter; + + constructor( + private readonly _mainFile: string, + private readonly _fallbackFile: string, + private readonly _fileCapacity: number, + private readonly _fileSystem: FileSystem, + ) { + if (this._fileCapacity <= 0) { + throw new Error('File capacity may not be less or equal to 0.'); + } + this._streamWriter = this._fileSystem.streamWriter; + } + + public async writeLine(value: string): Promise { + if (this._disposed) { + throw new Error('This instance has been disposed.'); + } + if (!this._streamId) { + this._streamId = this._streamWriter.create(this._mainFile); + } else if (this._count >= this._fileCapacity) { + this._streamWriter.close(this._streamId); + this._count = 0; + this._fileSystem.renameSync(this._mainFile, this._fallbackFile); + this._streamId = this._streamWriter.create(this._mainFile); + } + this._streamWriter.append(this._streamId, value + '\n'); + this._count++; + + return this; + } + + public dispose() { + if (this._streamId) { + this._streamWriter.close(this._streamId); + } + this._disposed = true; + } +} diff --git a/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts new file mode 100644 index 00000000..c776eb84 --- /dev/null +++ b/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -0,0 +1,84 @@ +import { + BreadcrumbLogLevel, + BreadcrumbType, + jsonEscaper, + SessionFiles, + TimeHelper, + type BacktraceAttachment, + type Breadcrumb, + type BreadcrumbsStorage, + type RawBreadcrumb, +} from '@backtrace-labs/sdk-core'; +import { BacktraceFileAttachment } from '../attachment/BacktraceFileAttachment'; +import { type FileSystem } from '../storage'; +import { AlternatingFileWriter } from './AlternatingFileWriter'; + +const FILE_PREFIX = 'breadcrumbs'; + +export class FileBreadcrumbsStorage implements BreadcrumbsStorage { + public get lastBreadcrumbId(): number { + return this._lastBreadcrumbId; + } + + private _lastBreadcrumbId: number = TimeHelper.toTimestampInSec(TimeHelper.now()); + private readonly _writer: AlternatingFileWriter; + + constructor( + private readonly _fileSystem: FileSystem, + private readonly _mainFile: string, + private readonly _fallbackFile: string, + maximumBreadcrumbs: number, + ) { + this._writer = new AlternatingFileWriter( + _mainFile, + _fallbackFile, + Math.floor(maximumBreadcrumbs / 2), + _fileSystem, + ); + } + + public static create(fileSystem: FileSystem, session: SessionFiles, maximumBreadcrumbs: number) { + const file1 = session.getFileName(this.getFileName(0)); + const file2 = session.getFileName(this.getFileName(1)); + return new FileBreadcrumbsStorage(fileSystem, file1, file2, maximumBreadcrumbs); + } + + public getAttachments(): BacktraceAttachment[] { + return [ + new BacktraceFileAttachment(this._fileSystem, this._mainFile, 'bt-breadcrumbs-0'), + new BacktraceFileAttachment(this._fileSystem, this._fallbackFile, 'bt-breadcrumbs-1'), + ]; + } + + public add(rawBreadcrumb: RawBreadcrumb): number { + const breadcrumbType = BreadcrumbType[rawBreadcrumb.type]; + if (!breadcrumbType) { + throw new Error(`Unrecognized breadcrumb type. Received: ${rawBreadcrumb.type}`); + } + + const breadcrumbLevel = BreadcrumbLogLevel[rawBreadcrumb.level]; + if (!breadcrumbLevel) { + throw new Error(`Unrecognized breadcrumb level. Received: ${rawBreadcrumb.level}`); + } + + this._lastBreadcrumbId++; + const id = this._lastBreadcrumbId; + const breadcrumb: Breadcrumb = { + id, + message: rawBreadcrumb.message, + timestamp: TimeHelper.now(), + type: breadcrumbType.toLowerCase(), + level: breadcrumbLevel.toLowerCase(), + attributes: rawBreadcrumb.attributes, + }; + + const breadcrumbJson = JSON.stringify(breadcrumb, jsonEscaper()); + this._writer.writeLine(breadcrumbJson); + + return id; + } + + private static getFileName(index: number) { + return `bt-${FILE_PREFIX}-${index}`; + } +} diff --git a/packages/react-native/src/builder/BacktraceClientBuilder.ts b/packages/react-native/src/builder/BacktraceClientBuilder.ts index 254d39b0..5f2ece46 100644 --- a/packages/react-native/src/builder/BacktraceClientBuilder.ts +++ b/packages/react-native/src/builder/BacktraceClientBuilder.ts @@ -1,9 +1,10 @@ import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; import { Platform } from 'react-native'; -import { BacktraceClient } from '../BacktraceClient'; import { NativeAttributeProvider } from '../attributes/NativeAttributeProvider'; import { ReactNativeAttributeProvider } from '../attributes/ReactNativeAttributeProvider'; +import { BacktraceClient } from '../BacktraceClient'; import { DebuggerHelper } from '../common/DebuggerHelper'; +import { ReactNativeFileSystem } from '../storage'; import type { BacktraceClientSetup } from './BacktraceClientSetup'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { @@ -36,7 +37,16 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder, attachments: readonly BacktraceAttachment[], ): boolean { @@ -21,7 +25,7 @@ export class CrashReporter { return false; } // verify if the native bindings are available - if (!this._backtraceReactNative) { + if (!CrashReporter.BacktraceReactNative) { return false; } @@ -29,19 +33,18 @@ export class CrashReporter { return false; } - if (attachments.length !== 0) { - // to do: - // add attachment support with the new file system - console.warn('File attachments are unsupported.'); - } + this._fileSystem.createDirSync(`${databasePath}/native`); - this._backtraceReactNative.initialize( + CrashReporter.BacktraceReactNative.initialize( submissionUrl, + databasePath, { ...this.convertAttributes(attributes), 'error.type': 'Crash', }, - [], + attachments + .filter((n) => n instanceof BacktraceFileAttachment) + .map((n) => (n as BacktraceFileAttachment).filePath), ); this._enabled = true; CrashReporter.initialized = true; @@ -52,12 +55,14 @@ export class CrashReporter { if (!this._enabled) { return; } - this._backtraceReactNative.useAttributes(this.convertAttributes(attributes)); + CrashReporter.BacktraceReactNative.useAttributes(this.convertAttributes(attributes)); } - public crash(): void { - if (this._backtraceReactNative) { - this._backtraceReactNative.crash(); + public static crash(): void { + if (CrashReporter.BacktraceReactNative) { + CrashReporter.BacktraceReactNative.crash(); + } else { + throw new Error('Native binding is not available'); } } diff --git a/packages/react-native/src/index.ts b/packages/react-native/src/index.ts index b0c0d495..59177fbe 100644 --- a/packages/react-native/src/index.ts +++ b/packages/react-native/src/index.ts @@ -1,4 +1,19 @@ +export { + BacktraceReport, + BreadcrumbLogLevel, + BreadcrumbsManager, + BreadcrumbType, + type AttributeType, + type BacktraceAttachment, + type BacktraceData, + type BacktraceStackFrame, + type BacktraceStackTraceConverter, + type BreadcrumbsEventSubscriber, + type RawBreadcrumb, +} from '@backtrace-labs/sdk-core'; +export * from './attachment/'; export { BacktraceClient } from './BacktraceClient'; export { type BacktraceConfiguration } from './BacktraceConfiguration'; -export { ErrorBoundary } from './ErrorBoundary'; export { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; +export { ErrorBoundary } from './ErrorBoundary'; +export * from './storage/'; diff --git a/packages/react-native/src/storage/FileSystem.ts b/packages/react-native/src/storage/FileSystem.ts new file mode 100644 index 00000000..7f744491 --- /dev/null +++ b/packages/react-native/src/storage/FileSystem.ts @@ -0,0 +1,8 @@ +import { type FileSystem as CoreFileSystem } from '@backtrace-labs/sdk-core'; +import { type StreamWriter } from './StreamWriter'; +export interface FileSystem extends CoreFileSystem { + renameSync(source: string, destination: string): boolean; + rename(source: string, destination: string): Promise; + applicationDirectory(): string; + streamWriter: StreamWriter; +} diff --git a/packages/react-native/src/storage/ReactNativeDirectoryProvider.ts b/packages/react-native/src/storage/ReactNativeDirectoryProvider.ts new file mode 100644 index 00000000..adbd0fe0 --- /dev/null +++ b/packages/react-native/src/storage/ReactNativeDirectoryProvider.ts @@ -0,0 +1,9 @@ +export interface ReactNativeDirectoryProvider { + applicationDirectory(): string; + + readDir(dir: string): Promise; + readDirSync(dir: string): string[]; + + createDir(dir: string): Promise; + createDirSync(dir: string): void; +} diff --git a/packages/react-native/src/storage/ReactNativeFileProvider.ts b/packages/react-native/src/storage/ReactNativeFileProvider.ts new file mode 100644 index 00000000..5bb91dd0 --- /dev/null +++ b/packages/react-native/src/storage/ReactNativeFileProvider.ts @@ -0,0 +1,16 @@ +export interface ReactNativeFileProvider { + readFile(path: string): Promise; + readFileSync(path: string): string; + + writeFile(path: string, content: string): Promise; + writeFileSync(path: string, content: string): void; + + unlink(path: string): Promise; + unlinkSync(path: string): void; + + exists(path: string): Promise; + existsSync(path: string): boolean; + + rename(path: string, newPath: string): Promise; + renameSync(path: string, newPath: string): boolean; +} diff --git a/packages/react-native/src/storage/ReactNativeFileSystem.ts b/packages/react-native/src/storage/ReactNativeFileSystem.ts new file mode 100644 index 00000000..3ac8e30a --- /dev/null +++ b/packages/react-native/src/storage/ReactNativeFileSystem.ts @@ -0,0 +1,92 @@ +import { type BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { NativeModules } from 'react-native'; +import { BacktraceFileAttachment } from '../attachment/BacktraceFileAttachment'; +import { type FileSystem } from './FileSystem'; +import { type ReactNativeDirectoryProvider } from './ReactNativeDirectoryProvider'; +import { type ReactNativeFileProvider } from './ReactNativeFileProvider'; +import { type StreamWriter } from './StreamWriter'; +export class ReactNativeFileSystem implements FileSystem { + private readonly _fileSystemProvider: ReactNativeFileProvider = NativeModules.BacktraceFileSystemProvider; + private readonly _directoryProvider: ReactNativeDirectoryProvider = NativeModules.BacktraceDirectoryProvider; + private readonly _streamWriter: StreamWriter = NativeModules.StreamWriter; + + constructor() { + if (!this._fileSystemProvider) { + throw new Error(`Cannot setup native binding. Missing file system provider`); + } + + if (!this._directoryProvider) { + throw new Error(`Cannot setup native binding. Missing directory provider`); + } + + if (!this._streamWriter) { + throw new Error(`Cannot setup native binding. Missing AlternatingFileWriter`); + } + } + + public streamWriter: StreamWriter = this._streamWriter; + + public applicationDirectory(): string { + return this._directoryProvider.applicationDirectory(); + } + + public readDir(dir: string): Promise { + return this._directoryProvider.readDir(dir); + } + + public readDirSync(dir: string): string[] { + return this._directoryProvider.readDirSync(dir); + } + + public createDir(dir: string): Promise { + return this._directoryProvider.createDir(dir); + } + + public createDirSync(dir: string): void { + return this._directoryProvider.createDirSync(dir); + } + + public readFile(path: string): Promise { + return this._fileSystemProvider.readFile(path); + } + + public readFileSync(path: string): string { + return this._fileSystemProvider.readFileSync(path); + } + + public writeFile(path: string, content: string): Promise { + return this._fileSystemProvider.writeFile(path, content); + } + + public writeFileSync(path: string, content: string): void { + return this._fileSystemProvider.writeFileSync(path, content); + } + + public unlink(path: string): Promise { + return this._fileSystemProvider.unlink(path); + } + + public unlinkSync(path: string): void { + return this._fileSystemProvider.unlinkSync(path); + } + + public exists(path: string): Promise { + return this._fileSystemProvider.exists(path); + } + + public existsSync(path: string): boolean { + return this._fileSystemProvider.existsSync(path); + } + + public rename(sourceFile: string, destinationFile: string): Promise { + return this._fileSystemProvider.rename(sourceFile, destinationFile); + } + + public renameSync(sourceFile: string, destinationFile: string): boolean { + return this._fileSystemProvider.renameSync(sourceFile, destinationFile); + } + + public createAttachment(path: string, name?: string | undefined): BacktraceAttachment { + return new BacktraceFileAttachment(this, path, name); + } +} diff --git a/packages/react-native/src/storage/StreamWriter.ts b/packages/react-native/src/storage/StreamWriter.ts new file mode 100644 index 00000000..c618f2e0 --- /dev/null +++ b/packages/react-native/src/storage/StreamWriter.ts @@ -0,0 +1,19 @@ +export interface StreamWriter { + /** + * Creates a new stream writer. Returns a key to stream writer. + * @param source path to the file + */ + create(source: string): string; + /** + * Appends a string to a file using a stream writer pointed by the key + * @param key stream writer key + * @param content content to append + */ + append(key: string, content: string): Promise; + + /** + * Closes the stream writer + * @param key stream writer key + */ + close(key: string): boolean; +} diff --git a/packages/react-native/src/storage/index.ts b/packages/react-native/src/storage/index.ts new file mode 100644 index 00000000..0682f995 --- /dev/null +++ b/packages/react-native/src/storage/index.ts @@ -0,0 +1,5 @@ +export * from './FileSystem'; +export * from './ReactNativeDirectoryProvider'; +export * from './ReactNativeFileProvider'; +export * from './ReactNativeFileSystem'; +export * from './StreamWriter'; From 779aaef54aec4bec5fce41ff4f7341a4472464db Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 18 Oct 2023 16:30:32 +0200 Subject: [PATCH 221/291] react-native: Native database ios (#178) * React native support * React native support * react-native: externalize react packages * react: externalize react package * browser: fix invalid type in XMLHttpRequest open override * React backtrace client * React-native library * Repair package-lock and remove unnecessary packages * React native demo * React native debugging task * Builder Api improvements * Export single session provider * React native react integration via builder * Path to the react library * Path to the react library * Dev updates * React demo * React example app * React native api improvements * Do not use multipart content type * Dependency update * update package-lock * Update package-lock.json * Basic attributes * Update demo with symlinks * Native attributes Android * Clean up the branch * Squashed commit of the following: commit 9d76c4741b4c9a3d41dfcb78b65aec0151725783 Author: Konrad Dysput Date: Mon Sep 4 18:01:30 2023 +0200 Source map 0.0.3 release (#122) commit c5b6dbd61bcc0be9af78971986a0f9909de18e2a Author: Sebastian Alex Date: Mon Sep 4 15:55:04 2023 +0000 cli: fix missing sourcesContent after addSources commit f39a3cfde6217dcdddf12bd49f16b51442aa77c8 Author: Konrad Dysput Date: Mon Sep 4 17:03:35 2023 +0200 Source map tools 0.0.2 (#120) * Source map tools 0.0.2 * Release: CLI 0.0.2 (#121) * Release: CLI 0.0.2 * fix sourcemap-tools dependeny in plugins * fix sourcemap-tools tar-stream dependency --------- Co-authored-by: Sebastian Alex --------- Co-authored-by: Sebastian Alex commit 87803544e3e475f1573cbea16e9a6120c006496e Author: Sebastian Alex Date: Mon Sep 4 11:17:39 2023 +0200 cli: add possibility of specifying source files for upload and add-sources (#118) Co-authored-by: Sebastian Alex commit 5327496f108edb485669992c78d5c68d29acb9dd Author: Sebastian Alex Date: Fri Sep 1 21:47:08 2023 +0200 cli: add `run` command executing everything in one go (#117) * cli: removes 'this' from execute function * cli: consolidate execute args into context * cli: extract command functions to separate functions * cli: cache loaded options in memory * cli: add logger to CommandContext, allow for returning other type than number in execute * sourcemap tools: add getting source map path function to SourceProcessor * cli: add logger prefix option * cli: change subcommand functions to not print output by themselves * cli: add run command which executes everything * cli: add more information to upload info, change order of command execution * cli: fix pass-with-no-files taking files inside cwd * cli: update README with run * cli: fix run not taking path from config * cli: fix resolution of paths relative to config --------- Co-authored-by: Sebastian Alex commit aeb482e3715f7ad1db2dcbd01fec253072827adb Author: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri Sep 1 11:19:35 2023 -0400 Feature/error boundary fallback function (#116) * Updating the ErrorBoundary to make the error available to the fallback component * Updating example app to utilize the error in the fallback component --------- Co-authored-by: Adam Cronin * Android attribute provider and unhandled error handler * Add missing import * Do not use symlinks for demo experiments * Start using hermes for unhandled promise rejections * Error boundary adjustements to reuse the code in react-native * iOS Attribute providers * Updated metro and use experimental linking * NatiVe attributes support + crash support on iOS * Update * Remove prepare command and use workspace definition to define the package build order * Use code from dev * Use code from dev * update package-lock.json * Demo update * Library update * Use submission URL from Backtrace client * Do not use async/await in the unhandled exception hanler * Remove redundant type * Adjust unhandled exception handler code * Disable database operations * Re-indent file * Re-indent file * database file attachments * Adjust hermes types + unhandled promise rejection types * Use cached pretty formatter * Adjust the demo project - remove testing files/code * Fixed formatting issue * Use actions in all platforms * Changed console log message * Basic database operations support * Android error message * Remove new line * Max breadcrumb per file passed to the native * Adjust native methods. Return undefined instead of null from the file attachment implementation * Use UTF8 Output stream writer * Format file and remove inavlid comment * Update lock files * React native iOS native layer * Stream writer * type annotation * iOS native database support * remove development team reference * Add log to each error case * Handle potential issues with breadcrumbs stream recreation * initialize client in builder before returning it --------- Co-authored-by: Sebastian Alex --- examples/sdk/reactNative/ios/Podfile.lock | 13 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../library/BacktraceFileSystemProvider.java | 37 ++-- .../java/backtrace/library/StreamWriter.java | 3 +- .../react-native/ios/BacktraceCrashReporter.h | 2 +- .../ios/BacktraceCrashReporter.mm | 18 +- .../ios/BacktraceDirectoryProvider.h | 12 ++ .../ios/BacktraceDirectoryProvider.mm | 63 +++++++ .../ios/BacktraceFileSystemProvider.h | 12 ++ .../ios/BacktraceFileSystemProvider.mm | 158 ++++++++++++++++++ .../react-native/ios/BacktraceReactNative.mm | 3 +- .../project.pbxproj | 12 ++ packages/react-native/ios/CrashUtils.h | 5 +- packages/react-native/ios/CrashUtils.mm | 36 ++-- packages/react-native/ios/OomWatcher.h | 4 +- packages/react-native/ios/OomWatcher.mm | 25 +-- packages/react-native/ios/StreamWriter.h | 12 ++ packages/react-native/ios/StreamWriter.mm | 98 +++++++++++ packages/react-native/src/BacktraceClient.ts | 1 + .../src/attachment/BacktraceFileAttachment.ts | 8 +- .../src/breadcrumbs/AlternatingFileWriter.ts | 74 +++++++- .../src/breadcrumbs/FileBreadcrumbsStorage.ts | 6 +- .../src/builder/BacktraceClientBuilder.ts | 49 +++--- .../react-native/src/storage/FileSystem.ts | 4 +- .../src/storage/ReactNativeFileProvider.ts | 4 +- .../src/storage/ReactNativeFileSystem.ts | 8 +- .../react-native/src/types/FileLocation.ts | 7 + 27 files changed, 569 insertions(+), 113 deletions(-) create mode 100644 examples/sdk/reactNative/ios/reactNative.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/react-native/ios/BacktraceDirectoryProvider.h create mode 100644 packages/react-native/ios/BacktraceDirectoryProvider.mm create mode 100644 packages/react-native/ios/BacktraceFileSystemProvider.h create mode 100644 packages/react-native/ios/BacktraceFileSystemProvider.mm create mode 100644 packages/react-native/ios/StreamWriter.h create mode 100644 packages/react-native/ios/StreamWriter.mm create mode 100644 packages/react-native/src/types/FileLocation.ts diff --git a/examples/sdk/reactNative/ios/Podfile.lock b/examples/sdk/reactNative/ios/Podfile.lock index 7f775e93..a622b233 100644 --- a/examples/sdk/reactNative/ios/Podfile.lock +++ b/examples/sdk/reactNative/ios/Podfile.lock @@ -1,4 +1,8 @@ PODS: + - backtrace-react-native (0.0.1): + - PLCrashReporter + - RCT-Folly (= 2021.07.22.00) + - React-Core - boost (1.76.0) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) @@ -75,6 +79,7 @@ PODS: - hermes-engine/Pre-built (0.72.4) - libevent (2.1.12) - OpenSSL-Universal (1.1.1100) + - PLCrashReporter (1.11.1) - RCT-Folly (2021.07.22.00): - boost - DoubleConversion @@ -491,6 +496,7 @@ PODS: - Yoga (~> 1.14) DEPENDENCIES: + - "backtrace-react-native (from `../node_modules/@backtrace-labs/react-native`)" - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) @@ -569,10 +575,13 @@ SPEC REPOS: - fmt - libevent - OpenSSL-Universal + - PLCrashReporter - SocketRocket - YogaKit EXTERNAL SOURCES: + backtrace-react-native: + :path: "../node_modules/@backtrace-labs/react-native" boost: :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: @@ -654,6 +663,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: + backtrace-react-native: b5e15cac52797b2d12e52ec2a57617be9390f1d7 boost: 57d2868c099736d80fcd648bf211b4431e51a558 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 @@ -672,6 +682,7 @@ SPEC CHECKSUMS: hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c + PLCrashReporter: 5d2d3967afe0efad61b3048d617e2199a5d1b787 RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f @@ -710,4 +721,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 8a8aa8565463f099a849a8e382f9d9ab6df99234 -COCOAPODS: 1.12.1 +COCOAPODS: 1.11.3 diff --git a/examples/sdk/reactNative/ios/reactNative.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/sdk/reactNative/ios/reactNative.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/examples/sdk/reactNative/ios/reactNative.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java b/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java index 274a8b61..3f966479 100644 --- a/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java +++ b/packages/react-native/android/src/main/java/backtrace/library/BacktraceFileSystemProvider.java @@ -1,6 +1,6 @@ package backtrace.library; -import android.content.Context; +import android.os.FileUtils; import android.util.Log; import androidx.annotation.NonNull; @@ -11,16 +11,13 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.module.annotations.ReactModule; -import java.io.BufferedWriter; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.PrintWriter; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Scanner; @ReactModule(name = BacktraceFileSystemProvider.NAME) @@ -45,7 +42,7 @@ public String readFileSync(String path) { return null; } - try (Scanner scanner = new Scanner(file)){ + try (Scanner scanner = new Scanner(file)) { StringBuilder sb = new StringBuilder(); while (scanner.hasNext()) { @@ -66,7 +63,7 @@ public void readFile(String path, Promise promise) { promise.reject(new FileNotFoundException(path)); return; } - try (Scanner scanner = new Scanner(file)){ + try (Scanner scanner = new Scanner(file)) { StringBuilder sb = new StringBuilder(); while (scanner.hasNext()) { @@ -137,16 +134,26 @@ public void exists(String path, Promise promise) { } @ReactMethod(isBlockingSynchronousMethod = true) - public boolean renameSync(String sourcePath, String destinationPath) { - File sourceFile = new File(sourcePath); - File destinationFile = new File(destinationPath); - return sourceFile.renameTo(destinationFile); + public boolean copySync(String sourcePath, String destinationPath) { + return copy(sourcePath, destinationPath); } @ReactMethod - public void rename(String sourcePath, String destinationPath, Promise promise) { - File sourceFile = new File(sourcePath); - File destinationFile = new File(destinationPath); - promise.resolve(sourceFile.renameTo(destinationFile)); + public void copy(String sourcePath, String destinationPath, Promise promise) { + promise.resolve(copy(sourcePath, destinationPath)); + } + + private boolean copy(String sourcePath, String destinationPath) { + try (FileInputStream inputStream = new FileInputStream(sourcePath); + FileOutputStream outputStream = new FileOutputStream(destinationPath, false)) { + byte[] buf = new byte[1024]; + int len; + while ((len = inputStream.read(buf)) > 0) { + outputStream.write(buf, 0, len); + } + return true; + } catch (Exception e) { + return false; + } } } \ No newline at end of file diff --git a/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java b/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java index f207cabd..77c76302 100644 --- a/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java +++ b/packages/react-native/android/src/main/java/backtrace/library/StreamWriter.java @@ -72,6 +72,7 @@ public boolean close(String key) { if (writer == null) { return true; } + _map.remove(key); try { writer.close(); return true; @@ -91,7 +92,7 @@ private BufferedWriter createWriter(String _sourceFile) { ) ); } catch (Exception e) { - Log.d(LOG_TAG, "Cannot create a writer. Reason:" + e.getMessage()); + Log.d(LOG_TAG, "Cannot create a writer. Reason: " + e.getMessage()); return null; } } diff --git a/packages/react-native/ios/BacktraceCrashReporter.h b/packages/react-native/ios/BacktraceCrashReporter.h index fd3908ea..e798e8b7 100644 --- a/packages/react-native/ios/BacktraceCrashReporter.h +++ b/packages/react-native/ios/BacktraceCrashReporter.h @@ -1,5 +1,5 @@ @interface BacktraceCrashReporter : NSObject -- (instancetype)initWithBacktraceUrl:(NSString*) rawUrl andAttributes:(NSDictionary*) attributes andOomSupport:(bool) enableOomSupport andAttachments:(NSArray*) attachments; +- (instancetype)initWithBacktraceUrl:(NSString*) rawUrl andDatabasePath:(NSString*) databasePath andAttributes:(NSDictionary*) attributes andOomSupport:(bool) enableOomSupport andAttachments:(NSArray*) attachments; - (void)useAttachments:(NSArray*) attachments; - (void)setAttributes:(NSDictionary*) attributes; - (void)start; diff --git a/packages/react-native/ios/BacktraceCrashReporter.mm b/packages/react-native/ios/BacktraceCrashReporter.mm index 55a849da..ea5faed4 100644 --- a/packages/react-native/ios/BacktraceCrashReporter.mm +++ b/packages/react-native/ios/BacktraceCrashReporter.mm @@ -34,11 +34,13 @@ @implementation BacktraceCrashReporter Boolean disabled = TRUE; static void onCrash(siginfo_t *info, ucontext_t *uap, void *context) { - [OomWatcher cleanup]; + if(_oomWatcher) { + [_oomWatcher cleanup]; + } } -- (instancetype)initWithBacktraceUrl:(NSString*) submissionUrl andAttributes:(NSDictionary*) attributes andOomSupport:(bool) enableOomSupport andAttachments:(NSArray*) attachments { +- (instancetype)initWithBacktraceUrl:(NSString*) submissionUrl andDatabasePath:(NSString*) databasePath andAttributes:(NSDictionary*) attributes andOomSupport:(bool) enableOomSupport andAttachments:(NSArray*) attachments { if(instance != nil) { return instance; } @@ -48,10 +50,6 @@ - (instancetype)initWithBacktraceUrl:(NSString*) submissionUrl andAttributes:(NS return nil; } if( self = [super init]) { - if(![CrashUtils prepareCrashDirectory]) { - NSLog(@"Backtrace: Cannot start integration - cannot create cache dir"); - return nil; - } NSLog(@"Backtrace: Initializing native client"); _backtraceApi = [[BacktraceApi alloc] initWithBacktraceUrl:submissionUrl]; _attachmentsPaths = [attachments mutableCopy]; @@ -60,7 +58,9 @@ - (instancetype)initWithBacktraceUrl:(NSString*) submissionUrl andAttributes:(NS _crashReporter = [[PLCrashReporter alloc] initWithConfiguration: [[PLCrashReporterConfig alloc] initWithSignalHandlerType: PLCrashReporterSignalHandlerTypeBSD - symbolicationStrategy: PLCrashReporterSymbolicationStrategyAll]]; + symbolicationStrategy: PLCrashReporterSymbolicationStrategyAll + basePath: databasePath + ]]; [self saveReportData]; PLCrashReporterCallbacks callback = { .version = 0, @@ -212,7 +212,9 @@ - (void)disableIntegration { if(disabled == YES){ return; } - [OomWatcher cleanup]; + if (_oomWatcher) { + [_oomWatcher cleanup]; + } [[NSNotificationCenter defaultCenter] removeObserver:self]; if(_oomWatcher != nil){ [_oomWatcher disable]; diff --git a/packages/react-native/ios/BacktraceDirectoryProvider.h b/packages/react-native/ios/BacktraceDirectoryProvider.h new file mode 100644 index 00000000..e6c7155c --- /dev/null +++ b/packages/react-native/ios/BacktraceDirectoryProvider.h @@ -0,0 +1,12 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceDirectoryProvider : NSObject +#else +#import + +@interface BacktraceDirectoryProvider : NSObject +#endif + +@end + diff --git a/packages/react-native/ios/BacktraceDirectoryProvider.mm b/packages/react-native/ios/BacktraceDirectoryProvider.mm new file mode 100644 index 00000000..298ec2e0 --- /dev/null +++ b/packages/react-native/ios/BacktraceDirectoryProvider.mm @@ -0,0 +1,63 @@ +#import "BacktraceDirectoryProvider.h" +#import + +@implementation BacktraceDirectoryProvider +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(createDirSync:(NSString*)path) { + NSError * error = nil; + BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:path + withIntermediateDirectories:YES + attributes:nil + error:&error]; + if (error) { + return @NO; + } + return @(success); +} + + +RCT_EXPORT_METHOD(createDir:(NSString*)path + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) +{ + NSError * error = nil; + BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:path + withIntermediateDirectories:YES + attributes:nil + error:&error]; + if (error) { + reject(@"Create directory", [error localizedDescription], error); + return; + } + if (!success) { + reject(@"Create directory", @"Cannot create a directory.", nil); + return; + } + + resolve(@YES); +} + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(readDirSync:(NSString*)path) { + NSError * error = nil; + NSArray* dirs = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path + error:&error]; + return dirs ? dirs: [NSMutableArray new]; +} + + +RCT_EXPORT_METHOD(readDir:(NSString*)path + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) +{ + NSError * error = nil; + NSArray* dirs = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path + error:&error]; + resolve(dirs ? dirs : [NSMutableArray new]); +} + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(applicationDirectory) { + return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; +} + + +@end diff --git a/packages/react-native/ios/BacktraceFileSystemProvider.h b/packages/react-native/ios/BacktraceFileSystemProvider.h new file mode 100644 index 00000000..b8258efd --- /dev/null +++ b/packages/react-native/ios/BacktraceFileSystemProvider.h @@ -0,0 +1,12 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceFileSystemProvider : NSObject +#else +#import + +@interface BacktraceFileSystemProvider : NSObject +#endif + +@end + diff --git a/packages/react-native/ios/BacktraceFileSystemProvider.mm b/packages/react-native/ios/BacktraceFileSystemProvider.mm new file mode 100644 index 00000000..033bb640 --- /dev/null +++ b/packages/react-native/ios/BacktraceFileSystemProvider.mm @@ -0,0 +1,158 @@ +#import "BacktraceFileSystemProvider.h" +#import + +@implementation BacktraceFileSystemProvider +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(readFileSync:(NSString*)path) { + NSFileManager *fileManager = [NSFileManager defaultManager]; + if (![fileManager fileExistsAtPath: path]) { + return NULL; + } + NSError *error= NULL; + NSData* data = [NSData dataWithContentsOfFile:path]; + if (error) { + NSLog(@"Backtrace: Cannot read the file. Reason: %@ %@", error, [error userInfo]); + return NULL; + } + NSString* result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + return result; + +} + + +RCT_EXPORT_METHOD(readFile:(NSString*)path + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) +{ + NSFileManager *fileManager = [NSFileManager defaultManager]; + if (![fileManager fileExistsAtPath: path]) { + resolve(NULL); + return; + } + NSError *error= NULL; + NSData* data = [NSData dataWithContentsOfFile:path]; + if (error) { + NSLog(@"Backtrace: Cannot read the file. Reason: %@ %@", error, [error userInfo]); + reject(@"Cannot read file", [error localizedDescription], error); + return; + } + NSString* result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + resolve(result); +} + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(writeFileSync:(NSString*)path + content:(NSString*)fileContent) { + NSError *error= NULL; + [fileContent writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error: &error]; + + if (error) { + NSLog(@"Backtrace: Cannot write file to the path %@. Reason: %@", path, [error localizedDescription]); + return @NO; + } + return @YES; +} + + +RCT_EXPORT_METHOD(writeFile:(NSString*)path + content:(NSString*)fileContent + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) +{ + NSError *error= NULL; + [fileContent writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error: &error]; + + if (error) { + NSLog(@"Backtrace: Cannot write file to the path %@. Reason: %@", path, [error localizedDescription]); + reject(@"Cannot write file", [error localizedDescription], error); + return; + } + resolve(nil); +} + + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(unlinkSync:(NSString*)path) { + NSError * error = nil; + [[NSFileManager defaultManager] removeItemAtPath:path error:&error]; + if (error) { + NSLog(@"Backtrace: Cannot unlink the file. Reason: %@ %@", error, [error userInfo]); + return @NO; + } + return @YES; +} + + +RCT_EXPORT_METHOD(unlink:(NSString*)path + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) +{ + NSError * error = nil; + [[NSFileManager defaultManager] removeItemAtPath:path error:&error]; + if (error) { + NSLog(@"Backtrace: Cannot unlink the file. Reason: %@ %@", error, [error userInfo]); + reject(@"Cannot unlink the file", [error localizedDescription], error); + return; + } + return resolve(@YES); +} + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(existsSync:(NSString*)path) { + return @([[NSFileManager defaultManager] fileExistsAtPath: path]); +} + + +RCT_EXPORT_METHOD(exists:(NSString*)path + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) +{ + resolve(@([[NSFileManager defaultManager] fileExistsAtPath: path])); +} + + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(copySync:(NSString*)sourcePath + andDestinationPath: (NSString*)destinationPath) { + NSError *error = nil; + BOOL result = [[NSFileManager defaultManager] replaceItemAtURL:[NSURL fileURLWithPath:destinationPath] withItemAtURL:[NSURL fileURLWithPath:sourcePath] backupItemName:nil options:0 resultingItemURL:nil error:&error]; + if (error) { + NSLog(@"Backtrace: Cannot rename the file. Reason: %@ %@", error, [error userInfo]); + return @NO; + } + + if(![[NSFileManager defaultManager] fileExistsAtPath:sourcePath]) { + [[NSFileManager defaultManager] copyItemAtPath:destinationPath toPath:sourcePath error:&error]; + } + + if (error) { + NSLog(@"Backtrace: Cannot copy the file. Reason: %@ %@", error, [error userInfo]); + return @NO; + } + return @(result); +} + + +RCT_EXPORT_METHOD(copy:(NSString*)sourcePath + andDestinationPath: (NSString*)destinationPath + andResolver:(RCTPromiseResolveBlock)resolve + andRejecter:(RCTPromiseRejectBlock)reject) +{ + NSError *error = nil; + BOOL result = [[NSFileManager defaultManager] replaceItemAtURL:[NSURL fileURLWithPath:destinationPath] withItemAtURL:[NSURL fileURLWithPath:sourcePath] backupItemName:nil options:0 resultingItemURL:nil error:&error]; + if (error) { + NSLog(@"Backtrace: Cannot rename the file. Reason: %@ %@", error, [error userInfo]); + reject(@"Cannot rename the file", [error localizedDescription], error); + return; + } + + if(![[NSFileManager defaultManager] fileExistsAtPath:sourcePath]) { + [[NSFileManager defaultManager] copyItemAtPath:destinationPath toPath:sourcePath error:&error]; + } + + if (error) { + NSLog(@"Backtrace: Cannot copy the file. Reason: %@ %@", error, [error userInfo]); + reject(@"Cannot copy the file", [error localizedDescription], error); + return; + } + + resolve(@(result)); +} + +@end diff --git a/packages/react-native/ios/BacktraceReactNative.mm b/packages/react-native/ios/BacktraceReactNative.mm index 948b0865..b53441ad 100644 --- a/packages/react-native/ios/BacktraceReactNative.mm +++ b/packages/react-native/ios/BacktraceReactNative.mm @@ -7,12 +7,13 @@ @implementation BacktraceReactNative RCT_EXPORT_MODULE() RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(initialize:(NSString*)submissionUrl + database:(NSString*)databasePath attributes:(NSDictionary*)attributes attachmentPaths:(NSArray*)attachmentPaths) { if(instance != nil) { return nil; } - instance = [[BacktraceCrashReporter alloc] initWithBacktraceUrl:submissionUrl andAttributes: attributes andOomSupport:TRUE andAttachments:attachmentPaths]; + instance = [[BacktraceCrashReporter alloc] initWithBacktraceUrl:submissionUrl andDatabasePath: databasePath andAttributes: attributes andOomSupport:TRUE andAttachments:attachmentPaths]; [instance start]; return instance; } diff --git a/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj b/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj index 51e2ba1e..03807f93 100644 --- a/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj +++ b/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj @@ -39,6 +39,12 @@ 5BD713EC2AAB80230029E295 /* BacktraceApplicationAttributeProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceApplicationAttributeProvider.mm; sourceTree = ""; }; 5BD713EE2AAB803A0029E295 /* BacktraceCrashReporter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceCrashReporter.h; sourceTree = ""; }; 5BD713EF2AAB80400029E295 /* BacktraceCrashReporter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceCrashReporter.mm; sourceTree = ""; }; + 5BDB143C2AD45BE00098C96E /* BacktraceDirectoryProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceDirectoryProvider.mm; sourceTree = ""; }; + 5BDB143D2AD45BE00098C96E /* BacktraceDirectoryProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceDirectoryProvider.h; sourceTree = ""; }; + 5BDB143E2AD460CA0098C96E /* BacktraceFileSystemProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceFileSystemProvider.h; sourceTree = ""; }; + 5BDB143F2AD460CA0098C96E /* BacktraceFileSystemProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceFileSystemProvider.mm; sourceTree = ""; }; + 5BDB14402AD46FBD0098C96E /* StreamWriter.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = StreamWriter.mm; sourceTree = ""; }; + 5BDB14412AD46FBD0098C96E /* StreamWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StreamWriter.h; sourceTree = ""; }; B3E7B5881CC2AC0600A0062D /* BacktraceReactNative.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BacktraceReactNative.h; sourceTree = ""; }; B3E7B5891CC2AC0600A0062D /* BacktraceReactNative.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BacktraceReactNative.mm; sourceTree = ""; }; /* End PBXFileReference section */ @@ -65,6 +71,12 @@ 58B511D21A9E6C8500147676 = { isa = PBXGroup; children = ( + 5BDB14402AD46FBD0098C96E /* StreamWriter.mm */, + 5BDB14412AD46FBD0098C96E /* StreamWriter.h */, + 5BDB143E2AD460CA0098C96E /* BacktraceFileSystemProvider.h */, + 5BDB143F2AD460CA0098C96E /* BacktraceFileSystemProvider.mm */, + 5BDB143C2AD45BE00098C96E /* BacktraceDirectoryProvider.mm */, + 5BDB143D2AD45BE00098C96E /* BacktraceDirectoryProvider.h */, 5B861DAF2AB1CBE100C25F05 /* BacktraceCpuAttributeProvider.h */, 5B861DB02AB1CBE100C25F05 /* BacktraceCpuAttributeProvider.mm */, 5B861DAD2AB0BA3200C25F05 /* BacktraceSystemAttributeProvider.h */, diff --git a/packages/react-native/ios/CrashUtils.h b/packages/react-native/ios/CrashUtils.h index 0df68fd1..48381bc8 100644 --- a/packages/react-native/ios/CrashUtils.h +++ b/packages/react-native/ios/CrashUtils.h @@ -1,8 +1,5 @@ @interface CrashUtils : NSObject + (BOOL)isDebuggerAttached; -+ (NSString*) getCacheDir; -+ (NSString*) getDefaultReportPath; -+ (NSString*) getDefaultOomStatusPath; -+ (BOOL) prepareCrashDirectory; + (void) crash; ++ (NSError*) convertExceptionToError:(NSException*) exception; @end diff --git a/packages/react-native/ios/CrashUtils.mm b/packages/react-native/ios/CrashUtils.mm index 167123bf..1075e1dd 100644 --- a/packages/react-native/ios/CrashUtils.mm +++ b/packages/react-native/ios/CrashUtils.mm @@ -41,32 +41,16 @@ + (BOOL) isDebuggerAttached { return ( (info.kp_proc.p_flag & P_TRACED) != 0 ); } - -// returns cache dir path -+ (NSString*) getCacheDir { - NSString *cacheDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; - return [cacheDirectory stringByAppendingPathComponent:@"BacktraceCache"]; -} - -// returns report path -+ (NSString*) getDefaultReportPath { - return [ [CrashUtils getCacheDir] stringByAppendingPathComponent:@"Backtrace.plist"]; -} - -// returns path to oom status file path -+ (NSString*) getDefaultOomStatusPath { - return [ [CrashUtils getCacheDir] stringByAppendingPathComponent:@"BacktraceOOMState.json"]; -} - -+ (BOOL) prepareCrashDirectory { - NSString* backtraceDir = [CrashUtils getCacheDir]; - BOOL isDir = NO; - NSError *error; - if (! [[NSFileManager defaultManager] fileExistsAtPath:backtraceDir isDirectory:&isDir]) { - return [[NSFileManager defaultManager] createDirectoryAtPath:backtraceDir withIntermediateDirectories:YES attributes:nil error:&error]; - } else { - return isDir; - } ++ (NSError*) convertExceptionToError:(NSException*) exception { + NSMutableDictionary * info = [NSMutableDictionary dictionary]; + [info setValue:exception.name forKey:@"ExceptionName"]; + [info setValue:exception.reason forKey:@"ExceptionReason"]; + [info setValue:exception.callStackReturnAddresses forKey:@"ExceptionCallStackReturnAddresses"]; + [info setValue:exception.callStackSymbols forKey:@"ExceptionCallStackSymbols"]; + [info setValue:exception.userInfo forKey:@"ExceptionUserInfo"]; + + NSError *error = [[NSError alloc] initWithDomain:exception.name code:0 userInfo:info]; + return error; } + (void) crash { diff --git a/packages/react-native/ios/OomWatcher.h b/packages/react-native/ios/OomWatcher.h index d912bfe8..c877cdcd 100644 --- a/packages/react-native/ios/OomWatcher.h +++ b/packages/react-native/ios/OomWatcher.h @@ -13,8 +13,8 @@ BOOL _disabled; } - (void) disable; -+ (void) cleanup; -- (instancetype) init; +- (void) cleanup; +- (instancetype) initWithDatabasePath: (NSString*) databasePath; - (BOOL) shouldReportOom:(BOOL)didCrash; - (NSDictionary*) getOomState; - (void) startOomIntegration: (NSArray*) attachments andAttributes:(NSDictionary*) attributes; diff --git a/packages/react-native/ios/OomWatcher.mm b/packages/react-native/ios/OomWatcher.mm index a4e02944..d89c6487 100644 --- a/packages/react-native/ios/OomWatcher.mm +++ b/packages/react-native/ios/OomWatcher.mm @@ -16,11 +16,14 @@ @implementation OomWatcher // determine if oom watcher have been disposed bool _disabled; -- (instancetype) init { +NSString* _oomCache; + +- (instancetype) initWithDatabasePath: (NSString*) databasePath { if (self = [super init]) { _lastUpdateTime = 0; _applicationState = [NSMutableDictionary dictionary]; _debugMode = [CrashUtils isDebuggerAttached]; + _oomCache = [databasePath stringByAppendingPathComponent:@"BacktraceOOMState.json"]; _disabled = NO; } @@ -41,13 +44,12 @@ - (BOOL) shouldReportOom:(BOOL)didCrash { } - (NSDictionary*) getOomState { - NSString* statusPath = [CrashUtils getDefaultOomStatusPath]; NSFileManager* manager = [NSFileManager defaultManager]; - if([manager fileExistsAtPath:statusPath] == NO) { + if([manager fileExistsAtPath:_oomCache] == NO) { return nil; } - NSDictionary* state= [NSDictionary dictionaryWithContentsOfFile:statusPath]; + NSDictionary* state= [NSDictionary dictionaryWithContentsOfFile:_oomCache]; return state; } @@ -130,15 +132,18 @@ - (BOOL) verifyOomState: (NSDictionary*) state { } // cleanup Oom integration -+ (void) cleanup { - NSString* statusPath = [CrashUtils getDefaultOomStatusPath]; +- (void) cleanup { NSFileManager* manager = [NSFileManager defaultManager]; - if(![manager fileExistsAtPath:statusPath]) { + if(![manager fileExistsAtPath:_oomCache]) { return; } NSError *error; - [manager removeItemAtPath:statusPath error: &error]; + [manager removeItemAtPath:_oomCache error: &error]; + + if(error) { + NSLog(@"Backtrace: Cannot cleanup the OOM cache file."); + } } - (void) disable { @@ -150,7 +155,7 @@ - (void) saveApplicationState { if(_disabled == YES) { return; } - NSString* statusPath = [CrashUtils getDefaultOomStatusPath]; - [_applicationState writeToFile:statusPath atomically:YES]; + + [_applicationState writeToFile:_oomCache atomically:YES]; } @end diff --git a/packages/react-native/ios/StreamWriter.h b/packages/react-native/ios/StreamWriter.h new file mode 100644 index 00000000..5d7fad1b --- /dev/null +++ b/packages/react-native/ios/StreamWriter.h @@ -0,0 +1,12 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface StreamWriter : NSObject +#else +#import + +@interface StreamWriter : NSObject +#endif + +@end + diff --git a/packages/react-native/ios/StreamWriter.mm b/packages/react-native/ios/StreamWriter.mm new file mode 100644 index 00000000..f5f81946 --- /dev/null +++ b/packages/react-native/ios/StreamWriter.mm @@ -0,0 +1,98 @@ +#import "StreamWriter.h" +#import "CrashUtils.h" +#import + +@implementation StreamWriter + +NSMutableDictionary *dictionary = [NSMutableDictionary new]; + +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(create:(NSString*) sourceFile) { + @synchronized (self) { + if([dictionary objectForKey: sourceFile]) { + return sourceFile; + } + + NSFileManager* manager = [NSFileManager defaultManager]; + + if(![manager createFileAtPath:sourceFile + contents:nil + attributes:nil]){ + return nil; + } + + NSFileHandle* output = [NSFileHandle fileHandleForWritingAtPath:sourceFile]; + if(!output) { + NSLog(@"Output file doesn't exist"); + return nil; + } + [dictionary setValue:output forKey:sourceFile]; + } + + return sourceFile; + +} + +RCT_EXPORT_METHOD(append:(NSString*) sourceKey + withContent:(NSString*) content + AndResolver:(RCTPromiseResolveBlock)resolve + andRejecter:(RCTPromiseRejectBlock)reject) { + + NSFileHandle* output = [dictionary objectForKey: sourceKey]; + if(!output) { + reject(@"Stream writer append", @"File handler not found", nil); + return; + } + + if (@available(iOS 13.0, *)) { + NSError* error; + [output writeData:[content dataUsingEncoding:NSUTF8StringEncoding] error:&error]; + if(error) { + NSLog(@"Backtrace: Stream writer append error. Reason: %@ %@", error, [error userInfo]); + reject(@"Stream writer append", error.localizedDescription, error); + return; + } + } else { + @try { + [output writeData:[content dataUsingEncoding:NSUTF8StringEncoding]]; + } @catch (NSException *exception) { + NSError* error = [CrashUtils convertExceptionToError:exception]; + NSLog(@"Backtrace: Cannot write data to stream writer. Reason: %@ %@", exception, [exception userInfo]); + reject(@"Stream writer append", error.localizedDescription, error); + return; + } + } + + + resolve(@YES); +} + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(close:(NSString*) sourceKey) { + + NSFileHandle* output = [dictionary objectForKey: sourceKey]; + if(!output) { + return @YES; + } + [dictionary removeObjectForKey:sourceKey]; + + if (@available(iOS 13.0, *)) { + NSError* error; + [output closeAndReturnError:&error]; + if(error) { + NSLog(@"Backtrace: Cannot close stream writer. Reason: %@ %@", error.localizedDescription, [error userInfo]); + return @NO; + } + } else { + @try { + [output closeFile]; + } @catch (NSException *exception) { + NSLog(@"Backtrace: Cannot close the stream writer. Reason: %@ %@", exception.reason, [exception userInfo]); + return @NO; + } + } + + return @YES; +} + +@end + diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts index 18b3d351..8395c4c1 100644 --- a/packages/react-native/src/BacktraceClient.ts +++ b/packages/react-native/src/BacktraceClient.ts @@ -19,6 +19,7 @@ import { CrashReporter } from './crashReporter/CrashReporter'; import { generateUnhandledExceptionHandler } from './handlers'; import { type ExceptionHandler } from './handlers/ExceptionHandler'; import { type FileSystem } from './storage/FileSystem'; + export class BacktraceClient extends BacktraceCoreClient { private readonly _crashReporter?: CrashReporter; private readonly _exceptionHandler: ExceptionHandler = generateUnhandledExceptionHandler(); diff --git a/packages/react-native/src/attachment/BacktraceFileAttachment.ts b/packages/react-native/src/attachment/BacktraceFileAttachment.ts index e9b1b1f1..56819452 100644 --- a/packages/react-native/src/attachment/BacktraceFileAttachment.ts +++ b/packages/react-native/src/attachment/BacktraceFileAttachment.ts @@ -1,9 +1,12 @@ import { type BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace-labs/sdk-core'; +import { Platform } from 'react-native'; import { type FileSystem } from '../storage/'; +import { type FileLocation } from '../types/FileLocation'; export class BacktraceFileAttachment implements CoreBacktraceFileAttachment { public readonly name: string; public readonly mimeType: string; + private readonly _uploadUri: string; constructor( private readonly _fileSystemProvider: FileSystem, public readonly filePath: string, @@ -12,16 +15,17 @@ export class BacktraceFileAttachment implements CoreBacktraceFileAttachment { ) { this.name = name ?? filePath; this.mimeType = mimeType ?? 'application/octet-stream'; + this._uploadUri = Platform.OS === 'android' ? `file://${this.filePath}` : this.filePath; } - public get() { + public get(): FileLocation | string | undefined { const exists = this._fileSystemProvider.existsSync(this.filePath); if (!exists) { return undefined; } return { - uri: `file://${this.filePath}`, + uri: this._uploadUri, name: this.name, filename: this.name, type: this.mimeType, diff --git a/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts b/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts index e4d000ec..4dadccd9 100644 --- a/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts +++ b/packages/react-native/src/breadcrumbs/AlternatingFileWriter.ts @@ -8,6 +8,10 @@ export class AlternatingFileWriter { private readonly _streamWriter: StreamWriter; + private readonly _logQueue: string[] = []; + + private _currentAppendedLog?: string; + constructor( private readonly _mainFile: string, private readonly _fallbackFile: string, @@ -20,22 +24,76 @@ export class AlternatingFileWriter { this._streamWriter = this._fileSystem.streamWriter; } - public async writeLine(value: string): Promise { + public writeLine(value: string) { if (this._disposed) { throw new Error('This instance has been disposed.'); } + + this._logQueue.push(value); + if (!this._currentAppendedLog) { + this.process(); + } + } + + private process() { + this._currentAppendedLog = this._logQueue.shift(); + + if (!this._currentAppendedLog) { + return; + } + + this.prepareBreadcrumbStream(); + + if (!this._streamId) { + this._logQueue.unshift(this._currentAppendedLog); + this._currentAppendedLog = undefined; + return; + } + + // if the queue is full and we can save more item in a batch + // try to save as much as possible to speed up potential native operations + this._count += 1; + const logsToAppend = [this._currentAppendedLog]; + + const restAppendingLogs = this._logQueue.splice(0, this._fileCapacity - this._count); + this._count = this._count + restAppendingLogs.length; + logsToAppend.push(...restAppendingLogs); + + this._streamWriter + .append(this._streamId, logsToAppend.join('\n') + '\n') + .catch(() => { + // handle potential issues with appending logs. + // we can't do really too much here other than retry + // logging the error might also cause a breadcrumb loop, that we should try to avoid + this._logQueue.unshift(...logsToAppend); + }) + .finally(() => { + if (this._logQueue.length !== 0) { + return this.process(); + } else { + this._currentAppendedLog = undefined; + } + }); + } + + private prepareBreadcrumbStream() { if (!this._streamId) { this._streamId = this._streamWriter.create(this._mainFile); } else if (this._count >= this._fileCapacity) { - this._streamWriter.close(this._streamId); - this._count = 0; - this._fileSystem.renameSync(this._mainFile, this._fallbackFile); + const closeResult = this._streamWriter.close(this._streamId); + if (!closeResult) { + return; + } + this._streamId = undefined; + + const renameResult = this._fileSystem.copySync(this._mainFile, this._fallbackFile); + if (!renameResult) { + return; + } this._streamId = this._streamWriter.create(this._mainFile); - } - this._streamWriter.append(this._streamId, value + '\n'); - this._count++; - return this; + this._count = 0; + } } public dispose() { diff --git a/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts index c776eb84..3992cf87 100644 --- a/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts +++ b/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -9,11 +9,11 @@ import { type BreadcrumbsStorage, type RawBreadcrumb, } from '@backtrace-labs/sdk-core'; -import { BacktraceFileAttachment } from '../attachment/BacktraceFileAttachment'; +import { BacktraceFileAttachment } from '..'; import { type FileSystem } from '../storage'; import { AlternatingFileWriter } from './AlternatingFileWriter'; -const FILE_PREFIX = 'breadcrumbs'; +const FILE_PREFIX = 'bt-breadcrumbs'; export class FileBreadcrumbsStorage implements BreadcrumbsStorage { public get lastBreadcrumbId(): number { @@ -79,6 +79,6 @@ export class FileBreadcrumbsStorage implements BreadcrumbsStorage { } private static getFileName(index: number) { - return `bt-${FILE_PREFIX}-${index}`; + return `${FILE_PREFIX}-${index}`; } } diff --git a/packages/react-native/src/builder/BacktraceClientBuilder.ts b/packages/react-native/src/builder/BacktraceClientBuilder.ts index 5f2ece46..8b46fed4 100644 --- a/packages/react-native/src/builder/BacktraceClientBuilder.ts +++ b/packages/react-native/src/builder/BacktraceClientBuilder.ts @@ -11,28 +11,29 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder; + copy(sourceFile: string, destinationFile: string): Promise; + copySync(sourceFile: string, destinationFile: string): boolean; applicationDirectory(): string; streamWriter: StreamWriter; } diff --git a/packages/react-native/src/storage/ReactNativeFileProvider.ts b/packages/react-native/src/storage/ReactNativeFileProvider.ts index 5bb91dd0..ce6d385b 100644 --- a/packages/react-native/src/storage/ReactNativeFileProvider.ts +++ b/packages/react-native/src/storage/ReactNativeFileProvider.ts @@ -11,6 +11,6 @@ export interface ReactNativeFileProvider { exists(path: string): Promise; existsSync(path: string): boolean; - rename(path: string, newPath: string): Promise; - renameSync(path: string, newPath: string): boolean; + copy(path: string, newPath: string): Promise; + copySync(path: string, newPath: string): boolean; } diff --git a/packages/react-native/src/storage/ReactNativeFileSystem.ts b/packages/react-native/src/storage/ReactNativeFileSystem.ts index 3ac8e30a..f3eb5f00 100644 --- a/packages/react-native/src/storage/ReactNativeFileSystem.ts +++ b/packages/react-native/src/storage/ReactNativeFileSystem.ts @@ -78,12 +78,12 @@ export class ReactNativeFileSystem implements FileSystem { return this._fileSystemProvider.existsSync(path); } - public rename(sourceFile: string, destinationFile: string): Promise { - return this._fileSystemProvider.rename(sourceFile, destinationFile); + public copy(sourceFile: string, destinationFile: string): Promise { + return this._fileSystemProvider.copy(sourceFile, destinationFile); } - public renameSync(sourceFile: string, destinationFile: string): boolean { - return this._fileSystemProvider.renameSync(sourceFile, destinationFile); + public copySync(sourceFile: string, destinationFile: string): boolean { + return this._fileSystemProvider.copySync(sourceFile, destinationFile); } public createAttachment(path: string, name?: string | undefined): BacktraceAttachment { diff --git a/packages/react-native/src/types/FileLocation.ts b/packages/react-native/src/types/FileLocation.ts new file mode 100644 index 00000000..0f94d770 --- /dev/null +++ b/packages/react-native/src/types/FileLocation.ts @@ -0,0 +1,7 @@ +export interface FileLocation { + uri: string; + name: string; + filename: string; + type: string; + filepath: string; +} From c429eacaff0388c7daffaa3751ecc9cfda7d7fd9 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 19 Oct 2023 09:53:27 +0200 Subject: [PATCH 222/291] clI: search sourcemaps in directory specified by sourceMappingURL (#174) * cli: add searching sourcemaps by directory in sourceMappingURL * cli: add tests for searching sourcemaps by directory in sourceMappingURL --------- Co-authored-by: Sebastian Alex Co-authored-by: Konrad Dysput --- tools/cli/src/helpers/common.ts | 4 +- .../dir/entry2.js.map | 11 +++ .../directory-linked-sourcemaps/entry1.js | 7 ++ .../directory-linked-sourcemaps/entry1.js.map | 11 +++ .../directory-linked-sourcemaps/entry2.js | 7 ++ .../dir/entry2.js.map | 16 ++++ .../entry1.js | 9 +++ .../entry1.js.map | 16 ++++ .../entry2.js | 9 +++ tools/cli/tests/_helpers/testFiles.ts | 4 +- .../cli/tests/sourcemaps/add-sources.spec.ts | 59 ++++++++++++++ tools/cli/tests/sourcemaps/process.spec.ts | 81 +++++++++++++++++++ tools/cli/tests/sourcemaps/run.spec.ts | 34 ++++++++ tools/cli/tests/sourcemaps/upload.spec.ts | 67 ++++++++++++++- tools/sourcemap-tools/src/SourceProcessor.ts | 38 ++++++--- tools/sourcemap-tools/src/helpers/common.ts | 8 ++ tools/sourcemap-tools/src/helpers/flow.ts | 2 +- 17 files changed, 368 insertions(+), 15 deletions(-) create mode 100644 tools/cli/tests/_files/directory-linked-sourcemaps/dir/entry2.js.map create mode 100644 tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js.map create mode 100644 tools/cli/tests/_files/directory-linked-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/processed-directory-linked-sourcemaps/dir/entry2.js.map create mode 100644 tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js.map create mode 100644 tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index 789c3c74..de5fb183 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -55,8 +55,8 @@ export function readSourceAndSourceMap(sourceProcessor: SourceProcessor) { pipe( source.content, (content) => sourceProcessor.getSourceMapPathFromSource(content, sourceAsset.path), - (result) => result ?? pathIfExists(`${source.path}.map`), - (path) => (path ? Ok(path) : Err('could not find source map for source')), + R.map((result) => result ?? pathIfExists(`${source.path}.map`)), + R.map((path) => (path ? Ok(path) : Err('could not find source map for source'))), R.map((path) => ({ name: path, path } as Asset)), R.map(readSourceMap), R.map((sourceMap) => ({ source, sourceMap } as SourceAndSourceMap)), diff --git a/tools/cli/tests/_files/directory-linked-sourcemaps/dir/entry2.js.map b/tools/cli/tests/_files/directory-linked-sourcemaps/dir/entry2.js.map new file mode 100644 index 00000000..50a2cb5b --- /dev/null +++ b/tools/cli/tests/_files/directory-linked-sourcemaps/dir/entry2.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "../../sources/dependency.ts", + "../../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js b/tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js new file mode 100644 index 00000000..6d0bd397 --- /dev/null +++ b/tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=. \ No newline at end of file diff --git a/tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js.map b/tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js.map new file mode 100644 index 00000000..beb2bae4 --- /dev/null +++ b/tools/cli/tests/_files/directory-linked-sourcemaps/entry1.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/directory-linked-sourcemaps/entry2.js b/tools/cli/tests/_files/directory-linked-sourcemaps/entry2.js new file mode 100644 index 00000000..7076856c --- /dev/null +++ b/tools/cli/tests/_files/directory-linked-sourcemaps/entry2.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=./dir \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/dir/entry2.js.map b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/dir/entry2.js.map new file mode 100644 index 00000000..393b4f0a --- /dev/null +++ b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/dir/entry2.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": ";", + "sources": [ + "../../sources/dependency.ts", + "../../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "d538bdaa-8149-8111-25f0-b5c0f472366a", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 2!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js new file mode 100644 index 00000000..0ea660f7 --- /dev/null +++ b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=. +//# debugId=4fe9a5c9-ab48-b240-9469-04aa2db251b6 \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js.map b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js.map new file mode 100644 index 00000000..3d5e7249 --- /dev/null +++ b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "4fe9a5c9-ab48-b240-9469-04aa2db251b6", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 1!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js new file mode 100644 index 00000000..6c17bb4c --- /dev/null +++ b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=./dir +//# debugId=d538bdaa-8149-8111-25f0-b5c0f472366a \ No newline at end of file diff --git a/tools/cli/tests/_helpers/testFiles.ts b/tools/cli/tests/_helpers/testFiles.ts index 9daf0b07..b2d979ae 100644 --- a/tools/cli/tests/_helpers/testFiles.ts +++ b/tools/cli/tests/_helpers/testFiles.ts @@ -7,7 +7,9 @@ import path from 'path'; export type TestFiles = | 'no-sourcemaps' | 'not-linked-sourcemaps' + | 'directory-linked-sourcemaps' | 'processed-not-linked-sourcemaps' + | 'processed-directory-linked-sourcemaps' | 'original' | 'processed' | 'processed-with-sources' @@ -36,7 +38,7 @@ export function withWorkingCopy(sources: TestFiles | TestFiles[], fn: (path: str try { await fn(workingCopy); } finally { - fsExtra.removeSync(workingCopy); + fs.rmSync(workingCopy, { recursive: true, force: true }); } }; } diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index 6a3e2ef5..1abd8b50 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -415,4 +415,63 @@ describe('add-sources', () => { }), ); }); + + describe('directory linked sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemap paths', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'addSourcesToSourceMap'); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js.map`); + + for (const file of files) { + expect(spy).toBeCalledWith(expect.anything(), file); + } + }), + ); + + it( + 'should modify sourcesmaps in place', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index b2370059..0437dbde 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -420,4 +420,85 @@ describe('process', () => { }), ); }); + + describe('directory linked sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sources', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything()); + } + }), + ); + + it( + 'should modify sources in place', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + + it( + 'should modify sourcemaps in place', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index ea4081a0..818912fb 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -497,4 +497,38 @@ describe('run', () => { }), ); }); + + describe('directory linked sourcemaps', () => { + it( + 'should return processed sources and sourcemap paths', + withWorkingCopy('directory-linked-sourcemaps', async (workingDir) => { + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = [...(await glob(`${workingDir}/*.js`)), ...(await glob(`${workingDir}/*.js.map`))]; + expect(result.data.flatMap((d) => [d.source.path, d.sourceMap.path])).toEqual( + expect.arrayContaining(expected), + ); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/upload.spec.ts b/tools/cli/tests/sourcemaps/upload.spec.ts index 924c436d..6a8faa4c 100644 --- a/tools/cli/tests/sourcemaps/upload.spec.ts +++ b/tools/cli/tests/sourcemaps/upload.spec.ts @@ -397,7 +397,7 @@ describe('upload', () => { }); assert(result.isOk(), result.data as string); - await expect(fs.promises.stat(output)).rejects.toThrow(); + expect(fs.existsSync(output)).toBe(false); }), ); }); @@ -466,4 +466,69 @@ describe('upload', () => { }), ); }); + + describe('directory linked processed sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('processed-directory-linked-sourcemaps', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should append sourcemaps to archive', + withWorkingCopy('processed-directory-linked-sourcemaps', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js.map`); + for (const file of files) { + expect(appendSpy).toHaveBeenCalledWith( + expect.stringContaining(path.basename(file)), + expect.anything(), + ); + } + }), + ); + + it( + 'should call upload', + withWorkingCopy('processed-directory-linked-sourcemaps', async (workingDir) => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: `${workingDir}/*.js`, + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).toBeCalled(); + }), + ); + }); }); diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 26e61f88..2ac16a7b 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -1,6 +1,6 @@ import path from 'path'; import { DebugIdGenerator } from './DebugIdGenerator'; -import { parseJSON, readFile } from './helpers/common'; +import { parseJSON, readFile, statFile } from './helpers/common'; import { pipe } from './helpers/flow'; import { appendBeforeWhitespaces } from './helpers/stringHelpers'; import { stringToUuid } from './helpers/stringToUuid'; @@ -117,7 +117,12 @@ export class SourceProcessor { const source = sourceReadResult.data; if (!sourceMapPath) { - const pathFromSource = this.getSourceMapPathFromSource(source, sourcePath); + const pathFromSourceResult = await this.getSourceMapPathFromSource(source, sourcePath); + if (pathFromSourceResult.isErr()) { + return pathFromSourceResult; + } + + const pathFromSource = pathFromSourceResult.data; if (!pathFromSource) { return Err('could not find source map for source'); } @@ -152,16 +157,29 @@ export class SourceProcessor { return sourceReadResult; } - return Ok(this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath)); + return this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath); } - public getSourceMapPathFromSource(source: string, sourcePath: string) { - const match = source.match(/^\/\/# sourceMappingURL=(.+)$/m); - if (!match || !match[1]) { - return undefined; - } - - return path.resolve(path.dirname(sourcePath), match[1]); + public async getSourceMapPathFromSource( + source: string, + sourcePath: string, + ): ResultPromise { + const resolveFile = (filePath: string) => + pipe( + filePath, + statFile, + R.map((stat) => + stat.isFile() + ? filePath + : (path.join(filePath, path.basename(sourcePath) + '.map') as string | undefined), + ), + ); + + return pipe(source.match(/^\/\/# sourceMappingURL=(.+)$/m), (match) => + !match || !match[1] + ? Ok(undefined) + : pipe(match[1], (match) => path.resolve(path.dirname(sourcePath), match), resolveFile), + ); } public async addSourcesToSourceMap( diff --git a/tools/sourcemap-tools/src/helpers/common.ts b/tools/sourcemap-tools/src/helpers/common.ts index 4205e7ba..b59169ef 100644 --- a/tools/sourcemap-tools/src/helpers/common.ts +++ b/tools/sourcemap-tools/src/helpers/common.ts @@ -25,6 +25,14 @@ export function writeFile(path: string) { }; } +export async function statFile(path: string) { + try { + return Ok(await fs.promises.stat(path)); + } catch (err) { + return Err(`failed to write file: ${err}`); + } +} + export function createWriteStream(path: string) { try { return Ok(fs.createWriteStream(path)); diff --git a/tools/sourcemap-tools/src/helpers/flow.ts b/tools/sourcemap-tools/src/helpers/flow.ts index a64e5044..2917e6e5 100644 --- a/tools/sourcemap-tools/src/helpers/flow.ts +++ b/tools/sourcemap-tools/src/helpers/flow.ts @@ -93,7 +93,7 @@ export function flow Promise; export function flow(...fns: ((v: unknown) => unknown | Promise)[]): (v: unknown) => Promise { - return async (a) => _pipe(a, ...fns); + return (a) => _pipe(a, ...fns); } export function pipe(value: A, fnAb: (a: A) => B | Promise): Promise; From cf20258fb57dbb45366f0fd1c11ea2e52e2b0eb8 Mon Sep 17 00:00:00 2001 From: Rick Foster <115846221+rick-bt@users.noreply.github.com> Date: Thu, 19 Oct 2023 08:45:15 -0700 Subject: [PATCH 223/291] Bt 720 web sdk readme remove bt client methods (#180) * BT-720 Propogate browser changes to other readmes * Removed BacktraceDatabase Methods * Updated React Natice md. Processed PR comments. * Copy edit * Clarifying attachment details for React Native --- packages/browser/README.md | 11 +-- packages/nestjs/README.md | 127 +++++++++++++++---------------- packages/node/README.md | 128 +++++++++++++++----------------- packages/react-native/README.md | 120 ++++++++++++++++++------------ packages/react/README.md | 93 +++++++++++++---------- 5 files changed, 254 insertions(+), 225 deletions(-) diff --git a/packages/browser/README.md b/packages/browser/README.md index 5038ac36..16c28a5b 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -23,7 +23,7 @@ and easy, after which you can explore the rich set of Backtrace features. - [BacktraceClient options](#backtraceclient) - [Manually send an error](#manually-send-an-error) - [Modify/skip error reports](#modifyskip-error-reports) - - [Custom file/http handlers](#custom-filehttp-handlers) + - [SDK Method Overrides](#sdk-method-overrides) ## Basic Integration @@ -294,9 +294,7 @@ client.metrics?.send(); ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and -send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from -exceptions and rejection handlers. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions @@ -356,12 +354,11 @@ const client = BacktraceClient.initialize({ return data; }, }); - ``` -### Custom file/http handlers +### SDK Method Overrides -Custom handlers can be implemented to override BacktraceClient file and http operations. Overriding the default operations allows custom encryption for data at rest or in motion. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. > Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. diff --git a/packages/nestjs/README.md b/packages/nestjs/README.md index 977c8d6a..8f41c1a5 100644 --- a/packages/nestjs/README.md +++ b/packages/nestjs/README.md @@ -25,12 +25,10 @@ easy, after which you can explore the rich set of Backtrace features. - [Native crash support](#native-crash-support) - [Manual database operations](#manual-database-operations) 1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient options](#backtraceclient) - [Manually send an error](#manually-send-an-error) - - [BacktraceClient](#backtraceclient) - - [BacktraceClientOptions](#backtraceclientoptions) - - [BacktraceClient Methods](#backtraceclient-methods) - - [BacktraceDatabase Methods](#backtracedatabase-methods) - - [BacktraceReports](#backtracereport) + - [Modify/skip error reports](#modifyskip-error-reports) + - [SDK Method Overrides](#sdk-method-overrides) ## Basic Integration @@ -252,7 +250,7 @@ uploaded with each report. ```ts // Import attachment types from @backtrace-labs/nestjs -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/nestjs"; +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BacktraceFileAttachment } from "@backtrace-labs/node"; // BacktraceStringAttachment should be used for text object like a log file, for example const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -373,16 +371,15 @@ client.metrics?.send(); The Backtrace NestJS SDK can cache generated reports and crashes to local disk before sending them to Backtrace. This is recommended; in certain configurations NestJS applications can crash before the SDK finishes submitting data, and under slow internet conditions your application might wait in a closing window until the HTTP submission finishes. In such an -event occurs cached reports will be sent on next application launch. +event cached reports will be sent on next application launch. With offline database support you can: -- cache your reports when the user doesn't have Internet connection or the service is unavailable, +- cache your reports when the user doesn't have an internet connection or the service is unavailable, - capture crashes, -- manually decide when to send them or not. +- manually decide whether or not to send reports, and when. -By default the offline database support is disabled. To enable it, please add "enable: true" and the path to the -directory where Backtrace can store crash data. +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory where Backtrace can store crash data. ```ts const client = BacktraceClient.initialize({ @@ -406,15 +403,13 @@ client.database.flush(); | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | | `enabled` | Boolean | Enable/disable offline database support. | false |
        • - [x]
        | | `path` | String | Local storage path for crash data. | - |
        • - [x]
        | -| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory.. | true | +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory. | true | | `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | | `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | | `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | | `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | | `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | ---- - #### Native crash support The Backtrace NestJS SDK can capture native crashes generated by a NestJS application such as Assert/OOM crashes. In @@ -427,10 +422,35 @@ breadcrumbs. To reduce database record size, attachment support was limited only #### Manual database operations Database support is available in the client options with the BacktraceDatabase object. You can use it to manually -operate on database records. Options are detailed in [BacktraceDatabase Methods](#backtracedatabase-methods). +operate on database records. ## Advanced SDK Features +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | + ### Manually send an error There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see @@ -450,59 +470,34 @@ await client.send(new BacktraceReport('This is a report with a string!')); await client.send(new BacktraceReport(new Error('This is a report with a string!'))); ``` -### BacktraceClient +### Modify/skip error reports +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and -send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from -exceptions and rejection handlers. +```ts +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + beforeSend: (data: BacktraceData) => { + // skip the report by returning a null from the callback + if (!shouldSendReportToBacktrace(data)) { + return undefined; + } + // apply custom attribute + data.attributes['new-attribute"] = 'apply-data-in-callback'; + return data; + }, +}); +``` -#### BacktraceClientOptions +### SDK Method Overrides -The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. -#### BacktraceClient Methods - -| Name | Return Type | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | -| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | -| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | -| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | Promise | Asynchronously sends error data to Backtrace | - -#### BacktraceDatabase Methods - -| Name | Return Type | Description | -| ----------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | Boolean | Determines if the database is enabled | -| `start()` | Boolean | Starts the database | -| `add(backtraceData: Backtracedata, attachments: BacktraceAttachment[])` | BacktraceDatabaseRecord \| undefined | Adds manually a data object to the database. If the database is not available or the record cannot be stored on the hard drive, the add method can return undefined. | -| `get()` | BacktraceDatabaseRecord[] | Returns all records stored in the database | -| `count()` | Number | Returns the number of records stored in the database | -| `dispose()` | void | Disables the database integration | -| `remove(record: BacktraceDatabaseRecord)` | void | Removes the record from the database | -| `flush()` | Promise | Sends all records to Backtrace and remove them no matter if the submission was successful or not | -| `send()` | Promise | Sends all records to Backtrace. If the submission process fails, the retry information is being increased by the records are not removed from the database. | -| `dispose` | void | Disposes the client | - -### BacktraceReport - -A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in -`BacktraceReport.ts`. +```ts +const client = BacktraceClient.builder(options) + .useRequestHandler(requestHandler) + .useBreadcrumbSubscriber(breadcrumbSubscriber) + .addAttributeProvider(attributeProvider) + .build(); +``` diff --git a/packages/node/README.md b/packages/node/README.md index 3983f2e3..d55ec8ec 100644 --- a/packages/node/README.md +++ b/packages/node/README.md @@ -24,12 +24,10 @@ easy, after which you can explore the rich set of Backtrace features. - [Native crash support](#native-crash-support) - [Manual database operations](#manual-database-operations) 1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient Options](#backtraceclient) - [Manually send an error](#manually-send-an-error) - - [BacktraceClient](#backtraceclient) - - [BacktraceClientOptions](#backtraceclientoptions) - - [BacktraceClient Methods](#backtraceclient-methods) - - [BacktraceDatabase Methods](#backtracedatabase-methods) - - [BacktraceReports](#backtracereport) + - [Modify/skip error reports](#modifyskip-error-reports) + - [SDK Method Overrides](#sdk-method-overrides) ## Basic Integration @@ -169,7 +167,7 @@ uploaded with each report. ```ts // Import attachment types from @backtrace-labs/node -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/node"; +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BacktraceFileAttachment } from "@backtrace-labs/node"; // BacktraceStringAttachment should be used for text object like a log file, for example const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -290,16 +288,15 @@ client.metrics?.send(); The Backtrace Node SDK can cache generated reports and crashes to local disk before sending them to Backtrace. This is recommended; in certain configurations Node applications can crash before the SDK finishes submitting data, and under slow internet conditions your application might wait in a closing window until the HTTP submission finishes. In such an -event occurs cached reports will be sent on next application launch. +event cached reports will be sent on next application launch. With offline database support you can: -- cache your reports when the user doesn't have Internet connection or the service is unavailable, +- cache your reports when the user doesn't have an internet connection or the service is unavailable, - capture crashes, -- manually decide when to send them or not. +- manually decide whether or not to send reports, and when. -By default the offline database support is disabled. To enable it, please add "enable: true" and the path to the -directory where Backtrace can store crash data. +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory where Backtrace can store crash data. ```ts const client = BacktraceClient.initialize({ @@ -323,15 +320,13 @@ client.database.flush(); | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | | `enabled` | Boolean | Enable/disable offline database support. | false |
        • - [x]
        | | `path` | String | Local storage path for crash data. | - |
        • - [x]
        | -| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory.. | true | +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory. | true | | `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | | `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | | `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | | `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | | `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | ---- - #### Native crash support The Backtrace Node SDK can capture native crashes generated by a Node application such as Assert/OOM crashes. In order @@ -343,11 +338,35 @@ breadcrumbs. To reduce database record size, attachment support was limited only #### Manual database operations -Database support is available in the client options with the BacktraceDatabase object. You can use it to manually -operate on database records. Options are detailed in [BacktraceDatabase Methods](#backtracedatabase-methods). +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually operate on database records. ## Advanced SDK Features +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | + ### Manually send an error There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see @@ -367,59 +386,34 @@ await client.send(new BacktraceReport('This is a report with a string!')); await client.send(new BacktraceReport(new Error('This is a report with a string!'))); ``` -### BacktraceClient +### Modify/skip error reports +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and -send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from -exceptions and rejection handlers. +```ts +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + beforeSend: (data: BacktraceData) => { + // skip the report by returning a null from the callback + if (!shouldSendReportToBacktrace(data)) { + return undefined; + } + // apply custom attribute + data.attributes['new-attribute"] = 'apply-data-in-callback'; + return data; + }, +}); +``` -#### BacktraceClientOptions +### SDK Method Overrides -The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. -#### BacktraceClient Methods - -| Name | Return Type | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | -| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | -| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | -| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | Promise | Asynchronously sends error data to Backtrace | - -#### BacktraceDatabase Methods - -| Name | Return Type | Description | -| ----------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | Boolean | Determines if the database is enabled | -| `start()` | Boolean | Starts the database | -| `add(backtraceData: Backtracedata, attachments: BacktraceAttachment[])` | BacktraceDatabaseRecord \| undefined | Adds manually a data object to the database. If the database is not available or the record cannot be stored on the hard drive, the add method can return undefined. | -| `get()` | BacktraceDatabaseRecord[] | Returns all records stored in the database | -| `count()` | Number | Returns the number of records stored in the database | -| `dispose()` | void | Disables the database integration | -| `remove(record: BacktraceDatabaseRecord)` | void | Removes the record from the database | -| `flush()` | Promise | Sends all records to Backtrace and remove them no matter if the submission was successful or not | -| `send()` | Promise | Sends all records to Backtrace. If the submission process fails, the retry information is being increased by the records are not removed from the database. | -| `dispose` | void | Disposes the client | - -### BacktraceReport - -A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in -`BacktraceReport.ts`. +```ts +const client = BacktraceClient.builder(options) + .useRequestHandler(requestHandler) + .useBreadcrumbSubscriber(breadcrumbSubscriber) + .addAttributeProvider(attributeProvider) + .build(); +``` diff --git a/packages/react-native/README.md b/packages/react-native/README.md index a0312502..f48ba714 100644 --- a/packages/react-native/README.md +++ b/packages/react-native/README.md @@ -24,12 +24,10 @@ quick and easy, after which you can explore the rich set of Backtrace features. - [Native crash support](#native-crash-support) - [Manual database operations](#manual-database-operations) 1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient Options](#backtraceclient) - [Manually send an error](#manually-send-an-error) - - [BacktraceClient](#backtraceclient) - - [BacktraceClientOptions](#backtraceclientoptions) - - [BacktraceClient Methods](#backtraceclient-methods) - - [BacktraceDatabase Methods](#backtracedatabase-methods) - - [BacktraceReports](#backtracereport) + - [Modify/skip error reports](#modifyskip-error-reports) + - [SDK Method Overrides](#sdk-method-overrides) ## Basic Integration @@ -298,16 +296,15 @@ client.metrics?.send(); The Backtrace react-native SDK can cache generated reports and crashes to local disk before sending them to Backtrace. This is recommended; in certain configurations react-native applications can crash before the SDK finishes submitting data, and under slow internet conditions your application might wait in a closing window until the HTTP submission -finishes. In such an event occurs cached reports will be sent on next application launch. +finishes. In such an event cached reports will be sent on next application launch. With offline database support you can: -- cache your reports when the user doesn't have Internet connection or the service is unavailable, +- cache your reports when the user doesn't have an internet connection or the service is unavailable, - capture crashes, -- manually decide when to send them or not. +- manually decide whether or not to send reports, and when. -By default the offline database support is disabled. To enable it, please add "enable: true" and the path to the -directory where Backtrace can store crash data. +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory where Backtrace can store crash data. ```ts const client = BacktraceClient.initialize({ @@ -325,11 +322,12 @@ client.database.send(); client.database.flush(); ``` -Backtrace client exposes a method `applicationDataPath` that can help you with path creation to your database directory. +Backtrace client exposes a method `applicationDataPath` that can help you create the path to your database directory. + The helper returns: -- on Android: path to the files directory available in the application context, -- on iOS: Path to the application cache directory +- Android: Path to the files directory available in the application context, +- iOS: Path to the application cache directory #### Database Configuration @@ -337,33 +335,58 @@ The helper returns: | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | | `enabled` | Boolean | Enable/disable offline database support. | false |
        • - [x]
        | | `path` | String | Local storage path for crash data. | - |
        • - [x]
        | -| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory.. | true | +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory. | true | | `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | | `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | | `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | | `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | | `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | ---- - #### Native crash support The Backtrace React-Native SDK can capture crashes generated in the native layer. Those crashes cannot be captured on the JavaScript side by using any kind of helpers. In order to collect them, the SDK uses native crash reporting -solutions available in the package. On Android, all native crashes from the NDK layer will be send in the same -application session (from the separated application process). Java exceptions and iOS crashes will be available after -the application restart. All crashes and reports send after application restart are stored in the database directory. -Attributes set by user and file attachments should be also uploaded by native crash reporting solution. In-memory -attachments such as string attachment, are not supported. You cannot also apply any managed layer (JavaScript) callbacks -to filter, modify crashes before send. +solutions available in the package. + +Attributes and file attachments will be uploaded by native crash reporting solution. Some important details: +- Dynamic attributes will not be added. +- In-memory attachments such as string attachments, are not supported. +- You cannot apply any managed layer (JavaScript) callbacks to filter or modify crashes before send. +- Java exceptions and iOS crashes will be available after the application restart. All crashes and reports send after application restart are stored in the database directory. +- On Android, all native crashes from the NDK layer will be sent in the same application session (from a separate application process). #### Manual database operations -Database support is available in the client options with the BacktraceDatabase object. You can use it to manually -operate on database records. Options are detailed in [BacktraceDatabase Methods](#backtracedatabase-methods). +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually operate on database records. ## Advanced SDK Features +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | + + ### Manually send an error There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see @@ -383,29 +406,34 @@ await client.send(new BacktraceReport('This is a report with a string!')); await client.send(new BacktraceReport(new Error('This is a report with a string!'))); ``` -### BacktraceClient +### Modify/skip error reports +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and -send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from -exceptions and rejection handlers. +```ts +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + beforeSend: (data: BacktraceData) => { + // skip the report by returning a null from the callback + if (!shouldSendReportToBacktrace(data)) { + return undefined; + } + // apply custom attribute + data.attributes['new-attribute"] = 'apply-data-in-callback'; + return data; + }, +}); +``` -#### BacktraceClientOptions +### SDK Method Overrides -The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. + +```ts +const client = BacktraceClient.builder(options) + .useRequestHandler(requestHandler) + .useBreadcrumbSubscriber(breadcrumbSubscriber) + .addAttributeProvider(attributeProvider) + .build(); +``` diff --git a/packages/react/README.md b/packages/react/README.md index b038fcca..8b771552 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -21,11 +21,10 @@ easy, after which you can explore the rich set of Backtrace features. - [Metrics Configuration](#metrics-configuration) - [Metrics Usage](#metrics-usage) 1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient options](#backtraceclient) - [Manually send an error](#manually-send-an-error) - - [BacktraceClient](#backtraceclient) - - [BacktraceClientOptions](#backtraceclientoptions) - - [BacktraceClient Methods](#backtraceclient-methods) - - [BacktraceReports](#backtracereport) + - [Modify/skip error reports](#modifyskip-error-reports) + - [SDK Method Overrides](#sdk-method-overrides) ## Basic Integration @@ -322,30 +321,9 @@ client.metrics?.send(); ## Advanced SDK Features -### Manually send an error - -There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see -[Methods](#methods) below. - -```ts -// send as a string -await client.send('This is a string!'); - -// send as an Error -await client.send(new Error('This is an Error!')); - -// as a BacktraceReport (string) -await client.send(new BacktraceReport('This is a report with a string!')); - -// as a BacktraceReport (Error) -await client.send(new BacktraceReport(new Error('This is a report with a string!'))); -``` - ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this object is instantiated, and it will compose and -send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from -exceptions and rejection handlers. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions @@ -359,7 +337,7 @@ The following options are available for the BacktraceClientOptions passed when i | `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | | `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | | `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | -| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [BeforeSend](#beforesend) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | | `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | | `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | | `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | @@ -369,18 +347,55 @@ The following options are available for the BacktraceClientOptions passed when i | `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | | `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -#### BacktraceClient Methods +### Manually send an error + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); -| Name | Return Type | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------- | -| `addAttribute(attributes: Record)` | void | Add attributes to the BacktraceClient reports | -| `addAttachment(attachment: BacktraceAttachment)` | void | Add an attachment to the BacktraceClient reports | -| `initialize(options: BacktraceClientOptions)` | BacktraceClient | Initializes a new BacktraceClient (returns the same instance on subsequent calls) | -| `builder(options: BacktraceClientOptions).build()` | BacktraceClient | (Advanced) Sets up a new BacktraceClient for reporting | -| `send(data: BacktraceReport \| Error \| string, reportAttributes: Record = {}, reportAttachments: BacktraceAttachment[] = [])` | `Promise` | Asynchronously sends error data to Backtrace | -| `dispose` | void | Disposes the client | +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); -### BacktraceReport +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` -A Backtrace Report is the format that ultimately gets sent to Backtrace. Its structure can be found in -`BacktraceReport.ts`. +### Modify/skip error reports +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. + +```ts +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + name: '@backtrace-labs/react-example', + version: '0.0.1', + beforeSend: (data: BacktraceData) => { + // skip the report by returning a null from the callback + if (!shouldSendReportToBacktrace(data)) { + return undefined; + } + // apply custom attribute + data.attributes['new-attribute"] = 'apply-data-in-callback'; + return data; + }, +}); +``` + +### SDK Method Overrides + +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. + +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. + +```ts +const client = BacktraceClient.builder(options) + .useRequestHandler(requestHandler) + .useBreadcrumbSubscriber(breadcrumbSubscriber) + .addAttributeProvider(attributeProvider) + .build(); +``` From 5c12115d407dc1919e9df617c40e1dc4342cefac Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 19 Oct 2023 17:48:27 +0200 Subject: [PATCH 224/291] react, browser: add changelogs (#172) Co-authored-by: Sebastian Alex --- packages/browser/CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ packages/react/CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 packages/browser/CHANGELOG.md create mode 100644 packages/react/CHANGELOG.md diff --git a/packages/browser/CHANGELOG.md b/packages/browser/CHANGELOG.md new file mode 100644 index 00000000..724e7583 --- /dev/null +++ b/packages/browser/CHANGELOG.md @@ -0,0 +1,35 @@ +# Version 0.0.5 + +- update `@backtrace-labs/sdk-core` to `0.0.5` +- add file system abstractions +- use `ErrorEvent` `message` field if `error` field is `undefined` in unhandled exception/rejection handlers +- add support for `bigint` serialization +- add `jsonEscaper` to `JSON.stringify()` and don't assume action exists in `BacktraceReduxMiddleware` + +# Version 0.0.4 + +- update `@backtrace-labs/sdk-core` to `0.0.4` +- combine `Error` and `string` overloads in `send` +- use single global client instance +- update attachment management to use `addAttachment` instead of a mutable array +- fix typo in `referrer` attribute + +# Version 0.0.3 + +- update `@backtrace-labs/sdk-core` to `0.0.3` +- add deferred user attributes +- fix skipping stack frame with message reports +- fix missing library name + +# Version 0.0.2 + +- update `@backtrace-labs/sdk-core` to `0.0.2` +- add disposing of `BacktraceClient` +- simplify form data usage +- export `BacktraceBrowserRequestHandler` +- fix issues with ignoring jsonEscape in the formatter function +- do not pass form data `Content-Type` + +# Version 0.0.1 + +Initial release. diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md new file mode 100644 index 00000000..3458d420 --- /dev/null +++ b/packages/react/CHANGELOG.md @@ -0,0 +1,35 @@ +# Version 0.0.5 + +- add file system abstractions +- use `ErrorEvent` `message` field if `error` field is `undefined` in unhandled exception/rejection handlers +- add support for `bigint` serialization +- add `jsonEscaper` to `JSON.stringify()` and don't assume action exists in `BacktraceReduxMiddleware` +- update `@backtrace-labs/browser` to `0.0.5` + +# Version 0.0.4 + +- combine `Error` and `string` overloads in `send` +- use single global client instance +- update attachment management to use `addAttachment` instead of a mutable array +- fix typo in `referrer` attribute +- update `@backtrace-labs/browser` to `0.0.4` + +# Version 0.0.3 + +- add deferred user attributes +- fix skipping stack frame with message reports +- fix missing library name +- update `@backtrace-labs/browser` to `0.0.3` + +# Version 0.0.2 + +- add disposing of `BacktraceClient` +- simplify form data usage +- export `BacktraceBrowserRequestHandler` +- fix issues with ignoring jsonEscape in the formatter function +- do not pass form data `Content-Type` +- update `@backtrace-labs/browser` to `0.0.2` + +# Version 0.0.1 + +Initial release. From a44ddb02ff9a2c8817730d3dd30d0cfafb46ba48 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 19 Oct 2023 17:57:27 +0200 Subject: [PATCH 225/291] electron: SDK for Electron (#176) * sdk-core: expose reportSubmission and requestHandler to BacktraceModule and builder * sdk-core: enable adding modules to built client * sdk-core: add useBreadcrumbsStorage to core builder * sdk-core: add metric queues to builder * sdk-core: add options to BacktraceModuleBindData * node: export BacktraceClientSetup * electron: initial package * electron: add main, preload, and renderer entries * electron: add IpcTransports * electron: add preload script which adds BACKTRACE_IPC to renderer * electron: add IpcHandshake * electron: add ipc streams from renderer to main * electron: add IpcRpcs * electron: add sending reports from renderer via main * electron: add support for streaming attachments from renderer to main * electron: push renderer breadcrumbs to main breadcrumbs * electron: add additional electron attributes to renderer errors * electron: add prefix to IpcEvents to make them less ambiguous * electron: support versions from 12 - 26 * electron: add metrics adding and sending via main from renderer * electron: add sync RPC * electron: remove window from ElectronWindowModule, move it to BacktraceMainElectronModule * electron: add sessionId synchronization * electron: add BacktraceClient based on Node * electron: add crashReporter support * electron: add ping to renderer client * electron: update dependency versions * electron: fix lint issues * sdk-core: fix unit tests * electron: add --passWithNoTests to jest * electron: fix lint warnings * electron: remove console.log from addBacktraceElectron * electron: add app anme and version attributes to main * electron: add additional attribute providers * update package-lock.json * electron: limit exports and fix build errors * electron: output to main/renderer/common instead of lib for easier imports --------- Co-authored-by: Sebastian Alex --- package-lock.json | 18873 +++++++--------- package.json | 3 +- packages/electron/.gitignore | 3 + packages/electron/.npmignore | 0 packages/electron/LICENSE | 21 + packages/electron/jest.config.js | 6 + packages/electron/jest.setup.js | 2 + packages/electron/package.json | 44 + packages/electron/src/common/index.ts | 2 + .../src/common/ipc/IpcAttachmentReference.ts | 4 + packages/electron/src/common/ipc/IpcEvents.ts | 14 + packages/electron/src/common/ipc/IpcRpc.ts | 26 + .../electron/src/common/ipc/IpcTransport.ts | 14 + .../electron/src/common/ipc/ipcHandshake.ts | 12 + .../electron/src/common/models/SyncData.ts | 3 + packages/electron/src/main/BacktraceClient.ts | 40 + .../main/attributes/AppAttributeProvider.ts | 19 + ...ApplicationInformationAttributeProvider.ts | 27 + .../main/attributes/GpuAttributeProvider.ts | 87 + .../attributes/GpuFeatureAttributeProvider.ts | 30 + .../attributes/ReadyAppAttributeProvider.ts | 39 + .../main/builder/BacktraceClientBuilder.ts | 25 + packages/electron/src/main/index.ts | 2 + .../src/main/ipc/MainIpcRpcHandler.ts | 25 + .../src/main/ipc/MainIpcTransportHandler.ts | 20 + .../src/main/ipc/ReadableIpcStream.ts | 54 + .../electron/src/main/ipc/RendererIpcRpc.ts | 37 + .../src/main/ipc/RendererIpcTransport.ts | 25 + .../electron/src/main/ipc/WindowIpcRpc.ts | 55 + .../src/main/ipc/WindowIpcTransport.ts | 26 + .../modules/BacktraceMainElectronModule.ts | 120 + .../src/main/modules/IpcAttachment.ts | 12 + packages/electron/src/main/preload.ts | 40 + .../src/renderer/addBacktraceElectron.ts | 52 + packages/electron/src/renderer/index.ts | 1 + .../src/renderer/ipc/PreloadIpcRpc.ts | 9 + .../src/renderer/ipc/PreloadIpcTransport.ts | 9 + .../src/renderer/ipc/WritableIpcStream.ts | 44 + .../electron/src/renderer/ipc/getIpcRpc.ts | 5 + .../src/renderer/ipc/getIpcTransport.ts | 5 + .../renderer/modules/ConstSessionProvider.ts | 19 + .../modules/IpcAsyncSessionProvider.ts | 32 + .../renderer/modules/IpcBreadcrumbsStorage.ts | 20 + .../renderer/modules/IpcReportSubmission.ts | 59 + .../src/renderer/modules/IpcRequestHandler.ts | 15 + .../renderer/modules/IpcSummedMetricsQueue.ts | 19 + .../src/renderer/modules/StubMetricsQueue.ts | 15 + packages/electron/tsconfig.build.json | 4 + packages/electron/tsconfig.json | 14 + packages/electron/tsconfig.main.json | 14 + packages/electron/tsconfig.renderer.json | 14 + packages/electron/webpack.config.js | 77 + packages/node/src/index.ts | 1 + packages/sdk-core/src/BacktraceCoreClient.ts | 42 +- .../src/builder/BacktraceCoreClientBuilder.ts | 30 +- .../sdk-core/src/builder/CoreClientSetup.ts | 9 + packages/sdk-core/src/index.ts | 3 + .../model/http/BacktraceReportSubmission.ts | 11 +- packages/sdk-core/src/model/http/index.ts | 3 +- .../sdk-core/src/modules/BacktraceModule.ts | 6 +- .../src/modules/metrics/MetricsBuilder.ts | 2 +- .../src/modules/metrics/model/MetricsEvent.ts | 4 +- .../src/modules/metrics/model/SummedEvent.ts | 2 +- .../src/modules/metrics/model/UniqueEvent.ts | 2 +- .../tests/database/databaseSetupTests.spec.ts | 14 +- 65 files changed, 8948 insertions(+), 11318 deletions(-) create mode 100644 packages/electron/.gitignore create mode 100644 packages/electron/.npmignore create mode 100644 packages/electron/LICENSE create mode 100644 packages/electron/jest.config.js create mode 100644 packages/electron/jest.setup.js create mode 100644 packages/electron/package.json create mode 100644 packages/electron/src/common/index.ts create mode 100644 packages/electron/src/common/ipc/IpcAttachmentReference.ts create mode 100644 packages/electron/src/common/ipc/IpcEvents.ts create mode 100644 packages/electron/src/common/ipc/IpcRpc.ts create mode 100644 packages/electron/src/common/ipc/IpcTransport.ts create mode 100644 packages/electron/src/common/ipc/ipcHandshake.ts create mode 100644 packages/electron/src/common/models/SyncData.ts create mode 100644 packages/electron/src/main/BacktraceClient.ts create mode 100644 packages/electron/src/main/attributes/AppAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/GpuAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts create mode 100644 packages/electron/src/main/builder/BacktraceClientBuilder.ts create mode 100644 packages/electron/src/main/index.ts create mode 100644 packages/electron/src/main/ipc/MainIpcRpcHandler.ts create mode 100644 packages/electron/src/main/ipc/MainIpcTransportHandler.ts create mode 100644 packages/electron/src/main/ipc/ReadableIpcStream.ts create mode 100644 packages/electron/src/main/ipc/RendererIpcRpc.ts create mode 100644 packages/electron/src/main/ipc/RendererIpcTransport.ts create mode 100644 packages/electron/src/main/ipc/WindowIpcRpc.ts create mode 100644 packages/electron/src/main/ipc/WindowIpcTransport.ts create mode 100644 packages/electron/src/main/modules/BacktraceMainElectronModule.ts create mode 100644 packages/electron/src/main/modules/IpcAttachment.ts create mode 100644 packages/electron/src/main/preload.ts create mode 100644 packages/electron/src/renderer/addBacktraceElectron.ts create mode 100644 packages/electron/src/renderer/index.ts create mode 100644 packages/electron/src/renderer/ipc/PreloadIpcRpc.ts create mode 100644 packages/electron/src/renderer/ipc/PreloadIpcTransport.ts create mode 100644 packages/electron/src/renderer/ipc/WritableIpcStream.ts create mode 100644 packages/electron/src/renderer/ipc/getIpcRpc.ts create mode 100644 packages/electron/src/renderer/ipc/getIpcTransport.ts create mode 100644 packages/electron/src/renderer/modules/ConstSessionProvider.ts create mode 100644 packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts create mode 100644 packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts create mode 100644 packages/electron/src/renderer/modules/IpcReportSubmission.ts create mode 100644 packages/electron/src/renderer/modules/IpcRequestHandler.ts create mode 100644 packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts create mode 100644 packages/electron/src/renderer/modules/StubMetricsQueue.ts create mode 100644 packages/electron/tsconfig.build.json create mode 100644 packages/electron/tsconfig.json create mode 100644 packages/electron/tsconfig.main.json create mode 100644 packages/electron/tsconfig.renderer.json create mode 100644 packages/electron/webpack.config.js diff --git a/package-lock.json b/package-lock.json index da2faea3..af9c0390 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,8 @@ "tools/cli", "tools/rollup-plugin", "tools/webpack-plugin", - "tools/vite-plugin" + "tools/vite-plugin", + "packages/electron" ], "devDependencies": { "@types/node": "^14.18.51", @@ -37,7 +38,8 @@ }, "node_modules/@75lb/deep-merge": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", "dependencies": { "lodash.assignwith": "^4.2.0", "typical": "^7.1.1" @@ -48,23 +50,26 @@ }, "node_modules/@75lb/deep-merge/node_modules/typical": { "version": "7.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { "node": ">=12.17" } }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -75,8 +80,9 @@ }, "node_modules/@babel/code-frame": { "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" @@ -87,8 +93,9 @@ }, "node_modules/@babel/code-frame/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -98,8 +105,9 @@ }, "node_modules/@babel/code-frame/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -111,37 +119,42 @@ }, "node_modules/@babel/code-frame/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/code-frame/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/code-frame/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -150,29 +163,31 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.20", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.20", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@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/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.20", - "@babel/types": "^7.22.19", - "convert-source-map": "^1.7.0", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", @@ -188,8 +203,9 @@ }, "node_modules/@babel/core/node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -199,18 +215,20 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.22.15", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -219,10 +237,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.15", @@ -236,40 +265,45 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -277,8 +311,9 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -288,8 +323,9 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.15" }, @@ -298,9 +334,10 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.20", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -317,16 +354,18 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -336,8 +375,9 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -347,36 +387,40 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.15", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -384,8 +428,9 @@ }, "node_modules/@babel/highlight": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -397,8 +442,9 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -408,8 +454,9 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -421,37 +468,42 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -460,9 +512,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.16", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -472,8 +525,9 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -483,8 +537,9 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -494,8 +549,9 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -505,8 +561,9 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -516,8 +573,9 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -527,8 +585,9 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -541,8 +600,9 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -552,8 +612,9 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -563,8 +624,9 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -574,8 +636,9 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -585,8 +648,9 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -596,8 +660,9 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -607,8 +672,9 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -621,8 +687,9 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -634,9 +701,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.22.15", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", "dev": true, - "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -646,8 +714,9 @@ }, "node_modules/@babel/template": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/parser": "^7.22.15", @@ -658,18 +727,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.20", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-function-name": "^7.23.0", "@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", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -679,19 +749,21 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.22.19", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -702,6 +774,10 @@ "resolved": "packages/browser", "link": true }, + "node_modules/@backtrace-labs/electron": { + "resolved": "packages/electron", + "link": true + }, "node_modules/@backtrace-labs/javascript-cli": { "resolved": "tools/cli", "link": true @@ -744,8 +820,9 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", @@ -759,30 +836,148 @@ "node": ">=12" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@electron/get/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/darwin-x64": { "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "darwin" @@ -792,10 +987,283 @@ "node": ">=12" } }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -807,17 +1275,19 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.8.1", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -837,17 +1307,19 @@ } }, "node_modules/@eslint/js": { - "version": "8.49.0", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -859,8 +1331,9 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -871,12 +1344,14 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -891,7 +1366,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { "node": ">=12" }, @@ -901,7 +1377,8 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -914,8 +1391,9 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -929,16 +1407,18 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -949,8 +1429,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -961,8 +1442,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -972,8 +1454,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -986,8 +1469,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -997,24 +1481,33 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -1029,8 +1522,9 @@ }, "node_modules/@jest/core": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -1075,8 +1569,9 @@ }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1086,8 +1581,9 @@ }, "node_modules/@jest/core/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -1099,13 +1595,15 @@ }, "node_modules/@jest/core/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/@jest/environment": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -1118,8 +1616,9 @@ }, "node_modules/@jest/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1130,8 +1629,9 @@ }, "node_modules/@jest/expect-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1141,8 +1641,9 @@ }, "node_modules/@jest/fake-timers": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1157,8 +1658,9 @@ }, "node_modules/@jest/globals": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1171,8 +1673,9 @@ }, "node_modules/@jest/reporters": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, - "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1211,10 +1714,21 @@ } } }, + "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@jest/reporters/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1232,8 +1746,9 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, - "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1243,8 +1758,9 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1254,10 +1770,21 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@jest/test-result": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1270,8 +1797,9 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1284,8 +1812,9 @@ }, "node_modules/@jest/transform": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1307,15 +1836,21 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", + "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, - "license": "MIT" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, "node_modules/@jest/types": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1330,7 +1865,8 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1342,21 +1878,24 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1364,26 +1903,30 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "license": "MIT", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@lukeed/csprng": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", "engines": { "node": ">=8" } }, "node_modules/@nestjs/common": { "version": "9.4.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", + "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", "peer": true, "dependencies": { "iterare": "1.2.1", @@ -1415,14 +1958,16 @@ }, "node_modules/@nestjs/common/node_modules/tslib": { "version": "2.5.3", - "license": "0BSD", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "peer": true }, "node_modules/@nestjs/core": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", + "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "@nuxtjs/opencollective": "0.3.2", "fast-safe-stringify": "2.1.1", @@ -1457,13 +2002,15 @@ }, "node_modules/@nestjs/core/node_modules/tslib": { "version": "2.5.3", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true }, "node_modules/@nestjs/platform-express": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", + "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", "dev": true, - "license": "MIT", "dependencies": { "body-parser": "1.20.2", "cors": "2.8.5", @@ -1482,13 +2029,15 @@ }, "node_modules/@nestjs/platform-express/node_modules/tslib": { "version": "2.5.3", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true }, "node_modules/@nestjs/testing": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", + "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "2.5.3" }, @@ -1513,13 +2062,15 @@ }, "node_modules/@nestjs/testing/node_modules/tslib": { "version": "2.5.3", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "dev": true }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1530,16 +2081,18 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1550,8 +2103,9 @@ }, "node_modules/@nuxtjs/opencollective": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "consola": "^2.15.0", @@ -1567,16 +2121,18 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "optional": true, "engines": { "node": ">=14" } }, "node_modules/@reduxjs/toolkit": { - "version": "1.9.5", + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", "dev": true, - "license": "MIT", "dependencies": { "immer": "^9.0.21", "redux": "^4.2.1", @@ -1597,9 +2153,10 @@ } }, "node_modules/@rollup/plugin-typescript": { - "version": "11.1.3", + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", + "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", "dev": true, - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "resolve": "^1.22.1" @@ -1608,7 +2165,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.14.0||^3.0.0", + "rollup": "^2.14.0||^3.0.0||^4.0.0", "tslib": "*", "typescript": ">=3.7.0" }, @@ -1622,9 +2179,10 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.4", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -1634,7 +2192,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -1644,29 +2202,57 @@ }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } }, "node_modules/@sinonjs/commons": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "peer": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@testing-library/dom": { "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -1683,8 +2269,9 @@ }, "node_modules/@testing-library/react": { "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^9.0.0", @@ -1700,8 +2287,9 @@ }, "node_modules/@tootallnate/once": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } @@ -1731,14 +2319,16 @@ "dev": true }, "node_modules/@types/aria-query": { - "version": "5.0.1", - "dev": true, - "license": "MIT" + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", + "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==", + "dev": true }, "node_modules/@types/babel__core": { - "version": "7.20.2", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", + "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1748,94 +2338,119 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.5", + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", + "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.2", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", + "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.2", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/body-parser": { - "version": "1.19.3", + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", "dev": true, - "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "peer": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, "node_modules/@types/command-line-args": { - "version": "5.2.1", - "dev": true, - "license": "MIT" + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.2.tgz", + "integrity": "sha512-9aZ7KzLDOBYyqH5J2bvB9edvsMXusX+H/aS8idAJOpWNmscZG5RqO1CVJPFa4Q0/1xKgvxcweXunFVx2l/dYFA==", + "dev": true }, "node_modules/@types/command-line-usage": { - "version": "5.0.2", - "dev": true, - "license": "MIT" + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.3.tgz", + "integrity": "sha512-ZESq+MDjR7QpvFfuanzfoAwfzA9e/wUUH/5uEyaZpGwqEnNddBpsyzJWltUIMgXYy97//wD0aJFgKStoZ6o1SQ==", + "dev": true }, "node_modules/@types/connect": { - "version": "3.4.36", + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/cookiejar": { - "version": "2.1.2", - "dev": true, - "license": "MIT" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==", + "dev": true }, "node_modules/@types/decompress": { - "version": "4.2.4", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.6.tgz", + "integrity": "sha512-ULmsMkKxU7aIGbnxP4Rz28hLdRZ4q0cdy6kcb8dx+UgDGOn+id5fibvoeTnjuolhrRM7f7TOtGADeKEk60SSsQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "8.44.2", - "license": "MIT", + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "license": "MIT", + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "1.0.1", - "license": "MIT" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" }, "node_modules/@types/express": { - "version": "4.17.18", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", "dev": true, - "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -1844,9 +2459,10 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.37", + "version": "4.17.38", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.38.tgz", + "integrity": "sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -1855,52 +2471,65 @@ } }, "node_modules/@types/fs-extra": { - "version": "11.0.2", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.3.tgz", + "integrity": "sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/jsonfile": "*", "@types/node": "*" } }, "node_modules/@types/graceful-fs": { - "version": "4.1.6", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", + "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", + "peer": true + }, "node_modules/@types/http-errors": { - "version": "2.0.2", - "dev": true, - "license": "MIT" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", + "dev": true }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", + "dev": true }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { - "version": "29.5.5", + "version": "29.5.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.6.tgz", + "integrity": "sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -1908,8 +2537,9 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1919,8 +2549,9 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -1932,13 +2563,15 @@ }, "node_modules/@types/jest/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/@types/jsdom": { "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", @@ -1946,50 +2579,68 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "license": "MIT" + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, "node_modules/@types/jsonfile": { - "version": "6.1.2", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.3.tgz", + "integrity": "sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==", "dev": true, - "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "peer": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/mime": { - "version": "1.3.3", - "dev": true, - "license": "MIT" + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", + "dev": true }, "node_modules/@types/node": { - "version": "14.18.61", - "license": "MIT" + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" }, "node_modules/@types/prop-types": { - "version": "15.7.5", - "dev": true, - "license": "MIT" + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", + "dev": true }, "node_modules/@types/qs": { - "version": "6.9.8", - "dev": true, - "license": "MIT" + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", + "dev": true }, "node_modules/@types/range-parser": { - "version": "1.2.5", - "dev": true, - "license": "MIT" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", + "dev": true }, "node_modules/@types/react": { - "version": "18.2.21", + "version": "18.2.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.29.tgz", + "integrity": "sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -1997,36 +2648,50 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.7", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", + "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/react": "*" } }, + "node_modules/@types/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/scheduler": { - "version": "0.16.3", - "dev": true, - "license": "MIT" + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", + "dev": true }, "node_modules/@types/semver": { - "version": "7.5.2", - "dev": true, - "license": "MIT" + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "dev": true }, "node_modules/@types/send": { - "version": "0.17.2", + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", "dev": true, - "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.3", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", "dev": true, - "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -2034,54 +2699,62 @@ } }, "node_modules/@types/source-list-map": { - "version": "0.1.2", - "dev": true, - "license": "MIT" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.4.tgz", + "integrity": "sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==", + "dev": true }, "node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, - "license": "MIT" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==", + "dev": true }, "node_modules/@types/superagent": { - "version": "4.1.19", + "version": "4.1.20", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.20.tgz", + "integrity": "sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==", "dev": true, - "license": "MIT", "dependencies": { "@types/cookiejar": "*", "@types/node": "*" } }, "node_modules/@types/supertest": { - "version": "2.0.14", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.15.tgz", + "integrity": "sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/superagent": "*" } }, "node_modules/@types/tar-stream": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-2.2.3.tgz", + "integrity": "sha512-if3mugZfjVkXOMZdFjIHySxY13r6GXPpyOlsDmLffvyI7tLz9wXE8BFjNivXsvUeyJ1KNlOpfLnag+ISmxgxPw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/tough-cookie": { - "version": "4.0.3", - "dev": true, - "license": "MIT" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", + "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==", + "dev": true }, "node_modules/@types/ua-parser-js": { - "version": "0.7.37", - "dev": true, - "license": "MIT" + "version": "0.7.38", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz", + "integrity": "sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ==", + "dev": true }, "node_modules/@types/webpack-sources": { - "version": "3.2.0", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-acCzhuVe+UJy8abiSFQWXELhhNMZjQjQKpLNEi1pKGgKXZj0ul614ATcx4kkhunPost6Xw+aCq8y8cn1/WwAiA==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "@types/source-list-map": "*", @@ -2089,22 +2762,35 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.24", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", "dev": true, - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", + "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -2136,8 +2822,9 @@ }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -2162,8 +2849,9 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -2178,8 +2866,9 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -2204,8 +2893,9 @@ }, "node_modules/@typescript-eslint/types": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2216,8 +2906,9 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -2242,8 +2933,9 @@ }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -2267,8 +2959,9 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -2283,7 +2976,8 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -2291,28 +2985,33 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" }, "node_modules/@webassemblyjs/helper-code-frame": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/wast-printer": "1.9.0" } }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -2321,13 +3020,15 @@ }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", @@ -2336,21 +3037,24 @@ }, "node_modules/@webassemblyjs/helper-fsm": { "version": "1.9.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true }, "node_modules/@webassemblyjs/helper-module-context": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0" } }, "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -2359,12 +3063,14 @@ }, "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2373,11 +3079,13 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2387,25 +3095,29 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2419,7 +3131,8 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -2430,7 +3143,8 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -2440,7 +3154,8 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -2452,8 +3167,9 @@ }, "node_modules/@webassemblyjs/wast-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0", @@ -2465,8 +3181,9 @@ }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -2475,22 +3192,26 @@ }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true }, "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -2498,8 +3219,9 @@ }, "node_modules/@webpack-cli/configtest": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -2510,8 +3232,9 @@ }, "node_modules/@webpack-cli/info": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -2522,8 +3245,9 @@ }, "node_modules/@webpack-cli/serve": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -2539,21 +3263,25 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/abab": { "version": "2.0.6", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true }, "node_modules/accepts": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -2564,7 +3292,8 @@ }, "node_modules/acorn": { "version": "8.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "bin": { "acorn": "bin/acorn" }, @@ -2574,8 +3303,9 @@ }, "node_modules/acorn-globals": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, - "license": "MIT", "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" @@ -2583,31 +3313,35 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "license": "MIT", "dependencies": { "debug": "4" }, @@ -2617,7 +3351,8 @@ }, "node_modules/ajv": { "version": "6.12.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2631,23 +3366,26 @@ }, "node_modules/ajv-errors": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": ">=5.0.0" } }, "node_modules/ajv-keywords": { "version": "3.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-escapes": { "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -2660,8 +3398,9 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2671,14 +3410,16 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -2691,8 +3432,9 @@ }, "node_modules/anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2703,13 +3445,15 @@ }, "node_modules/append-field": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true }, "node_modules/aproba": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "node_modules/arg": { "version": "4.1.3", @@ -2719,52 +3463,59 @@ }, "node_modules/argparse": { "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/aria-query": { "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } }, "node_modules/arr-diff": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-flatten": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-union": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-back": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", "engines": { "node": ">=6" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -2775,13 +3526,15 @@ }, "node_modules/array-flatten": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true }, "node_modules/array-includes": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -2798,24 +3551,27 @@ }, "node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array-unique": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -2832,8 +3588,9 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -2849,8 +3606,9 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -2866,8 +3624,9 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dev": true, - "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -2886,13 +3645,15 @@ }, "node_modules/asap": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true }, "node_modules/asn1.js": { "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -2902,13 +3663,15 @@ }, "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/assert": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "dev": true, - "license": "MIT", "dependencies": { "object.assign": "^4.1.4", "util": "^0.10.4" @@ -2916,27 +3679,32 @@ }, "node_modules/assert/node_modules/inherits": { "version": "2.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true }, "node_modules/assert/node_modules/util": { "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "2.0.3" } }, "node_modules/assign-symbols": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/async-each": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, "funding": [ { @@ -2944,17 +3712,18 @@ "url": "https://paulmillr.com/funding/" } ], - "license": "MIT", "optional": true }, "node_modules/asynckit": { "version": "0.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/atob": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "license": "(MIT OR Apache-2.0)", "bin": { "atob": "bin/atob.js" }, @@ -2964,8 +3733,9 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2973,14 +3743,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/b4a": { - "version": "1.6.4", - "license": "ISC" - }, "node_modules/babel-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -2999,8 +3766,9 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -3014,8 +3782,9 @@ }, "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -3029,16 +3798,18 @@ }, "node_modules/babel-plugin-istanbul/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -3051,8 +3822,9 @@ }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -3073,8 +3845,9 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -3088,12 +3861,14 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base": { "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, - "license": "MIT", "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -3109,8 +3884,9 @@ }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -3120,6 +3896,8 @@ }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -3134,21 +3912,22 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/big.js": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "license": "MIT", "optional": true, "engines": { "node": ">=8" @@ -3156,27 +3935,41 @@ }, "node_modules/bindings": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "file-uri-to-path": "1.0.0" } }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "node_modules/bluebird": { "version": "3.7.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "node_modules/bn.js": { "version": "5.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true }, "node_modules/body-parser": { "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -3196,67 +3989,33 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/body-parser/node_modules/on-finished": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "optional": true, + "peer": true }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3264,8 +4023,9 @@ }, "node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -3275,13 +4035,15 @@ }, "node_modules/brorand": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true }, "node_modules/browserify-aes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -3293,8 +4055,9 @@ }, "node_modules/browserify-cipher": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -3303,8 +4066,9 @@ }, "node_modules/browserify-des": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -3314,8 +4078,9 @@ }, "node_modules/browserify-rsa": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -3323,8 +4088,9 @@ }, "node_modules/browserify-sign": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, - "license": "ISC", "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -3337,35 +4103,33 @@ "safe-buffer": "^5.2.0" } }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/browserify-zlib": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "license": "MIT", "dependencies": { "pako": "~1.0.5" } }, "node_modules/browserslist": { - "version": "4.21.10", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "funding": [ { "type": "opencollective", @@ -3380,12 +4144,11 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -3396,8 +4159,9 @@ }, "node_modules/bs-logger": { "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -3407,14 +4171,17 @@ }, "node_modules/bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -3430,7 +4197,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -3438,8 +4204,9 @@ }, "node_modules/buffer-alloc": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, - "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" @@ -3447,38 +4214,45 @@ }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true }, "node_modules/buffer-crc32": { "version": "0.2.13", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "engines": { "node": "*" } }, "node_modules/buffer-fill": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true }, "node_modules/buffer-from": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-xor": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true }, "node_modules/builtin-status-codes": { "version": "3.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true }, "node_modules/busboy": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dev": true, "dependencies": { "streamsearch": "^1.1.0" @@ -3487,10 +4261,20 @@ "node": ">=10.16.0" } }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/cacache": { "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, - "license": "ISC", "dependencies": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -3511,8 +4295,9 @@ }, "node_modules/cacache/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3530,16 +4315,18 @@ }, "node_modules/cacache/node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/cacache/node_modules/rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -3549,18 +4336,21 @@ }, "node_modules/cacache/node_modules/y18n": { "version": "4.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "node_modules/cacache/node_modules/yallist": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "node_modules/cache-base": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, - "license": "MIT", "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -3576,10 +4366,53 @@ "node": ">=0.10.0" } }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "peer": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "peer": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -3590,22 +4423,26 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001535", + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", "funding": [ { "type": "opencollective", @@ -3619,12 +4456,12 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { "version": "4.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3638,7 +4475,8 @@ }, "node_modules/chalk-template": { "version": "0.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dependencies": { "chalk": "^4.1.2" }, @@ -3651,14 +4489,17 @@ }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/chokidar": { "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { @@ -3666,7 +4507,6 @@ "url": "https://paulmillr.com/funding/" } ], - "license": "MIT", "optional": true, "dependencies": { "anymatch": "~3.1.2", @@ -3686,8 +4526,9 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "optional": true, "dependencies": { "is-glob": "^4.0.1" @@ -3698,18 +4539,22 @@ }, "node_modules/chownr": { "version": "1.1.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { - "version": "3.8.0", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -3717,15 +4562,15 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cipher-base": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -3733,13 +4578,15 @@ }, "node_modules/cjs-module-lexer": { "version": "1.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true }, "node_modules/class-utils": { "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, - "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -3752,8 +4599,9 @@ }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -3763,8 +4611,9 @@ }, "node_modules/class-utils/node_modules/is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -3774,8 +4623,9 @@ }, "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -3785,8 +4635,9 @@ }, "node_modules/class-utils/node_modules/is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -3796,8 +4647,9 @@ }, "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -3807,8 +4659,9 @@ }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -3820,16 +4673,18 @@ }, "node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -3841,13 +4696,15 @@ }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3859,8 +4716,9 @@ }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -3875,8 +4733,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -3886,10 +4745,23 @@ "node": ">=6" } }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "peer": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/co": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -3897,13 +4769,15 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true }, "node_modules/collection-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, - "license": "MIT", "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -3914,7 +4788,8 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -3924,11 +4799,19 @@ }, "node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "node_modules/combined-stream": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -3938,7 +4821,8 @@ }, "node_modules/command-line-args": { "version": "5.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dependencies": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -3951,7 +4835,8 @@ }, "node_modules/command-line-usage": { "version": "7.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "dependencies": { "array-back": "^6.2.2", "chalk-template": "^0.4.0", @@ -3964,40 +4849,51 @@ }, "node_modules/command-line-usage/node_modules/array-back": { "version": "6.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", "engines": { "node": ">=12.17" } }, "node_modules/command-line-usage/node_modules/typical": { "version": "7.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { "node": ">=12.17" } }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, "node_modules/commondir": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, "node_modules/component-emitter": { "version": "1.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -4005,51 +4901,29 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/consola": { "version": "2.15.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true }, "node_modules/console-browserify": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "node_modules/constants-browserify": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, "node_modules/content-disposition": { "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -4057,60 +4931,47 @@ "node": ">= 0.6" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/content-type": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/cookie": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true }, "node_modules/cookiejar": { "version": "2.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true }, "node_modules/copy-concurrently": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, - "license": "ISC", "dependencies": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -4122,8 +4983,9 @@ }, "node_modules/copy-concurrently/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4141,8 +5003,9 @@ }, "node_modules/copy-concurrently/node_modules/rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -4152,21 +5015,24 @@ }, "node_modules/copy-descriptor": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/core-util-is": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/cors": { "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, - "license": "MIT", "dependencies": { "object-assign": "^4", "vary": "^1" @@ -4177,8 +5043,9 @@ }, "node_modules/create-ecdh": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -4186,13 +5053,15 @@ }, "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/create-hash": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -4203,8 +5072,9 @@ }, "node_modules/create-hmac": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -4216,8 +5086,9 @@ }, "node_modules/create-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -4242,7 +5113,8 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4254,8 +5126,9 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -4275,13 +5148,15 @@ }, "node_modules/cssom": { "version": "0.5.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true }, "node_modules/cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, - "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -4291,23 +5166,27 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true }, "node_modules/csstype": { "version": "3.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true }, "node_modules/cyclist": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true }, "node_modules/data-urls": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, - "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -4319,8 +5198,8 @@ }, "node_modules/debug": { "version": "4.3.4", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -4335,21 +5214,24 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true }, "node_modules/decode-uri-component": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/decompress": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, - "license": "MIT", "dependencies": { "decompress-tar": "^4.0.0", "decompress-tarbz2": "^4.0.0", @@ -4364,76 +5246,52 @@ "node": ">=4" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "dev": true, - "license": "MIT", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "peer": true, "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/decompress-tar/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/decompress-tar/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-tar/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, - "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, "node_modules/decompress-tarbz2": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, - "license": "MIT", "dependencies": { "decompress-tar": "^4.1.0", "file-type": "^6.1.0", @@ -4447,16 +5305,18 @@ }, "node_modules/decompress-tarbz2/node_modules/file-type": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/decompress-targz": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, - "license": "MIT", "dependencies": { "decompress-tar": "^4.1.1", "file-type": "^5.2.0", @@ -4468,8 +5328,9 @@ }, "node_modules/decompress-unzip": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, - "license": "MIT", "dependencies": { "file-type": "^3.8.0", "get-stream": "^2.2.0", @@ -4482,16 +5343,18 @@ }, "node_modules/decompress-unzip/node_modules/file-type": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/dedent": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -4503,8 +5366,9 @@ }, "node_modules/deep-equal": { "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, - "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -4531,21 +5395,33 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, "node_modules/deepmerge": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "peer": true, + "engines": { + "node": ">=10" + } + }, "node_modules/define-data-property": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "devOptional": true, "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -4557,8 +5433,9 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "devOptional": true, "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -4573,8 +5450,9 @@ }, "node_modules/define-property": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -4585,23 +5463,26 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/des.js": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -4609,8 +5490,9 @@ }, "node_modules/destroy": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -4618,16 +5500,25 @@ }, "node_modules/detect-newline": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "optional": true, + "peer": true + }, "node_modules/dezalgo": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, - "license": "ISC", "dependencies": { "asap": "^2.0.0", "wrappy": "1" @@ -4644,16 +5535,18 @@ }, "node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/diffie-hellman": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -4662,13 +5555,15 @@ }, "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -4678,8 +5573,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -4689,13 +5585,15 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true }, "node_modules/domain-browser": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -4703,8 +5601,9 @@ }, "node_modules/domexception": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, - "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -4714,8 +5613,9 @@ }, "node_modules/duplexify": { "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, - "license": "MIT", "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -4723,50 +5623,51 @@ "stream-shift": "^1.0.0" } }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/ee-first": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron": { + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", + "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } }, "node_modules/electron-to-chromium": { - "version": "1.4.523", - "license": "ISC" + "version": "1.4.559", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz", + "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==" + }, + "node_modules/electron/node_modules/@types/node": { + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", + "peer": true }, "node_modules/elliptic": { "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -4779,13 +5680,15 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/emittery": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -4795,35 +5698,39 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/emojis-list": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/end-of-stream": { "version": "1.4.4", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -4834,8 +5741,9 @@ }, "node_modules/entities": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -4843,10 +5751,20 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/envinfo": { "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -4856,8 +5774,9 @@ }, "node_modules/errno": { "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, - "license": "MIT", "dependencies": { "prr": "~1.0.1" }, @@ -4867,15 +5786,17 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dev": true, - "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "arraybuffer.prototype.slice": "^1.0.2", @@ -4926,8 +5847,9 @@ }, "node_modules/es-get-iterator": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -4945,12 +5867,14 @@ }, "node_modules/es-module-lexer": { "version": "1.3.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" }, "node_modules/es-set-tostringtag": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3", "has": "^1.0.3", @@ -4962,16 +5886,18 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" } }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4984,10 +5910,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true, + "peer": true + }, "node_modules/esbuild": { "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "hasInstallScript": true, - "license": "MIT", "peer": true, "bin": { "esbuild": "bin/esbuild" @@ -5022,20 +5956,23 @@ }, "node_modules/escalade": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "devOptional": true, "engines": { "node": ">=10" }, @@ -5045,8 +5982,9 @@ }, "node_modules/escodegen": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -5065,30 +6003,33 @@ }, "node_modules/escodegen/node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/escodegen/node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/eslint": { - "version": "8.49.0", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -5135,8 +6076,9 @@ }, "node_modules/eslint-config-prettier": { "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -5146,8 +6088,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -5156,16 +6099,18 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -5180,16 +6125,18 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.findlastindex": "^1.2.2", @@ -5218,16 +6165,18 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5237,20 +6186,23 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-local-rules": { "version": "1.3.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", + "dev": true }, "node_modules/eslint-scope": { "version": "5.1.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5261,8 +6213,9 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5272,8 +6225,9 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -5287,16 +6241,18 @@ }, "node_modules/eslint/node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/espree": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -5311,8 +6267,9 @@ }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5323,8 +6280,9 @@ }, "node_modules/esquery": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -5334,15 +6292,17 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { "estraverse": "^5.2.0" }, @@ -5352,50 +6312,57 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { "node": ">=4.0" } }, "node_modules/estree-walker": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/events": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -5403,8 +6370,9 @@ }, "node_modules/execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -5425,8 +6393,9 @@ }, "node_modules/execa/node_modules/get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -5436,8 +6405,9 @@ }, "node_modules/execa/node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -5447,11 +6417,14 @@ }, "node_modules/execa/node_modules/signal-exit": { "version": "3.0.7", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -5459,8 +6432,9 @@ }, "node_modules/expand-brackets": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -5476,16 +6450,18 @@ }, "node_modules/expand-brackets/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -5495,8 +6471,9 @@ }, "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -5506,8 +6483,9 @@ }, "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -5517,8 +6495,9 @@ }, "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -5528,8 +6507,9 @@ }, "node_modules/expand-brackets/node_modules/is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -5539,8 +6519,9 @@ }, "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -5550,8 +6531,9 @@ }, "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -5563,29 +6545,33 @@ }, "node_modules/expand-brackets/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -5599,8 +6585,9 @@ }, "node_modules/express": { "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -5640,8 +6627,9 @@ }, "node_modules/express/node_modules/body-parser": { "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -5661,89 +6649,32 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/express/node_modules/bytes": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/express/node_modules/finalhandler": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/express/node_modules/on-finished": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.7", - "dev": true, - "license": "MIT" - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true }, "node_modules/express/node_modules/raw-body": { "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -5754,37 +6685,11 @@ "node": ">= 0.8" } }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/extend-shallow": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, - "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -5795,8 +6700,9 @@ }, "node_modules/extglob": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, - "license": "MIT", "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -5813,8 +6719,9 @@ }, "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -5824,8 +6731,9 @@ }, "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -5835,24 +6743,58 @@ }, "node_modules/extglob/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -5866,8 +6808,9 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -5877,58 +6820,66 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/fd-slicer": { "version": "1.1.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dependencies": { "pend": "~1.2.0" } }, "node_modules/figgy-pudding": { "version": "3.5.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -5938,22 +6889,25 @@ }, "node_modules/file-type": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/file-uri-to-path": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5961,10 +6915,44 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/find-cache-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -5976,8 +6964,9 @@ }, "node_modules/find-cache-dir/node_modules/find-up": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -5987,8 +6976,9 @@ }, "node_modules/find-cache-dir/node_modules/locate-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -5999,8 +6989,9 @@ }, "node_modules/find-cache-dir/node_modules/make-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -6011,8 +7002,9 @@ }, "node_modules/find-cache-dir/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -6025,8 +7017,9 @@ }, "node_modules/find-cache-dir/node_modules/p-locate": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -6036,24 +7029,27 @@ }, "node_modules/find-cache-dir/node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/find-cache-dir/node_modules/pify": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/find-cache-dir/node_modules/pkg-dir": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -6063,15 +7059,17 @@ }, "node_modules/find-cache-dir/node_modules/semver": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/find-replace": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "dependencies": { "array-back": "^3.0.1" }, @@ -6081,8 +7079,9 @@ }, "node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -6094,12 +7093,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, "node_modules/flat-cache": { - "version": "3.1.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, - "license": "MIT", "dependencies": { - "flatted": "^3.2.7", + "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, @@ -6109,8 +7118,9 @@ }, "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6128,8 +7138,9 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -6142,64 +7153,42 @@ }, "node_modules/flatted": { "version": "3.2.9", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true }, "node_modules/flush-write-stream": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" } }, - "node_modules/flush-write-stream/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/for-in": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/foreground-child": { "version": "3.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -6213,7 +7202,8 @@ }, "node_modules/form-data": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -6225,8 +7215,9 @@ }, "node_modules/formidable": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", "dev": true, - "license": "MIT", "dependencies": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", @@ -6239,16 +7230,18 @@ }, "node_modules/forwarded": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fragment-cache": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, - "license": "MIT", "dependencies": { "map-cache": "^0.2.2" }, @@ -6258,57 +7251,34 @@ }, "node_modules/fresh": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/from2": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, - "node_modules/from2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/fs-constants": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, "node_modules/fs-extra": { "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6320,8 +7290,9 @@ }, "node_modules/fs-write-stream-atomic": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, - "license": "ISC", "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -6329,41 +7300,17 @@ "readable-stream": "1 || 2" } }, - "node_modules/fs-write-stream-atomic/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -6373,14 +7320,19 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "devOptional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6396,32 +7348,36 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "devOptional": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -6434,16 +7390,18 @@ }, "node_modules/get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, - "license": "MIT", "dependencies": { "object-assign": "^4.0.1", "pinkie-promise": "^2.0.0" @@ -6454,8 +7412,9 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -6469,24 +7428,26 @@ }, "node_modules/get-value": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/glob": { - "version": "10.3.4", - "license": "ISC", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -6497,8 +7458,9 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -6508,18 +7470,21 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/glob/node_modules/minimatch": { "version": "9.0.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -6530,10 +7495,29 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "optional": true, + "peer": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, "node_modules/globals": { - "version": "13.21.0", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -6546,8 +7530,9 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "devOptional": true, "dependencies": { "define-properties": "^1.1.3" }, @@ -6560,8 +7545,9 @@ }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6579,8 +7565,9 @@ }, "node_modules/gopd": { "version": "1.0.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "devOptional": true, "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -6588,45 +7575,73 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "peer": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphemer": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "devOptional": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "devOptional": true, "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -6636,8 +7651,9 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "devOptional": true, "engines": { "node": ">= 0.4" }, @@ -6647,8 +7663,9 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "devOptional": true, "engines": { "node": ">= 0.4" }, @@ -6658,8 +7675,9 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -6672,8 +7690,9 @@ }, "node_modules/has-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, - "license": "MIT", "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -6685,8 +7704,9 @@ }, "node_modules/has-values": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -6697,8 +7717,9 @@ }, "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -6708,8 +7729,9 @@ }, "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -6719,8 +7741,9 @@ }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -6730,8 +7753,9 @@ }, "node_modules/hash-base": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -6741,29 +7765,25 @@ "node": ">=4" } }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -6771,16 +7791,18 @@ }, "node_modules/hexoid": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/hmac-drbg": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, - "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -6789,8 +7811,9 @@ }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -6800,13 +7823,21 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "peer": true }, "node_modules/http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -6818,18 +7849,11 @@ "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/http-proxy-agent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, - "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -6839,15 +7863,30 @@ "node": ">= 6" } }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "peer": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, "node_modules/https-browserify": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true }, "node_modules/https-proxy-agent": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -6858,18 +7897,20 @@ }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/iconv-lite": { - "version": "0.6.3", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" @@ -6877,6 +7918,8 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -6891,26 +7934,28 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/iferr": { "version": "0.1.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true }, "node_modules/ignore": { "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immer": { "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "dev": true, - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -6918,8 +7963,9 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6933,8 +7979,9 @@ }, "node_modules/import-local": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -6951,21 +7998,24 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/infer-owner": { "version": "1.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6973,13 +8023,15 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/internal-slot": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -6991,24 +8043,27 @@ }, "node_modules/interpret": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/ipaddr.js": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.0" }, @@ -7018,8 +8073,9 @@ }, "node_modules/is-arguments": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7033,8 +8089,9 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -7046,12 +8103,14 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -7061,8 +8120,9 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "binary-extensions": "^2.0.0" @@ -7073,8 +8133,9 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7088,13 +8149,15 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "node_modules/is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7104,8 +8167,9 @@ }, "node_modules/is-core-module": { "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -7115,8 +8179,9 @@ }, "node_modules/is-data-descriptor": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.0" }, @@ -7126,8 +8191,9 @@ }, "node_modules/is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7140,8 +8206,9 @@ }, "node_modules/is-descriptor": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -7153,8 +8220,9 @@ }, "node_modules/is-extendable": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -7164,31 +8232,35 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -7198,21 +8270,24 @@ }, "node_modules/is-map": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-natural-number": { "version": "4.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true }, "node_modules/is-negative-zero": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7222,16 +8297,18 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7244,16 +8321,18 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7263,13 +8342,15 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, "node_modules/is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -7283,16 +8364,18 @@ }, "node_modules/is-set": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -7302,16 +8385,18 @@ }, "node_modules/is-stream": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -7324,8 +8409,9 @@ }, "node_modules/is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -7338,8 +8424,9 @@ }, "node_modules/is-typed-array": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "license": "MIT", "dependencies": { "which-typed-array": "^1.1.11" }, @@ -7352,16 +8439,18 @@ }, "node_modules/is-weakmap": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -7371,8 +8460,9 @@ }, "node_modules/is-weakset": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -7383,49 +8473,56 @@ }, "node_modules/is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/isarray": { "version": "2.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -7439,8 +8536,9 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -7452,8 +8550,9 @@ }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -7466,8 +8565,9 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -7479,16 +8579,18 @@ }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -7499,14 +8601,16 @@ }, "node_modules/iterare": { "version": "1.2.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", "engines": { "node": ">=6" } }, "node_modules/jackspeak": { - "version": "2.3.3", - "license": "BlueOak-1.0.0", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -7522,8 +8626,9 @@ }, "node_modules/jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -7547,8 +8652,9 @@ }, "node_modules/jest-changed-files": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -7560,8 +8666,9 @@ }, "node_modules/jest-circus": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -7590,8 +8697,9 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7601,8 +8709,9 @@ }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7614,13 +8723,15 @@ }, "node_modules/jest-circus/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-cli": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -7651,8 +8762,9 @@ }, "node_modules/jest-config": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -7695,8 +8807,9 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7706,8 +8819,9 @@ }, "node_modules/jest-config/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7725,8 +8839,9 @@ }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7738,13 +8853,15 @@ }, "node_modules/jest-config/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -7757,8 +8874,9 @@ }, "node_modules/jest-diff/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7768,8 +8886,9 @@ }, "node_modules/jest-diff/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7781,13 +8900,15 @@ }, "node_modules/jest-diff/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-docblock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -7797,8 +8918,9 @@ }, "node_modules/jest-each": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -7812,8 +8934,9 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7823,8 +8946,9 @@ }, "node_modules/jest-each/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7836,13 +8960,15 @@ }, "node_modules/jest-each/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-environment-jsdom": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -7867,8 +8993,9 @@ }, "node_modules/jest-environment-node": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -7883,16 +9010,18 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -7915,8 +9044,9 @@ }, "node_modules/jest-leak-detector": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -7927,8 +9057,9 @@ }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7938,8 +9069,9 @@ }, "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7951,13 +9083,15 @@ }, "node_modules/jest-leak-detector/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -7970,8 +9104,9 @@ }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7981,8 +9116,9 @@ }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -7994,13 +9130,15 @@ }, "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-message-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -8018,8 +9156,9 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8029,8 +9168,9 @@ }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8042,13 +9182,15 @@ }, "node_modules/jest-message-util/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-mock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -8060,8 +9202,9 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -8076,16 +9219,18 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -8103,8 +9248,9 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -8115,8 +9261,9 @@ }, "node_modules/jest-runner": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -8146,8 +9293,9 @@ }, "node_modules/jest-runtime": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -8178,8 +9326,9 @@ }, "node_modules/jest-runtime/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8197,16 +9346,18 @@ }, "node_modules/jest-runtime/node_modules/strip-bom": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-snapshot": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -8235,8 +9386,9 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8246,8 +9398,9 @@ }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8259,13 +9412,15 @@ }, "node_modules/jest-snapshot/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -8280,8 +9435,9 @@ }, "node_modules/jest-validate": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -8296,8 +9452,9 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8307,8 +9464,9 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8318,8 +9476,9 @@ }, "node_modules/jest-validate/node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -8331,13 +9490,15 @@ }, "node_modules/jest-validate/node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/jest-watcher": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -8354,8 +9515,9 @@ }, "node_modules/jest-worker": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -8368,8 +9530,9 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8382,12 +9545,14 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -8397,8 +9562,9 @@ }, "node_modules/jsdom": { "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, - "license": "MIT", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", @@ -8441,8 +9607,9 @@ }, "node_modules/jsesc": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -8452,35 +9619,41 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "devOptional": true }, "node_modules/json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -8490,7 +9663,8 @@ }, "node_modules/jsonc": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "dependencies": { "fast-safe-stringify": "^2.0.6", "graceful-fs": "^4.1.15", @@ -8505,7 +9679,8 @@ }, "node_modules/jsonc/node_modules/parse-json": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -8516,15 +9691,17 @@ }, "node_modules/jsonc/node_modules/strip-bom": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "engines": { "node": ">=8" } }, "node_modules/jsonfile": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -8533,41 +9710,45 @@ } }, "node_modules/keyv": { - "version": "4.5.3", - "dev": true, - "license": "MIT", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/leven": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -8578,20 +9759,23 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "node_modules/loader-runner": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "engines": { "node": ">=6.11.5" } }, "node_modules/loader-utils": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -8603,8 +9787,9 @@ }, "node_modules/loader-utils/node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -8614,8 +9799,9 @@ }, "node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -8628,31 +9814,36 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.assignwith": { "version": "4.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/loose-envify": { "version": "1.4.0", - "license": "MIT", - "peer": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -8660,25 +9851,37 @@ "loose-envify": "cli.js" } }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/lru-cache": { "version": "10.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { "node": "14 || >=16.14" } }, "node_modules/lz-string": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, - "license": "MIT", "bin": { "lz-string": "bin/bin.js" } }, "node_modules/make-dir": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -8688,37 +9891,42 @@ }, "node_modules/make-dir/node_modules/pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/make-error": { "version": "1.3.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/makeerror": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-cache": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/map-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, - "license": "MIT", "dependencies": { "object-visit": "^1.0.0" }, @@ -8726,10 +9934,24 @@ "node": ">=0.10.0" } }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "peer": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/md5.js": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -8738,77 +9960,57 @@ }, "node_modules/media-typer": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memory-fs": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, - "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, - "node_modules/memory-fs/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/merge-descriptors": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/methods": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -8819,8 +10021,9 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -8831,30 +10034,34 @@ }, "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/mime": { - "version": "2.6.0", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "license": "MIT", "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=4" } }, "node_modules/mime-db": { "version": "1.52.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" }, @@ -8864,26 +10071,39 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true }, "node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -8893,22 +10113,25 @@ }, "node_modules/minimist": { "version": "1.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { - "version": "7.0.3", - "license": "ISC", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/mississippi": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -8927,8 +10150,9 @@ }, "node_modules/mixin-deep": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -8939,7 +10163,8 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { "minimist": "^1.2.6" }, @@ -8949,8 +10174,9 @@ }, "node_modules/move-concurrently": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, - "license": "ISC", "dependencies": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -8962,8 +10188,9 @@ }, "node_modules/move-concurrently/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8981,8 +10208,9 @@ }, "node_modules/move-concurrently/node_modules/rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -8992,13 +10220,14 @@ }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multer": { "version": "1.4.4-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", + "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", "dev": true, - "license": "MIT", "dependencies": { "append-field": "^1.0.0", "busboy": "^1.0.0", @@ -9014,19 +10243,21 @@ }, "node_modules/nan": { "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/nanoid": { "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -9037,8 +10268,9 @@ }, "node_modules/nanomatch": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, - "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -9058,38 +10290,44 @@ }, "node_modules/native-reg": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "node-gyp-build": "4" } }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true }, "node_modules/negotiator": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/nock": { - "version": "13.3.3", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.4.tgz", + "integrity": "sha512-DDpmn5oLEdCTclEqweOT4U7bEpuoifBMFUXem9sA4turDAZ5tlbrEoWqCorwXey8CaAw44mst5JOQeVNiwtkhw==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -9102,8 +10340,9 @@ }, "node_modules/node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -9121,18 +10360,21 @@ }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -9140,7 +10382,8 @@ }, "node_modules/node-gyp-build": { "version": "4.6.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -9149,13 +10392,15 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true }, "node_modules/node-libs-browser": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, - "license": "MIT", "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -9184,8 +10429,9 @@ }, "node_modules/node-libs-browser/node_modules/buffer": { "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, - "license": "MIT", "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -9194,52 +10440,47 @@ }, "node_modules/node-libs-browser/node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, "node_modules/node-libs-browser/node_modules/punycode": { "version": "1.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true }, "node_modules/node-releases": { "version": "2.0.13", - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -9249,21 +10490,24 @@ }, "node_modules/nwsapi": { "version": "2.2.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true }, "node_modules/object-assign": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, - "license": "MIT", "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -9275,8 +10519,9 @@ }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -9286,8 +10531,9 @@ }, "node_modules/object-copy/node_modules/is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9297,8 +10543,9 @@ }, "node_modules/object-copy/node_modules/is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -9308,8 +10555,9 @@ }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -9321,16 +10569,18 @@ }, "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -9339,17 +10589,19 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", + "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-is": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -9363,16 +10615,18 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "devOptional": true, "engines": { "node": ">= 0.4" } }, "node_modules/object-visit": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.0" }, @@ -9382,8 +10636,9 @@ }, "node_modules/object.assign": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -9399,8 +10654,9 @@ }, "node_modules/object.fromentries": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -9415,8 +10671,9 @@ }, "node_modules/object.groupby": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -9426,8 +10683,9 @@ }, "node_modules/object.pick": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -9437,8 +10695,9 @@ }, "node_modules/object.values": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -9451,18 +10710,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", - "dev": true, - "license": "ISC", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -9475,8 +10747,9 @@ }, "node_modules/optionator": { "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "license": "MIT", "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", @@ -9491,13 +10764,24 @@ }, "node_modules/os-browserify": { "version": "0.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "peer": true, + "engines": { + "node": ">=8" + } }, "node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -9510,8 +10794,9 @@ }, "node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -9524,58 +10809,35 @@ }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pako": { "version": "1.0.11", - "dev": true, - "license": "(MIT AND Zlib)" + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, "node_modules/parallel-transform": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, - "license": "MIT", "dependencies": { "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" } }, - "node_modules/parallel-transform/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -9585,8 +10847,9 @@ }, "node_modules/parse-asn1": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, - "license": "ISC", "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -9597,8 +10860,9 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9614,8 +10878,9 @@ }, "node_modules/parse5": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, - "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -9625,62 +10890,71 @@ }, "node_modules/parseurl": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/pascalcase": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-browserify": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true }, "node_modules/path-dirname": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-scurry": { "version": "1.10.1", - "license": "BlueOak-1.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dependencies": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -9694,21 +10968,24 @@ }, "node_modules/path-to-regexp": { "version": "3.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", + "dev": true }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, - "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -9722,17 +10999,19 @@ }, "node_modules/pend": { "version": "1.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "node_modules/picocolors": { "version": "1.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -9742,24 +11021,27 @@ }, "node_modules/pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie-promise": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, - "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -9769,16 +11051,18 @@ }, "node_modules/pirates": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -9788,8 +11072,9 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -9800,8 +11085,9 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -9811,8 +11097,9 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -9825,8 +11112,9 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -9836,14 +11124,17 @@ }, "node_modules/posix-character-classes": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/postcss": { - "version": "8.4.29", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -9858,7 +11149,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "peer": true, "dependencies": { "nanoid": "^3.3.6", @@ -9871,16 +11161,18 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -9893,8 +11185,9 @@ }, "node_modules/pretty-format": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -9906,8 +11199,9 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -9917,26 +11211,39 @@ }, "node_modules/process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } }, "node_modules/promise-inflight": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true }, "node_modules/prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -9947,16 +11254,18 @@ }, "node_modules/propagate": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/proxy-addr": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -9967,18 +11276,21 @@ }, "node_modules/prr": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true }, "node_modules/psl": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, "node_modules/public-encrypt": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -9990,13 +11302,14 @@ }, "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/pump": { "version": "3.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -10004,8 +11317,9 @@ }, "node_modules/pumpify": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, - "license": "MIT", "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -10014,8 +11328,9 @@ }, "node_modules/pumpify/node_modules/pump": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, - "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -10023,13 +11338,16 @@ }, "node_modules/punycode": { "version": "2.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { "node": ">=6" } }, "node_modules/pure-rand": { - "version": "6.0.3", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", "dev": true, "funding": [ { @@ -10040,13 +11358,13 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ], - "license": "MIT" + ] }, "node_modules/qs": { - "version": "6.11.2", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -10059,6 +11377,8 @@ }, "node_modules/querystring-es3": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, "engines": { "node": ">=0.4.x" @@ -10066,11 +11386,14 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -10085,24 +11408,33 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, - "node_modules/queue-tick": { - "version": "1.0.1", - "license": "MIT" + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/randombytes": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -10110,16 +11442,18 @@ }, "node_modules/range-parser": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -10130,29 +11464,10 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react": { "version": "18.2.0", - "license": "MIT", - "peer": true, + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { "loose-envify": "^1.1.0" }, @@ -10162,8 +11477,9 @@ }, "node_modules/react-dom": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.1.0", @@ -10175,26 +11491,42 @@ }, "node_modules/react-is": { "version": "17.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, "node_modules/readable-stream": { - "version": "3.6.2", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/readdirp": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "picomatch": "^2.2.1" @@ -10205,8 +11537,9 @@ }, "node_modules/rechoir": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -10216,34 +11549,39 @@ }, "node_modules/redux": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" } }, "node_modules/redux-thunk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, - "license": "MIT", "peerDependencies": { "redux": "^4" } }, "node_modules/reflect-metadata": { "version": "0.1.13", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "peer": true }, "node_modules/regenerator-runtime": { "version": "0.14.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true }, "node_modules/regex-not": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -10254,8 +11592,9 @@ }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -10270,48 +11609,55 @@ }, "node_modules/remove-trailing-separator": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, - "license": "ISC", "optional": true }, "node_modules/repeat-element": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/requires-port": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, "node_modules/reselect": { "version": "4.1.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true }, "node_modules/resolve": { - "version": "1.22.6", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -10324,10 +11670,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "peer": true + }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -10337,59 +11690,79 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/resolve-url": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true }, "node_modules/resolve.exports": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "peer": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ret": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12" } }, "node_modules/reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rimraf": { - "version": "5.0.1", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^10.2.5" + "glob": "^10.3.7" }, "bin": { - "rimraf": "dist/cjs/src/bin.js" + "rimraf": "dist/esm/bin.mjs" }, "engines": { "node": ">=14" @@ -10400,16 +11773,36 @@ }, "node_modules/ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "optional": true, + "peer": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/rollup": { - "version": "3.29.2", - "license": "MIT", + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", "peer": true, "bin": { "rollup": "dist/bin/rollup" @@ -10424,6 +11817,8 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -10439,22 +11834,23 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/run-queue": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, - "license": "ISC", "dependencies": { "aproba": "^1.1.1" } }, "node_modules/rxjs": { "version": "7.8.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "peer": true, "dependencies": { "tslib": "^2.1.0" @@ -10462,13 +11858,15 @@ }, "node_modules/rxjs/node_modules/tslib": { "version": "2.6.2", - "license": "0BSD", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true }, "node_modules/safe-array-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1", @@ -10483,21 +11881,38 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/safe-regex": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, - "license": "MIT", "dependencies": { "ret": "~0.1.10" } }, "node_modules/safe-regex-test": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -10509,13 +11924,15 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "node_modules/saxes": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -10525,8 +11942,9 @@ }, "node_modules/scheduler": { "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.1.0" @@ -10534,7 +11952,8 @@ }, "node_modules/schema-utils": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -10550,8 +11969,9 @@ }, "node_modules/seek-bzip": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, - "license": "MIT", "dependencies": { "commander": "^2.8.1" }, @@ -10560,15 +11980,11 @@ "seek-table": "bin/seek-bzip-table" } }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, "node_modules/semver": { "version": "7.5.4", - "dev": true, - "license": "ISC", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "devOptional": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -10579,10 +11995,18 @@ "node": ">=10" } }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "optional": true, + "peer": true + }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "devOptional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10592,8 +12016,9 @@ }, "node_modules/send": { "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -10615,63 +12040,67 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "dev": true, - "license": "MIT", + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "peer": true, "dependencies": { - "ee-first": "1.1.1" + "type-fest": "^0.13.1" }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/serialize-javascript": { "version": "6.0.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-static": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -10684,8 +12113,9 @@ }, "node_modules/set-function-name": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", "dev": true, - "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "functions-have-names": "^1.2.3", @@ -10697,8 +12127,9 @@ }, "node_modules/set-value": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -10711,8 +12142,9 @@ }, "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -10722,26 +12154,30 @@ }, "node_modules/set-value/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/setimmediate": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true }, "node_modules/setprototypeof": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true }, "node_modules/sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -10752,8 +12188,9 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10763,7 +12200,8 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10773,15 +12211,17 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -10793,7 +12233,8 @@ }, "node_modules/signal-exit": { "version": "4.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { "node": ">=14" }, @@ -10803,21 +12244,24 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "node_modules/slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/snapdragon": { "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, - "license": "MIT", "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -10834,8 +12278,9 @@ }, "node_modules/snapdragon-node": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, - "license": "MIT", "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -10847,8 +12292,9 @@ }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -10858,8 +12304,9 @@ }, "node_modules/snapdragon-util": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.2.0" }, @@ -10869,8 +12316,9 @@ }, "node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -10880,16 +12328,18 @@ }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -10899,8 +12349,9 @@ }, "node_modules/snapdragon/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -10910,8 +12361,9 @@ }, "node_modules/snapdragon/node_modules/is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -10921,8 +12373,9 @@ }, "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -10932,8 +12385,9 @@ }, "node_modules/snapdragon/node_modules/is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -10943,8 +12397,9 @@ }, "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -10954,8 +12409,9 @@ }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -10967,49 +12423,56 @@ }, "node_modules/snapdragon/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/snapdragon/node_modules/source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-list-map": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, "node_modules/source-map": { "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/source-map-js": { "version": "1.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "peer": true, "engines": { "node": ">=0.10.0" @@ -11017,8 +12480,10 @@ }, "node_modules/source-map-resolve": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -11029,8 +12494,9 @@ }, "node_modules/source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11038,21 +12504,25 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-url": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true }, "node_modules/split-string": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^3.0.0" }, @@ -11061,22 +12531,26 @@ } }, "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "optional": true, + "peer": true }, "node_modules/ssri": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, - "license": "ISC", "dependencies": { "figgy-pudding": "^3.5.1" } }, "node_modules/stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -11086,16 +12560,18 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/static-extend": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, - "license": "MIT", "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -11106,8 +12582,9 @@ }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -11117,8 +12594,9 @@ }, "node_modules/static-extend/node_modules/is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11128,8 +12606,9 @@ }, "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11139,8 +12618,9 @@ }, "node_modules/static-extend/node_modules/is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11150,8 +12630,9 @@ }, "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11161,8 +12642,9 @@ }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -11174,16 +12656,27 @@ }, "node_modules/static-extend/node_modules/kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, - "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -11193,44 +12686,19 @@ }, "node_modules/stream-browserify": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" } }, - "node_modules/stream-browserify/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-each": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, - "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -11238,8 +12706,9 @@ }, "node_modules/stream-http": { "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, - "license": "MIT", "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", @@ -11248,91 +12717,49 @@ "xtend": "^4.0.0" } }, - "node_modules/stream-http/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-read-all": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", "engines": { "node": ">=10" } }, "node_modules/stream-shift": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true }, "node_modules/streamsearch": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "dev": true, "engines": { "node": ">=10.0.0" } }, - "node_modules/streamx": { - "version": "2.15.1", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, "node_modules/string_decoder": { - "version": "1.3.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -11343,7 +12770,8 @@ }, "node_modules/string-width": { "version": "5.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -11359,7 +12787,8 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -11371,11 +12800,13 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { "node": ">=12" }, @@ -11385,7 +12816,8 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -11398,8 +12830,9 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -11414,8 +12847,9 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -11427,8 +12861,9 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -11440,7 +12875,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11451,7 +12887,8 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11461,31 +12898,35 @@ }, "node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-dirs": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, - "license": "MIT", "dependencies": { "is-natural-number": "^4.0.1" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { "node": ">=8" }, @@ -11493,10 +12934,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "peer": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, "node_modules/superagent": { "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", "dev": true, - "license": "MIT", "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.4", @@ -11513,10 +12967,23 @@ "node": ">=6.4.0 <13 || >=14" } }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/supertest": { "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", "dev": true, - "license": "MIT", "dependencies": { "methods": "^1.1.2", "superagent": "^8.0.5" @@ -11527,7 +12994,8 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" }, @@ -11537,8 +13005,9 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11548,12 +13017,14 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true }, "node_modules/table-layout": { "version": "3.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "dependencies": { "@75lb/deep-merge": "^1.1.1", "array-back": "^6.2.2", @@ -11572,37 +13043,50 @@ }, "node_modules/table-layout/node_modules/array-back": { "version": "6.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", "engines": { "node": ">=12.17" } }, "node_modules/table-layout/node_modules/typical": { "version": "7.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { "node": ">=12.17" } }, "node_modules/tapable": { "version": "2.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { "node": ">=6" } }, "node_modules/tar-stream": { - "version": "3.1.6", - "license": "MIT", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/terser": { - "version": "5.19.4", - "license": "BSD-2-Clause", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -11618,7 +13102,8 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -11648,9 +13133,19 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11662,7 +13157,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" }, @@ -11673,20 +13169,18 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" } }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", - "license": "MIT", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11694,8 +13188,9 @@ }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -11707,8 +13202,9 @@ }, "node_modules/test-exclude/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11726,54 +13222,31 @@ }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/through2": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/timers-browserify": { "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, - "license": "MIT", "dependencies": { "setimmediate": "^1.0.4" }, @@ -11783,31 +13256,36 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true }, "node_modules/to-arraybuffer": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true }, "node_modules/to-buffer": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -11817,8 +13295,9 @@ }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -11828,8 +13307,9 @@ }, "node_modules/to-regex": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, - "license": "MIT", "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -11842,8 +13322,9 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -11853,16 +13334,18 @@ }, "node_modules/toidentifier": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -11875,16 +13358,18 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/tr46": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, - "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -11894,8 +13379,9 @@ }, "node_modules/ts-jest": { "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, - "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -11936,8 +13422,9 @@ }, "node_modules/ts-jest/node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -11946,14 +13433,16 @@ } }, "node_modules/ts-loader": { - "version": "9.4.4", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", + "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { "node": ">=12.0.0" @@ -11966,8 +13455,9 @@ "node_modules/ts-loader-webpack-4": { "name": "ts-loader", "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^4.0.0", @@ -11985,6 +13475,8 @@ }, "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -11995,15 +13487,11 @@ "node": ">=6.9.0" } }, - "node_modules/ts-loader-webpack-4/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, - "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -12012,32 +13500,11 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/ts-loader-webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/ts-loader-webpack-4/node_modules/tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -12087,8 +13554,9 @@ }, "node_modules/tsconfig-paths": { "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -12098,13 +13566,15 @@ }, "node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -12117,13 +13587,15 @@ }, "node_modules/tty-browserify": { "version": "0.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -12133,16 +13605,18 @@ }, "node_modules/type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -12152,8 +13626,9 @@ }, "node_modules/type-is": { "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -12164,8 +13639,9 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1", @@ -12177,8 +13653,9 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -12194,8 +13671,9 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -12212,8 +13690,9 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -12225,13 +13704,15 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, "node_modules/typescript": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12242,13 +13723,16 @@ }, "node_modules/typical": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "engines": { "node": ">=8" } }, "node_modules/ua-parser-js": { "version": "1.0.36", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", + "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==", "funding": [ { "type": "opencollective", @@ -12263,14 +13747,14 @@ "url": "https://github.com/sponsors/faisalman" } ], - "license": "MIT", "engines": { "node": "*" } }, "node_modules/uid": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", "dependencies": { "@lukeed/csprng": "^1.0.0" }, @@ -12280,8 +13764,9 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -12294,8 +13779,9 @@ }, "node_modules/unbzip2-stream": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" @@ -12303,8 +13789,9 @@ }, "node_modules/union-value": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, - "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -12317,48 +13804,54 @@ }, "node_modules/union-value/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/unique-filename": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, - "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" } }, "node_modules/unique-slug": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" } }, "node_modules/universalify": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/unset-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, - "license": "MIT", "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -12369,8 +13862,9 @@ }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, - "license": "MIT", "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -12382,8 +13876,9 @@ }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -12393,21 +13888,24 @@ }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, "node_modules/upath": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, - "license": "MIT", "optional": true, "engines": { "node": ">=4", @@ -12415,7 +13913,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "funding": [ { "type": "opencollective", @@ -12430,7 +13930,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -12444,20 +13943,24 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/urix": { "version": "0.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true }, "node_modules/url": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dev": true, - "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.2" @@ -12465,8 +13968,9 @@ }, "node_modules/url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -12474,39 +13978,60 @@ }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/url/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, - "license": "MIT" + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/use": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/util": { "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "2.0.3" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -12518,29 +14043,42 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "dev": true, - "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/vary": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/vite": { - "version": "4.4.9", - "license": "MIT", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", "peer": true, "dependencies": { "esbuild": "^0.18.10", @@ -12594,13 +14132,15 @@ }, "node_modules/vm-browserify": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, - "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -12610,15 +14150,17 @@ }, "node_modules/walker": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { "version": "2.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -12629,8 +14171,9 @@ }, "node_modules/watchpack-chokidar2": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "chokidar": "^2.1.8" @@ -12638,8 +14181,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/anymatch": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, - "license": "ISC", "optional": true, "dependencies": { "micromatch": "^3.1.4", @@ -12648,8 +14192,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "remove-trailing-separator": "^1.0.1" @@ -12660,8 +14205,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, - "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -12669,8 +14215,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "arr-flatten": "^1.1.0", @@ -12690,8 +14237,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "is-extendable": "^0.1.0" @@ -12702,8 +14250,10 @@ }, "node_modules/watchpack-chokidar2/node_modules/chokidar": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "anymatch": "^2.0.0", @@ -12724,8 +14274,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "extend-shallow": "^2.0.1", @@ -12739,8 +14290,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "is-extendable": "^0.1.0" @@ -12751,9 +14303,11 @@ }, "node_modules/watchpack-chokidar2/node_modules/fsevents": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, "hasInstallScript": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -12768,8 +14322,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/glob-parent": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, - "license": "ISC", "optional": true, "dependencies": { "is-glob": "^3.1.0", @@ -12778,8 +14333,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "is-extglob": "^2.1.0" @@ -12790,8 +14346,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "binary-extensions": "^1.0.0" @@ -12802,8 +14359,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -12811,8 +14369,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "kind-of": "^3.0.2" @@ -12823,8 +14382,9 @@ }, "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "is-buffer": "^1.1.5" @@ -12833,16 +14393,11 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "arr-diff": "^4.0.0", @@ -12863,25 +14418,11 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "graceful-fs": "^4.1.11", @@ -12892,19 +14433,11 @@ "node": ">=0.10" } }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "is-number": "^3.0.0", @@ -12916,15 +14449,17 @@ }, "node_modules/webidl-conversions": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/webpack": { - "version": "5.88.2", - "license": "MIT", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -12970,8 +14505,9 @@ "node_modules/webpack-4": { "name": "webpack", "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -13018,8 +14554,9 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -13028,23 +14565,27 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -13054,29 +14595,33 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -13090,8 +14635,9 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -13102,8 +14648,9 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", @@ -13113,8 +14660,9 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", @@ -13126,8 +14674,9 @@ }, "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", @@ -13136,8 +14685,9 @@ }, "node_modules/webpack-4/node_modules/acorn": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -13147,8 +14697,9 @@ }, "node_modules/webpack-4/node_modules/braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "MIT", "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -13167,8 +14718,9 @@ }, "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -13176,13 +14728,10 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-4/node_modules/enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -13195,8 +14744,9 @@ }, "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, - "license": "MIT", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -13207,8 +14757,9 @@ }, "node_modules/webpack-4/node_modules/eslint-scope": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -13219,8 +14770,9 @@ }, "node_modules/webpack-4/node_modules/fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -13233,8 +14785,9 @@ }, "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -13244,16 +14797,18 @@ }, "node_modules/webpack-4/node_modules/is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/webpack-4/node_modules/is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -13263,8 +14818,9 @@ }, "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -13272,23 +14828,20 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-4/node_modules/loader-runner": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" } }, "node_modules/webpack-4/node_modules/loader-utils": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -13300,8 +14853,9 @@ }, "node_modules/webpack-4/node_modules/micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -13321,24 +14875,11 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "node_modules/webpack-4/node_modules/schema-utils": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -13350,40 +14891,36 @@ }, "node_modules/webpack-4/node_modules/serialize-javascript": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/webpack-4/node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/webpack-4/node_modules/tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-4/node_modules/terser": { "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -13398,8 +14935,9 @@ }, "node_modules/webpack-4/node_modules/terser-webpack-plugin": { "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, - "license": "MIT", "dependencies": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", @@ -13420,8 +14958,9 @@ }, "node_modules/webpack-4/node_modules/to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -13432,8 +14971,9 @@ }, "node_modules/webpack-4/node_modules/watchpack": { "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" @@ -13445,8 +14985,9 @@ }, "node_modules/webpack-4/node_modules/webpack": { "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -13494,8 +15035,9 @@ }, "node_modules/webpack-4/node_modules/webpack-sources": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -13503,8 +15045,9 @@ }, "node_modules/webpack-cli": { "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -13545,25 +15088,23 @@ } } }, - "node_modules/webpack-cli/node_modules/colorette": { - "version": "2.0.20", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-cli/node_modules/commander": { "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/webpack-merge": { - "version": "5.9.0", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "engines": { @@ -13572,15 +15113,17 @@ }, "node_modules/webpack-node-externals": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-sources": { "version": "3.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "engines": { "node": ">=10.13.0" } @@ -13588,8 +15131,9 @@ "node_modules/webpack-sources-webpack-4": { "name": "webpack-sources", "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -13597,16 +15141,18 @@ }, "node_modules/webpack-sources-webpack-4/node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/whatwg-encoding": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, - "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -13614,18 +15160,32 @@ "node": ">=12" } }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/whatwg-mimetype": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -13636,7 +15196,8 @@ }, "node_modules/which": { "version": "2.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { "isexe": "^2.0.0" }, @@ -13649,8 +15210,9 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -13664,8 +15226,9 @@ }, "node_modules/which-collection": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, - "license": "MIT", "dependencies": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -13678,8 +15241,9 @@ }, "node_modules/which-typed-array": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -13696,27 +15260,31 @@ }, "node_modules/wildcard": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true }, "node_modules/wordwrapjs": { "version": "5.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", "engines": { "node": ">=12.17" } }, "node_modules/worker-farm": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, - "license": "MIT", "dependencies": { "errno": "~0.1.7" } }, "node_modules/wrap-ansi": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -13732,7 +15300,8 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -13747,11 +15316,13 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13763,7 +15334,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { "node": ">=12" }, @@ -13773,7 +15345,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { "node": ">=12" }, @@ -13783,7 +15356,8 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -13796,13 +15370,14 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -13813,13 +15388,15 @@ }, "node_modules/write-file-atomic/node_modules/signal-exit": { "version": "3.0.7", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/ws": { - "version": "8.14.1", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -13838,42 +15415,48 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12" } }, "node_modules/xmlchars": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true }, "node_modules/xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "4.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "node_modules/yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -13889,21 +15472,24 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13915,8 +15501,8 @@ }, "node_modules/yauzl": { "version": "2.10.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -13933,8 +15519,9 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -13963,6 +15550,18 @@ "webpack-cli": "^5.1.4" } }, + "packages/electron": { + "name": "@backtrace-labs/electron", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace-labs/node": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6" + }, + "peerDependencies": { + "electron": "12 - 26" + } + }, "packages/nestjs": { "name": "@backtrace-labs/nestjs", "version": "0.0.1", @@ -14066,76 +15665,6 @@ "react-native": "*" } }, - "packages/react-native/node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/@babel/code-frame": { - "version": "7.22.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/compat-data": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/core": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, "packages/react-native/node_modules/@babel/eslint-parser": { "version": "7.22.15", "dev": true, @@ -14153,20 +15682,6 @@ "eslint": "^7.5.0 || ^8.0.0" } }, - "packages/react-native/node_modules/@babel/generator": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "packages/react-native/node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", "dev": true, @@ -14189,21 +15704,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, "packages/react-native/node_modules/@babel/helper-create-class-features-plugin": { "version": "7.22.15", "dev": true, @@ -14273,37 +15773,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "packages/react-native/node_modules/@babel/helper-member-expression-to-functions": { "version": "7.22.15", "dev": true, @@ -14315,35 +15784,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/helper-module-transforms": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, "packages/react-native/node_modules/@babel/helper-optimise-call-expression": { "version": "7.22.5", "dev": true, @@ -14355,14 +15795,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "packages/react-native/node_modules/@babel/helper-remap-async-to-generator": { "version": "7.22.20", "dev": true, @@ -14395,17 +15827,6 @@ "@babel/core": "^7.0.0" } }, - "packages/react-native/node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "packages/react-native/node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", "dev": true, @@ -14417,41 +15838,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "packages/react-native/node_modules/@babel/helper-wrap-function": { "version": "7.22.20", "dev": true, @@ -14465,43 +15851,6 @@ "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@babel/helpers": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/highlight": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/parser": { - "version": "7.22.16", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, "packages/react-native/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.15", "dev": true, @@ -14669,28 +16018,6 @@ "@babel/core": "^7.0.0-0" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "packages/react-native/node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "dev": true, @@ -14783,108 +16110,6 @@ "@babel/core": "^7.0.0-0" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "packages/react-native/node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "dev": true, @@ -14899,34 +16124,6 @@ "@babel/core": "^7.0.0-0" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "packages/react-native/node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "dev": true, @@ -15988,160 +17185,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/@babel/runtime": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.14.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@babel/template": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/traverse": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@babel/types": { - "version": "7.22.19", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "packages/react-native/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/@eslint-community/regexpp": { - "version": "4.8.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "packages/react-native/node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "dev": true, - "license": "MIT", - "peer": true, - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/@eslint/js": { - "version": "8.49.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "packages/react-native/node_modules/@hapi/hoek": { "version": "9.3.0", "dev": true, @@ -16155,39 +17198,6 @@ "@hapi/hoek": "^9.0.0" } }, - "packages/react-native/node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "packages/react-native/node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "packages/react-native/node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause", - "peer": true - }, "packages/react-native/node_modules/@jest/create-cache-key-function": { "version": "29.7.0", "dev": true, @@ -16199,179 +17209,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "packages/react-native/node_modules/@jest/environment": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "packages/react-native/node_modules/@jest/fake-timers": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "packages/react-native/node_modules/@jest/schemas": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "packages/react-native/node_modules/@jest/types": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "packages/react-native/node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "packages/react-native/node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/react-native/node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "packages/react-native/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "packages/react-native/node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "dev": true, @@ -16380,38 +17217,6 @@ "eslint-scope": "5.1.1" } }, - "packages/react-native/node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "packages/react-native/node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "packages/react-native/node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, "packages/react-native/node_modules/@react-native-community/cli": { "version": "11.3.6", "dev": true, @@ -17452,53 +18257,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "packages/react-native/node_modules/@sinclair/typebox": { - "version": "0.27.8", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "packages/react-native/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "packages/react-native/node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "packages/react-native/node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "packages/react-native/node_modules/@types/json-schema": { - "version": "7.0.13", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/@types/node": { "version": "20.6.2", "dev": true, @@ -17509,11 +18267,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/@types/prop-types": { - "version": "15.7.5", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/@types/react": { "version": "17.0.65", "dev": true, @@ -17532,315 +18285,6 @@ "@types/react": "*" } }, - "packages/react-native/node_modules/@types/scheduler": { - "version": "0.16.3", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@types/semver": { - "version": "7.5.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@types/yargs": { - "version": "17.0.24", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "packages/react-native/node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "dev": true, - "license": "BSD-2-Clause", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "packages/react-native/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "packages/react-native/node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "packages/react-native/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "dev": true, - "license": "BSD-2-Clause", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "packages/react-native/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "packages/react-native/node_modules/abort-controller": { "version": "3.0.0", "dev": true, @@ -17852,38 +18296,6 @@ "node": ">=6.5" } }, - "packages/react-native/node_modules/accepts": { - "version": "1.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/acorn": { - "version": "8.10.0", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "packages/react-native/node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "packages/react-native/node_modules/aggregate-error": { "version": "3.1.0", "dev": true, @@ -17896,22 +18308,6 @@ "node": ">=8" } }, - "packages/react-native/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "packages/react-native/node_modules/anser": { "version": "1.4.10", "dev": true, @@ -17946,14 +18342,6 @@ "node": ">=6" } }, - "packages/react-native/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/ansi-styles": { "version": "3.2.1", "dev": true, @@ -17965,101 +18353,11 @@ "node": ">=4" } }, - "packages/react-native/node_modules/anymatch": { - "version": "3.1.3", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "packages/react-native/node_modules/appdirsjs": { "version": "1.2.7", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0", - "peer": true - }, - "packages/react-native/node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/array-includes": { - "version": "3.1.7", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/array.prototype.flat": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/array.prototype.tosorted": { "version": "1.1.2", "dev": true, @@ -18072,31 +18370,6 @@ "get-intrinsic": "^1.2.1" } }, - "packages/react-native/node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/asap": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/ast-types": { "version": "0.15.2", "dev": true, @@ -18134,17 +18407,6 @@ "has-symbols": "^1.0.3" } }, - "packages/react-native/node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/babel-core": { "version": "7.0.0-bridge.0", "dev": true, @@ -18239,30 +18501,6 @@ "@babel/core": "^7.0.0" } }, - "packages/react-native/node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/base64-js": { - "version": "1.5.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "packages/react-native/node_modules/bl": { "version": "4.1.0", "dev": true, @@ -18273,93 +18511,6 @@ "readable-stream": "^3.4.0" } }, - "packages/react-native/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "packages/react-native/node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/browserslist": { - "version": "4.21.10", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "packages/react-native/node_modules/bser": { - "version": "2.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "packages/react-native/node_modules/buffer": { - "version": "5.7.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "packages/react-native/node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/bytes": { "version": "3.0.0", "dev": true, @@ -18368,18 +18519,6 @@ "node": ">= 0.8" } }, - "packages/react-native/node_modules/call-bind": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/caller-callsite": { "version": "2.0.0", "dev": true, @@ -18410,71 +18549,6 @@ "node": ">=4" } }, - "packages/react-native/node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/caniuse-lite": { - "version": "1.0.30001535", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "packages/react-native/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/ci-info": { - "version": "3.8.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/clean-stack": { "version": "2.2.0", "dev": true, @@ -18505,19 +18579,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "packages/react-native/node_modules/clone": { "version": "1.0.4", "dev": true, @@ -18526,19 +18587,6 @@ "node": ">=0.8" } }, - "packages/react-native/node_modules/clone-deep": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "packages/react-native/node_modules/color-convert": { "version": "1.9.3", "dev": true, @@ -18570,11 +18618,6 @@ "node": "^12.20.0 || >=14" } }, - "packages/react-native/node_modules/commondir": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/compressible": { "version": "2.0.18", "dev": true, @@ -18616,11 +18659,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/connect": { "version": "3.7.0", "dev": true, @@ -18648,11 +18686,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/core-js-compat": { "version": "3.32.2", "dev": true, @@ -18665,11 +18698,6 @@ "url": "https://opencollective.com/core-js" } }, - "packages/react-native/node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/cosmiconfig": { "version": "5.2.1", "dev": true, @@ -18724,45 +18752,11 @@ "node": ">=4" } }, - "packages/react-native/node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "packages/react-native/node_modules/csstype": { - "version": "3.1.2", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/dayjs": { "version": "1.11.9", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "packages/react-native/node_modules/decamelize": { "version": "1.2.0", "dev": true, @@ -18776,20 +18770,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "packages/react-native/node_modules/defaults": { "version": "1.0.4", "dev": true, @@ -18801,35 +18781,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/define-data-property": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "packages/react-native/node_modules/define-properties": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/del": { "version": "6.1.1", "dev": true, @@ -18856,14 +18807,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/depd": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "packages/react-native/node_modules/deprecated-react-native-prop-types": { "version": "4.1.0", "dev": true, @@ -18874,88 +18817,11 @@ "prop-types": "*" } }, - "packages/react-native/node_modules/destroy": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "packages/react-native/node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/ee-first": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/electron-to-chromium": { - "version": "1.4.523", - "dev": true, - "license": "ISC" - }, "packages/react-native/node_modules/emoji-regex": { "version": "8.0.0", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/encodeurl": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "packages/react-native/node_modules/envinfo": { - "version": "7.10.0", - "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/error-ex": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, "packages/react-native/node_modules/error-stack-parser": { "version": "2.1.4", "dev": true, @@ -18976,58 +18842,6 @@ "node": ">= 0.8" } }, - "packages/react-native/node_modules/es-abstract": { - "version": "1.22.2", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/es-iterator-helpers": { "version": "1.0.15", "dev": true, @@ -19049,56 +18863,6 @@ "safe-array-concat": "^1.0.1" } }, - "packages/react-native/node_modules/es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "packages/react-native/node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - } - }, - "packages/react-native/node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/escape-html": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/escape-string-regexp": { "version": "1.0.5", "dev": true, @@ -19107,71 +18871,6 @@ "node": ">=0.8.0" } }, - "packages/react-native/node_modules/eslint": { - "version": "8.49.0", - "dev": true, - "license": "MIT", - "peer": true, - "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" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/eslint-config-prettier": { - "version": "8.10.0", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, "packages/react-native/node_modules/eslint-plugin-eslint-comments": { "version": "3.2.0", "dev": true, @@ -19316,338 +19015,35 @@ "node": ">=0.10.0" } }, - "packages/react-native/node_modules/eslint-scope": { - "version": "5.1.1", + "packages/react-native/node_modules/eslint-visitor-keys": { + "version": "2.1.0", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "packages/react-native/node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", + "packages/react-native/node_modules/estraverse": { + "version": "5.3.0", "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, - "packages/react-native/node_modules/eslint-visitor-keys": { - "version": "2.1.0", + "packages/react-native/node_modules/event-target-shim": { + "version": "5.0.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6" } }, - "packages/react-native/node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "packages/react-native/node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/react-native/node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/eslint/node_modules/globals": { - "version": "13.21.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/espree": { - "version": "9.6.1", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/react-native/node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "packages/react-native/node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "packages/react-native/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "packages/react-native/node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/etag": { - "version": "1.8.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/event-target-shim": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "packages/react-native/node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/fast-diff": { - "version": "1.3.0", + "packages/react-native/node_modules/fast-diff": { + "version": "1.3.0", "dev": true, "license": "Apache-2.0" }, - "packages/react-native/node_modules/fast-glob": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "packages/react-native/node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "packages/react-native/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "peer": true - }, "packages/react-native/node_modules/fast-xml-parser": { "version": "4.2.7", "dev": true, @@ -19663,1500 +19059,417 @@ ], "license": "MIT", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "packages/react-native/node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "packages/react-native/node_modules/fb-watchman": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "packages/react-native/node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "packages/react-native/node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/finalhandler": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "packages/react-native/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/find-cache-dir": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/flat-cache": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "packages/react-native/node_modules/flatted": { - "version": "3.2.9", - "dev": true, - "license": "ISC", - "peer": true - }, - "packages/react-native/node_modules/flow-enums-runtime": { - "version": "0.0.5", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/flow-parser": { - "version": "0.206.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "packages/react-native/node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "packages/react-native/node_modules/fresh": { - "version": "0.5.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/fs-extra": { - "version": "8.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "packages/react-native/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/fsevents": { - "version": "2.3.3", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "packages/react-native/node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/function.prototype.name": { - "version": "1.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "packages/react-native/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "packages/react-native/node_modules/get-intrinsic": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/get-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "packages/react-native/node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/globalthis": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/gopd": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "packages/react-native/node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/has-symbols": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/has-tostringtag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/hermes-estree": { - "version": "0.12.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/hermes-parser": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "hermes-estree": "0.12.0" - } - }, - "packages/react-native/node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/http-errors": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "packages/react-native/node_modules/ieee754": { - "version": "1.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "packages/react-native/node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "packages/react-native/node_modules/image-size": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/react-native/node_modules/import-fresh": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "packages/react-native/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "packages/react-native/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/internal-slot": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "packages/react-native/node_modules/invariant": { - "version": "2.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "packages/react-native/node_modules/ip": { - "version": "1.1.8", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/is-absolute": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-array-buffer": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/is-async-function": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-bigint": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-core-module": { - "version": "2.13.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-date-object": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-directory": { - "version": "0.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-finalizationregistry": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/is-generator-function": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-git-dirty": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^4.0.3", - "is-git-repository": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/is-git-dirty/node_modules/execa": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "packages/react-native/node_modules/is-git-dirty/node_modules/get-stream": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/is-git-dirty/node_modules/human-signals": { - "version": "1.1.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } - }, - "packages/react-native/node_modules/is-git-repository": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^4.0.3", - "is-absolute": "^1.0.0" - } - }, - "packages/react-native/node_modules/is-git-repository/node_modules/execa": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "packages/react-native/node_modules/is-git-repository/node_modules/get-stream": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/is-git-repository/node_modules/human-signals": { - "version": "1.1.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } - }, - "packages/react-native/node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-interactive": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/is-map": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "packages/react-native/node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-path-cwd": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/is-plain-object": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-regex": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-relative": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-set": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-typed-array": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-unc-path": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/is-weakmap": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-weakset": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "strnum": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "fxparser": "src/cli/cli.js" } }, - "packages/react-native/node_modules/is-windows": { - "version": "1.0.2", + "packages/react-native/node_modules/finalhandler": { + "version": "1.1.2", "dev": true, "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "packages/react-native/node_modules/is-wsl": { - "version": "1.1.0", + "packages/react-native/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "ms": "2.0.0" } }, - "packages/react-native/node_modules/isarray": { - "version": "2.0.5", + "packages/react-native/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/isexe": { - "version": "2.0.0", + "packages/react-native/node_modules/flow-enums-runtime": { + "version": "0.0.5", "dev": true, - "license": "ISC" + "license": "MIT" }, - "packages/react-native/node_modules/isobject": { - "version": "3.0.1", + "packages/react-native/node_modules/flow-parser": { + "version": "0.206.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "packages/react-native/node_modules/iterator.prototype": { - "version": "1.1.2", + "packages/react-native/node_modules/fs-extra": { + "version": "8.1.0", "dev": true, "license": "MIT", "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" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "packages/react-native/node_modules/jest-environment-node": { - "version": "29.7.0", + "packages/react-native/node_modules/fs-extra/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "packages/react-native/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/jest-get-type": { - "version": "29.6.3", + "packages/react-native/node_modules/globals": { + "version": "11.12.0", "dev": true, "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "packages/react-native/node_modules/jest-message-util": { - "version": "29.7.0", + "packages/react-native/node_modules/hermes-estree": { + "version": "0.12.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/hermes-parser": { + "version": "0.12.0", "dev": true, "license": "MIT", "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" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "hermes-estree": "0.12.0" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", + "packages/react-native/node_modules/hermes-profile-transformer": { + "version": "0.0.6", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "source-map": "^0.7.3" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", + "packages/react-native/node_modules/image-size": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "queue": "6.0.2" }, - "engines": { - "node": ">=10" + "bin": { + "image-size": "bin/image-size.js" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=14.0.0" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", + "packages/react-native/node_modules/indent-string": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", + "packages/react-native/node_modules/invariant": { + "version": "2.2.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "loose-envify": "^1.0.0" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.7.0", + "packages/react-native/node_modules/ip": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/is-absolute": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", + "packages/react-native/node_modules/is-async-function": { + "version": "2.0.0", "dev": true, "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", + "packages/react-native/node_modules/is-directory": { + "version": "0.3.1", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/jest-mock": { - "version": "29.7.0", + "packages/react-native/node_modules/is-finalizationregistry": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/jest-regex-util": { - "version": "27.5.1", + "packages/react-native/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "packages/react-native/node_modules/jest-util": { - "version": "29.7.0", + "packages/react-native/node_modules/is-generator-function": { + "version": "1.0.10", "dev": true, "license": "MIT", "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" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", + "packages/react-native/node_modules/is-git-dirty": { + "version": "2.0.2", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "execa": "^4.0.3", + "is-git-repository": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "packages/react-native/node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", + "packages/react-native/node_modules/is-git-dirty/node_modules/execa": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "packages/react-native/node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", + "packages/react-native/node_modules/is-git-dirty/node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "pump": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", + "packages/react-native/node_modules/is-git-dirty/node_modules/human-signals": { + "version": "1.1.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=8.12.0" } }, - "packages/react-native/node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", + "packages/react-native/node_modules/is-git-repository": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "execa": "^4.0.3", + "is-absolute": "^1.0.0" } }, - "packages/react-native/node_modules/jest-validate": { - "version": "29.7.0", + "packages/react-native/node_modules/is-git-repository/node_modules/execa": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "packages/react-native/node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", + "packages/react-native/node_modules/is-git-repository/node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "pump": "^3.0.0" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", + "packages/react-native/node_modules/is-git-repository/node_modules/human-signals": { + "version": "1.1.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "packages/react-native/node_modules/is-interactive": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "packages/react-native/node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", + "packages/react-native/node_modules/is-path-cwd": { + "version": "2.2.0", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "packages/react-native/node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", + "packages/react-native/node_modules/is-relative": { + "version": "1.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "packages/react-native/node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", + "packages/react-native/node_modules/is-stream": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.7.0", + "packages/react-native/node_modules/is-unc-path": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "unc-path-regex": "^0.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", + "packages/react-native/node_modules/is-unicode-supported": { + "version": "0.1.0", "dev": true, "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", + "packages/react-native/node_modules/iterator.prototype": { + "version": "1.1.2", "dev": true, - "license": "MIT" + "license": "MIT", + "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" + } }, - "packages/react-native/node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", + "packages/react-native/node_modules/jest-regex-util": { + "version": "27.5.1", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "packages/react-native/node_modules/jest-worker": { @@ -21172,14 +19485,6 @@ "node": ">= 10.13.0" } }, - "packages/react-native/node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "dev": true, @@ -21217,23 +19522,6 @@ "@sideway/pinpoint": "^2.0.0" } }, - "packages/react-native/node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "packages/react-native/node_modules/jsc-android": { "version": "250231.0.0", "dev": true, @@ -21340,45 +19628,6 @@ "node": ">=8" } }, - "packages/react-native/node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/json-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/json-parse-better-errors": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true - }, "packages/react-native/node_modules/json5": { "version": "2.2.3", "dev": true, @@ -21412,87 +19661,11 @@ "node": ">=4.0" } }, - "packages/react-native/node_modules/keyv": { - "version": "4.5.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "packages/react-native/node_modules/kind-of": { - "version": "6.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/kleur": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/leven": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "packages/react-native/node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/lodash.debounce": { "version": "4.0.8", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT", - "peer": true - }, "packages/react-native/node_modules/lodash.throttle": { "version": "4.1.1", "dev": true, @@ -21604,14 +19777,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/react-native/node_modules/logkitty/node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "packages/react-native/node_modules/logkitty/node_modules/cliui": { "version": "6.0.0", "dev": true, @@ -21737,25 +19902,6 @@ "node": ">=6" } }, - "packages/react-native/node_modules/loose-envify": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "packages/react-native/node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "packages/react-native/node_modules/make-dir": { "version": "2.1.0", "dev": true, @@ -21776,32 +19922,11 @@ "semver": "bin/semver" } }, - "packages/react-native/node_modules/makeerror": { - "version": "1.0.12", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, "packages/react-native/node_modules/memoize-one": { "version": "5.2.1", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "packages/react-native/node_modules/metro": { "version": "0.76.7", "dev": true, @@ -22558,18 +20683,6 @@ } } }, - "packages/react-native/node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "packages/react-native/node_modules/mime": { "version": "2.6.0", "dev": true, @@ -22581,92 +20694,6 @@ "node": ">=4.0.0" } }, - "packages/react-native/node_modules/mime-db": { - "version": "1.52.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/mime-types": { - "version": "2.1.35", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "packages/react-native/node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/mkdirp": { - "version": "0.5.6", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "packages/react-native/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "packages/react-native/node_modules/natural-compare-lite": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/negotiator": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/neo-async": { - "version": "2.6.2", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/nocache": { "version": "3.0.4", "dev": true, @@ -22691,35 +20718,6 @@ "node": ">= 0.10.5" } }, - "packages/react-native/node_modules/node-fetch": { - "version": "2.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "packages/react-native/node_modules/node-int64": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/node-releases": { - "version": "2.0.13", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/node-stream-zip": { "version": "1.15.0", "dev": true, @@ -22732,25 +20730,6 @@ "url": "https://github.com/sponsors/antelle" } }, - "packages/react-native/node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/nullthrows": { "version": "1.1.1", "dev": true, @@ -22764,47 +20743,6 @@ "node": ">=16" } }, - "packages/react-native/node_modules/object-assign": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/object-inspect": { - "version": "1.12.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "packages/react-native/node_modules/object.assign": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/object.entries": { "version": "1.1.7", "dev": true, @@ -22818,22 +20756,6 @@ "node": ">= 0.4" } }, - "packages/react-native/node_modules/object.fromentries": { - "version": "2.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/object.hasown": { "version": "1.1.3", "dev": true, @@ -22846,22 +20768,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/object.values": { - "version": "1.1.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/on-finished": { "version": "2.3.0", "dev": true, @@ -22878,57 +20784,18 @@ "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "packages/react-native/node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/open": { - "version": "6.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "packages/react-native/node_modules/optionator": { - "version": "0.9.3", + "packages/react-native/node_modules/open": { + "version": "6.4.0", "dev": true, "license": "MIT", - "peer": true, "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" + "is-wsl": "^1.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, "packages/react-native/node_modules/ora": { @@ -23017,34 +20884,6 @@ "node": ">=8" } }, - "packages/react-native/node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/react-native/node_modules/p-map": { "version": "4.0.0", "dev": true, @@ -23059,25 +20898,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "packages/react-native/node_modules/parse-json": { "version": "4.0.0", "dev": true, @@ -23090,67 +20910,6 @@ "node": ">=4" } }, - "packages/react-native/node_modules/parseurl": { - "version": "1.3.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "packages/react-native/node_modules/pify": { "version": "4.0.1", "dev": true, @@ -23159,81 +20918,6 @@ "node": ">=6" } }, - "packages/react-native/node_modules/pirates": { - "version": "4.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "packages/react-native/node_modules/pkg-dir": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "packages/react-native/node_modules/pod-install": { "version": "0.1.39", "dev": true, @@ -23242,29 +20926,6 @@ "pod-install": "build/index.js" } }, - "packages/react-native/node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "packages/react-native/node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/react-native/node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, @@ -23327,21 +20988,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/react-native/node_modules/pretty-format/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "packages/react-native/node_modules/pretty-format/node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -23358,35 +21004,11 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/pretty-format/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/pretty-format/node_modules/react-is": { "version": "17.0.2", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/pretty-format/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/promise": { "version": "8.3.0", "dev": true, @@ -23395,18 +21017,6 @@ "asap": "~2.0.6" } }, - "packages/react-native/node_modules/prompts": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, "packages/react-native/node_modules/prop-types": { "version": "15.8.1", "dev": true, @@ -23417,24 +21027,6 @@ "react-is": "^16.13.1" } }, - "packages/react-native/node_modules/pump": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "packages/react-native/node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, "packages/react-native/node_modules/queue": { "version": "6.0.2", "dev": true, @@ -23443,44 +21035,6 @@ "inherits": "~2.0.3" } }, - "packages/react-native/node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "packages/react-native/node_modules/range-parser": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/react": { - "version": "18.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "packages/react-native/node_modules/react-devtools-core": { "version": "4.28.0", "dev": true, @@ -23703,14 +21257,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/universalify": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "packages/react-native/node_modules/react-native-builder-bob/node_modules/yaml": { "version": "1.10.2", "dev": true, @@ -23827,22 +21373,6 @@ "@babel/runtime": "^7.8.4" } }, - "packages/react-native/node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/regexpu-core": { "version": "5.3.2", "dev": true, @@ -23877,14 +21407,6 @@ "jsesc": "bin/jsesc" } }, - "packages/react-native/node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "packages/react-native/node_modules/require-main-filename": { "version": "2.0.0", "dev": true, @@ -23906,285 +21428,70 @@ "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "packages/react-native/node_modules/restore-cursor": { "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "packages/react-native/node_modules/safe-array-concat": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "packages/react-native/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "packages/react-native/node_modules/send": { - "version": "0.18.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "packages/react-native/node_modules/send/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "packages/react-native/node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/send/node_modules/mime": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/send/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/serialize-error": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/serve-static": { - "version": "1.15.0", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "packages/react-native/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/set-function-name": { - "version": "2.0.1", + "packages/react-native/node_modules/rimraf": { + "version": "3.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.4" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/setprototypeof": { - "version": "1.2.0", + "packages/react-native/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "ISC" + "license": "MIT" }, - "packages/react-native/node_modules/shallow-clone": { - "version": "3.0.1", + "packages/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" + "loose-envify": "^1.1.0" } }, - "packages/react-native/node_modules/shebang-command": { - "version": "2.0.0", + "packages/react-native/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "packages/react-native/node_modules/shebang-regex": { - "version": "3.0.0", + "packages/react-native/node_modules/serialize-error": { + "version": "2.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/shell-quote": { - "version": "1.8.1", + "packages/react-native/node_modules/set-blocking": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, - "packages/react-native/node_modules/side-channel": { - "version": "1.0.4", + "packages/react-native/node_modules/shell-quote": { + "version": "1.8.1", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -24194,19 +21501,6 @@ "dev": true, "license": "ISC" }, - "packages/react-native/node_modules/sisteransi": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/slice-ansi": { "version": "2.1.0", "dev": true, @@ -24220,14 +21514,6 @@ "node": ">=6" } }, - "packages/react-native/node_modules/source-map": { - "version": "0.7.4", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, "packages/react-native/node_modules/source-map-support": { "version": "0.5.21", "dev": true, @@ -24250,25 +21536,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "packages/react-native/node_modules/stack-utils": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "packages/react-native/node_modules/stackframe": { "version": "1.3.4", "dev": true, @@ -24365,79 +21632,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/string.prototype.trim": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/string.prototype.trimend": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/react-native/node_modules/strnum": { "version": "1.0.5", "dev": true, @@ -24448,28 +21642,6 @@ "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/temp": { "version": "0.8.4", "dev": true, @@ -24492,156 +21664,16 @@ "rimraf": "bin.js" } }, - "packages/react-native/node_modules/terser": { - "version": "5.19.4", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true - }, "packages/react-native/node_modules/throat": { "version": "5.0.0", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/through2": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "packages/react-native/node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "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" - } - }, - "packages/react-native/node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "packages/react-native/node_modules/tmpl": { - "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" - }, - "packages/react-native/node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "packages/react-native/node_modules/toidentifier": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "packages/react-native/node_modules/tr46": { - "version": "0.0.3", - "dev": true, - "license": "MIT" - }, "packages/react-native/node_modules/tslib": { "version": "2.6.2", "dev": true, "license": "0BSD" }, - "packages/react-native/node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "packages/react-native/node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "packages/react-native/node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "packages/react-native/node_modules/type-detect": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "packages/react-native/node_modules/type-fest": { "version": "0.7.1", "dev": true, @@ -24650,79 +21682,6 @@ "node": ">=8" } }, - "packages/react-native/node_modules/typed-array-buffer": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "packages/react-native/node_modules/typed-array-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/typescript": { - "version": "5.2.2", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "packages/react-native/node_modules/uglify-es": { "version": "3.3.9", "dev": true, @@ -24751,20 +21710,6 @@ "node": ">=0.10.0" } }, - "packages/react-native/node_modules/unbox-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/unc-path-regex": { "version": "0.1.2", "dev": true, @@ -24809,60 +21754,6 @@ "node": ">=4" } }, - "packages/react-native/node_modules/universalify": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "packages/react-native/node_modules/unpipe": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "packages/react-native/node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, "packages/react-native/node_modules/use-sync-external-store": { "version": "1.2.0", "dev": true, @@ -24871,40 +21762,11 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "packages/react-native/node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/utils-merge": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "packages/react-native/node_modules/vary": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "packages/react-native/node_modules/vlq": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/walker": { - "version": "1.0.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, "packages/react-native/node_modules/wcwidth": { "version": "1.0.1", "dev": true, @@ -24913,54 +21775,11 @@ "defaults": "^1.0.3" } }, - "packages/react-native/node_modules/webidl-conversions": { - "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" - }, "packages/react-native/node_modules/whatwg-fetch": { "version": "3.6.19", "dev": true, "license": "MIT" }, - "packages/react-native/node_modules/whatwg-url": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "packages/react-native/node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "packages/react-native/node_modules/which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/which-builtin-type": { "version": "1.1.3", "dev": true, @@ -24986,94 +21805,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/which-collection": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "packages/react-native/node_modules/which-module": { "version": "2.0.1", "dev": true, "license": "ISC" }, - "packages/react-native/node_modules/which-typed-array": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "packages/react-native/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/react-native/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, "packages/react-native/node_modules/write-file-atomic": { "version": "2.4.3", "dev": true, @@ -25092,27 +21828,6 @@ "async-limiter": "~1.0.0" } }, - "packages/react-native/node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "packages/react-native/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, "packages/react-native/node_modules/yaml": { "version": "2.3.2", "dev": true, @@ -25121,42 +21836,6 @@ "node": ">= 14" } }, - "packages/react-native/node_modules/yargs": { - "version": "17.7.2", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=12" - } - }, - "packages/react-native/node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "packages/react-native/node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/sdk-core": { "name": "@backtrace-labs/sdk-core", "version": "0.0.7", @@ -25238,6 +21917,15 @@ "node": ">=14" } }, + "tools/sourcemap-tools/node_modules/tar-stream": { + "version": "3.1.6", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "tools/vite-plugin": { "name": "@backtrace-labs/vite-plugin", "version": "0.0.2", @@ -25286,22 +21974,30 @@ "dependencies": { "@75lb/deep-merge": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", + "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", "requires": { "lodash.assignwith": "^4.2.0", "typical": "^7.1.1" }, "dependencies": { "typical": { - "version": "7.1.1" + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" } } }, "@aashutoshrathi/word-wrap": { "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, "@ampproject/remapping": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -25310,6 +22006,8 @@ }, "@babel/code-frame": { "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { "@babel/highlight": "^7.22.13", @@ -25318,6 +22016,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -25325,6 +22025,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -25334,6 +22036,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -25341,18 +22045,26 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -25361,24 +22073,28 @@ } }, "@babel/compat-data": { - "version": "7.22.20", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", "dev": true }, "@babel/core": { - "version": "7.22.20", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@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/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.20", - "@babel/types": "^7.22.19", - "convert-source-map": "^1.7.0", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", @@ -25387,26 +22103,46 @@ "dependencies": { "json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/generator": { - "version": "7.22.15", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + } } }, "@babel/helper-compilation-targets": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dev": true, "requires": { "@babel/compat-data": "^7.22.9", @@ -25418,6 +22154,8 @@ "dependencies": { "lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" @@ -25425,28 +22163,38 @@ }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "yallist": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "@babel/helper-environment-visitor": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true }, "@babel/helper-function-name": { - "version": "7.22.5", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -25454,13 +22202,17 @@ }, "@babel/helper-module-imports": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "requires": { "@babel/types": "^7.22.15" } }, "@babel/helper-module-transforms": { - "version": "7.22.20", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", @@ -25472,10 +22224,14 @@ }, "@babel/helper-plugin-utils": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true }, "@babel/helper-simple-access": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -25483,6 +22239,8 @@ }, "@babel/helper-split-export-declaration": { "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -25490,27 +22248,37 @@ }, "@babel/helper-string-parser": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true }, "@babel/helper-validator-identifier": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "dev": true }, "@babel/helpers": { - "version": "7.22.15", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", "dev": true, "requires": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" } }, "@babel/highlight": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.22.20", @@ -25520,6 +22288,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -25527,6 +22297,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -25536,6 +22308,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -25543,18 +22317,26 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -25563,11 +22345,15 @@ } }, "@babel/parser": { - "version": "7.22.16", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25575,6 +22361,8 @@ }, "@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25582,6 +22370,8 @@ }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" @@ -25589,6 +22379,8 @@ }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -25596,6 +22388,8 @@ }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25603,6 +22397,8 @@ }, "@babel/plugin-syntax-jsx": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" @@ -25610,6 +22406,8 @@ }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -25617,6 +22415,8 @@ }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25624,6 +22424,8 @@ }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -25631,6 +22433,8 @@ }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25638,6 +22442,8 @@ }, "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25645,6 +22451,8 @@ }, "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -25652,6 +22460,8 @@ }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -25659,13 +22469,17 @@ }, "@babel/plugin-syntax-typescript": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/runtime": { - "version": "7.22.15", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" @@ -25673,6 +22487,8 @@ }, "@babel/template": { "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { "@babel/code-frame": "^7.22.13", @@ -25681,33 +22497,39 @@ } }, "@babel/traverse": { - "version": "7.22.20", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "requires": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-function-name": "^7.23.0", "@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", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } }, "@babel/types": { - "version": "7.22.19", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -25728,6 +22550,13 @@ "webpack-cli": "^5.1.4" } }, + "@backtrace-labs/electron": { + "version": "file:packages/electron", + "requires": { + "@backtrace-labs/node": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6" + } + }, "@backtrace-labs/javascript-cli": { "version": "file:tools/cli", "requires": { @@ -25813,52 +22642,6 @@ "typescript": "^5.0.2" }, "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "peer": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.22.20", - "dev": true - }, - "@babel/core": { - "version": "7.22.20", - "dev": true, - "requires": { - "@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": { "version": "7.22.15", "dev": true, @@ -25868,16 +22651,6 @@ "semver": "^6.3.1" } }, - "@babel/generator": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { "version": "7.22.5", "dev": true, @@ -25892,17 +22665,6 @@ "@babel/types": "^7.22.15" } }, - "@babel/helper-compilation-targets": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { "version": "7.22.15", "dev": true, @@ -25949,25 +22711,6 @@ } } }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, "@babel/helper-member-expression-to-functions": { "version": "7.22.15", "dev": true, @@ -25975,24 +22718,6 @@ "@babel/types": "^7.22.15" } }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.20", - "dev": true, - "requires": { - "@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": { "version": "7.22.5", "dev": true, @@ -26000,10 +22725,6 @@ "@babel/types": "^7.22.5" } }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "dev": true - }, "@babel/helper-remap-async-to-generator": { "version": "7.22.20", "dev": true, @@ -26022,13 +22743,6 @@ "@babel/helper-optimise-call-expression": "^7.22.5" } }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", "dev": true, @@ -26036,25 +22750,6 @@ "@babel/types": "^7.22.5" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.15", - "dev": true - }, "@babel/helper-wrap-function": { "version": "7.22.20", "dev": true, @@ -26064,28 +22759,6 @@ "@babel/types": "^7.22.19" } }, - "@babel/helpers": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.22.16", - "dev": true - }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.15", "dev": true, @@ -26177,20 +22850,6 @@ "dev": true, "requires": {} }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "dev": true, @@ -26240,69 +22899,6 @@ "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "dev": true, @@ -26310,20 +22906,6 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, "@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "dev": true, @@ -26939,106 +23521,6 @@ "version": "0.8.0", "dev": true }, - "@babel/runtime": { - "version": "7.22.15", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.14.0", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.22.20", - "dev": true, - "requires": { - "@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": { - "version": "7.22.19", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.3", - "dev": true - } - } - }, - "@eslint-community/regexpp": { - "version": "4.8.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "dev": true, - "peer": true, - "requires": { - "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" - }, - "dependencies": { - "globals": { - "version": "13.21.0", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true, - "peer": true - } - } - }, - "@eslint/js": { - "version": "8.49.0", - "dev": true, - "peer": true - }, "@hapi/hoek": { "version": "9.3.0", "dev": true @@ -27050,26 +23532,6 @@ "@hapi/hoek": "^9.0.0" } }, - "@humanwhocodes/config-array": { - "version": "0.11.11", - "dev": true, - "peer": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "peer": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "peer": true - }, "@jest/create-cache-key-function": { "version": "29.7.0", "dev": true, @@ -27077,123 +23539,6 @@ "@jest/types": "^29.6.3" } }, - "@jest/environment": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - } - }, - "@jest/fake-timers": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "@jest/schemas": { - "version": "29.6.3", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/types": { - "version": "29.6.3", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "dev": true, @@ -27201,26 +23546,6 @@ "eslint-scope": "5.1.1" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, "@react-native-community/cli": { "version": "11.3.6", "dev": true, @@ -27917,46 +24242,6 @@ "version": "2.0.0", "dev": true }, - "@sinclair/typebox": { - "version": "0.27.8", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.13", - "dev": true - }, "@types/node": { "version": "20.6.2", "dev": true @@ -27965,10 +24250,6 @@ "version": "4.0.0", "dev": true }, - "@types/prop-types": { - "version": "15.7.5", - "dev": true - }, "@types/react": { "version": "17.0.65", "dev": true, @@ -27985,178 +24266,6 @@ "@types/react": "*" } }, - "@types/scheduler": { - "version": "0.16.3", - "dev": true - }, - "@types/semver": { - "version": "7.5.2", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "dev": true - }, - "@types/yargs": { - "version": "17.0.24", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/utils": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.3", - "dev": true - } - } - }, "abort-controller": { "version": "3.0.0", "dev": true, @@ -28164,24 +24273,6 @@ "event-target-shim": "^5.0.0" } }, - "accepts": { - "version": "1.3.8", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "peer": true, - "requires": {} - }, "aggregate-error": { "version": "3.1.0", "dev": true, @@ -28190,17 +24281,6 @@ "indent-string": "^4.0.0" } }, - "ajv": { - "version": "6.12.6", - "dev": true, - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "anser": { "version": "1.4.10", "dev": true @@ -28227,10 +24307,6 @@ } } }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, "ansi-styles": { "version": "3.2.1", "dev": true, @@ -28238,66 +24314,10 @@ "color-convert": "^1.9.0" } }, - "anymatch": { - "version": "3.1.3", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, "appdirsjs": { "version": "1.2.7", "dev": true }, - "argparse": { - "version": "2.0.1", - "dev": true, - "peer": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-includes": { - "version": "3.1.7", - "dev": true, - "requires": { - "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": { - "version": "2.1.0", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, "array.prototype.tosorted": { "version": "1.1.2", "dev": true, @@ -28309,23 +24329,6 @@ "get-intrinsic": "^1.2.1" } }, - "arraybuffer.prototype.slice": { - "version": "1.0.2", - "dev": true, - "requires": { - "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": { - "version": "2.0.6", - "dev": true - }, "ast-types": { "version": "0.15.2", "dev": true, @@ -28352,10 +24355,6 @@ "has-symbols": "^1.0.3" } }, - "available-typed-arrays": { - "version": "1.0.5", - "dev": true - }, "babel-core": { "version": "7.0.0-bridge.0", "dev": true, @@ -28429,14 +24428,6 @@ "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" } }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "dev": true - }, "bl": { "version": "4.1.0", "dev": true, @@ -28446,61 +24437,9 @@ "readable-stream": "^3.4.0" } }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.10", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bser": { - "version": "2.1.1", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } + "bytes": { + "version": "3.0.0", + "dev": true }, "caller-callsite": { "version": "2.0.0", @@ -28522,31 +24461,6 @@ "caller-callsite": "^2.0.0" } }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001535", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "ci-info": { - "version": "3.8.0", - "dev": true - }, "clean-stack": { "version": "2.2.0", "dev": true @@ -28562,28 +24476,10 @@ "version": "2.9.1", "dev": true }, - "cliui": { - "version": "8.0.1", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, "clone": { "version": "1.0.4", "dev": true }, - "clone-deep": { - "version": "4.0.1", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, "color-convert": { "version": "1.9.3", "dev": true, @@ -28607,10 +24503,6 @@ "version": "9.5.0", "dev": true }, - "commondir": { - "version": "1.0.1", - "dev": true - }, "compressible": { "version": "2.0.18", "dev": true, @@ -28644,10 +24536,6 @@ } } }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, "connect": { "version": "3.7.0", "dev": true, @@ -28671,10 +24559,6 @@ } } }, - "convert-source-map": { - "version": "1.9.0", - "dev": true - }, "core-js-compat": { "version": "3.32.2", "dev": true, @@ -28682,10 +24566,6 @@ "browserslist": "^4.21.10" } }, - "core-util-is": { - "version": "1.0.3", - "dev": true - }, "cosmiconfig": { "version": "5.2.1", "dev": true, @@ -28725,30 +24605,10 @@ } } }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "csstype": { - "version": "3.1.2", - "dev": true - }, "dayjs": { "version": "1.11.9", "dev": true }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "decamelize": { "version": "1.2.0", "dev": true @@ -28757,15 +24617,6 @@ "version": "0.7.0", "dev": true }, - "deep-is": { - "version": "0.1.4", - "dev": true, - "peer": true - }, - "deepmerge": { - "version": "4.3.1", - "dev": true - }, "defaults": { "version": "1.0.4", "dev": true, @@ -28773,24 +24624,6 @@ "clone": "^1.0.2" } }, - "define-data-property": { - "version": "1.1.0", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "define-properties": { - "version": "1.2.1", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, "del": { "version": "6.1.1", "dev": true, @@ -28809,10 +24642,6 @@ "version": "1.2.1", "dev": true }, - "depd": { - "version": "2.0.0", - "dev": true - }, "deprecated-react-native-prop-types": { "version": "4.1.0", "dev": true, @@ -28822,59 +24651,10 @@ "prop-types": "*" } }, - "destroy": { - "version": "1.2.0", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "peer": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "ee-first": { - "version": "1.1.1", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.523", - "dev": true - }, "emoji-regex": { "version": "8.0.0", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "envinfo": { - "version": "7.10.0", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, "error-stack-parser": { "version": "2.1.4", "dev": true, @@ -28890,51 +24670,6 @@ "escape-html": "~1.0.3" } }, - "es-abstract": { - "version": "1.22.2", - "dev": true, - "requires": { - "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-iterator-helpers": { "version": "1.0.15", "dev": true, @@ -28955,169 +24690,10 @@ "safe-array-concat": "^1.0.1" } }, - "es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "dev": true }, - "eslint": { - "version": "8.49.0", - "dev": true, - "peer": true, - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true, - "peer": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "peer": true - }, - "eslint-scope": { - "version": "7.2.2", - "dev": true, - "peer": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "peer": true - }, - "globals": { - "version": "13.21.0", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true, - "peer": true - } - } - }, - "eslint-config-prettier": { - "version": "8.10.0", - "dev": true, - "requires": {} - }, "eslint-plugin-eslint-comments": { "version": "3.2.0", "dev": true, @@ -29195,130 +24771,22 @@ "version": "0.1.2", "dev": true }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "dev": true - } - } - }, "eslint-visitor-keys": { "version": "2.1.0", "dev": true }, - "espree": { - "version": "9.6.1", - "dev": true, - "peer": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "peer": true - } - } - }, - "esprima": { - "version": "4.0.1", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "peer": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, "estraverse": { "version": "5.3.0", "dev": true }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "etag": { - "version": "1.8.1", - "dev": true - }, "event-target-shim": { "version": "5.0.1", "dev": true }, - "execa": { - "version": "5.1.1", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "peer": true - }, "fast-diff": { "version": "1.3.0", "dev": true }, - "fast-glob": { - "version": "3.3.1", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "peer": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "peer": true - }, "fast-xml-parser": { "version": "4.2.7", "dev": true, @@ -29326,35 +24794,6 @@ "strnum": "^1.0.5" } }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "peer": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, "finalhandler": { "version": "1.1.2", "dev": true, @@ -29381,38 +24820,6 @@ } } }, - "find-cache-dir": { - "version": "2.1.0", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.1.0", - "dev": true, - "peer": true, - "requires": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.9", - "dev": true, - "peer": true - }, "flow-enums-runtime": { "version": "0.0.5", "dev": true @@ -29421,17 +24828,6 @@ "version": "0.206.0", "dev": true }, - "for-each": { - "version": "0.3.3", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "fresh": { - "version": "0.5.2", - "dev": true - }, "fs-extra": { "version": "8.1.0", "dev": true, @@ -29439,63 +24835,14 @@ "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - } - }, - "functions-have-names": { - "version": "1.2.3", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-stream": { - "version": "6.0.1", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + }, + "dependencies": { + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } } }, "glob": { @@ -29510,89 +24857,10 @@ "path-is-absolute": "^1.0.0" } }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.3" - } - }, "globals": { "version": "11.12.0", "dev": true }, - "globalthis": { - "version": "1.0.3", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "dev": true - }, - "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, "hermes-estree": { "version": "0.12.0", "dev": true @@ -29611,35 +24879,6 @@ "source-map": "^0.7.3" } }, - "http-errors": { - "version": "2.0.0", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "statuses": { - "version": "2.0.1", - "dev": true - } - } - }, - "human-signals": { - "version": "2.1.0", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, "image-size": { "version": "1.0.2", "dev": true, @@ -29647,43 +24886,10 @@ "queue": "6.0.2" } }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, "indent-string": { "version": "4.0.0", "dev": true }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, "invariant": { "version": "2.2.4", "dev": true, @@ -29703,19 +24909,6 @@ "is-windows": "^1.0.1" } }, - "is-array-buffer": { - "version": "3.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "dev": true - }, "is-async-function": { "version": "2.0.0", "dev": true, @@ -29723,47 +24916,10 @@ "has-tostringtag": "^1.0.0" } }, - "is-bigint": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "dev": true - }, - "is-core-module": { - "version": "2.13.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-directory": { "version": "0.3.1", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, "is-finalizationregistry": { "version": "1.0.2", "dev": true, @@ -29854,59 +25010,14 @@ } } }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-interactive": { "version": "1.0.0", "dev": true }, - "is-map": { - "version": "2.0.2", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-path-cwd": { "version": "2.2.0", "dev": true }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-relative": { "version": "1.0.0", "dev": true, @@ -29914,42 +25025,10 @@ "is-unc-path": "^1.0.0" } }, - "is-set": { - "version": "2.0.2", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-stream": { "version": "2.0.1", "dev": true }, - "is-string": { - "version": "1.0.7", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "dev": true, - "requires": { - "which-typed-array": "^1.1.11" - } - }, "is-unc-path": { "version": "1.0.0", "dev": true, @@ -29961,45 +25040,6 @@ "version": "0.1.0", "dev": true }, - "is-weakmap": { - "version": "2.0.1", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-windows": { - "version": "1.0.2", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "dev": true - }, - "isarray": { - "version": "2.0.5", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "dev": true - }, "iterator.prototype": { "version": "1.1.2", "dev": true, @@ -30011,229 +25051,10 @@ "set-function-name": "^2.0.1" } }, - "jest-environment-node": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "dev": true - }, - "jest-message-util": { - "version": "29.7.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - } - }, "jest-regex-util": { "version": "27.5.1", "dev": true }, - "jest-util": { - "version": "29.7.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - } - } - }, - "react-is": { - "version": "18.2.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "jest-worker": { "version": "27.5.1", "dev": true, @@ -30243,10 +25064,6 @@ "supports-color": "^8.0.0" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "dev": true - }, "supports-color": { "version": "8.1.1", "dev": true, @@ -30272,18 +25089,6 @@ "@sideway/pinpoint": "^2.0.0" } }, - "js-tokens": { - "version": "4.0.0", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "dev": true, - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - }, "jsc-android": { "version": "250231.0.0", "dev": true @@ -30356,33 +25161,6 @@ } } }, - "jsesc": { - "version": "2.5.2", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "dev": true, - "peer": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "peer": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "peer": true - }, "json5": { "version": "2.2.3", "dev": true @@ -30404,59 +25182,10 @@ "object.values": "^1.1.6" } }, - "keyv": { - "version": "4.5.3", - "dev": true, - "peer": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "dev": true - }, - "leven": { - "version": "3.1.0", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "dev": true, - "peer": true - }, "lodash.throttle": { "version": "4.1.1", "dev": true @@ -30524,10 +25253,6 @@ "color-convert": "^2.0.1" } }, - "camelcase": { - "version": "5.3.1", - "dev": true - }, "cliui": { "version": "6.0.0", "dev": true, @@ -30617,20 +25342,6 @@ } } }, - "loose-envify": { - "version": "1.4.0", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "make-dir": { "version": "2.1.0", "dev": true, @@ -30645,25 +25356,10 @@ } } }, - "makeerror": { - "version": "1.0.12", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, "memoize-one": { "version": "5.2.1", "dev": true }, - "merge-stream": { - "version": "2.0.0", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, "metro": { "version": "0.76.7", "dev": true, @@ -31184,78 +25880,16 @@ "version": "0.76.7", "dev": true }, - "source-map": { - "version": "0.5.7", - "dev": true - } - } - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "source-map": { + "version": "0.5.7", + "dev": true + } } }, "mime": { "version": "2.6.0", "dev": true }, - "mime-db": { - "version": "1.52.0", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "dev": true - }, - "mkdirp": { - "version": "0.5.6", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true, - "peer": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "dev": true - }, "nocache": { "version": "3.0.4", "dev": true @@ -31271,36 +25905,10 @@ "minimatch": "^3.0.2" } }, - "node-fetch": { - "version": "2.7.0", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-int64": { - "version": "0.4.0", - "dev": true - }, - "node-releases": { - "version": "2.0.13", - "dev": true - }, "node-stream-zip": { "version": "1.15.0", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, "nullthrows": { "version": "1.1.1", "dev": true @@ -31309,28 +25917,6 @@ "version": "0.76.8", "dev": true }, - "object-assign": { - "version": "4.1.1", - "dev": true - }, - "object-inspect": { - "version": "1.12.3", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, "object.entries": { "version": "1.1.7", "dev": true, @@ -31340,15 +25926,6 @@ "es-abstract": "^1.22.1" } }, - "object.fromentries": { - "version": "2.0.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, "object.hasown": { "version": "1.1.3", "dev": true, @@ -31357,15 +25934,6 @@ "es-abstract": "^1.22.1" } }, - "object.values": { - "version": "1.1.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, "on-finished": { "version": "2.3.0", "dev": true, @@ -31377,20 +25945,6 @@ "version": "1.0.2", "dev": true }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "open": { "version": "6.4.0", "dev": true, @@ -31398,19 +25952,6 @@ "is-wsl": "^1.1.0" } }, - "optionator": { - "version": "0.9.3", - "dev": true, - "peer": true, - "requires": { - "@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": { "version": "5.4.1", "dev": true, @@ -31465,20 +26006,6 @@ } } }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, "p-map": { "version": "4.0.0", "dev": true, @@ -31486,17 +26013,6 @@ "aggregate-error": "^3.0.0" } }, - "p-try": { - "version": "2.2.0", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, "parse-json": { "version": "4.0.0", "dev": true, @@ -31505,101 +26021,14 @@ "json-parse-better-errors": "^1.0.1" } }, - "parseurl": { - "version": "1.3.3", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, "pify": { "version": "4.0.1", "dev": true }, - "pirates": { - "version": "4.0.6", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "dev": true - } - } - }, "pod-install": { "version": "0.1.39", "dev": true }, - "prelude-ls": { - "version": "1.2.1", - "dev": true, - "peer": true - }, - "prettier": { - "version": "2.8.8", - "dev": true - }, "prettier-linter-helpers": { "version": "1.0.0", "dev": true, @@ -31642,14 +26071,6 @@ "color-convert": "^2.0.1" } }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, "color-convert": { "version": "2.0.1", "dev": true, @@ -31661,27 +26082,12 @@ "version": "1.1.4", "dev": true }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, "react-is": { "version": "17.0.2", "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, - "process-nextick-args": { - "version": "2.0.1", - "dev": true - }, "promise": { "version": "8.3.0", "dev": true, @@ -31689,14 +26095,6 @@ "asap": "~2.0.6" } }, - "prompts": { - "version": "2.4.2", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, "prop-types": { "version": "15.8.1", "dev": true, @@ -31706,19 +26104,6 @@ "react-is": "^16.13.1" } }, - "pump": { - "version": "3.0.0", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.3.0", - "dev": true, - "peer": true - }, "queue": { "version": "6.0.2", "dev": true, @@ -31726,21 +26111,6 @@ "inherits": "~2.0.3" } }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "range-parser": { - "version": "1.2.1", - "dev": true - }, - "react": { - "version": "18.2.0", - "dev": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, "react-devtools-core": { "version": "4.28.0", "dev": true, @@ -31895,10 +26265,6 @@ "lines-and-columns": "^1.1.6" } }, - "universalify": { - "version": "2.0.0", - "dev": true - }, "yaml": { "version": "1.10.2", "dev": true @@ -31980,15 +26346,6 @@ "@babel/runtime": "^7.8.4" } }, - "regexp.prototype.flags": { - "version": "1.5.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - } - }, "regexpu-core": { "version": "5.3.2", "dev": true, @@ -32014,10 +26371,6 @@ } } }, - "require-directory": { - "version": "2.1.1", - "dev": true - }, "require-main-filename": { "version": "2.0.0", "dev": true @@ -32031,10 +26384,6 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, "restore-cursor": { "version": "3.1.0", "dev": true, @@ -32043,10 +26392,6 @@ "signal-exit": "^3.0.2" } }, - "reusify": { - "version": "1.0.4", - "dev": true - }, "rimraf": { "version": "3.0.2", "dev": true, @@ -32054,36 +26399,10 @@ "glob": "^7.1.3" } }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.0.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, "safe-buffer": { "version": "5.1.2", "dev": true }, - "safe-regex-test": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, "scheduler": { "version": "0.24.0-canary-efb381bbf-20230505", "dev": true, @@ -32095,133 +26414,22 @@ "version": "6.3.1", "dev": true }, - "send": { - "version": "0.18.0", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "dev": true - }, - "ms": { - "version": "2.1.3", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "2.0.1", - "dev": true - } - } - }, "serialize-error": { "version": "2.1.0", "dev": true }, - "serve-static": { - "version": "1.15.0", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, "set-blocking": { "version": "2.0.0", "dev": true }, - "set-function-name": { - "version": "2.0.1", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, "shell-quote": { "version": "1.8.1", "dev": true }, - "side-channel": { - "version": "1.0.4", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { "version": "3.0.7", "dev": true }, - "sisteransi": { - "version": "1.0.5", - "dev": true - }, - "slash": { - "version": "3.0.0", - "dev": true - }, "slice-ansi": { "version": "2.1.0", "dev": true, @@ -32231,10 +26439,6 @@ "is-fullwidth-code-point": "^2.0.0" } }, - "source-map": { - "version": "0.7.4", - "dev": true - }, "source-map-support": { "version": "0.5.21", "dev": true, @@ -32253,19 +26457,6 @@ "version": "1.0.3", "dev": true }, - "stack-utils": { - "version": "2.0.6", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "dev": true - } - } - }, "stackframe": { "version": "1.3.4", "dev": true @@ -32328,49 +26519,6 @@ "side-channel": "^1.0.4" } }, - "string.prototype.trim": { - "version": "1.2.8", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimstart": { - "version": "1.0.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true, - "peer": true - }, "strnum": { "version": "1.0.5", "dev": true @@ -32379,17 +26527,6 @@ "version": "9.2.1", "dev": true }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true - }, "temp": { "version": "0.8.4", "dev": true, @@ -32406,164 +26543,18 @@ } } }, - "terser": { - "version": "5.19.4", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "dev": true, - "peer": true - }, "throat": { "version": "5.0.0", "dev": true }, - "through2": { - "version": "2.0.5", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "tmpl": { - "version": "1.0.5", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "dev": true - }, - "tr46": { - "version": "0.0.3", - "dev": true - }, "tslib": { "version": "2.6.2", "dev": true }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "dev": true - } - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "dev": true - }, "type-fest": { "version": "0.7.1", "dev": true }, - "typed-array-buffer": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "dev": true, - "requires": { - "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": { - "version": "1.0.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typescript": { - "version": "5.2.2", - "dev": true - }, "uglify-es": { "version": "3.3.9", "dev": true, @@ -32582,16 +26573,6 @@ } } }, - "unbox-primitive": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, "unc-path-regex": { "version": "0.1.2", "dev": true @@ -32616,58 +26597,15 @@ "version": "2.1.0", "dev": true }, - "universalify": { - "version": "0.1.2", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "peer": true, - "requires": { - "punycode": "^2.1.0" - } - }, "use-sync-external-store": { "version": "1.2.0", "dev": true, "requires": {} }, - "util-deprecate": { - "version": "1.0.2", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "dev": true - }, - "vary": { - "version": "1.1.2", - "dev": true - }, "vlq": { "version": "1.0.1", "dev": true }, - "walker": { - "version": "1.0.8", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, "wcwidth": { "version": "1.0.1", "dev": true, @@ -32675,40 +26613,10 @@ "defaults": "^1.0.3" } }, - "webidl-conversions": { - "version": "3.0.1", - "dev": true - }, "whatwg-fetch": { "version": "3.6.19", "dev": true }, - "whatwg-url": { - "version": "5.0.0", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, "which-builtin-type": { "version": "1.1.3", "dev": true, @@ -32727,64 +26635,10 @@ "which-typed-array": "^1.1.9" } }, - "which-collection": { - "version": "1.0.1", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, "which-module": { "version": "2.0.1", "dev": true }, - "which-typed-array": { - "version": "1.1.11", - "dev": true, - "requires": { - "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" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, "write-file-atomic": { "version": "2.4.3", "dev": true, @@ -32801,42 +26655,9 @@ "async-limiter": "~1.0.0" } }, - "xtend": { - "version": "4.0.2", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true - }, "yaml": { "version": "2.3.2", "dev": true - }, - "yargs": { - "version": "17.7.2", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "21.1.1", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true } } }, @@ -32873,6 +26694,16 @@ "tar-stream": "^3.1.6", "ts-jest": "^29.1.0", "typescript": "^5.0.4" + }, + "dependencies": { + "tar-stream": { + "version": "3.1.6", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } } }, "@backtrace-labs/vite-plugin": { @@ -32901,6 +26732,8 @@ }, "@bcoe/v8-coverage": { "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, "@cspotcode/source-map-support": { @@ -32910,42 +26743,237 @@ "dev": true, "requires": { "@jridgewell/trace-mapping": "0.3.9" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "peer": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" }, "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "peer": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "peer": true } } }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "dev": true + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "optional": true, + "peer": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "optional": true, + "peer": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "optional": true, + "peer": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "optional": true, + "peer": true }, "@esbuild/darwin-x64": { "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "optional": true, + "peer": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "optional": true, + "peer": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "optional": true, + "peer": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "optional": true, + "peer": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "optional": true, + "peer": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "optional": true, + "peer": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "optional": true, + "peer": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "optional": true, + "peer": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "optional": true, + "peer": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "optional": true, + "peer": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "optional": true, + "peer": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "optional": true, + "peer": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "optional": true, + "peer": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "optional": true, "peer": true }, "@eslint-community/eslint-utils": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" } }, "@eslint-community/regexpp": { - "version": "4.8.1", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true }, "@eslint/eslintrc": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -32960,11 +26988,15 @@ } }, "@eslint/js": { - "version": "8.49.0", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -32974,14 +27006,20 @@ }, "@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@isaacs/cliui": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "requires": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -32992,10 +27030,14 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -33004,6 +27046,8 @@ }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -33015,6 +27059,8 @@ "dependencies": { "argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -33022,6 +27068,8 @@ }, "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -33030,6 +27078,8 @@ }, "js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -33038,6 +27088,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -33045,6 +27097,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -33052,6 +27106,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -33059,16 +27115,28 @@ }, "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true } } }, "@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "@jest/console": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -33081,6 +27149,8 @@ }, "@jest/core": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "requires": { "@jest/console": "^29.7.0", @@ -33115,10 +27185,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -33128,12 +27202,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "@jest/environment": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, "requires": { "@jest/fake-timers": "^29.7.0", @@ -33144,6 +27222,8 @@ }, "@jest/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, "requires": { "expect": "^29.7.0", @@ -33152,6 +27232,8 @@ }, "@jest/expect-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "requires": { "jest-get-type": "^29.6.3" @@ -33159,6 +27241,8 @@ }, "@jest/fake-timers": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -33171,6 +27255,8 @@ }, "@jest/globals": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, "requires": { "@jest/environment": "^29.7.0", @@ -33181,6 +27267,8 @@ }, "@jest/reporters": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", @@ -33209,8 +27297,20 @@ "v8-to-istanbul": "^9.0.1" }, "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -33225,6 +27325,8 @@ }, "@jest/schemas": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { "@sinclair/typebox": "^0.27.8" @@ -33232,15 +27334,31 @@ }, "@jest/source-map": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + } } }, "@jest/test-result": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "requires": { "@jest/console": "^29.7.0", @@ -33251,6 +27369,8 @@ }, "@jest/test-sequencer": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, "requires": { "@jest/test-result": "^29.7.0", @@ -33261,6 +27381,8 @@ }, "@jest/transform": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -33280,14 +27402,22 @@ "write-file-atomic": "^4.0.2" }, "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "dev": true + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } } } }, "@jest/types": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -33300,6 +27430,8 @@ }, "@jridgewell/gen-mapping": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "requires": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -33307,33 +27439,47 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" }, "@jridgewell/set-array": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, "@jridgewell/source-map": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15" + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "@jridgewell/trace-mapping": { - "version": "0.3.19", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@lukeed/csprng": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" }, "@nestjs/common": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", + "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", "peer": true, "requires": { "iterare": "1.2.1", @@ -33343,12 +27489,16 @@ "dependencies": { "tslib": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "peer": true } } }, "@nestjs/core": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", + "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "dev": true, "requires": { "@nuxtjs/opencollective": "0.3.2", @@ -33361,12 +27511,16 @@ "dependencies": { "tslib": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } }, "@nestjs/platform-express": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", + "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", "dev": true, "requires": { "body-parser": "1.20.2", @@ -33378,12 +27532,16 @@ "dependencies": { "tslib": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } }, "@nestjs/testing": { "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", + "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", "dev": true, "requires": { "tslib": "2.5.3" @@ -33391,12 +27549,16 @@ "dependencies": { "tslib": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", "dev": true } } }, "@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", @@ -33405,10 +27567,14 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -33417,6 +27583,8 @@ }, "@nuxtjs/opencollective": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -33426,10 +27594,14 @@ }, "@pkgjs/parseargs": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "optional": true }, "@reduxjs/toolkit": { - "version": "1.9.5", + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", "dev": true, "requires": { "immer": "^9.0.21", @@ -33439,7 +27611,9 @@ } }, "@rollup/plugin-typescript": { - "version": "11.1.3", + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", + "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", "dev": true, "requires": { "@rollup/pluginutils": "^5.0.1", @@ -33447,7 +27621,9 @@ } }, "@rollup/pluginutils": { - "version": "5.0.4", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", "dev": true, "requires": { "@types/estree": "^1.0.0", @@ -33457,10 +27633,20 @@ }, "@sinclair/typebox": { "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "peer": true + }, "@sinonjs/commons": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -33468,13 +27654,26 @@ }, "@sinonjs/fake-timers": { "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0" } }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "peer": true, + "requires": { + "defer-to-connect": "^2.0.0" + } + }, "@testing-library/dom": { "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -33489,6 +27688,8 @@ }, "@testing-library/react": { "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, "requires": { "@babel/runtime": "^7.12.5", @@ -33498,6 +27699,8 @@ }, "@tootallnate/once": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, "@tsconfig/node10": { @@ -33525,11 +27728,15 @@ "dev": true }, "@types/aria-query": { - "version": "5.0.1", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", + "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==", "dev": true }, "@types/babel__core": { - "version": "7.20.2", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", + "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", "dev": true, "requires": { "@babel/parser": "^7.20.7", @@ -33540,14 +27747,18 @@ } }, "@types/babel__generator": { - "version": "7.6.5", + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", + "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.4.2", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", + "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -33555,65 +27766,99 @@ } }, "@types/babel__traverse": { - "version": "7.20.2", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", "dev": true, "requires": { "@babel/types": "^7.20.7" } }, "@types/body-parser": { - "version": "1.19.3", + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", "dev": true, "requires": { "@types/connect": "*", "@types/node": "*" } }, + "@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "peer": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, "@types/command-line-args": { - "version": "5.2.1", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.2.tgz", + "integrity": "sha512-9aZ7KzLDOBYyqH5J2bvB9edvsMXusX+H/aS8idAJOpWNmscZG5RqO1CVJPFa4Q0/1xKgvxcweXunFVx2l/dYFA==", "dev": true }, "@types/command-line-usage": { - "version": "5.0.2", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.3.tgz", + "integrity": "sha512-ZESq+MDjR7QpvFfuanzfoAwfzA9e/wUUH/5uEyaZpGwqEnNddBpsyzJWltUIMgXYy97//wD0aJFgKStoZ6o1SQ==", "dev": true }, "@types/connect": { - "version": "3.4.36", + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", "dev": true, "requires": { "@types/node": "*" } }, "@types/cookiejar": { - "version": "2.1.2", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==", "dev": true }, "@types/decompress": { - "version": "4.2.4", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.6.tgz", + "integrity": "sha512-ULmsMkKxU7aIGbnxP4Rz28hLdRZ4q0cdy6kcb8dx+UgDGOn+id5fibvoeTnjuolhrRM7f7TOtGADeKEk60SSsQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/eslint": { - "version": "8.44.2", + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, "@types/eslint-scope": { - "version": "3.7.4", + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { - "version": "1.0.1" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" }, "@types/express": { - "version": "4.17.18", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", "dev": true, "requires": { "@types/body-parser": "*", @@ -33623,7 +27868,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.37", + "version": "4.17.38", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.38.tgz", + "integrity": "sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==", "dev": true, "requires": { "@types/node": "*", @@ -33633,7 +27880,9 @@ } }, "@types/fs-extra": { - "version": "11.0.2", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.3.tgz", + "integrity": "sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==", "dev": true, "requires": { "@types/jsonfile": "*", @@ -33641,36 +27890,54 @@ } }, "@types/graceful-fs": { - "version": "4.1.6", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", + "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", "dev": true, "requires": { "@types/node": "*" } }, + "@types/http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", + "peer": true + }, "@types/http-errors": { - "version": "2.0.2", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", "dev": true }, "@types/istanbul-lib-coverage": { - "version": "2.0.4", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", "dev": true }, "@types/istanbul-lib-report": { - "version": "3.0.0", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" } }, "@types/istanbul-reports": { - "version": "3.0.1", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", "dev": true, "requires": { "@types/istanbul-lib-report": "*" } }, "@types/jest": { - "version": "29.5.5", + "version": "29.5.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.6.tgz", + "integrity": "sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==", "dev": true, "requires": { "expect": "^29.0.0", @@ -33679,10 +27946,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -33692,12 +27963,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "@types/jsdom": { "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, "requires": { "@types/node": "*", @@ -33706,40 +27981,67 @@ } }, "@types/json-schema": { - "version": "7.0.13" + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" }, "@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, "@types/jsonfile": { - "version": "6.1.2", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.3.tgz", + "integrity": "sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==", "dev": true, "requires": { "@types/node": "*" } }, + "@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "peer": true, + "requires": { + "@types/node": "*" + } + }, "@types/mime": { - "version": "1.3.3", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", "dev": true }, "@types/node": { - "version": "14.18.61" + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" }, "@types/prop-types": { - "version": "15.7.5", + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", "dev": true }, "@types/qs": { - "version": "6.9.8", + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", "dev": true }, "@types/range-parser": { - "version": "1.2.5", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", "dev": true }, "@types/react": { - "version": "18.2.21", + "version": "18.2.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.29.tgz", + "integrity": "sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==", "dev": true, "requires": { "@types/prop-types": "*", @@ -33748,22 +28050,39 @@ } }, "@types/react-dom": { - "version": "18.2.7", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", + "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", "dev": true, "requires": { "@types/react": "*" } }, + "@types/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==", + "peer": true, + "requires": { + "@types/node": "*" + } + }, "@types/scheduler": { - "version": "0.16.3", + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", "dev": true }, "@types/semver": { - "version": "7.5.2", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "@types/send": { - "version": "0.17.2", + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", "dev": true, "requires": { "@types/mime": "^1", @@ -33771,7 +28090,9 @@ } }, "@types/serve-static": { - "version": "1.15.3", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", "dev": true, "requires": { "@types/http-errors": "*", @@ -33780,15 +28101,21 @@ } }, "@types/source-list-map": { - "version": "0.1.2", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.4.tgz", + "integrity": "sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==", "dev": true }, "@types/stack-utils": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==", "dev": true }, "@types/superagent": { - "version": "4.1.19", + "version": "4.1.20", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.20.tgz", + "integrity": "sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==", "dev": true, "requires": { "@types/cookiejar": "*", @@ -33796,7 +28123,9 @@ } }, "@types/supertest": { - "version": "2.0.14", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.15.tgz", + "integrity": "sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==", "dev": true, "requires": { "@types/superagent": "*" @@ -33804,21 +28133,29 @@ }, "@types/tar-stream": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-2.2.3.tgz", + "integrity": "sha512-if3mugZfjVkXOMZdFjIHySxY13r6GXPpyOlsDmLffvyI7tLz9wXE8BFjNivXsvUeyJ1KNlOpfLnag+ISmxgxPw==", "dev": true, "requires": { "@types/node": "*" } }, "@types/tough-cookie": { - "version": "4.0.3", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", + "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==", "dev": true }, "@types/ua-parser-js": { - "version": "0.7.37", + "version": "0.7.38", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz", + "integrity": "sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ==", "dev": true }, "@types/webpack-sources": { - "version": "3.2.0", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-acCzhuVe+UJy8abiSFQWXELhhNMZjQjQKpLNEi1pKGgKXZj0ul614ATcx4kkhunPost6Xw+aCq8y8cn1/WwAiA==", "dev": true, "requires": { "@types/node": "*", @@ -33827,18 +28164,34 @@ } }, "@types/yargs": { - "version": "17.0.24", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "21.0.0", + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", "dev": true }, + "@types/yauzl": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", + "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", + "optional": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", @@ -33855,6 +28208,8 @@ }, "@typescript-eslint/parser": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "requires": { "@typescript-eslint/scope-manager": "5.62.0", @@ -33865,6 +28220,8 @@ }, "@typescript-eslint/scope-manager": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "requires": { "@typescript-eslint/types": "5.62.0", @@ -33873,6 +28230,8 @@ }, "@typescript-eslint/type-utils": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "requires": { "@typescript-eslint/typescript-estree": "5.62.0", @@ -33883,10 +28242,14 @@ }, "@typescript-eslint/types": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true }, "@typescript-eslint/typescript-estree": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "requires": { "@typescript-eslint/types": "5.62.0", @@ -33900,6 +28263,8 @@ }, "@typescript-eslint/utils": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -33914,6 +28279,8 @@ }, "@typescript-eslint/visitor-keys": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "requires": { "@typescript-eslint/types": "5.62.0", @@ -33922,22 +28289,32 @@ }, "@webassemblyjs/ast": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "requires": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "@webassemblyjs/helper-api-error": { - "version": "1.11.6" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" }, "@webassemblyjs/helper-code-frame": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { "@webassemblyjs/wast-printer": "1.9.0" @@ -33945,6 +28322,8 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -33954,10 +28333,14 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/wast-printer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -33969,10 +28352,14 @@ }, "@webassemblyjs/helper-fsm": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0" @@ -33980,6 +28367,8 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -33989,12 +28378,16 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true } } }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -34002,10 +28395,14 @@ } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -34015,21 +28412,29 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.6" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "@webassemblyjs/wasm-edit": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -34043,6 +28448,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -34053,6 +28460,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -34062,6 +28471,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -34073,6 +28484,8 @@ }, "@webassemblyjs/wast-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -34085,6 +28498,8 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -34094,20 +28509,28 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true } } }, "@webassemblyjs/wast-printer": { "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "requires": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -34115,31 +28538,45 @@ }, "@webpack-cli/configtest": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "requires": {} }, "@webpack-cli/serve": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "requires": {} }, "@xtuc/ieee754": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "@xtuc/long": { - "version": "4.2.2" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "abab": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "accepts": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { "mime-types": "~2.1.34", @@ -34147,10 +28584,14 @@ } }, "acorn": { - "version": "8.10.0" + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" }, "acorn-globals": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "requires": { "acorn": "^8.1.0", @@ -34159,19 +28600,27 @@ }, "acorn-import-assertions": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "requires": {} }, "acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "acorn-walk": { "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, "agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { "debug": "4" @@ -34179,6 +28628,8 @@ }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -34188,15 +28639,21 @@ }, "ajv-errors": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, "requires": {} }, "ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "requires": {} }, "ansi-escapes": { "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { "type-fest": "^0.21.3" @@ -34204,21 +28661,29 @@ "dependencies": { "type-fest": { "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, "ansi-regex": { - "version": "5.0.1" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { "color-convert": "^2.0.1" } }, "anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -34227,10 +28692,14 @@ }, "append-field": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", "dev": true }, "aproba": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "arg": { @@ -34241,10 +28710,14 @@ }, "argparse": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "aria-query": { "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, "requires": { "deep-equal": "^2.0.5" @@ -34252,21 +28725,31 @@ }, "arr-diff": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, "array-back": { - "version": "3.1.0" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" }, "array-buffer-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -34275,10 +28758,14 @@ }, "array-flatten": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "array-includes": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -34290,14 +28777,20 @@ }, "array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, "array-unique": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "array.prototype.findlastindex": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -34309,6 +28802,8 @@ }, "array.prototype.flat": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -34319,6 +28814,8 @@ }, "array.prototype.flatmap": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -34329,6 +28826,8 @@ }, "arraybuffer.prototype.slice": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -34342,10 +28841,14 @@ }, "asap": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, "asn1.js": { "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -34356,12 +28859,16 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "assert": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "dev": true, "requires": { "object.assign": "^4.1.4", @@ -34370,10 +28877,14 @@ "dependencies": { "inherits": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "util": { "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, "requires": { "inherits": "2.0.3" @@ -34383,29 +28894,38 @@ }, "assign-symbols": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "async-each": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, "optional": true }, "asynckit": { - "version": "0.4.0" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "atob": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "available-typed-arrays": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, - "b4a": { - "version": "1.6.4" - }, "babel-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, "requires": { "@jest/transform": "^29.7.0", @@ -34419,6 +28939,8 @@ }, "babel-plugin-istanbul": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -34430,6 +28952,8 @@ "dependencies": { "istanbul-lib-instrument": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -34441,12 +28965,16 @@ }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "babel-plugin-jest-hoist": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -34457,6 +28985,8 @@ }, "babel-preset-current-node-syntax": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", @@ -34475,6 +29005,8 @@ }, "babel-preset-jest": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "requires": { "babel-plugin-jest-hoist": "^29.6.3", @@ -34482,10 +29014,14 @@ } }, "balanced-match": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", @@ -34499,6 +29035,8 @@ "dependencies": { "define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -34508,35 +29046,59 @@ }, "base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "big.js": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true }, "bindings": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "optional": true, "requires": { "file-uri-to-path": "1.0.0" } }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "bluebird": { "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "body-parser": { "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -34553,46 +29115,34 @@ "unpipe": "1.0.0" }, "dependencies": { - "bytes": { - "version": "3.1.2", - "dev": true - }, "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, - "iconv-lite": { - "version": "0.4.24", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true - }, - "on-finished": { - "version": "2.4.1", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "qs": { - "version": "6.11.0", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } } } }, + "boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "optional": true, + "peer": true + }, "brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -34601,6 +29151,8 @@ }, "braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" @@ -34608,10 +29160,14 @@ }, "brorand": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, "browserify-aes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "^1.0.3", @@ -34624,6 +29180,8 @@ }, "browserify-cipher": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -34633,6 +29191,8 @@ }, "browserify-des": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -34643,6 +29203,8 @@ }, "browserify-rsa": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { "bn.js": "^5.0.0", @@ -34651,6 +29213,8 @@ }, "browserify-sign": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", @@ -34664,30 +29228,43 @@ "safe-buffer": "^5.2.0" }, "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "dev": true + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } } } }, "browserify-zlib": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { "pako": "~1.0.5" } }, "browserslist": { - "version": "4.21.10", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" } }, "bs-logger": { "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "requires": { "fast-json-stable-stringify": "2.x" @@ -34695,6 +29272,8 @@ }, "bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { "node-int64": "^0.4.0" @@ -34702,6 +29281,8 @@ }, "buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -34710,6 +29291,8 @@ }, "buffer-alloc": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { "buffer-alloc-unsafe": "^1.1.0", @@ -34718,36 +29301,57 @@ }, "buffer-alloc-unsafe": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, "buffer-crc32": { "version": "0.2.13", - "dev": true + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" }, "buffer-fill": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, "buffer-from": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-xor": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, "builtin-status-codes": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, "busboy": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dev": true, "requires": { "streamsearch": "^1.1.0" } }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, "cacache": { "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -34769,6 +29373,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -34781,6 +29387,8 @@ }, "lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" @@ -34788,6 +29396,8 @@ }, "rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -34795,16 +29405,22 @@ }, "y18n": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "cache-base": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -34818,8 +29434,42 @@ "unset-value": "^1.0.0" } }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "peer": true + }, + "cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "peer": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, "call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -34828,17 +29478,25 @@ }, "callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "caniuse-lite": { - "version": "1.0.30001535" + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==" }, "chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -34846,16 +29504,22 @@ }, "chalk-template": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "requires": { "chalk": "^4.1.2" } }, "char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, "chokidar": { "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "optional": true, "requires": { @@ -34871,6 +29535,8 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "optional": true, "requires": { @@ -34881,17 +29547,25 @@ }, "chownr": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, "ci-info": { - "version": "3.8.0", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true }, "cipher-base": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -34900,10 +29574,14 @@ }, "cjs-module-lexer": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, "class-utils": { "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -34914,6 +29592,8 @@ "dependencies": { "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -34921,6 +29601,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -34928,6 +29610,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -34937,6 +29621,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -34944,6 +29630,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -34953,6 +29641,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -34962,12 +29652,16 @@ }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -34977,10 +29671,14 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -34990,6 +29688,8 @@ }, "wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -35001,6 +29701,8 @@ }, "clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -35008,16 +29710,31 @@ "shallow-clone": "^3.0.0" } }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "peer": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, "co": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "collect-v8-coverage": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "collection-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -35026,21 +29743,35 @@ }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.4" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "command-line-args": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "requires": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -35050,6 +29781,8 @@ }, "command-line-usage": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", "requires": { "array-back": "^6.2.2", "chalk-template": "^0.4.0", @@ -35058,108 +29791,113 @@ }, "dependencies": { "array-back": { - "version": "6.2.2" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" }, "typical": { - "version": "7.1.1" + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" } } }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, "commondir": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "component-emitter": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "consola": { "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", "dev": true }, "console-browserify": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "constants-browserify": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", "dev": true }, "content-disposition": { "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "dev": true - } } }, "content-type": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "convert-source-map": { - "version": "1.9.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "cookie": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "cookie-signature": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "cookiejar": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", "dev": true }, "copy-concurrently": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -35172,6 +29910,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -35184,6 +29924,8 @@ }, "rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -35193,14 +29935,20 @@ }, "copy-descriptor": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "core-util-is": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cors": { "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { "object-assign": "^4", @@ -35209,6 +29957,8 @@ }, "create-ecdh": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -35217,12 +29967,16 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "create-hash": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -35234,6 +29988,8 @@ }, "create-hmac": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "^1.0.3", @@ -35246,6 +30002,8 @@ }, "create-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -35265,6 +30023,8 @@ }, "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -35273,6 +30033,8 @@ }, "crypto-browserify": { "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "^1.0.0", @@ -35290,10 +30052,14 @@ }, "cssom": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, "cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -35301,20 +30067,28 @@ "dependencies": { "cssom": { "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, "csstype": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, "cyclist": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", "dev": true }, "data-urls": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { "abab": "^2.0.6", @@ -35324,21 +30098,28 @@ }, "debug": { "version": "4.3.4", - "dev": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } }, "decimal.js": { "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, "decode-uri-component": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "decompress": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "requires": { "decompress-tar": "^4.0.0", @@ -35351,64 +30132,38 @@ "strip-dirs": "^2.0.0" } }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "peer": true, + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "peer": true + } + } + }, "decompress-tar": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "requires": { "file-type": "^5.2.0", "is-stream": "^1.1.0", "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } } }, "decompress-tarbz2": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "requires": { "decompress-tar": "^4.1.0", @@ -35420,12 +30175,16 @@ "dependencies": { "file-type": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true } } }, "decompress-targz": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "requires": { "decompress-tar": "^4.1.1", @@ -35435,6 +30194,8 @@ }, "decompress-unzip": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "requires": { "file-type": "^3.8.0", @@ -35445,17 +30206,23 @@ "dependencies": { "file-type": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true } } }, "dedent": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, "requires": {} }, "deep-equal": { "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -35480,15 +30247,27 @@ }, "deep-is": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "deepmerge": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "peer": true + }, "define-data-property": { - "version": "1.1.0", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "devOptional": true, "requires": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -35497,7 +30276,9 @@ }, "define-properties": { "version": "1.2.1", - "dev": true, + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "devOptional": true, "requires": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -35506,6 +30287,8 @@ }, "define-property": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -35513,14 +30296,20 @@ } }, "delayed-stream": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "depd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "des.js": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -35529,14 +30318,27 @@ }, "destroy": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-newline": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "optional": true, + "peer": true + }, "dezalgo": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, "requires": { "asap": "^2.0.0", @@ -35551,10 +30353,14 @@ }, "diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true }, "diffie-hellman": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -35564,12 +30370,16 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" @@ -35577,6 +30387,8 @@ }, "doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -35584,14 +30396,20 @@ }, "dom-accessibility-api": { "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, "domain-browser": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "domexception": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "requires": { "webidl-conversions": "^7.0.0" @@ -35599,52 +30417,55 @@ }, "duplexify": { "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "eastasianwidth": { - "version": "0.2.0" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "ee-first": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, + "electron": { + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", + "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", + "peer": true, + "requires": { + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + }, + "dependencies": { + "@types/node": { + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", + "peer": true + } + } + }, "electron-to-chromium": { - "version": "1.4.523" + "version": "1.4.559", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz", + "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==" }, "elliptic": { "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -35658,34 +30479,47 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "emittery": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, "emoji-regex": { - "version": "9.2.2" + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "emojis-list": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "encodeurl": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "end-of-stream": { "version": "1.4.4", - "dev": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } }, "enhanced-resolve": { "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -35693,14 +30527,26 @@ }, "entities": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "peer": true + }, "envinfo": { "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true }, "errno": { "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" @@ -35708,12 +30554,16 @@ }, "error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -35759,6 +30609,8 @@ }, "es-get-iterator": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -35773,10 +30625,14 @@ } }, "es-module-lexer": { - "version": "1.3.1" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" }, "es-set-tostringtag": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "requires": { "get-intrinsic": "^1.1.3", @@ -35786,6 +30642,8 @@ }, "es-shim-unscopables": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "requires": { "has": "^1.0.3" @@ -35793,6 +30651,8 @@ }, "es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -35800,8 +30660,17 @@ "is-symbol": "^1.0.2" } }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true, + "peer": true + }, "esbuild": { "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "peer": true, "requires": { "@esbuild/android-arm": "0.18.20", @@ -35829,18 +30698,26 @@ } }, "escalade": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { "version": "4.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "devOptional": true }, "escodegen": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "requires": { "esprima": "^4.0.1", @@ -35851,23 +30728,29 @@ "dependencies": { "estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true } } }, "eslint": { - "version": "8.49.0", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -35905,6 +30788,8 @@ "dependencies": { "eslint-scope": { "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -35913,17 +30798,23 @@ }, "estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "eslint-config-prettier": { "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "requires": { "debug": "^3.2.7", @@ -35933,6 +30824,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -35942,6 +30835,8 @@ }, "eslint-module-utils": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { "debug": "^3.2.7" @@ -35949,6 +30844,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -35958,6 +30855,8 @@ }, "eslint-plugin-import": { "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, "requires": { "array-includes": "^3.1.6", @@ -35981,6 +30880,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -35988,6 +30889,8 @@ }, "doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -35995,16 +30898,22 @@ }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "eslint-plugin-local-rules": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", "dev": true }, "eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -36012,10 +30921,14 @@ }, "eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { "acorn": "^8.9.0", @@ -36025,10 +30938,14 @@ }, "esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -36036,41 +30953,59 @@ "dependencies": { "estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { - "version": "5.3.0" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" } } }, "estraverse": { - "version": "4.3.0" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "estree-walker": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "events": { - "version": "3.3.0" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "evp_bytestokey": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "^1.3.4", @@ -36079,6 +31014,8 @@ }, "execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -36094,24 +31031,34 @@ "dependencies": { "get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, "is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expand-brackets": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", @@ -36125,6 +31072,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -36132,6 +31081,8 @@ }, "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -36139,6 +31090,8 @@ }, "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -36146,6 +31099,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -36153,6 +31108,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -36162,6 +31119,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -36169,6 +31128,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -36178,6 +31139,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -36187,20 +31150,28 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "requires": { "@jest/expect-utils": "^29.7.0", @@ -36212,6 +31183,8 @@ }, "express": { "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -36249,6 +31222,8 @@ "dependencies": { "body-parser": { "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { "bytes": "3.1.2", @@ -36265,61 +31240,31 @@ "unpipe": "1.0.0" } }, - "bytes": { - "version": "3.1.2", - "dev": true - }, "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, - "finalhandler": { - "version": "1.2.0", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "on-finished": { - "version": "2.4.1", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, "path-to-regexp": { "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, - "qs": { - "version": "6.11.0", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, "raw-body": { "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", @@ -36327,19 +31272,13 @@ "iconv-lite": "0.4.24", "unpipe": "1.0.0" } - }, - "safe-buffer": { - "version": "5.2.1", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "dev": true } } }, "extend-shallow": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -36348,6 +31287,8 @@ }, "extglob": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", @@ -36362,6 +31303,8 @@ "dependencies": { "define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -36369,6 +31312,8 @@ }, "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -36376,18 +31321,44 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, - "fast-deep-equal": { - "version": "3.1.3" + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "peer": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, + "requires": { + "pump": "^3.0.0" + } + } + } }, - "fast-fifo": { - "version": "1.3.2" + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -36399,6 +31370,8 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -36407,21 +31380,31 @@ } }, "fast-json-stable-stringify": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fast-safe-stringify": { - "version": "2.1.1" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "fastest-levenshtein": { "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "fastq": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -36429,6 +31412,8 @@ }, "fb-watchman": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -36436,17 +31421,22 @@ }, "fd-slicer": { "version": "1.1.0", - "dev": true, + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "requires": { "pend": "~1.2.0" } }, "figgy-pudding": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -36454,22 +31444,62 @@ }, "file-type": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true }, "file-uri-to-path": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "optional": true }, "fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "find-cache-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -36479,6 +31509,8 @@ "dependencies": { "find-up": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" @@ -36486,6 +31518,8 @@ }, "locate-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", @@ -36494,6 +31528,8 @@ }, "make-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { "pify": "^4.0.1", @@ -36502,6 +31538,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -36509,6 +31547,8 @@ }, "p-locate": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" @@ -36516,14 +31556,20 @@ }, "path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true }, "pify": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pkg-dir": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { "find-up": "^3.0.0" @@ -36531,35 +31577,51 @@ }, "semver": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } }, "find-replace": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "requires": { "array-back": "^3.0.1" } }, "find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, "flat-cache": { - "version": "3.1.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "requires": { - "flatted": "^3.2.7", + "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -36572,6 +31634,8 @@ }, "rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -36581,44 +31645,24 @@ }, "flatted": { "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "flush-write-stream": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { "is-callable": "^1.1.3" @@ -36626,10 +31670,14 @@ }, "for-in": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, "foreground-child": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -36637,6 +31685,8 @@ }, "form-data": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -36645,6 +31695,8 @@ }, "formidable": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", "dev": true, "requires": { "dezalgo": "^1.0.4", @@ -36655,10 +31707,14 @@ }, "forwarded": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fragment-cache": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -36666,48 +31722,30 @@ }, "fresh": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "from2": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs-constants": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, "fs-extra": { "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -36717,54 +31755,38 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, "function-bind": { - "version": "1.1.1", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "devOptional": true }, "function.prototype.name": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -36775,19 +31797,27 @@ }, "functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-intrinsic": { "version": "1.2.1", - "dev": true, + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "devOptional": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -36797,10 +31827,14 @@ }, "get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "get-stream": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "requires": { "object-assign": "^4.0.1", @@ -36809,6 +31843,8 @@ }, "get-symbol-description": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -36817,13 +31853,17 @@ }, "get-value": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "glob": { - "version": "10.3.4", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "requires": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" @@ -36831,12 +31871,16 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "minimatch": { "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "requires": { "brace-expansion": "^2.0.1" } @@ -36845,16 +31889,37 @@ }, "glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" } }, "glob-to-regexp": { - "version": "0.4.1" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "optional": true, + "peer": true, + "requires": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + } }, "globals": { - "version": "13.21.0", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -36862,13 +31927,17 @@ }, "globalthis": { "version": "1.0.3", - "dev": true, + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "devOptional": true, "requires": { "define-properties": "^1.1.3" } }, "globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -36881,49 +31950,85 @@ }, "gopd": { "version": "1.0.1", - "dev": true, + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "devOptional": true, "requires": { "get-intrinsic": "^1.1.3" } }, + "got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "peer": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, "graceful-fs": { - "version": "4.2.11" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "graphemer": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "devOptional": true }, "has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, "has-flag": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-property-descriptors": { "version": "1.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "devOptional": true, "requires": { "get-intrinsic": "^1.1.1" } }, "has-proto": { "version": "1.0.1", - "dev": true + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "devOptional": true }, "has-symbols": { "version": "1.0.3", - "dev": true + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "devOptional": true }, "has-tostringtag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -36931,6 +32036,8 @@ }, "has-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", @@ -36940,6 +32047,8 @@ }, "has-values": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -36948,6 +32057,8 @@ "dependencies": { "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -36955,6 +32066,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -36964,6 +32077,8 @@ }, "kind-of": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -36973,6 +32088,8 @@ }, "hash-base": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { "inherits": "^2.0.4", @@ -36980,14 +32097,23 @@ "safe-buffer": "^5.2.0" }, "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "dev": true + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } } } }, "hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -36996,10 +32122,14 @@ }, "hexoid": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true }, "hmac-drbg": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "requires": { "hash.js": "^1.0.3", @@ -37009,6 +32139,8 @@ }, "html-encoding-sniffer": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "requires": { "whatwg-encoding": "^2.0.0" @@ -37016,10 +32148,20 @@ }, "html-escaper": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "peer": true + }, "http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { "depd": "2.0.0", @@ -37027,16 +32169,12 @@ "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" - }, - "dependencies": { - "statuses": { - "version": "2.0.1", - "dev": true - } } }, "http-proxy-agent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { "@tootallnate/once": "2", @@ -37044,12 +32182,26 @@ "debug": "4" } }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "peer": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, "https-browserify": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, "https-proxy-agent": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", @@ -37058,33 +32210,47 @@ }, "human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "iconv-lite": { - "version": "0.6.3", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", "dev": true }, "ignore": { "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "immer": { "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "dev": true }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -37093,6 +32259,8 @@ }, "import-local": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -37101,14 +32269,20 @@ }, "imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "infer-owner": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -37117,10 +32291,14 @@ }, "inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "internal-slot": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { "get-intrinsic": "^1.2.0", @@ -37130,14 +32308,20 @@ }, "interpret": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true }, "ipaddr.js": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, "is-accessor-descriptor": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -37145,6 +32329,8 @@ }, "is-arguments": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -37153,6 +32339,8 @@ }, "is-array-buffer": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -37161,10 +32349,14 @@ } }, "is-arrayish": { - "version": "0.2.1" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { "has-bigints": "^1.0.1" @@ -37172,6 +32364,8 @@ }, "is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "optional": true, "requires": { @@ -37180,6 +32374,8 @@ }, "is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -37188,14 +32384,20 @@ }, "is-buffer": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -37203,6 +32405,8 @@ }, "is-data-descriptor": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -37210,6 +32414,8 @@ }, "is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -37217,6 +32423,8 @@ }, "is-descriptor": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -37226,6 +32434,8 @@ }, "is-extendable": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -37233,17 +32443,25 @@ }, "is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, "is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -37251,22 +32469,32 @@ }, "is-map": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true }, "is-natural-number": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", "dev": true }, "is-negative-zero": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -37274,10 +32502,14 @@ }, "is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -37285,10 +32517,14 @@ }, "is-potential-custom-element-name": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, "is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -37297,10 +32533,14 @@ }, "is-set": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true }, "is-shared-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -37308,10 +32548,14 @@ }, "is-stream": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true }, "is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -37319,6 +32563,8 @@ }, "is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -37326,6 +32572,8 @@ }, "is-typed-array": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "requires": { "which-typed-array": "^1.1.11" @@ -37333,10 +32581,14 @@ }, "is-weakmap": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true }, "is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -37344,6 +32596,8 @@ }, "is-weakset": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -37352,29 +32606,43 @@ }, "is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "is-wsl": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true }, "isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, "isexe": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "istanbul-lib-coverage": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true }, "istanbul-lib-instrument": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -37386,6 +32654,8 @@ }, "istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", @@ -37395,6 +32665,8 @@ "dependencies": { "make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { "semver": "^7.5.3" @@ -37404,6 +32676,8 @@ }, "istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -37413,12 +32687,16 @@ "dependencies": { "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "istanbul-reports": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -37426,10 +32704,14 @@ } }, "iterare": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" }, "jackspeak": { - "version": "2.3.3", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -37437,6 +32719,8 @@ }, "jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "requires": { "@jest/core": "^29.7.0", @@ -37447,6 +32731,8 @@ }, "jest-changed-files": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "requires": { "execa": "^5.0.0", @@ -37456,6 +32742,8 @@ }, "jest-circus": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "requires": { "@jest/environment": "^29.7.0", @@ -37482,10 +32770,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37495,12 +32787,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-cli": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "requires": { "@jest/core": "^29.7.0", @@ -37518,6 +32814,8 @@ }, "jest-config": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -37546,10 +32844,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -37562,6 +32864,8 @@ }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37571,12 +32875,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -37587,10 +32895,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37600,12 +32912,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-docblock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "requires": { "detect-newline": "^3.0.0" @@ -37613,6 +32929,8 @@ }, "jest-each": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -37624,10 +32942,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37637,12 +32959,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-environment-jsdom": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, "requires": { "@jest/environment": "^29.7.0", @@ -37657,6 +32983,8 @@ }, "jest-environment-node": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "requires": { "@jest/environment": "^29.7.0", @@ -37669,10 +32997,14 @@ }, "jest-get-type": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true }, "jest-haste-map": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -37691,6 +33023,8 @@ }, "jest-leak-detector": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "requires": { "jest-get-type": "^29.6.3", @@ -37699,10 +33033,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37712,12 +33050,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -37728,10 +33070,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37741,12 +33087,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-message-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", @@ -37762,10 +33112,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37775,12 +33129,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-mock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -37790,15 +33148,21 @@ }, "jest-pnp-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "requires": {} }, "jest-regex-util": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true }, "jest-resolve": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -37814,6 +33178,8 @@ }, "jest-resolve-dependencies": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "requires": { "jest-regex-util": "^29.6.3", @@ -37822,6 +33188,8 @@ }, "jest-runner": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "requires": { "@jest/console": "^29.7.0", @@ -37849,6 +33217,8 @@ }, "jest-runtime": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, "requires": { "@jest/environment": "^29.7.0", @@ -37877,6 +33247,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -37889,12 +33261,16 @@ }, "strip-bom": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true } } }, "jest-snapshot": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -37921,10 +33297,14 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37934,12 +33314,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -37952,6 +33336,8 @@ }, "jest-validate": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "requires": { "@jest/types": "^29.6.3", @@ -37964,14 +33350,20 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "camelcase": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { "@jest/schemas": "^29.6.3", @@ -37981,12 +33373,16 @@ }, "react-is": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true } } }, "jest-watcher": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "requires": { "@jest/test-result": "^29.7.0", @@ -38001,6 +33397,8 @@ }, "jest-worker": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "requires": { "@types/node": "*", @@ -38011,6 +33409,8 @@ "dependencies": { "supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -38019,10 +33419,14 @@ } }, "js-tokens": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" @@ -38030,6 +33434,8 @@ }, "jsdom": { "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "requires": { "abab": "^2.0.6", @@ -38062,31 +33468,46 @@ }, "jsesc": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-buffer": { "version": "3.0.1", - "dev": true + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "json-parse-better-errors": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-parse-even-better-errors": { - "version": "2.3.1" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema-traverse": { - "version": "0.4.1" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "dev": true + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "devOptional": true }, "json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -38094,6 +33515,8 @@ }, "jsonc": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "requires": { "fast-safe-stringify": "^2.0.6", "graceful-fs": "^4.1.15", @@ -38105,18 +33528,24 @@ "dependencies": { "parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "strip-bom": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" } } }, "jsonfile": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", @@ -38124,26 +33553,35 @@ } }, "keyv": { - "version": "4.5.3", - "dev": true, + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "requires": { "json-buffer": "3.0.1" } }, "kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, "leven": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, "levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -38152,13 +33590,19 @@ }, "lines-and-columns": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "loader-runner": { - "version": "4.3.0" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, "loader-utils": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -38168,12 +33612,16 @@ "dependencies": { "json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true } } }, "locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" @@ -38181,38 +33629,61 @@ }, "lodash": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.assignwith": { - "version": "4.2.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" }, "lodash.camelcase": { - "version": "4.3.0" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "lodash.memoize": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "lodash.merge": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "loose-envify": { "version": "1.4.0", - "peer": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "peer": true + }, "lru-cache": { - "version": "10.0.1" + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, "lz-string": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true }, "make-dir": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { "pify": "^3.0.0" @@ -38220,16 +33691,22 @@ "dependencies": { "pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } }, "make-error": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, "makeerror": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { "tmpl": "1.0.5" @@ -38237,17 +33714,33 @@ }, "map-cache": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" } }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "peer": true, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, "md5.js": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -38257,59 +33750,47 @@ }, "media-typer": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "memory-fs": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "merge-descriptors": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -38318,6 +33799,8 @@ }, "miller-rabin": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -38326,50 +33809,78 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "mime": { - "version": "2.6.0", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { - "version": "1.52.0" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { "mime-db": "1.52.0" } }, "mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "peer": true + }, "minimalistic-assert": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, "minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.8" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "minipass": { - "version": "7.0.3" + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" }, "mississippi": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -38386,6 +33897,8 @@ }, "mixin-deep": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -38394,12 +33907,16 @@ }, "mkdirp": { "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { "minimist": "^1.2.6" } }, "move-concurrently": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -38412,6 +33929,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -38424,6 +33943,8 @@ }, "rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -38433,10 +33954,13 @@ }, "ms": { "version": "2.1.2", - "dev": true + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multer": { "version": "1.4.4-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", + "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", "dev": true, "requires": { "append-field": "^1.0.0", @@ -38450,15 +33974,21 @@ }, "nan": { "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "dev": true, "optional": true }, "nanoid": { "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "peer": true }, "nanomatch": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -38476,27 +34006,39 @@ }, "native-reg": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", "requires": { "node-gyp-build": "4" } }, "natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "natural-compare-lite": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, "negotiator": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { - "version": "2.6.2" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "nock": { - "version": "13.3.3", + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.4.tgz", + "integrity": "sha512-DDpmn5oLEdCTclEqweOT4U7bEpuoifBMFUXem9sA4turDAZ5tlbrEoWqCorwXey8CaAw44mst5JOQeVNiwtkhw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -38507,6 +34049,8 @@ }, "node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "requires": { "whatwg-url": "^5.0.0" @@ -38514,14 +34058,20 @@ "dependencies": { "tr46": { "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, "webidl-conversions": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "requires": { "tr46": "~0.0.3", @@ -38531,14 +34081,20 @@ } }, "node-gyp-build": { - "version": "4.6.1" + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" }, "node-int64": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-libs-browser": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -38568,6 +34124,8 @@ "dependencies": { "buffer": { "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -38577,43 +34135,39 @@ }, "isarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "punycode": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, "node-releases": { - "version": "2.0.13" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "peer": true + }, "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -38621,14 +34175,20 @@ }, "nwsapi": { "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", "dev": true }, "object-assign": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -38638,6 +34198,8 @@ "dependencies": { "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -38645,6 +34207,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -38652,6 +34216,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -38659,6 +34225,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -38668,12 +34236,16 @@ "dependencies": { "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -38682,11 +34254,15 @@ } }, "object-inspect": { - "version": "1.12.3", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", + "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", "dev": true }, "object-is": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -38695,10 +34271,14 @@ }, "object-keys": { "version": "1.1.1", - "dev": true + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "devOptional": true }, "object-visit": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" @@ -38706,6 +34286,8 @@ }, "object.assign": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -38716,6 +34298,8 @@ }, "object.fromentries": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -38725,6 +34309,8 @@ }, "object.groupby": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -38735,6 +34321,8 @@ }, "object.pick": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -38742,6 +34330,8 @@ }, "object.values": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -38749,15 +34339,27 @@ "es-abstract": "^1.22.1" } }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "once": { "version": "1.4.0", - "dev": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -38765,6 +34367,8 @@ }, "optionator": { "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { "@aashutoshrathi/word-wrap": "^1.2.3", @@ -38777,10 +34381,20 @@ }, "os-browserify": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "peer": true + }, "p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -38788,6 +34402,8 @@ }, "p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" @@ -38795,49 +34411,31 @@ }, "p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pako": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -38845,6 +34443,8 @@ }, "parse-asn1": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", @@ -38856,6 +34456,8 @@ }, "parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -38866,6 +34468,8 @@ }, "parse5": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "requires": { "entities": "^4.4.0" @@ -38873,38 +34477,56 @@ }, "parseurl": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "pascalcase": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-browserify": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, "optional": true }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-scurry": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -38912,14 +34534,20 @@ }, "path-to-regexp": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", "dev": true }, "path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -38931,25 +34559,36 @@ }, "pend": { "version": "1.2.0", - "dev": true + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "picocolors": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "pinkie": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, "pinkie-promise": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -38957,10 +34596,14 @@ }, "pirates": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -38968,6 +34611,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -38976,6 +34621,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -38983,6 +34630,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -38990,6 +34639,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -38999,10 +34650,14 @@ }, "posix-character-classes": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "postcss": { - "version": "8.4.29", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "peer": true, "requires": { "nanoid": "^3.3.6", @@ -39012,14 +34667,20 @@ }, "prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, "pretty-format": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "requires": { "ansi-regex": "^5.0.1", @@ -39029,24 +34690,40 @@ "dependencies": { "ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true } } }, "process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "peer": true + }, "promise-inflight": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, "prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -39055,10 +34732,14 @@ }, "propagate": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, "proxy-addr": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { "forwarded": "0.2.0", @@ -39067,14 +34748,20 @@ }, "prr": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, "psl": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "public-encrypt": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -39087,13 +34774,16 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "pump": { "version": "3.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -39101,6 +34791,8 @@ }, "pumpify": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -39110,6 +34802,8 @@ "dependencies": { "pump": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -39119,14 +34813,20 @@ } }, "punycode": { - "version": "2.3.0" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, "pure-rand": { - "version": "6.0.3", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", "dev": true }, "qs": { - "version": "6.11.2", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -39134,27 +34834,40 @@ }, "querystring-es3": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "querystringify": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "queue-tick": { - "version": "1.0.1" + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "peer": true }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -39163,40 +34876,34 @@ }, "range-parser": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } } }, "react": { "version": "18.2.0", - "peer": true, + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { "loose-envify": "^1.1.0" } }, "react-dom": { "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, "peer": true, "requires": { @@ -39206,19 +34913,43 @@ }, "react-is": { "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "readable-stream": { - "version": "3.6.2", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "readdirp": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "optional": true, "requires": { @@ -39227,6 +34958,8 @@ }, "rechoir": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, "requires": { "resolve": "^1.20.0" @@ -39234,6 +34967,8 @@ }, "redux": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, "requires": { "@babel/runtime": "^7.9.2" @@ -39241,19 +34976,27 @@ }, "redux-thunk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, "requires": {} }, "reflect-metadata": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "peer": true }, "regenerator-runtime": { "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", "dev": true }, "regex-not": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -39262,6 +35005,8 @@ }, "regexp.prototype.flags": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -39271,31 +35016,45 @@ }, "remove-trailing-separator": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true, "optional": true }, "repeat-element": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "requires-port": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "reselect": { "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", "dev": true }, "resolve": { - "version": "1.22.6", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { "is-core-module": "^2.13.0", @@ -39303,8 +35062,16 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "peer": true + }, "resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -39312,47 +35079,89 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-url": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "resolve.exports": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, + "responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "peer": true, + "requires": { + "lowercase-keys": "^2.0.0" + } + }, "ret": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { - "version": "5.0.1", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, "requires": { - "glob": "^10.2.5" + "glob": "^10.3.7" } }, "ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, + "roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "optional": true, + "peer": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + } + }, "rollup": { - "version": "3.29.2", + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", "peer": true, "requires": { "fsevents": "~2.3.2" @@ -39360,6 +35169,8 @@ }, "run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" @@ -39367,6 +35178,8 @@ }, "run-queue": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "requires": { "aproba": "^1.1.1" @@ -39374,6 +35187,8 @@ }, "rxjs": { "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "peer": true, "requires": { "tslib": "^2.1.0" @@ -39381,12 +35196,16 @@ "dependencies": { "tslib": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true } } }, "safe-array-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -39396,10 +35215,14 @@ } }, "safe-buffer": { - "version": "5.1.2" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" @@ -39407,6 +35230,8 @@ }, "safe-regex-test": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -39416,10 +35241,14 @@ }, "safer-buffer": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "saxes": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -39427,6 +35256,8 @@ }, "scheduler": { "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, "peer": true, "requires": { @@ -39435,6 +35266,8 @@ }, "schema-utils": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -39443,35 +35276,44 @@ }, "seek-bzip": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { "commander": "^2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "dev": true - } } }, "semver": { "version": "7.5.4", - "dev": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "devOptional": true, "requires": { "lru-cache": "^6.0.0" }, "dependencies": { "lru-cache": { "version": "6.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "devOptional": true, "requires": { "yallist": "^4.0.0" } } } }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "optional": true, + "peer": true + }, "send": { "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", @@ -39491,6 +35333,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -39498,39 +35342,51 @@ "dependencies": { "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, - "mime": { - "version": "1.6.0", - "dev": true - }, "ms": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true - }, - "on-finished": { - "version": "2.4.1", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "2.0.1", - "dev": true + } + } + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "peer": true, + "requires": { + "type-fest": "^0.13.1" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "peer": true } } }, "serialize-javascript": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "requires": { "randombytes": "^2.1.0" } }, "serve-static": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", @@ -39541,6 +35397,8 @@ }, "set-function-name": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", "dev": true, "requires": { "define-data-property": "^1.0.1", @@ -39550,6 +35408,8 @@ }, "set-value": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -39560,6 +35420,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -39567,20 +35429,28 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "setimmediate": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, "setprototypeof": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -39589,6 +35459,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -39596,15 +35468,21 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "side-channel": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -39613,18 +35491,26 @@ } }, "signal-exit": { - "version": "4.1.0" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" }, "sisteransi": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "snapdragon": { "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -39639,6 +35525,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -39646,6 +35534,8 @@ }, "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -39653,6 +35543,8 @@ }, "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -39660,6 +35552,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -39667,6 +35561,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -39676,6 +35572,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -39683,6 +35581,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -39692,6 +35592,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -39701,24 +35603,34 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -39728,6 +35640,8 @@ "dependencies": { "define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -39737,6 +35651,8 @@ }, "snapdragon-util": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -39744,6 +35660,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -39753,18 +35671,26 @@ }, "source-list-map": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true }, "source-map-js": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "peer": true }, "source-map-resolve": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", @@ -39776,6 +35702,8 @@ }, "source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -39784,27 +35712,38 @@ "dependencies": { "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "source-map-url": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "split-string": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" } }, "sprintf-js": { - "version": "1.0.3", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "optional": true, + "peer": true }, "ssri": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -39812,6 +35751,8 @@ }, "stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -39819,12 +35760,16 @@ "dependencies": { "escape-string-regexp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true } } }, "static-extend": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -39833,6 +35778,8 @@ "dependencies": { "define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -39840,6 +35787,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -39847,6 +35796,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -39856,6 +35807,8 @@ }, "is-data-descriptor": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -39863,6 +35816,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -39872,6 +35827,8 @@ }, "is-descriptor": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -39881,12 +35838,22 @@ }, "kind-of": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, "stop-iteration-iterator": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, "requires": { "internal-slot": "^1.0.4" @@ -39894,40 +35861,18 @@ }, "stream-browserify": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-each": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -39936,6 +35881,8 @@ }, "stream-http": { "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -39943,67 +35890,46 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-read-all": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==" }, "stream-shift": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "streamsearch": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "dev": true }, - "streamx": { - "version": "2.15.1", - "requires": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, "string_decoder": { - "version": "1.3.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" }, "dependencies": { "safe-buffer": { - "version": "5.2.1", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, "string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { "char-regex": "^1.0.2", @@ -40012,6 +35938,8 @@ }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -40019,10 +35947,14 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -40031,6 +35963,8 @@ }, "string-width-cjs": { "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -40038,12 +35972,16 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" } } }, "string.prototype.trim": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40053,6 +35991,8 @@ }, "string.prototype.trimend": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40062,6 +36002,8 @@ }, "string.prototype.trimstart": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40071,22 +36013,30 @@ }, "strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-ansi-cjs": { "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "strip-dirs": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "requires": { "is-natural-number": "^4.0.1" @@ -40094,13 +36044,28 @@ }, "strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "peer": true, + "requires": { + "debug": "^4.1.0" + } }, "superagent": { "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", "dev": true, "requires": { "component-emitter": "^1.3.0", @@ -40113,10 +36078,20 @@ "mime": "2.6.0", "qs": "^6.11.0", "semver": "^7.3.8" + }, + "dependencies": { + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + } } }, "supertest": { "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", "dev": true, "requires": { "methods": "^1.1.2", @@ -40125,20 +36100,28 @@ }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "symbol-tree": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table-layout": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "requires": { "@75lb/deep-merge": "^1.1.1", "array-back": "^6.2.2", @@ -40150,26 +36133,41 @@ }, "dependencies": { "array-back": { - "version": "6.2.2" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" }, "typical": { - "version": "7.1.1" + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" } } }, "tapable": { - "version": "2.2.1" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, "tar-stream": { - "version": "3.1.6", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" } }, "terser": { - "version": "5.19.4", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -40177,14 +36175,15 @@ "source-map-support": "~0.5.20" }, "dependencies": { - "commander": { - "version": "2.20.3" - }, "source-map": { - "version": "0.6.1" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -40194,6 +36193,8 @@ }, "terser-webpack-plugin": { "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -40202,8 +36203,19 @@ "terser": "^5.16.8" }, "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -40212,6 +36224,8 @@ }, "supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } @@ -40220,6 +36234,8 @@ }, "test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -40229,6 +36245,8 @@ "dependencies": { "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -40243,48 +36261,30 @@ }, "text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "timers-browserify": { "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -40292,22 +36292,32 @@ }, "tmpl": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-arraybuffer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-buffer": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, "to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -40315,6 +36325,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -40324,6 +36336,8 @@ }, "to-regex": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -40334,6 +36348,8 @@ }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -40341,10 +36357,14 @@ }, "toidentifier": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "tough-cookie": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "requires": { "psl": "^1.1.33", @@ -40355,12 +36375,16 @@ "dependencies": { "universalify": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true } } }, "tr46": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" @@ -40368,6 +36392,8 @@ }, "ts-jest": { "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, "requires": { "bs-logger": "0.x", @@ -40382,22 +36408,29 @@ "dependencies": { "json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true } } }, "ts-loader": { - "version": "9.4.4", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", + "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", "dev": true, "requires": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" } }, "ts-loader-webpack-4": { "version": "npm:ts-loader@8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -40409,6 +36442,8 @@ "dependencies": { "enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -40416,40 +36451,20 @@ "tapable": "^1.0.0" } }, - "isarray": { - "version": "1.0.0", - "dev": true - }, "memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true } } @@ -40477,6 +36492,8 @@ }, "tsconfig-paths": { "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -40487,10 +36504,14 @@ }, "tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -40498,10 +36519,14 @@ }, "tty-browserify": { "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -40509,14 +36534,20 @@ }, "type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "type-is": { "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", @@ -40525,6 +36556,8 @@ }, "typed-array-buffer": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40534,6 +36567,8 @@ }, "typed-array-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40544,6 +36579,8 @@ }, "typed-array-byte-offset": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -40555,6 +36592,8 @@ }, "typed-array-length": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40564,26 +36603,38 @@ }, "typedarray": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "typescript": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true }, "typical": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" }, "ua-parser-js": { - "version": "1.0.36" + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", + "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==" }, "uid": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", "requires": { "@lukeed/csprng": "^1.0.0" } }, "unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -40594,6 +36645,8 @@ }, "unbzip2-stream": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", @@ -40602,6 +36655,8 @@ }, "union-value": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -40612,12 +36667,16 @@ "dependencies": { "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true } } }, "unique-filename": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -40625,6 +36684,8 @@ }, "unique-slug": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -40632,14 +36693,20 @@ }, "universalify": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "unpipe": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "unset-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -40648,6 +36715,8 @@ "dependencies": { "has-value": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -40657,6 +36726,8 @@ "dependencies": { "isobject": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -40666,21 +36737,29 @@ }, "has-values": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true }, "isarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true } } }, "upath": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "optional": true }, "update-browserslist-db": { - "version": "1.0.11", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -40688,16 +36767,22 @@ }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "url": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -40706,12 +36791,25 @@ "dependencies": { "punycode": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, "url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -40720,10 +36818,14 @@ }, "use": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "util": { "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -40731,16 +36833,22 @@ "dependencies": { "inherits": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "utils-merge": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "v8-compile-cache-lib": { @@ -40750,20 +36858,38 @@ "dev": true }, "v8-to-istanbul": { - "version": "9.1.0", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + } } }, "vary": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "vite": { - "version": "4.4.9", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", "peer": true, "requires": { "esbuild": "^0.18.10", @@ -40774,10 +36900,14 @@ }, "vm-browserify": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "w3c-xmlserializer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { "xml-name-validator": "^4.0.0" @@ -40785,6 +36915,8 @@ }, "walker": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { "makeerror": "1.0.12" @@ -40792,6 +36924,8 @@ }, "watchpack": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -40799,6 +36933,8 @@ }, "watchpack-chokidar2": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -40807,6 +36943,8 @@ "dependencies": { "anymatch": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "optional": true, "requires": { @@ -40816,6 +36954,8 @@ "dependencies": { "normalize-path": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "optional": true, "requires": { @@ -40826,11 +36966,15 @@ }, "binary-extensions": { "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, "optional": true }, "braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "optional": true, "requires": { @@ -40848,6 +36992,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -40858,6 +37004,8 @@ }, "chokidar": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { @@ -40877,6 +37025,8 @@ }, "fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "optional": true, "requires": { @@ -40888,6 +37038,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "optional": true, "requires": { @@ -40898,6 +37050,8 @@ }, "fsevents": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { @@ -40907,6 +37061,8 @@ }, "glob-parent": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "optional": true, "requires": { @@ -40916,6 +37072,8 @@ "dependencies": { "is-glob": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "optional": true, "requires": { @@ -40926,6 +37084,8 @@ }, "is-binary-path": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "optional": true, "requires": { @@ -40934,11 +37094,15 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "optional": true }, "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "optional": true, "requires": { @@ -40947,6 +37111,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "optional": true, "requires": { @@ -40955,13 +37121,10 @@ } } }, - "isarray": { - "version": "1.0.0", - "dev": true, - "optional": true - }, "micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "optional": true, "requires": { @@ -40980,22 +37143,10 @@ "to-regex": "^3.0.2" } }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "readdirp": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "optional": true, "requires": { @@ -41004,16 +37155,10 @@ "readable-stream": "^2.0.2" } }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "optional": true, "requires": { @@ -41025,10 +37170,14 @@ }, "webidl-conversions": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "webpack": { - "version": "5.88.2", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -41058,6 +37207,8 @@ }, "webpack-4": { "version": "npm:webpack@4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41087,6 +37238,8 @@ "dependencies": { "@webassemblyjs/ast": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -41096,18 +37249,26 @@ }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41118,6 +37279,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -41125,6 +37288,8 @@ }, "@webassemblyjs/leb128": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -41132,10 +37297,14 @@ }, "@webassemblyjs/utf8": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41150,6 +37319,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41161,6 +37332,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41171,6 +37344,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41183,6 +37358,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -41192,10 +37369,14 @@ }, "acorn": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -41212,6 +37393,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -41219,12 +37402,10 @@ } } }, - "commander": { - "version": "2.20.3", - "dev": true - }, "enhanced-resolve": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -41234,6 +37415,8 @@ "dependencies": { "memory-fs": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "requires": { "errno": "^0.1.3", @@ -41244,6 +37427,8 @@ }, "eslint-scope": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -41252,6 +37437,8 @@ }, "fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -41262,6 +37449,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -41271,10 +37460,14 @@ }, "is-extendable": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -41282,6 +37475,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -41289,16 +37484,16 @@ } } }, - "isarray": { - "version": "1.0.0", - "dev": true - }, "loader-runner": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -41308,6 +37503,8 @@ }, "micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -41325,21 +37522,10 @@ "to-regex": "^3.0.2" } }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "schema-utils": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", @@ -41349,6 +37535,8 @@ }, "serialize-javascript": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -41356,21 +37544,20 @@ }, "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "tapable": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "terser": { "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -41380,6 +37567,8 @@ }, "terser-webpack-plugin": { "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", @@ -41395,6 +37584,8 @@ }, "to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -41403,6 +37594,8 @@ }, "watchpack": { "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", @@ -41413,6 +37606,8 @@ }, "webpack": { "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", "dev": true, "peer": true, "requires": { @@ -41443,6 +37638,8 @@ }, "webpack-sources": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -41453,6 +37650,8 @@ }, "webpack-cli": { "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -41470,33 +37669,40 @@ "webpack-merge": "^5.7.3" }, "dependencies": { - "colorette": { - "version": "2.0.20", - "dev": true - }, "commander": { "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true } } }, "webpack-merge": { - "version": "5.9.0", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, "requires": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" } }, "webpack-node-externals": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { - "version": "3.2.3" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "webpack-sources-webpack-4": { "version": "npm:webpack-sources@1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -41505,23 +37711,42 @@ "dependencies": { "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "whatwg-encoding": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "whatwg-mimetype": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { "tr46": "^3.0.0", @@ -41530,12 +37755,16 @@ }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -41547,6 +37776,8 @@ }, "which-collection": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, "requires": { "is-map": "^2.0.1", @@ -41557,6 +37788,8 @@ }, "which-typed-array": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -41568,13 +37801,19 @@ }, "wildcard": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, "wordwrapjs": { - "version": "5.1.0" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" }, "worker-farm": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -41582,6 +37821,8 @@ }, "wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -41589,13 +37830,19 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "ansi-styles": { - "version": "6.2.1" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, "strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "requires": { "ansi-regex": "^6.0.1" } @@ -41604,6 +37851,8 @@ }, "wrap-ansi-cjs": { "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -41611,10 +37860,14 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -41625,10 +37878,13 @@ }, "wrappy": { "version": "1.0.2", - "dev": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -41637,37 +37893,53 @@ "dependencies": { "signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true } } }, "ws": { - "version": "8.14.1", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, "requires": {} }, "xml-name-validator": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { "version": "4.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { "cliui": "^8.0.1", @@ -41681,10 +37953,14 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -41696,11 +37972,14 @@ }, "yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "yauzl": { "version": "2.10.0", - "dev": true, + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "requires": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -41714,6 +37993,8 @@ }, "yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/package.json b/package.json index 4d96f29f..634ce062 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "tools/cli", "tools/rollup-plugin", "tools/webpack-plugin", - "tools/vite-plugin" + "tools/vite-plugin", + "packages/electron" ], "repository": { "type": "git", diff --git a/packages/electron/.gitignore b/packages/electron/.gitignore new file mode 100644 index 00000000..c70a5b52 --- /dev/null +++ b/packages/electron/.gitignore @@ -0,0 +1,3 @@ +/common +/main +/renderer \ No newline at end of file diff --git a/packages/electron/.npmignore b/packages/electron/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/packages/electron/LICENSE b/packages/electron/LICENSE new file mode 100644 index 00000000..cf679f7e --- /dev/null +++ b/packages/electron/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Backtrace Labs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/electron/jest.config.js b/packages/electron/jest.config.js new file mode 100644 index 00000000..463cbb9b --- /dev/null +++ b/packages/electron/jest.config.js @@ -0,0 +1,6 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + setupFiles: ['./jest.setup.js'], +}; diff --git a/packages/electron/jest.setup.js b/packages/electron/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/electron/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; diff --git a/packages/electron/package.json b/packages/electron/package.json new file mode 100644 index 00000000..bb3dfe36 --- /dev/null +++ b/packages/electron/package.json @@ -0,0 +1,44 @@ +{ + "name": "@backtrace-labs/electron", + "version": "0.0.1", + "description": "Backtrace-JavaScript Electron integration", + "main": "main/index.js", + "types": "main/index.d.ts", + "scripts": { + "build": "webpack", + "clean": "rimraf common main renderer", + "format": "prettier --write '**/*.ts'", + "lint": "eslint src --ext .ts", + "prepublishOnly": "NODE_ENV=production npm run build", + "watch": "webpack -w", + "test": "NODE_ENV=test jest --passWithNoTests" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "Electron" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "files": [ + "/common", + "/main", + "/renderer" + ], + "dependencies": { + "@backtrace-labs/sdk-core": "^0.0.6", + "@backtrace-labs/node": "^0.0.5" + }, + "peerDependencies": { + "electron": "12 - 26" + } +} diff --git a/packages/electron/src/common/index.ts b/packages/electron/src/common/index.ts new file mode 100644 index 00000000..01f46736 --- /dev/null +++ b/packages/electron/src/common/index.ts @@ -0,0 +1,2 @@ +export * from './ipc/IpcRpc'; +export * from './ipc/IpcTransport'; diff --git a/packages/electron/src/common/ipc/IpcAttachmentReference.ts b/packages/electron/src/common/ipc/IpcAttachmentReference.ts new file mode 100644 index 00000000..1bd279c8 --- /dev/null +++ b/packages/electron/src/common/ipc/IpcAttachmentReference.ts @@ -0,0 +1,4 @@ +export interface IpcAttachmentReference { + readonly id: string; + readonly name: string; +} diff --git a/packages/electron/src/common/ipc/IpcEvents.ts b/packages/electron/src/common/ipc/IpcEvents.ts new file mode 100644 index 00000000..a3e5b862 --- /dev/null +++ b/packages/electron/src/common/ipc/IpcEvents.ts @@ -0,0 +1,14 @@ +const prefix = '__BACKTRACE'; + +export const IpcEvents = { + streamEvent(name: string, event: string) { + return `${prefix}_${name}_${event}`; + }, + addSummedMetric: `${prefix}_addSummedMetric`, + sendMetrics: `${prefix}_sendMetrics`, + sendReport: `${prefix}_sendReport`, + post: `${prefix}_post`, + addBreadcrumb: `${prefix}_addBreadcrumb`, + sync: `${prefix}_sync`, + ping: `${prefix}_ping`, +} as const; diff --git a/packages/electron/src/common/ipc/IpcRpc.ts b/packages/electron/src/common/ipc/IpcRpc.ts new file mode 100644 index 00000000..0f5fdbbc --- /dev/null +++ b/packages/electron/src/common/ipc/IpcRpc.ts @@ -0,0 +1,26 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { Event } from 'electron'; + +export interface IpcRpcCaller { + invoke(event: string, ...args: unknown[]): Promise; +} + +export interface IpcRpcHandler { + on(event: string, callback: (event: Event, ...args: any[]) => Promise): this; + once(event: string, callback: (event: Event, ...args: any[]) => Promise): this; +} + +export interface IpcRpc extends IpcRpcCaller, IpcRpcHandler {} + +export interface SyncIpcRpcCaller { + invokeSync(event: string, ...args: unknown[]): T; +} + +export interface SyncIpcRpcHandler { + onSync(event: string, callback: (event: Event, ...args: any[]) => unknown): this; + onceSync(event: string, callback: (event: Event, ...args: any[]) => unknown): this; +} + +export interface IpcRpcEvent extends Event { + readonly replyTo?: string; +} diff --git a/packages/electron/src/common/ipc/IpcTransport.ts b/packages/electron/src/common/ipc/IpcTransport.ts new file mode 100644 index 00000000..4c1cb1b8 --- /dev/null +++ b/packages/electron/src/common/ipc/IpcTransport.ts @@ -0,0 +1,14 @@ +import { Event } from 'electron'; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +export interface IpcTransportEmitter { + emit(event: string, ...args: unknown[]): boolean; +} + +export interface IpcTransportHandler { + on(event: string, callback: (event: Event, ...args: any[]) => unknown): this; + once(event: string, callback: (event: Event, ...args: any[]) => unknown): this; + off(event: string, callback: (event: Event, ...args: any[]) => unknown): this; +} + +export interface IpcTransport extends IpcTransportEmitter, IpcTransportHandler {} diff --git a/packages/electron/src/common/ipc/ipcHandshake.ts b/packages/electron/src/common/ipc/ipcHandshake.ts new file mode 100644 index 00000000..dd517074 --- /dev/null +++ b/packages/electron/src/common/ipc/ipcHandshake.ts @@ -0,0 +1,12 @@ +import { IpcTransport } from './IpcTransport'; + +export async function ipcHandshake(ipc: IpcTransport, event: string) { + const promise = new Promise((resolve) => { + ipc.once(event, () => { + ipc.emit(event); + resolve(); + }); + }); + ipc.emit(event); + return promise; +} diff --git a/packages/electron/src/common/models/SyncData.ts b/packages/electron/src/common/models/SyncData.ts new file mode 100644 index 00000000..ce6d9a71 --- /dev/null +++ b/packages/electron/src/common/models/SyncData.ts @@ -0,0 +1,3 @@ +export interface SyncData { + readonly sessionId: string; +} diff --git a/packages/electron/src/main/BacktraceClient.ts b/packages/electron/src/main/BacktraceClient.ts new file mode 100644 index 00000000..d4dbf9ae --- /dev/null +++ b/packages/electron/src/main/BacktraceClient.ts @@ -0,0 +1,40 @@ +import { + BacktraceNodeClientSetup, + BacktraceSetupConfiguration, + BacktraceClient as NodeBacktraceClient, +} from '@backtrace-labs/node'; +import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; +import { BacktraceMainElectronModule } from './modules/BacktraceMainElectronModule'; + +export class BacktraceClient extends NodeBacktraceClient { + constructor(clientSetup: BacktraceNodeClientSetup) { + super({ + ...clientSetup, + modules: [new BacktraceMainElectronModule()], + }); + } + + public static builder(options: BacktraceSetupConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder({ options }); + } + + /** + * Initializes the client. If the client already exists, the available instance + * will be returned and all other options will be ignored. + * @param options client configuration + * @param build builder + * @returns backtrace client + */ + public static initialize( + options: BacktraceSetupConfiguration, + build?: (builder: BacktraceClientBuilder) => void, + ): BacktraceClient { + if (this.instance) { + return this.instance; + } + const builder = this.builder(options); + build && build(builder); + this._instance = builder.build(); + return this._instance as BacktraceClient; + } +} diff --git a/packages/electron/src/main/attributes/AppAttributeProvider.ts b/packages/electron/src/main/attributes/AppAttributeProvider.ts new file mode 100644 index 00000000..4be673d7 --- /dev/null +++ b/packages/electron/src/main/attributes/AppAttributeProvider.ts @@ -0,0 +1,19 @@ +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { app } from 'electron'; + +interface LocaleFunctions { + getPreferredSystemLanguages?(): string[]; +} + +export class AppAttributeProvider implements BacktraceAttributeProvider { + public readonly type = 'scoped'; + + public get(): Record { + const localeFns = app as LocaleFunctions; + + return { + 'electron.appMetrics': app.getAppMetrics(), + 'system.languages': localeFns.getPreferredSystemLanguages && localeFns.getPreferredSystemLanguages(), + }; + } +} diff --git a/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts b/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts new file mode 100644 index 00000000..45b79593 --- /dev/null +++ b/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts @@ -0,0 +1,27 @@ +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { app } from 'electron'; + +export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { + public readonly APPLICATION_ATTRIBUTE = 'application'; + public readonly APPLICATION_VERSION_ATTRIBUTE = 'application.version'; + + private readonly _application: string; + private readonly _applicationVersion: string; + + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + + constructor() { + this._application = app.getName(); + this._applicationVersion = app.getVersion(); + } + + public get(): Record { + return { + [this.APPLICATION_ATTRIBUTE]: this._application, + [this.APPLICATION_VERSION_ATTRIBUTE]: this._applicationVersion, + 'electron.process': 'main', + }; + } +} diff --git a/packages/electron/src/main/attributes/GpuAttributeProvider.ts b/packages/electron/src/main/attributes/GpuAttributeProvider.ts new file mode 100644 index 00000000..bc1bf07e --- /dev/null +++ b/packages/electron/src/main/attributes/GpuAttributeProvider.ts @@ -0,0 +1,87 @@ +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { app } from 'electron'; + +interface GPUInfo { + auxAttributes?: { + amdSwitchable?: boolean; + canSupportThreadedTextureMailbox?: boolean; + glExtensions?: string; + glRenderer?: string; + glResetNotificationStrategy?: number; + glVendor?: string; + glVersion?: string; + inProcessGpu?: boolean; + initializationTime?: number; + jpegDecodeAcceleratorSupported?: boolean; + macOSSpecificTextureTarget?: number; + maxMsaaSamples?: string; + oopRasterizationSupported?: boolean; + optimus?: boolean; + passthroughCmdDecoder?: boolean; + pixelShaderVersion?: string; + sandboxed?: boolean; + softwareRendering?: boolean; + subpixelFontRendering?: boolean; + vertexShaderVersion?: string; + videoDecodeAcceleratorFlags?: number; + videoDecodeAcceleratorSupportedProfile?: { + encrypted_only?: boolean; + maxResolutionHeight?: number; + maxResolutionWidth?: number; + minResolutionHeight?: number; + minResolutionWidth?: number; + profile?: number; + }; + }; + gpuDevice?: Array<{ + active?: boolean; + cudaComputeCapabilityMajor?: number; + deviceId?: number; + driverVendor?: string; + driverVersion?: string; + vendorId?: number; + }>[]; + machineModelName?: string; + machineModelVersion?: string; +} + +export class GpuAttributeProvider implements BacktraceAttributeProvider { + private _attributes?: Record; + + constructor() { + if (!app.getGPUInfo) { + return; + } + + app.on('gpu-info-update', () => + app + .getGPUInfo('complete') + .then((info) => { + this._attributes = this.buildGpuAttributes(info as GPUInfo); + }) + .catch(() => { + // Do nothing + }), + ); + } + + public get type(): 'scoped' | 'dynamic' { + return 'dynamic'; + } + + public get(): Record { + return this._attributes ?? {}; + } + + private buildGpuAttributes(info: GPUInfo) { + return { + 'graphic.name': info.auxAttributes?.glRenderer, + 'graphic.vendor': info.auxAttributes?.glVendor, + 'graphic.driver.version': info.auxAttributes?.glVersion, + 'graphic.shader': info.auxAttributes?.vertexShaderVersion, + 'graphic.shader.vertex': info.auxAttributes?.vertexShaderVersion, + 'graphic.shader.pixel': info.auxAttributes?.pixelShaderVersion, + 'electron.graphic.aux': info.auxAttributes, + }; + } +} diff --git a/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts b/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts new file mode 100644 index 00000000..4b0a5e4e --- /dev/null +++ b/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts @@ -0,0 +1,30 @@ +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { GPUFeatureStatus, app } from 'electron'; + +export class GpuFeatureAttributeProvider implements BacktraceAttributeProvider { + private _attributes?: Record; + + constructor() { + if (!app.getGPUFeatureStatus) { + return; + } + + app.on('gpu-info-update', () => (this._attributes = this.buildAttributes(app.getGPUFeatureStatus()))); + } + + public get type(): 'scoped' | 'dynamic' { + return 'dynamic'; + } + + public get(): Record { + return this._attributes ?? {}; + } + + private buildAttributes(status: GPUFeatureStatus) { + const result: Record = {}; + for (const key in status) { + result[`electron.graphic.${key}`] = status[key as keyof GPUFeatureStatus]; + } + return result; + } +} diff --git a/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts b/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts new file mode 100644 index 00000000..068a7385 --- /dev/null +++ b/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts @@ -0,0 +1,39 @@ +import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { app } from 'electron'; + +interface LocaleFunctions { + getLocale?(): string; + getSystemLocale?(): string; +} + +/** + * Attributes from this provider can only be resolved after the Electron app is ready. + */ +export class ReadyAppAttributeProvider implements BacktraceAttributeProvider { + private _attributes?: Record; + + public readonly type: 'scoped' | 'dynamic'; + + constructor() { + if (app.isReady()) { + this.type = 'scoped'; + this._attributes = this.buildAttributes(); + } else { + this.type = 'dynamic'; + app.on('ready', () => (this._attributes = this.buildAttributes())); + } + } + + public get(): Record { + return this._attributes ?? {}; + } + + private buildAttributes() { + const localeFns = app as LocaleFunctions; + + return { + language: localeFns.getLocale && localeFns.getLocale(), + 'system.language': localeFns.getSystemLocale && localeFns.getSystemLocale(), + }; + } +} diff --git a/packages/electron/src/main/builder/BacktraceClientBuilder.ts b/packages/electron/src/main/builder/BacktraceClientBuilder.ts new file mode 100644 index 00000000..fe3b5045 --- /dev/null +++ b/packages/electron/src/main/builder/BacktraceClientBuilder.ts @@ -0,0 +1,25 @@ +import { BacktraceNodeClientSetup, BacktraceClientBuilder as NodeBacktraceClientBuilder } from '@backtrace-labs/node'; +import { BacktraceClient } from '../BacktraceClient'; +import { AppAttributeProvider } from '../attributes/AppAttributeProvider'; +import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; +import { GpuAttributeProvider } from '../attributes/GpuAttributeProvider'; +import { GpuFeatureAttributeProvider } from '../attributes/GpuFeatureAttributeProvider'; +import { ReadyAppAttributeProvider } from '../attributes/ReadyAppAttributeProvider'; + +export class BacktraceClientBuilder extends NodeBacktraceClientBuilder { + constructor(clientSetup: BacktraceNodeClientSetup) { + super(clientSetup); + + this.addAttributeProvider(new ApplicationInformationAttributeProvider()); + this.addAttributeProvider(new GpuAttributeProvider()); + this.addAttributeProvider(new GpuFeatureAttributeProvider()); + this.addAttributeProvider(new ReadyAppAttributeProvider()); + this.addAttributeProvider(new AppAttributeProvider()); + } + + public build(): BacktraceClient { + const instance = new BacktraceClient(this.clientSetup as BacktraceNodeClientSetup); + instance.initialize(); + return instance; + } +} diff --git a/packages/electron/src/main/index.ts b/packages/electron/src/main/index.ts new file mode 100644 index 00000000..5729c968 --- /dev/null +++ b/packages/electron/src/main/index.ts @@ -0,0 +1,2 @@ +export * from '@backtrace-labs/node'; +export { BacktraceClient } from './BacktraceClient'; diff --git a/packages/electron/src/main/ipc/MainIpcRpcHandler.ts b/packages/electron/src/main/ipc/MainIpcRpcHandler.ts new file mode 100644 index 00000000..7d9ef631 --- /dev/null +++ b/packages/electron/src/main/ipc/MainIpcRpcHandler.ts @@ -0,0 +1,25 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { IpcMainEvent, IpcMainInvokeEvent, ipcMain } from 'electron'; +import { IpcRpcHandler, SyncIpcRpcHandler } from '../../common/ipc/IpcRpc'; + +export class MainIpcRpcHandler implements IpcRpcHandler, SyncIpcRpcHandler { + public on(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => Promise): this { + ipcMain.handle(event, callback); + return this; + } + + public once(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => Promise): this { + ipcMain.handleOnce(event, callback); + return this; + } + + public onSync(event: string, callback: (event: IpcMainEvent, ...args: any[]) => unknown): this { + ipcMain.on(event, callback); + return this; + } + + public onceSync(event: string, callback: (event: IpcMainEvent, ...args: any[]) => unknown): this { + ipcMain.once(event, callback); + return this; + } +} diff --git a/packages/electron/src/main/ipc/MainIpcTransportHandler.ts b/packages/electron/src/main/ipc/MainIpcTransportHandler.ts new file mode 100644 index 00000000..2433196c --- /dev/null +++ b/packages/electron/src/main/ipc/MainIpcTransportHandler.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { IpcMainInvokeEvent, ipcMain } from 'electron'; +import { IpcTransportHandler } from '../../common'; + +export class MainIpcTransportHandler implements IpcTransportHandler { + public on(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => unknown) { + ipcMain.on(event, callback); + return this; + } + + public once(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => unknown) { + ipcMain.once(event, callback); + return this; + } + + public off(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => unknown) { + ipcMain.off(event, callback); + return this; + } +} diff --git a/packages/electron/src/main/ipc/ReadableIpcStream.ts b/packages/electron/src/main/ipc/ReadableIpcStream.ts new file mode 100644 index 00000000..b1d08ea9 --- /dev/null +++ b/packages/electron/src/main/ipc/ReadableIpcStream.ts @@ -0,0 +1,54 @@ +import { Event } from 'electron'; +import { Readable, ReadableOptions } from 'stream'; +import { IpcTransport } from '../../common'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; +import { ipcHandshake } from '../../common/ipc/ipcHandshake'; + +export class ReadableIpcStream extends Readable { + private _isConnected = false; + + constructor(private readonly _name: string, private readonly _ipc: IpcTransport, opts?: ReadableOptions) { + super(opts); + + const close = () => this.destroy(); + const error = (_: Event, err?: Error) => this.destroy(err); + const end = () => this.push(null); + const data = (_: Event, chunk: unknown, encoding?: BufferEncoding) => { + if (!this.push(chunk, encoding)) { + _ipc.emit(IpcEvents.streamEvent(_name, 'finish')); + } + }; + + _ipc.on(IpcEvents.streamEvent(_name, 'data'), data); + _ipc.on(IpcEvents.streamEvent(_name, 'finish'), end); + _ipc.on(IpcEvents.streamEvent(_name, 'close'), close); + _ipc.on(IpcEvents.streamEvent(_name, 'error'), error); + + this.on('pause', () => _ipc.emit(IpcEvents.streamEvent(_name, 'pause'))); + this.on('resume', () => _ipc.emit(IpcEvents.streamEvent(_name, 'resume'))); + + this.on('close', () => { + _ipc.off(IpcEvents.streamEvent(_name, 'data'), data); + _ipc.off(IpcEvents.streamEvent(_name, 'finish'), end); + _ipc.off(IpcEvents.streamEvent(_name, 'close'), close); + _ipc.off(IpcEvents.streamEvent(_name, 'error'), error); + }); + + ipcHandshake(_ipc, IpcEvents.streamEvent(_name, 'ready')).then(() => { + this._isConnected = true; + this.emit('_connected'); + }); + } + + public _read(): void { + this.afterConnected(() => this._ipc.emit(IpcEvents.streamEvent(this._name, 'drain'))); + } + + private afterConnected(fn: () => unknown) { + if (!this._isConnected) { + this.once('_connected', fn); + } else { + fn(); + } + } +} diff --git a/packages/electron/src/main/ipc/RendererIpcRpc.ts b/packages/electron/src/main/ipc/RendererIpcRpc.ts new file mode 100644 index 00000000..56c637ba --- /dev/null +++ b/packages/electron/src/main/ipc/RendererIpcRpc.ts @@ -0,0 +1,37 @@ +import { Event, ipcRenderer } from 'electron'; +import { IpcRpc, IpcRpcEvent, SyncIpcRpcCaller } from '../../common/ipc/IpcRpc'; + +export class RendererIpcRpc implements IpcRpc, SyncIpcRpcCaller { + public on(event: string, callback: (event: Event, ...args: unknown[]) => Promise): this { + ipcRenderer.on(event, RendererIpcRpc.handleRpcCall(callback)); + return this; + } + + public once(event: string, callback: (event: Event, ...args: unknown[]) => Promise): this { + ipcRenderer.once(event, RendererIpcRpc.handleRpcCall(callback)); + return this; + } + + public invoke(event: string, ...args: unknown[]): Promise { + return ipcRenderer.invoke(event, ...args); + } + + public invokeSync(event: string, ...args: unknown[]): T { + return ipcRenderer.sendSync(event, ...args); + } + + private static handleRpcCall(callback: (event: Event, ...args: unknown[]) => Promise) { + return async (event: IpcRpcEvent, args: unknown[]) => { + if (!event.replyTo) { + throw new Error('replyTo is missing from event'); + } + + try { + const result = await callback(event, ...args); + ipcRenderer.send(event.replyTo, result); + } catch (err) { + ipcRenderer.send(`${event.replyTo}_error`, err); + } + }; + } +} diff --git a/packages/electron/src/main/ipc/RendererIpcTransport.ts b/packages/electron/src/main/ipc/RendererIpcTransport.ts new file mode 100644 index 00000000..ac4aec9e --- /dev/null +++ b/packages/electron/src/main/ipc/RendererIpcTransport.ts @@ -0,0 +1,25 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { ipcRenderer } from 'electron'; +import { IpcTransport } from '../../common/ipc/IpcTransport'; + +export class RendererIpcTransport implements IpcTransport { + public emit(event: string, ...args: unknown[]) { + ipcRenderer.send(event, ...args); + return true; + } + + public on(event: string, callback: (...args: any[]) => unknown) { + ipcRenderer.on(event, callback); + return this; + } + + public once(event: string, callback: (...args: any[]) => unknown) { + ipcRenderer.once(event, callback); + return this; + } + + public off(event: string, callback: (...args: any[]) => unknown) { + ipcRenderer.off(event, callback); + return this; + } +} diff --git a/packages/electron/src/main/ipc/WindowIpcRpc.ts b/packages/electron/src/main/ipc/WindowIpcRpc.ts new file mode 100644 index 00000000..c169b281 --- /dev/null +++ b/packages/electron/src/main/ipc/WindowIpcRpc.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { IdGenerator } from '@backtrace-labs/sdk-core'; +import { BrowserWindow, IpcMainInvokeEvent, ipcMain } from 'electron'; +import { IpcRpc, SyncIpcRpcHandler } from '../../common/ipc/IpcRpc'; + +export class WindowIpcRpc implements IpcRpc, SyncIpcRpcHandler { + constructor(private readonly _window: BrowserWindow) {} + + public on(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => Promise): this { + ipcMain.handle(event, callback); + return this; + } + + public once(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => Promise): this { + ipcMain.handleOnce(event, callback); + return this; + } + + public onSync(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => unknown): this { + ipcMain.on(event, callback); + return this; + } + + public onceSync(event: string, callback: (event: IpcMainInvokeEvent, ...args: any[]) => unknown): this { + ipcMain.once(event, callback); + return this; + } + + public invoke(event: string, ...args: unknown[]): Promise { + const replyTo = IdGenerator.uuid(); + const replyToError = `${replyTo}_error`; + + return new Promise((resolve, reject) => { + const cleanup = () => { + ipcMain.off(replyTo, handleResult); + ipcMain.off(replyToError, handleError); + }; + + const handleResult = (_: unknown, res: T) => { + cleanup(); + resolve(res); + }; + + const handleError = (_: unknown, err: unknown) => { + cleanup(); + reject(err); + }; + + ipcMain.once(replyTo, handleResult); + ipcMain.once(replyToError, handleError); + + this._window.webContents.send(event, ...args); + }); + } +} diff --git a/packages/electron/src/main/ipc/WindowIpcTransport.ts b/packages/electron/src/main/ipc/WindowIpcTransport.ts new file mode 100644 index 00000000..568b3cd9 --- /dev/null +++ b/packages/electron/src/main/ipc/WindowIpcTransport.ts @@ -0,0 +1,26 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { WebContents, ipcMain } from 'electron'; +import { IpcTransport } from '../../common'; + +export class WindowIpcTransport implements IpcTransport { + constructor(private readonly _webContents: WebContents) {} + public emit(event: string, ...args: unknown[]): boolean { + this._webContents.send(event, ...args); + return true; + } + + public on(event: string, callback: (...args: any[]) => unknown) { + ipcMain.on(event, callback); + return this; + } + + public once(event: string, callback: (...args: any[]) => unknown) { + ipcMain.once(event, callback); + return this; + } + + public off(event: string, callback: (...args: any[]) => unknown) { + ipcMain.off(event, callback); + return this; + } +} diff --git a/packages/electron/src/main/modules/BacktraceMainElectronModule.ts b/packages/electron/src/main/modules/BacktraceMainElectronModule.ts new file mode 100644 index 00000000..561d602e --- /dev/null +++ b/packages/electron/src/main/modules/BacktraceMainElectronModule.ts @@ -0,0 +1,120 @@ +import { + BacktraceData, + BacktraceModule, + BacktraceModuleBindData, + RawBreadcrumb, + SubmissionUrlInformation, + SummedEvent, +} from '@backtrace-labs/sdk-core'; +import { app, crashReporter } from 'electron'; +import { IpcAttachmentReference } from '../../common/ipc/IpcAttachmentReference'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; +import { SyncData } from '../../common/models/SyncData'; +import { MainIpcRpcHandler } from '../ipc/MainIpcRpcHandler'; +import { MainIpcTransportHandler } from '../ipc/MainIpcTransportHandler'; +import { WindowIpcTransport } from '../ipc/WindowIpcTransport'; +import { IpcAttachment } from './IpcAttachment'; + +export class BacktraceMainElectronModule implements BacktraceModule { + private _bindData?: BacktraceModuleBindData; + + public bind(bindData: BacktraceModuleBindData): void { + const { requestHandler, reportSubmission, client } = bindData; + + const getSyncData = (): SyncData => ({ + sessionId: client.sessionId, + }); + + const rpc = new MainIpcRpcHandler(); + const ipcTransport = new MainIpcTransportHandler(); + + rpc.on(IpcEvents.post, async (_: unknown, url: string, dataJson: string) => { + return requestHandler.post(url, dataJson); + }); + + rpc.on(IpcEvents.sendReport, async (event, data: BacktraceData, attachmentRefs: IpcAttachmentReference[]) => { + data.attributes = { + ...this.getEventAttributes(event), + ...data.attributes, + }; + + const attachments = attachmentRefs.map( + (v) => new IpcAttachment(v.name, v.id, new WindowIpcTransport(event.sender)), + ); + + return await reportSubmission.send(data, [...attachments, ...client.attachments]); + }); + + rpc.on(IpcEvents.sendMetrics, async () => client.metrics?.send()); + + rpc.on(IpcEvents.ping, () => Promise.resolve('pong')); + + rpc.on(IpcEvents.sync, () => Promise.resolve(getSyncData())); + + rpc.onSync(IpcEvents.sync, (event: Electron.IpcMainEvent) => { + event.returnValue = getSyncData(); + }); + + ipcTransport.on(IpcEvents.sync, (event) => { + const transport = new WindowIpcTransport(event.sender); + transport.emit(IpcEvents.sync, getSyncData()); + }); + + ipcTransport.on(IpcEvents.addBreadcrumb, (event: Electron.IpcMainInvokeEvent, breadcrumb: RawBreadcrumb) => { + client.breadcrumbs?.addBreadcrumb(breadcrumb.message, breadcrumb.level, breadcrumb.type, { + ...this.getEventAttributes(event), + ...breadcrumb.attributes, + }); + }); + + ipcTransport.on(IpcEvents.addSummedMetric, (event: Electron.IpcMainInvokeEvent, metric: SummedEvent) => { + client.metrics?.addSummedEvent(metric.metricGroupValue, { + ...this.getEventAttributes(event), + ...metric.attributes, + }); + }); + + this._bindData = bindData; + } + + public initialize(): void { + if (!this._bindData) { + return; + } + + const { options, attributeManager } = this._bindData; + if (options.database?.captureNativeCrashes) { + if (options.database.path) { + app.setPath('crashDumps', options.database.path); + } + + crashReporter.start({ + submitURL: SubmissionUrlInformation.toMinidumpSubmissionUrl(options.url), + uploadToServer: true, + extra: toStringDictionary(attributeManager.get('scoped').attributes), + }); + + attributeManager.attributeEvents.on('scoped-attributes-updated', ({ attributes }) => { + const dict = toStringDictionary(attributes); + for (const key in dict) { + crashReporter.addExtraParameter(key, dict[key]); + } + }); + } + } + + private getEventAttributes(event: Electron.IpcMainInvokeEvent) { + return { + 'electron.frameId': event.frameId, + 'electron.processId': event.processId, + 'electron.process': 'renderer', + }; + } +} + +function toStringDictionary(record: Record): Record { + return Object.keys(record).reduce((obj, key) => { + obj[key] = record[key]?.toString() ?? ''; + return obj; + }, {} as Record); +} diff --git a/packages/electron/src/main/modules/IpcAttachment.ts b/packages/electron/src/main/modules/IpcAttachment.ts new file mode 100644 index 00000000..4d801a4a --- /dev/null +++ b/packages/electron/src/main/modules/IpcAttachment.ts @@ -0,0 +1,12 @@ +import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { Readable } from 'stream'; +import { IpcTransport } from '../../common'; +import { ReadableIpcStream } from '../ipc/ReadableIpcStream'; + +export class IpcAttachment implements BacktraceAttachment { + constructor(public readonly name: string, private readonly _id: string, private readonly _ipc: IpcTransport) {} + + public get(): Readable { + return new ReadableIpcStream(this._id, this._ipc); + } +} diff --git a/packages/electron/src/main/preload.ts b/packages/electron/src/main/preload.ts new file mode 100644 index 00000000..80155d28 --- /dev/null +++ b/packages/electron/src/main/preload.ts @@ -0,0 +1,40 @@ +import { contextBridge } from 'electron'; +import { IpcTransport } from '../common'; +import { IpcRpc, SyncIpcRpcCaller } from '../common/ipc/IpcRpc'; +import { RendererIpcRpc } from './ipc/RendererIpcRpc'; +import { RendererIpcTransport } from './ipc/RendererIpcTransport'; + +const ipcTransport = new RendererIpcTransport(); +const ipcTransportApi: IpcTransport = { + emit(event, ...args) { + return ipcTransport.emit(event, ...args); + }, + on(event, callback) { + return ipcTransport.on(event, callback); + }, + once(event, callback) { + return ipcTransport.once(event, callback); + }, + off(event, callback) { + return ipcTransport.off(event, callback); + }, +}; + +const ipcRpc = new RendererIpcRpc(); +const ipcRpcApi: IpcRpc & SyncIpcRpcCaller = { + invoke(event, ...args) { + return ipcRpc.invoke(event, ...args); + }, + on(event, callback) { + return ipcRpc.on(event, callback); + }, + once(event, callback) { + return ipcRpc.once(event, callback); + }, + invokeSync(event, callback) { + return ipcRpc.invokeSync(event, callback); + }, +}; + +contextBridge.exposeInMainWorld('BACKTRACE_IPC', ipcTransportApi); +contextBridge.exposeInMainWorld('BACKTRACE_IPC_RPC', ipcRpcApi); diff --git a/packages/electron/src/renderer/addBacktraceElectron.ts b/packages/electron/src/renderer/addBacktraceElectron.ts new file mode 100644 index 00000000..2608a288 --- /dev/null +++ b/packages/electron/src/renderer/addBacktraceElectron.ts @@ -0,0 +1,52 @@ +import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; +import { IpcEvents } from '../common/ipc/IpcEvents'; +import { SyncData } from '../common/models/SyncData'; +import { getIpcRpc } from './ipc/getIpcRpc'; +import { getIpcTransport } from './ipc/getIpcTransport'; +import { ConstSessionProvider } from './modules/ConstSessionProvider'; +import { IpcAsyncSessionProvider } from './modules/IpcAsyncSessionProvider'; +import { IpcBreadcrumbsStorage } from './modules/IpcBreadcrumbsStorage'; +import { IpcReportSubmission } from './modules/IpcReportSubmission'; +import { IpcRequestHandler } from './modules/IpcRequestHandler'; +import { IpcSummedMetricsQueue } from './modules/IpcSummedMetricsQueue'; +import { StubMetricsQueue } from './modules/StubMetricsQueue'; + +export interface AddBacktraceElectronOptions { + readonly synchronous?: boolean; +} + +export function addBacktraceElectron( + builder: T, + options?: AddBacktraceElectronOptions, +): T { + const ipcTransport = getIpcTransport(); + const ipcRpc = getIpcRpc(); + + // Sanity check - this will throw if ping isn't listened on. + ipcRpc + .invoke(IpcEvents.ping) + .catch((err) => + console.error( + 'Cannot connect to Backtrace in the main process.\n\n', + 'Make sure to initialize @backtrace-labs/electron in the main process first.\n\n', + err, + ), + ); + + builder + .useRequestHandler(new IpcRequestHandler(ipcRpc)) + .useReportSubmission(new IpcReportSubmission(ipcRpc, ipcTransport)) + .useBreadcrumbsStorage(new IpcBreadcrumbsStorage(ipcTransport)) + .useSummedMetricsQueue(new IpcSummedMetricsQueue(ipcTransport, ipcRpc)) + .useUniqueMetricsQueue(new StubMetricsQueue()); + + if (options?.synchronous) { + const syncData = ipcRpc.invokeSync(IpcEvents.sync); + builder.useSessionProvider(new ConstSessionProvider(syncData.sessionId)); + } else { + builder.useSessionProvider(new IpcAsyncSessionProvider(ipcTransport)); + ipcTransport.emit(IpcEvents.sync); + } + + return builder; +} diff --git a/packages/electron/src/renderer/index.ts b/packages/electron/src/renderer/index.ts new file mode 100644 index 00000000..eb99749f --- /dev/null +++ b/packages/electron/src/renderer/index.ts @@ -0,0 +1 @@ +export * from './addBacktraceElectron'; diff --git a/packages/electron/src/renderer/ipc/PreloadIpcRpc.ts b/packages/electron/src/renderer/ipc/PreloadIpcRpc.ts new file mode 100644 index 00000000..12fc6a22 --- /dev/null +++ b/packages/electron/src/renderer/ipc/PreloadIpcRpc.ts @@ -0,0 +1,9 @@ +import { IpcRpc, SyncIpcRpcCaller } from '../../common/ipc/IpcRpc'; + +declare global { + interface Window { + BACKTRACE_IPC_RPC: IpcRpc & SyncIpcRpcCaller; + } +} + +export const PreloadIpcRpc = window.BACKTRACE_IPC_RPC; diff --git a/packages/electron/src/renderer/ipc/PreloadIpcTransport.ts b/packages/electron/src/renderer/ipc/PreloadIpcTransport.ts new file mode 100644 index 00000000..c1ac6543 --- /dev/null +++ b/packages/electron/src/renderer/ipc/PreloadIpcTransport.ts @@ -0,0 +1,9 @@ +import { IpcTransport } from '../../common/ipc/IpcTransport'; + +declare global { + interface Window { + BACKTRACE_IPC: IpcTransport; + } +} + +export const PreloadIpcTransport = window.BACKTRACE_IPC; diff --git a/packages/electron/src/renderer/ipc/WritableIpcStream.ts b/packages/electron/src/renderer/ipc/WritableIpcStream.ts new file mode 100644 index 00000000..8662fd98 --- /dev/null +++ b/packages/electron/src/renderer/ipc/WritableIpcStream.ts @@ -0,0 +1,44 @@ +import { IpcEvents } from '../../common/ipc/IpcEvents'; +import { ipcHandshake } from '../../common/ipc/ipcHandshake'; +import { IpcTransport } from '../../common/ipc/IpcTransport'; + +function waitOnce(event: string, ipc: IpcTransport) { + return new Promise((resolve) => ipc.once(event, () => resolve())); +} + +export class WritableIpcStream extends WritableStream { + constructor(name: string, ipc: IpcTransport) { + super(new WritableIpcStreamSink(name, ipc)); + } +} + +class WritableIpcStreamSink implements UnderlyingSink { + private _isPaused = false; + + constructor(private readonly _name: string, private readonly _ipc: IpcTransport) { + this._ipc.on(IpcEvents.streamEvent(_name, 'pause'), () => (this._isPaused = true)); + this._ipc.on(IpcEvents.streamEvent(_name, 'resume'), () => (this._isPaused = false)); + } + + public start() { + return ipcHandshake(this._ipc, IpcEvents.streamEvent(this._name, 'ready')); + } + + public async write(chunk: W) { + await waitOnce(IpcEvents.streamEvent(this._name, 'drain'), this._ipc); + + if (this._isPaused) { + await waitOnce(IpcEvents.streamEvent(this._name, 'resume'), this._ipc); + } + + this._ipc.emit(IpcEvents.streamEvent(this._name, 'data'), chunk); + } + + public close() { + this._ipc.emit(IpcEvents.streamEvent(this._name, 'finish')); + } + + public abort() { + this._ipc.emit(IpcEvents.streamEvent(this._name, 'error'), new Error('Stream has been aborted.')); + } +} diff --git a/packages/electron/src/renderer/ipc/getIpcRpc.ts b/packages/electron/src/renderer/ipc/getIpcRpc.ts new file mode 100644 index 00000000..72a2ff3c --- /dev/null +++ b/packages/electron/src/renderer/ipc/getIpcRpc.ts @@ -0,0 +1,5 @@ +import { PreloadIpcRpc } from './PreloadIpcRpc'; + +export function getIpcRpc() { + return PreloadIpcRpc; +} diff --git a/packages/electron/src/renderer/ipc/getIpcTransport.ts b/packages/electron/src/renderer/ipc/getIpcTransport.ts new file mode 100644 index 00000000..68398efe --- /dev/null +++ b/packages/electron/src/renderer/ipc/getIpcTransport.ts @@ -0,0 +1,5 @@ +import { PreloadIpcTransport } from './PreloadIpcTransport'; + +export function getIpcTransport() { + return PreloadIpcTransport; +} diff --git a/packages/electron/src/renderer/modules/ConstSessionProvider.ts b/packages/electron/src/renderer/modules/ConstSessionProvider.ts new file mode 100644 index 00000000..8f7cd2ff --- /dev/null +++ b/packages/electron/src/renderer/modules/ConstSessionProvider.ts @@ -0,0 +1,19 @@ +import { BacktraceSessionProvider } from '@backtrace-labs/sdk-core'; + +export class ConstSessionProvider implements BacktraceSessionProvider { + public readonly newSession = true; + + constructor(public readonly sessionId: string) {} + + public get lastActive(): number { + return 0; + } + + public afterMetricsSubmission(): void { + // Do nothing + } + + public shouldSend(): boolean { + return true; + } +} diff --git a/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts b/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts new file mode 100644 index 00000000..2fab9589 --- /dev/null +++ b/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts @@ -0,0 +1,32 @@ +import { BacktraceSessionProvider, IdGenerator } from '@backtrace-labs/sdk-core'; +import { IpcTransport } from '../../common'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; +import { SyncData } from '../../common/models/SyncData'; + +export class IpcAsyncSessionProvider implements BacktraceSessionProvider { + private _sessionId = IdGenerator.uuid(); + + public readonly newSession = true; + + public get sessionId() { + return this._sessionId; + } + + constructor(ipcTransport: IpcTransport) { + ipcTransport.on(IpcEvents.sync, (_: unknown, data: SyncData) => { + this._sessionId = data.sessionId; + }); + } + + public get lastActive(): number { + return 0; + } + + public afterMetricsSubmission(): void { + // Do nothing + } + + public shouldSend(): boolean { + return true; + } +} diff --git a/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts b/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts new file mode 100644 index 00000000..68f2e0e4 --- /dev/null +++ b/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts @@ -0,0 +1,20 @@ +import { BacktraceAttachment, BreadcrumbsStorage, RawBreadcrumb } from '@backtrace-labs/sdk-core'; +import { IpcTransport } from '../../common'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; + +export class IpcBreadcrumbsStorage implements BreadcrumbsStorage { + constructor(private readonly _ipcTransport: IpcTransport) {} + + public get lastBreadcrumbId(): number { + return -1; + } + + public add(rawBreadcrumb: RawBreadcrumb): number { + this._ipcTransport.emit(IpcEvents.addBreadcrumb, rawBreadcrumb); + return -1; + } + + public getAttachments(): BacktraceAttachment[] { + return []; + } +} diff --git a/packages/electron/src/renderer/modules/IpcReportSubmission.ts b/packages/electron/src/renderer/modules/IpcReportSubmission.ts new file mode 100644 index 00000000..37966b03 --- /dev/null +++ b/packages/electron/src/renderer/modules/IpcReportSubmission.ts @@ -0,0 +1,59 @@ +import { + BacktraceAttachment, + BacktraceData, + BacktraceReportSubmission, + BacktraceReportSubmissionResult, + BacktraceSubmissionResponse, + IdGenerator, + jsonEscaper, +} from '@backtrace-labs/sdk-core'; +import { IpcTransport } from '../../common'; +import { IpcAttachmentReference } from '../../common/ipc/IpcAttachmentReference'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; +import { IpcRpc } from '../../common/ipc/IpcRpc'; +import { WritableIpcStream } from '../ipc/WritableIpcStream'; + +export class IpcReportSubmission implements BacktraceReportSubmission { + constructor(private readonly _ipcRpc: IpcRpc, private readonly _ipcTransport: IpcTransport) {} + + public send( + data: BacktraceData, + attachments: BacktraceAttachment[], + ): Promise> { + const references: IpcAttachmentReference[] = []; + + // IPC breadcrumbs storage will set this to -1. + // Let main add breadcrumb.lastId if it's less than 0. + if ((data.attributes['breadcrumbs.lastId'] as number) < 0) { + delete data.attributes['breadcrumbs.lastId']; + } + + for (const attachment of attachments) { + const id = IdGenerator.uuid() + '_' + attachment.name; + const content = attachment.get(); + if (content instanceof Blob) { + const stream = new WritableIpcStream(id, this._ipcTransport); + content.stream().pipeTo(stream); + } else if (content instanceof ReadableStream) { + const stream = new WritableIpcStream(id, this._ipcTransport); + content.pipeTo(stream); + } else if (content != undefined) { + const stream = new WritableIpcStream(id, this._ipcTransport); + const writer = stream.getWriter(); + writer + .write(typeof content === 'string' ? content : JSON.stringify(content, jsonEscaper())) + .then(() => writer.releaseLock()) + .then(() => stream.close()); + } else { + continue; + } + + references.push({ + id, + name: attachment.name, + }); + } + + return this._ipcRpc.invoke(IpcEvents.sendReport, data, references); + } +} diff --git a/packages/electron/src/renderer/modules/IpcRequestHandler.ts b/packages/electron/src/renderer/modules/IpcRequestHandler.ts new file mode 100644 index 00000000..3cc6fddb --- /dev/null +++ b/packages/electron/src/renderer/modules/IpcRequestHandler.ts @@ -0,0 +1,15 @@ +import { BacktraceReportSubmissionResult, BacktraceRequestHandler } from '@backtrace-labs/sdk-core'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; +import { IpcRpc } from '../../common/ipc/IpcRpc'; + +export class IpcRequestHandler implements BacktraceRequestHandler { + constructor(private readonly _ipc: IpcRpc) {} + + public postError(): never { + throw new Error('Sending reports should be routed via IpcReportSubmission.'); + } + + public post(submissionUrl: string, payload: string): Promise> { + return this._ipc.invoke(IpcEvents.post, submissionUrl, payload); + } +} diff --git a/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts b/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts new file mode 100644 index 00000000..1840b612 --- /dev/null +++ b/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts @@ -0,0 +1,19 @@ +import { MetricsQueue, SummedEvent } from '@backtrace-labs/sdk-core'; +import { IpcRpc, IpcTransport } from '../../common'; +import { IpcEvents } from '../../common/ipc/IpcEvents'; + +export class IpcSummedMetricsQueue implements MetricsQueue { + public readonly total = 0; + public readonly submissionUrl = ''; + public readonly maximumEvents = -1; + + constructor(private readonly _ipcTransport: IpcTransport, private readonly _ipcRpc: IpcRpc) {} + + public add(event: SummedEvent): void { + this._ipcTransport.emit(IpcEvents.addSummedMetric, event); + } + + public send(): Promise { + return this._ipcRpc.invoke(IpcEvents.sendMetrics); + } +} diff --git a/packages/electron/src/renderer/modules/StubMetricsQueue.ts b/packages/electron/src/renderer/modules/StubMetricsQueue.ts new file mode 100644 index 00000000..e193bdbb --- /dev/null +++ b/packages/electron/src/renderer/modules/StubMetricsQueue.ts @@ -0,0 +1,15 @@ +import { MetricsQueue } from '@backtrace-labs/sdk-core'; + +export class StubMetricsQueue implements MetricsQueue { + public readonly total = 0; + public readonly submissionUrl = ''; + public readonly maximumEvents = 0; + + public add(): void { + return; + } + + public send(): Promise { + return Promise.resolve(); + } +} diff --git a/packages/electron/tsconfig.build.json b/packages/electron/tsconfig.build.json new file mode 100644 index 00000000..4e9464b9 --- /dev/null +++ b/packages/electron/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "tests", "lib"] +} diff --git a/packages/electron/tsconfig.json b/packages/electron/tsconfig.json new file mode 100644 index 00000000..fac38a3c --- /dev/null +++ b/packages/electron/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./", + "rootDir": "./src", + "composite": true + }, + "exclude": ["node_modules", "common", "main", "renderer"], + "references": [ + { + "path": "../node/tsconfig.json" + } + ] +} diff --git a/packages/electron/tsconfig.main.json b/packages/electron/tsconfig.main.json new file mode 100644 index 00000000..adf69371 --- /dev/null +++ b/packages/electron/tsconfig.main.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./", + "rootDir": "./src" + }, + "include": ["src/main", "src/common"], + "exclude": ["node_modules", "tests", "common", "main", "renderer"], + "references": [ + { + "path": "../../../packages/electron/tsconfig.json" + } + ] +} diff --git a/packages/electron/tsconfig.renderer.json b/packages/electron/tsconfig.renderer.json new file mode 100644 index 00000000..de3533f7 --- /dev/null +++ b/packages/electron/tsconfig.renderer.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./", + "rootDir": "./src" + }, + "include": ["src/renderer", "src/common"], + "exclude": ["node_modules", "tests", "common", "main", "renderer"], + "references": [ + { + "path": "../../../packages/electron/tsconfig.json" + } + ] +} diff --git a/packages/electron/webpack.config.js b/packages/electron/webpack.config.js new file mode 100644 index 00000000..6a2813be --- /dev/null +++ b/packages/electron/webpack.config.js @@ -0,0 +1,77 @@ +const path = require('path'); +const { getWebpackTypescriptConfig } = require('../../build/common'); +const agentDefinitionPlugin = require('../../build/agentDefinitionPlugin'); +const nodeExternals = require('webpack-node-externals'); + +/** @type {import('webpack').Configuration} */ +const main = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.main.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'nosources-source-map', + entry: { + index: './src/main/index.ts', + }, + target: 'electron-main', + externalsPresets: { node: true }, + externals: [ + nodeExternals({ + additionalModuleDirs: ['../../node_modules'], + }), + ], + output: { + filename: '[name].js', + path: path.join(__dirname, 'main'), + libraryTarget: 'commonjs2', + devtoolModuleFilenameTemplate(info) { + return path.relative(path.join(__dirname, 'main'), info.absoluteResourcePath); + }, + }, + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], + optimization: { + minimize: false, + }, +}; + +/** @type {import('webpack').Configuration} */ +const preload = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.main.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'nosources-source-map', + entry: { + preload: './src/main/preload.ts' + }, + target: 'electron-preload', + output: { + filename: '[name].js', + path: path.join(__dirname, 'main'), + devtoolModuleFilenameTemplate(info) { + return path.relative(path.join(__dirname, 'main'), info.absoluteResourcePath); + }, + }, + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], + optimization: { + minimize: false, + }, +}; + +/** @type {import('webpack').Configuration} */ +const renderer = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.renderer.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'source-map', + entry: { + index: './src/renderer/index.ts' + }, + target: 'electron-renderer', + output: { + filename: '[name].js', + path: path.join(__dirname, 'renderer'), + libraryTarget: 'commonjs2', + }, + plugins: [agentDefinitionPlugin(path.join(__dirname, 'package.json'))], + optimization: { + minimize: false, + }, +}; + +module.exports = [main, preload, renderer]; \ No newline at end of file diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 7ee08e68..b97c3524 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -15,3 +15,4 @@ export * from './BacktraceClient'; export * from './BacktraceConfiguration'; export * from './attachment'; export * from './builder/BacktraceClientBuilder'; +export * from './builder/BacktraceClientSetup'; diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 120e5a31..f101cfa7 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -3,6 +3,7 @@ import { BacktraceAttributeProvider, BacktraceBreadcrumbs, BacktraceConfiguration, + BacktraceRequestHandler, BacktraceSessionProvider, DebugIdProvider, FileSystem, @@ -13,7 +14,7 @@ import { CoreClientSetup } from './builder/CoreClientSetup'; import { Events } from './common/Events'; import { ReportEvents } from './events/ReportEvents'; import { AttributeType, BacktraceData } from './model/data/BacktraceData'; -import { BacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; +import { BacktraceReportSubmission, RequestBacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; import { BacktraceReport } from './model/report/BacktraceReport'; import { BacktraceModule, BacktraceModuleBindData } from './modules/BacktraceModule'; import { BacktraceModuleCtor, BacktraceModules, ReadonlyBacktraceModules } from './modules/BacktraceModules'; @@ -120,6 +121,7 @@ export abstract class BacktraceCoreClient(type: BacktraceModuleCtor, module: T) { + protected addModule(module: T): void; + protected addModule(type: BacktraceModuleCtor, module: T): void; + protected addModule(typeOrModule: BacktraceModuleCtor | T, module?: T) { + let type: BacktraceModuleCtor; + if (typeof typeOrModule === 'function') { + type = typeOrModule; + } else { + module = typeOrModule; + type = Object.getPrototypeOf(module); + } + + if (!module) { + throw new Error('Module implementation is required.'); + } + this._modules.set(type, module); + + if (this._enabled) { + module.bind && module.bind(this.getModuleBindData()); + module.initialize && module.initialize(); + } } protected generateSubmissionData(report: BacktraceReport): BacktraceData | undefined { @@ -345,8 +374,11 @@ export abstract class BacktraceCoreClient) { + this.clientSetup.summedMetricsQueue = queue; + return this; + } + + public useUniqueMetricsQueue(queue: MetricsQueue) { + this.clientSetup.uniqueMetricsQueue = queue; + return this; + } } diff --git a/packages/sdk-core/src/builder/CoreClientSetup.ts b/packages/sdk-core/src/builder/CoreClientSetup.ts index 5d6df100..3e1f3f8f 100644 --- a/packages/sdk-core/src/builder/CoreClientSetup.ts +++ b/packages/sdk-core/src/builder/CoreClientSetup.ts @@ -1,9 +1,14 @@ import { BacktraceConfiguration } from '../model/configuration/BacktraceConfiguration'; import { BacktraceRequestHandler } from '../model/http'; +import { BacktraceReportSubmission } from '../model/http/BacktraceReportSubmission'; +import { BacktraceModule } from '../modules/BacktraceModule'; import { BacktraceAttributeProvider } from '../modules/attribute/BacktraceAttributeProvider'; import { BreadcrumbsSetup } from '../modules/breadcrumbs'; import { BacktraceStackTraceConverter } from '../modules/converter'; import { BacktraceSessionProvider } from '../modules/metrics/BacktraceSessionProvider'; +import { MetricsQueue } from '../modules/metrics/MetricsQueue'; +import { SummedEvent } from '../modules/metrics/model/SummedEvent'; +import { UniqueEvent } from '../modules/metrics/model/UniqueEvent'; import { FileSystem } from '../modules/storage'; import { DebugIdMapProvider } from '../sourcemaps'; import { SdkOptions } from './SdkOptions'; @@ -22,5 +27,9 @@ export interface CoreClientSetup; + readonly uniqueMetricsQueue?: MetricsQueue; } diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 59cf05d2..383703da 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -12,6 +12,7 @@ export * from './model/data/'; export * from './model/http'; export * from './model/report/BacktraceErrorType'; export * from './model/report/BacktraceReport'; +export * from './modules/BacktraceModule'; export * from './modules/attribute'; export * from './modules/attribute/BacktraceAttributeProvider'; export * from './modules/breadcrumbs'; @@ -19,6 +20,8 @@ export * from './modules/converter'; export * from './modules/converter/V8StackTraceConverter'; export * from './modules/database'; export * from './modules/metrics/BacktraceSessionProvider'; +export * from './modules/metrics/MetricsQueue'; export * from './modules/metrics/SingleSessionProvider'; +export * from './modules/metrics/model/SummedEvent'; export * from './modules/storage'; export * from './sourcemaps/index'; diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index 45bab50a..0d889a1a 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -4,8 +4,17 @@ import { BacktraceConfiguration } from '../configuration/BacktraceConfiguration' import { BacktraceData } from '../data/BacktraceData'; import { BacktraceRequestHandler } from './BacktraceRequestHandler'; import { SubmissionUrlInformation } from './SubmissionUrlInformation'; +import { BacktraceSubmissionResponse } from './model/BacktraceSubmissionResponse'; +import { BacktraceReportSubmissionResult } from './model/BacktraceSubmissionResult'; -export class BacktraceReportSubmission { +export interface BacktraceReportSubmission { + send( + data: BacktraceData, + attachments: BacktraceAttachment[], + ): Promise>; +} + +export class RequestBacktraceReportSubmission { private readonly _submissionUrl: string; constructor(options: BacktraceConfiguration, private readonly _requestHandler: BacktraceRequestHandler) { this._submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(options.url, options.token); diff --git a/packages/sdk-core/src/model/http/index.ts b/packages/sdk-core/src/model/http/index.ts index d268daf7..6042d882 100644 --- a/packages/sdk-core/src/model/http/index.ts +++ b/packages/sdk-core/src/model/http/index.ts @@ -1,6 +1,7 @@ +export * from './BacktraceReportSubmission'; export * from './BacktraceRequestHandler'; +export * from './SubmissionUrlInformation'; export * from './common/ConnectionError'; export * from './model/BacktraceSubmissionResponse'; export * from './model/BacktraceSubmissionResult'; export * from './model/BacktraceSubmissionStatus'; -export * from './SubmissionUrlInformation'; diff --git a/packages/sdk-core/src/modules/BacktraceModule.ts b/packages/sdk-core/src/modules/BacktraceModule.ts index 7244debf..48c58302 100644 --- a/packages/sdk-core/src/modules/BacktraceModule.ts +++ b/packages/sdk-core/src/modules/BacktraceModule.ts @@ -1,12 +1,16 @@ -import { BacktraceCoreClient, SessionFiles } from '..'; +import { BacktraceConfiguration, BacktraceCoreClient, BacktraceRequestHandler, SessionFiles } from '..'; import { Events } from '../common/Events'; import { ReportEvents } from '../events/ReportEvents'; +import { BacktraceReportSubmission } from '../model/http/BacktraceReportSubmission'; import { AttributeManager } from './attribute/AttributeManager'; export interface BacktraceModuleBindData { readonly client: BacktraceCoreClient; + readonly options: BacktraceConfiguration; readonly attributeManager: AttributeManager; readonly reportEvents: Events; + readonly reportSubmission: BacktraceReportSubmission; + readonly requestHandler: BacktraceRequestHandler; readonly sessionFiles?: SessionFiles; } diff --git a/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts b/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts index a238b6f1..80a3f9c8 100644 --- a/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts +++ b/packages/sdk-core/src/modules/metrics/MetricsBuilder.ts @@ -32,7 +32,7 @@ export class MetricsBuilder { public build( uniqueEventsSubmissionQueue?: MetricsQueue, - summedEventsSubmissionQueue?: MetricsQueue, + summedEventsSubmissionQueue?: MetricsQueue, ): BacktraceMetrics | undefined { const metricsOptions = { ...this.optionsWithDefaults(), diff --git a/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts b/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts index 9235ec05..3954dbfb 100644 --- a/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts +++ b/packages/sdk-core/src/modules/metrics/model/MetricsEvent.ts @@ -2,11 +2,11 @@ import { IdGenerator } from '../../../common/IdGenerator'; import { TimeHelper } from '../../../common/TimeHelper'; import { AttributeType } from '../../../model/data/BacktraceData'; -export class MetricsEvent { +export class MetricsEvent { public readonly id = IdGenerator.uuid(); constructor( public readonly metricGroupName: string, - public readonly metricGroupValue: string | string[], + public readonly metricGroupValue: V, public readonly attributes: Record = {}, ) {} diff --git a/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts b/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts index 4356675f..4c7942f5 100644 --- a/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts +++ b/packages/sdk-core/src/modules/metrics/model/SummedEvent.ts @@ -1,7 +1,7 @@ import { AttributeType } from '../../../model/data/BacktraceData'; import { MetricsEvent } from './MetricsEvent'; -export class SummedEvent extends MetricsEvent { +export class SummedEvent extends MetricsEvent { constructor(metricGroupName: string, attributes: Record = {}) { super('metric_group', metricGroupName, attributes); } diff --git a/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts b/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts index 4bcc0e22..136d0260 100644 --- a/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts +++ b/packages/sdk-core/src/modules/metrics/model/UniqueEvent.ts @@ -1,7 +1,7 @@ import { AttributeType } from '../../../model/data/BacktraceData'; import { MetricsEvent } from './MetricsEvent'; -export class UniqueEvent extends MetricsEvent { +export class UniqueEvent extends MetricsEvent { constructor(attributes: Record) { super('unique', ['guid'], attributes); } diff --git a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts index ba155ef0..86bca787 100644 --- a/packages/sdk-core/tests/database/databaseSetupTests.spec.ts +++ b/packages/sdk-core/tests/database/databaseSetupTests.spec.ts @@ -1,5 +1,5 @@ import { BacktraceData } from '../../src'; -import { BacktraceReportSubmission } from '../../src/model/http/BacktraceReportSubmission'; +import { RequestBacktraceReportSubmission } from '../../src/model/http/BacktraceReportSubmission'; import { BacktraceDatabase } from '../../src/modules/database/BacktraceDatabase'; import { TEST_SUBMISSION_URL } from '../mocks/BacktraceTestClient'; import { testHttpClient } from '../mocks/testHttpClient'; @@ -10,7 +10,7 @@ describe('Database setup tests', () => { const database = new BacktraceDatabase( undefined, testStorageProvider, - new BacktraceReportSubmission( + new RequestBacktraceReportSubmission( { url: TEST_SUBMISSION_URL, }, @@ -27,7 +27,7 @@ describe('Database setup tests', () => { autoSend: false, }, testStorageProvider, - new BacktraceReportSubmission( + new RequestBacktraceReportSubmission( { url: TEST_SUBMISSION_URL, }, @@ -45,7 +45,7 @@ describe('Database setup tests', () => { const database = new BacktraceDatabase( { enable: false }, testStorageProvider, - new BacktraceReportSubmission( + new RequestBacktraceReportSubmission( { url: TEST_SUBMISSION_URL, }, @@ -66,7 +66,7 @@ describe('Database setup tests', () => { path: '/path/to/fake/dir', }, testStorageProvider, - new BacktraceReportSubmission( + new RequestBacktraceReportSubmission( { url: TEST_SUBMISSION_URL, }, @@ -85,7 +85,7 @@ describe('Database setup tests', () => { const database = new BacktraceDatabase( undefined, testStorageProvider, - new BacktraceReportSubmission( + new RequestBacktraceReportSubmission( { url: TEST_SUBMISSION_URL, }, @@ -103,7 +103,7 @@ describe('Database setup tests', () => { const database = new BacktraceDatabase( undefined, testStorageProvider, - new BacktraceReportSubmission( + new RequestBacktraceReportSubmission( { url: TEST_SUBMISSION_URL, }, From 71df3c05fee76b5927f6defbf053e460dba1bef5 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 19 Oct 2023 18:04:00 +0200 Subject: [PATCH 226/291] electron example: add an example for using Electron SDK (#177) * electron example: add initial project * electron example: add simple error reporting to Backtrace from renderer * electron example: remove redux, add main/renderer examples * electron example: add vscode launch configuration * electron example: add crashing app in main * electron example: update imports for electron sdk * electron example: restore example submission URL --------- Co-authored-by: Sebastian Alex --- .vscode/launch.json | 12 + examples/sdk/electron/.gitignore | 2 + examples/sdk/electron/assets/index.css | 171 + examples/sdk/electron/assets/index.html | 140 + examples/sdk/electron/package-lock.json | 4087 ++++++++++++++++++ examples/sdk/electron/package.json | 46 + examples/sdk/electron/src/common/MainApi.ts | 13 + examples/sdk/electron/src/main/consts.ts | 2 + examples/sdk/electron/src/main/index.ts | 101 + examples/sdk/electron/src/main/preload.ts | 12 + examples/sdk/electron/src/renderer/index.ts | 119 + examples/sdk/electron/tsconfig.json | 13 + examples/sdk/electron/tsconfig.main.json | 14 + examples/sdk/electron/tsconfig.renderer.json | 14 + examples/sdk/electron/webpack.config.js | 61 + 15 files changed, 4807 insertions(+) create mode 100644 examples/sdk/electron/.gitignore create mode 100644 examples/sdk/electron/assets/index.css create mode 100644 examples/sdk/electron/assets/index.html create mode 100644 examples/sdk/electron/package-lock.json create mode 100644 examples/sdk/electron/package.json create mode 100644 examples/sdk/electron/src/common/MainApi.ts create mode 100644 examples/sdk/electron/src/main/consts.ts create mode 100644 examples/sdk/electron/src/main/index.ts create mode 100644 examples/sdk/electron/src/main/preload.ts create mode 100644 examples/sdk/electron/src/renderer/index.ts create mode 100644 examples/sdk/electron/tsconfig.json create mode 100644 examples/sdk/electron/tsconfig.main.json create mode 100644 examples/sdk/electron/tsconfig.renderer.json create mode 100644 examples/sdk/electron/webpack.config.js diff --git a/.vscode/launch.json b/.vscode/launch.json index fd9f5961..d1823d91 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -27,6 +27,18 @@ "url": "http://localhost:3000", "webRoot": "${workspaceFolder}/examples/sdk/react/", "sourceMaps": true + }, + { + "name": "Electron example", + "type": "node", + "request": "launch", + "cwd": "${workspaceFolder}/examples/sdk/electron", + "runtimeExecutable": "${workspaceFolder}/examples/sdk/electron/node_modules/.bin/electron", + "windows": { + "runtimeExecutable": "${workspaceFolder}/examples/sdk/electron/node_modules/.bin/electron.cmd" + }, + "args": ["."], + "outputCapture": "std" } ] } diff --git a/examples/sdk/electron/.gitignore b/examples/sdk/electron/.gitignore new file mode 100644 index 00000000..7884297d --- /dev/null +++ b/examples/sdk/electron/.gitignore @@ -0,0 +1,2 @@ +/database +./src/consts.ts \ No newline at end of file diff --git a/examples/sdk/electron/assets/index.css b/examples/sdk/electron/assets/index.css new file mode 100644 index 00000000..fddc14c4 --- /dev/null +++ b/examples/sdk/electron/assets/index.css @@ -0,0 +1,171 @@ +.card { + padding: 40px; + background-color: white; + width: 30%; +} + +#redux-demo-container { + display: none; +} + +.center { + display: block; + margin: 0 auto; +} + +.action-container { + padding: 20px; +} + +.button-container { + display: flex; + margin: initial; +} + +.button-container .action-button { + padding: 10px 16px; +} + +.button-container :not(:first-child):not(:last-child) { + border-radius: initial; +} + +.button-container :first-child { + border-radius: 50px 0 0 50px; + min-width: initial; + flex: 1; +} + +.button-container :last-child { + border-radius: 0 50px 50px 0; + min-width: initial; + flex: 0; +} + +.card-header { + font-family: 'DM Sans', Arial, sans-serif; + font-size: 22px; + color: #2d2d2d; + text-align: center; + line-height: 120%; + margin-bottom: 24px; +} +.footer { + width: 30%; + padding: 40px; + text-align: center; +} +p, span { + font-family: 'DM Sans', Arial, sans-serif; + font-weight: 300; + font-size: 15px; +} + +.action-button { + cursor: pointer; + background-color: #3ddc91; + padding: 12px 35px; + border-radius: 50px; + margin-bottom: 5px; + text-align: center; +} + +.action-button:hover { + background-color: #4eeea2; +} + +.action-description { + background-color: #3ddc91; + padding: 12px 12px; + margin-bottom: 5px; + text-align: center; +} + +.round { + border-radius: 50px; +} + +.action-button a { + color: #132322; + font-family: 'DM Sans', Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: 600; + font-style: normal; + line-height: 20px; + text-decoration: none; + display: block; +} + +img { + -ms-interpolation-mode: bicubic; + border: 0; +} + +p, +a, +li, +td, +blockquote { + mso-line-height-rule: exactly; +} + +p, +a, +li, +td, +body, +table, +blockquote { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +/*------ Reset Style ------ */ +* { + -webkit-text-size-adjust: none; + -webkit-text-resize: 100%; + text-resize: 100%; +} + +table { + border-spacing: 0 2px !important; +} + +h1, +h2, +h3, +h4, +h5, +h6, +p { + display: block; + margin: 0; + padding: 0; + color: #1e2127; +} + +img, +a img { + border: 0; + height: auto; + outline: none; + text-decoration: none; +} + +body { + height: 100%; + margin: 0; + padding: 0; +} + +.footerAddressInfo { + color: #1e2127; + font-family: 'DM Sans', Arial, sans-serif; + font-size: 16px; + margin-top: 16px; + margin-bottom: 8px; +} +/*------ Google Font Style ------ */ +[style*='DM Sans'] { + font-family: 'DM Sans', Helvetica, Arial, sans-serif !important; +} diff --git a/examples/sdk/electron/assets/index.html b/examples/sdk/electron/assets/index.html new file mode 100644 index 00000000..0dcbace9 --- /dev/null +++ b/examples/sdk/electron/assets/index.html @@ -0,0 +1,140 @@ + + + + + + + + + + + +
        + + + diff --git a/examples/sdk/electron/package-lock.json b/examples/sdk/electron/package-lock.json new file mode 100644 index 00000000..5063fcdb --- /dev/null +++ b/examples/sdk/electron/package-lock.json @@ -0,0 +1,4087 @@ +{ + "name": "@backtrace-labs/electron-example", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@backtrace-labs/electron-example", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@backtrace-labs/electron": "file:../../../packages/electron" + }, + "devDependencies": { + "electron": "^26.2.4", + "ts-loader": "^9.4.3", + "typescript": "^5.1.3", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + }, + "engines": { + "node": ">=14" + } + }, + "../../../packages/electron": { + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "@backtrace-labs/node": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6" + }, + "peerDependencies": { + "electron": "12 - 26" + } + }, + "node_modules/@backtrace-labs/electron": { + "resolved": "../../../packages/electron", + "link": true + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", + "dev": true + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", + "dev": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", + "dev": true + }, + "node_modules/@types/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", + "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, + "optional": true + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "optional": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "node_modules/electron": { + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", + "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.559", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz", + "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "optional": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "optional": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "optional": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "optional": true + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", + "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@backtrace-labs/electron": { + "version": "file:../../../packages/electron", + "requires": { + "@backtrace-labs/node": "^0.0.5", + "@backtrace-labs/sdk-core": "^0.0.6" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", + "dev": true + }, + "@types/http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", + "dev": true + }, + "@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", + "dev": true + }, + "@types/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yauzl": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", + "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true + }, + "cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + } + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "optional": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "optional": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "electron": { + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", + "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", + "dev": true, + "requires": { + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + } + }, + "electron-to-chromium": { + "version": "1.4.559", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz", + "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "dev": true + }, + "es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "optional": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "optional": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "optional": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "optional": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "optional": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "optional": true + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "optional": true + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.13.1" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "optional": true + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "requires": { + "debug": "^4.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-loader": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", + "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "dependencies": { + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true + }, + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/examples/sdk/electron/package.json b/examples/sdk/electron/package.json new file mode 100644 index 00000000..2da25ef5 --- /dev/null +++ b/examples/sdk/electron/package.json @@ -0,0 +1,46 @@ +{ + "name": "@backtrace-labs/electron-example", + "version": "1.0.0", + "description": "@backtrace-labs/electron example", + "main": "lib/main/index.js", + "engines": { + "node": ">=14" + }, + "scripts": { + "build": "webpack", + "clean": "rimraf \"lib\" && tsc -b --clean && tsc -b tsconfig.main.json --clean && tsc -b tsconfig.renderer.json --clean", + "format": "prettier --write '**/*.ts'", + "lint": "eslint . --ext .ts", + "start": "electron .", + "watch": "webpack -w" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/backtrace-labs/backtrace-javascript.git" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace" + ], + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "devDependencies": { + "electron": "^26.2.4", + "ts-loader": "^9.4.3", + "typescript": "^5.1.3", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@backtrace-labs/electron": "file:../../../packages/electron" + } +} diff --git a/examples/sdk/electron/src/common/MainApi.ts b/examples/sdk/electron/src/common/MainApi.ts new file mode 100644 index 00000000..78dfaa93 --- /dev/null +++ b/examples/sdk/electron/src/common/MainApi.ts @@ -0,0 +1,13 @@ +export const Events = { + sendError: 'sendError', + sendMessage: 'sendMessage', + sendUnhandledException: 'sendUnhandledException', + sendPromiseRejection: 'sendPromiseRejection', + generateMetric: 'generateMetric', + sendMetrics: 'sendMetrics', + crashApp: 'crashApp', +}; + +export interface MainApi { + emit(event: keyof typeof Events): void; +} diff --git a/examples/sdk/electron/src/main/consts.ts b/examples/sdk/electron/src/main/consts.ts new file mode 100644 index 00000000..dd29bab4 --- /dev/null +++ b/examples/sdk/electron/src/main/consts.ts @@ -0,0 +1,2 @@ +export const SUBMISSION_URL = + 'https://submit.backtrace.io/your-universe/0000000000000000000000000000000000000000000000000000000000000000/json'; diff --git a/examples/sdk/electron/src/main/index.ts b/examples/sdk/electron/src/main/index.ts new file mode 100644 index 00000000..852f4a6e --- /dev/null +++ b/examples/sdk/electron/src/main/index.ts @@ -0,0 +1,101 @@ +import { BacktraceClient } from '@backtrace-labs/electron'; +import { BrowserWindow, app, ipcMain } from 'electron'; +import fs from 'fs'; +import path from 'path'; +import { Events } from '../common/MainApi'; +import { SUBMISSION_URL } from './consts'; + +function handleEvent(event: keyof typeof Events, fn: () => unknown) { + ipcMain.on(event, fn); +} + +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + attachments: [path.join(process.cwd(), 'samplefile.txt')], + rateLimit: 5, + userAttributes: { + 'custom-attribute': 'test', + 'custom-annotation': { + prop1: true, + prop2: 123, + }, + }, + database: { + enable: true, + path: path.join(process.cwd(), 'database'), + captureNativeCrashes: true, + createDatabaseDirectory: true, + }, +}); + +async function sendHandledException() { + console.log('Sending an error to Backtrace'); + try { + fs.readFileSync('/path/to/not/existing/file'); + } catch (err) { + await client.send(err as Error, { action: 'send-error' }); + } +} + +async function sendMessage() { + console.log('Sending a text message to Backtrace'); + await client.send('test-message', { action: 'send-message' }); +} + +function generateMetric() { + console.log('Generating a metric'); + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.addSummedEvent('click'); +} + +function sendMetrics() { + console.log('Sending metrics to Backtrace'); + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.send(); +} + +function unhandledPromiseRejection() { + console.log('Rejecting promise without .catch and finally.'); + return new Promise(() => { + throw new Error('Promise rejection'); + }); +} + +function unhandledException() { + console.log('Throwing an unhandled exception'); + throw new Error('unhandled exception'); +} + +function crashApp() { + console.log('Crashing the application'); + process.crash(); +} + +handleEvent('sendError', sendHandledException); +handleEvent('sendMessage', sendMessage); +handleEvent('generateMetric', generateMetric); +handleEvent('sendMetrics', sendMetrics); +handleEvent('sendPromiseRejection', unhandledPromiseRejection); +handleEvent('sendUnhandledException', unhandledException); +handleEvent('crashApp', crashApp); + +const createWindow = () => { + const win = new BrowserWindow({ + width: 1600, + height: 900, + webPreferences: { + preload: path.join(__dirname, 'preload.js'), + }, + }); + + win.loadFile('assets/index.html'); + win.webContents.openDevTools({ mode: 'detach' }); +}; + +app.whenReady().then(createWindow); diff --git a/examples/sdk/electron/src/main/preload.ts b/examples/sdk/electron/src/main/preload.ts new file mode 100644 index 00000000..51f3e01f --- /dev/null +++ b/examples/sdk/electron/src/main/preload.ts @@ -0,0 +1,12 @@ +import '@backtrace-labs/electron/lib/main/preload'; +import { contextBridge, ipcRenderer } from 'electron'; +import { MainApi } from '../common/MainApi'; + +const mainApi: MainApi = { + emit(event) { + console.log(`emitting ${event} to main process`); + ipcRenderer.send(event); + }, +}; + +contextBridge.exposeInMainWorld('mainApi', mainApi); diff --git a/examples/sdk/electron/src/renderer/index.ts b/examples/sdk/electron/src/renderer/index.ts new file mode 100644 index 00000000..eefd26a4 --- /dev/null +++ b/examples/sdk/electron/src/renderer/index.ts @@ -0,0 +1,119 @@ +import { BacktraceClient, BacktraceStringAttachment } from '@backtrace-labs/browser'; +import { addBacktraceElectron } from '@backtrace-labs/electron/renderer'; +import { Events, MainApi } from '../common/MainApi'; + +declare global { + interface Window { + readonly mainApi: MainApi; + } +} + +const mainApi = window.mainApi; + +const client = BacktraceClient.initialize( + { + url: 'none', + name: '@backtrace-labs/electron-renderer', + version: '0.0.1', + userAttributes: { + 'custom-attribute': 'test', + 'custom-annotation': { + prop1: true, + prop2: 123, + }, + }, + }, + (builder) => addBacktraceElectron(builder), +); + +function parseNotExistingDomElement(): string { + const element = document.getElementById('not-existing-id') as HTMLElement; + return element.outerText.split('\n')[1].toString(); +} + +const sendErrorButton = document.querySelectorAll('.send-error'); +const sendMessageButton = document.querySelectorAll('.send-message'); +const sendUnhandledExceptionButton = document.querySelectorAll('.send-unhandled-exception'); +const sendPromiseRejectionButton = document.querySelectorAll('.send-promise-rejection'); +const generateMetricButton = document.querySelectorAll('.generate-metric'); +const sendMetricsButton = document.querySelectorAll('.send-metrics'); +const crashAppButton = document.querySelectorAll('.crash-app'); + +async function sendHandledException() { + try { + console.log('send-error click'); + parseNotExistingDomElement(); + } catch (err) { + await client.send(err as Error, { action: 'send-error' }, [ + new BacktraceStringAttachment('test.txt', 'sample attachment content'), + ]); + } +} + +async function sendMessage() { + console.log('send-message click'); + await client.send('test-message', { action: 'send-message' }, [ + new BacktraceStringAttachment('test.txt', 'sample attachment content'), + ]); +} + +function generateMetric() { + console.log('generate-metric click'); + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.addSummedEvent('click'); +} + +function sendMetrics() { + console.log('send-metrics click'); + if (!client.metrics) { + console.log('metrics are unavailable'); + return; + } + client.metrics.send(); +} + +function unhandledPromiseRejection() { + console.log('unhandled promise rejection'); + return new Promise(() => { + throw new Error('Promise rejection'); + }); +} + +function unhandledException() { + console.log('unhandled exception'); + throw new Error('unhandled exception'); +} + +function routeMainRenderer(mainFn: () => unknown, rendererFn: () => unknown) { + return (ev: Event) => { + const target = ev.currentTarget as HTMLElement; + const targetName = target.getAttribute('data-target'); + switch (targetName) { + case 'main': + return mainFn(); + case 'renderer': + return rendererFn(); + default: + throw new Error(`unknown target ${targetName}`); + } + }; +} + +function emitToMain(event: keyof typeof Events) { + return () => mainApi.emit(event); +} + +sendErrorButton.forEach((el) => (el.onclick = routeMainRenderer(emitToMain('sendError'), sendHandledException))); +sendMessageButton.forEach((el) => (el.onclick = routeMainRenderer(emitToMain('sendMessage'), sendMessage))); +generateMetricButton.forEach((el) => (el.onclick = routeMainRenderer(emitToMain('generateMetric'), generateMetric))); +sendMetricsButton.forEach((el) => (el.onclick = routeMainRenderer(emitToMain('sendMetrics'), sendMetrics))); +sendUnhandledExceptionButton.forEach( + (el) => (el.onclick = routeMainRenderer(emitToMain('sendUnhandledException'), unhandledException)), +); +sendPromiseRejectionButton.forEach( + (el) => (el.onclick = routeMainRenderer(emitToMain('sendPromiseRejection'), unhandledPromiseRejection)), +); +crashAppButton.forEach((el) => (el.onclick = emitToMain('crashApp'))); diff --git a/examples/sdk/electron/tsconfig.json b/examples/sdk/electron/tsconfig.json new file mode 100644 index 00000000..eaa65c3e --- /dev/null +++ b/examples/sdk/electron/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "exclude": ["node_modules", "tests", "lib"], + "references": [ + { + "path": "../../../packages/electron/tsconfig.json" + } + ] +} diff --git a/examples/sdk/electron/tsconfig.main.json b/examples/sdk/electron/tsconfig.main.json new file mode 100644 index 00000000..4d714ace --- /dev/null +++ b/examples/sdk/electron/tsconfig.main.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "include": ["src/main", "src/common"], + "exclude": ["node_modules", "tests", "lib"], + "references": [ + { + "path": "../../../packages/electron/tsconfig.json" + } + ] +} diff --git a/examples/sdk/electron/tsconfig.renderer.json b/examples/sdk/electron/tsconfig.renderer.json new file mode 100644 index 00000000..e37877a5 --- /dev/null +++ b/examples/sdk/electron/tsconfig.renderer.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./src" + }, + "include": ["src/renderer", "src/common"], + "exclude": ["node_modules", "tests", "lib"], + "references": [ + { + "path": "../../../packages/electron/tsconfig.json" + } + ] +} diff --git a/examples/sdk/electron/webpack.config.js b/examples/sdk/electron/webpack.config.js new file mode 100644 index 00000000..f213c675 --- /dev/null +++ b/examples/sdk/electron/webpack.config.js @@ -0,0 +1,61 @@ +const path = require('path'); +const { getWebpackTypescriptConfig } = require('../../../build/common'); +const nodeExternals = require('webpack-node-externals'); + +/** @type {import('webpack').Configuration} */ +const main = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.main.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'nosources-source-map', + entry: { + index: './src/main/index.ts', + }, + target: 'electron-main', + externals: [ + nodeExternals({ + additionalModuleDirs: ['../../node_modules'], + }), + ], + output: { + filename: '[name].js', + path: path.join(__dirname, 'lib/main'), + devtoolModuleFilenameTemplate(info) { + return path.relative(path.join(__dirname, 'lib/main'), info.absoluteResourcePath); + }, + }, + optimization: { + minimize: false, + }, +}; + +/** @type {import('webpack').Configuration} */ +const preload = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.main.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'nosources-source-map', + entry: { + preload: './src/main/preload.ts' + }, + target: 'electron-preload', + output: { + filename: '[name].js', + path: path.join(__dirname, 'lib/main'), + }, +}; + +/** @type {import('webpack').Configuration} */ +const renderer = { + ...getWebpackTypescriptConfig({ configFile: 'tsconfig.renderer.json' }), + mode: process.env.NODE_ENV ?? 'production', + devtool: 'source-map', + entry: { + index: './src/renderer/index.ts' + }, + target: 'electron-renderer', + output: { + filename: '[name].js', + path: path.join(__dirname, 'lib/renderer'), + }, +}; + +module.exports = [main, preload, renderer]; \ No newline at end of file From 5f4e57209d89ce6b0a88f44cfe0681c99b25abce Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 19 Oct 2023 18:06:42 +0200 Subject: [PATCH 227/291] react-native: Add support for unhandled exception handler on Android (#184) --- package-lock.json | 10 ++- packages/react-native/jest.config.js | 6 ++ packages/react-native/jest.setup.js | 2 + packages/react-native/package.json | 14 ++-- .../converters/AndroidStackTraceConverter.ts | 40 +++++++++++ .../android/AndroidUnhandledException.ts | 5 ++ .../AndroidUnhandledExceptionHandler.ts | 25 +++---- .../androidStackTraceConverterTests.spec.ts | 71 +++++++++++++++++++ packages/react-native/tsconfig.json | 3 +- 9 files changed, 152 insertions(+), 24 deletions(-) create mode 100644 packages/react-native/jest.config.js create mode 100644 packages/react-native/jest.setup.js create mode 100644 packages/react-native/src/converters/AndroidStackTraceConverter.ts create mode 100644 packages/react-native/src/handlers/android/AndroidUnhandledException.ts create mode 100644 packages/react-native/tests/androidStackTraceConverterTests.spec.ts diff --git a/package-lock.json b/package-lock.json index af9c0390..d8ecbfb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15648,13 +15648,17 @@ }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", + "@types/jest": "^29.5.5", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", + "jest": "^29.7.0", "pod-install": "^0.1.0", "prettier": "^2.0.5", "react": "18.2.0", "react-native": "^0.72.4", "react-native-builder-bob": "^0.21.3", + "ts-jest": "^29.1.1", + "ts-loader": "^9.5.0", "typescript": "^5.0.2" }, "engines": { @@ -22629,16 +22633,20 @@ "@backtrace-labs/react-native": { "version": "file:packages/react-native", "requires": { - "@backtrace-labs/react": "0.0.5", + "@backtrace-labs/react": "^0.0.5", "@backtrace-labs/sdk-core": "^0.0.7", "@react-native-community/eslint-config": "^3.0.2", + "@types/jest": "^29.5.5", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", + "jest": "^29.7.0", "pod-install": "^0.1.0", "prettier": "^2.0.5", "react": "18.2.0", "react-native": "^0.72.4", "react-native-builder-bob": "^0.21.3", + "ts-jest": "^29.1.1", + "ts-loader": "^9.5.0", "typescript": "^5.0.2" }, "dependencies": { diff --git a/packages/react-native/jest.config.js b/packages/react-native/jest.config.js new file mode 100644 index 00000000..edb63f81 --- /dev/null +++ b/packages/react-native/jest.config.js @@ -0,0 +1,6 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: 'react-native', + testEnvironment: 'node', + setupFiles: ['./jest.setup.js'], +}; diff --git a/packages/react-native/jest.setup.js b/packages/react-native/jest.setup.js new file mode 100644 index 00000000..6fde3b31 --- /dev/null +++ b/packages/react-native/jest.setup.js @@ -0,0 +1,2 @@ +global.BACKTRACE_AGENT_NAME = 'test'; +global.BACKTRACE_AGENT_VERSION = 'test'; diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 2d034247..655e9945 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -30,7 +30,8 @@ "build": "bob build", "clean": "rimraf \"lib\"", "format:check": "eslint \"**/*.{js,ts,tsx}\"", - "prepublishOnly": "bob build" + "prepublishOnly": "bob build", + "test": "NODE_ENV=test jest" }, "keywords": [ "Error", @@ -55,13 +56,6 @@ "engines": { "node": ">= 16.0.0" }, - "jest": { - "preset": "react-native", - "modulePathIgnorePatterns": [ - "/example/node_modules", - "/lib/" - ] - }, "react-native-builder-bob": { "source": "src", "output": "lib", @@ -82,13 +76,17 @@ }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", + "@types/jest": "^29.5.5", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", + "jest": "^29.7.0", "pod-install": "^0.1.0", "prettier": "^2.0.5", "react": "18.2.0", "react-native": "^0.72.4", "react-native-builder-bob": "^0.21.3", + "ts-jest": "^29.1.1", + "ts-loader": "^9.5.0", "typescript": "^5.0.2" }, "dependencies": { diff --git a/packages/react-native/src/converters/AndroidStackTraceConverter.ts b/packages/react-native/src/converters/AndroidStackTraceConverter.ts new file mode 100644 index 00000000..c40d23f3 --- /dev/null +++ b/packages/react-native/src/converters/AndroidStackTraceConverter.ts @@ -0,0 +1,40 @@ +import { type BacktraceStackFrame } from '@backtrace-labs/sdk-core'; + +export class AndroidStackTraceConverter { + public readonly NativeLibraryName = 'Native'; + + public convert(androidStackTrace: string): BacktraceStackFrame[] { + const result: BacktraceStackFrame[] = []; + if (!androidStackTrace) { + return result; + } + + const frames = androidStackTrace.trim().split('\n'); + for (const frame of frames) { + const parameterStartIndex = frame.indexOf('('); + const sourceCodeInformation = frame.substring(parameterStartIndex + 1, frame.length - 1); + const sourceCodeInfo = sourceCodeInformation.split(':'); + let library = sourceCodeInfo[0] as string; + if (frame.startsWith('java.lang') && sourceCodeInformation === 'Unknown Source') { + library = sourceCodeInformation; + } + if (library === 'Native Method') { + library = this.NativeLibraryName; + } + + const resultFrame: BacktraceStackFrame = { + funcName: frame.substring(0, parameterStartIndex), + library, + }; + + const lineNumber = sourceCodeInfo[1]; + if (lineNumber) { + resultFrame.line = parseInt(lineNumber); + } + + result.push(resultFrame); + } + + return result; + } +} diff --git a/packages/react-native/src/handlers/android/AndroidUnhandledException.ts b/packages/react-native/src/handlers/android/AndroidUnhandledException.ts new file mode 100644 index 00000000..f6002f1b --- /dev/null +++ b/packages/react-native/src/handlers/android/AndroidUnhandledException.ts @@ -0,0 +1,5 @@ +export class AndroidUnhandledException extends Error { + constructor(public readonly name: string, public readonly message: string, public readonly stack: string) { + super(message); + } +} diff --git a/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts b/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts index 5a3fcb8a..3010927f 100644 --- a/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts +++ b/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts @@ -2,9 +2,12 @@ import { BacktraceReport } from '@backtrace-labs/sdk-core'; import { NativeModules } from 'react-native'; import { BacktraceClient } from '../../BacktraceClient'; import { DebuggerHelper } from '../../common/DebuggerHelper'; +import { AndroidStackTraceConverter } from '../../converters/AndroidStackTraceConverter'; import { UnhandledExceptionHandler } from '../UnhandledExceptionHandler'; +import { AndroidUnhandledException } from './AndroidUnhandledException'; export class AndroidUnhandledExceptionHandler extends UnhandledExceptionHandler { private readonly _unhandledExceptionHandler = NativeModules.BacktraceAndroidBackgroundUnhandledExceptionHandler; + private readonly _androidStackTraceConverter = new AndroidStackTraceConverter(); public captureManagedErrors(client: BacktraceClient) { super.captureManagedErrors(client); if (!this._unhandledExceptionHandler) { @@ -15,21 +18,15 @@ export class AndroidUnhandledExceptionHandler extends UnhandledExceptionHandler } this._unhandledExceptionHandler.start((classifier: string, message: string, stackTrace: string) => { - // to do: - // save the report when the database feature is enabled - console.log(`Backtrace: ${message} ${classifier} Stack Trace: ${stackTrace}`); - client.send( - new BacktraceReport( - message, - { - 'error.type': 'Unhandled exception', - }, - [], - { - classifiers: [classifier], - }, - ), + const report = new BacktraceReport( + new AndroidUnhandledException(classifier, message, stackTrace), + { + 'error.type': 'Unhandled exception', + }, + [], ); + report.addStackTrace('main', this._androidStackTraceConverter.convert(stackTrace)); + client.send(report); }); } diff --git a/packages/react-native/tests/androidStackTraceConverterTests.spec.ts b/packages/react-native/tests/androidStackTraceConverterTests.spec.ts new file mode 100644 index 00000000..51d615a3 --- /dev/null +++ b/packages/react-native/tests/androidStackTraceConverterTests.spec.ts @@ -0,0 +1,71 @@ +import { type BacktraceStackFrame } from '@backtrace-labs/sdk-core'; +import { fail } from 'assert'; +import { AndroidStackTraceConverter } from '../src/converters/AndroidStackTraceConverter'; + +describe('Android Stack trace converter tests', () => { + it('Should parse correctly android stack trace', () => { + const testFrames: Array = [ + { + frame: 'com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:383)', + library: 'JavaMethodWrapper.java', + funcName: 'com.facebook.react.bridge.JavaMethodWrapper.invoke', + line: 383, + }, + { + frame: 'com.facebook.jni.NativeRunnable.run(Native Method)', + library: 'Native', + funcName: 'com.facebook.jni.NativeRunnable.run', + }, + { + frame: 'android.os.Handler.handleCallback(Handler.java:942)', + library: 'Handler.java', + funcName: 'android.os.Handler.handleCallback', + line: 942, + }, + { + frame: 'com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)', + library: 'MessageQueueThreadHandler.java', + funcName: 'com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage', + line: 27, + }, + { + frame: 'java.lang.Thread.run(Thread.java:1012)', + library: 'Thread.java', + funcName: 'java.lang.Thread.run', + line: 1012, + }, + ]; + const androidStackTrace = testFrames.map((n) => n.frame).join('\n'); + + const androidStackTraceConverter = new AndroidStackTraceConverter(); + const stackFrames = androidStackTraceConverter.convert(androidStackTrace); + + for (let index = 0; index < testFrames.length; index++) { + expect(testFrames[index]).toMatchObject(stackFrames[index] as object); + } + }); + + it('Should convert native method into native library', () => { + const nativeMethodFrame = 'com.facebook.jni.NativeRunnable.run(Native Method)'; + const androidStackTraceConverter = new AndroidStackTraceConverter(); + const [stackFrame] = androidStackTraceConverter.convert(nativeMethodFrame); + if (!stackFrame) { + fail('Stack frame is not defined'); + } + expect(stackFrame.library).toEqual(androidStackTraceConverter.NativeLibraryName); + }); + + it('Should trim stack trace', () => { + const nativeMethodFrame = ' \n\ncom.facebook.jni.NativeRunnable.run(Native Method) \n'; + const androidStackTraceConverter = new AndroidStackTraceConverter(); + const stackFrames = androidStackTraceConverter.convert(nativeMethodFrame); + expect(stackFrames.length).toBe(1); + }); + + it('Should generate an empty stack trace if stack trace is undefined', () => { + const androidStackTraceConverter = new AndroidStackTraceConverter(); + const stackFrames = androidStackTraceConverter.convert(undefined as unknown as string); + expect(stackFrames).toBeDefined(); + expect(stackFrames.length).toBe(0); + }); +}); diff --git a/packages/react-native/tsconfig.json b/packages/react-native/tsconfig.json index 6ffb6e50..00ad1f19 100644 --- a/packages/react-native/tsconfig.json +++ b/packages/react-native/tsconfig.json @@ -25,5 +25,6 @@ "target": "esnext", "verbatimModuleSyntax": true }, - "references": [] + "references": [], + "exclude": ["node_modules", "tests", "lib"] } From 34524d6587624f006bbbd6aeef6a8066917c154c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 19 Oct 2023 20:33:02 +0200 Subject: [PATCH 228/291] Fixed dependencies --- package-lock.json | 287 ++++++++++++++++----------- packages/electron/package.json | 4 +- packages/react/src/ErrorBoundary.tsx | 2 +- 3 files changed, 173 insertions(+), 120 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8ecbfb4..c8db5145 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1316,12 +1316,12 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.12.tgz", + "integrity": "sha512-NlGesA1usRNn6ctHCZ21M4/dKPgW9Nn1FypRdIKKgZOKzkVV4T1FlK5mBiLhHBCDmEbdQG0idrcXlbZfksJ+RA==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.0", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -1343,9 +1343,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.0.tgz", + "integrity": "sha512-9S9QrXY2K0L4AGDcSgTi9vgiCcG8VcBv4Mp7/1hDPYoswIy6Z6KO5blYto82BT8M0MZNRWmCFLpCs3HlpYGGdw==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -2459,9 +2459,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.38", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.38.tgz", - "integrity": "sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==", + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -2637,9 +2637,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.29", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.29.tgz", - "integrity": "sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==", + "version": "18.2.30", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.30.tgz", + "integrity": "sha512-OfqdJnDsSo4UNw0bqAjFCuBpLYQM7wvZidz0hVxHRjrEkzRlvZL1pJVyOSY55HMiKvRNEo9DUBRuEl7FNlJ/Vg==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -3743,6 +3743,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -5287,6 +5292,24 @@ "node": ">=4" } }, + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/decompress-tarbz2": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", @@ -5653,9 +5676,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.559", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz", - "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==" + "version": "1.4.560", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.560.tgz", + "integrity": "sha512-HhJH/pWAxTaPZl7R3mJ6gCd8MfjQdil9RAWk84qHaLsmPTadydfAmq0a1x8kZtOGQ6pZrWhOYj5uZ8I0meZIgg==" }, "node_modules/electron/node_modules/@types/node": { "version": "18.18.6", @@ -6790,6 +6813,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, "node_modules/fast-glob": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", @@ -9812,12 +9840,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "node_modules/lodash.assignwith": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", @@ -10324,14 +10346,13 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/nock": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.4.tgz", - "integrity": "sha512-DDpmn5oLEdCTclEqweOT4U7bEpuoifBMFUXem9sA4turDAZ5tlbrEoWqCorwXey8CaAw44mst5JOQeVNiwtkhw==", + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.6.tgz", + "integrity": "sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==", "dev": true, "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", "propagate": "^2.0.0" }, "engines": { @@ -11410,6 +11431,11 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -12740,6 +12766,15 @@ "node": ">=10.0.0" } }, + "node_modules/streamx": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -13066,21 +13101,13 @@ } }, "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, "node_modules/terser": { @@ -15555,8 +15582,8 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace-labs/node": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7" }, "peerDependencies": { "electron": "12 - 26" @@ -19125,15 +19152,6 @@ "node": ">=6 <7 || >=8" } }, - "packages/react-native/node_modules/fs-extra/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "packages/react-native/node_modules/glob": { "version": "7.2.3", "dev": true, @@ -19665,6 +19683,11 @@ "node": ">=4.0" } }, + "packages/react-native/node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, "packages/react-native/node_modules/lodash.debounce": { "version": "4.0.8", "dev": true, @@ -21261,6 +21284,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "packages/react-native/node_modules/react-native-builder-bob/node_modules/universalify": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "packages/react-native/node_modules/react-native-builder-bob/node_modules/yaml": { "version": "1.10.2", "dev": true, @@ -21758,6 +21789,14 @@ "node": ">=4" } }, + "packages/react-native/node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "packages/react-native/node_modules/use-sync-external-store": { "version": "1.2.0", "dev": true, @@ -21921,15 +21960,6 @@ "node": ">=14" } }, - "tools/sourcemap-tools/node_modules/tar-stream": { - "version": "3.1.6", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "tools/vite-plugin": { "name": "@backtrace-labs/vite-plugin", "version": "0.0.2", @@ -22557,8 +22587,8 @@ "@backtrace-labs/electron": { "version": "file:packages/electron", "requires": { - "@backtrace-labs/node": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace-labs/node": "^0.0.6", + "@backtrace-labs/sdk-core": "^0.0.7" } }, "@backtrace-labs/javascript-cli": { @@ -24843,14 +24873,6 @@ "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - }, - "dependencies": { - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } } }, "glob": { @@ -25190,6 +25212,10 @@ "object.values": "^1.1.6" } }, + "lodash": { + "version": "4.17.21", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "dev": true @@ -26273,6 +26299,10 @@ "lines-and-columns": "^1.1.6" } }, + "universalify": { + "version": "2.0.0", + "dev": true + }, "yaml": { "version": "1.10.2", "dev": true @@ -26605,6 +26635,10 @@ "version": "2.1.0", "dev": true }, + "universalify": { + "version": "0.1.2", + "dev": true + }, "use-sync-external-store": { "version": "1.2.0", "dev": true, @@ -26702,16 +26736,6 @@ "tar-stream": "^3.1.6", "ts-jest": "^29.1.0", "typescript": "^5.0.4" - }, - "dependencies": { - "tar-stream": { - "version": "3.1.6", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - } } }, "@backtrace-labs/vite-plugin": { @@ -27002,12 +27026,12 @@ "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.12.tgz", + "integrity": "sha512-NlGesA1usRNn6ctHCZ21M4/dKPgW9Nn1FypRdIKKgZOKzkVV4T1FlK5mBiLhHBCDmEbdQG0idrcXlbZfksJ+RA==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.0", "debug": "^4.1.1", "minimatch": "^3.0.5" } @@ -27019,9 +27043,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.0.tgz", + "integrity": "sha512-9S9QrXY2K0L4AGDcSgTi9vgiCcG8VcBv4Mp7/1hDPYoswIy6Z6KO5blYto82BT8M0MZNRWmCFLpCs3HlpYGGdw==", "dev": true }, "@isaacs/cliui": { @@ -27876,9 +27900,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.38", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.38.tgz", - "integrity": "sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==", + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", "dev": true, "requires": { "@types/node": "*", @@ -28047,9 +28071,9 @@ "dev": true }, "@types/react": { - "version": "18.2.29", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.29.tgz", - "integrity": "sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==", + "version": "18.2.30", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.30.tgz", + "integrity": "sha512-OfqdJnDsSo4UNw0bqAjFCuBpLYQM7wvZidz0hVxHRjrEkzRlvZL1pJVyOSY55HMiKvRNEo9DUBRuEl7FNlJ/Vg==", "dev": true, "requires": { "@types/prop-types": "*", @@ -28930,6 +28954,11 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, + "b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, "babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -30166,6 +30195,23 @@ "file-type": "^5.2.0", "is-stream": "^1.1.0", "tar-stream": "^1.5.2" + }, + "dependencies": { + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } } }, "decompress-tarbz2": { @@ -30466,9 +30512,9 @@ } }, "electron-to-chromium": { - "version": "1.4.559", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.559.tgz", - "integrity": "sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==" + "version": "1.4.560", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.560.tgz", + "integrity": "sha512-HhJH/pWAxTaPZl7R3mJ6gCd8MfjQdil9RAWk84qHaLsmPTadydfAmq0a1x8kZtOGQ6pZrWhOYj5uZ8I0meZIgg==" }, "elliptic": { "version": "6.5.4", @@ -31363,6 +31409,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, "fast-glob": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", @@ -33635,12 +33686,6 @@ "p-locate": "^5.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "lodash.assignwith": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", @@ -34044,14 +34089,13 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "nock": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.4.tgz", - "integrity": "sha512-DDpmn5oLEdCTclEqweOT4U7bEpuoifBMFUXem9sA4turDAZ5tlbrEoWqCorwXey8CaAw44mst5JOQeVNiwtkhw==", + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.6.tgz", + "integrity": "sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==", "dev": true, "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", "propagate": "^2.0.0" } }, @@ -34858,6 +34902,11 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -35917,6 +35966,15 @@ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "dev": true }, + "streamx": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "requires": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -36158,18 +36216,13 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, "terser": { diff --git a/packages/electron/package.json b/packages/electron/package.json index bb3dfe36..4d402416 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -35,8 +35,8 @@ "/renderer" ], "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.6", - "@backtrace-labs/node": "^0.0.5" + "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace-labs/node": "^0.0.6" }, "peerDependencies": { "electron": "12 - 26" diff --git a/packages/react/src/ErrorBoundary.tsx b/packages/react/src/ErrorBoundary.tsx index 75d7099c..077210bf 100644 --- a/packages/react/src/ErrorBoundary.tsx +++ b/packages/react/src/ErrorBoundary.tsx @@ -40,7 +40,7 @@ export class ErrorBoundary extends Component { 'errorboundary.name': name ?? 'main', 'error.type': 'Unhandled exception', }); - report.addStackTrace(this.COMPONENT_THREAD_NAME, info.componentStack); + report.addStackTrace(this.COMPONENT_THREAD_NAME, info.componentStack as string); await this._client.send(report); } From 44acbec7f4531fb2a1ae3cda62ac9bada3a5533f Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 20 Oct 2023 09:57:36 +0200 Subject: [PATCH 229/291] electron: add output dirs to .prettierignore (NFC) --- .prettierignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.prettierignore b/.prettierignore index 8b69c4d9..031b06d9 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,4 @@ **/lib +packages/electron/main +packages/electron/renderer +packages/electron/common \ No newline at end of file From 7f56c281955bda15da89b39db942fa1000388dfc Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 20 Oct 2023 11:09:13 +0200 Subject: [PATCH 230/291] electron example: fix preload import --- examples/sdk/electron/src/main/preload.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/sdk/electron/src/main/preload.ts b/examples/sdk/electron/src/main/preload.ts index 51f3e01f..fafb5146 100644 --- a/examples/sdk/electron/src/main/preload.ts +++ b/examples/sdk/electron/src/main/preload.ts @@ -1,4 +1,4 @@ -import '@backtrace-labs/electron/lib/main/preload'; +import '@backtrace-labs/electron/main/preload'; import { contextBridge, ipcRenderer } from 'electron'; import { MainApi } from '../common/MainApi'; From 479a68fb294724153df253784edb82d76ff92891 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 24 Oct 2023 10:54:55 +0200 Subject: [PATCH 231/291] BT-733: Library rename backtrace-labs -> backtrace (#186) --- README.md | 19 ++- examples/sdk/browser/package-lock.json | 4 +- examples/sdk/browser/package.json | 4 +- examples/sdk/browser/src/index.ts | 4 +- examples/sdk/browser/webpack.config.js | 2 +- examples/sdk/electron/package-lock.json | 18 +-- examples/sdk/electron/package.json | 6 +- examples/sdk/electron/src/main/index.ts | 4 +- examples/sdk/electron/src/main/preload.ts | 2 +- examples/sdk/electron/src/renderer/index.ts | 6 +- examples/sdk/node/package-lock.json | 14 +- examples/sdk/node/package.json | 6 +- examples/sdk/node/src/index.ts | 4 +- examples/sdk/react/package-lock.json | 4 +- examples/sdk/react/package.json | 4 +- examples/sdk/react/src/App.tsx | 2 +- examples/sdk/react/src/index.tsx | 4 +- examples/sdk/reactNative/App.tsx | 2 +- examples/sdk/reactNative/README.md | 4 +- examples/sdk/reactNative/index.js | 2 +- examples/sdk/reactNative/ios/Podfile.lock | 4 +- examples/sdk/reactNative/package-lock.json | 14 +- examples/sdk/reactNative/package.json | 2 +- .../sdk/reactNative/src/actions/actions.ts | 2 +- package-lock.json | 138 +++++++++--------- package.json | 2 +- packages/browser/CHANGELOG.md | 12 +- packages/browser/README.md | 67 +++++---- packages/browser/package.json | 6 +- .../src/BacktraceBrowserRequestHandler.ts | 2 +- .../src/BacktraceBrowserSessionProvider.ts | 4 +- packages/browser/src/BacktraceClient.ts | 4 +- .../browser/src/BacktraceConfiguration.ts | 2 +- packages/browser/src/agentDefinition.ts | 2 +- ...ApplicationInformationAttributeProvider.ts | 2 +- .../attributes/UserAgentAttributeProvider.ts | 2 +- .../UserIdentifierAttributeProvider.ts | 2 +- .../attributes/WebsiteAttributeProvider.ts | 4 +- .../src/attributes/WindowAttributeProvider.ts | 2 +- .../breadcrumbs/DocumentEventSubscriber.ts | 2 +- .../src/breadcrumbs/HistoryEventSubscriber.ts | 2 +- .../breadcrumbs/WebRequestEventSubscriber.ts | 2 +- .../src/builder/BacktraceClientBuilder.ts | 4 +- .../src/builder/BacktraceClientSetup.ts | 2 +- .../JavaScriptCoreStackTraceConverter.ts | 6 +- .../SpiderMonkeyStackTraceConverter.ts | 6 +- .../src/converters/getStackTraceConverter.ts | 2 +- packages/browser/src/engineDetector.ts | 2 +- packages/browser/src/index.ts | 6 +- .../src/redux/BacktraceReduxMiddleware.ts | 4 +- .../browser/tests/client/clientTests.spec.ts | 2 +- .../javaScriptCoreStackTraceTestCases.ts | 2 +- .../spiderMonkeyStackTraceTestCases.ts | 2 +- .../persistentSessionProviderTests.spec.ts | 2 +- .../backtraceReduxMiddlewareTests.spec.ts | 2 +- packages/electron/package.json | 6 +- packages/electron/src/main/BacktraceClient.ts | 4 +- .../main/attributes/AppAttributeProvider.ts | 2 +- ...ApplicationInformationAttributeProvider.ts | 2 +- .../main/attributes/GpuAttributeProvider.ts | 2 +- .../attributes/GpuFeatureAttributeProvider.ts | 4 +- .../attributes/ReadyAppAttributeProvider.ts | 2 +- .../main/builder/BacktraceClientBuilder.ts | 4 +- packages/electron/src/main/index.ts | 2 +- .../electron/src/main/ipc/WindowIpcRpc.ts | 4 +- .../modules/BacktraceMainElectronModule.ts | 2 +- .../src/main/modules/IpcAttachment.ts | 2 +- .../src/renderer/addBacktraceElectron.ts | 4 +- .../renderer/modules/ConstSessionProvider.ts | 2 +- .../modules/IpcAsyncSessionProvider.ts | 2 +- .../renderer/modules/IpcBreadcrumbsStorage.ts | 2 +- .../renderer/modules/IpcReportSubmission.ts | 2 +- .../src/renderer/modules/IpcRequestHandler.ts | 2 +- .../renderer/modules/IpcSummedMetricsQueue.ts | 2 +- .../src/renderer/modules/StubMetricsQueue.ts | 2 +- packages/nestjs/CHANGELOG.md | 4 + packages/nestjs/README.md | 70 +++++---- packages/nestjs/package.json | 6 +- packages/nestjs/src/backtrace.interceptor.ts | 4 +- packages/nestjs/src/backtrace.module.ts | 2 +- packages/nestjs/src/index.ts | 2 +- .../tests/backtrace.interceptor.spec.ts | 2 +- packages/nestjs/tests/e2e.spec.ts | 2 +- packages/node/CHANGELOG.md | 14 +- packages/node/README.md | 69 +++++---- packages/node/package.json | 6 +- packages/node/src/BacktraceClient.ts | 6 +- packages/node/src/BacktraceConfiguration.ts | 2 +- .../node/src/BacktraceNodeRequestHandler.ts | 2 +- packages/node/src/agentDefinition.ts | 2 +- .../attachment/BacktraceBufferAttachment.ts | 2 +- .../src/attachment/BacktraceFileAttachment.ts | 2 +- packages/node/src/attachment/index.ts | 6 +- .../src/attachment/transformAttachments.ts | 2 +- ...ApplicationInformationAttributeProvider.ts | 2 +- .../LinuxProcessStatusAttributeProvider.ts | 2 +- .../attributes/MachineAttributeProvider.ts | 2 +- .../MachineIdentitfierAttributeProvider.ts | 2 +- .../ProcessInformationAttributeProvider.ts | 2 +- .../ProcessStatusAttributeProvider.ts | 4 +- .../src/breadcrumbs/FileBreadcrumbsStorage.ts | 2 +- .../src/builder/BacktraceClientBuilder.ts | 4 +- .../node/src/builder/BacktraceClientSetup.ts | 2 +- .../NodeDiagnosticReportConverter.ts | 4 +- packages/node/src/index.ts | 6 +- packages/node/src/storage/NodeFileSystem.ts | 2 +- .../node/tests/client/clientTests.spec.ts | 2 +- packages/react-native/README.md | 85 ++++++----- packages/react-native/package.json | 6 +- packages/react-native/src/BacktraceClient.ts | 4 +- .../src/BacktraceConfiguration.ts | 2 +- packages/react-native/src/ErrorBoundary.tsx | 2 +- .../src/attachment/BacktraceFileAttachment.ts | 2 +- packages/react-native/src/attachment/index.ts | 2 +- .../src/attributes/NativeAttributeProvider.ts | 2 +- .../ReactNativeAttributeProvider.ts | 2 +- .../src/breadcrumbs/FileBreadcrumbsStorage.ts | 2 +- .../src/builder/BacktraceClientBuilder.ts | 2 +- .../src/builder/BacktraceClientSetup.ts | 2 +- .../converters/AndroidStackTraceConverter.ts | 2 +- .../src/crashReporter/CrashReporter.ts | 2 +- .../src/handlers/UnhandledExceptionHandler.ts | 2 +- .../AndroidUnhandledExceptionHandler.ts | 2 +- packages/react-native/src/index.ts | 2 +- .../react-native/src/storage/FileSystem.ts | 2 +- .../src/storage/ReactNativeFileSystem.ts | 2 +- .../androidStackTraceConverterTests.spec.ts | 2 +- packages/react/CHANGELOG.md | 12 +- packages/react/README.md | 71 +++++---- packages/react/package.json | 8 +- packages/react/src/BacktraceClient.ts | 4 +- packages/react/src/agentDefinition.ts | 2 +- .../builder/BacktraceReactClientBuilder.ts | 2 +- .../converters/ReactStackTraceConverter.ts | 2 +- packages/react/src/index.ts | 2 +- .../tests/reactStackTraceConverter.spec.ts | 2 +- packages/sdk-core/CHANGELOG.md | 4 + packages/sdk-core/README.md | 7 +- packages/sdk-core/package.json | 4 +- tools/cli/package.json | 6 +- tools/cli/src/commands/Command.ts | 4 +- tools/cli/src/helpers/common.ts | 10 +- tools/cli/src/helpers/errorBehavior.ts | 2 +- tools/cli/src/helpers/find.ts | 2 +- tools/cli/src/helpers/jsonc.ts | 2 +- tools/cli/src/helpers/logs.ts | 2 +- tools/cli/src/helpers/version.ts | 2 +- tools/cli/src/index.ts | 4 +- tools/cli/src/logger.ts | 2 +- tools/cli/src/options/loadOptions.ts | 2 +- tools/cli/src/sourcemaps/add-sources.ts | 2 +- tools/cli/src/sourcemaps/process.ts | 2 +- tools/cli/src/sourcemaps/run.ts | 18 +-- tools/cli/src/sourcemaps/upload.ts | 2 +- tools/cli/tests/_helpers/common.ts | 2 +- .../cli/tests/sourcemaps/add-sources.spec.ts | 2 +- tools/cli/tests/sourcemaps/process.spec.ts | 2 +- tools/cli/tests/sourcemaps/run.spec.ts | 2 +- tools/cli/tests/sourcemaps/upload.spec.ts | 2 +- tools/rollup-plugin/README.md | 44 +++--- tools/rollup-plugin/package.json | 6 +- tools/rollup-plugin/rollup.config.js | 2 +- tools/rollup-plugin/src/index.ts | 2 +- tools/sourcemap-tools/README.md | 7 +- tools/sourcemap-tools/package.json | 4 +- tools/vite-plugin/README.md | 43 +++--- tools/vite-plugin/package.json | 6 +- tools/vite-plugin/src/index.ts | 2 +- tools/webpack-plugin/README.md | 42 +++--- tools/webpack-plugin/package.json | 6 +- tools/webpack-plugin/src/BacktracePlugin.ts | 2 +- .../tests/__mocks__/TestDebugIdGenerator.ts | 2 +- .../webpack-plugin/tests/e2e/createE2ETest.ts | 2 +- .../e2e/no-sourcemaps/no-sourcemaps.spec.ts | 2 +- 174 files changed, 656 insertions(+), 568 deletions(-) diff --git a/README.md b/README.md index dac7b3cb..ea8fe8c5 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,23 @@ # Sauce Labs Web SDK -Backtrace's first-class support for JavaScript platforms offers a robust solution for error monitoring and debugging in production web applications, ultimately improving the quality and reliability of your software. +Backtrace's first-class support for JavaScript platforms offers a robust solution for error monitoring and debugging in +production web applications, ultimately improving the quality and reliability of your software. ## Supported JavaScript frameworks -The @backtrace-labs/browser is suitable for all JavaScript frameworks. Additional integrations are provided to take advantage of the capabilities of different frameworks. -- [@backtrace-labs/browser](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) -- [@backtrace-labs/node](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) -- [@backtrace-labs/react](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) + +The @backtrace/browser is suitable for all JavaScript frameworks. Additional integrations are provided to take advantage +of the capabilities of different frameworks. + +- [@backtrace/browser](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) +- [@backtrace/node](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) +- [@backtrace/react](https://github.com/backtrace-labs/backtrace-javascript/tree/dev/packages/browser) ## Web SDK Features -Backtrace is an advanced Error Reporting service, with industry-leading features to correlate, explore, manage and resolve production issues. The Backtrace Web SDK directly connects your applications to those advanced features. These SDKs specifically provide the following: +Backtrace is an advanced Error Reporting service, with industry-leading features to correlate, explore, manage and +resolve production issues. The Backtrace Web SDK directly connects your applications to those advanced features. These +SDKs specifically provide the following: @@ -41,6 +47,7 @@ Backtrace is an advanced Error Reporting service, with industry-leading features + diff --git a/examples/sdk/browser/package-lock.json b/examples/sdk/browser/package-lock.json index a1d1f6d0..768f4d57 100644 --- a/examples/sdk/browser/package-lock.json +++ b/examples/sdk/browser/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@backtrace-labs/browser-example", + "name": "@backtrace/browser-example", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace-labs/browser-example", + "name": "@backtrace/browser-example", "version": "1.0.0", "license": "MIT", "dependencies": { diff --git a/examples/sdk/browser/package.json b/examples/sdk/browser/package.json index f7260afc..316efadd 100644 --- a/examples/sdk/browser/package.json +++ b/examples/sdk/browser/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace-labs/browser-example", + "name": "@backtrace/browser-example", "version": "1.0.0", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", @@ -41,6 +41,6 @@ }, "dependencies": { "@reduxjs/toolkit": "^1.9.5", - "@backtrace-labs/browser": "^0.0.5" + "@backtrace/browser": "^0.1.0" } } diff --git a/examples/sdk/browser/src/index.ts b/examples/sdk/browser/src/index.ts index b9ae91e7..781c6234 100644 --- a/examples/sdk/browser/src/index.ts +++ b/examples/sdk/browser/src/index.ts @@ -1,10 +1,10 @@ -import { BacktraceClient, BacktraceStringAttachment, createBacktraceReduxMiddleware } from '@backtrace-labs/browser'; +import { BacktraceClient, BacktraceStringAttachment, createBacktraceReduxMiddleware } from '@backtrace/browser'; import { configureStore, createSlice } from '@reduxjs/toolkit'; import { SUBMISSION_URL } from './consts'; const client = BacktraceClient.initialize({ url: SUBMISSION_URL, - name: '@backtrace-labs/browser-example', + name: '@backtrace/browser-example', version: '0.0.1', userAttributes: { 'custom-attribute': 'test', diff --git a/examples/sdk/browser/webpack.config.js b/examples/sdk/browser/webpack.config.js index 2617937f..1ffebc94 100644 --- a/examples/sdk/browser/webpack.config.js +++ b/examples/sdk/browser/webpack.config.js @@ -1,5 +1,5 @@ const path = require('path'); -const { BacktracePlugin } = require('@backtrace-labs/webpack-plugin'); +const { BacktracePlugin } = require('@backtrace/webpack-plugin'); const { webpackTypescriptConfig } = require('../../../build/common'); /** @type {import('webpack').Configuration} */ diff --git a/examples/sdk/electron/package-lock.json b/examples/sdk/electron/package-lock.json index 5063fcdb..d5e0cc8a 100644 --- a/examples/sdk/electron/package-lock.json +++ b/examples/sdk/electron/package-lock.json @@ -1,15 +1,15 @@ { - "name": "@backtrace-labs/electron-example", + "name": "@backtrace/electron-example", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace-labs/electron-example", + "name": "@backtrace/electron-example", "version": "1.0.0", "license": "MIT", "dependencies": { - "@backtrace-labs/electron": "file:../../../packages/electron" + "@backtrace/electron": "file:../../../packages/electron" }, "devDependencies": { "electron": "^26.2.4", @@ -26,14 +26,14 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace/node": "^0.0.5", + "@backtrace/sdk-core": "^0.1.0" }, "peerDependencies": { "electron": "12 - 26" } }, - "node_modules/@backtrace-labs/electron": { + "node_modules/@backtrace/electron": { "resolved": "../../../packages/electron", "link": true }, @@ -2363,11 +2363,11 @@ } }, "dependencies": { - "@backtrace-labs/electron": { + "@backtrace/electron": { "version": "file:../../../packages/electron", "requires": { - "@backtrace-labs/node": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.6" + "@backtrace/node": "^0.0.5", + "@backtrace/sdk-core": "^0.1.0" } }, "@discoveryjs/json-ext": { diff --git a/examples/sdk/electron/package.json b/examples/sdk/electron/package.json index 2da25ef5..4a829969 100644 --- a/examples/sdk/electron/package.json +++ b/examples/sdk/electron/package.json @@ -1,7 +1,7 @@ { - "name": "@backtrace-labs/electron-example", + "name": "@backtrace/electron-example", "version": "1.0.0", - "description": "@backtrace-labs/electron example", + "description": "@backtrace/electron example", "main": "lib/main/index.js", "engines": { "node": ">=14" @@ -41,6 +41,6 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/electron": "file:../../../packages/electron" + "@backtrace/electron": "file:../../../packages/electron" } } diff --git a/examples/sdk/electron/src/main/index.ts b/examples/sdk/electron/src/main/index.ts index 852f4a6e..9aa2703a 100644 --- a/examples/sdk/electron/src/main/index.ts +++ b/examples/sdk/electron/src/main/index.ts @@ -1,5 +1,5 @@ -import { BacktraceClient } from '@backtrace-labs/electron'; -import { BrowserWindow, app, ipcMain } from 'electron'; +import { BacktraceClient } from '@backtrace/electron'; +import { app, BrowserWindow, ipcMain } from 'electron'; import fs from 'fs'; import path from 'path'; import { Events } from '../common/MainApi'; diff --git a/examples/sdk/electron/src/main/preload.ts b/examples/sdk/electron/src/main/preload.ts index fafb5146..5130fa07 100644 --- a/examples/sdk/electron/src/main/preload.ts +++ b/examples/sdk/electron/src/main/preload.ts @@ -1,4 +1,4 @@ -import '@backtrace-labs/electron/main/preload'; +import '@backtrace/electron/main/preload'; import { contextBridge, ipcRenderer } from 'electron'; import { MainApi } from '../common/MainApi'; diff --git a/examples/sdk/electron/src/renderer/index.ts b/examples/sdk/electron/src/renderer/index.ts index eefd26a4..84fde45f 100644 --- a/examples/sdk/electron/src/renderer/index.ts +++ b/examples/sdk/electron/src/renderer/index.ts @@ -1,5 +1,5 @@ -import { BacktraceClient, BacktraceStringAttachment } from '@backtrace-labs/browser'; -import { addBacktraceElectron } from '@backtrace-labs/electron/renderer'; +import { BacktraceClient, BacktraceStringAttachment } from '@backtrace/browser'; +import { addBacktraceElectron } from '@backtrace/electron/renderer'; import { Events, MainApi } from '../common/MainApi'; declare global { @@ -13,7 +13,7 @@ const mainApi = window.mainApi; const client = BacktraceClient.initialize( { url: 'none', - name: '@backtrace-labs/electron-renderer', + name: '@backtrace/electron-renderer', version: '0.0.1', userAttributes: { 'custom-attribute': 'test', diff --git a/examples/sdk/node/package-lock.json b/examples/sdk/node/package-lock.json index b3bc0ba9..e3c51cd1 100644 --- a/examples/sdk/node/package-lock.json +++ b/examples/sdk/node/package-lock.json @@ -1,15 +1,15 @@ { - "name": "@backtrace-labs/node-example", + "name": "@backtrace/node-example", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace-labs/node-example", + "name": "@backtrace/node-example", "version": "1.0.0", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "file:../../../packages/node" + "@backtrace/node": "file:../../../packages/node" }, "devDependencies": { "typescript": "^5.1.3" @@ -22,7 +22,7 @@ "version": "0.0.4", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace/sdk-core": "^0.1.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -40,7 +40,7 @@ "node": ">=14" } }, - "node_modules/@backtrace-labs/node": { + "node_modules/@backtrace/node": { "resolved": "../../../packages/node", "link": true }, @@ -59,10 +59,10 @@ } }, "dependencies": { - "@backtrace-labs/node": { + "@backtrace/node": { "version": "file:../../../packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.4", + "@backtrace/sdk-core": "^0.1.0", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", diff --git a/examples/sdk/node/package.json b/examples/sdk/node/package.json index 922eff57..f8f7d020 100644 --- a/examples/sdk/node/package.json +++ b/examples/sdk/node/package.json @@ -1,7 +1,7 @@ { - "name": "@backtrace-labs/node-example", + "name": "@backtrace/node-example", "version": "1.0.0", - "description": "@backtrace-labs/node example", + "description": "@backtrace/node example", "main": "lib/index.js", "types": "lib/index.d.ts", "engines": { @@ -38,6 +38,6 @@ "typescript": "^5.1.3" }, "dependencies": { - "@backtrace-labs/node": "file:../../../packages/node" + "@backtrace/node": "file:../../../packages/node" } } diff --git a/examples/sdk/node/src/index.ts b/examples/sdk/node/src/index.ts index f9c79e77..71c00820 100644 --- a/examples/sdk/node/src/index.ts +++ b/examples/sdk/node/src/index.ts @@ -1,4 +1,4 @@ -import { BacktraceClient, BreadcrumbLogLevel } from '@backtrace-labs/node'; +import { BacktraceClient, BreadcrumbLogLevel } from '@backtrace/node'; import fs from 'fs'; import path from 'path'; import { exit } from 'process'; @@ -28,7 +28,7 @@ const client = BacktraceClient.initialize({ }, }); -console.log('Welcome to the @backtrace-labs/node demo'); +console.log('Welcome to the @backtrace/node demo'); async function sendHandledException(attributes: Record) { console.log('Sending an error to Backtrace'); diff --git a/examples/sdk/react/package-lock.json b/examples/sdk/react/package-lock.json index de090a59..3341087e 100644 --- a/examples/sdk/react/package-lock.json +++ b/examples/sdk/react/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@backtrace-labs/react-example", + "name": "@backtrace/react-example", "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace-labs/react-example", + "name": "@backtrace/react-example", "version": "0.1.0", "dependencies": { "@types/react": "^16.14.0", diff --git a/examples/sdk/react/package.json b/examples/sdk/react/package.json index 95354ea6..ae194e61 100644 --- a/examples/sdk/react/package.json +++ b/examples/sdk/react/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace-labs/react-example", + "name": "@backtrace/react-example", "version": "0.1.0", "private": true, "dependencies": { @@ -11,7 +11,7 @@ "react-toastify": "^9.1.3", "typescript": "^4.9.5", "web-vitals": "^2.1.4", - "@backtrace-labs/react": "^0.0.5" + "@backtrace/react": "^0.1.0" }, "scripts": { "start": "react-scripts start", diff --git a/examples/sdk/react/src/App.tsx b/examples/sdk/react/src/App.tsx index 8a046a1e..99e4611d 100644 --- a/examples/sdk/react/src/App.tsx +++ b/examples/sdk/react/src/App.tsx @@ -1,4 +1,4 @@ -import { BacktraceClient, ErrorBoundary } from '@backtrace-labs/react'; +import { BacktraceClient, ErrorBoundary } from '@backtrace/react'; import { useState } from 'react'; import { toast, ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; diff --git a/examples/sdk/react/src/index.tsx b/examples/sdk/react/src/index.tsx index 0b9e5a63..88d7ce8a 100644 --- a/examples/sdk/react/src/index.tsx +++ b/examples/sdk/react/src/index.tsx @@ -1,4 +1,4 @@ -import { BacktraceClient, ErrorBoundary } from '@backtrace-labs/react'; +import { BacktraceClient, ErrorBoundary } from '@backtrace/react'; import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; @@ -7,7 +7,7 @@ import { SUBMISSION_URL } from './consts'; BacktraceClient.initialize({ url: SUBMISSION_URL, - name: '@backtrace-labs/react-example', + name: '@backtrace/react-example', version: '0.0.1', userAttributes: { 'custom-attribute': 'test', diff --git a/examples/sdk/reactNative/App.tsx b/examples/sdk/reactNative/App.tsx index afda5822..ef8d75e2 100644 --- a/examples/sdk/reactNative/App.tsx +++ b/examples/sdk/reactNative/App.tsx @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace-labs/react-native'; +import { BacktraceClient } from '@backtrace/react-native'; import { Alert, FlatList, Image, SafeAreaView, ScrollView, StyleSheet, Text, View } from 'react-native'; import { generateActions } from './src/actions/actions'; import { CustomizableButton } from './src/components/CustomizableButton'; diff --git a/examples/sdk/reactNative/README.md b/examples/sdk/reactNative/README.md index b3ac687e..9c93f575 100644 --- a/examples/sdk/reactNative/README.md +++ b/examples/sdk/reactNative/README.md @@ -1,6 +1,6 @@ -# @Backtrace-labs/react-native demo +# @backtrace/react-native demo -This example app shows features available in the @backtrace-labs/react-native package. +This example app shows features available in the @backtrace/react-native package. ## Running the Example diff --git a/examples/sdk/reactNative/index.js b/examples/sdk/reactNative/index.js index 20019adc..79ca62ca 100644 --- a/examples/sdk/reactNative/index.js +++ b/examples/sdk/reactNative/index.js @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace-labs/react-native'; +import { BacktraceClient } from '@backtrace/react-native'; import { AppRegistry } from 'react-native'; import App from './App'; import { name as appName } from './app.json'; diff --git a/examples/sdk/reactNative/ios/Podfile.lock b/examples/sdk/reactNative/ios/Podfile.lock index a622b233..f1448d70 100644 --- a/examples/sdk/reactNative/ios/Podfile.lock +++ b/examples/sdk/reactNative/ios/Podfile.lock @@ -496,7 +496,7 @@ PODS: - Yoga (~> 1.14) DEPENDENCIES: - - "backtrace-react-native (from `../node_modules/@backtrace-labs/react-native`)" + - "backtrace-react-native (from `../node_modules/@backtrace/react-native`)" - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) @@ -581,7 +581,7 @@ SPEC REPOS: EXTERNAL SOURCES: backtrace-react-native: - :path: "../node_modules/@backtrace-labs/react-native" + :path: "../node_modules/@backtrace/react-native" boost: :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: diff --git a/examples/sdk/reactNative/package-lock.json b/examples/sdk/reactNative/package-lock.json index f22db475..a16a82fc 100644 --- a/examples/sdk/reactNative/package-lock.json +++ b/examples/sdk/reactNative/package-lock.json @@ -8,7 +8,7 @@ "name": "reactNative", "version": "0.0.1", "dependencies": { - "@backtrace-labs/react-native": "file:../../../packages/react-native", + "@backtrace/react-native": "file:../../../packages/react-native", "react": "18.2.0", "react-native": "0.72.4" }, @@ -35,8 +35,8 @@ "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5" + "@backtrace/react": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", @@ -1980,7 +1980,7 @@ "node": ">=6.9.0" } }, - "node_modules/@backtrace-labs/react-native": { + "node_modules/@backtrace/react-native": { "resolved": "../../../packages/react-native", "link": true }, @@ -12600,11 +12600,11 @@ "to-fast-properties": "^2.0.0" } }, - "@backtrace-labs/react-native": { + "@backtrace/react-native": { "version": "file:../../../packages/react-native", "requires": { - "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.5", + "@backtrace/react": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0", "@react-native-community/eslint-config": "^3.0.2", "@types/react": "~17.0.21", "@types/react-native": "0.70.0", diff --git a/examples/sdk/reactNative/package.json b/examples/sdk/reactNative/package.json index 51de1039..9640348f 100644 --- a/examples/sdk/reactNative/package.json +++ b/examples/sdk/reactNative/package.json @@ -9,7 +9,7 @@ "start": "react-native start" }, "dependencies": { - "@backtrace-labs/react-native": "file:../../../packages/react-native", + "@backtrace/react-native": "file:../../../packages/react-native", "react": "18.2.0", "react-native": "0.72.4" }, diff --git a/examples/sdk/reactNative/src/actions/actions.ts b/examples/sdk/reactNative/src/actions/actions.ts index be0ac29d..a495e519 100644 --- a/examples/sdk/reactNative/src/actions/actions.ts +++ b/examples/sdk/reactNative/src/actions/actions.ts @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace-labs/react-native'; +import { BacktraceClient } from '@backtrace/react-native'; import { Alert, Platform } from 'react-native'; import { actions as androidActions } from './android/action'; diff --git a/package-lock.json b/package-lock.json index c8db5145..f3eb3cf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@backtrace-labs/javascript", + "name": "@backtrace/javascript", "version": "0.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@backtrace-labs/javascript", + "name": "@backtrace/javascript", "version": "0.0.1", "license": "MIT", "workspaces": [ @@ -770,51 +770,51 @@ "node": ">=6.9.0" } }, - "node_modules/@backtrace-labs/browser": { + "node_modules/@backtrace/browser": { "resolved": "packages/browser", "link": true }, - "node_modules/@backtrace-labs/electron": { + "node_modules/@backtrace/electron": { "resolved": "packages/electron", "link": true }, - "node_modules/@backtrace-labs/javascript-cli": { + "node_modules/@backtrace/javascript-cli": { "resolved": "tools/cli", "link": true }, - "node_modules/@backtrace-labs/nestjs": { + "node_modules/@backtrace/nestjs": { "resolved": "packages/nestjs", "link": true }, - "node_modules/@backtrace-labs/node": { + "node_modules/@backtrace/node": { "resolved": "packages/node", "link": true }, - "node_modules/@backtrace-labs/react": { + "node_modules/@backtrace/react": { "resolved": "packages/react", "link": true }, - "node_modules/@backtrace-labs/react-native": { + "node_modules/@backtrace/react-native": { "resolved": "packages/react-native", "link": true }, - "node_modules/@backtrace-labs/rollup-plugin": { + "node_modules/@backtrace/rollup-plugin": { "resolved": "tools/rollup-plugin", "link": true }, - "node_modules/@backtrace-labs/sdk-core": { + "node_modules/@backtrace/sdk-core": { "resolved": "packages/sdk-core", "link": true }, - "node_modules/@backtrace-labs/sourcemap-tools": { + "node_modules/@backtrace/sourcemap-tools": { "resolved": "tools/sourcemap-tools", "link": true }, - "node_modules/@backtrace-labs/vite-plugin": { + "node_modules/@backtrace/vite-plugin": { "resolved": "tools/vite-plugin", "link": true }, - "node_modules/@backtrace-labs/webpack-plugin": { + "node_modules/@backtrace/webpack-plugin": { "resolved": "tools/webpack-plugin", "link": true }, @@ -15557,11 +15557,11 @@ } }, "packages/browser": { - "name": "@backtrace-labs/browser", + "name": "@backtrace/browser", "version": "0.0.5", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/sdk-core": "^0.1.0", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -15578,23 +15578,23 @@ } }, "packages/electron": { - "name": "@backtrace-labs/electron", + "name": "@backtrace/electron", "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "^0.0.6", - "@backtrace-labs/sdk-core": "^0.0.7" + "@backtrace/node": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" }, "peerDependencies": { "electron": "12 - 26" } }, "packages/nestjs": { - "name": "@backtrace-labs/nestjs", + "name": "@backtrace/nestjs", "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/node": "^0.0.6" + "@backtrace/node": "^0.1.0" }, "devDependencies": { "@nestjs/core": "^9", @@ -15620,11 +15620,11 @@ } }, "packages/node": { - "name": "@backtrace-labs/node", + "name": "@backtrace/node", "version": "0.0.6", "license": "MIT", "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/sdk-core": "^0.1.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -15643,12 +15643,12 @@ } }, "packages/react": { - "name": "@backtrace-labs/react", - "version": "0.0.5", + "name": "@backtrace/react", + "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.7" + "@backtrace/browser": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -15666,12 +15666,12 @@ } }, "packages/react-native": { - "name": "@backtrace-labs/react-native", + "name": "@backtrace/react-native", "version": "0.0.1", "license": "MIT", "dependencies": { - "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.7" + "@backtrace/react": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" }, "devDependencies": { "@react-native-community/eslint-config": "^3.0.2", @@ -21880,8 +21880,8 @@ } }, "packages/sdk-core": { - "name": "@backtrace-labs/sdk-core", - "version": "0.0.7", + "name": "@backtrace/sdk-core", + "version": "0.1.0", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", @@ -21891,11 +21891,11 @@ } }, "tools/cli": { - "name": "@backtrace-labs/javascript-cli", - "version": "0.1.2", + "name": "@backtrace/javascript-cli", + "version": "0.2.0", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", + "@backtrace/sourcemap-tools": "^0.2.0", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -21918,11 +21918,11 @@ } }, "tools/rollup-plugin": { - "name": "@backtrace-labs/rollup-plugin", - "version": "0.0.2", + "name": "@backtrace/rollup-plugin", + "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0" + "@backtrace/sourcemap-tools": "^0.2.0" }, "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", @@ -21939,7 +21939,7 @@ } }, "tools/sourcemap-tools": { - "name": "@backtrace-labs/sourcemap-tools", + "name": "@backtrace/sourcemap-tools", "version": "0.1.0", "license": "MIT", "dependencies": { @@ -21961,11 +21961,11 @@ } }, "tools/vite-plugin": { - "name": "@backtrace-labs/vite-plugin", + "name": "@backtrace/vite-plugin", "version": "0.0.2", "license": "MIT", "dependencies": { - "@backtrace-labs/rollup-plugin": "^0.0.2" + "@backtrace/rollup-plugin": "^0.1.0" }, "devDependencies": { "typescript": "^5.0.4" @@ -21978,11 +21978,11 @@ } }, "tools/webpack-plugin": { - "name": "@backtrace-labs/webpack-plugin", - "version": "0.0.2", + "name": "@backtrace/webpack-plugin", + "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0" + "@backtrace/sourcemap-tools": "^0.2.0" }, "devDependencies": { "@types/jest": "^29.5.1", @@ -22567,10 +22567,10 @@ "to-fast-properties": "^2.0.0" } }, - "@backtrace-labs/browser": { + "@backtrace/browser": { "version": "file:packages/browser", "requires": { - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/sdk-core": "^0.1.0", "@reduxjs/toolkit": "^1.9.5", "@types/jest": "^29.5.1", "@types/ua-parser-js": "^0.7.36", @@ -22584,17 +22584,17 @@ "webpack-cli": "^5.1.4" } }, - "@backtrace-labs/electron": { + "@backtrace/electron": { "version": "file:packages/electron", "requires": { - "@backtrace-labs/node": "^0.0.6", - "@backtrace-labs/sdk-core": "^0.0.7" + "@backtrace/node": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" } }, - "@backtrace-labs/javascript-cli": { + "@backtrace/javascript-cli": { "version": "file:tools/cli", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", + "@backtrace/sourcemap-tools": "^0.2.0", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "@types/fs-extra": "^11.0.1", @@ -22608,10 +22608,10 @@ "typescript": "^5.0.4" } }, - "@backtrace-labs/nestjs": { + "@backtrace/nestjs": { "version": "file:packages/nestjs", "requires": { - "@backtrace-labs/node": "^0.0.6", + "@backtrace/node": "^0.1.0", "@nestjs/core": "^9", "@nestjs/platform-express": "^9", "@nestjs/testing": "^9", @@ -22628,10 +22628,10 @@ "webpack-node-externals": "^3.0.0" } }, - "@backtrace-labs/node": { + "@backtrace/node": { "version": "file:packages/node", "requires": { - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/sdk-core": "^0.1.0", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", @@ -22644,11 +22644,11 @@ "webpack-node-externals": "^3.0.0" } }, - "@backtrace-labs/react": { + "@backtrace/react": { "version": "file:packages/react", "requires": { - "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/browser": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0", "@testing-library/react": "^14.0.0", "@types/react": "^18.2.14", "jest": "^29.5.0", @@ -22660,11 +22660,11 @@ "webpack-cli": "^5.1.4" } }, - "@backtrace-labs/react-native": { + "@backtrace/react-native": { "version": "file:packages/react-native", "requires": { - "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/react": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0", "@react-native-community/eslint-config": "^3.0.2", "@types/jest": "^29.5.5", "@types/react": "~17.0.21", @@ -26703,10 +26703,10 @@ } } }, - "@backtrace-labs/rollup-plugin": { + "@backtrace/rollup-plugin": { "version": "file:tools/rollup-plugin", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", + "@backtrace/sourcemap-tools": "^0.2.0", "@rollup/plugin-typescript": "^11.1.2", "@types/jest": "^29.5.1", "jest": "^29.5.0", @@ -26714,7 +26714,7 @@ "typescript": "^5.0.4" } }, - "@backtrace-labs/sdk-core": { + "@backtrace/sdk-core": { "version": "file:packages/sdk-core", "requires": { "@types/jest": "^29.5.1", @@ -26723,7 +26723,7 @@ "typescript": "^5.0.4" } }, - "@backtrace-labs/sourcemap-tools": { + "@backtrace/sourcemap-tools": { "version": "file:tools/sourcemap-tools", "requires": { "@types/decompress": "^4.2.4", @@ -26738,17 +26738,17 @@ "typescript": "^5.0.4" } }, - "@backtrace-labs/vite-plugin": { + "@backtrace/vite-plugin": { "version": "file:tools/vite-plugin", "requires": { - "@backtrace-labs/rollup-plugin": "^0.0.2", + "@backtrace/rollup-plugin": "^0.1.0", "typescript": "^5.0.4" } }, - "@backtrace-labs/webpack-plugin": { + "@backtrace/webpack-plugin": { "version": "file:tools/webpack-plugin", "requires": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", + "@backtrace/sourcemap-tools": "^0.2.0", "@types/jest": "^29.5.1", "@types/webpack-sources": "^3.2.0 || ^1.4.1", "jest": "^29.5.0", diff --git a/package.json b/package.json index 634ce062..695fd589 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace-labs/javascript", + "name": "@backtrace/javascript", "version": "0.0.1", "description": "Backtrace.io error reporting tool for JavaScript", "author": "Backtrace ", diff --git a/packages/browser/CHANGELOG.md b/packages/browser/CHANGELOG.md index 724e7583..5bdad96c 100644 --- a/packages/browser/CHANGELOG.md +++ b/packages/browser/CHANGELOG.md @@ -1,6 +1,10 @@ +# Version 0.1.0 + +- library rename to `@backtrace/browser` + # Version 0.0.5 -- update `@backtrace-labs/sdk-core` to `0.0.5` +- update `@backtrace/sdk-core` to `0.0.5` - add file system abstractions - use `ErrorEvent` `message` field if `error` field is `undefined` in unhandled exception/rejection handlers - add support for `bigint` serialization @@ -8,7 +12,7 @@ # Version 0.0.4 -- update `@backtrace-labs/sdk-core` to `0.0.4` +- update `@backtrace/sdk-core` to `0.0.4` - combine `Error` and `string` overloads in `send` - use single global client instance - update attachment management to use `addAttachment` instead of a mutable array @@ -16,14 +20,14 @@ # Version 0.0.3 -- update `@backtrace-labs/sdk-core` to `0.0.3` +- update `@backtrace/sdk-core` to `0.0.3` - add deferred user attributes - fix skipping stack frame with message reports - fix missing library name # Version 0.0.2 -- update `@backtrace-labs/sdk-core` to `0.0.2` +- update `@backtrace/sdk-core` to `0.0.2` - add disposing of `BacktraceClient` - simplify form data usage - export `BacktraceBrowserRequestHandler` diff --git a/packages/browser/README.md b/packages/browser/README.md index 16c28a5b..ce95aad5 100644 --- a/packages/browser/README.md +++ b/packages/browser/README.md @@ -3,8 +3,8 @@ [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/browser](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick -and easy, after which you can explore the rich set of Backtrace features. +The [@backtrace/browser](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and +easy, after which you can explore the rich set of Backtrace features. ## Table of Contents @@ -30,7 +30,7 @@ and easy, after which you can explore the rich set of Backtrace features. ### Install the package ``` -$ npm install @backtrace-labs/browser +$ npm install @backtrace/browser ``` ### Integrate the SDK @@ -38,8 +38,8 @@ $ npm install @backtrace-labs/browser Add the following code to your application before all other scripts to report client-side errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/browser with your favorite package manager. -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/browser'; +// Import the BacktraceClient from @backtrace/browser with your favorite package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/browser'; // Configure client options const options: BacktraceConfiguration = { @@ -168,8 +168,8 @@ BacktraceClient, or dynamically for specific reports. When including attachments uploaded with each report. ```ts -// Import attachment types from @backtrace-labs/browser -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/browser"; +// Import attachment types from @backtrace/browser +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/browser"; // BacktraceStringAttachment should be used for text object like a log file, for example const attachment1 = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -224,7 +224,7 @@ and manual breadcrumbs can also be added. | `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | ```ts -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/browser'; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/browser'; // BacktraceClientOptions const options: BacktraceConfiguration = { @@ -294,29 +294,31 @@ client.metrics?.send(); ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will +compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send +reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `name` | String | Your application name | |
        • - [x]
        | -| `version` | String | Your application version | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `name` | String | Your application name | |
        • - [x]
        | +| `version` | String | Your application version | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | | `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | ### Manually send an error @@ -337,19 +339,22 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### Modify/skip error reports -A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. + +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. +You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application +has at the time of exception. A report can be skipped sompletely by returning a null value. ```ts const client = BacktraceClient.initialize({ url: SUBMISSION_URL, - name: '@backtrace-labs/browser-example', + name: '@backtrace/browser-example', version: '0.0.1', beforeSend: (data: BacktraceData) => { // skip the report by returning a null from the callback if (!shouldSendReportToBacktrace(data)) { return undefined; } - // apply custom attribute + // apply custom attribute data.attributes['new-attribute"] = 'apply-data-in-callback'; return data; }, @@ -358,9 +363,11 @@ const client = BacktraceClient.initialize({ ### SDK Method Overrides -BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for +example, can be used to implement custom encryption for data at rest or in motion. -> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for +> the correct method to modify a report before sending it to Backtrace. ```ts const client = BacktraceClient.builder(options) diff --git a/packages/browser/package.json b/packages/browser/package.json index b3226453..e85c4895 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/browser", - "version": "0.0.5", + "name": "@backtrace/browser", + "version": "0.1.0", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/sdk-core": "^0.1.0", "ua-parser-js": "^1.0.35" } } diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 923ccf88..9578ec2f 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -4,7 +4,7 @@ import { BacktraceRequestHandler, ConnectionError, DEFAULT_TIMEOUT, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { private readonly UPLOAD_FILE_NAME = 'upload_file'; diff --git a/packages/browser/src/BacktraceBrowserSessionProvider.ts b/packages/browser/src/BacktraceBrowserSessionProvider.ts index 518ba8c2..0ac1c174 100644 --- a/packages/browser/src/BacktraceBrowserSessionProvider.ts +++ b/packages/browser/src/BacktraceBrowserSessionProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceSessionProvider, IdGenerator } from '@backtrace-labs/sdk-core'; -import { TimeHelper } from '@backtrace-labs/sdk-core/lib/common/TimeHelper'; +import { BacktraceSessionProvider, IdGenerator } from '@backtrace/sdk-core'; +import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; export class BacktraceBrowserSessionProvider implements BacktraceSessionProvider { /** diff --git a/packages/browser/src/BacktraceClient.ts b/packages/browser/src/BacktraceClient.ts index e19f1dba..0c8f59c6 100644 --- a/packages/browser/src/BacktraceClient.ts +++ b/packages/browser/src/BacktraceClient.ts @@ -3,11 +3,11 @@ import { BacktraceReport, DebugIdContainer, VariableDebugIdMapProvider, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; +import { AGENT } from './agentDefinition'; import { BacktraceBrowserRequestHandler } from './BacktraceBrowserRequestHandler'; import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider'; import { BacktraceConfiguration } from './BacktraceConfiguration'; -import { AGENT } from './agentDefinition'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { BacktraceClientSetup } from './builder/BacktraceClientSetup'; import { getStackTraceConverter } from './converters/getStackTraceConverter'; diff --git a/packages/browser/src/BacktraceConfiguration.ts b/packages/browser/src/BacktraceConfiguration.ts index 0766ef44..4a819e2d 100644 --- a/packages/browser/src/BacktraceConfiguration.ts +++ b/packages/browser/src/BacktraceConfiguration.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace/sdk-core'; export interface BacktraceConfiguration extends CoreConfiguration { /** diff --git a/packages/browser/src/agentDefinition.ts b/packages/browser/src/agentDefinition.ts index 74a009c7..67928543 100644 --- a/packages/browser/src/agentDefinition.ts +++ b/packages/browser/src/agentDefinition.ts @@ -1,4 +1,4 @@ -import type { SdkOptions } from '@backtrace-labs/sdk-core/lib/builder/SdkOptions'; +import type { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions'; // These variables will be set on compilation stage declare const BACKTRACE_AGENT_NAME: string; diff --git a/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts index d81620dc..4de37c0a 100644 --- a/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { BacktraceConfiguration } from '../BacktraceConfiguration'; export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/browser/src/attributes/UserAgentAttributeProvider.ts b/packages/browser/src/attributes/UserAgentAttributeProvider.ts index 26386c00..c5677c89 100644 --- a/packages/browser/src/attributes/UserAgentAttributeProvider.ts +++ b/packages/browser/src/attributes/UserAgentAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import UAParser from 'ua-parser-js'; export class UserAgentAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts index 7e5330ac..c843a6d4 100644 --- a/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts +++ b/packages/browser/src/attributes/UserIdentifierAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider, IdGenerator } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider, IdGenerator } from '@backtrace/sdk-core'; export class UserIdentifierAttributeProvider implements BacktraceAttributeProvider { public readonly USER_IDENTIFIER = 'backtrace-guid'; diff --git a/packages/browser/src/attributes/WebsiteAttributeProvider.ts b/packages/browser/src/attributes/WebsiteAttributeProvider.ts index 810344e5..3104f911 100644 --- a/packages/browser/src/attributes/WebsiteAttributeProvider.ts +++ b/packages/browser/src/attributes/WebsiteAttributeProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; -import { TimeHelper } from '@backtrace-labs/sdk-core/lib/common/TimeHelper'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; const PAGE_START_TIME = TimeHelper.now(); diff --git a/packages/browser/src/attributes/WindowAttributeProvider.ts b/packages/browser/src/attributes/WindowAttributeProvider.ts index 4272fcb0..fa634294 100644 --- a/packages/browser/src/attributes/WindowAttributeProvider.ts +++ b/packages/browser/src/attributes/WindowAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; export class WindowAttributeProvider implements BacktraceAttributeProvider { public get type(): 'scoped' | 'dynamic' { diff --git a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts index e222890d..06530752 100644 --- a/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/DocumentEventSubscriber.ts @@ -3,7 +3,7 @@ import { BreadcrumbLogLevel, BreadcrumbsEventSubscriber, BreadcrumbType, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; export class DocumentEventSubscriber implements BreadcrumbsEventSubscriber { private readonly _controller: AbortController = new AbortController(); diff --git a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts index efb97def..71df8dfa 100644 --- a/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/HistoryEventSubscriber.ts @@ -3,7 +3,7 @@ import { BreadcrumbLogLevel, BreadcrumbsEventSubscriber, BreadcrumbType, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; export class HistoryEventSubscriber implements BreadcrumbsEventSubscriber { private _abortController = new AbortController(); diff --git a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts index 7f3a77dd..24871757 100644 --- a/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts +++ b/packages/browser/src/breadcrumbs/WebRequestEventSubscriber.ts @@ -3,7 +3,7 @@ import { BreadcrumbLogLevel, BreadcrumbsEventSubscriber, BreadcrumbType, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { private _xmlHttpRequestOriginalOpenMethod?: typeof XMLHttpRequest.prototype.open; diff --git a/packages/browser/src/builder/BacktraceClientBuilder.ts b/packages/browser/src/builder/BacktraceClientBuilder.ts index 199367fc..5b36b073 100644 --- a/packages/browser/src/builder/BacktraceClientBuilder.ts +++ b/packages/browser/src/builder/BacktraceClientBuilder.ts @@ -1,10 +1,10 @@ -import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; -import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider'; import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider'; import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider'; import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider'; +import { BacktraceClient } from '../BacktraceClient'; import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber'; import { HistoryEventSubscriber } from '../breadcrumbs/HistoryEventSubscriber'; import { WebRequestEventSubscriber } from '../breadcrumbs/WebRequestEventSubscriber'; diff --git a/packages/browser/src/builder/BacktraceClientSetup.ts b/packages/browser/src/builder/BacktraceClientSetup.ts index d5185b46..8ecc81b5 100644 --- a/packages/browser/src/builder/BacktraceClientSetup.ts +++ b/packages/browser/src/builder/BacktraceClientSetup.ts @@ -1,4 +1,4 @@ -import { PartialCoreClientSetup } from '@backtrace-labs/sdk-core'; +import { PartialCoreClientSetup } from '@backtrace/sdk-core'; import { BacktraceConfiguration } from '../BacktraceConfiguration'; export interface BacktraceClientSetup diff --git a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts index c51d0934..b5f808ac 100644 --- a/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts +++ b/packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts @@ -1,6 +1,6 @@ -import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace-labs/sdk-core'; -import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceStackTrace'; -import { JavaScriptEngine } from '@backtrace-labs/sdk-core/lib/model/data/JavaScriptEngine'; +import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export class JavaScriptCoreStackTraceConverter implements BacktraceStackTraceConverter { get engine(): JavaScriptEngine { diff --git a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts index dbe9c0fd..d2bf8605 100644 --- a/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts +++ b/packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts @@ -1,6 +1,6 @@ -import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace-labs/sdk-core'; -import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceStackTrace'; -import { JavaScriptEngine } from '@backtrace-labs/sdk-core/lib/model/data/JavaScriptEngine'; +import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export class SpiderMonkeyStackTraceConverter implements BacktraceStackTraceConverter { private readonly ANONYMOUS_FUNCTIONS = ['()', '(null)', '']; diff --git a/packages/browser/src/converters/getStackTraceConverter.ts b/packages/browser/src/converters/getStackTraceConverter.ts index c377e9f4..7a0fceda 100644 --- a/packages/browser/src/converters/getStackTraceConverter.ts +++ b/packages/browser/src/converters/getStackTraceConverter.ts @@ -1,4 +1,4 @@ -import { BacktraceStackTraceConverter, V8StackTraceConverter } from '@backtrace-labs/sdk-core'; +import { BacktraceStackTraceConverter, V8StackTraceConverter } from '@backtrace/sdk-core'; import { getEngine } from '../engineDetector'; import { JavaScriptCoreStackTraceConverter } from './JavaScriptCoreStackTraceConverter'; import { SpiderMonkeyStackTraceConverter } from './SpiderMonkeyStackTraceConverter'; diff --git a/packages/browser/src/engineDetector.ts b/packages/browser/src/engineDetector.ts index 48b284ab..096a624b 100644 --- a/packages/browser/src/engineDetector.ts +++ b/packages/browser/src/engineDetector.ts @@ -1,4 +1,4 @@ -import { JavaScriptEngine } from '@backtrace-labs/sdk-core/lib/model/data/JavaScriptEngine'; +import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine'; export function getEngine(): JavaScriptEngine { if (!navigator.userAgent) { diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 389f1bfe..6e16dcf2 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -10,18 +10,18 @@ export { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BreadcrumbLogLevel, - BreadcrumbType, BreadcrumbsEventSubscriber, BreadcrumbsManager, + BreadcrumbType, JavaScriptEngine, RawBreadcrumb, SingleSessionProvider, V8StackTraceConverter, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; +export * from './agentDefinition'; export * from './BacktraceBrowserRequestHandler'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; -export * from './agentDefinition'; export * from './builder/BacktraceClientBuilder'; export * from './builder/BacktraceClientSetup'; export * from './converters/getStackTraceConverter'; diff --git a/packages/browser/src/redux/BacktraceReduxMiddleware.ts b/packages/browser/src/redux/BacktraceReduxMiddleware.ts index f552f272..c06495f0 100644 --- a/packages/browser/src/redux/BacktraceReduxMiddleware.ts +++ b/packages/browser/src/redux/BacktraceReduxMiddleware.ts @@ -1,6 +1,6 @@ -import type { Middleware, Action } from 'redux'; +import { jsonEscaper } from '@backtrace/sdk-core'; +import type { Action, Middleware } from 'redux'; import { BacktraceClient } from '../BacktraceClient'; -import { jsonEscaper } from '@backtrace-labs/sdk-core'; /** * diff --git a/packages/browser/tests/client/clientTests.spec.ts b/packages/browser/tests/client/clientTests.spec.ts index 74cad17c..a9e223ae 100644 --- a/packages/browser/tests/client/clientTests.spec.ts +++ b/packages/browser/tests/client/clientTests.spec.ts @@ -3,7 +3,7 @@ import { BacktraceReport, BacktraceRequestHandler, BacktraceUint8ArrayAttachment, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import { BacktraceClient } from '../../src/'; describe('Client tests', () => { diff --git a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts index c9afe65c..72489b90 100644 --- a/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts +++ b/packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceTestCases.ts @@ -1,4 +1,4 @@ -import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/src/model/data/BacktraceStackTrace'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; const defaultWebsite = `http://localhost/main.js`; export const javaScriptCoreStackTraceTests: Array<{ diff --git a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts index 6d54ea4e..b357ed30 100644 --- a/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts +++ b/packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceTestCases.ts @@ -1,4 +1,4 @@ -import { BacktraceStackFrame } from '@backtrace-labs/sdk-core/src/model/data/BacktraceStackTrace'; +import { BacktraceStackFrame } from '@backtrace/sdk-core/src/model/data/BacktraceStackTrace'; const defaultWebsite = `http://localhost/main.js`; export const spiderMonkeyStackTraceTests: Array<{ diff --git a/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts b/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts index eb64438a..d28ce21c 100644 --- a/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts +++ b/packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts @@ -1,4 +1,4 @@ -import { TimeHelper } from '@backtrace-labs/sdk-core/lib/common/TimeHelper'; +import { TimeHelper } from '@backtrace/sdk-core/lib/common/TimeHelper'; import { BacktraceBrowserSessionProvider } from '../../src/BacktraceBrowserSessionProvider'; describe('Session provider tests', () => { it('Should generate a new uuid on new session', () => { diff --git a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts index f80a7729..337d353f 100644 --- a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts +++ b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceBreadcrumbs } from '@backtrace-labs/sdk-core/src'; +import { BacktraceBreadcrumbs } from '@backtrace/sdk-core/src'; import { Action, configureStore, createSlice, Middleware, PayloadAction } from '@reduxjs/toolkit'; import { BacktraceClient } from '../../src/BacktraceClient'; import { createBacktraceReduxMiddleware } from '../../src/redux/BacktraceReduxMiddleware'; diff --git a/packages/electron/package.json b/packages/electron/package.json index 4d402416..ed7ec3d9 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace-labs/electron", + "name": "@backtrace/electron", "version": "0.0.1", "description": "Backtrace-JavaScript Electron integration", "main": "main/index.js", @@ -35,8 +35,8 @@ "/renderer" ], "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.7", - "@backtrace-labs/node": "^0.0.6" + "@backtrace/sdk-core": "^0.1.0", + "@backtrace/node": "^0.1.0" }, "peerDependencies": { "electron": "12 - 26" diff --git a/packages/electron/src/main/BacktraceClient.ts b/packages/electron/src/main/BacktraceClient.ts index d4dbf9ae..40de2d00 100644 --- a/packages/electron/src/main/BacktraceClient.ts +++ b/packages/electron/src/main/BacktraceClient.ts @@ -1,8 +1,8 @@ import { + BacktraceClient as NodeBacktraceClient, BacktraceNodeClientSetup, BacktraceSetupConfiguration, - BacktraceClient as NodeBacktraceClient, -} from '@backtrace-labs/node'; +} from '@backtrace/node'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { BacktraceMainElectronModule } from './modules/BacktraceMainElectronModule'; diff --git a/packages/electron/src/main/attributes/AppAttributeProvider.ts b/packages/electron/src/main/attributes/AppAttributeProvider.ts index 4be673d7..651121b1 100644 --- a/packages/electron/src/main/attributes/AppAttributeProvider.ts +++ b/packages/electron/src/main/attributes/AppAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { app } from 'electron'; interface LocaleFunctions { diff --git a/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts b/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts index 45b79593..6c94a8c4 100644 --- a/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/electron/src/main/attributes/ApplicationInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { app } from 'electron'; export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/electron/src/main/attributes/GpuAttributeProvider.ts b/packages/electron/src/main/attributes/GpuAttributeProvider.ts index bc1bf07e..61009ffa 100644 --- a/packages/electron/src/main/attributes/GpuAttributeProvider.ts +++ b/packages/electron/src/main/attributes/GpuAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { app } from 'electron'; interface GPUInfo { diff --git a/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts b/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts index 4b0a5e4e..9ac3d2c4 100644 --- a/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts +++ b/packages/electron/src/main/attributes/GpuFeatureAttributeProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; -import { GPUFeatureStatus, app } from 'electron'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { app, GPUFeatureStatus } from 'electron'; export class GpuFeatureAttributeProvider implements BacktraceAttributeProvider { private _attributes?: Record; diff --git a/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts b/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts index 068a7385..f901b1c2 100644 --- a/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts +++ b/packages/electron/src/main/attributes/ReadyAppAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { app } from 'electron'; interface LocaleFunctions { diff --git a/packages/electron/src/main/builder/BacktraceClientBuilder.ts b/packages/electron/src/main/builder/BacktraceClientBuilder.ts index fe3b5045..fd9839ba 100644 --- a/packages/electron/src/main/builder/BacktraceClientBuilder.ts +++ b/packages/electron/src/main/builder/BacktraceClientBuilder.ts @@ -1,10 +1,10 @@ -import { BacktraceNodeClientSetup, BacktraceClientBuilder as NodeBacktraceClientBuilder } from '@backtrace-labs/node'; -import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceClientBuilder as NodeBacktraceClientBuilder, BacktraceNodeClientSetup } from '@backtrace/node'; import { AppAttributeProvider } from '../attributes/AppAttributeProvider'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { GpuAttributeProvider } from '../attributes/GpuAttributeProvider'; import { GpuFeatureAttributeProvider } from '../attributes/GpuFeatureAttributeProvider'; import { ReadyAppAttributeProvider } from '../attributes/ReadyAppAttributeProvider'; +import { BacktraceClient } from '../BacktraceClient'; export class BacktraceClientBuilder extends NodeBacktraceClientBuilder { constructor(clientSetup: BacktraceNodeClientSetup) { diff --git a/packages/electron/src/main/index.ts b/packages/electron/src/main/index.ts index 5729c968..2a71c067 100644 --- a/packages/electron/src/main/index.ts +++ b/packages/electron/src/main/index.ts @@ -1,2 +1,2 @@ -export * from '@backtrace-labs/node'; +export * from '@backtrace/node'; export { BacktraceClient } from './BacktraceClient'; diff --git a/packages/electron/src/main/ipc/WindowIpcRpc.ts b/packages/electron/src/main/ipc/WindowIpcRpc.ts index c169b281..976ba476 100644 --- a/packages/electron/src/main/ipc/WindowIpcRpc.ts +++ b/packages/electron/src/main/ipc/WindowIpcRpc.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { IdGenerator } from '@backtrace-labs/sdk-core'; -import { BrowserWindow, IpcMainInvokeEvent, ipcMain } from 'electron'; +import { IdGenerator } from '@backtrace/sdk-core'; +import { BrowserWindow, ipcMain, IpcMainInvokeEvent } from 'electron'; import { IpcRpc, SyncIpcRpcHandler } from '../../common/ipc/IpcRpc'; export class WindowIpcRpc implements IpcRpc, SyncIpcRpcHandler { diff --git a/packages/electron/src/main/modules/BacktraceMainElectronModule.ts b/packages/electron/src/main/modules/BacktraceMainElectronModule.ts index 561d602e..88f94501 100644 --- a/packages/electron/src/main/modules/BacktraceMainElectronModule.ts +++ b/packages/electron/src/main/modules/BacktraceMainElectronModule.ts @@ -5,7 +5,7 @@ import { RawBreadcrumb, SubmissionUrlInformation, SummedEvent, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import { app, crashReporter } from 'electron'; import { IpcAttachmentReference } from '../../common/ipc/IpcAttachmentReference'; import { IpcEvents } from '../../common/ipc/IpcEvents'; diff --git a/packages/electron/src/main/modules/IpcAttachment.ts b/packages/electron/src/main/modules/IpcAttachment.ts index 4d801a4a..7feeb2d9 100644 --- a/packages/electron/src/main/modules/IpcAttachment.ts +++ b/packages/electron/src/main/modules/IpcAttachment.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment } from '@backtrace/sdk-core'; import { Readable } from 'stream'; import { IpcTransport } from '../../common'; import { ReadableIpcStream } from '../ipc/ReadableIpcStream'; diff --git a/packages/electron/src/renderer/addBacktraceElectron.ts b/packages/electron/src/renderer/addBacktraceElectron.ts index 2608a288..a586fb1b 100644 --- a/packages/electron/src/renderer/addBacktraceElectron.ts +++ b/packages/electron/src/renderer/addBacktraceElectron.ts @@ -1,4 +1,4 @@ -import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; +import { BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; import { IpcEvents } from '../common/ipc/IpcEvents'; import { SyncData } from '../common/models/SyncData'; import { getIpcRpc } from './ipc/getIpcRpc'; @@ -28,7 +28,7 @@ export function addBacktraceElectron( .catch((err) => console.error( 'Cannot connect to Backtrace in the main process.\n\n', - 'Make sure to initialize @backtrace-labs/electron in the main process first.\n\n', + 'Make sure to initialize @backtrace/electron in the main process first.\n\n', err, ), ); diff --git a/packages/electron/src/renderer/modules/ConstSessionProvider.ts b/packages/electron/src/renderer/modules/ConstSessionProvider.ts index 8f7cd2ff..c7e08216 100644 --- a/packages/electron/src/renderer/modules/ConstSessionProvider.ts +++ b/packages/electron/src/renderer/modules/ConstSessionProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceSessionProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceSessionProvider } from '@backtrace/sdk-core'; export class ConstSessionProvider implements BacktraceSessionProvider { public readonly newSession = true; diff --git a/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts b/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts index 2fab9589..d93e2618 100644 --- a/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts +++ b/packages/electron/src/renderer/modules/IpcAsyncSessionProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceSessionProvider, IdGenerator } from '@backtrace-labs/sdk-core'; +import { BacktraceSessionProvider, IdGenerator } from '@backtrace/sdk-core'; import { IpcTransport } from '../../common'; import { IpcEvents } from '../../common/ipc/IpcEvents'; import { SyncData } from '../../common/models/SyncData'; diff --git a/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts b/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts index 68f2e0e4..3038fd8d 100644 --- a/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts +++ b/packages/electron/src/renderer/modules/IpcBreadcrumbsStorage.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, BreadcrumbsStorage, RawBreadcrumb } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment, BreadcrumbsStorage, RawBreadcrumb } from '@backtrace/sdk-core'; import { IpcTransport } from '../../common'; import { IpcEvents } from '../../common/ipc/IpcEvents'; diff --git a/packages/electron/src/renderer/modules/IpcReportSubmission.ts b/packages/electron/src/renderer/modules/IpcReportSubmission.ts index 37966b03..c727e75d 100644 --- a/packages/electron/src/renderer/modules/IpcReportSubmission.ts +++ b/packages/electron/src/renderer/modules/IpcReportSubmission.ts @@ -6,7 +6,7 @@ import { BacktraceSubmissionResponse, IdGenerator, jsonEscaper, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import { IpcTransport } from '../../common'; import { IpcAttachmentReference } from '../../common/ipc/IpcAttachmentReference'; import { IpcEvents } from '../../common/ipc/IpcEvents'; diff --git a/packages/electron/src/renderer/modules/IpcRequestHandler.ts b/packages/electron/src/renderer/modules/IpcRequestHandler.ts index 3cc6fddb..1202f22d 100644 --- a/packages/electron/src/renderer/modules/IpcRequestHandler.ts +++ b/packages/electron/src/renderer/modules/IpcRequestHandler.ts @@ -1,4 +1,4 @@ -import { BacktraceReportSubmissionResult, BacktraceRequestHandler } from '@backtrace-labs/sdk-core'; +import { BacktraceReportSubmissionResult, BacktraceRequestHandler } from '@backtrace/sdk-core'; import { IpcEvents } from '../../common/ipc/IpcEvents'; import { IpcRpc } from '../../common/ipc/IpcRpc'; diff --git a/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts b/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts index 1840b612..8330c40c 100644 --- a/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts +++ b/packages/electron/src/renderer/modules/IpcSummedMetricsQueue.ts @@ -1,4 +1,4 @@ -import { MetricsQueue, SummedEvent } from '@backtrace-labs/sdk-core'; +import { MetricsQueue, SummedEvent } from '@backtrace/sdk-core'; import { IpcRpc, IpcTransport } from '../../common'; import { IpcEvents } from '../../common/ipc/IpcEvents'; diff --git a/packages/electron/src/renderer/modules/StubMetricsQueue.ts b/packages/electron/src/renderer/modules/StubMetricsQueue.ts index e193bdbb..e906eae9 100644 --- a/packages/electron/src/renderer/modules/StubMetricsQueue.ts +++ b/packages/electron/src/renderer/modules/StubMetricsQueue.ts @@ -1,4 +1,4 @@ -import { MetricsQueue } from '@backtrace-labs/sdk-core'; +import { MetricsQueue } from '@backtrace/sdk-core'; export class StubMetricsQueue implements MetricsQueue { public readonly total = 0; diff --git a/packages/nestjs/CHANGELOG.md b/packages/nestjs/CHANGELOG.md index 1279c11f..f7647261 100644 --- a/packages/nestjs/CHANGELOG.md +++ b/packages/nestjs/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.1.0 + +- library rename to `@backtrace/nestjs` + # Version 0.0.1 Initial release. diff --git a/packages/nestjs/README.md b/packages/nestjs/README.md index 8f41c1a5..849b3656 100644 --- a/packages/nestjs/README.md +++ b/packages/nestjs/README.md @@ -3,8 +3,8 @@ [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/node](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and -easy, after which you can explore the rich set of Backtrace features. +The [@backtrace/node](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and easy, +after which you can explore the rich set of Backtrace features. ## Table of Contents @@ -35,7 +35,7 @@ easy, after which you can explore the rich set of Backtrace features. ### Install the package ``` -$ npm install @backtrace-labs/nestjs +$ npm install @backtrace/nestjs ``` ### Integrate the SDK @@ -43,8 +43,8 @@ $ npm install @backtrace-labs/nestjs Add the following code to your application before all other scripts to report NestJS errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/nestjs -import { BacktraceClient, BacktraceConfiguration, BacktraceModule } from '@backtrace-labs/nestjs'; +// Import the BacktraceClient from @backtrace/nestjs +import { BacktraceClient, BacktraceConfiguration, BacktraceModule } from '@backtrace/nestjs'; // Configure client options const options: BacktraceConfiguration = { @@ -100,7 +100,7 @@ To add the interceptor globally, you can register it as `APP_INTERCEPTOR`: ```ts import { Module } from '@nestjs/common'; import { APP_INTERCEPTOR } from '@nestjs/core'; -import { BacktraceModule, BacktraceInterceptor } from '@backtrace-labs/nestjs'; +import { BacktraceModule, BacktraceInterceptor } from '@backtrace/nestjs'; @Module({ imports: [BacktraceModule], @@ -249,8 +249,8 @@ BacktraceClient, or dynamically for specific reports. When including attachments uploaded with each report. ```ts -// Import attachment types from @backtrace-labs/nestjs -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BacktraceFileAttachment } from "@backtrace-labs/node"; +// Import attachment types from @backtrace/nestjs +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BacktraceFileAttachment } from "@backtrace/node"; // BacktraceStringAttachment should be used for text object like a log file, for example const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -303,7 +303,7 @@ and manual breadcrumbs can also be added. | `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | ```ts -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/nestjs'; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/nestjs'; // BacktraceClientOptions const options: BacktraceConfiguration = { @@ -379,7 +379,8 @@ With offline database support you can: - capture crashes, - manually decide whether or not to send reports, and when. -Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory where Backtrace can store crash data. +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory +where Backtrace can store crash data. ```ts const client = BacktraceClient.initialize({ @@ -403,7 +404,7 @@ client.database.flush(); | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | | `enabled` | Boolean | Enable/disable offline database support. | false |
        • - [x]
        | | `path` | String | Local storage path for crash data. | - |
        • - [x]
        | -| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory. | true | +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory. | true | | `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | | `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | | `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | @@ -428,28 +429,30 @@ operate on database records. ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will +compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send +reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | | `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | ### Manually send an error @@ -471,7 +474,10 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### Modify/skip error reports -A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. + +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. +You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application +has at the time of exception. A report can be skipped sompletely by returning a null value. ```ts const client = BacktraceClient.initialize({ @@ -481,7 +487,7 @@ const client = BacktraceClient.initialize({ if (!shouldSendReportToBacktrace(data)) { return undefined; } - // apply custom attribute + // apply custom attribute data.attributes['new-attribute"] = 'apply-data-in-callback'; return data; }, @@ -490,9 +496,11 @@ const client = BacktraceClient.initialize({ ### SDK Method Overrides -BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for +example, can be used to implement custom encryption for data at rest or in motion. -> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for +> the correct method to modify a report before sending it to Backtrace. ```ts const client = BacktraceClient.builder(options) diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 22806c8e..7eb49221 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/nestjs", - "version": "0.0.1", + "name": "@backtrace/nestjs", + "version": "0.1.0", "description": "Backtrace-JavaScript NestJS integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -57,7 +57,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/node": "^0.0.6" + "@backtrace/node": "^0.1.0" }, "peerDependencies": { "@nestjs/common": "^9" diff --git a/packages/nestjs/src/backtrace.interceptor.ts b/packages/nestjs/src/backtrace.interceptor.ts index fbb1a2d4..1a117607 100644 --- a/packages/nestjs/src/backtrace.interceptor.ts +++ b/packages/nestjs/src/backtrace.interceptor.ts @@ -1,8 +1,8 @@ -import { BacktraceClient } from '@backtrace-labs/node'; +import { BacktraceClient } from '@backtrace/node'; import { CallHandler, ExecutionContext, HttpException, Injectable, NestInterceptor, Optional } from '@nestjs/common'; import { HttpArgumentsHost, RpcArgumentsHost, WsArgumentsHost } from '@nestjs/common/interfaces'; import { type Request as ExpressRequest } from 'express'; -import { Observable, catchError, throwError } from 'rxjs'; +import { catchError, Observable, throwError } from 'rxjs'; type ExceptionTypeFilter = (new (...args: never[]) => unknown)[] | ((err: unknown) => boolean); diff --git a/packages/nestjs/src/backtrace.module.ts b/packages/nestjs/src/backtrace.module.ts index 0e43f6f5..c139e4c1 100644 --- a/packages/nestjs/src/backtrace.module.ts +++ b/packages/nestjs/src/backtrace.module.ts @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace-labs/node'; +import { BacktraceClient } from '@backtrace/node'; import { ConfigurableModuleBuilder, Global, Module } from '@nestjs/common'; const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE } = new ConfigurableModuleBuilder< diff --git a/packages/nestjs/src/index.ts b/packages/nestjs/src/index.ts index b80f4bbc..95a3ee48 100644 --- a/packages/nestjs/src/index.ts +++ b/packages/nestjs/src/index.ts @@ -1,3 +1,3 @@ -export * from '@backtrace-labs/node'; +export * from '@backtrace/node'; export * from './backtrace.interceptor'; export * from './backtrace.module'; diff --git a/packages/nestjs/tests/backtrace.interceptor.spec.ts b/packages/nestjs/tests/backtrace.interceptor.spec.ts index e0a26507..f37d2e99 100644 --- a/packages/nestjs/tests/backtrace.interceptor.spec.ts +++ b/packages/nestjs/tests/backtrace.interceptor.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceClient } from '@backtrace-labs/node'; +import { BacktraceClient } from '@backtrace/node'; import { BadRequestException, Controller, diff --git a/packages/nestjs/tests/e2e.spec.ts b/packages/nestjs/tests/e2e.spec.ts index 910c7d3c..11c01da5 100644 --- a/packages/nestjs/tests/e2e.spec.ts +++ b/packages/nestjs/tests/e2e.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceReportSubmissionResult } from '@backtrace-labs/sdk-core'; +import { BacktraceReportSubmissionResult } from '@backtrace/sdk-core'; import { Controller, Get, UseInterceptors } from '@nestjs/common'; import { APP_INTERCEPTOR } from '@nestjs/core'; import { Test } from '@nestjs/testing'; diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 79043d3f..02b535ae 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,11 +1,15 @@ +# Version 0.1.0 + +- library rename to `@backtrace/node` + # Version 0.0.6 -- update `@backtrace-labs/sdk-core` to `0.0.7` +- update `@backtrace/sdk-core` to `0.0.7` - remove `const` from types for Typescript <5 compatibility # Version 0.0.5 -- update `@backtrace-labs/sdk-core` to `0.0.6` +- update `@backtrace/sdk-core` to `0.0.6` - add breadcrumbs from previous session in database - add attributes from previous session in native crashes - add methods to `BacktraceBreadcrumbs` interface and limit `BacktraceManager` visibility @@ -14,20 +18,20 @@ # Version 0.0.4 -- update `@backtrace-labs/sdk-core` to `0.0.4` +- update `@backtrace/sdk-core` to `0.0.4` - update attachment management to use `addAttachment` instead of a mutable array - combine `Error` and `string` overloads in `send` - use single global client instance # Version 0.0.3 -- update `@backtrace-labs/sdk-core` to `0.0.3` +- update `@backtrace/sdk-core` to `0.0.3` - add deferred user attributes - fix skipping stack frame with message reports # Version 0.0.2 -- update `@backtrace-labs/sdk-core` to `0.0.2` +- update `@backtrace/sdk-core` to `0.0.2` - add disposing of `BacktraceClient` # Version 0.0.1 diff --git a/packages/node/README.md b/packages/node/README.md index d55ec8ec..06362f24 100644 --- a/packages/node/README.md +++ b/packages/node/README.md @@ -3,8 +3,8 @@ [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/node](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and -easy, after which you can explore the rich set of Backtrace features. +The [@backtrace/node](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and easy, +after which you can explore the rich set of Backtrace features. ## Table of Contents @@ -34,7 +34,7 @@ easy, after which you can explore the rich set of Backtrace features. ### Install the package ``` -$ npm install @backtrace-labs/node +$ npm install @backtrace/node ``` ### Integrate the SDK @@ -42,8 +42,8 @@ $ npm install @backtrace-labs/node Add the following code to your application before all other scripts to report node errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/node with your favorite package manager. -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/node'; +// Import the BacktraceClient from @backtrace/node with your favorite package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/node'; // Configure client options const options: BacktraceConfiguration = { @@ -166,8 +166,8 @@ BacktraceClient, or dynamically for specific reports. When including attachments uploaded with each report. ```ts -// Import attachment types from @backtrace-labs/node -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BacktraceFileAttachment } from "@backtrace-labs/node"; +// Import attachment types from @backtrace/node +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment, BacktraceFileAttachment } from "@backtrace/node"; // BacktraceStringAttachment should be used for text object like a log file, for example const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -220,7 +220,7 @@ and manual breadcrumbs can also be added. | `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | ```ts -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/node'; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/node'; // BacktraceClientOptions const options: BacktraceConfiguration = { @@ -296,7 +296,8 @@ With offline database support you can: - capture crashes, - manually decide whether or not to send reports, and when. -Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory where Backtrace can store crash data. +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory +where Backtrace can store crash data. ```ts const client = BacktraceClient.initialize({ @@ -338,34 +339,37 @@ breadcrumbs. To reduce database record size, attachment support was limited only #### Manual database operations -Database support is available in the client options with the BacktraceDatabase object. You can use it to manually operate on database records. +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually +operate on database records. ## Advanced SDK Features ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will +compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send +reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | | `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | ### Manually send an error @@ -387,7 +391,10 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### Modify/skip error reports -A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. + +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. +You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application +has at the time of exception. A report can be skipped sompletely by returning a null value. ```ts const client = BacktraceClient.initialize({ @@ -397,7 +404,7 @@ const client = BacktraceClient.initialize({ if (!shouldSendReportToBacktrace(data)) { return undefined; } - // apply custom attribute + // apply custom attribute data.attributes['new-attribute"] = 'apply-data-in-callback'; return data; }, @@ -406,9 +413,11 @@ const client = BacktraceClient.initialize({ ### SDK Method Overrides -BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for +example, can be used to implement custom encryption for data at rest or in motion. -> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for +> the correct method to modify a report before sending it to Backtrace. ```ts const client = BacktraceClient.builder(options) diff --git a/packages/node/package.json b/packages/node/package.json index b20dcaff..1c7c3169 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/node", - "version": "0.0.6", + "name": "@backtrace/node", + "version": "0.1.0", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace-labs/sdk-core": "^0.0.7", + "@backtrace/sdk-core": "^0.1.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index e617e2b7..9619e1b6 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -6,12 +6,12 @@ import { FileAttributeManager, SessionFiles, VariableDebugIdMapProvider, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import path from 'path'; -import { BacktraceConfiguration, BacktraceSetupConfiguration } from './BacktraceConfiguration'; -import { BacktraceNodeRequestHandler } from './BacktraceNodeRequestHandler'; import { AGENT } from './agentDefinition'; import { transformAttachment } from './attachment/transformAttachments'; +import { BacktraceConfiguration, BacktraceSetupConfiguration } from './BacktraceConfiguration'; +import { BacktraceNodeRequestHandler } from './BacktraceNodeRequestHandler'; import { FileBreadcrumbsStorage } from './breadcrumbs/FileBreadcrumbsStorage'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { BacktraceNodeClientSetup } from './builder/BacktraceClientSetup'; diff --git a/packages/node/src/BacktraceConfiguration.ts b/packages/node/src/BacktraceConfiguration.ts index 30dc89ee..b7f39251 100644 --- a/packages/node/src/BacktraceConfiguration.ts +++ b/packages/node/src/BacktraceConfiguration.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment, BacktraceConfiguration as CoreConfiguration } from '@backtrace/sdk-core'; import { Readable } from 'stream'; export interface BacktraceSetupConfiguration extends Omit { diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 1668a218..47a8f5a5 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -5,7 +5,7 @@ import { BacktraceSubmissionResponse, ConnectionError, DEFAULT_TIMEOUT, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import FormData from 'form-data'; import http from 'http'; import https from 'https'; diff --git a/packages/node/src/agentDefinition.ts b/packages/node/src/agentDefinition.ts index 5eaf063c..e3605c54 100644 --- a/packages/node/src/agentDefinition.ts +++ b/packages/node/src/agentDefinition.ts @@ -1,4 +1,4 @@ -import { SdkOptions } from '@backtrace-labs/sdk-core/lib/builder/SdkOptions'; +import { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions'; // These variables will be set on compilation stage declare const BACKTRACE_AGENT_NAME: string; diff --git a/packages/node/src/attachment/BacktraceBufferAttachment.ts b/packages/node/src/attachment/BacktraceBufferAttachment.ts index 20be4f1c..b9e8de58 100644 --- a/packages/node/src/attachment/BacktraceBufferAttachment.ts +++ b/packages/node/src/attachment/BacktraceBufferAttachment.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment } from '@backtrace/sdk-core'; export class BacktraceBufferAttachment implements BacktraceAttachment { constructor(public readonly name: string, public readonly buffer: Buffer) {} diff --git a/packages/node/src/attachment/BacktraceFileAttachment.ts b/packages/node/src/attachment/BacktraceFileAttachment.ts index 6d2d61b0..cad54a49 100644 --- a/packages/node/src/attachment/BacktraceFileAttachment.ts +++ b/packages/node/src/attachment/BacktraceFileAttachment.ts @@ -1,4 +1,4 @@ -import { BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace-labs/sdk-core'; +import { BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace/sdk-core'; import fs from 'fs'; import path from 'path'; import { Readable } from 'stream'; diff --git a/packages/node/src/attachment/index.ts b/packages/node/src/attachment/index.ts index f3a49319..4a9c539a 100644 --- a/packages/node/src/attachment/index.ts +++ b/packages/node/src/attachment/index.ts @@ -1,7 +1,3 @@ -export { - BacktraceAttachment, - BacktraceStringAttachment, - BacktraceUint8ArrayAttachment, -} from '@backtrace-labs/sdk-core'; +export { BacktraceAttachment, BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from '@backtrace/sdk-core'; export * from './BacktraceBufferAttachment'; export * from './BacktraceFileAttachment'; diff --git a/packages/node/src/attachment/transformAttachments.ts b/packages/node/src/attachment/transformAttachments.ts index 8369cbe4..c39a4996 100644 --- a/packages/node/src/attachment/transformAttachments.ts +++ b/packages/node/src/attachment/transformAttachments.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment } from '@backtrace/sdk-core'; import { Readable } from 'stream'; import { BacktraceSetupConfiguration } from '../BacktraceConfiguration'; import { BacktraceFileAttachment } from './BacktraceFileAttachment'; diff --git a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts index ebcb8492..f7620481 100644 --- a/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ApplicationInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import fs from 'fs'; import path from 'path'; import process from 'process'; diff --git a/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts b/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts index e215c9be..1b5649a8 100644 --- a/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts +++ b/packages/node/src/attributes/LinuxProcessStatusAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import fs from 'fs'; import { MEMORY_ATTRIBUTE_MAP, MEMORY_INFORMATION_REGEX, PROCESS_STATUS_MAP } from './processStatusInformationMap'; diff --git a/packages/node/src/attributes/MachineAttributeProvider.ts b/packages/node/src/attributes/MachineAttributeProvider.ts index af17e79a..226d7234 100644 --- a/packages/node/src/attributes/MachineAttributeProvider.ts +++ b/packages/node/src/attributes/MachineAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; import os from 'os'; export class MachineAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts b/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts index a72482ad..3085353e 100644 --- a/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts +++ b/packages/node/src/attributes/MachineIdentitfierAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider, IdGenerator } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider, IdGenerator } from '@backtrace/sdk-core'; import { execSync } from 'child_process'; import { getValue, HKEY } from 'native-reg'; diff --git a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts index 90ccaeb5..6d779474 100644 --- a/packages/node/src/attributes/ProcessInformationAttributeProvider.ts +++ b/packages/node/src/attributes/ProcessInformationAttributeProvider.ts @@ -1,4 +1,4 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; export class ProcessInformationAttributeProvider implements BacktraceAttributeProvider { public get type(): 'scoped' | 'dynamic' { diff --git a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts index c28be15f..7ae11522 100644 --- a/packages/node/src/attributes/ProcessStatusAttributeProvider.ts +++ b/packages/node/src/attributes/ProcessStatusAttributeProvider.ts @@ -1,5 +1,5 @@ -import { BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; -import { AttributeType } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceData'; +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { AttributeType } from '@backtrace/sdk-core/lib/model/data/BacktraceData'; import os from 'os'; export class ProcessStatusAttributeProvider implements BacktraceAttributeProvider { diff --git a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts index d155ec33..c08486d2 100644 --- a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts +++ b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -8,7 +8,7 @@ import { RawBreadcrumb, SessionFiles, TimeHelper, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import path from 'path'; import { BacktraceFileAttachment } from '../attachment'; import { AlternatingFileWriter } from '../common/AlternatingFileWriter'; diff --git a/packages/node/src/builder/BacktraceClientBuilder.ts b/packages/node/src/builder/BacktraceClientBuilder.ts index a2ce184e..93e773c4 100644 --- a/packages/node/src/builder/BacktraceClientBuilder.ts +++ b/packages/node/src/builder/BacktraceClientBuilder.ts @@ -1,5 +1,4 @@ -import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; -import { BacktraceClient } from '../BacktraceClient'; +import { BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; import { transformAttachment } from '../attachment/transformAttachments'; import { ApplicationInformationAttributeProvider, @@ -9,6 +8,7 @@ import { ProcessInformationAttributeProvider, ProcessStatusAttributeProvider, } from '../attributes'; +import { BacktraceClient } from '../BacktraceClient'; import { BacktraceClientSetup, BacktraceNodeClientSetup } from './BacktraceClientSetup'; export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { diff --git a/packages/node/src/builder/BacktraceClientSetup.ts b/packages/node/src/builder/BacktraceClientSetup.ts index acada10f..ee3d4e74 100644 --- a/packages/node/src/builder/BacktraceClientSetup.ts +++ b/packages/node/src/builder/BacktraceClientSetup.ts @@ -1,4 +1,4 @@ -import { PartialCoreClientSetup } from '@backtrace-labs/sdk-core'; +import { PartialCoreClientSetup } from '@backtrace/sdk-core'; import { BacktraceSetupConfiguration } from '../BacktraceConfiguration'; export interface BacktraceClientSetup extends PartialCoreClientSetup<'sdkOptions' | 'requestHandler'> {} diff --git a/packages/node/src/converter/NodeDiagnosticReportConverter.ts b/packages/node/src/converter/NodeDiagnosticReportConverter.ts index 3aa98986..1fd068d7 100644 --- a/packages/node/src/converter/NodeDiagnosticReportConverter.ts +++ b/packages/node/src/converter/NodeDiagnosticReportConverter.ts @@ -1,5 +1,5 @@ -import { BacktraceErrorType, BacktraceReport } from '@backtrace-labs/sdk-core'; -import type { BacktraceStackFrame } from '@backtrace-labs/sdk-core/lib/model/data/BacktraceStackTrace'; +import { BacktraceErrorType, BacktraceReport } from '@backtrace/sdk-core'; +import type { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace'; import { NodeDiagnosticReport } from './models/NodeDiagnosticReport'; export class NodeDiagnosticReportConverter { diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index b97c3524..f4389f79 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -6,13 +6,13 @@ export { BacktraceStackFrame, BacktraceStackTraceConverter, BreadcrumbLogLevel, - BreadcrumbType, BreadcrumbsEventSubscriber, BreadcrumbsManager, + BreadcrumbType, RawBreadcrumb, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; +export * from './attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; -export * from './attachment'; export * from './builder/BacktraceClientBuilder'; export * from './builder/BacktraceClientSetup'; diff --git a/packages/node/src/storage/NodeFileSystem.ts b/packages/node/src/storage/NodeFileSystem.ts index 2b3b739c..33e5abc4 100644 --- a/packages/node/src/storage/NodeFileSystem.ts +++ b/packages/node/src/storage/NodeFileSystem.ts @@ -1,4 +1,4 @@ -import { BacktraceAttachment, FileSystem } from '@backtrace-labs/sdk-core'; +import { BacktraceAttachment, FileSystem } from '@backtrace/sdk-core'; import fs from 'fs'; import { BacktraceFileAttachment } from '../attachment'; diff --git a/packages/node/tests/client/clientTests.spec.ts b/packages/node/tests/client/clientTests.spec.ts index 27e57e49..217dcd50 100644 --- a/packages/node/tests/client/clientTests.spec.ts +++ b/packages/node/tests/client/clientTests.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceReport, BacktraceRequestHandler } from '@backtrace-labs/sdk-core'; +import { BacktraceReport, BacktraceRequestHandler } from '@backtrace/sdk-core'; import fs from 'fs'; import path from 'path'; import { BacktraceBufferAttachment, BacktraceClient, BacktraceFileAttachment } from '../../src/'; diff --git a/packages/react-native/README.md b/packages/react-native/README.md index f48ba714..0c5382b7 100644 --- a/packages/react-native/README.md +++ b/packages/react-native/README.md @@ -3,8 +3,8 @@ [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/react-native](#) SDK connects your JavaScript application to Backtrace. The basic integration is -quick and easy, after which you can explore the rich set of Backtrace features. +The [@backtrace/react-native](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick +and easy, after which you can explore the rich set of Backtrace features. ## Table of Contents @@ -34,7 +34,7 @@ quick and easy, after which you can explore the rich set of Backtrace features. ### Install the package ``` -$ npm install @backtrace-labs/react-native +$ npm install @backtrace/react-native ``` On iOS, do not forget about installing cocoa pods @@ -49,8 +49,8 @@ $ pod install Add the following code to your application before all other scripts to report react-native errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/react-native with your favorite package manager. -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react-native'; +// Import the BacktraceClient from @backtrace/react-native with your favorite package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/react-native'; // Configure client options const options: BacktraceConfiguration = { @@ -179,8 +179,8 @@ BacktraceClient, or dynamically for specific reports. When including attachments uploaded with each report. ```ts -// Import attachment types from @backtrace-labs/react-native -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/react-native"; +// Import attachment types from @backtrace/react-native +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/react-native"; // BacktraceStringAttachment should be used for text object like a log file, for example const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -228,7 +228,7 @@ and manual breadcrumbs can also be added. | `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | ```ts -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react-native'; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/react-native'; // BacktraceClientOptions const options: BacktraceConfiguration = { @@ -304,7 +304,8 @@ With offline database support you can: - capture crashes, - manually decide whether or not to send reports, and when. -Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory where Backtrace can store crash data. +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory +where Backtrace can store crash data. ```ts const client = BacktraceClient.initialize({ @@ -346,46 +347,51 @@ The helper returns: The Backtrace React-Native SDK can capture crashes generated in the native layer. Those crashes cannot be captured on the JavaScript side by using any kind of helpers. In order to collect them, the SDK uses native crash reporting -solutions available in the package. +solutions available in the package. Attributes and file attachments will be uploaded by native crash reporting solution. Some important details: -- Dynamic attributes will not be added. -- In-memory attachments such as string attachments, are not supported. -- You cannot apply any managed layer (JavaScript) callbacks to filter or modify crashes before send. -- Java exceptions and iOS crashes will be available after the application restart. All crashes and reports send after application restart are stored in the database directory. -- On Android, all native crashes from the NDK layer will be sent in the same application session (from a separate application process). + +- Dynamic attributes will not be added. +- In-memory attachments such as string attachments, are not supported. +- You cannot apply any managed layer (JavaScript) callbacks to filter or modify crashes before send. +- Java exceptions and iOS crashes will be available after the application restart. All crashes and reports send after + application restart are stored in the database directory. +- On Android, all native crashes from the NDK layer will be sent in the same application session (from a separate + application process). #### Manual database operations -Database support is available in the client options with the BacktraceDatabase object. You can use it to manually operate on database records. +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually +operate on database records. ## Advanced SDK Features ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will +compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send +reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | | `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | -| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | - +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | ### Manually send an error @@ -407,7 +413,10 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### Modify/skip error reports -A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. + +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. +You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application +has at the time of exception. A report can be skipped sompletely by returning a null value. ```ts const client = BacktraceClient.initialize({ @@ -417,7 +426,7 @@ const client = BacktraceClient.initialize({ if (!shouldSendReportToBacktrace(data)) { return undefined; } - // apply custom attribute + // apply custom attribute data.attributes['new-attribute"] = 'apply-data-in-callback'; return data; }, @@ -426,9 +435,11 @@ const client = BacktraceClient.initialize({ ### SDK Method Overrides -BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for +example, can be used to implement custom encryption for data at rest or in motion. -> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for +> the correct method to modify a report before sending it to Backtrace. ```ts const client = BacktraceClient.builder(options) diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 655e9945..e71563cd 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -1,5 +1,5 @@ { - "name": "@backtrace-labs/react-native", + "name": "@backtrace/react-native", "version": "0.0.1", "description": "Backtrace-Javascript React-Native integration", "main": "lib/commonjs/index", @@ -90,7 +90,7 @@ "typescript": "^5.0.2" }, "dependencies": { - "@backtrace-labs/react": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.7" + "@backtrace/react": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" } } diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts index 8395c4c1..806ebfda 100644 --- a/packages/react-native/src/BacktraceClient.ts +++ b/packages/react-native/src/BacktraceClient.ts @@ -1,4 +1,4 @@ -import { BacktraceBrowserRequestHandler, ReactStackTraceConverter } from '@backtrace-labs/react'; +import { BacktraceBrowserRequestHandler, ReactStackTraceConverter } from '@backtrace/react'; import { BacktraceCoreClient, BreadcrumbsManager, @@ -8,7 +8,7 @@ import { VariableDebugIdMapProvider, type AttributeType, type DebugIdContainer, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import { NativeModules, Platform } from 'react-native'; import { type BacktraceConfiguration } from './BacktraceConfiguration'; import { FileBreadcrumbsStorage } from './breadcrumbs/FileBreadcrumbsStorage'; diff --git a/packages/react-native/src/BacktraceConfiguration.ts b/packages/react-native/src/BacktraceConfiguration.ts index e45a9d77..46f3ba97 100644 --- a/packages/react-native/src/BacktraceConfiguration.ts +++ b/packages/react-native/src/BacktraceConfiguration.ts @@ -1,2 +1,2 @@ -import { type BacktraceConfiguration as SdkConfiguration } from '@backtrace-labs/sdk-core'; +import { type BacktraceConfiguration as SdkConfiguration } from '@backtrace/sdk-core'; export interface BacktraceConfiguration extends SdkConfiguration {} diff --git a/packages/react-native/src/ErrorBoundary.tsx b/packages/react-native/src/ErrorBoundary.tsx index 997b7958..adf0b88b 100644 --- a/packages/react-native/src/ErrorBoundary.tsx +++ b/packages/react-native/src/ErrorBoundary.tsx @@ -1,4 +1,4 @@ -import { BacktraceReport } from '@backtrace-labs/sdk-core'; +import { BacktraceReport } from '@backtrace/sdk-core'; import { Component, isValidElement, type ErrorInfo, type ReactElement, type ReactNode } from 'react'; import { BacktraceClient } from './BacktraceClient'; diff --git a/packages/react-native/src/attachment/BacktraceFileAttachment.ts b/packages/react-native/src/attachment/BacktraceFileAttachment.ts index 56819452..87fcf3c0 100644 --- a/packages/react-native/src/attachment/BacktraceFileAttachment.ts +++ b/packages/react-native/src/attachment/BacktraceFileAttachment.ts @@ -1,4 +1,4 @@ -import { type BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace-labs/sdk-core'; +import { type BacktraceFileAttachment as CoreBacktraceFileAttachment } from '@backtrace/sdk-core'; import { Platform } from 'react-native'; import { type FileSystem } from '../storage/'; import { type FileLocation } from '../types/FileLocation'; diff --git a/packages/react-native/src/attachment/index.ts b/packages/react-native/src/attachment/index.ts index 640b896d..4ac817a7 100644 --- a/packages/react-native/src/attachment/index.ts +++ b/packages/react-native/src/attachment/index.ts @@ -1,2 +1,2 @@ -export { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from '@backtrace-labs/sdk-core'; +export { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from '@backtrace/sdk-core'; export * from './BacktraceFileAttachment'; diff --git a/packages/react-native/src/attributes/NativeAttributeProvider.ts b/packages/react-native/src/attributes/NativeAttributeProvider.ts index f32f936e..8f9dcec7 100644 --- a/packages/react-native/src/attributes/NativeAttributeProvider.ts +++ b/packages/react-native/src/attributes/NativeAttributeProvider.ts @@ -1,4 +1,4 @@ -import { type AttributeType, type BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { type AttributeType, type BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { NativeModules } from 'react-native'; export class NativeAttributeProvider implements BacktraceAttributeProvider { private readonly _provider: { get(): Record }; diff --git a/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts b/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts index ad2cb60b..1887105d 100644 --- a/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts +++ b/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts @@ -1,4 +1,4 @@ -import { type BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { type BacktraceAttributeProvider } from '@backtrace/sdk-core'; import { Platform } from 'react-native'; import { hermes } from '../common/hermesHelper'; diff --git a/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts index 3992cf87..6ca27320 100644 --- a/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts +++ b/packages/react-native/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -8,7 +8,7 @@ import { type Breadcrumb, type BreadcrumbsStorage, type RawBreadcrumb, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; import { BacktraceFileAttachment } from '..'; import { type FileSystem } from '../storage'; import { AlternatingFileWriter } from './AlternatingFileWriter'; diff --git a/packages/react-native/src/builder/BacktraceClientBuilder.ts b/packages/react-native/src/builder/BacktraceClientBuilder.ts index 8b46fed4..b47db4ef 100644 --- a/packages/react-native/src/builder/BacktraceClientBuilder.ts +++ b/packages/react-native/src/builder/BacktraceClientBuilder.ts @@ -1,4 +1,4 @@ -import { BacktraceCoreClientBuilder } from '@backtrace-labs/sdk-core'; +import { BacktraceCoreClientBuilder } from '@backtrace/sdk-core'; import { Platform } from 'react-native'; import { NativeAttributeProvider } from '../attributes/NativeAttributeProvider'; import { ReactNativeAttributeProvider } from '../attributes/ReactNativeAttributeProvider'; diff --git a/packages/react-native/src/builder/BacktraceClientSetup.ts b/packages/react-native/src/builder/BacktraceClientSetup.ts index e4c2979d..8ba98aa4 100644 --- a/packages/react-native/src/builder/BacktraceClientSetup.ts +++ b/packages/react-native/src/builder/BacktraceClientSetup.ts @@ -1,4 +1,4 @@ -import type { PartialCoreClientSetup } from '@backtrace-labs/sdk-core'; +import type { PartialCoreClientSetup } from '@backtrace/sdk-core'; import type { BacktraceConfiguration } from '../BacktraceConfiguration'; export interface BacktraceClientSetup diff --git a/packages/react-native/src/converters/AndroidStackTraceConverter.ts b/packages/react-native/src/converters/AndroidStackTraceConverter.ts index c40d23f3..876d946a 100644 --- a/packages/react-native/src/converters/AndroidStackTraceConverter.ts +++ b/packages/react-native/src/converters/AndroidStackTraceConverter.ts @@ -1,4 +1,4 @@ -import { type BacktraceStackFrame } from '@backtrace-labs/sdk-core'; +import { type BacktraceStackFrame } from '@backtrace/sdk-core'; export class AndroidStackTraceConverter { public readonly NativeLibraryName = 'Native'; diff --git a/packages/react-native/src/crashReporter/CrashReporter.ts b/packages/react-native/src/crashReporter/CrashReporter.ts index 84eda85b..5e9e271f 100644 --- a/packages/react-native/src/crashReporter/CrashReporter.ts +++ b/packages/react-native/src/crashReporter/CrashReporter.ts @@ -1,4 +1,4 @@ -import { type AttributeType, type BacktraceAttachment, type FileSystem } from '@backtrace-labs/sdk-core'; +import { type AttributeType, type BacktraceAttachment, type FileSystem } from '@backtrace/sdk-core'; import { NativeModules } from 'react-native'; import { BacktraceFileAttachment } from '../attachment/BacktraceFileAttachment'; import { DebuggerHelper } from '../common/DebuggerHelper'; diff --git a/packages/react-native/src/handlers/UnhandledExceptionHandler.ts b/packages/react-native/src/handlers/UnhandledExceptionHandler.ts index f610abbf..7143dd48 100644 --- a/packages/react-native/src/handlers/UnhandledExceptionHandler.ts +++ b/packages/react-native/src/handlers/UnhandledExceptionHandler.ts @@ -1,4 +1,4 @@ -import { BacktraceReport } from '@backtrace-labs/sdk-core'; +import { BacktraceReport } from '@backtrace/sdk-core'; import { BacktraceClient } from '../BacktraceClient'; import { hermes } from '../common/hermesHelper'; import { type ExceptionHandler } from './ExceptionHandler'; diff --git a/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts b/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts index 3010927f..87b7e91e 100644 --- a/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts +++ b/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts @@ -1,4 +1,4 @@ -import { BacktraceReport } from '@backtrace-labs/sdk-core'; +import { BacktraceReport } from '@backtrace/sdk-core'; import { NativeModules } from 'react-native'; import { BacktraceClient } from '../../BacktraceClient'; import { DebuggerHelper } from '../../common/DebuggerHelper'; diff --git a/packages/react-native/src/index.ts b/packages/react-native/src/index.ts index 59177fbe..1a187999 100644 --- a/packages/react-native/src/index.ts +++ b/packages/react-native/src/index.ts @@ -10,7 +10,7 @@ export { type BacktraceStackTraceConverter, type BreadcrumbsEventSubscriber, type RawBreadcrumb, -} from '@backtrace-labs/sdk-core'; +} from '@backtrace/sdk-core'; export * from './attachment/'; export { BacktraceClient } from './BacktraceClient'; export { type BacktraceConfiguration } from './BacktraceConfiguration'; diff --git a/packages/react-native/src/storage/FileSystem.ts b/packages/react-native/src/storage/FileSystem.ts index 9db68971..02b09973 100644 --- a/packages/react-native/src/storage/FileSystem.ts +++ b/packages/react-native/src/storage/FileSystem.ts @@ -1,4 +1,4 @@ -import { type FileSystem as CoreFileSystem } from '@backtrace-labs/sdk-core'; +import { type FileSystem as CoreFileSystem } from '@backtrace/sdk-core'; import { type StreamWriter } from './StreamWriter'; export interface FileSystem extends CoreFileSystem { copy(sourceFile: string, destinationFile: string): Promise; diff --git a/packages/react-native/src/storage/ReactNativeFileSystem.ts b/packages/react-native/src/storage/ReactNativeFileSystem.ts index f3eb5f00..f8c8d6e2 100644 --- a/packages/react-native/src/storage/ReactNativeFileSystem.ts +++ b/packages/react-native/src/storage/ReactNativeFileSystem.ts @@ -1,4 +1,4 @@ -import { type BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { type BacktraceAttachment } from '@backtrace/sdk-core'; import { NativeModules } from 'react-native'; import { BacktraceFileAttachment } from '../attachment/BacktraceFileAttachment'; import { type FileSystem } from './FileSystem'; diff --git a/packages/react-native/tests/androidStackTraceConverterTests.spec.ts b/packages/react-native/tests/androidStackTraceConverterTests.spec.ts index 51d615a3..953111cf 100644 --- a/packages/react-native/tests/androidStackTraceConverterTests.spec.ts +++ b/packages/react-native/tests/androidStackTraceConverterTests.spec.ts @@ -1,4 +1,4 @@ -import { type BacktraceStackFrame } from '@backtrace-labs/sdk-core'; +import { type BacktraceStackFrame } from '@backtrace/sdk-core'; import { fail } from 'assert'; import { AndroidStackTraceConverter } from '../src/converters/AndroidStackTraceConverter'; diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 3458d420..2af235e4 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,10 +1,14 @@ +# Version 0.1.0 + +- library rename to `@backtrace/react` + # Version 0.0.5 - add file system abstractions - use `ErrorEvent` `message` field if `error` field is `undefined` in unhandled exception/rejection handlers - add support for `bigint` serialization - add `jsonEscaper` to `JSON.stringify()` and don't assume action exists in `BacktraceReduxMiddleware` -- update `@backtrace-labs/browser` to `0.0.5` +- update `@backtrace/browser` to `0.0.5` # Version 0.0.4 @@ -12,14 +16,14 @@ - use single global client instance - update attachment management to use `addAttachment` instead of a mutable array - fix typo in `referrer` attribute -- update `@backtrace-labs/browser` to `0.0.4` +- update `@backtrace/browser` to `0.0.4` # Version 0.0.3 - add deferred user attributes - fix skipping stack frame with message reports - fix missing library name -- update `@backtrace-labs/browser` to `0.0.3` +- update `@backtrace/browser` to `0.0.3` # Version 0.0.2 @@ -28,7 +32,7 @@ - export `BacktraceBrowserRequestHandler` - fix issues with ignoring jsonEscape in the formatter function - do not pass form data `Content-Type` -- update `@backtrace-labs/browser` to `0.0.2` +- update `@backtrace/browser` to `0.0.2` # Version 0.0.1 diff --git a/packages/react/README.md b/packages/react/README.md index 8b771552..bd72ff3c 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -3,8 +3,8 @@ [Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/react](#) SDK connects your React application to Backtrace. The basic integration is quick and -easy, after which you can explore the rich set of Backtrace features. +The [@backtrace/react](#) SDK connects your React application to Backtrace. The basic integration is quick and easy, +after which you can explore the rich set of Backtrace features. ## Table of Contents @@ -31,7 +31,7 @@ easy, after which you can explore the rich set of Backtrace features. ### Install the package ``` -$ npm install @backtrace-labs/react +$ npm install @backtrace/react ``` ### Integrate the SDK @@ -39,8 +39,8 @@ $ npm install @backtrace-labs/react Add the following code to your application before all other scripts to report client-side errors to Backtrace. ```ts -// Import the BacktraceClient from @backtrace-labs/react with your favorite package manager. -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react'; +// Import the BacktraceClient from @backtrace/react with your favorite package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/react'; // Configure client options const options: BacktraceConfiguration = { @@ -65,7 +65,7 @@ client.send(new Error('Something broke!')); ### Add a Backtrace Error Boundary -The `@backtrace-labs/react` SDK offers an Error Boundary that will handle errors during rendering, send the error and +The `@backtrace/react` SDK offers an Error Boundary that will handle errors during rendering, send the error and component stack to Backtrace, and allow you to provide a fallback component. Props: @@ -83,7 +83,7 @@ export interface Props { Usage: ```ts -import { ErrorBoundary } from '@backtrace-labs/react'; +import { ErrorBoundary } from '@backtrace/react'; import Fallback from './components/Fallback'; @@ -197,8 +197,8 @@ BacktraceClient, or dynamically for specific reports. When including attachments uploaded with each report. ```ts -// Import attachment types from @backtrace-labs/react -import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace-labs/react"; +// Import attachment types from @backtrace/react +import { BacktraceStringAttachment, BacktraceUint8ArrayAttachment } from "@backtrace/react"; // BacktraceStringAttachment should be used for text object like a log file, for example const attachment1 = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") @@ -253,7 +253,7 @@ and manual breadcrumbs can also be added. | `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | ```ts -import { BacktraceClient, BacktraceConfiguration } from '@backtrace-labs/react'; +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/react'; // BacktraceClientOptions const options: BacktraceConfiguration = { @@ -323,29 +323,31 @@ client.metrics?.send(); ### BacktraceClient -BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send reports from exceptions and rejection handlers. Do not create more than one instance of this object. +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will +compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send +reports from exceptions and rejection handlers. Do not create more than one instance of this object. #### BacktraceClientOptions The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. -| Option Name | Type | Description | Default | Required? | -| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | -| `url` | String | Submission URL to send errors to | |
        • - [x]
        | -| `name` | String | Your application name | |
        • - [x]
        | -| `version` | String | Your application version | |
        • - [x]
        | -| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | -| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | -| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `name` | String | Your application name | |
        • - [x]
        | +| `version` | String | Your application version | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | | `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | -| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | -| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | -| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | -| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | -| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | -| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | -| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | -| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | ### Manually send an error @@ -367,19 +369,22 @@ await client.send(new BacktraceReport(new Error('This is a report with a string! ``` ### Modify/skip error reports -A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application has at the time of exception. A report can be skipped sompletely by returning a null value. + +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. +You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application +has at the time of exception. A report can be skipped sompletely by returning a null value. ```ts const client = BacktraceClient.initialize({ url: SUBMISSION_URL, - name: '@backtrace-labs/react-example', + name: '@backtrace/react-example', version: '0.0.1', beforeSend: (data: BacktraceData) => { // skip the report by returning a null from the callback if (!shouldSendReportToBacktrace(data)) { return undefined; } - // apply custom attribute + // apply custom attribute data.attributes['new-attribute"] = 'apply-data-in-callback'; return data; }, @@ -388,9 +393,11 @@ const client = BacktraceClient.initialize({ ### SDK Method Overrides -BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for example, can be used to implement custom encryption for data at rest or in motion. +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for +example, can be used to implement custom encryption for data at rest or in motion. -> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for the correct method to modify a report before sending it to Backtrace. +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for +> the correct method to modify a report before sending it to Backtrace. ```ts const client = BacktraceClient.builder(options) diff --git a/packages/react/package.json b/packages/react/package.json index 79b92bb2..9498ba3e 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/react", - "version": "0.0.5", + "name": "@backtrace/react", + "version": "0.1.0", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { @@ -47,8 +47,8 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace-labs/browser": "^0.0.5", - "@backtrace-labs/sdk-core": "^0.0.7" + "@backtrace/browser": "^0.1.0", + "@backtrace/sdk-core": "^0.1.0" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/react/src/BacktraceClient.ts b/packages/react/src/BacktraceClient.ts index d5da2c2c..394a9d59 100644 --- a/packages/react/src/BacktraceClient.ts +++ b/packages/react/src/BacktraceClient.ts @@ -1,9 +1,9 @@ import { + BacktraceClient as BrowserClient, BacktraceClientSetup, BacktraceConfiguration, - BacktraceClient as BrowserClient, getStackTraceConverter, -} from '@backtrace-labs/browser'; +} from '@backtrace/browser'; import { AGENT } from './agentDefinition'; import { BacktraceReactClientBuilder } from './builder/BacktraceReactClientBuilder'; import { ReactStackTraceConverter } from './converters/ReactStackTraceConverter'; diff --git a/packages/react/src/agentDefinition.ts b/packages/react/src/agentDefinition.ts index 435bd5c4..5f75abd4 100644 --- a/packages/react/src/agentDefinition.ts +++ b/packages/react/src/agentDefinition.ts @@ -1,4 +1,4 @@ -import type { SdkOptions } from '@backtrace-labs/sdk-core'; +import type { SdkOptions } from '@backtrace/sdk-core'; // These variables will be set on compilation stage declare const BACKTRACE_AGENT_NAME: string; diff --git a/packages/react/src/builder/BacktraceReactClientBuilder.ts b/packages/react/src/builder/BacktraceReactClientBuilder.ts index 49fc9add..e2cce34a 100644 --- a/packages/react/src/builder/BacktraceReactClientBuilder.ts +++ b/packages/react/src/builder/BacktraceReactClientBuilder.ts @@ -1,4 +1,4 @@ -import { BacktraceClientBuilder, BacktraceClientSetup } from '@backtrace-labs/browser'; +import { BacktraceClientBuilder, BacktraceClientSetup } from '@backtrace/browser'; import { BacktraceClient } from '../BacktraceClient'; export class BacktraceReactClientBuilder extends BacktraceClientBuilder { diff --git a/packages/react/src/converters/ReactStackTraceConverter.ts b/packages/react/src/converters/ReactStackTraceConverter.ts index 931b1982..4caaf829 100644 --- a/packages/react/src/converters/ReactStackTraceConverter.ts +++ b/packages/react/src/converters/ReactStackTraceConverter.ts @@ -1,4 +1,4 @@ -import { BacktraceStackFrame, BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace-labs/browser'; +import { BacktraceStackFrame, BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace/browser'; export class ReactStackTraceConverter implements BacktraceStackTraceConverter { constructor(private readonly stackTraceConverter: BacktraceStackTraceConverter) {} diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 6fd0841f..a4e11c6b 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,4 +1,4 @@ -export * from '@backtrace-labs/browser'; +export * from '@backtrace/browser'; export { BacktraceClient } from './BacktraceClient'; export * from './builder/BacktraceReactClientBuilder'; export * from './converters/ReactStackTraceConverter'; diff --git a/packages/react/tests/reactStackTraceConverter.spec.ts b/packages/react/tests/reactStackTraceConverter.spec.ts index c035690c..db4e10c9 100644 --- a/packages/react/tests/reactStackTraceConverter.spec.ts +++ b/packages/react/tests/reactStackTraceConverter.spec.ts @@ -1,4 +1,4 @@ -import { BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace-labs/browser'; +import { BacktraceStackTraceConverter, JavaScriptEngine } from '@backtrace/browser'; import { ReactStackTraceConverter } from '../src/converters/ReactStackTraceConverter'; /* eslint-disable @typescript-eslint/no-explicit-any */ diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md index f7f9ac5c..a5d72704 100644 --- a/packages/sdk-core/CHANGELOG.md +++ b/packages/sdk-core/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.1.0 + +- library rename to `@backtrace/sdk-core` + # Version 0.0.7 - remove `const` from types for Typescript <5 compatibility diff --git a/packages/sdk-core/README.md b/packages/sdk-core/README.md index 1c9944db..7e4a7306 100644 --- a/packages/sdk-core/README.md +++ b/packages/sdk-core/README.md @@ -1,5 +1,8 @@ # **Backtrace SDK core** -[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/core](#) SDK connects all JavasSript SDKs created by Backtrace on all platforms. In this package you can find the common code shared by all our modules. For platform-specific implementation or overrides, please visit our repository https://github.com/backtrace-labs/backtrace-javascript \ No newline at end of file +The [@backtrace/core](#) SDK connects all JavasSript SDKs created by Backtrace on all platforms. In this package you can +find the common code shared by all our modules. For platform-specific implementation or overrides, please visit our +repository https://github.com/backtrace-labs/backtrace-javascript diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index ca356ef4..94588d22 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/sdk-core", - "version": "0.0.7", + "name": "@backtrace/sdk-core", + "version": "0.1.0", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/tools/cli/package.json b/tools/cli/package.json index 9682cf24..e24f0b9a 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/javascript-cli", - "version": "0.1.2", + "name": "@backtrace/javascript-cli", + "version": "0.2.0", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -45,7 +45,7 @@ "/lib" ], "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0", + "@backtrace/sourcemap-tools": "^0.2.0", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", diff --git a/tools/cli/src/commands/Command.ts b/tools/cli/src/commands/Command.ts index 7cb6f20f..e84dfe9c 100644 --- a/tools/cli/src/commands/Command.ts +++ b/tools/cli/src/commands/Command.ts @@ -1,7 +1,7 @@ -import { Err, Ok, Result } from '@backtrace-labs/sourcemap-tools'; +import { Err, Ok, Result } from '@backtrace/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import commandLineUsage, { Section } from 'command-line-usage'; -import { CliLogger, CreateLoggerOptions, createLogger } from '../logger'; +import { CliLogger, createLogger, CreateLoggerOptions } from '../logger'; import { CommandError } from '../models/CommandError'; import { ExtendedOptionDefinition } from '../models/OptionDefinition'; diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index de5fb183..e34de3d3 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -2,18 +2,18 @@ import { Asset, AssetWithContent, Err, + loadSourceMap, Ok, + parseJSON, + pipe, R, RawSourceMap, + readFile, ResultPromise, SourceAndSourceMap, SourceProcessor, - loadSourceMap, - parseJSON, - pipe, - readFile, writeFile, -} from '@backtrace-labs/sourcemap-tools'; +} from '@backtrace/sourcemap-tools'; import fs from 'fs'; export function toAsset(file: string): Asset { diff --git a/tools/cli/src/helpers/errorBehavior.ts b/tools/cli/src/helpers/errorBehavior.ts index 14ae0be0..b550e727 100644 --- a/tools/cli/src/helpers/errorBehavior.ts +++ b/tools/cli/src/helpers/errorBehavior.ts @@ -1,4 +1,4 @@ -import { Err, Ok, Result, ResultErr } from '@backtrace-labs/sourcemap-tools'; +import { Err, Ok, Result, ResultErr } from '@backtrace/sourcemap-tools'; export const ErrorBehaviors = { exit: 'exit', diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index 64cf3814..a421ba88 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -1,4 +1,4 @@ -import { FileFinder, log, pipe } from '@backtrace-labs/sourcemap-tools'; +import { FileFinder, log, pipe } from '@backtrace/sourcemap-tools'; import fs from 'fs'; import { glob } from 'glob'; import path from 'path'; diff --git a/tools/cli/src/helpers/jsonc.ts b/tools/cli/src/helpers/jsonc.ts index 83075f8c..361e38be 100644 --- a/tools/cli/src/helpers/jsonc.ts +++ b/tools/cli/src/helpers/jsonc.ts @@ -1,4 +1,4 @@ -import { Err, Ok, Result } from '@backtrace-labs/sourcemap-tools'; +import { Err, Ok, Result } from '@backtrace/sourcemap-tools'; import { jsonc } from 'jsonc'; export function parseJSONC(content: string): Result { diff --git a/tools/cli/src/helpers/logs.ts b/tools/cli/src/helpers/logs.ts index 934d660c..2a356bca 100644 --- a/tools/cli/src/helpers/logs.ts +++ b/tools/cli/src/helpers/logs.ts @@ -1,4 +1,4 @@ -import { Asset, log, LogLevel, ProcessAssetResult, SourceAndSourceMap } from '@backtrace-labs/sourcemap-tools'; +import { Asset, log, LogLevel, ProcessAssetResult, SourceAndSourceMap } from '@backtrace/sourcemap-tools'; import { CliLogger } from '../logger'; export function logAsset(logger: CliLogger, level: LogLevel) { diff --git a/tools/cli/src/helpers/version.ts b/tools/cli/src/helpers/version.ts index 8482e6d4..18594840 100644 --- a/tools/cli/src/helpers/version.ts +++ b/tools/cli/src/helpers/version.ts @@ -1,4 +1,4 @@ -import { R, parseJSON, pipe, readFile } from '@backtrace-labs/sourcemap-tools'; +import { parseJSON, pipe, R, readFile } from '@backtrace/sourcemap-tools'; import path from 'path'; interface PackageJson { diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index 4760c1f7..34678c56 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -1,10 +1,10 @@ #!/usr/bin/env node -import { Err, R, pipe } from '@backtrace-labs/sourcemap-tools'; +import { Err, pipe, R } from '@backtrace/sourcemap-tools'; import commandLineArgs from 'command-line-args'; import { Command } from './commands/Command'; import { loadVersion } from './helpers/version'; -import { CreateLoggerOptions, createLogger } from './logger'; +import { createLogger, CreateLoggerOptions } from './logger'; import { DEFAULT_OPTIONS_FILENAME } from './options/loadOptions'; import { addSourcesCmd } from './sourcemaps/add-sources'; import { processCmd } from './sourcemaps/process'; diff --git a/tools/cli/src/logger.ts b/tools/cli/src/logger.ts index 525e4d27..32cbd3bd 100644 --- a/tools/cli/src/logger.ts +++ b/tools/cli/src/logger.ts @@ -1,4 +1,4 @@ -import { Logger, LogLevel } from '@backtrace-labs/sourcemap-tools'; +import { Logger, LogLevel } from '@backtrace/sourcemap-tools'; import { format } from 'util'; export interface CreateLoggerOptions { diff --git a/tools/cli/src/options/loadOptions.ts b/tools/cli/src/options/loadOptions.ts index 85b8c560..4e702004 100644 --- a/tools/cli/src/options/loadOptions.ts +++ b/tools/cli/src/options/loadOptions.ts @@ -1,4 +1,4 @@ -import { Err, Ok, pipe, R, readFile, ResultPromise } from '@backtrace-labs/sourcemap-tools'; +import { Err, Ok, pipe, R, readFile, ResultPromise } from '@backtrace/sourcemap-tools'; import fs from 'fs'; import path from 'path'; import { parseJSONC } from '../helpers/jsonc'; diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index ee6317b7..df208529 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -20,7 +20,7 @@ import { RawSourceMap, ResultPromise, SourceProcessor, -} from '@backtrace-labs/sourcemap-tools'; +} from '@backtrace/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index dfd9af1a..80c2aacb 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -19,7 +19,7 @@ import { R, SourceAndSourceMap, SourceProcessor, -} from '@backtrace-labs/sourcemap-tools'; +} from '@backtrace/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 6f19616b..66009a1d 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -3,27 +3,27 @@ import { AssetWithContent, DebugIdGenerator, Err, - LogLevel, - Ok, - R, - RawSourceMap, - RawSourceMapWithDebugId, - SourceAndSourceMap, - SourceProcessor, - UploadResult, failIfEmpty, filter, filterAsync, flow, log, + LogLevel, map, mapAsync, matchSourceExtension, not, + Ok, pass, pipe, + R, + RawSourceMap, + RawSourceMapWithDebugId, + SourceAndSourceMap, + SourceProcessor, stripSourcesContent, -} from '@backtrace-labs/sourcemap-tools'; + UploadResult, +} from '@backtrace/sourcemap-tools'; import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 31f05896..fcf7594f 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -28,7 +28,7 @@ import { SymbolUploaderOptions, UploadResult, ZipArchive, -} from '@backtrace-labs/sourcemap-tools'; +} from '@backtrace/sourcemap-tools'; import fs from 'fs'; import path from 'path'; import { Writable } from 'stream'; diff --git a/tools/cli/tests/_helpers/common.ts b/tools/cli/tests/_helpers/common.ts index 82b000ab..f2354c10 100644 --- a/tools/cli/tests/_helpers/common.ts +++ b/tools/cli/tests/_helpers/common.ts @@ -1,4 +1,4 @@ -import { Ok, Result, SymbolUploader, UploadResult } from '@backtrace-labs/sourcemap-tools'; +import { Ok, Result, SymbolUploader, UploadResult } from '@backtrace/sourcemap-tools'; import { Transform } from 'stream'; export function getHelpMessage() { diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index 1abd8b50..efd6dcfe 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -1,4 +1,4 @@ -import { SourceProcessor } from '@backtrace-labs/sourcemap-tools'; +import { SourceProcessor } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import { glob } from 'glob'; import { CliLogger } from '../../src/logger'; diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index 0437dbde..5a44fecb 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -1,4 +1,4 @@ -import { SourceProcessor } from '@backtrace-labs/sourcemap-tools'; +import { SourceProcessor } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import { glob } from 'glob'; import { CliLogger } from '../../src/logger'; diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index 818912fb..d8c84bc0 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -1,4 +1,4 @@ -import { Ok } from '@backtrace-labs/sourcemap-tools'; +import { Ok } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import { randomUUID } from 'crypto'; import fs from 'fs'; diff --git a/tools/cli/tests/sourcemaps/upload.spec.ts b/tools/cli/tests/sourcemaps/upload.spec.ts index 6a8faa4c..b19771b0 100644 --- a/tools/cli/tests/sourcemaps/upload.spec.ts +++ b/tools/cli/tests/sourcemaps/upload.spec.ts @@ -1,4 +1,4 @@ -import { RawSourceMap, ZipArchive } from '@backtrace-labs/sourcemap-tools'; +import { RawSourceMap, ZipArchive } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import { randomUUID } from 'crypto'; import fs from 'fs'; diff --git a/tools/rollup-plugin/README.md b/tools/rollup-plugin/README.md index 0fae39bd..92b6b33a 100644 --- a/tools/rollup-plugin/README.md +++ b/tools/rollup-plugin/README.md @@ -1,5 +1,7 @@ -# @backtrace-labs/rollup-plugin -If you're using rollup as your project bundler, you can use `@backtrace-labs/rollup-plugin` to automate working with sourcemaps. +# @backtrace/rollup-plugin + +If you're using rollup as your project bundler, you can use `@backtrace/rollup-plugin` to automate working with +sourcemaps. [(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) @@ -9,38 +11,42 @@ Set `sourcemap` in `output` to `true` in your `rollup.config.js`: ```js module.exports = { - build: { - sourcemap: true - } -} + build: { + sourcemap: true, + }, +}; ``` If you're using code transpiler plugins (such as Typescript), ensure to enable source-mapping there as well. -## Set up `@backtrace-labs/rollup-plugin` +## Set up `@backtrace/rollup-plugin` ### Construct an upload URL -A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL for the `sourcemap` endpoint with a `symbol-post` token. +A specific URL is required to upload source maps. Follow +[these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL +for the `sourcemap` endpoint with a `symbol-post` token. -### Install `@backtrace-labs/rollup-plugin` as a developer dependency: +### Install `@backtrace/rollup-plugin` as a developer dependency: ```bash -> npm install --save-dev @backtrace-labs/rollup-plugin +> npm install --save-dev @backtrace/rollup-plugin ``` ### Add it to your `plugins` array in `rollup.config.js`: ```js -import { BacktracePlugin } from '@backtrace-labs/rollup-plugin'; +import { BacktracePlugin } from '@backtrace/rollup-plugin'; // or -const { BacktracePlugin } = require('@backtrace-labs/rollup-plugin'); +const { BacktracePlugin } = require('@backtrace/rollup-plugin'); module.exports = { - // other configuration - plugins: [new BacktracePlugin({ - // enable upload only on production builds - uploadUrl: process.env.NODE_ENV === "production" ? "" : undefined - })] -} -``` \ No newline at end of file + // other configuration + plugins: [ + new BacktracePlugin({ + // enable upload only on production builds + uploadUrl: process.env.NODE_ENV === 'production' ? '' : undefined, + }), + ], +}; +``` diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json index 1fb5ca67..a9ddc48b 100644 --- a/tools/rollup-plugin/package.json +++ b/tools/rollup-plugin/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/rollup-plugin", - "version": "0.0.2", + "name": "@backtrace/rollup-plugin", + "version": "0.1.0", "description": "Backtrace Rollup plugin", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0" + "@backtrace/sourcemap-tools": "^0.2.0" }, "peerDependencies": { "rollup": "^3.26.3" diff --git a/tools/rollup-plugin/rollup.config.js b/tools/rollup-plugin/rollup.config.js index 4cb8cec9..b7262f68 100644 --- a/tools/rollup-plugin/rollup.config.js +++ b/tools/rollup-plugin/rollup.config.js @@ -9,5 +9,5 @@ module.exports = { sourcemap: true, }, plugins: [typescript({ tsconfig: './tsconfig.rollup.json' }), BacktracePlugin()], - external: ['@backtrace-labs/sourcemap-tools', 'fs', 'path'], + external: ['@backtrace/sourcemap-tools', 'fs', 'path'], }; diff --git a/tools/rollup-plugin/src/index.ts b/tools/rollup-plugin/src/index.ts index 99b9d2f7..b0cb7815 100644 --- a/tools/rollup-plugin/src/index.ts +++ b/tools/rollup-plugin/src/index.ts @@ -3,7 +3,7 @@ import { BacktracePluginOptions, matchSourceExtension, processAndUploadAssetsCommand, -} from '@backtrace-labs/sourcemap-tools'; +} from '@backtrace/sourcemap-tools'; import path from 'path'; import { LogLevel, Plugin } from 'rollup'; diff --git a/tools/sourcemap-tools/README.md b/tools/sourcemap-tools/README.md index bb5ccccd..c8fe1fae 100644 --- a/tools/sourcemap-tools/README.md +++ b/tools/sourcemap-tools/README.md @@ -1,5 +1,8 @@ # **Backtrace Source maps tools** -[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so you can manage application quality through the complete product lifecycle. +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. -The [@backtrace-labs/sourcemap-tools](#) SDK connects all source maps tools created by Backtrace on all platforms. In this package you can find the common code shared by all our modules. For platform-specific implementation or overrides, please visit our repository https://github.com/backtrace-labs/backtrace-javascript \ No newline at end of file +The [@backtrace/sourcemap-tools](#) SDK connects all source maps tools created by Backtrace on all platforms. In this +package you can find the common code shared by all our modules. For platform-specific implementation or overrides, +please visit our repository https://github.com/backtrace-labs/backtrace-javascript diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index 9aa651dd..b31e7303 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/sourcemap-tools", - "version": "0.1.0", + "name": "@backtrace/sourcemap-tools", + "version": "0.2.0", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/tools/vite-plugin/README.md b/tools/vite-plugin/README.md index d73b5995..adb3315d 100644 --- a/tools/vite-plugin/README.md +++ b/tools/vite-plugin/README.md @@ -1,5 +1,6 @@ -# @backtrace-labs/vite-plugin -If you're using Vite as your project bundler, you can use `@backtrace-labs/vite-plugin` to automate working with sourcemaps. +# @backtrace/vite-plugin + +If you're using Vite as your project bundler, you can use `@backtrace/vite-plugin` to automate working with sourcemaps. [(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) @@ -9,38 +10,42 @@ Set `sourcemap` in `output` to `true` in your `vite.config.js`: ```js module.exports = { - build: { - sourcemap: true - } -} + build: { + sourcemap: true, + }, +}; ``` If you're using code transpiler plugins (such as Typescript), ensure to enable source-mapping there as well. -## Set up `@backtrace-labs/vite-plugin` +## Set up `@backtrace/vite-plugin` ### Construct an upload URL -A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL for the `sourcemap` endpoint with a `symbol-post` token. +A specific URL is required to upload source maps. Follow +[these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL +for the `sourcemap` endpoint with a `symbol-post` token. -### Install `@backtrace-labs/vite-plugin` as a developer dependency: +### Install `@backtrace/vite-plugin` as a developer dependency: ```bash -> npm install --save-dev @backtrace-labs/vite-plugin +> npm install --save-dev @backtrace/vite-plugin ``` ### Add it to your `plugins` array in `vite.config.js`: ```js -import { BacktracePlugin } from '@backtrace-labs/vite-plugin'; +import { BacktracePlugin } from '@backtrace/vite-plugin'; // or -const { BacktracePlugin } = require('@backtrace-labs/vite-plugin'); +const { BacktracePlugin } = require('@backtrace/vite-plugin'); module.exports = { - // other configuration - plugins: [new BacktracePlugin({ - // enable upload only on production builds - uploadUrl: process.env.NODE_ENV === "production" ? "" : undefined - })] -} -``` \ No newline at end of file + // other configuration + plugins: [ + new BacktracePlugin({ + // enable upload only on production builds + uploadUrl: process.env.NODE_ENV === 'production' ? '' : undefined, + }), + ], +}; +``` diff --git a/tools/vite-plugin/package.json b/tools/vite-plugin/package.json index 0a12ab5f..fb97d93b 100644 --- a/tools/vite-plugin/package.json +++ b/tools/vite-plugin/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/vite-plugin", - "version": "0.0.2", + "name": "@backtrace/vite-plugin", + "version": "0.1.0", "description": "Backtrace Vite plugin", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -45,7 +45,7 @@ "vite": "^4.4.9" }, "dependencies": { - "@backtrace-labs/rollup-plugin": "^0.0.2" + "@backtrace/rollup-plugin": "^0.1.0" }, "devDependencies": { "typescript": "^5.0.4" diff --git a/tools/vite-plugin/src/index.ts b/tools/vite-plugin/src/index.ts index dd091ee2..99ab4fef 100644 --- a/tools/vite-plugin/src/index.ts +++ b/tools/vite-plugin/src/index.ts @@ -1 +1 @@ -export * from '@backtrace-labs/rollup-plugin'; +export * from '@backtrace/rollup-plugin'; diff --git a/tools/webpack-plugin/README.md b/tools/webpack-plugin/README.md index c7a33550..5969fbf9 100644 --- a/tools/webpack-plugin/README.md +++ b/tools/webpack-plugin/README.md @@ -1,5 +1,7 @@ -# @backtrace-labs/webpack-plugin -If you're using Webpack as your project bundler, you can use `@backtrace-labs/webpack-plugin` to automate working with sourcemaps. +# @backtrace/webpack-plugin + +If you're using Webpack as your project bundler, you can use `@backtrace/webpack-plugin` to automate working with +sourcemaps. [(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) @@ -9,37 +11,41 @@ Set `devtool` to `source-map` in your `webpack.config.js`: ```js module.exports = { - devtool: 'source-map', - // other configuration -} + devtool: 'source-map', + // other configuration +}; ``` If you're using code transpiler plugins (such as Typescript), ensure to enable `source-mapping` there as well. -## Set up `@backtrace-labs/webpack-plugin` +## Set up `@backtrace/webpack-plugin` ### Construct an upload URL -A specific URL is required to upload source maps. Follow [these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL for the `sourcemap` endpoint with a `symbol-post` token. +A specific URL is required to upload source maps. Follow +[these instructions](https://docs.saucelabs.com/error-reporting/project-setup/submission-url/) to create an upload URL +for the `sourcemap` endpoint with a `symbol-post` token. -### Install `@backtrace-labs/webpack-plugin` as a developer dependency: +### Install `@backtrace/webpack-plugin` as a developer dependency: ```bash -> npm install --save-dev @backtrace-labs/webpack-plugin +> npm install --save-dev @backtrace/webpack-plugin ``` ### Add it to your `plugins` array in `webpack.config.js`: ```js -import { BacktracePlugin } from '@backtrace-labs/webpack-plugin'; +import { BacktracePlugin } from '@backtrace/webpack-plugin'; // or -const { BacktracePlugin } = require('@backtrace-labs/webpack-plugin'); +const { BacktracePlugin } = require('@backtrace/webpack-plugin'); module.exports = { - // other configuration - plugins: [new BacktracePlugin({ - // enable upload only on production builds - uploadUrl: process.env.NODE_ENV === "production" ? "" : undefined - })] -} -``` \ No newline at end of file + // other configuration + plugins: [ + new BacktracePlugin({ + // enable upload only on production builds + uploadUrl: process.env.NODE_ENV === 'production' ? '' : undefined, + }), + ], +}; +``` diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 26bedf74..88a61a38 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -1,6 +1,6 @@ { - "name": "@backtrace-labs/webpack-plugin", - "version": "0.0.2", + "name": "@backtrace/webpack-plugin", + "version": "0.1.0", "description": "Backtrace Webpack plugin", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -58,7 +58,7 @@ "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { - "@backtrace-labs/sourcemap-tools": "^0.1.0" + "@backtrace/sourcemap-tools": "^0.2.0" }, "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" diff --git a/tools/webpack-plugin/src/BacktracePlugin.ts b/tools/webpack-plugin/src/BacktracePlugin.ts index 2c407151..412584d5 100644 --- a/tools/webpack-plugin/src/BacktracePlugin.ts +++ b/tools/webpack-plugin/src/BacktracePlugin.ts @@ -3,7 +3,7 @@ import { BacktracePluginOptions, matchSourceExtension, processAndUploadAssetsCommand, -} from '@backtrace-labs/sourcemap-tools'; +} from '@backtrace/sourcemap-tools'; import path from 'path'; import webpack, { WebpackPluginInstance } from 'webpack'; diff --git a/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts b/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts index 079681f7..0da08676 100644 --- a/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts +++ b/tools/webpack-plugin/tests/__mocks__/TestDebugIdGenerator.ts @@ -1,4 +1,4 @@ -import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY } from '@backtrace-labs/sourcemap-tools'; +import { DebugIdGenerator, SOURCEMAP_DEBUG_ID_KEY } from '@backtrace/sourcemap-tools'; export class TestDebugIdGenerator implements DebugIdGenerator { public generateSourceSnippet(): string { diff --git a/tools/webpack-plugin/tests/e2e/createE2ETest.ts b/tools/webpack-plugin/tests/e2e/createE2ETest.ts index be4848da..242bd4af 100644 --- a/tools/webpack-plugin/tests/e2e/createE2ETest.ts +++ b/tools/webpack-plugin/tests/e2e/createE2ETest.ts @@ -1,4 +1,4 @@ -import { Ok, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace-labs/sourcemap-tools'; +import { Ok, SourceProcessor, SymbolUploader, ZipArchive } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import crypto from 'crypto'; import fs from 'fs'; diff --git a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts index 2915926e..9ee2d8eb 100644 --- a/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts +++ b/tools/webpack-plugin/tests/e2e/no-sourcemaps/no-sourcemaps.spec.ts @@ -1,4 +1,4 @@ -import { SourceProcessor } from '@backtrace-labs/sourcemap-tools'; +import { SourceProcessor } from '@backtrace/sourcemap-tools'; import path from 'path'; import { asyncWebpack, expectSuccess, getBaseConfig, removeDir, webpackModeTest } from '../helpers'; From 1ac3fcf41e3001d1f21840dab58a770435e4153b Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 27 Oct 2023 10:29:46 +0200 Subject: [PATCH 232/291] electron: add docs and README (#185) * electron: throw error when preload data is not detected * electron: add docs and README * electron: replace @backtrace-labs with @backtrace * electron: add default value to AddBacktraceElectronOptions docs * electron: fix format issues * electron: readme changes * electron: readme changes --------- Co-authored-by: Sebastian Alex --- packages/electron/README.md | 524 ++++++++++++++++++ .../src/renderer/addBacktraceElectron.ts | 20 + packages/electron/src/renderer/common.ts | 3 + .../electron/src/renderer/ipc/getIpcRpc.ts | 5 + .../src/renderer/ipc/getIpcTransport.ts | 5 + 5 files changed, 557 insertions(+) create mode 100644 packages/electron/README.md create mode 100644 packages/electron/src/renderer/common.ts diff --git a/packages/electron/README.md b/packages/electron/README.md new file mode 100644 index 00000000..53f33b68 --- /dev/null +++ b/packages/electron/README.md @@ -0,0 +1,524 @@ +# **Backtrace Electron SDK** + +[Backtrace](https://backtrace.io) captures and reports handled and unhandled exceptions in your production software so +you can manage application quality through the complete product lifecycle. + +The [@backtrace/electron](#) SDK connects your JavaScript application to Backtrace. The basic integration is quick and +easy, after which you can explore the rich set of Backtrace features. + +## Table of Contents + +1. [Basic Integration - Reporting your first errors](#basic-integration) + - [Install the package](#install-the-package) + - [Integrate the SDK in the main process](#integrate-the-sdk-in-the-main-process) + - [Integrate the SDK in the renderer process](#integrate-the-sdk-in-the-renderer-process) + - [Upload source maps](#upload-source-maps) +1. [Error Reporting Features](#error-reporting-features) + - [Attributes](#attributes) + - [File Attachments](#file-attachments) + - [Breadcrumbs](#breadcrumbs) + - [Application Stability Metrics](#application-stability-metrics) + - [Metrics Configuration](#metrics-configuration) + - [Metrics Usage](#metrics-usage) + - [Offline Database support](#offline-database-support) + - [Database Configuration](#database-configuration) + - [Native crash support](#native-crash-support) + - [Manual database operations](#manual-database-operations) +1. [Advanced SDK Features](#advanced-sdk-features) + - [BacktraceClient Options](#backtraceclient) + - [Manually send an error](#manually-send-an-error) + - [Modify/skip error reports](#modifyskip-error-reports) + - [SDK Method Overrides](#sdk-method-overrides) + +## Basic Integration + +### Install the package + +``` +$ npm install @backtrace/electron +``` + +### Integrate the SDK in the main process + +Add the following code to your application before all other scripts to report Electron errors to Backtrace. + +```ts +// Import the BacktraceClient from @backtrace/electron with your favorite package manager. +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/electron'; + +// Configure client options +const options: BacktraceConfiguration = { + // Submission url + // is the subdomain of your Backtrace instance (.backtrace.io) + // can be found in Project Settings/Submission tokens + url: 'https://submit.backtrace.io///json', +}; + +// Initialize the client with the options +const client = BacktraceClient.initialize(options); + +// By default, Backtrace will send an error for Uncaught Exceptions and Unhandled Promise Rejections + +// Manually send an error +client.send(new Error('Something broke!')); +``` + +### Integrate the SDK in the renderer process + +You can use any browser based Backtrace SDK in your renderer process, such as `@backtrace/browser` or +`@backtrace/react`. Make sure to install it aside `@backtrace/electron`: + +``` +$ npm install @backtrace/browser +``` + +To add Backtrace to the renderer process with Electron IPC support, you need to use a +[preload script](https://www.electronjs.org/docs/latest/tutorial/tutorial-preload) in your `BrowserWindow`. Once you +have one, add this import to it: + +```ts +import '@backtrace/electron/main/preload'; +``` + +This will ensure that IPC APIs that Backtrace uses are loaded correctly. + +After that, you can initialize Backtrace in your renderer process. There are two things that differ from the normal SDK +initialization: + +1. URL is not used - you can leave it as an empty string, +1. You need to use `addBacktraceElectron` with the builder. + +For example, if you are initializing the SDK using the `initialize` function: + +```ts +const client = BacktraceClient.initialize( + { + url: '', + name: 'My Renderer App', + version: '0.0.1', + }, + (builder) => addBacktraceElectron(builder), +); +``` + +Or, if you are using the `build` function: + +```ts +const builder = BacktraceClient.builder({ + url: '', + name: 'My Renderer App', + version: '0.0.1', +}); + +addBacktraceElectron(builder); + +const client = builder.build(); +``` + +#### Submission process + +The renderer client does not submit any errors. Everything that is being sent to Backtrace is routed via IPC to the main +process, which handles the submission. + +This includes: + +- error reports, +- error report attachments, +- breadcrumbs, +- metrics. + +Main process' session ID is used in the renderer reports. + +When an error occurs in the renderer process, the attachments from main and renderer process are included in the report. +The attachments are streamed if possible (`Blob`, `ReadableStream`), otherwise copied by serializing them to JSON. +However, renderer attachments are not included in the main process crashes. This is due to a possibility of having +multiple renderer processes, but it may change in the future. + +#### Synchronized initialization + +When adding Electron to the renderer SDK, data is exchanged with the main process to ensure same session IDs are used. +By default, this is done asynchronously as soon as possible. This may however be not enough in case of startup crashes +just after the SDK initialization, because the data may not be exchanged yet. + +In those cases, you can use `synchronize` option in `addBacktraceBuilder`. Note, that if you do not ensure that the SDK +in the main process is initialized by the time you call `addBacktraceBuilder`, **your application may hang with a white +screen**. This is due to the synchronous nature of the IPC, that is blocking the renderer process until it receives a +response. + +To enable synchronous initialization: + +```ts +const client = BacktraceClient.initialize( + { + url: '', + name: 'My Renderer App', + version: '0.0.1', + }, + (builder) => addBacktraceElectron(builder, { synchronous: true }), +); +``` + +### Upload source maps + +Client-side error reports are based on minified code. Upload source maps and source code to resolve minified code to +your original source identifiers. + +[(Source Map feature documentation)](https://docs.saucelabs.com/error-reporting/platform-integrations/source-map/) + + + +## Error Reporting Features + +All features here are described for the main process. If you want to know more about error reporting in browser, consult +your Backtrace browser SDK's readme. + +### Attributes + +Custom attributes are key-value pairs that can be added to your error reports. They are used in report aggregation, +sorting and filtering, can provide better contextual data for an error, and much more. They are foundational to many of +the advanced Backtrace features detailed in +[Error Reporting documentation](https://docs.saucelabs.com/error-reporting/getting-started/). By default attributes such +as application name and version are populated automatically from Electron app information. + +There are several places where attributes can be added, modified or deleted. + +#### Attach attributes object to BacktraceClient + +It is possible to include an attributes object during [BacktraceClient](#backtraceclient) initialization. This list of +attributes will be included with every error report, referred to as global attributes. + +```ts +// Create an attributes object that can be modified throughout runtime +const attributes: Record = { + release: 'PROD', +}; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: attributes, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +You can also include attributes that will be resolved when creating a report: + +```ts +// BacktraceClientOptions +const options: BacktraceConfiguration = { + url: 'https://submit.backtrace.io///json', + + // Attach the attributes object + userAttributes: () => ({ + attribute: getAttributeValue(), + }), +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Add attributes during application runtime + +Global attributes can be set during the runtime once specific data has be loaded (e.g. a user has logged in). + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute({ + "clientID": "de6faf4d-d5b5-486c-9789-318f58a14476" +}) +``` + +You can also add attributes that will be resolved when creating a report: + +```ts +const client = BacktraceClient.initialize(options); +... + +client.addAttribute(() => ({ + "clientID": resolveCurrentClientId() +})) +``` + +#### Add attributes to an error report + +The attributes list of a BacktraceReport object can be directly modified. + +```ts +const report: BacktraceReport = new BacktraceReport('My error message', { myReportKey: 'myValue' }); +report.attributes['myReportKey'] = 'New value'; +``` + +--- + +### File Attachments + +Files can be attached to error reports. This can be done when initalizing the BacktraceClient, updating the +BacktraceClient, or dynamically for specific reports. When including attachments in BacktraceClient, all files will be +uploaded with each report. + +```ts +// Import attachment types from @backtrace/electron +import { BacktraceStringAttachment, BacktraceFileAttachment, BacktraceBufferAttachment } from "@backtrace/electron"; + +// BacktraceStringAttachment should be used for text object like a log file, for example +const stringAttachment = new BacktraceStringAttachment("logfile.txt", "This is the start of my log") + +// Buffer attachment is an attachment type dedicated to store buffer data +const bufferAttachment = new BacktraceBufferAttachment('buffer-attachment.txt', Buffer.from('sample')); + +// File attachment is an attachment type dedicated for streaming files +const fileAttachment = new BacktraceFileAttachment('/path/to/sample/file'); + +// BacktraceClientOptions +const options = { + url: "https://submit.backtrace.io///json", + + // Attach the files to all reports + attachments: [path.join('/path/to/attachment'), stringAttachment], +} + +const client = BacktraceClient.initialize(options); + +// Later decide to add an attachment to all reports +client.addAttachment(bufferAttachment) + +// After catching an exception and generating a report +try { + throw new Error("Caught exception!") +} catch (error) { + const report = const report = new BacktraceReport(error, {}, [fileAttachment]) + client.send(report); +} +``` + +--- + +### Breadcrumbs + +Breadcrumbs are snippets of chronological data tracing runtime events. This SDK records a number of events by default, +and manual breadcrumbs can also be added. + +[(Breadcrumbs feature documentation)](https://docs.saucelabs.com/error-reporting/web-console/debug/#breadcrumbs) + +#### Breadcrumbs Configuration + +| Option Name | Type | Description | Default | Required? | +| -------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | +| `enable` | Boolean | Determines if the breadcrumbs support is enabled. By default the value is set to true. | `true` |
        • - [ ]
        | +| `logLevel` | BreadcrumbLogLevel | Specifies which log level severity to include. By default all logs are included. | All Logs |
        • - [ ]
        | +| `eventType` | BreadcrumbType | Specifies which breadcrumb type to include. By default all types are included. | All Types |
        • - [ ]
        | +| `maximumBreadcrumbs` | Number | Specifies maximum number of breadcrumbs stored by the library. By default, only 100 breadcrumbs will be stored. | `100` |
        • - [ ]
        | +| `intercept` | (breadcrumb: RawBreadcrumb) => RawBreadcrumb \| undefined; | Inspects breadcrumb and allows to modify it. If the undefined value is being returned from the method, no breadcrumb will be added to the breadcrumb storage. | All Breadcrumbs |
        • - [ ]
        | + +```ts +import { BacktraceClient, BacktraceConfiguration } from '@backtrace/electron'; + +// BacktraceClientOptions +const options: BacktraceConfiguration = { + // ignoring all but breadcrumbs config for simplicity + breadcrumbs: { + // breadcrumbs configuration + }, +}; + +// Initialize the client +const client = BacktraceClient.initialize(options); +``` + +#### Default Breadcrumbs + +| Type | Description | +| ------- | ------------------------------------------------------------------------ | +| Console | Adds a breadcrumb every time console log is being used by the developer. | + +#### Intercepting Breadcrumbs + +If PII or other information needs to be filtered from a breadcrumb, you can use the intercept function to skip or filter +out the sensitive information. Any RawBreadcrumb returned will be used for the breadcrumb. If undefined is returned, no +breadcrumb will be added. + +#### Manual Breadcrumbs + +In addition to all of the default breadcrumbs that are automatically collected, you can also manually add breadcrumbs of +your own. + +```ts +client.breadcrumbs?.info('This is a manual breadcrumb.', { + customAttr: 'wow!', +}); +``` + +--- + +### Application Stability Metrics + +The Backtrace Electron SDK has the ability to send usage Metrics to be viewable in the Backtrace UI. + +[(Stability Metrics feature documentation)](https://docs.saucelabs.com/error-reporting/project-setup/stability-metrics/) + +#### Metrics Configuration + +| Option Name | Type | Description | Default | Required? | +| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------ | +| `metricsSubmissionUrl` | String | Metrics server hostname. By default the value is set to https://events.backtrace.io. | `https://events.backtrace.io` |
        • - [ ]
        | +| `enable` | Boolean | Determines if the metrics support is enabled. By default the value is set to true. | `true` |
        • - [ ]
        | +| `autoSendInterval` | Number | Indicates how often crash free metrics are sent to Backtrace. The interval is a value in ms. By default, session events are sent on application startup/finish, and every 30 minutes while the application is running. If the value is set to 0. The auto send mode is disabled. In this situation the application needs to maintain send mode manually. | On application startup/finish |
        • - [ ]
        | +| `size` | Number | Indicates how many events the metrics storage can store before auto submission. | `50` |
        • - [ ]
        | + +#### Metrics Usage + +```ts +// metrics will be undefined if not enabled +client.metrics?.send(); +``` + +--- + +### Offline database support + +The Backtrace Electron SDK can cache generated reports to local disk before sending them to Backtrace. This is +recommended; in certain configurations Electron applications can crash before the SDK finishes submitting data, and +under slow internet conditions your application might wait in a closing window until the HTTP submission finishes. In +this case, cached reports will be sent on next application launch. + +With offline database support you can: + +- cache your reports when the user doesn't have an internet connection or the service is unavailable, +- manually decide whether or not to send reports, and when. + +Offline database support is disabled by default. To enable it, please add "enable: true" and the path to the directory +where Backtrace can store report data. + +```ts +const client = BacktraceClient.initialize({ + // ignoring all but database config for simplicity + database: { + enable: true, + path: '/path/to/the/database/directory', + captureNativeCrashes: true, + }, +}); + +// manually send and keep the data on connection issue +client.database.send(); +// manually send and remove all data no matter if received success or not. +client.database.flush(); +``` + +#### Database Configuration + +| Option Name | Type | Description | Default | Required? | +| ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ | +| `enabled` | Boolean | Enable/disable offline database support. | false |
        • - [x]
        | +| `path` | String | Local storage path for crash data. | - |
        • - [x]
        | +| `createDatabaseDirectory` | Boolean | Allow the SDK to create the offline database directory. | true | +| `autoSend` | Boolean | Sends reports to the server based on the retry settings. If the value is set to 'false', you can use the Flush or Send methods as an alternative. | true | +| `maximumNumberOfRecords` | Number | The maximum number of reports stored in the offline database. When the limit is reached, the oldest reports are removed. If the value is equal to '0', then no limit is set. | 8 | +| `retryInterval` | Number | The amount of time (in ms) to wait between retries if the database is unable to send a report. | 60 000 | +| `maximumRetries` | Number | The maximum number of retries to attempt if the database is unable to send a report. | 3 | +| `captureNativeCrashes` | Boolean | Capture and symbolicate stack traces for native crashes if the runtime supports this. A crash report is generated, stored locally, and uploaded upon next start. | false | + +#### Native crash support + +Backtrace Electron SDK can capture native crashes generated by a Electron application. In order to collect them, the SDK +uses the Electron's `crashReporter`. + +Database records sent in the next session may not have some information about the crashing session such as attributes or +breadcrumbs. To reduce database record size, attachment support was limited only to file attachments. + +#### Manual database operations + +Database support is available in the client options with the BacktraceDatabase object. You can use it to manually +operate on database records. + +## Advanced SDK Features + +### BacktraceClient + +BacktraceClient is the main SDK class. Error monitoring starts when this singleton object is instantiated, and it will +compose and send reports for unhandled errors and unhandled promise rejections. It can also be used to manually send +reports from exceptions and rejection handlers. Do not create more than one instance of this object. + +#### BacktraceClientOptions + +The following options are available for the BacktraceClientOptions passed when initializing the BacktraceClient. + +| Option Name | Type | Description | Default | Required? | +| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------ | +| `url` | String | Submission URL to send errors to | |
        • - [x]
        | +| `token` | String | The submission token for error injestion. This is required only if submitting directly to a Backtrace URL. (uncommon) | |
        • - [ ]
        | +| `userAttributes` | Dictionary | Additional attributes that can be filtered and aggregated against in the Backtrace UI. | |
        • - [ ]
        | +| `attachments` | BacktraceAttachment[] | Additional files to be sent with error reports. See [File Attachments](#file-attachments) | |
        • - [ ]
        | +| `beforeSend` | (data: BacktraceData) => BacktraceData \| undefined | Triggers an event every time an exception in the managed environment occurs, which allows you to skip the report (by returning a null value) or to modify data that library collected before sending the report. You can use the BeforeSend event to extend attributes or JSON object data based on data the application has at the time of exception. See [Modify/skip error reports](#modifyskip-error-reports)) | |
        • - [ ]
        | +| `skipReport` | (report: BacktraceReport) => boolean | If you want to ignore specific types of error reports, we recommend that you use the skipReport callback. By using it, based on the data generated in the report, you can decide to filter the report, or send it to Backtrace. | |
        • - [ ]
        | +| `captureUnhandledErrors` | Boolean | Enable unhandled errors | `true` |
        • - [ ]
        | +| `captureUnhandledPromiseRejections` | Boolean | Enable unhandled promise rejection | `true` |
        • - [ ]
        | +| `timeout` | Integer | How long to wait in ms before timing out the connection | `15000` |
        • - [ ]
        | +| `ignoreSslCertificate` | Boolean | Ignore SSL Certificate errors | `false` |
        • - [ ]
        | +| `rateLimit` | Integer | Limits the number of reports the client will send per minute. If set to '0', there is no limit. If set to a value greater than '0' and the value is reached, the client will not send any reports until the next minute. | `0` |
        • - [ ]
        | +| `metrics` | BacktraceMetricsOptions | See [Backtrace Stability Metrics](#application-stability-metrics) | |
        • - [ ]
        | +| `breadcrumbs` | BacktraceBreadcrumbsSettings | See [Backtrace Breadcrumbs](#breadcrumbs) | |
        • - [ ]
        | +| `database` | BacktraceDatabaseSettings | See [Backtrace Database](#offline-database-support) | |
        • - [ ]
        | + +### Manually send an error + +There are several ways to send an error to Backtrace. For more details on the definition of `client.send()` see +[Methods](#methods) below. + +```ts +// send as a string +await client.send('This is a string!'); + +// send as an Error +await client.send(new Error('This is an Error!')); + +// as a BacktraceReport (string) +await client.send(new BacktraceReport('This is a report with a string!')); + +// as a BacktraceReport (Error) +await client.send(new BacktraceReport(new Error('This is a report with a string!'))); +``` + +### Modify/skip error reports + +A BeforeSend event is triggered when an exception in the managed environment occurs to which you can attach a handler. +You can use the BeforeSend event to scrub PII, or extend attributes or JSON object data based on data your application +has at the time of exception. A report can be skipped sompletely by returning a null value. + +```ts +const client = BacktraceClient.initialize({ + url: SUBMISSION_URL, + beforeSend: (data: BacktraceData) => { + // skip the report by returning a null from the callback + if (!shouldSendReportToBacktrace(data)) { + return undefined; + } + // apply custom attribute + data.attributes['new-attribute"] = 'apply-data-in-callback'; + return data; + }, +}); +``` + +### SDK Method Overrides + +BacktraceClient.builder is used to override default BacktraceClient methods. File and http operation overrides, for +example, can be used to implement custom encryption for data at rest or in motion. + +> Do not use these operations to modify the data objects. See [Modify/skip error reports](#modifyskip-error-reports) for +> the correct method to modify a report before sending it to Backtrace. + +```ts +const client = BacktraceClient.builder(options) + .useRequestHandler(requestHandler) + .useBreadcrumbSubscriber(breadcrumbSubscriber) + .addAttributeProvider(attributeProvider) + .build(); +``` diff --git a/packages/electron/src/renderer/addBacktraceElectron.ts b/packages/electron/src/renderer/addBacktraceElectron.ts index a586fb1b..0bf8c8f9 100644 --- a/packages/electron/src/renderer/addBacktraceElectron.ts +++ b/packages/electron/src/renderer/addBacktraceElectron.ts @@ -12,9 +12,29 @@ import { IpcSummedMetricsQueue } from './modules/IpcSummedMetricsQueue'; import { StubMetricsQueue } from './modules/StubMetricsQueue'; export interface AddBacktraceElectronOptions { + /** + * Data needs to be synchronized with the main process. + * If this is set to `true`, this synchronization will be synchronous and blocking. + * This can help with startup crashes not having the whole information, like session ID. + * + * **If Backtrace is not fully initialized on the main process, your application may hang with a white screen**. + * + * @default false + */ readonly synchronous?: boolean; } +/** + * Adds Backtrace Electron to the renderer client. + * The submission process is overriden to be transferred over IPC to the main process. + * + * You need to initialize Electron Backtrace client in the main process before adding this. + * Requires preload script to be included. See the README for more info. + * + * @param builder Backtrace client builder. + * @param options Building options. + * @returns Passed in builder. + */ export function addBacktraceElectron( builder: T, options?: AddBacktraceElectronOptions, diff --git a/packages/electron/src/renderer/common.ts b/packages/electron/src/renderer/common.ts new file mode 100644 index 00000000..da03cc58 --- /dev/null +++ b/packages/electron/src/renderer/common.ts @@ -0,0 +1,3 @@ +export const NO_PRELOAD_ERROR = new Error( + 'Failed to load preload API. Did you add "import @backtrace/electron/main/preload" to your preload script?', +); diff --git a/packages/electron/src/renderer/ipc/getIpcRpc.ts b/packages/electron/src/renderer/ipc/getIpcRpc.ts index 72a2ff3c..4e760b75 100644 --- a/packages/electron/src/renderer/ipc/getIpcRpc.ts +++ b/packages/electron/src/renderer/ipc/getIpcRpc.ts @@ -1,5 +1,10 @@ +import { NO_PRELOAD_ERROR } from '../common'; import { PreloadIpcRpc } from './PreloadIpcRpc'; export function getIpcRpc() { + if (!PreloadIpcRpc) { + throw NO_PRELOAD_ERROR; + } + return PreloadIpcRpc; } diff --git a/packages/electron/src/renderer/ipc/getIpcTransport.ts b/packages/electron/src/renderer/ipc/getIpcTransport.ts index 68398efe..82da4c46 100644 --- a/packages/electron/src/renderer/ipc/getIpcTransport.ts +++ b/packages/electron/src/renderer/ipc/getIpcTransport.ts @@ -1,5 +1,10 @@ +import { NO_PRELOAD_ERROR } from '../common'; import { PreloadIpcTransport } from './PreloadIpcTransport'; export function getIpcTransport() { + if (!PreloadIpcTransport) { + throw NO_PRELOAD_ERROR; + } + return PreloadIpcTransport; } From 0e597f1fe62d9af45634ae20628dff75761afe0b Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 30 Oct 2023 17:04:15 +0100 Subject: [PATCH 233/291] electron: add additional attributes to main crashes (#188) * electron: add window attributes * elecron: add annotations from all windows * electron: add net and screen attribute providers * electron: shorten and remove some attributes * electron: add main attributes to renderer reports * electron: fix resolving destroyed window attributes --------- Co-authored-by: Sebastian Alex --- packages/electron/src/main/BacktraceClient.ts | 43 ++++- .../attributes/AllWindowsAttributeProvider.ts | 19 ++ .../main/attributes/NetAttributeProvider.ts | 13 ++ .../attributes/ScreenAttributeProvider.ts | 40 +++++ .../attributes/WindowAttributeProvider.ts | 33 ++++ .../src/main/attributes/helpers/attributes.ts | 163 ++++++++++++++++++ .../main/builder/BacktraceClientBuilder.ts | 10 +- .../modules/BacktraceMainElectronModule.ts | 10 +- 8 files changed, 327 insertions(+), 4 deletions(-) create mode 100644 packages/electron/src/main/attributes/AllWindowsAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/NetAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/ScreenAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/WindowAttributeProvider.ts create mode 100644 packages/electron/src/main/attributes/helpers/attributes.ts diff --git a/packages/electron/src/main/BacktraceClient.ts b/packages/electron/src/main/BacktraceClient.ts index 40de2d00..0ea27f8d 100644 --- a/packages/electron/src/main/BacktraceClient.ts +++ b/packages/electron/src/main/BacktraceClient.ts @@ -1,8 +1,10 @@ import { - BacktraceClient as NodeBacktraceClient, BacktraceNodeClientSetup, BacktraceSetupConfiguration, + BacktraceClient as NodeBacktraceClient, } from '@backtrace/node'; +import { BrowserWindow } from 'electron'; +import { WindowAttributeProvider, WindowAttributeProviderOptions } from './attributes/WindowAttributeProvider'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { BacktraceMainElectronModule } from './modules/BacktraceMainElectronModule'; @@ -18,6 +20,14 @@ export class BacktraceClient extends NodeBacktraceClient { return new BacktraceClientBuilder({ options }); } + /** + * Returns created BacktraceClient instance if the instance exists. + * Otherwise undefined. + */ + public static get instance(): BacktraceClient | undefined { + return this._instance as BacktraceClient; + } + /** * Initializes the client. If the client already exists, the available instance * will be returned and all other options will be ignored. @@ -37,4 +47,35 @@ export class BacktraceClient extends NodeBacktraceClient { this._instance = builder.build(); return this._instance as BacktraceClient; } + + /** + * Adds window information to reports as flattened attributes. + * @param window Window to add attributes from. + * @param options Options for the attribute provider. + * + * @example + * // Will add attributes for window under `electron.window.${myWindow.id}` + * client.addWindowAttributes(myWindow); + * + * // Will add attributes for window under `electron.window.myWindow` + * client.addWindowAttributes(myWindow, { key: 'myWindow' }) + */ + public addWindow(window: BrowserWindow, options?: WindowAttributeProviderOptions): this { + this.attributeManager.addProvider(new WindowAttributeProvider(window, options)); + return this; + } + + /** + * Adds main window information to reports. You should add only one window using this function. + * + * Same as `addWindow(window, { key: 'main' })`. + * @param window Window to add attributes from. + * @param options Options for the attribute provider. + */ + public addMainWindow(window: BrowserWindow, options?: WindowAttributeProviderOptions): this { + return this.addWindow(window, { + key: 'main', + ...options, + }); + } } diff --git a/packages/electron/src/main/attributes/AllWindowsAttributeProvider.ts b/packages/electron/src/main/attributes/AllWindowsAttributeProvider.ts new file mode 100644 index 00000000..75206945 --- /dev/null +++ b/packages/electron/src/main/attributes/AllWindowsAttributeProvider.ts @@ -0,0 +1,19 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BrowserWindow } from 'electron'; +import { getBrowserWindowAttributes } from './helpers/attributes'; + +export class AllWindowsAttributeProvider implements BacktraceAttributeProvider { + public readonly type = 'dynamic'; + + public get(): Record { + const result = { + windows: {} as Record, + }; + + for (const window of BrowserWindow.getAllWindows()) { + result.windows[window.id] = getBrowserWindowAttributes(window); + } + + return result; + } +} diff --git a/packages/electron/src/main/attributes/NetAttributeProvider.ts b/packages/electron/src/main/attributes/NetAttributeProvider.ts new file mode 100644 index 00000000..b44b3595 --- /dev/null +++ b/packages/electron/src/main/attributes/NetAttributeProvider.ts @@ -0,0 +1,13 @@ +import { net } from 'electron'; + +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; + +export class NetAttributeProvider implements BacktraceAttributeProvider { + public readonly type = 'dynamic'; + + public get(): Record { + return { + 'network.isOnline': net.online, + }; + } +} diff --git a/packages/electron/src/main/attributes/ScreenAttributeProvider.ts b/packages/electron/src/main/attributes/ScreenAttributeProvider.ts new file mode 100644 index 00000000..e6a9eacb --- /dev/null +++ b/packages/electron/src/main/attributes/ScreenAttributeProvider.ts @@ -0,0 +1,40 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { Display, app, screen } from 'electron'; + +export class ScreenAttributeProvider implements BacktraceAttributeProvider { + public readonly type = 'dynamic'; + + public get(): Record { + if (!app.isReady()) { + return {}; + } + + const displays = screen.getAllDisplays(); + const primaryDisplay = screen.getPrimaryDisplay(); + + return { + displays: displays.map(this.getDisplayAttributes), + 'display.primary.id': primaryDisplay.id, + }; + } + + private getDisplayAttributes(display: Display) { + return { + id: display.id, + rotation: display.rotation, + scaleFactor: display.scaleFactor, + touchSupport: display.touchSupport, + monochrome: display.monochrome, + accelerometerSupport: display.accelerometerSupport, + colorSpace: display.colorSpace, + colorDepth: display.colorDepth, + depthPerComponent: display.depthPerComponent, + displayFrequency: display.displayFrequency, + bounds: display.bounds, + size: display.size, + workArea: display.workArea, + workAreaSize: display.workAreaSize, + internal: display.internal, + }; + } +} diff --git a/packages/electron/src/main/attributes/WindowAttributeProvider.ts b/packages/electron/src/main/attributes/WindowAttributeProvider.ts new file mode 100644 index 00000000..9d2bcf35 --- /dev/null +++ b/packages/electron/src/main/attributes/WindowAttributeProvider.ts @@ -0,0 +1,33 @@ +import { BacktraceAttributeProvider } from '@backtrace/sdk-core'; +import { BrowserWindow } from 'electron'; +import { flatten, getBasicBrowserWindowAttributes } from './helpers/attributes'; + +export interface WindowAttributeProviderOptions { + /** + * Key name to use. If not provided, the window ID will be used. + * + * The keys will take form of `electron.window.${key}.*`. + */ + readonly key?: string; + + /** + * If `true`, destroyed windows will not add any information. Default: `true`. + */ + readonly includeDestroyed?: boolean; +} + +export class WindowAttributeProvider implements BacktraceAttributeProvider { + constructor(private readonly _window: BrowserWindow, private readonly _options?: WindowAttributeProviderOptions) {} + + public readonly type = 'dynamic'; + + public get(): Record { + const { key, includeDestroyed } = this._options ?? {}; + + if (!includeDestroyed && this._window.isDestroyed()) { + return {}; + } + + return flatten(getBasicBrowserWindowAttributes(this._window), `window.${key ?? this._window.id}`); + } +} diff --git a/packages/electron/src/main/attributes/helpers/attributes.ts b/packages/electron/src/main/attributes/helpers/attributes.ts new file mode 100644 index 00000000..8924e15f --- /dev/null +++ b/packages/electron/src/main/attributes/helpers/attributes.ts @@ -0,0 +1,163 @@ +import { BrowserWindow, WebFrameMain } from 'electron'; + +export function getBrowserWindowAttributes( + window: BrowserWindow, + visited = new Set(), +): Record { + if (visited.has(window.id)) { + return getRef('id', window.id); + } + + visited.add(window.id); + + if (window.isDestroyed()) { + return { + id: window.id, + _destroyed: true, + }; + } + + const parent = window.getParentWindow(); + const basic = getBasicBrowserWindowAttributes(window); + + return { + ...basic, + + childWindows: window.getChildWindows().map((w) => getBrowserWindowAttributes(w, visited)), + parentWindow: parent ? getBrowserWindowAttributes(parent, visited) : null, + + webContents: { + ...basic.webContents, + + mainFrame: getWebFrameAttributes(window.webContents.mainFrame), + opener: window.webContents.opener ? getRef('id', window.webContents.opener.frameTreeNodeId) : null, + }, + }; +} + +export function getBasicBrowserWindowAttributes(window: BrowserWindow) { + if (window.isDestroyed()) { + return { + id: window.id, + _destroyed: true, + webContents: undefined, + }; + } + + return { + id: window.id, + documentEdited: window.documentEdited, + fullScreen: window.fullScreen, + kiosk: window.kiosk, + simpleFullScreen: window.simpleFullScreen, + title: window.title, + visibleOnAllWorkspaces: window.visibleOnAllWorkspaces, + + bounds: window.getBounds(), + contentBounds: window.getContentBounds(), + ...point('contentSize', window.getContentSize()), + ...point('maximumSize', window.getMaximumSize()), + mediaSourceId: window.getMediaSourceId(), + ...point('minimumSize', window.getMinimumSize()), + normalBounds: window.getNormalBounds(), + opacity: window.getOpacity(), + ...point('position', window.getPosition()), + ...point('position', window.getPosition()), + ...point('size', window.getSize()), + + webContents: { + audioMuted: window.webContents.audioMuted, + backgroundThrottling: window.webContents.backgroundThrottling, + frameRate: window.webContents.frameRate, + id: window.webContents.id, + userAgent: window.webContents.userAgent, + zoomFactor: window.webContents.zoomFactor, + zoomLevel: window.webContents.zoomLevel, + + isAudioMuted: window.webContents.isAudioMuted(), + isBeingCaptured: window.webContents.isBeingCaptured(), + isCrashed: window.webContents.isCrashed(), + isCurrentlyAudible: window.webContents.isCurrentlyAudible(), + isDestroyed: window.webContents.isDestroyed(), + isDevToolsFocused: window.webContents.isDevToolsFocused(), + isDevToolsOpened: window.webContents.isDevToolsOpened(), + isFocused: window.webContents.isFocused(), + isLoading: window.webContents.isLoading(), + isLoadingMainFrame: window.webContents.isLoadingMainFrame(), + isOffscreen: window.webContents.isOffscreen(), + isPainting: window.webContents.isPainting(), + isWaitingForResponse: window.webContents.isWaitingForResponse(), + + mainFrame: getWebFrameAttributes(window.webContents.mainFrame), + }, + }; +} + +function getWebFrameAttributes(frame: WebFrameMain, visited = new Set()): Record { + if (visited.has(frame.frameTreeNodeId)) { + return getRef('frameTreeNodeId', frame.frameTreeNodeId); + } + + visited.add(frame.frameTreeNodeId); + + // Resolving frame attributes can fail if the frame is disposed. In that case, return only the ID + try { + const basic = getBasicWebFrameAttributes(frame); + + return { + ...basic, + framesInSubtree: frame.framesInSubtree.map((f) => getWebFrameAttributes(f, visited)), + top: frame.top ? getWebFrameAttributes(frame.top, visited) : null, + }; + } catch { + return { + frameTreeNodeId: frame.frameTreeNodeId, + _destroyed: true, + }; + } +} + +function getBasicWebFrameAttributes(frame: WebFrameMain): Record { + return { + frameTreeNodeId: frame.frameTreeNodeId, + framesInSubtree: frame.framesInSubtree.map((f) => getRef('id', f.frameTreeNodeId)), + top: frame.top ? getRef('id', frame.top.frameTreeNodeId) : null, + + name: frame.name, + visibilityState: frame.visibilityState, + }; +} + +function getRef(name: string, value: unknown) { + const ref = { [`$${name}`]: value }; + + return { + _ref: true, + ...ref, + toJSON() { + return ref; + }, + }; +} + +function point(name: string, point: number[]) { + return { + [`${name}.x`]: point[0], + [`${name}.y`]: point[1], + } as const; +} + +export function flatten(obj: object, parentKey?: string) { + const result: Record = {}; + + for (const key in obj) { + const value = obj[key as keyof typeof obj]; + if (typeof value === 'object') { + Object.assign(result, flatten(value, parentKey ? `${parentKey}.${key}` : key)); + } else { + result[parentKey ? `${parentKey}.${key}` : key] = value; + } + } + + return result; +} diff --git a/packages/electron/src/main/builder/BacktraceClientBuilder.ts b/packages/electron/src/main/builder/BacktraceClientBuilder.ts index fd9839ba..2cb80d7e 100644 --- a/packages/electron/src/main/builder/BacktraceClientBuilder.ts +++ b/packages/electron/src/main/builder/BacktraceClientBuilder.ts @@ -1,10 +1,13 @@ -import { BacktraceClientBuilder as NodeBacktraceClientBuilder, BacktraceNodeClientSetup } from '@backtrace/node'; +import { BacktraceNodeClientSetup, BacktraceClientBuilder as NodeBacktraceClientBuilder } from '@backtrace/node'; +import { BacktraceClient } from '../BacktraceClient'; +import { AllWindowsAttributeProvider } from '../attributes/AllWindowsAttributeProvider'; import { AppAttributeProvider } from '../attributes/AppAttributeProvider'; import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider'; import { GpuAttributeProvider } from '../attributes/GpuAttributeProvider'; import { GpuFeatureAttributeProvider } from '../attributes/GpuFeatureAttributeProvider'; +import { NetAttributeProvider } from '../attributes/NetAttributeProvider'; import { ReadyAppAttributeProvider } from '../attributes/ReadyAppAttributeProvider'; -import { BacktraceClient } from '../BacktraceClient'; +import { ScreenAttributeProvider } from '../attributes/ScreenAttributeProvider'; export class BacktraceClientBuilder extends NodeBacktraceClientBuilder { constructor(clientSetup: BacktraceNodeClientSetup) { @@ -15,6 +18,9 @@ export class BacktraceClientBuilder extends NodeBacktraceClientBuilder { this.addAttributeProvider(new GpuFeatureAttributeProvider()); this.addAttributeProvider(new ReadyAppAttributeProvider()); this.addAttributeProvider(new AppAttributeProvider()); + this.addAttributeProvider(new AllWindowsAttributeProvider()); + this.addAttributeProvider(new NetAttributeProvider()); + this.addAttributeProvider(new ScreenAttributeProvider()); } public build(): BacktraceClient { diff --git a/packages/electron/src/main/modules/BacktraceMainElectronModule.ts b/packages/electron/src/main/modules/BacktraceMainElectronModule.ts index 88f94501..415be21f 100644 --- a/packages/electron/src/main/modules/BacktraceMainElectronModule.ts +++ b/packages/electron/src/main/modules/BacktraceMainElectronModule.ts @@ -19,7 +19,7 @@ export class BacktraceMainElectronModule implements BacktraceModule { private _bindData?: BacktraceModuleBindData; public bind(bindData: BacktraceModuleBindData): void { - const { requestHandler, reportSubmission, client } = bindData; + const { requestHandler, reportSubmission, client, attributeManager } = bindData; const getSyncData = (): SyncData => ({ sessionId: client.sessionId, @@ -33,11 +33,19 @@ export class BacktraceMainElectronModule implements BacktraceModule { }); rpc.on(IpcEvents.sendReport, async (event, data: BacktraceData, attachmentRefs: IpcAttachmentReference[]) => { + const { attributes, annotations } = attributeManager.get(); + data.attributes = { + ...attributes, ...this.getEventAttributes(event), ...data.attributes, }; + data.annotations = { + ...annotations, + ...data.annotations, + }; + const attachments = attachmentRefs.map( (v) => new IpcAttachment(v.name, v.id, new WindowIpcTransport(event.sender)), ); From f28ed1686d4a1c2c8cf3c2d308077ed6ffc146eb Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 31 Oct 2023 10:48:58 +0100 Subject: [PATCH 234/291] scripts: add scripts for making releases (#182) * scripts: add semver * scripts: add ES2019 to ts-node scripts * scripts: add git release script * scripts: add npm release script * scripts: add readme * scripts: PR changes --------- Co-authored-by: Sebastian Alex --- package-lock.json | 460 +++++++++++++++++++++++++++++++++- package.json | 2 + scripts/README.md | 117 +++++++++ scripts/common/commands.ts | 38 +++ scripts/common/git.ts | 124 +++++++++ scripts/common/output.ts | 3 + scripts/common/packageJson.ts | 69 +++++ scripts/common/transaction.ts | 43 ++++ scripts/gitRelease.ts | 152 +++++++++++ scripts/release.ts | 67 +++++ scripts/syncVersions.ts | 60 ++--- tsconfig.json | 7 +- 12 files changed, 1093 insertions(+), 49 deletions(-) create mode 100644 scripts/README.md create mode 100644 scripts/common/commands.ts create mode 100644 scripts/common/git.ts create mode 100644 scripts/common/output.ts create mode 100644 scripts/common/packageJson.ts create mode 100644 scripts/common/transaction.ts create mode 100755 scripts/gitRelease.ts create mode 100755 scripts/release.ts diff --git a/package-lock.json b/package-lock.json index f3eb3cf7..47d69737 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ ], "devDependencies": { "@types/node": "^14.18.51", + "@types/semver": "^7.5.3", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", @@ -32,6 +33,7 @@ "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", + "semver": "^7.5.4", "ts-node": "^10.9.1", "typescript": "^5.0.4" } @@ -15558,7 +15560,7 @@ }, "packages/browser": { "name": "@backtrace/browser", - "version": "0.0.5", + "version": "0.1.0", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.1.0", @@ -15591,7 +15593,7 @@ }, "packages/nestjs": { "name": "@backtrace/nestjs", - "version": "0.0.1", + "version": "0.1.0", "license": "MIT", "dependencies": { "@backtrace/node": "^0.1.0" @@ -15621,7 +15623,7 @@ }, "packages/node": { "name": "@backtrace/node", - "version": "0.0.6", + "version": "0.1.0", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.1.0", @@ -18316,6 +18318,297 @@ "@types/react": "*" } }, + "packages/react-native/node_modules/@types/scheduler": { + "version": "0.16.3", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@types/yargs-parser": { + "version": "21.0.0", + "dev": true, + "license": "MIT" + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "license": "BSD-2-Clause", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/react-native/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "license": "BSD-2-Clause", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "packages/react-native/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/react-native/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "packages/react-native/node_modules/abort-controller": { "version": "3.0.0", "dev": true, @@ -21940,7 +22233,7 @@ }, "tools/sourcemap-tools": { "name": "@backtrace/sourcemap-tools", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "dependencies": { "tar-stream": "^3.1.6" @@ -21962,7 +22255,7 @@ }, "tools/vite-plugin": { "name": "@backtrace/vite-plugin", - "version": "0.0.2", + "version": "0.1.0", "license": "MIT", "dependencies": { "@backtrace/rollup-plugin": "^0.1.0" @@ -24304,6 +24597,163 @@ "@types/react": "*" } }, + "@types/scheduler": { + "version": "0.16.3", + "dev": true + }, + "@types/yargs-parser": { + "version": "21.0.0", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "dev": true + } + } + }, "abort-controller": { "version": "3.0.0", "dev": true, diff --git a/package.json b/package.json index 695fd589..472bbb89 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { "@types/node": "^14.18.51", + "@types/semver": "^7.5.3", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", "eslint": "^8.41.0", @@ -56,6 +57,7 @@ "eslint-plugin-local-rules": "^1.3.2", "prettier": "^2.8.8", "rimraf": "^5.0.1", + "semver": "^7.5.4", "ts-node": "^10.9.1", "typescript": "^5.0.4" } diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 00000000..5f93a9e2 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,117 @@ +# Scripts + +This doc covers helper scripts that are available in this repo. + +# `syncVersions.ts` + +Synchronizes dependency versions. Useful for making sure that e.g. node is using the correct sdk-core version. + +## Usage + +``` +syncVersions.ts [...package.json paths] +``` + +### Examples + +- Sync versions of all packages + + ``` + syncVersions.ts + ``` + +- Sync versions of specific packages + ``` + syncVersions.ts ./path/to/package.json ./path/to/different/package.json + ``` + +# `gitRelease.ts` + +Creates a git release for a package by doing the following: + +1. Update `package.json` with the new version, +1. Run `npm install` to generate a valid `package-lock.json` file, +1. Stage `package.json` and `package-lock.json`, +1. Create branch `/` and checkout to it, +1. Commit with message `: version `, +1. Push to `/`. + +If something goes wrong on any of the steps, the script will try to rollback the changes. + +## Usage + +``` +gitRelease.ts [opts] [identifier] +``` + +### Options: + +- `release` - can be one of `major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, `prerelease` +- `version` - semantic version +- `identifier` - identifier for preleases, e.g. `alpha` or `beta` + +- `--dry-run` - does not do anything, just prints the output +- `--no-add` - exits before staging any files +- `--no-checkout` - exits before creating and checkouting to the branch +- `--no-commit` - exits before creating a commit +- `--no-push` - exits before pushing + +### Examples: + +- Make a minor release + + ``` + gitRelease.ts ./path/to/package.json minor + ``` + +- Make a beta prerelase without pushing + + ``` + gitRelease.ts ./path/to/package.json prerelase beta --no-push + ``` + +- Check what happens with making a release with version 1.2.3 + ``` + gitRelease.ts ./path/to/package.json 1.2.3 --dry-run + ``` + +# `release.ts` + +Creates a tagged release and publishes it to npm: + +1. Create tag `/`, +2. Push tag to remote, +3. Run `npm publish`. + +The version is read from the `package.json` file. If something goes wrong on any of the steps, the script will try to +rollback the changes. + +## Usage + +``` +release.ts [opts] [commit hash] +``` + +### Options + +- `commit hash` - if specified, tag will be added on this hash instead of `HEAD`. **Warning: checkout is not performed + currently** + +- `--dry-run` - does not do anything, just prints the output +- `--no-tag` - does not add and push a tag +- `--no-push-tag` - does not push the tag +- `--no-publish` - does not publish to npm + +### Examples + +- Make a release of package + + ``` + release.ts ./path/to/package.json + ``` + +- Make a release of package without publishing to npm and add tag on hash `b19f45885a21ba7235c32aae62c4c73199f40ca6` + + ``` + release.ts ./path/to/package.json b19f45885a21ba7235c32aae62c4c73199f40ca6 --no-publish + ``` diff --git a/scripts/common/commands.ts b/scripts/common/commands.ts new file mode 100644 index 00000000..7818b9f8 --- /dev/null +++ b/scripts/common/commands.ts @@ -0,0 +1,38 @@ +import { SpawnSyncReturns, spawnSync } from 'child_process'; + +export interface SpawnCommandOptions { + readonly command: string; + readonly args?: string[]; + readonly cwd?: string; + response?(res: SpawnSyncReturns): string; + validate?(res: SpawnSyncReturns): boolean; +} + +export function spawnCommandSync(opts: SpawnCommandOptions) { + const output = spawnSync(opts.command, opts.args ?? [], { + encoding: 'utf-8', + cwd: opts.cwd, + }); + + if ((opts.validate && !opts.validate(output)) || output.status) { + throw new Error(`Failed to execute ${opts.command}: ${output.stderr || output.stdout}`); + } + + return opts.response ? opts.response(output) : output.stdout; +} + +export function printCommand(opts: SpawnCommandOptions) { + console.log('+', opts.command, ...(opts.args ?? [])); + return opts; +} + +export function executor(dryRun?: boolean) { + return (opts: SpawnCommandOptions) => { + printCommand(opts); + if (dryRun) { + return ''; + } + + return spawnCommandSync(opts); + }; +} diff --git a/scripts/common/git.ts b/scripts/common/git.ts new file mode 100644 index 00000000..08b7b6cf --- /dev/null +++ b/scripts/common/git.ts @@ -0,0 +1,124 @@ +import { SpawnCommandOptions, spawnCommandSync } from './commands'; + +export function gitGetCurrentBranch(): SpawnCommandOptions { + return { + command: 'git', + args: ['branch', '--show-current'], + response: (res) => res.stdout.trim(), + }; +} + +export function gitGetRemote(): SpawnCommandOptions { + return { + command: 'git', + args: ['remote', 'show'], + response(output) { + const remotes = output.stdout.trim().split('\n'); + if (remotes.find((r) => r === 'origin')) { + return 'origin'; + } + return remotes[0]; + }, + }; +} + +export function gitAdd(...paths: string[]): SpawnCommandOptions { + return { + command: 'git', + args: ['add', '--', ...paths], + }; +} + +export function gitReset(...paths: string[]): SpawnCommandOptions { + return { + command: 'git', + args: ['reset', '--', ...paths], + }; +} + +export function gitCommit(message: string): SpawnCommandOptions { + return { + command: 'git', + args: ['commit', '-m', message], + }; +} + +export function gitResetToCommit(hash: string): SpawnCommandOptions { + return { + command: 'git', + args: ['reset', '--soft', hash], + }; +} + +export function gitCheckoutToBranch(branch: string) { + return { + command: 'git', + args: ['checkout', branch], + }; +} + +export function gitCreateBranch(branch: string) { + return { + command: 'git', + args: ['branch', branch], + }; +} + +export function gitDeleteBranch(branch: string) { + return { + command: 'git', + args: ['branch', '-D', branch], + }; +} + +export function gitRestoreFile(file: string) { + return { + command: 'git', + args: ['checkout', 'HEAD', '--', file], + }; +} + +export function gitPush(branch?: string, remote?: string) { + return { + command: 'git', + args: [ + 'push', + '-u', + remote ?? spawnCommandSync(gitGetRemote()), + branch ?? spawnCommandSync(gitGetCurrentBranch()), + ], + }; +} + +export function gitAddTag(name: string, commitHash?: string) { + const args = ['tag', name]; + if (commitHash) { + args.push(commitHash); + } + + return { + command: 'git', + args, + }; +} + +export function gitRemoveTag(name: string) { + return { + command: 'git', + args: ['tag', '-d', name], + }; +} + +export function gitPushTag(name: string, remote?: string) { + return { + command: 'git', + args: ['push', remote ?? spawnCommandSync(gitGetRemote()), `refs/tags/${name}`], + }; +} + +export function gitRemoveTagRemote(name: string, remote?: string) { + return { + command: 'git', + args: ['push', '--delete', remote ?? spawnCommandSync(gitGetRemote()), `refs/tags/${name}`], + }; +} diff --git a/scripts/common/output.ts b/scripts/common/output.ts new file mode 100644 index 00000000..1dc65e16 --- /dev/null +++ b/scripts/common/output.ts @@ -0,0 +1,3 @@ +export function log(message: string) { + process.stderr.write(message + '\n'); +} diff --git a/scripts/common/packageJson.ts b/scripts/common/packageJson.ts new file mode 100644 index 00000000..686cb5ec --- /dev/null +++ b/scripts/common/packageJson.ts @@ -0,0 +1,69 @@ +import fs from 'fs'; +import path from 'path'; +import { SpawnCommandOptions } from './commands'; + +const rootDir = path.join(__dirname, '../..'); + +export interface PackageJson { + readonly name: string; + readonly version: string; + readonly workspaces?: string[]; + readonly dependencies?: Record; + readonly devDependencies?: Record; + readonly peerDependencies?: Record; +} + +export type DependencyType = keyof Pick; + +export interface Dependency { + readonly name: string; + readonly version: string; + readonly type: DependencyType; +} + +export async function loadPackageJson(packageJsonPath: string): Promise { + function throwLoadError(error: unknown): never { + throw new Error( + `${packageJsonPath} does not seem to be a valid package.json file: ${ + error instanceof Error ? error.message : String(error) + }`, + ); + } + + let packageJson: Partial; + try { + packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf-8')) as Partial; + } catch (err) { + throwLoadError(err); + } + + if (!packageJson.name || !packageJson.version) { + throwLoadError('no name or version key found'); + } + + return packageJson as PackageJson; +} + +export async function savePackageJson(packageJsonPath: string, packageJson: PackageJson) { + return await fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson, null, ' ') + '\n'); +} + +export function getWorkspacePackageJsonPaths(packageJson: PackageJson) { + return packageJson.workspaces?.map((workspaceDir) => path.join(rootDir, workspaceDir, 'package.json')) ?? []; +} + +export function npmInstall(): SpawnCommandOptions { + return { + command: 'npm', + args: ['install'], + cwd: rootDir, + }; +} + +export function npmPublish(packageJsonPath: string) { + return { + command: 'npm', + args: ['publish'], + cwd: path.dirname(packageJsonPath), + }; +} diff --git a/scripts/common/transaction.ts b/scripts/common/transaction.ts new file mode 100644 index 00000000..e144bdfa --- /dev/null +++ b/scripts/common/transaction.ts @@ -0,0 +1,43 @@ +import { log } from './output'; + +export type TrasnactionFn = [ + description: string, + fn: (context: unknown) => Promise | unknown, + undo?: (context: unknown) => Promise | unknown, +]; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const noop: TrasnactionFn = [ + 'noop', + () => { + // Do nothing + }, +]; + +export function transaction(...fns: TrasnactionFn[]) { + return async (context?: unknown) => { + const undos: ((context: unknown) => Promise | unknown)[] = []; + + for (const [description, fn, undo] of fns) { + try { + context = await fn(context); + if (undo) { + undos.push(undo); + } + } catch (err) { + log(`ERROR! Failed to run "${description}". Rollbacking...`); + try { + for (const undoFn of undos.reverse()) { + await undoFn(context); + } + } catch (undoErr) { + log('Failed to rollback changes!'); + log(`Rollback error: ${undoErr instanceof Error ? undoErr.stack : undoErr}`); + throw err; + } + + throw err; + } + } + }; +} diff --git a/scripts/gitRelease.ts b/scripts/gitRelease.ts new file mode 100755 index 00000000..de341c41 --- /dev/null +++ b/scripts/gitRelease.ts @@ -0,0 +1,152 @@ +#!/usr/bin/env -S node -r ts-node/register + +/** + * 1. Increment version + * 2. Checkout to release/ + * 3. npm i + * 4. commit package.json of package and package-lock.json + * 5. push to release/ + */ + +import path from 'path'; +import semver, { ReleaseType, SemVer } from 'semver'; +import { executor } from './common/commands'; +import { + gitAdd, + gitCheckoutToBranch, + gitCommit, + gitCreateBranch, + gitDeleteBranch, + gitGetCurrentBranch, + gitPush, + gitReset, + gitResetToCommit, + gitRestoreFile, +} from './common/git'; +import { log } from './common/output'; +import { PackageJson, loadPackageJson, npmInstall, savePackageJson } from './common/packageJson'; +import { TrasnactionFn, noop, transaction } from './common/transaction'; + +const rootDir = path.join(__dirname, '..'); + +function updateVersion( + packageJson: PackageJson, + versionOrRelease: ReleaseType | string, + identifier?: string, + rawIdentifierBase?: string, +): PackageJson { + let version = packageJson.version; + try { + const identifierBase: semver.inc.IdentifierBase | false | undefined = + rawIdentifierBase === '0' || rawIdentifierBase === '1' + ? rawIdentifierBase + : rawIdentifierBase === 'false' + ? false + : undefined; + + const result = semver.inc(version, versionOrRelease as ReleaseType, identifier, identifierBase); + if (result == null) { + throw new Error('failed to increment version'); + } + version = result; + } catch { + version = new SemVer(versionOrRelease).raw; + } + + return { + ...packageJson, + version: version, + }; +} + +async function main() { + const options = ['--dry-run', '--no-push', '--no-commit', '--no-checkout', '--no-add'] as const; + + const argv = process.argv.slice(2); + const [packageJsonPath, versionOrRelease, identifier] = argv.filter((v) => !options.includes(v as never)); + + if (!packageJsonPath) { + throw new Error('first argument must be a package.json path'); + } + + if (!versionOrRelease) { + throw new Error('second argument must be a version or release type'); + } + + const optionValues = options.reduce((val, k) => { + val[k] = argv.includes(k); + return val; + }, {} as Record<(typeof options)[number], boolean>); + + const dryRun = optionValues['--dry-run']; + if (dryRun) { + log('dry run enabled'); + } + + const execute = executor(dryRun); + + const packageLockPath = path.relative(process.cwd(), path.join(rootDir, 'package-lock.json')); + const packageJson = await loadPackageJson(packageJsonPath); + const packageName = packageJson.name.replace('@backtrace-labs/', ''); + const updatedPackageJson = updateVersion(packageJson, versionOrRelease, identifier); + const currentBranch = execute(gitGetCurrentBranch()); + const branchName = `${packageName}/${updatedPackageJson.version}`; + + log(`updating version from ${packageJson.version} to ${updatedPackageJson.version}`); + + const exit: TrasnactionFn = [ + 'exit', + () => { + console.log(packageJsonPath); + process.exit(0); + }, + ]; + + const run = transaction( + dryRun + ? noop + : [ + 'save package json', + () => savePackageJson(packageJsonPath, updatedPackageJson), + () => savePackageJson(packageJsonPath, packageJson), + ], + ['npm install', () => execute(npmInstall()), () => execute(gitRestoreFile(packageLockPath))], + optionValues['--no-add'] + ? exit + : [ + 'add package.json to git', + () => execute(gitAdd(packageJsonPath)), + () => execute(gitReset(packageJsonPath)), + ], + optionValues['--no-add'] + ? exit + : [ + 'add package-lock.json to git', + () => execute(gitAdd(packageLockPath)), + () => execute(gitReset(packageLockPath)), + ], + optionValues['--no-checkout'] + ? exit + : ['create branch', () => execute(gitCreateBranch(branchName)), () => execute(gitDeleteBranch(branchName))], + [ + 'checkout to branch', + () => execute(gitCheckoutToBranch(branchName)), + () => execute(gitCheckoutToBranch(currentBranch)), + ], + optionValues['--no-commit'] + ? exit + : [ + 'commit changes', + () => execute(gitCommit(`${packageName}: version ${updatedPackageJson.version}`)), + () => execute(gitResetToCommit('HEAD~1')), + ], + optionValues['--no-push'] ? exit : ['push to remote', () => log(execute(gitPush(branchName)))], + exit, + ); + + run(); +} + +if (require.main === module) { + main(); +} diff --git a/scripts/release.ts b/scripts/release.ts new file mode 100755 index 00000000..90b47ee6 --- /dev/null +++ b/scripts/release.ts @@ -0,0 +1,67 @@ +#!/usr/bin/env -S node -r ts-node/register + +/** + * 1. Create tag + * 2. Push tag + * 3. Publish package + */ + +import { executor } from './common/commands'; +import { gitAddTag, gitPushTag, gitRemoveTag, gitRemoveTagRemote } from './common/git'; +import { log } from './common/output'; +import { loadPackageJson, npmPublish } from './common/packageJson'; +import { TrasnactionFn, noop, transaction } from './common/transaction'; + +async function main() { + const options = ['--dry-run', '--no-tag', '--no-push-tag', '--no-publish'] as const; + + const argv = process.argv.slice(2); + const [packageJsonPath, commitHash] = argv.filter((v) => !options.includes(v as never)); + + if (!packageJsonPath) { + throw new Error('first argument must be a package.json path'); + } + + const optionValues = options.reduce((val, k) => { + val[k] = argv.includes(k); + return val; + }, {} as Record<(typeof options)[number], boolean>); + + const dryRun = optionValues['--dry-run']; + if (dryRun) { + log('dry run enabled'); + } + + const execute = executor(dryRun); + + const packageJson = await loadPackageJson(packageJsonPath); + const packageName = packageJson.name.replace('@backtrace-labs/', ''); + const tagName = `${packageName}/${packageJson.version}`; + + log(`releasing version ${packageJson.version}`); + + const exit: TrasnactionFn = [ + 'exit', + () => { + console.log(packageJsonPath); + process.exit(0); + }, + ]; + + const run = transaction( + optionValues['--no-tag'] + ? noop + : ['add tag', () => execute(gitAddTag(tagName, commitHash)), () => execute(gitRemoveTag(tagName))], + optionValues['--no-tag'] || optionValues['--no-push-tag'] + ? noop + : ['push tag', () => execute(gitPushTag(tagName)), () => execute(gitRemoveTagRemote(tagName))], + optionValues['--no-publish'] ? noop : ['npm publish', () => execute(npmPublish(packageJsonPath))], + exit, + ); + + run(); +} + +if (require.main === module) { + main(); +} diff --git a/scripts/syncVersions.ts b/scripts/syncVersions.ts index f5f36ccf..7ffdef9c 100755 --- a/scripts/syncVersions.ts +++ b/scripts/syncVersions.ts @@ -6,48 +6,19 @@ * Pass paths to package.json files as arguments to parse only those. */ -import fs from 'fs'; import path from 'path'; +import { log } from './common/output'; +import { + DependencyType, + PackageJson, + getWorkspacePackageJsonPaths, + loadPackageJson, + savePackageJson, +} from './common/packageJson'; const rootDir = path.join(__dirname, '..'); -interface PackageJson { - readonly name: string; - readonly version: string; - readonly workspaces?: string[]; - readonly dependencies?: Record; - readonly devDependencies?: Record; - readonly peerDependencies?: Record; -} - -type Dependencies = keyof Pick; - -async function loadPackageJson(packageJsonPath: string): Promise { - const error = new Error(`${packageJsonPath} does not seem to be a valid package.json file`); - - let packageJson: Partial; - try { - packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf-8')) as Partial; - } catch { - throw error; - } - - if (!packageJson.name || !packageJson.version) { - throw error; - } - - return packageJson as PackageJson; -} - -async function savePackageJson(packageJsonPath: string, packageJson: PackageJson) { - return await fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson, null, ' ') + '\n'); -} - -function getWorkspacePackageJsonPaths(packageJson: PackageJson) { - return packageJson.workspaces?.map((workspaceDir) => path.join(rootDir, workspaceDir, 'package.json')) ?? []; -} - -function updateDependency(packageJson: PackageJson, type: Dependencies, name: string, newVersion: string) { +function updateDependency(packageJson: PackageJson, type: DependencyType, name: string, newVersion: string) { const deps = packageJson[type]; if (!deps) { return false; @@ -60,7 +31,7 @@ function updateDependency(packageJson: PackageJson, type: Dependencies, name: st if (currentVersion !== newVersion) { deps[name] = newVersion; - console.log(`[${packageJson.name}] - updated ${name} from ${currentVersion} to ${newVersion} in ${type}`); + log(`[${packageJson.name}] - updated ${name} from ${currentVersion} to ${newVersion} in ${type}`); return true; } @@ -80,10 +51,10 @@ function updateVersions(packageJson: PackageJson, currentVersions: Record { @@ -101,7 +72,10 @@ function updateVersions(packageJson: PackageJson, currentVersions: Record Date: Tue, 31 Oct 2023 14:26:49 +0100 Subject: [PATCH 235/291] electron: add breadcrumbs (#189) * electron: add window breadcrumbs * electron: add webcontents breadcrumbs * electron: fix breadcrumbs crashing on closing window * electron: change log levels of window breadcrumbs --------- Co-authored-by: Sebastian Alex --- .../src/main/attributes/helpers/attributes.ts | 2 +- .../main/breadcrumbs/WindowEventSubscriber.ts | 284 ++++++++++++++++++ .../main/builder/BacktraceClientBuilder.ts | 3 + 3 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 packages/electron/src/main/breadcrumbs/WindowEventSubscriber.ts diff --git a/packages/electron/src/main/attributes/helpers/attributes.ts b/packages/electron/src/main/attributes/helpers/attributes.ts index 8924e15f..02ff450c 100644 --- a/packages/electron/src/main/attributes/helpers/attributes.ts +++ b/packages/electron/src/main/attributes/helpers/attributes.ts @@ -140,7 +140,7 @@ function getRef(name: string, value: unknown) { }; } -function point(name: string, point: number[]) { +export function point(name: string, point: number[]) { return { [`${name}.x`]: point[0], [`${name}.y`]: point[1], diff --git a/packages/electron/src/main/breadcrumbs/WindowEventSubscriber.ts b/packages/electron/src/main/breadcrumbs/WindowEventSubscriber.ts new file mode 100644 index 00000000..ac62a6e7 --- /dev/null +++ b/packages/electron/src/main/breadcrumbs/WindowEventSubscriber.ts @@ -0,0 +1,284 @@ +import { + BacktraceBreadcrumbs, + BreadcrumbLogLevel, + BreadcrumbType, + BreadcrumbsEventSubscriber, +} from '@backtrace/sdk-core'; +import { BrowserWindow, Event, RenderProcessGoneDetails, WebContentsWillFrameNavigateEventParams, app } from 'electron'; +import { point } from '../attributes/helpers/attributes'; + +export class WindowEventSubscriber implements BreadcrumbsEventSubscriber { + private readonly _toDispose: Array<() => void> = []; + + public start(breadcrumbs: BacktraceBreadcrumbs): void { + app.on('browser-window-created', (_, window) => this.registerWindow(window, breadcrumbs)); + + for (const window of BrowserWindow.getAllWindows()) { + this.registerWindow(window, breadcrumbs); + } + } + + public dispose(): void { + for (const dispose of this._toDispose) { + dispose(); + } + } + + private registerWindow(window: BrowserWindow, breadcrumbs: BacktraceBreadcrumbs) { + const disposeWindowEvents = this.listenForWindowEvents(window, breadcrumbs); + const disposeWebContentsEvents = this.listenOnWebContentsEvents(window, breadcrumbs); + const dispose = () => { + disposeWindowEvents(); + disposeWebContentsEvents(); + }; + + this._toDispose.push(dispose); + window.once('closed', () => { + dispose(); + this._toDispose.splice(this._toDispose.indexOf(dispose), 1); + }); + } + + private listenForWindowEvents(window: BrowserWindow, breadcrumbs: BacktraceBreadcrumbs) { + const windowMsg = (msg: string) => `Window ${window.title} (ID: ${window.id}) ${msg}`; + + const onClose = () => + breadcrumbs.addBreadcrumb(windowMsg('is closing'), BreadcrumbLogLevel.Verbose, BreadcrumbType.System); + + const onClosed = () => + breadcrumbs.addBreadcrumb( + `Window (ID: ${window.id}) closed`, + BreadcrumbLogLevel.Info, + BreadcrumbType.System, + ); + + const onUnresponsive = () => + breadcrumbs.addBreadcrumb( + windowMsg('became unresponsive'), + BreadcrumbLogLevel.Warning, + BreadcrumbType.System, + ); + + const onResponsive = () => + breadcrumbs.addBreadcrumb( + windowMsg('became responsive'), + BreadcrumbLogLevel.Warning, + BreadcrumbType.System, + ); + + const onBlur = () => + breadcrumbs.addBreadcrumb(windowMsg('lost focus'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + const onFocus = () => + breadcrumbs.addBreadcrumb(windowMsg('focused'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + const onShow = () => + breadcrumbs.addBreadcrumb(windowMsg('shown'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + const onHide = () => + breadcrumbs.addBreadcrumb(windowMsg('hidden'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + const onReadyToShow = () => + breadcrumbs.addBreadcrumb(windowMsg('ready to show'), BreadcrumbLogLevel.Verbose, BreadcrumbType.System); + + const onMaximize = () => + breadcrumbs.addBreadcrumb(windowMsg('maximized'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + + const onUnmaximize = () => + breadcrumbs.addBreadcrumb(windowMsg('unmaximized'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + + const onMinimize = () => + breadcrumbs.addBreadcrumb(windowMsg('minimized'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + + const onRestore = () => + breadcrumbs.addBreadcrumb( + windowMsg('restored from minimized state'), + BreadcrumbLogLevel.Info, + BreadcrumbType.System, + ); + + const onResized = () => + breadcrumbs.addBreadcrumb(windowMsg('resized'), BreadcrumbLogLevel.Info, BreadcrumbType.System, { + ...point('size', window.getSize()), + }); + + const onFullScreen = () => + breadcrumbs.addBreadcrumb(windowMsg('entered full screen'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + + const onLeaveFullScreen = () => + breadcrumbs.addBreadcrumb(windowMsg('left full screen'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + + const onAppCommand = (_: Event, command: string) => + breadcrumbs.addBreadcrumb( + windowMsg(`invoked command ${command}`), + BreadcrumbLogLevel.Info, + BreadcrumbType.System, + ); + + window.on('close', onClose); + window.on('closed', onClosed); + window.on('unresponsive', onUnresponsive); + window.on('responsive', onResponsive); + window.on('blur', onBlur); + window.on('focus', onFocus); + window.on('show', onShow); + window.on('hide', onHide); + window.on('ready-to-show', onReadyToShow); + window.on('maximize', onMaximize); + window.on('unmaximize', onUnmaximize); + window.on('minimize', onMinimize); + window.on('restore', onRestore); + window.on('resized', onResized); + window.on('enter-full-screen', onFullScreen); + window.on('enter-html-full-screen', onFullScreen); + window.on('leave-full-screen', onLeaveFullScreen); + window.on('leave-html-full-screen', onLeaveFullScreen); + window.on('app-command', onAppCommand); + + return () => { + window.off('close', onClose); + window.off('closed', onClosed); + window.off('unresponsive', onUnresponsive); + window.off('responsive', onResponsive); + window.off('blur', onBlur); + window.off('focus', onFocus); + window.off('show', onShow); + window.off('hide', onHide); + window.off('ready-to-show', onReadyToShow); + window.off('maximize', onMaximize); + window.off('unmaximize', onUnmaximize); + window.off('minimize', onMinimize); + window.off('restore', onRestore); + window.off('resize', onResized); + window.off('enter-full-screen', onFullScreen); + window.off('enter-html-full-screen', onFullScreen); + window.off('leave-full-screen', onLeaveFullScreen); + window.off('leave-html-full-screen', onLeaveFullScreen); + window.off('app-command', onAppCommand); + }; + } + + private listenOnWebContentsEvents(window: BrowserWindow, breadcrumbs: BacktraceBreadcrumbs) { + const webContents = window.webContents; + const windowMsg = (msg: string) => `Window ${window.title} (ID: ${window.id}) ${msg}`; + + const onDidFinishLoad = () => + breadcrumbs.addBreadcrumb(windowMsg('finished loading'), BreadcrumbLogLevel.Info, BreadcrumbType.System); + + const onDidFailLoad = () => + breadcrumbs.addBreadcrumb(windowMsg('failed to load'), BreadcrumbLogLevel.Error, BreadcrumbType.System); + + const onDidFailProvisionalLoad = () => + breadcrumbs.addBreadcrumb( + windowMsg('cancelled loading'), + BreadcrumbLogLevel.Warning, + BreadcrumbType.System, + ); + + const onWillFrameNavigation = (event: Event) => + breadcrumbs.addBreadcrumb( + windowMsg('started navigation'), + BreadcrumbLogLevel.Debug, + BreadcrumbType.System, + { + frameTreeNodeId: event.frame.frameTreeNodeId, + url: event.url, + isMainFrame: event.isMainFrame, + isSameDocument: event.isSameDocument, + }, + ); + + const onDidFrameNavigate = ( + _: Event, + url: string, + httpResponseCode: number, + httpStatusText: string, + isMainFrame: boolean, + frameProcessId: number, + frameRoutingId: number, + ) => + breadcrumbs.addBreadcrumb(windowMsg('navigated'), BreadcrumbLogLevel.Info, BreadcrumbType.System, { + frameProcessId, + frameRoutingId, + url, + isMainFrame, + httpResponseCode, + httpStatusText, + }); + + const onRenderProcessGone = (_: Event, details: RenderProcessGoneDetails) => { + const attributes = { exitCode: details.exitCode, reason: details.reason }; + + switch (details.reason) { + case 'clean-exit': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process exited'), + BreadcrumbLogLevel.Info, + BreadcrumbType.System, + attributes, + ); + case 'abnormal-exit': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process exited abnormally'), + BreadcrumbLogLevel.Error, + BreadcrumbType.System, + attributes, + ); + case 'killed': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process was killed'), + BreadcrumbLogLevel.Warning, + BreadcrumbType.System, + attributes, + ); + case 'crashed': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process crashed'), + BreadcrumbLogLevel.Error, + BreadcrumbType.System, + attributes, + ); + case 'oom': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process ran out of memory'), + BreadcrumbLogLevel.Error, + BreadcrumbType.System, + attributes, + ); + case 'launch-failed': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process failed to launch'), + BreadcrumbLogLevel.Error, + BreadcrumbType.System, + attributes, + ); + case 'integrity-failure': + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process integrity checks failed'), + BreadcrumbLogLevel.Error, + BreadcrumbType.System, + attributes, + ); + default: + return breadcrumbs.addBreadcrumb( + windowMsg('renderer process exited'), + BreadcrumbLogLevel.Error, + BreadcrumbType.System, + attributes, + ); + } + }; + + webContents.on('did-finish-load', onDidFinishLoad); + webContents.on('did-fail-load', onDidFailLoad); + webContents.on('did-fail-provisional-load', onDidFailProvisionalLoad); + webContents.on('will-frame-navigate', onWillFrameNavigation); + webContents.on('did-frame-navigate', onDidFrameNavigate); + webContents.on('render-process-gone', onRenderProcessGone); + + return () => { + webContents.off('did-finish-load', onDidFinishLoad); + webContents.off('did-fail-load', onDidFailLoad); + webContents.off('did-fail-provisional-load', onDidFailProvisionalLoad); + webContents.off('will-frame-navigate', onWillFrameNavigation); + webContents.off('did-frame-navigate', onDidFrameNavigate); + webContents.off('render-process-gone', onRenderProcessGone); + }; + } +} diff --git a/packages/electron/src/main/builder/BacktraceClientBuilder.ts b/packages/electron/src/main/builder/BacktraceClientBuilder.ts index 2cb80d7e..1ed54268 100644 --- a/packages/electron/src/main/builder/BacktraceClientBuilder.ts +++ b/packages/electron/src/main/builder/BacktraceClientBuilder.ts @@ -8,6 +8,7 @@ import { GpuFeatureAttributeProvider } from '../attributes/GpuFeatureAttributePr import { NetAttributeProvider } from '../attributes/NetAttributeProvider'; import { ReadyAppAttributeProvider } from '../attributes/ReadyAppAttributeProvider'; import { ScreenAttributeProvider } from '../attributes/ScreenAttributeProvider'; +import { WindowEventSubscriber } from '../breadcrumbs/WindowEventSubscriber'; export class BacktraceClientBuilder extends NodeBacktraceClientBuilder { constructor(clientSetup: BacktraceNodeClientSetup) { @@ -21,6 +22,8 @@ export class BacktraceClientBuilder extends NodeBacktraceClientBuilder { this.addAttributeProvider(new AllWindowsAttributeProvider()); this.addAttributeProvider(new NetAttributeProvider()); this.addAttributeProvider(new ScreenAttributeProvider()); + + this.useBreadcrumbSubscriber(new WindowEventSubscriber()); } public build(): BacktraceClient { From 7fa39c4b566ebe5397285cf98d4779e5e2dbe2a1 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 31 Oct 2023 17:50:44 +0100 Subject: [PATCH 236/291] sdk-core, browser, node: add abort support to metrics and request handlers (#187) * sdk-core: add polyfill for AbortController for node 14 * sdk-core: add AbortError in DelayHelper * sdk-core: add abort support to metrics * sdk-core: export anySignal function * browser: add external signal support to request handler * node: add external signal support to request handler * sdk-core: fix lint issues * sdk-core: update AbortController polyfill and add tests * sdk-core: PR changes * sdk-core: fix unit tests * sdk-core: fix aborts on Node 14 * electron: fix more node 14 unit test errors --------- Co-authored-by: Sebastian Alex --- .../src/BacktraceBrowserRequestHandler.ts | 7 +- .../node/src/BacktraceNodeRequestHandler.ts | 35 ++- packages/sdk-core/src/BacktraceCoreClient.ts | 24 +- .../sdk-core/src/common/AbortController.ts | 232 ++++++++++++++++++ packages/sdk-core/src/common/AbortError.ts | 5 + packages/sdk-core/src/common/DelayHelper.ts | 15 +- .../sdk-core/src/common/abortInterfaces.ts | 6 + packages/sdk-core/src/index.ts | 1 + .../model/http/BacktraceReportSubmission.ts | 5 +- .../src/model/http/BacktraceRequestHandler.ts | 9 +- .../src/modules/metrics/BacktraceMetrics.ts | 37 ++- .../src/modules/metrics/MetricsQueue.ts | 3 +- .../modules/metrics/MetricsSubmissionQueue.ts | 21 +- .../sdk-core/tests/client/clientTests.spec.ts | 10 +- .../tests/common/AbortController.spec.ts | 133 ++++++++++ .../tests/metrics/summedEventTests.spec.ts | 14 +- .../tests/metrics/uniqueEventTests.spec.ts | 14 +- 17 files changed, 531 insertions(+), 40 deletions(-) create mode 100644 packages/sdk-core/src/common/AbortController.ts create mode 100644 packages/sdk-core/src/common/AbortError.ts create mode 100644 packages/sdk-core/src/common/abortInterfaces.ts create mode 100644 packages/sdk-core/tests/common/AbortController.spec.ts diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 9578ec2f..0d9dbcec 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -4,6 +4,7 @@ import { BacktraceRequestHandler, ConnectionError, DEFAULT_TIMEOUT, + anySignal, } from '@backtrace/sdk-core'; export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { @@ -26,14 +27,16 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { submissionUrl: string, dataJson: string, attachments: BacktraceAttachment[], + abortSignal?: AbortSignal, ): Promise> { const formData = this.createFormData(dataJson, attachments); - return this.post(submissionUrl, formData); + return this.post(submissionUrl, formData, abortSignal); } public async post( submissionUrl: string, payload: string | FormData, + abortSignal?: AbortSignal, ): Promise> { const controller = new AbortController(); const id = setTimeout(() => controller.abort(), this._timeout); @@ -43,7 +46,7 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { method: 'POST', body: payload, headers: typeof payload === 'string' ? this.JSON_HEADERS : {}, - signal: controller.signal, + signal: anySignal(abortSignal, controller.signal), }); clearInterval(id); diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 47a8f5a5..d9bb9905 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -33,18 +33,24 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { submissionUrl: string, dataJson: string, attachments: BacktraceAttachment[], + abortSignal?: AbortSignal, ): Promise> { const formData = this.createFormData(dataJson, attachments); - return this.send(submissionUrl, formData); + return this.send(submissionUrl, formData, abortSignal); } - public async post(submissionUrl: string, payload: string): Promise> { - return this.send(submissionUrl, payload); + public async post( + submissionUrl: string, + payload: string, + abortSignal?: AbortSignal, + ): Promise> { + return this.send(submissionUrl, payload, abortSignal); } private async send( submissionUrl: string, payload: string | FormData, + abortSignal?: AbortSignal, ): Promise> { try { const url = new URL(submissionUrl); @@ -84,11 +90,34 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { break; } } + + cleanup(); + }); + response.on('error', () => { + cleanup(); }); }, ); + function abortFn(this: AbortSignal) { + const reason = + this.reason instanceof Error + ? this.reason + : typeof this.reason === 'string' + ? new Error(this.reason) + : new Error('Operation cancelled.'); + + request.destroy(reason); + } + + abortSignal?.addEventListener('abort', abortFn, { once: true }); + + function cleanup() { + abortSignal?.removeEventListener('abort', cleanup); + } + request.on('error', (err: Error) => { + cleanup(); if (ConnectionError.isConnectionError(err)) { return res(BacktraceReportSubmissionResult.OnNetworkingError(err.message)); } diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index f101cfa7..627c3fc7 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -263,22 +263,26 @@ export abstract class BacktraceCoreClient, attachments?: BacktraceAttachment[], + abortSignal?: AbortSignal, ): Promise; /** * Asynchronously sends error data to Backtrace * @param report Backtrace Report + * @param abortSignal Signal to abort sending */ - public send(report: BacktraceReport): Promise; + public send(report: BacktraceReport, abortSignal?: AbortSignal): Promise; // This function CANNOT be an async function due to possible async state machine stack frame inclusion, which breaks the skip stacks public send( data: BacktraceReport | Error | string, - reportAttributes: Record = {}, + reportAttributesOrAbortSignal?: Record | AbortSignal, reportAttachments: BacktraceAttachment[] = [], + abortSignal?: AbortSignal, ): Promise { if (!this._enabled) { return Promise.resolve(); @@ -287,6 +291,14 @@ export abstract class BacktraceCoreClient) + : undefined; + + // If data is BacktraceReport, we know that the second argument should be only AbortSignal + abortSignal = !this.isReport(data) ? abortSignal : (reportAttributesOrAbortSignal as AbortSignal); + const report = this.isReport(data) ? data : new BacktraceReport(data, reportAttributes, [], { @@ -308,9 +320,11 @@ export abstract class BacktraceCoreClient { - this.reportEvents.emit('after-send', report, backtraceData, submissionAttachments, submissionResult); - }); + return this._reportSubmission + .send(backtraceData, submissionAttachments, abortSignal) + .then((submissionResult) => { + this.reportEvents.emit('after-send', report, backtraceData, submissionAttachments, submissionResult); + }); } /** diff --git a/packages/sdk-core/src/common/AbortController.ts b/packages/sdk-core/src/common/AbortController.ts new file mode 100644 index 00000000..22de0b89 --- /dev/null +++ b/packages/sdk-core/src/common/AbortController.ts @@ -0,0 +1,232 @@ +import { AbortError } from './AbortError'; +import { Events } from './Events'; +import { OriginalAbortController, OriginalAbortSignal } from './abortInterfaces'; + +/** + * Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js + */ +class Emitter { + private readonly _listeners: Record< + string, + { + listener: EventListenerOrEventListenerObject; + callback: (ev: Event) => unknown; + options?: boolean | AddEventListenerOptions; + }[] + > = {}; + + private readonly _events = new Events(); + + public addEventListener( + type: string, + listener: EventListenerOrEventListenerObject, + options?: boolean | AddEventListenerOptions, + ) { + if (!(type in this._listeners)) { + this._listeners[type] = []; + } + + const callback = (ev: Event) => { + if (typeof listener === 'object') { + return listener.handleEvent.call(this, ev); + } else { + return listener.call(this, ev); + } + }; + + const { once, signal } = (typeof options === 'object' ? options : {}) as AddEventListenerOptions; + if (once) { + this._events.once(type, callback); + } else { + this._events.on(type, callback); + } + + if (signal) { + const removeFn = () => this.removeEventListener(type, listener); + signal.addEventListener(type, removeFn, { once: true }); + } + + this._listeners[type].push({ callback, listener, options }); + } + + public removeEventListener(type: string, listener: EventListenerOrEventListenerObject) { + if (!(type in this._listeners)) { + return; + } + + const allListeners = this._listeners[type]; + const listeners = allListeners.filter((l) => l.listener === listener); + for (const elem of listeners) { + this._events.off(type, elem.callback); + const index = allListeners.indexOf(elem); + allListeners.splice(index, 1); + } + } + + public dispatchEvent(event: Event) { + this._events.emit(event.type, event); + return !event.defaultPrevented; + } +} + +/** + * Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js + */ +export class AbortSignal extends Emitter implements OriginalAbortSignal { + public aborted = false; + public onabort: ((this: OriginalAbortSignal, ev: Event) => unknown) | null = null; + public reason: unknown; + + constructor() { + super(); + + // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and + // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl + Object.defineProperty(this, 'aborted', { writable: true, configurable: true, enumerable: false }); + Object.defineProperty(this, 'onabort', { writable: true, configurable: true, enumerable: false }); + Object.defineProperty(this, 'reason', { writable: true, configurable: true, enumerable: false }); + } + + public toString() { + return '[object AbortSignal]'; + } + + public throwIfAborted(): void { + if (this.aborted) { + throw this.reason; + } + } + + public dispatchEvent(event: Event) { + if (event.type === 'abort') { + this.aborted = true; + if (typeof this.onabort === 'function') { + this.onabort.call(this, event); + } + } + + return super.dispatchEvent(event); + } +} + +/** + * Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js + */ +export class AbortController implements OriginalAbortController { + public readonly signal: OriginalAbortSignal; + + constructor() { + // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and + // we want Object.keys(new AbortController()) to be [] for compat with the native impl + this.signal = new AbortSignal(); + Object.defineProperty(this, 'signal', { configurable: true, enumerable: false }); + } + + public abort(reason?: unknown) { + let event: Event; + try { + event = new Event('abort'); + } catch (e) { + if (typeof document !== 'undefined') { + interface IE8Document extends Document { + createEventObject?(): Event; + } + + const ie8Document: IE8Document = document; + if (!ie8Document.createEvent && ie8Document.createEventObject) { + // For Internet Explorer 8: + event = ie8Document.createEventObject(); + (event as { type: string }).type = 'abort'; + } else { + // For Internet Explorer 11: + event = document.createEvent('Event'); + event.initEvent('abort', false, false); + } + } else { + // Fallback where document isn't available: + event = { + type: 'abort', + bubbles: false, + cancelable: false, + } as Event; + } + } + + let signalReason = reason; + if (signalReason === undefined) { + if (typeof document === 'undefined') { + signalReason = new AbortError('This operation was aborted'); + } else { + try { + signalReason = new DOMException('signal is aborted without reason'); + } catch (err) { + // IE 11 does not support calling the DOMException constructor, use a + // regular error object on it instead. + signalReason = new AbortError('This operation was aborted'); + } + } + } + + (this.signal as { reason: unknown }).reason = signalReason; + this.signal.dispatchEvent(event); + } + + public toString() { + return '[object AbortController]'; + } +} + +/** + * Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js + */ +if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { + type WithToStringTag = Record & T; + + // These are necessary to make sure that we get correct output for: + // Object.prototype.toString.call(new AbortController()) + (AbortController.prototype as WithToStringTag)[Symbol.toStringTag] = 'AbortController'; + (AbortSignal.prototype as WithToStringTag)[Symbol.toStringTag] = 'AbortSignal'; +} + +/** + * Creates a new abort controller. + * + * If the AbortController is not available, a polyfill is used. + * @returns + */ +export function createAbortController(): OriginalAbortController { + if (OriginalAbortController) { + return new OriginalAbortController(); + } else { + return new AbortController(); + } +} + +export function anySignal(...signals: (OriginalAbortSignal | undefined)[]): OriginalAbortSignal { + const controller = createAbortController(); + + function onAbort() { + controller.abort(); + + // Cleanup + for (const signal of signals) { + if (signal) { + signal.removeEventListener('abort', onAbort); + } + } + } + + for (const signal of signals) { + if (!signal) { + continue; + } + + if (signal.aborted) { + onAbort(); + break; + } + signal.addEventListener('abort', onAbort); + } + + return controller.signal; +} diff --git a/packages/sdk-core/src/common/AbortError.ts b/packages/sdk-core/src/common/AbortError.ts new file mode 100644 index 00000000..621c8028 --- /dev/null +++ b/packages/sdk-core/src/common/AbortError.ts @@ -0,0 +1,5 @@ +export class AbortError extends Error { + constructor(message?: string) { + super(message ?? 'Operation cancelled.'); + } +} diff --git a/packages/sdk-core/src/common/DelayHelper.ts b/packages/sdk-core/src/common/DelayHelper.ts index a283e837..a2f4f1c0 100644 --- a/packages/sdk-core/src/common/DelayHelper.ts +++ b/packages/sdk-core/src/common/DelayHelper.ts @@ -1,3 +1,5 @@ +import { AbortError } from './AbortError'; + export class Delay { /** * Promise set timeout wrapper. @@ -6,12 +8,21 @@ export class Delay { */ public static wait(timeout: number, signal?: AbortSignal) { return new Promise((resolve, reject) => { + // intervalId has to be defined here, + // as abortCallback can execute before setTimeout is executed + // eslint-disable-next-line prefer-const + let intervalId: ReturnType | undefined; + function abortCallback() { clearTimeout(intervalId); - reject(new Error('Operation cancelled.')); + reject(new AbortError()); + } + + if (signal?.aborted) { + return abortCallback(); } - const intervalId = setTimeout(() => { + intervalId = setTimeout(() => { signal?.removeEventListener('abort', abortCallback); resolve(); }, timeout); diff --git a/packages/sdk-core/src/common/abortInterfaces.ts b/packages/sdk-core/src/common/abortInterfaces.ts new file mode 100644 index 00000000..6d4a8e22 --- /dev/null +++ b/packages/sdk-core/src/common/abortInterfaces.ts @@ -0,0 +1,6 @@ +// Required for polyfills to have the same name as the original implementations + +export type OriginalAbortController = AbortController; +export type OriginalAbortSignal = AbortSignal; +export const OriginalAbortController = global.AbortController; +export const OriginalAbortSignal = global.AbortSignal; diff --git a/packages/sdk-core/src/index.ts b/packages/sdk-core/src/index.ts index 383703da..4f8add63 100644 --- a/packages/sdk-core/src/index.ts +++ b/packages/sdk-core/src/index.ts @@ -2,6 +2,7 @@ export * from './BacktraceCoreClient'; export * from './builder/BacktraceCoreClientBuilder'; export * from './builder/CoreClientSetup'; export * from './builder/SdkOptions'; +export { anySignal } from './common/AbortController'; export * from './common/IdGenerator'; export * from './common/TimeHelper'; export * from './common/jsonEscaper'; diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index 0d889a1a..8389b35e 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -11,6 +11,7 @@ export interface BacktraceReportSubmission { send( data: BacktraceData, attachments: BacktraceAttachment[], + abortSignal?: AbortSignal, ): Promise>; } @@ -20,8 +21,8 @@ export class RequestBacktraceReportSubmission { this._submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(options.url, options.token); } - public send(data: BacktraceData, attachments: BacktraceAttachment[]) { + public send(data: BacktraceData, attachments: BacktraceAttachment[], abortSignal?: AbortSignal) { const json = JSON.stringify(data, jsonEscaper()); - return this._requestHandler.postError(this._submissionUrl, json, attachments); + return this._requestHandler.postError(this._submissionUrl, json, attachments, abortSignal); } } diff --git a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts index b7594c9a..34e8c4ba 100644 --- a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts +++ b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts @@ -8,18 +8,25 @@ export interface BacktraceRequestHandler { * @param submissionUrl error submission URL * @param dataJson Backtrace data JSON * @param attachments Report attachments + * @param abortSignal Signal to abort sending * @returns Submission result */ postError( submissionUrl: string, dataJson: string, attachments: BacktraceAttachment[], + abortSignal?: AbortSignal, ): Promise>; /** * Post data to Backtrace API * @param submissionUrl data submission URL * @param payload request payload + * @param abortSignal Signal to abort sending */ - post(submissionUrl: string, payload: string): Promise>; + post( + submissionUrl: string, + payload: string, + abortSignal?: AbortSignal, + ): Promise>; } diff --git a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts index dbb8653a..2031c9fc 100644 --- a/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts +++ b/packages/sdk-core/src/modules/metrics/BacktraceMetrics.ts @@ -1,3 +1,5 @@ +import { createAbortController } from '../../common/AbortController'; +import { AbortError } from '../../common/AbortError'; import { TimeHelper } from '../../common/TimeHelper'; import { BacktraceMetricsOptions } from '../../model/configuration/BacktraceConfiguration'; import { AttributeType } from '../../model/data/BacktraceData'; @@ -27,6 +29,7 @@ export class BacktraceMetrics implements BacktraceModule { private readonly _updateInterval: number = this._options.autoSendInterval ?? this.DEFAULT_UPDATE_INTERVAL; private _updateIntervalId?: ReturnType; + private readonly _abortController: AbortController; constructor( private readonly _options: BacktraceMetricsOptions, @@ -34,7 +37,9 @@ export class BacktraceMetrics implements BacktraceModule { private readonly _attributeManager: AttributeManager, private readonly _summedEventsSubmissionQueue: MetricsQueue, private readonly _uniqueEventsSubmissionQueue: MetricsQueue, - ) {} + ) { + this._abortController = createAbortController(); + } /** * Starts metrics submission. @@ -45,13 +50,13 @@ export class BacktraceMetrics implements BacktraceModule { } this.addSummedEvent('Application Launches'); - this.send(); + this.handleAbort(() => this.send(this._abortController.signal)); if (this._updateInterval === 0) { return; } this._updateIntervalId = setInterval(() => { - this.send(); + this.handleAbort(() => this.send(this._abortController.signal)); }, this._updateInterval); } @@ -84,12 +89,11 @@ export class BacktraceMetrics implements BacktraceModule { /** * Sends event to the metrics system. */ - public send() { + public async send(abortSignal?: AbortSignal) { if (!this._sessionProvider.shouldSend()) { return false; } - this.sendUniqueEvent(); - this._summedEventsSubmissionQueue.send(); + await Promise.all([this.sendUniqueEvent(abortSignal), this._summedEventsSubmissionQueue.send(abortSignal)]); this._sessionProvider.afterMetricsSubmission(); return true; } @@ -98,16 +102,21 @@ export class BacktraceMetrics implements BacktraceModule { * Cleans up metrics interface. */ public dispose() { + this._abortController.abort(); + if (this._updateIntervalId) { clearInterval(this._updateIntervalId); } + + this._uniqueEventsSubmissionQueue.dispose && this._uniqueEventsSubmissionQueue.dispose(); + this._summedEventsSubmissionQueue.dispose && this._summedEventsSubmissionQueue.dispose(); } - private sendUniqueEvent() { + private async sendUniqueEvent(abortSignal?: AbortSignal) { // always add the same unique event before send. const { attributes } = this._attributeManager.get(); this._uniqueEventsSubmissionQueue.add(new UniqueEvent(this.convertAttributes(attributes))); - this._uniqueEventsSubmissionQueue.send(); + await this._uniqueEventsSubmissionQueue.send(abortSignal); } /** @@ -122,4 +131,16 @@ export class BacktraceMetrics implements BacktraceModule { return acc; }, {} as Record); } + + private async handleAbort(fn: () => Promise): Promise { + try { + await fn(); + return true; + } catch (err) { + if (err instanceof AbortError) { + return false; + } + throw err; + } + } } diff --git a/packages/sdk-core/src/modules/metrics/MetricsQueue.ts b/packages/sdk-core/src/modules/metrics/MetricsQueue.ts index 628c3c00..7bb21425 100644 --- a/packages/sdk-core/src/modules/metrics/MetricsQueue.ts +++ b/packages/sdk-core/src/modules/metrics/MetricsQueue.ts @@ -3,5 +3,6 @@ export interface MetricsQueue { readonly submissionUrl: string; readonly maximumEvents: number; add(event: T): void; - send(): Promise; + send(abortSignal?: AbortSignal): Promise; + dispose?(): void; } diff --git a/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts b/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts index fe80da63..effa25a9 100644 --- a/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts +++ b/packages/sdk-core/src/modules/metrics/MetricsSubmissionQueue.ts @@ -1,6 +1,7 @@ +import { anySignal, createAbortController } from '../../common/AbortController'; import { Delay } from '../../common/DelayHelper'; -import { jsonEscaper } from '../../common/jsonEscaper'; import { TimeHelper } from '../../common/TimeHelper'; +import { jsonEscaper } from '../../common/jsonEscaper'; import { BacktraceRequestHandler } from '../../model/http'; import { MetricsQueue } from './MetricsQueue'; import { MetricsEvent } from './model/MetricsEvent'; @@ -18,6 +19,7 @@ export class MetricsSubmissionQueue implements MetricsQu private readonly _events: T[] = []; private _numberOfDroppedRequests = 0; + private readonly _abortController: AbortController; private readonly MAXIMUM_NUMBER_OF_ATTEMPTS = 3; @@ -27,7 +29,9 @@ export class MetricsSubmissionQueue implements MetricsQu private readonly _requestHandler: BacktraceRequestHandler, private readonly _metricMetadata: Record, public readonly maximumEvents: number = 50, - ) {} + ) { + this._abortController = createAbortController(); + } public add(event: T) { this._events.push(event); @@ -36,12 +40,16 @@ export class MetricsSubmissionQueue implements MetricsQu } } - public async send() { + public async send(abortSignal?: AbortSignal) { const eventsToProcess = this._events.splice(0); - return await this.submit(eventsToProcess); + return await this.submit(eventsToProcess, anySignal(abortSignal, this._abortController.signal)); + } + + public dispose() { + this._abortController.abort(); } - private async submit(events: T[]) { + private async submit(events: T[], abortSignal?: AbortSignal) { for (let attempts = 0; attempts < this.MAXIMUM_NUMBER_OF_ATTEMPTS; attempts++) { const response = await this._requestHandler.post( this._submissionUrl, @@ -55,6 +63,7 @@ export class MetricsSubmissionQueue implements MetricsQu }, jsonEscaper(), ), + abortSignal, ); if (response.status === 'Ok') { this._numberOfDroppedRequests = 0; @@ -62,7 +71,7 @@ export class MetricsSubmissionQueue implements MetricsQu } this._numberOfDroppedRequests++; - await Delay.wait(2 ** attempts * this.DELAY_BETWEEN_REQUESTS); + await Delay.wait(2 ** attempts * this.DELAY_BETWEEN_REQUESTS, abortSignal); } // if the code reached this line, it means, we couldn't send data to server // we need to try to return events to the queue and try to send it once again later. diff --git a/packages/sdk-core/tests/client/clientTests.spec.ts b/packages/sdk-core/tests/client/clientTests.spec.ts index 50321203..31190b31 100644 --- a/packages/sdk-core/tests/client/clientTests.spec.ts +++ b/packages/sdk-core/tests/client/clientTests.spec.ts @@ -120,10 +120,12 @@ describe('Client tests', () => { await client.send(new Error(''), {}, [reportAttachment]); - expect(client.requestHandler.postError).toHaveBeenCalledWith(expect.any(String), expect.any(String), [ - clientAttachment, - reportAttachment, - ]); + expect(client.requestHandler.postError).toHaveBeenCalledWith( + expect.any(String), + expect.any(String), + [clientAttachment, reportAttachment], + undefined, + ); }); }); }); diff --git a/packages/sdk-core/tests/common/AbortController.spec.ts b/packages/sdk-core/tests/common/AbortController.spec.ts new file mode 100644 index 00000000..e4469038 --- /dev/null +++ b/packages/sdk-core/tests/common/AbortController.spec.ts @@ -0,0 +1,133 @@ +import { AbortController } from '../../src/common/AbortController'; +import { AbortError } from '../../src/common/AbortError'; + +function createEvent(type: string) { + if (typeof Event === 'undefined') { + return { + type, + bubbles: false, + cancelable: false, + } as Event; + } else { + return new Event(type); + } +} + +describe('AbortController', () => { + it('should abort the signal', () => { + const controller = new AbortController(); + controller.abort(); + + expect(controller.signal.aborted).toBe(true); + }); + + it('should set the abort reason on the signal', () => { + const controller = new AbortController(); + const reason = new Error(); + controller.abort(reason); + + expect(controller.signal.reason).toBe(reason); + }); + + it('should set the abort reason to AbortError when reason is not specified', () => { + const controller = new AbortController(); + controller.abort(); + + expect(controller.signal.reason).toBeInstanceOf(AbortError); + }); + + it('should call dispatchEvent on signal when aborted', () => { + const controller = new AbortController(); + const signal = controller.signal; + const spy = jest.spyOn(signal, 'dispatchEvent'); + + controller.abort(); + if (typeof Event !== 'undefined') { + expect(spy).toBeCalledWith(expect.any(Event)); + } else { + expect(spy).toBeCalled(); + const value = spy.mock.lastCall?.[0]; + expect(value).toMatchObject({ type: 'abort' }); + } + }); +}); + +describe('AbortSignal', () => { + it('should be not aborted on construction', () => { + const controller = new AbortController(); + const signal = controller.signal; + + expect(signal.aborted).toBe(false); + }); + + it('should abort on dispatching "abort" event', () => { + const controller = new AbortController(); + const signal = controller.signal; + + signal.dispatchEvent(createEvent('abort')); + expect(signal.aborted).toBe(true); + }); + + it('should call event listeners on dispatching "abort" event', () => { + const controller = new AbortController(); + const signal = controller.signal; + + const fn = jest.fn(); + signal.addEventListener('abort', fn); + + signal.dispatchEvent(createEvent('abort')); + expect(fn).toBeCalled(); + }); + + it('should not call event listeners after adding and removing them on dispatching "abort" event', () => { + const controller = new AbortController(); + const signal = controller.signal; + + const fn = jest.fn(); + signal.addEventListener('abort', fn); + signal.removeEventListener('abort', fn); + + signal.dispatchEvent(createEvent('abort')); + expect(fn).not.toBeCalled(); + }); + + it('should call onabort on aborting', () => { + const controller = new AbortController(); + const signal = controller.signal; + + const fn = jest.fn(); + signal.onabort = fn; + + signal.dispatchEvent(createEvent('abort')); + + expect(fn).toBeCalled(); + }); + + describe('throwIfAborted', () => { + it('should not throw when not aborted', () => { + const controller = new AbortController(); + const signal = controller.signal; + + expect(() => signal.throwIfAborted()).not.toThrow(); + }); + + it('should throw after aborted', () => { + const controller = new AbortController(); + const signal = controller.signal; + + signal.dispatchEvent(createEvent('abort')); + + expect(() => signal.throwIfAborted()).toThrow(); + }); + + it('should throw reason when aborted', () => { + const controller = new AbortController(); + const signal = controller.signal; + + const reason = new Error(); + controller.abort(reason); + + expect(() => signal.throwIfAborted()).toThrow(reason); + }); + }); +}); diff --git a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts index db5d4e85..60111942 100644 --- a/packages/sdk-core/tests/metrics/summedEventTests.spec.ts +++ b/packages/sdk-core/tests/metrics/summedEventTests.spec.ts @@ -60,7 +60,11 @@ describe('Summed events tests', () => { metrics.initialize(); - expect(testHttpClient.post).toBeCalledWith(summedEventsSubmissionUrl, JSON.stringify(expectedJson)); + expect(testHttpClient.post).toBeCalledWith( + summedEventsSubmissionUrl, + JSON.stringify(expectedJson), + expect.anything(), + ); }); it('Should send summed event to overriden submission URL', () => { @@ -98,7 +102,11 @@ describe('Summed events tests', () => { metrics.initialize(); - expect(testHttpClient.post).toBeCalledWith(summedEventsSubmissionUrl, JSON.stringify(expectedJson)); + expect(testHttpClient.post).toBeCalledWith( + summedEventsSubmissionUrl, + JSON.stringify(expectedJson), + expect.anything(), + ); }); it('Should send summed event with custom attributes to the server', () => { @@ -135,7 +143,7 @@ describe('Summed events tests', () => { metrics.initialize(); expect(attributeManager.get().attributes).toMatchObject(customAttributes); - expect(testHttpClient.post).toBeCalledWith(expect.anything(), JSON.stringify(expectedJson)); + expect(testHttpClient.post).toBeCalledWith(expect.anything(), JSON.stringify(expectedJson), expect.anything()); }); it('Should add summed event to the submission queue', () => { diff --git a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts index f99b916e..09b4dbc7 100644 --- a/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts +++ b/packages/sdk-core/tests/metrics/uniqueEventTests.spec.ts @@ -61,7 +61,11 @@ describe('Unique events tests', () => { metrics.initialize(); - expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); + expect(testHttpClient.post).toBeCalledWith( + uniqueEventsSubmissionUrl, + JSON.stringify(expectedJson), + expect.anything(), + ); }); it('Should send unique event to overriden submission URL', () => { @@ -90,7 +94,7 @@ describe('Unique events tests', () => { metrics.initialize(); - expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, expect.anything()); + expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, expect.anything(), expect.anything()); }); it(`Shouldn't build a client with invalid url`, () => { @@ -167,6 +171,10 @@ describe('Unique events tests', () => { metrics.initialize(); expect(attributeManager.get().attributes).toMatchObject(customAttributes); - expect(testHttpClient.post).toBeCalledWith(uniqueEventsSubmissionUrl, JSON.stringify(expectedJson)); + expect(testHttpClient.post).toBeCalledWith( + uniqueEventsSubmissionUrl, + JSON.stringify(expectedJson), + expect.anything(), + ); }); }); From 12951bd815e6e3b232914d98cb9298be1e6aaf08 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 09:55:40 +0100 Subject: [PATCH 237/291] sdk-core: fix global is undeifned error --- packages/sdk-core/src/common/abortInterfaces.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/common/abortInterfaces.ts b/packages/sdk-core/src/common/abortInterfaces.ts index 6d4a8e22..ebdb9444 100644 --- a/packages/sdk-core/src/common/abortInterfaces.ts +++ b/packages/sdk-core/src/common/abortInterfaces.ts @@ -1,6 +1,16 @@ // Required for polyfills to have the same name as the original implementations +function getGlobal(key: K): (typeof window)[K] | undefined { + return typeof window !== 'undefined' + ? window[key as keyof typeof window] + : typeof global !== 'undefined' + ? global[key as keyof typeof global] + : typeof self !== 'undefined' + ? self[key as keyof typeof self] + : undefined; +} + export type OriginalAbortController = AbortController; export type OriginalAbortSignal = AbortSignal; -export const OriginalAbortController = global.AbortController; -export const OriginalAbortSignal = global.AbortSignal; +export const OriginalAbortController = getGlobal('AbortController'); +export const OriginalAbortSignal = getGlobal('AbortSignal'); From cb2ce8c6dd6c52c5dc1b3474aeb5c28f5711acf7 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 10:10:59 +0100 Subject: [PATCH 238/291] node: fix missing FileSystem from node --- packages/node/src/BacktraceClient.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 9619e1b6..2f0f1b18 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -8,15 +8,16 @@ import { VariableDebugIdMapProvider, } from '@backtrace/sdk-core'; import path from 'path'; -import { AGENT } from './agentDefinition'; -import { transformAttachment } from './attachment/transformAttachments'; import { BacktraceConfiguration, BacktraceSetupConfiguration } from './BacktraceConfiguration'; import { BacktraceNodeRequestHandler } from './BacktraceNodeRequestHandler'; +import { AGENT } from './agentDefinition'; +import { transformAttachment } from './attachment/transformAttachments'; import { FileBreadcrumbsStorage } from './breadcrumbs/FileBreadcrumbsStorage'; import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { BacktraceNodeClientSetup } from './builder/BacktraceClientSetup'; import { NodeOptionReader } from './common/NodeOptionReader'; import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; +import { NodeFileSystem } from './storage/NodeFileSystem'; export class BacktraceClient extends BacktraceCoreClient { private _listeners: Record = {}; @@ -26,6 +27,7 @@ export class BacktraceClient extends BacktraceCoreClient sdkOptions: AGENT, requestHandler: new BacktraceNodeRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), + fileSystem: new NodeFileSystem(), ...clientSetup, options: { ...clientSetup.options, From 62960212ff365012b808f1cc5b62d01ef54beadb Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 13:16:11 +0000 Subject: [PATCH 239/291] cli: fix include-sources flag in run --- tools/cli/src/sourcemaps/run.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 66009a1d..4158c31a 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -181,6 +181,15 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com } const config = configResult.data; + + opts = { + ...config, + ...opts, + 'add-sources': opts['add-sources'], + upload: opts['upload'], + process: opts['process'], + }; + const runOptions = config ? { ...joinOptions('run')(config), ...opts } : opts; const processOptions = config ? { ...joinOptions('process')(config), ...opts } : opts; const addSourcsOptions = config ? { ...joinOptions('add-sources')(config), ...opts } : opts; @@ -326,7 +335,7 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com ? Ok : failIfEmpty('no processed sourcemaps found, make sure to run process'), R.map(uniqueBy((asset) => asset.content.debugId)), - R.map(opts['include-sources'] ? pass : map(stripSourcesContent)), + R.map(uploadOptions['include-sources'] ? pass : map(stripSourcesContent)), R.map((assets) => uploadOptions['dry-run'] ? Ok({ rxid: '' }) From ad6cb07689cd49f3f1bc79fd6e6e0fe43718da9b Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 13:24:36 +0000 Subject: [PATCH 240/291] scripts: replace @backtrace-labs with @backtrace --- scripts/gitRelease.ts | 2 +- scripts/release.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/gitRelease.ts b/scripts/gitRelease.ts index de341c41..1048898f 100755 --- a/scripts/gitRelease.ts +++ b/scripts/gitRelease.ts @@ -87,7 +87,7 @@ async function main() { const packageLockPath = path.relative(process.cwd(), path.join(rootDir, 'package-lock.json')); const packageJson = await loadPackageJson(packageJsonPath); - const packageName = packageJson.name.replace('@backtrace-labs/', ''); + const packageName = packageJson.name.replace('@backtrace/', ''); const updatedPackageJson = updateVersion(packageJson, versionOrRelease, identifier); const currentBranch = execute(gitGetCurrentBranch()); const branchName = `${packageName}/${updatedPackageJson.version}`; diff --git a/scripts/release.ts b/scripts/release.ts index 90b47ee6..dee75fab 100755 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -35,7 +35,7 @@ async function main() { const execute = executor(dryRun); const packageJson = await loadPackageJson(packageJsonPath); - const packageName = packageJson.name.replace('@backtrace-labs/', ''); + const packageName = packageJson.name.replace('@backtrace/', ''); const tagName = `${packageName}/${packageJson.version}`; log(`releasing version ${packageJson.version}`); From cc486c4922e3398db0f438483ec92ffda609b879 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 13:28:46 +0000 Subject: [PATCH 241/291] scripts: add simple --name switch to release scripts --- scripts/gitRelease.ts | 16 +++++++++++----- scripts/release.ts | 16 +++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/scripts/gitRelease.ts b/scripts/gitRelease.ts index 1048898f..06c18d5a 100755 --- a/scripts/gitRelease.ts +++ b/scripts/gitRelease.ts @@ -60,7 +60,7 @@ function updateVersion( } async function main() { - const options = ['--dry-run', '--no-push', '--no-commit', '--no-checkout', '--no-add'] as const; + const options = ['--dry-run', '--no-push', '--no-commit', '--no-checkout', '--no-add', '--name'] as const; const argv = process.argv.slice(2); const [packageJsonPath, versionOrRelease, identifier] = argv.filter((v) => !options.includes(v as never)); @@ -74,20 +74,26 @@ async function main() { } const optionValues = options.reduce((val, k) => { - val[k] = argv.includes(k); + const opt = argv.find((v) => v.startsWith(`${k}=`)); + if (opt) { + val[k] = opt.replace(`${k}=`, ''); + } else { + val[k] = argv.includes(k); + } + return val; - }, {} as Record<(typeof options)[number], boolean>); + }, {} as Record<(typeof options)[number], boolean | string>); const dryRun = optionValues['--dry-run']; if (dryRun) { log('dry run enabled'); } - const execute = executor(dryRun); + const execute = executor(!!dryRun); const packageLockPath = path.relative(process.cwd(), path.join(rootDir, 'package-lock.json')); const packageJson = await loadPackageJson(packageJsonPath); - const packageName = packageJson.name.replace('@backtrace/', ''); + const packageName = optionValues['--name'] ?? packageJson.name.replace('@backtrace/', ''); const updatedPackageJson = updateVersion(packageJson, versionOrRelease, identifier); const currentBranch = execute(gitGetCurrentBranch()); const branchName = `${packageName}/${updatedPackageJson.version}`; diff --git a/scripts/release.ts b/scripts/release.ts index dee75fab..742710ee 100755 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -13,7 +13,7 @@ import { loadPackageJson, npmPublish } from './common/packageJson'; import { TrasnactionFn, noop, transaction } from './common/transaction'; async function main() { - const options = ['--dry-run', '--no-tag', '--no-push-tag', '--no-publish'] as const; + const options = ['--dry-run', '--no-tag', '--no-push-tag', '--no-publish', '--name'] as const; const argv = process.argv.slice(2); const [packageJsonPath, commitHash] = argv.filter((v) => !options.includes(v as never)); @@ -23,19 +23,25 @@ async function main() { } const optionValues = options.reduce((val, k) => { - val[k] = argv.includes(k); + const opt = argv.find((v) => v.startsWith(`${k}=`)); + if (opt) { + val[k] = opt.replace(`${k}=`, ''); + } else { + val[k] = argv.includes(k); + } + return val; - }, {} as Record<(typeof options)[number], boolean>); + }, {} as Record<(typeof options)[number], boolean | string>); const dryRun = optionValues['--dry-run']; if (dryRun) { log('dry run enabled'); } - const execute = executor(dryRun); + const execute = executor(!!dryRun); const packageJson = await loadPackageJson(packageJsonPath); - const packageName = packageJson.name.replace('@backtrace/', ''); + const packageName = optionValues['--name'] ?? packageJson.name.replace('@backtrace/', ''); const tagName = `${packageName}/${packageJson.version}`; log(`releasing version ${packageJson.version}`); From 99310eaae7ad7e4d122de753e6c6ebf159ca9e9d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 13:34:30 +0000 Subject: [PATCH 242/291] scripts: fix package name without --name passed --- scripts/gitRelease.ts | 5 ++++- scripts/release.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/gitRelease.ts b/scripts/gitRelease.ts index 06c18d5a..c8f791a4 100755 --- a/scripts/gitRelease.ts +++ b/scripts/gitRelease.ts @@ -93,7 +93,10 @@ async function main() { const packageLockPath = path.relative(process.cwd(), path.join(rootDir, 'package-lock.json')); const packageJson = await loadPackageJson(packageJsonPath); - const packageName = optionValues['--name'] ?? packageJson.name.replace('@backtrace/', ''); + const packageName = + typeof optionValues['--name'] === 'string' + ? optionValues['--name'] + : packageJson.name.replace('@backtrace/', ''); const updatedPackageJson = updateVersion(packageJson, versionOrRelease, identifier); const currentBranch = execute(gitGetCurrentBranch()); const branchName = `${packageName}/${updatedPackageJson.version}`; diff --git a/scripts/release.ts b/scripts/release.ts index 742710ee..2c83e0f1 100755 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -41,7 +41,10 @@ async function main() { const execute = executor(!!dryRun); const packageJson = await loadPackageJson(packageJsonPath); - const packageName = optionValues['--name'] ?? packageJson.name.replace('@backtrace/', ''); + const packageName = + typeof optionValues['--name'] === 'string' + ? optionValues['--name'] + : packageJson.name.replace('@backtrace/', ''); const tagName = `${packageName}/${packageJson.version}`; log(`releasing version ${packageJson.version}`); From cd2945b8d0e91f6a970962f509d075b8d48c7707 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 14:45:52 +0100 Subject: [PATCH 243/291] cli: version 0.2.1 (#192) * cli: version 0.2.1 * cli: fix run invalid command switches --------- Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- tools/cli/package.json | 2 +- tools/cli/src/sourcemaps/run.ts | 9 ++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 47d69737..343affcf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22185,7 +22185,7 @@ }, "tools/cli": { "name": "@backtrace/javascript-cli", - "version": "0.2.0", + "version": "0.2.1", "license": "MIT", "dependencies": { "@backtrace/sourcemap-tools": "^0.2.0", diff --git a/tools/cli/package.json b/tools/cli/package.json index e24f0b9a..c0a60b4b 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/javascript-cli", - "version": "0.2.0", + "version": "0.2.1", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 4158c31a..c217406c 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -181,6 +181,10 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com } const config = configResult.data; + const runOptions = config ? { ...joinOptions('run')(config), ...opts } : opts; + const processOptions = config ? { ...joinOptions('process')(config), ...opts } : opts; + const addSourcsOptions = config ? { ...joinOptions('add-sources')(config), ...opts } : opts; + const uploadOptions = config ? { ...joinOptions('upload')(config), ...opts } : opts; opts = { ...config, @@ -190,11 +194,6 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com process: opts['process'], }; - const runOptions = config ? { ...joinOptions('run')(config), ...opts } : opts; - const processOptions = config ? { ...joinOptions('process')(config), ...opts } : opts; - const addSourcsOptions = config ? { ...joinOptions('add-sources')(config), ...opts } : opts; - const uploadOptions = config ? { ...joinOptions('upload')(config), ...opts } : opts; - const searchPath = opts.path ?? (config?.path && configPath ? relativePaths(config.path, path.dirname(configPath)) : process.cwd()); From 79496d256b7e6790732e7a5bb9fc6da9126a27a6 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 3 Nov 2023 13:50:08 +0000 Subject: [PATCH 244/291] scripts: fix invalid positional arguments when arg=value is passed --- scripts/gitRelease.ts | 2 +- scripts/release.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/gitRelease.ts b/scripts/gitRelease.ts index c8f791a4..ddbc1ea1 100755 --- a/scripts/gitRelease.ts +++ b/scripts/gitRelease.ts @@ -63,7 +63,7 @@ async function main() { const options = ['--dry-run', '--no-push', '--no-commit', '--no-checkout', '--no-add', '--name'] as const; const argv = process.argv.slice(2); - const [packageJsonPath, versionOrRelease, identifier] = argv.filter((v) => !options.includes(v as never)); + const [packageJsonPath, versionOrRelease, identifier] = argv.filter((v) => !options.some((o) => v.startsWith(o))); if (!packageJsonPath) { throw new Error('first argument must be a package.json path'); diff --git a/scripts/release.ts b/scripts/release.ts index 2c83e0f1..89878279 100755 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -16,7 +16,7 @@ async function main() { const options = ['--dry-run', '--no-tag', '--no-push-tag', '--no-publish', '--name'] as const; const argv = process.argv.slice(2); - const [packageJsonPath, commitHash] = argv.filter((v) => !options.includes(v as never)); + const [packageJsonPath, commitHash] = argv.filter((v) => !options.some((o) => v.startsWith(o))); if (!packageJsonPath) { throw new Error('first argument must be a package.json path'); From 49ccd6bd08bc827960daa334e19800d5d9970a4c Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 6 Nov 2023 11:24:28 +0100 Subject: [PATCH 245/291] node: version 0.1.1 (#193) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/node/CHANGELOG.md | 4 ++++ packages/node/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 343affcf..a6b07b60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15623,7 +15623,7 @@ }, "packages/node": { "name": "@backtrace/node", - "version": "0.1.0", + "version": "0.1.1", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.1.0", diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 02b535ae..bc006c93 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.1.1 + +- fix missing `NodeFileSystem` default setting in `BacktraceClient` + # Version 0.1.0 - library rename to `@backtrace/node` diff --git a/packages/node/package.json b/packages/node/package.json index 1c7c3169..1542b800 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/node", - "version": "0.1.0", + "version": "0.1.1", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 49eaa7b4cd45be8130557e98f31e4fe5b8345f9c Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 9 Nov 2023 13:54:42 +0100 Subject: [PATCH 246/291] node: fix AlternatingFileWriter crash on high load (#195) * sdk-core: export mockFileSystem * node: add node-specific file system functions * node: fix AlternatingFileWriter crashes on high load * node, sdk-core: PR changes --------- Co-authored-by: Sebastian Alex --- packages/node/src/BacktraceClient.ts | 27 +++++--- .../src/breadcrumbs/FileBreadcrumbsStorage.ts | 20 ++++-- .../node/src/builder/BacktraceClientSetup.ts | 2 + .../node/src/common/AlternatingFileWriter.ts | 45 ++++++++++--- ...{NodeFileSystem.ts => FsNodeFileSystem.ts} | 19 +++++- .../src/storage/interfaces/NodeFileSystem.ts | 13 ++++ packages/node/tests/_mocks/fileSystem.ts | 50 ++++++++++++++ .../node/tests/common/alternatingFile.spec.ts | 65 +++++++++++++++++-- packages/sdk-core/tests/_mocks/fileSystem.ts | 9 +-- 9 files changed, 214 insertions(+), 36 deletions(-) rename packages/node/src/storage/{NodeFileSystem.ts => FsNodeFileSystem.ts} (69%) create mode 100644 packages/node/src/storage/interfaces/NodeFileSystem.ts create mode 100644 packages/node/tests/_mocks/fileSystem.ts diff --git a/packages/node/src/BacktraceClient.ts b/packages/node/src/BacktraceClient.ts index 2f0f1b18..f2292a38 100644 --- a/packages/node/src/BacktraceClient.ts +++ b/packages/node/src/BacktraceClient.ts @@ -17,18 +17,24 @@ import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder'; import { BacktraceNodeClientSetup } from './builder/BacktraceClientSetup'; import { NodeOptionReader } from './common/NodeOptionReader'; import { NodeDiagnosticReportConverter } from './converter/NodeDiagnosticReportConverter'; -import { NodeFileSystem } from './storage/NodeFileSystem'; +import { FsNodeFileSystem } from './storage/FsNodeFileSystem'; +import { NodeFileSystem } from './storage/interfaces/NodeFileSystem'; export class BacktraceClient extends BacktraceCoreClient { private _listeners: Record = {}; + protected get nodeFileSystem() { + return this.fileSystem as NodeFileSystem | undefined; + } + constructor(clientSetup: BacktraceNodeClientSetup) { + const fileSystem = clientSetup.fileSystem ?? new FsNodeFileSystem(); super({ sdkOptions: AGENT, requestHandler: new BacktraceNodeRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), - fileSystem: new NodeFileSystem(), ...clientSetup, + fileSystem, options: { ...clientSetup.options, attachments: clientSetup.options.attachments?.map(transformAttachment), @@ -40,13 +46,14 @@ export class BacktraceClient extends BacktraceCoreClient breadcrumbsManager.setStorage( FileBreadcrumbsStorage.create( this.sessionFiles, + fileSystem, clientSetup.options.breadcrumbs?.maximumBreadcrumbs ?? 100, ), ); } - if (this.sessionFiles && this.fileSystem && clientSetup.options.database?.captureNativeCrashes) { - this.addModule(FileAttributeManager, FileAttributeManager.create(this.fileSystem)); + if (this.sessionFiles && clientSetup.options.database?.captureNativeCrashes) { + this.addModule(FileAttributeManager, FileAttributeManager.create(fileSystem)); } } @@ -239,7 +246,7 @@ export class BacktraceClient extends BacktraceCoreClient } private async loadNodeCrashes() { - if (!this.database || !this.fileSystem || !this.options.database?.captureNativeCrashes) { + if (!this.database || !this.nodeFileSystem || !this.options.database?.captureNativeCrashes) { return; } @@ -250,7 +257,7 @@ export class BacktraceClient extends BacktraceCoreClient let databaseFiles: string[]; try { - databaseFiles = await this.fileSystem.readDir(databasePath); + databaseFiles = await this.nodeFileSystem.readDir(databasePath); } catch { return; } @@ -270,7 +277,7 @@ export class BacktraceClient extends BacktraceCoreClient for (const recordName of recordNames) { const recordPath = path.join(databasePath, recordName); try { - const recordJson = await this.fileSystem.readFile(recordPath); + const recordJson = await this.nodeFileSystem.readFile(recordPath); const report = converter.convert(JSON.parse(recordJson)); reports.push([recordPath, report]); } catch { @@ -292,12 +299,12 @@ export class BacktraceClient extends BacktraceCoreClient for (const [recordPath, report, session] of reports) { try { if (session) { - const breadcrumbsStorage = FileBreadcrumbsStorage.createFromSession(session); + const breadcrumbsStorage = FileBreadcrumbsStorage.createFromSession(session, this.nodeFileSystem); if (breadcrumbsStorage) { report.attachments.push(...breadcrumbsStorage.getAttachments()); } - const fileAttributes = FileAttributeManager.createFromSession(session, this.fileSystem); + const fileAttributes = FileAttributeManager.createFromSession(session, this.nodeFileSystem); Object.assign(report.attributes, await fileAttributes.get()); report.attributes['application.session'] = session.sessionId; @@ -313,7 +320,7 @@ export class BacktraceClient extends BacktraceCoreClient // Do nothing, skip the report } finally { try { - await this.fileSystem.unlink(recordPath); + await this.nodeFileSystem.unlink(recordPath); } catch { // Do nothing } diff --git a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts index c08486d2..7f37e4d7 100644 --- a/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts +++ b/packages/node/src/breadcrumbs/FileBreadcrumbsStorage.ts @@ -12,6 +12,7 @@ import { import path from 'path'; import { BacktraceFileAttachment } from '../attachment'; import { AlternatingFileWriter } from '../common/AlternatingFileWriter'; +import { NodeFileSystem } from '../storage/interfaces/NodeFileSystem'; const FILE_PREFIX = 'breadcrumbs'; @@ -27,12 +28,21 @@ export class FileBreadcrumbsStorage implements BreadcrumbsStorage { constructor( private readonly _mainFile: string, private readonly _fallbackFile: string, + fileSystem: NodeFileSystem, maximumBreadcrumbs: number, ) { - this._writer = new AlternatingFileWriter(_mainFile, _fallbackFile, maximumBreadcrumbs); + this._writer = new AlternatingFileWriter( + _mainFile, + _fallbackFile, + Math.floor(maximumBreadcrumbs / 2), + fileSystem, + ); } - public static createFromSession(session: SessionFiles): FileBreadcrumbsStorage | undefined { + public static createFromSession( + session: SessionFiles, + fileSystem: NodeFileSystem, + ): FileBreadcrumbsStorage | undefined { const files = session .getSessionFiles() .filter((f) => path.basename(f).startsWith(FILE_PREFIX)) @@ -42,13 +52,13 @@ export class FileBreadcrumbsStorage implements BreadcrumbsStorage { return undefined; } - return new FileBreadcrumbsStorage(files[0], files[1], 1); + return new FileBreadcrumbsStorage(files[0], files[1], fileSystem, 1); } - public static create(session: SessionFiles, maximumBreadcrumbs: number) { + public static create(session: SessionFiles, fileSystem: NodeFileSystem, maximumBreadcrumbs: number) { const file1 = session.getFileName(this.getFileName(0)); const file2 = session.getFileName(this.getFileName(1)); - return new FileBreadcrumbsStorage(file1, file2, maximumBreadcrumbs); + return new FileBreadcrumbsStorage(file1, file2, fileSystem, maximumBreadcrumbs); } public getAttachments(): BacktraceAttachment[] { diff --git a/packages/node/src/builder/BacktraceClientSetup.ts b/packages/node/src/builder/BacktraceClientSetup.ts index ee3d4e74..fd6ce0b4 100644 --- a/packages/node/src/builder/BacktraceClientSetup.ts +++ b/packages/node/src/builder/BacktraceClientSetup.ts @@ -1,8 +1,10 @@ import { PartialCoreClientSetup } from '@backtrace/sdk-core'; import { BacktraceSetupConfiguration } from '../BacktraceConfiguration'; +import { NodeFileSystem } from '../storage/interfaces/NodeFileSystem'; export interface BacktraceClientSetup extends PartialCoreClientSetup<'sdkOptions' | 'requestHandler'> {} export type BacktraceNodeClientSetup = Omit & { readonly options: BacktraceSetupConfiguration; + readonly fileSystem?: NodeFileSystem; }; diff --git a/packages/node/src/common/AlternatingFileWriter.ts b/packages/node/src/common/AlternatingFileWriter.ts index 39476acd..3fa79646 100644 --- a/packages/node/src/common/AlternatingFileWriter.ts +++ b/packages/node/src/common/AlternatingFileWriter.ts @@ -1,7 +1,7 @@ -import fs from 'fs'; +import { NodeFileSystem, WritableStream } from '../storage/interfaces/NodeFileSystem'; export class AlternatingFileWriter { - private _fileStream?: fs.WriteStream; + private _fileStream?: WritableStream; private _count = 0; private _disposed = false; @@ -9,6 +9,7 @@ export class AlternatingFileWriter { private readonly _mainFile: string, private readonly _fallbackFile: string, private readonly _fileCapacity: number, + private readonly _fileSystem: NodeFileSystem, ) { if (this._fileCapacity <= 0) { throw new Error('File capacity may not be less or equal to 0.'); @@ -21,26 +22,54 @@ export class AlternatingFileWriter { } if (!this._fileStream) { - this._fileStream = fs.createWriteStream(this._mainFile, 'utf-8'); + const stream = this.safeCreateStream(this._mainFile); + if (!stream) { + return this; + } + + this._fileStream = stream; } else if (this._count >= this._fileCapacity) { this._fileStream.close(); - await fs.promises.rename(this._mainFile, this._fallbackFile); + this.safeMoveMainToFallback(); this._count = 0; - this._fileStream = fs.createWriteStream(this._mainFile, 'utf-8'); + + const stream = this.safeCreateStream(this._mainFile); + if (!stream) { + return this; + } + + this._fileStream = stream; } - await this.writeAsync(this._fileStream, value + '\n'); + await this.safeWriteAsync(this._fileStream, value + '\n'); this._count++; return this; } - private writeAsync(fs: fs.WriteStream, data: unknown) { - return new Promise((resolve, reject) => fs.write(data, (err) => (err ? reject(err) : resolve()))); + private safeWriteAsync(fs: WritableStream, data: string) { + return new Promise((resolve) => fs.write(data, (err) => (err ? resolve(false) : resolve(true)))); } public dispose() { this._fileStream?.close(); this._disposed = true; } + + private safeCreateStream(path: string) { + try { + return this._fileSystem.createWriteStream(path); + } catch { + return undefined; + } + } + + private safeMoveMainToFallback() { + try { + this._fileSystem.renameSync(this._mainFile, this._fallbackFile); + return true; + } catch { + return false; + } + } } diff --git a/packages/node/src/storage/NodeFileSystem.ts b/packages/node/src/storage/FsNodeFileSystem.ts similarity index 69% rename from packages/node/src/storage/NodeFileSystem.ts rename to packages/node/src/storage/FsNodeFileSystem.ts index 33e5abc4..26cef977 100644 --- a/packages/node/src/storage/NodeFileSystem.ts +++ b/packages/node/src/storage/FsNodeFileSystem.ts @@ -1,8 +1,9 @@ -import { BacktraceAttachment, FileSystem } from '@backtrace/sdk-core'; +import { BacktraceAttachment } from '@backtrace/sdk-core'; import fs from 'fs'; import { BacktraceFileAttachment } from '../attachment'; +import { NodeFileSystem, WritableStream } from './interfaces/NodeFileSystem'; -export class NodeFileSystem implements FileSystem { +export class FsNodeFileSystem implements NodeFileSystem { public readDir(dir: string): Promise { return fs.promises.readdir(dir); } @@ -43,6 +44,20 @@ export class NodeFileSystem implements FileSystem { fs.unlinkSync(path); } + public rename(oldPath: string, newPath: string): Promise { + return fs.promises.rename(oldPath, newPath); + } + + public renameSync(oldPath: string, newPath: string): void { + fs.renameSync(oldPath, newPath); + } + + public createWriteStream(path: string): WritableStream { + const stream = fs.createWriteStream(path, 'utf-8'); + (stream as Partial).writeSync = (chunk) => stream.write(chunk); + return stream as unknown as WritableStream; + } + public async exists(path: string): Promise { try { await fs.promises.stat(path); diff --git a/packages/node/src/storage/interfaces/NodeFileSystem.ts b/packages/node/src/storage/interfaces/NodeFileSystem.ts new file mode 100644 index 00000000..e3595d23 --- /dev/null +++ b/packages/node/src/storage/interfaces/NodeFileSystem.ts @@ -0,0 +1,13 @@ +import { FileSystem } from '@backtrace/sdk-core'; + +export interface WritableStream { + write(chunk: string, callback?: (err?: Error | null) => void): void; + writeSync(chunk: string): void; + close(): void; +} + +export interface NodeFileSystem extends FileSystem { + createWriteStream(path: string): WritableStream; + rename(oldPath: string, newPath: string): Promise; + renameSync(oldPath: string, newPath: string): void; +} diff --git a/packages/node/tests/_mocks/fileSystem.ts b/packages/node/tests/_mocks/fileSystem.ts new file mode 100644 index 00000000..f1c631ae --- /dev/null +++ b/packages/node/tests/_mocks/fileSystem.ts @@ -0,0 +1,50 @@ +import { MockedFileSystem, mockFileSystem } from '@backtrace/sdk-core/tests/_mocks/fileSystem'; +import path from 'path'; +import { Writable } from 'stream'; +import { NodeFileSystem, WritableStream } from '../../src/storage/interfaces/NodeFileSystem'; + +export function mockStreamFileSystem(files?: Record): MockedFileSystem { + const fs = mockFileSystem(files); + + return { + ...fs, + + rename: jest.fn().mockImplementation((oldPath: string, newPath: string) => { + const old = fs.files[path.resolve(oldPath)]; + delete fs.files[path.resolve(oldPath)]; + fs.files[path.resolve(newPath)] = old; + return Promise.resolve(); + }), + renameSync: jest.fn().mockImplementation((oldPath: string, newPath: string) => { + const old = fs.files[path.resolve(oldPath)]; + delete fs.files[path.resolve(oldPath)]; + fs.files[path.resolve(newPath)] = old; + }), + + createWriteStream: jest.fn().mockImplementation((p: string) => { + const writable = new Writable({ + write(chunk, encoding, callback) { + const str = Buffer.isBuffer(chunk) + ? chunk.toString('utf-8') + : typeof chunk === 'string' + ? chunk + : String(chunk).toString(); + + const fullPath = path.resolve(p); + if (!fs.files[fullPath]) { + fs.files[fullPath] = str; + } else { + fs.files[fullPath] += str; + } + + callback && callback(); + }, + }); + + (writable as Partial).close = () => writable.end(); + (writable as Partial).writeSync = (chunk) => writable.write(chunk); + + return writable; + }), + }; +} diff --git a/packages/node/tests/common/alternatingFile.spec.ts b/packages/node/tests/common/alternatingFile.spec.ts index 00b5bb98..fdd2ede2 100644 --- a/packages/node/tests/common/alternatingFile.spec.ts +++ b/packages/node/tests/common/alternatingFile.spec.ts @@ -1,6 +1,8 @@ import fs from 'fs'; import path from 'path'; import { AlternatingFileWriter } from '../../src/common/AlternatingFileWriter'; +import { FsNodeFileSystem } from '../../src/storage/FsNodeFileSystem'; +import { mockStreamFileSystem } from '../_mocks/fileSystem'; function unlinkSafe(file: string) { try { @@ -28,7 +30,7 @@ describe('AlternatingFileWriter', () => { }); it('should add line to the main file', async () => { - const writer = new AlternatingFileWriter(file1, file2, 10); + const writer = new AlternatingFileWriter(file1, file2, 10, new FsNodeFileSystem()); await writer.writeLine('value'); writer.dispose(); @@ -38,7 +40,7 @@ describe('AlternatingFileWriter', () => { it('should not move main file to fallback file before adding with fileCapacity reached', async () => { const count = 5; - const writer = new AlternatingFileWriter(file1, file2, count); + const writer = new AlternatingFileWriter(file1, file2, count, new FsNodeFileSystem()); for (let i = 0; i < count; i++) { await writer.writeLine(`value-${i}`); } @@ -49,7 +51,7 @@ describe('AlternatingFileWriter', () => { it('should move main file to fallback file after adding with fileCapacity reached', async () => { const count = 5; - const writer = new AlternatingFileWriter(file1, file2, count); + const writer = new AlternatingFileWriter(file1, file2, count, new FsNodeFileSystem()); for (let i = 0; i < count; i++) { await writer.writeLine(`value-${i}`); } @@ -64,7 +66,7 @@ describe('AlternatingFileWriter', () => { it('should add line to the main file after adding with fileCapacity reached', async () => { const count = 5; - const writer = new AlternatingFileWriter(file1, file2, count); + const writer = new AlternatingFileWriter(file1, file2, count, new FsNodeFileSystem()); for (let i = 0; i < count; i++) { await writer.writeLine(`value-${i}`); } @@ -77,20 +79,69 @@ describe('AlternatingFileWriter', () => { }); it('should throw after adding line when disposed', async () => { - const writer = new AlternatingFileWriter(file1, file2, 10); + const writer = new AlternatingFileWriter(file1, file2, 10, new FsNodeFileSystem()); writer.dispose(); await expect(writer.writeLine('value-x')).rejects.toThrowError('This instance has been disposed.'); }); it('should throw when fileCapacity is 0', () => { - expect(() => new AlternatingFileWriter(file1, file2, 0)).toThrowError( + expect(() => new AlternatingFileWriter(file1, file2, 0, new FsNodeFileSystem())).toThrowError( 'File capacity may not be less or equal to 0.', ); }); it('should throw when fileCapacity is less than 0', () => { - expect(() => new AlternatingFileWriter(file1, file2, -1)).toThrowError( + expect(() => new AlternatingFileWriter(file1, file2, -1, new FsNodeFileSystem())).toThrowError( 'File capacity may not be less or equal to 0.', ); }); + + describe('stress test', () => { + it('should not throw', async () => { + const writer = new AlternatingFileWriter(file1, file2, 1, new FsNodeFileSystem()); + + const write = async (count: number, entry: string) => { + for (let i = 0; i < count; i++) { + await writer.writeLine(entry); + } + }; + + const writerCount = 100; + const writeCount = 100; + const promises = [...new Array(writerCount)].map(() => write(writeCount, 'text')); + await expect(Promise.all(promises)).resolves.not.toThrow(); + }); + + it('should not skip text', async () => { + const fs = mockStreamFileSystem(); + const renameSync = fs.renameSync; + + let fallbackText = ''; + + fs.renameSync = jest.fn((oldPath, newPath) => { + fallbackText += fs.readFileSync(oldPath); + return renameSync(oldPath, newPath); + }); + + const writer = new AlternatingFileWriter(file1, file2, 1, fs); + + const write = async (count: number, entry: string) => { + for (let i = 0; i < count; i++) { + await writer.writeLine(entry); + } + }; + + // TODO: Current implementation is kinda bad with more writers, and loses some data in fact. + // Trying to fix this though can take a lot of work, so leaving this for now + const writerCount = 1; + const writeCount = 100; + const promises = [...new Array(writerCount)].map(() => write(writeCount, 'text')); + await Promise.all(promises); + + const expected = [...new Array(writerCount * writeCount - 1)].map(() => 'text\n').join(''); + + expect(renameSync).toBeCalledTimes(writerCount * writeCount - 1); + expect(fallbackText.length).toEqual(expected.length); + }); + }); }); diff --git a/packages/sdk-core/tests/_mocks/fileSystem.ts b/packages/sdk-core/tests/_mocks/fileSystem.ts index 6ba97b7a..ce50f192 100644 --- a/packages/sdk-core/tests/_mocks/fileSystem.ts +++ b/packages/sdk-core/tests/_mocks/fileSystem.ts @@ -2,11 +2,12 @@ import path from 'path'; import { BacktraceFileAttachment } from '../../src/model/attachment'; import { FileSystem } from '../../src/modules/storage/FileSystem'; -type MockedFileSystem = { - [K in keyof FileSystem]: jest.Mock, Parameters>; +export type MockedFileSystem = { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + [K in keyof T]: T[K] extends (...args: any) => any ? jest.Mock, Parameters> : never; } & { files: Record }; -export function mockFileSystem(files?: Record): MockedFileSystem { +export function mockFileSystem(files?: Record): MockedFileSystem { const fs = Object.entries(files ?? {}) .map(([k, v]) => [path.resolve(k), v]) .reduce((obj, [k, v]) => { @@ -37,10 +38,10 @@ export function mockFileSystem(files?: Record): MockedFileSystem unlink: jest.fn().mockImplementation((p: string) => { delete fs[path.resolve(p)]; + return Promise.resolve(); }), unlinkSync: jest.fn().mockImplementation((p: string) => { delete fs[path.resolve(p)]; - return Promise.resolve(); }), exists: jest.fn().mockImplementation((p: string) => Promise.resolve(path.resolve(p) in fs)), From 75dcc9775009f3b487556b6208ad92c8d8beaeba Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 9 Nov 2023 13:54:55 +0100 Subject: [PATCH 247/291] nestjs: version 0.1.1 (#196) * nestjs: version 0.1.1 * nestjs: disable tests for Node v14 --------- Co-authored-by: Sebastian Alex --- package-lock.json | 348 +++++++++++++++------------------ packages/nestjs/CHANGELOG.md | 4 + packages/nestjs/jest.config.js | 8 + packages/nestjs/package.json | 12 +- 4 files changed, 176 insertions(+), 196 deletions(-) diff --git a/package-lock.json b/package-lock.json index a6b07b60..a0ad11a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1926,13 +1926,13 @@ } }, "node_modules/@nestjs/common": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", - "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.2.8.tgz", + "integrity": "sha512-rmpwcdvq2IWMmsUVP8rsdKub6uDWk7dwCYo0aif50JTwcvcxzaP3iKVFKoSgvp0RKYu8h15+/AEOfaInmPpl0Q==", "peer": true, "dependencies": { "iterare": "1.2.1", - "tslib": "2.5.3", + "tslib": "2.6.2", "uid": "2.0.2" }, "funding": { @@ -1940,16 +1940,12 @@ "url": "https://opencollective.com/nest" }, "peerDependencies": { - "cache-manager": "<=5", "class-transformer": "*", "class-validator": "*", "reflect-metadata": "^0.1.12", "rxjs": "^7.1.0" }, "peerDependenciesMeta": { - "cache-manager": { - "optional": true - }, "class-transformer": { "optional": true }, @@ -1959,115 +1955,11 @@ } }, "node_modules/@nestjs/common/node_modules/tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true }, - "node_modules/@nestjs/core": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", - "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.5.3", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^9.0.0", - "@nestjs/microservices": "^9.0.0", - "@nestjs/platform-express": "^9.0.0", - "@nestjs/websockets": "^9.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, - "node_modules/@nestjs/core/node_modules/tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true - }, - "node_modules/@nestjs/platform-express": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", - "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", - "dev": true, - "dependencies": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.18.2", - "multer": "1.4.4-lts.1", - "tslib": "2.5.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^9.0.0", - "@nestjs/core": "^9.0.0" - } - }, - "node_modules/@nestjs/platform-express/node_modules/tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true - }, - "node_modules/@nestjs/testing": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", - "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", - "dev": true, - "dependencies": { - "tslib": "2.5.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^9.0.0", - "@nestjs/core": "^9.0.0", - "@nestjs/microservices": "^9.0.0", - "@nestjs/platform-express": "^9.0.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - } - } - }, - "node_modules/@nestjs/testing/node_modules/tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -15593,15 +15485,15 @@ }, "packages/nestjs": { "name": "@backtrace/nestjs", - "version": "0.1.0", + "version": "0.1.1", "license": "MIT", "dependencies": { "@backtrace/node": "^0.1.0" }, "devDependencies": { - "@nestjs/core": "^9", - "@nestjs/platform-express": "^9", - "@nestjs/testing": "^9", + "@nestjs/core": "^10", + "@nestjs/platform-express": "^10", + "@nestjs/testing": "^10", "@types/express": "^4.17.18", "@types/jest": "^29.5.1", "@types/supertest": "^2.0.13", @@ -15618,9 +15510,101 @@ "node": ">=14" }, "peerDependencies": { - "@nestjs/common": "^9" + "@nestjs/common": "^9 || ^10" + } + }, + "packages/nestjs/node_modules/@nestjs/core": { + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.2.8.tgz", + "integrity": "sha512-9+MZ2s8ixfY9Bl/M9ofChiyYymcwdK9ZWNH4GDMF7Am7XRAQ1oqde6MYGG05rhQwiVXuTwaYLlXciJKfsrg5qg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.6.2", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0", + "@nestjs/websockets": "^10.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "packages/nestjs/node_modules/@nestjs/platform-express": { + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.2.8.tgz", + "integrity": "sha512-WoSSVtwIRc5AdGMHWVzWZK4JZLT0f4o2xW8P9gQvcX+omL8W1kXCfY8GQYXNBG84XmBNYH8r0FtC8oMe/lH5NQ==", + "dev": true, + "dependencies": { + "body-parser": "1.20.2", + "cors": "2.8.5", + "express": "4.18.2", + "multer": "1.4.4-lts.1", + "tslib": "2.6.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/core": "^10.0.0" + } + }, + "packages/nestjs/node_modules/@nestjs/testing": { + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.2.8.tgz", + "integrity": "sha512-9Kj5IQhM67/nj/MT6Wi2OmWr5YQnCMptwKVFrX1TDaikpY12196v7frk0jVjdT7wms7rV07GZle9I2z0aSjqtQ==", + "dev": true, + "dependencies": { + "tslib": "2.6.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/core": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + } } }, + "packages/nestjs/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "packages/node": { "name": "@backtrace/node", "version": "0.1.1", @@ -22905,9 +22889,9 @@ "version": "file:packages/nestjs", "requires": { "@backtrace/node": "^0.1.0", - "@nestjs/core": "^9", - "@nestjs/platform-express": "^9", - "@nestjs/testing": "^9", + "@nestjs/core": "^10", + "@nestjs/platform-express": "^10", + "@nestjs/testing": "^10", "@types/express": "^4.17.18", "@types/jest": "^29.5.1", "@types/supertest": "^2.0.13", @@ -22919,6 +22903,50 @@ "webpack": "^5.87.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" + }, + "dependencies": { + "@nestjs/core": { + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.2.8.tgz", + "integrity": "sha512-9+MZ2s8ixfY9Bl/M9ofChiyYymcwdK9ZWNH4GDMF7Am7XRAQ1oqde6MYGG05rhQwiVXuTwaYLlXciJKfsrg5qg==", + "dev": true, + "requires": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.6.2", + "uid": "2.0.2" + } + }, + "@nestjs/platform-express": { + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.2.8.tgz", + "integrity": "sha512-WoSSVtwIRc5AdGMHWVzWZK4JZLT0f4o2xW8P9gQvcX+omL8W1kXCfY8GQYXNBG84XmBNYH8r0FtC8oMe/lH5NQ==", + "dev": true, + "requires": { + "body-parser": "1.20.2", + "cors": "2.8.5", + "express": "4.18.2", + "multer": "1.4.4-lts.1", + "tslib": "2.6.2" + } + }, + "@nestjs/testing": { + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.2.8.tgz", + "integrity": "sha512-9Kj5IQhM67/nj/MT6Wi2OmWr5YQnCMptwKVFrX1TDaikpY12196v7frk0jVjdT7wms7rV07GZle9I2z0aSjqtQ==", + "dev": true, + "requires": { + "tslib": "2.6.2" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } } }, "@backtrace/node": { @@ -27959,84 +27987,24 @@ "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" }, "@nestjs/common": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", - "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.2.8.tgz", + "integrity": "sha512-rmpwcdvq2IWMmsUVP8rsdKub6uDWk7dwCYo0aif50JTwcvcxzaP3iKVFKoSgvp0RKYu8h15+/AEOfaInmPpl0Q==", "peer": true, "requires": { "iterare": "1.2.1", - "tslib": "2.5.3", + "tslib": "2.6.2", "uid": "2.0.2" }, "dependencies": { "tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "peer": true } } }, - "@nestjs/core": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", - "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", - "dev": true, - "requires": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.5.3", - "uid": "2.0.2" - }, - "dependencies": { - "tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true - } - } - }, - "@nestjs/platform-express": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", - "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", - "dev": true, - "requires": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.18.2", - "multer": "1.4.4-lts.1", - "tslib": "2.5.3" - }, - "dependencies": { - "tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true - } - } - }, - "@nestjs/testing": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", - "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", - "dev": true, - "requires": { - "tslib": "2.5.3" - }, - "dependencies": { - "tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==", - "dev": true - } - } - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", diff --git a/packages/nestjs/CHANGELOG.md b/packages/nestjs/CHANGELOG.md index f7647261..0cb2141a 100644 --- a/packages/nestjs/CHANGELOG.md +++ b/packages/nestjs/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.1.1 + +- add support for Nest v10 + # Version 0.1.0 - library rename to `@backtrace/nestjs` diff --git a/packages/nestjs/jest.config.js b/packages/nestjs/jest.config.js index 463cbb9b..65540e2c 100644 --- a/packages/nestjs/jest.config.js +++ b/packages/nestjs/jest.config.js @@ -1,6 +1,14 @@ +/** + * Node v14 fails with Nest v10, and we cannot install Nest v9 + * due to peer dependency version mismatches. + * For now, we just disable tests. The package should work fine with Nest v9 and Node v14. + */ +const disableTests = /^v14/.test(process.version) + /** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { preset: 'ts-jest', testEnvironment: 'node', setupFiles: ['./jest.setup.js'], + testPathIgnorePatterns: disableTests ? ['.'] : [] }; diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 7eb49221..ef1d9902 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/nestjs", - "version": "0.1.0", + "version": "0.1.1", "description": "Backtrace-JavaScript NestJS integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -11,7 +11,7 @@ "lint": "eslint . --ext .ts", "prepublishOnly": "NODE_ENV=production npm run build", "watch": "webpack -w", - "test": "NODE_ENV=test jest" + "test": "NODE_ENV=test jest --passWithNoTests" }, "engines": { "node": ">=14" @@ -41,9 +41,9 @@ "/lib" ], "devDependencies": { - "@nestjs/core": "^9", - "@nestjs/platform-express": "^9", - "@nestjs/testing": "^9", + "@nestjs/core": "^10", + "@nestjs/platform-express": "^10", + "@nestjs/testing": "^10", "@types/express": "^4.17.18", "@types/jest": "^29.5.1", "@types/supertest": "^2.0.13", @@ -60,6 +60,6 @@ "@backtrace/node": "^0.1.0" }, "peerDependencies": { - "@nestjs/common": "^9" + "@nestjs/common": "^9 || ^10" } } From a9bc9723de19f8531ac3817e13cf76166c281a63 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 9 Nov 2023 15:13:04 +0100 Subject: [PATCH 248/291] node: version 0.1.2 (#197) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/node/CHANGELOG.md | 4 ++++ packages/node/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0ad11a6..328ef732 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15607,7 +15607,7 @@ }, "packages/node": { "name": "@backtrace/node", - "version": "0.1.1", + "version": "0.1.2", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.1.0", diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index bc006c93..61632654 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.1.2 + +- fix `AlternatingFileWriter` crash on high load + # Version 0.1.1 - fix missing `NodeFileSystem` default setting in `BacktraceClient` diff --git a/packages/node/package.json b/packages/node/package.json index 1542b800..814b77de 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/node", - "version": "0.1.1", + "version": "0.1.2", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From d4e2e6200e8b88d292ffc2799b7f771c33cc198c Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 10 Nov 2023 12:38:09 +0000 Subject: [PATCH 249/291] node: export BacktraceNodeRequestHandler --- packages/node/src/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index f4389f79..962a5b56 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -6,13 +6,14 @@ export { BacktraceStackFrame, BacktraceStackTraceConverter, BreadcrumbLogLevel, + BreadcrumbType, BreadcrumbsEventSubscriber, BreadcrumbsManager, - BreadcrumbType, RawBreadcrumb, } from '@backtrace/sdk-core'; -export * from './attachment'; export * from './BacktraceClient'; export * from './BacktraceConfiguration'; +export * from './BacktraceNodeRequestHandler'; +export * from './attachment'; export * from './builder/BacktraceClientBuilder'; export * from './builder/BacktraceClientSetup'; From ba707fb2a3aa2803c7ead84065af918b9b5752e7 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 10 Nov 2023 13:44:44 +0100 Subject: [PATCH 250/291] node: version 0.1.3 (#200) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/node/CHANGELOG.md | 4 ++++ packages/node/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 328ef732..7dc10778 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15607,7 +15607,7 @@ }, "packages/node": { "name": "@backtrace/node", - "version": "0.1.2", + "version": "0.1.3", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.1.0", diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 61632654..a13c961a 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.1.3 + +- export `BacktraceNodeRequestHandler` + # Version 0.1.2 - fix `AlternatingFileWriter` crash on high load diff --git a/packages/node/package.json b/packages/node/package.json index 814b77de..5cfd66f5 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/node", - "version": "0.1.2", + "version": "0.1.3", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From de63fe2cb0e25ae439fde6e59bf1a6e28ea6c39d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 14 Nov 2023 10:21:02 +0100 Subject: [PATCH 251/291] nestjs: add option to don't throw if BacktraceClient is undefined (#201) Co-authored-by: Sebastian Alex --- packages/nestjs/src/backtrace.interceptor.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/nestjs/src/backtrace.interceptor.ts b/packages/nestjs/src/backtrace.interceptor.ts index 1a117607..36105982 100644 --- a/packages/nestjs/src/backtrace.interceptor.ts +++ b/packages/nestjs/src/backtrace.interceptor.ts @@ -2,7 +2,7 @@ import { BacktraceClient } from '@backtrace/node'; import { CallHandler, ExecutionContext, HttpException, Injectable, NestInterceptor, Optional } from '@nestjs/common'; import { HttpArgumentsHost, RpcArgumentsHost, WsArgumentsHost } from '@nestjs/common/interfaces'; import { type Request as ExpressRequest } from 'express'; -import { catchError, Observable, throwError } from 'rxjs'; +import { Observable, catchError, throwError } from 'rxjs'; type ExceptionTypeFilter = (new (...args: never[]) => unknown)[] | ((err: unknown) => boolean); @@ -44,6 +44,15 @@ export interface BacktraceInterceptorOptions { */ readonly excludeExceptionTypes?: ExceptionTypeFilter; + /** + * Will not throw on initialization if `true` and the `BacktraceClient` instance is `undefined`. + * + * If this is `true` and the client instance is not available, the interceptor will not be run. + * + * @default false + */ + readonly skipIfClientUndefined?: boolean; + /** * This method will be called before sending the report. * Use this to build attributes that will be attached to the report. @@ -93,6 +102,10 @@ export class BacktraceInterceptor implements NestInterceptor { public intercept(context: ExecutionContext, next: CallHandler): Observable { const client = this._client ?? BacktraceClient.instance; if (!client) { + if (this._options.skipIfClientUndefined) { + return next.handle(); + } + throw new Error('Backtrace instance is unavailable. Initialize the client first.'); } @@ -196,6 +209,7 @@ export class BacktraceInterceptor implements NestInterceptor { return { includeExceptionTypes: [Error], excludeExceptionTypes: (error) => error instanceof HttpException && error.getStatus() < 500, + skipIfClientUndefined: false, }; } } From c34e414f89c269c20ce3ec438d8ee9dde014dd59 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 14 Nov 2023 10:25:56 +0100 Subject: [PATCH 252/291] electron: version 0.1.0 (#202) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/electron/CHANGELOG.md | 3 +++ packages/electron/package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/electron/CHANGELOG.md diff --git a/package-lock.json b/package-lock.json index 7dc10778..abb8978b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15473,7 +15473,7 @@ }, "packages/electron": { "name": "@backtrace/electron", - "version": "0.0.1", + "version": "0.1.0", "license": "MIT", "dependencies": { "@backtrace/node": "^0.1.0", diff --git a/packages/electron/CHANGELOG.md b/packages/electron/CHANGELOG.md new file mode 100644 index 00000000..7f5b32f8 --- /dev/null +++ b/packages/electron/CHANGELOG.md @@ -0,0 +1,3 @@ +# Version 0.1.0 + +Initial release. diff --git a/packages/electron/package.json b/packages/electron/package.json index ed7ec3d9..4f5fe1cc 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/electron", - "version": "0.0.1", + "version": "0.1.0", "description": "Backtrace-JavaScript Electron integration", "main": "main/index.js", "types": "main/index.d.ts", From 463a7e931973d4c2528f2e2e5043832696344c9f Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 14 Nov 2023 09:29:33 +0000 Subject: [PATCH 253/291] electron: version 0.1.0 hotfix - update @backtrace/node version --- packages/electron/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/electron/package.json b/packages/electron/package.json index 4f5fe1cc..793421af 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -35,8 +35,7 @@ "/renderer" ], "dependencies": { - "@backtrace/sdk-core": "^0.1.0", - "@backtrace/node": "^0.1.0" + "@backtrace/node": "^0.1.3" }, "peerDependencies": { "electron": "12 - 26" From 4238d0efecf5dd3102f8c10a3dad7d782add8fdd Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 15 Nov 2023 19:09:49 +0100 Subject: [PATCH 254/291] Hermes react stack trace (#194) * Add support for v8 hermes stack trace * V8 Stack trace handler: add address prefix parameter * Update BacktraceClient.ts Changed address-at to address at --- packages/react-native/src/BacktraceClient.ts | 2 +- .../converter/V8StackTraceConverter.ts | 5 ++++ .../stackTraceConverterTests.spec.ts | 2 +- .../tests/converters/v8stackTraceTestCases.ts | 23 +++++++++++++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts index 806ebfda..984d2120 100644 --- a/packages/react-native/src/BacktraceClient.ts +++ b/packages/react-native/src/BacktraceClient.ts @@ -42,7 +42,7 @@ export class BacktraceClient extends BacktraceCoreClient }, requestHandler: new BacktraceBrowserRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), - stackTraceConverter: new ReactStackTraceConverter(new V8StackTraceConverter()), + stackTraceConverter: new ReactStackTraceConverter(new V8StackTraceConverter('address at')), sessionProvider: new SingleSessionProvider(), ...clientSetup, }); diff --git a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts index d874d6a6..8b30ee01 100644 --- a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts +++ b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts @@ -8,6 +8,8 @@ export class V8StackTraceConverter implements BacktraceStackTraceConverter { return 'v8'; } + constructor(public readonly addressSeparator: string = '') {} + convert(stackTrace: string, message: string): BacktraceStackFrame[] { const result: BacktraceStackFrame[] = []; let stackFrames = stackTrace.split('\n'); @@ -64,6 +66,9 @@ export class V8StackTraceConverter implements BacktraceStackTraceConverter { if (sourceCodeInformation.startsWith('eval')) { return this.extractEvalInformation(sourceCodeInformation); } + if (this.addressSeparator && sourceCodeInformation.startsWith(this.addressSeparator)) { + sourceCodeInformation = sourceCodeInformation.substring(this.addressSeparator.length).trimStart(); + } const sourceCodeParts = sourceCodeInformation.split(':'); const column = parseInt(sourceCodeParts[sourceCodeParts.length - 1]); const lineNumber = parseInt(sourceCodeParts[sourceCodeParts.length - 2]); diff --git a/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts b/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts index 7757deae..45ed4b22 100644 --- a/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts +++ b/packages/sdk-core/tests/converters/stackTraceConverterTests.spec.ts @@ -3,7 +3,7 @@ import { v8StackTraceTests } from './v8stackTraceTestCases'; describe('Stack trace converter tests', () => { describe('v8', () => { - const converter = new V8StackTraceConverter(); + const converter = new V8StackTraceConverter('address at'); describe('Stack trace generator', () => { for (const stackTraceTest of v8StackTraceTests) { diff --git a/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts b/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts index c1db4cf4..17c1fedb 100644 --- a/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts +++ b/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts @@ -142,4 +142,27 @@ export const v8StackTraceTests: Array<{ }, ], }, + { + name: 'Address at test', + test: { + message: 'Foo bar', + stackTrace: `Error: Foo bar + at foo (address at main.js.bundle:1:2) + at bar (address at main.js.bundle:3:4)`, + }, + expectation: [ + { + funcName: 'foo', + library: 'main.js.bundle', + column: 2, + line: 1, + }, + { + funcName: 'bar', + library: 'main.js.bundle', + column: 4, + line: 3, + }, + ], + }, ]; From 8770eed4bdc4e90fdaa927fa332b402fbe5a0611 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 16 Nov 2023 17:31:42 +0100 Subject: [PATCH 255/291] use Version 0.1.0 --- packages/react-native/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/package.json b/packages/react-native/package.json index e71563cd..ddf66f70 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/react-native", - "version": "0.0.1", + "version": "0.1.0", "description": "Backtrace-Javascript React-Native integration", "main": "lib/commonjs/index", "module": "lib/module/index", From e00601a116a666ea2e9eb41190f333b8c266b9e6 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 17 Nov 2023 13:01:11 +0100 Subject: [PATCH 256/291] Source map global this (#203) * Source map global this * global DebugIdGenerator --- tools/sourcemap-tools/src/DebugIdGenerator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/sourcemap-tools/src/DebugIdGenerator.ts b/tools/sourcemap-tools/src/DebugIdGenerator.ts index 2dcbce47..cad89107 100644 --- a/tools/sourcemap-tools/src/DebugIdGenerator.ts +++ b/tools/sourcemap-tools/src/DebugIdGenerator.ts @@ -4,7 +4,7 @@ export const SOURCEMAP_DEBUG_ID_KEY = 'debugId'; export class DebugIdGenerator { public generateSourceSnippet(uuid: string) { - return `;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e.${SOURCE_DEBUG_ID_VARIABLE}=e.${SOURCE_DEBUG_ID_VARIABLE}||{},e.${SOURCE_DEBUG_ID_VARIABLE}[n]="${uuid}")}catch(e){}}();`; + return `;!function(){try{var k="${SOURCE_DEBUG_ID_VARIABLE}",u="undefined",v="${uuid}",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}();`; } public generateSourceComment(uuid: string) { From a7d56bc8969a7fdcc8d6e6b5e2a44d266c786582 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 17 Nov 2023 14:45:49 +0100 Subject: [PATCH 257/291] cli: partial processing (#198) * sourcemap tools: add replacing debug ID and not modyfing source when it has debug ID already * cli: modify only sourcemaps when source has already debugId --------- Co-authored-by: Sebastian Alex --- package-lock.json | 33 +++ tools/cli/jest.config.js | 1 + tools/cli/package.json | 1 + tools/cli/src/sourcemaps/process.ts | 25 ++- .../_files/processed-sourcemaps/entry1.js | 7 + .../_files/processed-sourcemaps/entry1.js.map | 12 ++ .../_files/processed-sourcemaps/entry2.js | 7 + .../_files/processed-sourcemaps/entry2.js.map | 12 ++ .../tests/_files/processed-sources/entry1.js | 9 + .../_files/processed-sources/entry1.js.map | 11 + .../tests/_files/processed-sources/entry2.js | 9 + .../_files/processed-sources/entry2.js.map | 11 + tools/cli/tests/_helpers/testFiles.ts | 2 + tools/cli/tests/setup.ts | 3 + tools/cli/tests/sourcemaps/process.spec.ts | 193 +++++++++++++++--- tools/sourcemap-tools/src/DebugIdGenerator.ts | 21 ++ tools/sourcemap-tools/src/SourceProcessor.ts | 56 +++-- .../tests/SourceProcessor.spec.ts | 62 ++++++ 18 files changed, 425 insertions(+), 50 deletions(-) create mode 100644 tools/cli/tests/_files/processed-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/processed-sourcemaps/entry1.js.map create mode 100644 tools/cli/tests/_files/processed-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/processed-sourcemaps/entry2.js.map create mode 100644 tools/cli/tests/_files/processed-sources/entry1.js create mode 100644 tools/cli/tests/_files/processed-sources/entry1.js.map create mode 100644 tools/cli/tests/_files/processed-sources/entry2.js create mode 100644 tools/cli/tests/_files/processed-sources/entry2.js.map create mode 100644 tools/cli/tests/setup.ts diff --git a/package-lock.json b/package-lock.json index abb8978b..01ab5f2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8930,6 +8930,27 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-extended": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.2.tgz", + "integrity": "sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==", + "dev": true, + "dependencies": { + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "jest": ">=27.2.5" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + } + } + }, "node_modules/jest-get-type": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", @@ -22187,6 +22208,7 @@ "@types/fs-extra": "^11.0.1", "fs-extra": "^11.1.1", "jest": "^29.5.0", + "jest-extended": "^4.0.2", "ts-jest": "^29.1.0", "typescript": "^5.0.4" }, @@ -22880,6 +22902,7 @@ "fs-extra": "^11.1.1", "glob": "^10.3.3", "jest": "^29.5.0", + "jest-extended": "^4.0.2", "jsonc": "^2.0.0", "ts-jest": "^29.1.0", "typescript": "^5.0.4" @@ -33472,6 +33495,16 @@ "jest-util": "^29.7.0" } }, + "jest-extended": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.2.tgz", + "integrity": "sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==", + "dev": true, + "requires": { + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0" + } + }, "jest-get-type": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", diff --git a/tools/cli/jest.config.js b/tools/cli/jest.config.js index b413e106..e31347a5 100644 --- a/tools/cli/jest.config.js +++ b/tools/cli/jest.config.js @@ -2,4 +2,5 @@ module.exports = { preset: 'ts-jest', testEnvironment: 'node', + setupFilesAfterEnv: ['./tests/setup.ts'] }; \ No newline at end of file diff --git a/tools/cli/package.json b/tools/cli/package.json index c0a60b4b..59a0fd2f 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -57,6 +57,7 @@ "@types/fs-extra": "^11.0.1", "fs-extra": "^11.1.1", "jest": "^29.5.0", + "jest-extended": "^4.0.2", "ts-jest": "^29.1.0", "typescript": "^5.0.4" } diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 80c2aacb..250a7865 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -185,16 +185,31 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo export function processSource(force: boolean) { const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - const getDebugId = (sourceAndSourceMap: SourceAndSourceMap) => + const getSourceDebugId = (sourceAndSourceMap: SourceAndSourceMap) => + sourceProcessor.getSourceDebugId(sourceAndSourceMap.source.content); + + const getSourceMapDebugId = (sourceAndSourceMap: SourceAndSourceMap) => sourceProcessor.getSourceMapDebugId(sourceAndSourceMap.sourceMap.content); + const getDebugIds = (sourceAndSourceMap: SourceAndSourceMap) => ({ + sourceDebugId: getSourceDebugId(sourceAndSourceMap), + sourceMapDebugId: getSourceMapDebugId(sourceAndSourceMap), + }); + + const shouldProcess = (sourceDebugId: string | undefined, sourceMapDebugId: string | undefined) => + force || !sourceDebugId || !sourceMapDebugId || sourceDebugId !== sourceMapDebugId; + return async function processSource(asset: SourceAndSourceMap): Promise { - return pipe(asset, getDebugId, (debugId) => - !debugId || force + return pipe(asset, getDebugIds, ({ sourceDebugId, sourceMapDebugId }) => + shouldProcess(sourceDebugId, sourceMapDebugId) ? pipe( asset, (asset) => - sourceProcessor.processSourceAndSourceMap(asset.source.content, asset.sourceMap.content), + sourceProcessor.processSourceAndSourceMap( + asset.source.content, + asset.sourceMap.content, + sourceDebugId ?? sourceMapDebugId, + ), (result) => ({ source: { ...asset.source, content: result.source }, @@ -202,7 +217,7 @@ export function processSource(force: boolean) { debugId: result.debugId, } as ProcessedSourceAndSourceMap), ) - : ({ ...asset, debugId } as ProcessedSourceAndSourceMap), + : ({ ...asset, debugId: sourceDebugId } as ProcessedSourceAndSourceMap), ); }; } diff --git a/tools/cli/tests/_files/processed-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-sourcemaps/entry1.js new file mode 100644 index 00000000..04ca8bd0 --- /dev/null +++ b/tools/cli/tests/_files/processed-sourcemaps/entry1.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=entry1.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-sourcemaps/entry1.js.map b/tools/cli/tests/_files/processed-sourcemaps/entry1.js.map new file mode 100644 index 00000000..25df1904 --- /dev/null +++ b/tools/cli/tests/_files/processed-sourcemaps/entry1.js.map @@ -0,0 +1,12 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "4fe9a5c9-ab48-b240-9469-04aa2db251b6" +} diff --git a/tools/cli/tests/_files/processed-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-sourcemaps/entry2.js new file mode 100644 index 00000000..53e7664d --- /dev/null +++ b/tools/cli/tests/_files/processed-sourcemaps/entry2.js @@ -0,0 +1,7 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-sourcemaps/entry2.js.map b/tools/cli/tests/_files/processed-sourcemaps/entry2.js.map new file mode 100644 index 00000000..7fc279e7 --- /dev/null +++ b/tools/cli/tests/_files/processed-sourcemaps/entry2.js.map @@ -0,0 +1,12 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "d538bdaa-8149-8111-25f0-b5c0f472366a" +} diff --git a/tools/cli/tests/_files/processed-sources/entry1.js b/tools/cli/tests/_files/processed-sources/entry1.js new file mode 100644 index 00000000..b794798d --- /dev/null +++ b/tools/cli/tests/_files/processed-sources/entry1.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# sourceMappingURL=entry1.js.map +//# debugId=4fe9a5c9-ab48-b240-9469-04aa2db251b6 \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-sources/entry1.js.map b/tools/cli/tests/_files/processed-sources/entry1.js.map new file mode 100644 index 00000000..beb2bae4 --- /dev/null +++ b/tools/cli/tests/_files/processed-sources/entry1.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/processed-sources/entry2.js b/tools/cli/tests/_files/processed-sources/entry2.js new file mode 100644 index 00000000..37540d13 --- /dev/null +++ b/tools/cli/tests/_files/processed-sources/entry2.js @@ -0,0 +1,9 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# sourceMappingURL=entry2.js.map +//# debugId=d538bdaa-8149-8111-25f0-b5c0f472366a \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-sources/entry2.js.map b/tools/cli/tests/_files/processed-sources/entry2.js.map new file mode 100644 index 00000000..dfa7ab56 --- /dev/null +++ b/tools/cli/tests/_files/processed-sources/entry2.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_helpers/testFiles.ts b/tools/cli/tests/_helpers/testFiles.ts index b2d979ae..b8bd6fa4 100644 --- a/tools/cli/tests/_helpers/testFiles.ts +++ b/tools/cli/tests/_helpers/testFiles.ts @@ -12,6 +12,8 @@ export type TestFiles = | 'processed-directory-linked-sourcemaps' | 'original' | 'processed' + | 'processed-sources' + | 'processed-sourcemaps' | 'processed-with-sources' | 'with-sources' | 'invalid'; diff --git a/tools/cli/tests/setup.ts b/tools/cli/tests/setup.ts new file mode 100644 index 00000000..23a5890d --- /dev/null +++ b/tools/cli/tests/setup.ts @@ -0,0 +1,3 @@ +// add all jest-extended matchers +import * as matchers from 'jest-extended'; +expect.extend(matchers); diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index 5a44fecb..9d05152f 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -1,11 +1,14 @@ import { SourceProcessor } from '@backtrace/sourcemap-tools'; import assert from 'assert'; import { glob } from 'glob'; +import 'jest-extended'; import { CliLogger } from '../../src/logger'; import { processSources } from '../../src/sourcemaps/process'; import { expectAllKeysToChange, filterKeys, getHelpMessage } from '../_helpers/common'; import { expectHashesToChange, hashEachFile, hashFiles, readEachFile, withWorkingCopy } from '../_helpers/testFiles'; +export const expectAnythingOrNothing = () => expect.toBeOneOf([expect.anything(), undefined, null]); + describe('process', () => { describe('returning value', () => { it( @@ -81,7 +84,7 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything()); + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); } }), ); @@ -191,30 +194,10 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything()); + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); } }), ); - - it( - 'should modify valid sources and sourcemaps in place with force', - withWorkingCopy('processed', async (workingDir) => { - const preHashes = await hashEachFile(await glob(`${workingDir}/entry*.*`)); - const result = await processSources({ - logger: new CliLogger({ level: 'output', silent: true }), - getHelpMessage, - opts: { - path: workingDir, - force: true, - }, - }); - - assert(result.isOk(), result.data as string); - const postHashes = await hashEachFile(await glob(`${workingDir}/entry*.*`)); - - expectHashesToChange(preHashes, postHashes); - }), - ); }); describe('dry run', () => { @@ -375,7 +358,7 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything()); + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); } }), ); @@ -456,7 +439,7 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything()); + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); } }), ); @@ -501,4 +484,166 @@ describe('process', () => { }), ); }); + + describe('processed sources', () => { + it( + 'should not fail', + withWorkingCopy('processed-sources', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sources', + withWorkingCopy('processed-sources', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + } + }), + ); + + it( + 'should not modify sources', + withWorkingCopy('processed-sources', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + expect(preHashes).toEqual(postHashes); + }), + ); + + it( + 'should modify sourcemaps in place', + withWorkingCopy('processed-sources', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); + + describe('processed sourcemaps', () => { + it( + 'should not fail', + withWorkingCopy('processed-sourcemaps', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemaps', + withWorkingCopy('processed-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + } + }), + ); + + it( + 'should modify sources', + withWorkingCopy('processed-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + + it( + 'should modify sourcemaps in place', + withWorkingCopy('processed-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/sourcemap-tools/src/DebugIdGenerator.ts b/tools/sourcemap-tools/src/DebugIdGenerator.ts index cad89107..e15c320d 100644 --- a/tools/sourcemap-tools/src/DebugIdGenerator.ts +++ b/tools/sourcemap-tools/src/DebugIdGenerator.ts @@ -11,6 +11,27 @@ export class DebugIdGenerator { return `//# ${SOURCE_DEBUG_ID_COMMENT}=${uuid}`; } + public replaceDebugId(source: string, oldDebugId: string, newDebugId: string) { + const replaceAll = () => source.replace(oldDebugId, newDebugId); + + // Try to replace more safely first + const oldSourceSnippet = this.generateSourceSnippet(oldDebugId); + if (source.indexOf(oldSourceSnippet) !== -1) { + source = source.replace(oldSourceSnippet, this.generateSourceSnippet(newDebugId)); + } else { + return replaceAll(); + } + + const oldCommentSnippet = this.generateSourceComment(oldDebugId); + if (source.indexOf(oldCommentSnippet) !== -1) { + source = source.replace(oldCommentSnippet, this.generateSourceComment(newDebugId)); + } else { + return replaceAll(); + } + + return source; + } + public getSourceDebugId(source: string): string | undefined { const regex = new RegExp(`^//# ${SOURCE_DEBUG_ID_COMMENT}=(.+)$`, 'm'); const match = source.match(regex); diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 2ac16a7b..5107ac35 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -46,6 +46,10 @@ export class SourceProcessor { ); } + public getSourceDebugId(source: string): string | undefined { + return this._debugIdGenerator.getSourceDebugId(source); + } + public getSourceMapDebugId(sourceMap: RawSourceMap): string | undefined { return this._debugIdGenerator.getSourceMapDebugId(sourceMap); } @@ -71,30 +75,40 @@ export class SourceProcessor { sourceMap: RawSourceMap, debugId?: string, ): Promise { + const sourceDebugId = this.getSourceDebugId(source); if (!debugId) { - debugId = stringToUuid(source); + debugId = sourceDebugId ?? stringToUuid(source); + } + + let newSource: string | undefined; + let offsetSourceMap: RawSourceMap | undefined; + + // If source has debug ID, but it is different, we need to only replace it + if (sourceDebugId && debugId !== sourceDebugId) { + newSource = this._debugIdGenerator.replaceDebugId(source, sourceDebugId, debugId); + } else if (!sourceDebugId) { + const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); + + const shebang = source.match(/^(#!.+\n)/)?.[1]; + const sourceWithSnippet = shebang + ? shebang + sourceSnippet + '\n' + source.substring(shebang.length) + : sourceSnippet + '\n' + source; + + const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); + newSource = appendBeforeWhitespaces(sourceWithSnippet, '\n' + sourceComment); + + // We need to offset the source map by amount of lines that we're inserting to the source code + // Sourcemaps map code like this: + // original code X:Y => generated code A:B + // So if we add any code to generated code, mappings after that code will become invalid + // We need to offset the mapping lines by sourceSnippetNewlineCount: + // original code X:Y => generated code (A + sourceSnippetNewlineCount):B + const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; + offsetSourceMap = await this.offsetSourceMap(sourceMap, sourceSnippetNewlineCount + 1); } - const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); - - const shebang = source.match(/^(#!.+\n)/)?.[1]; - const sourceWithSnippet = shebang - ? shebang + sourceSnippet + '\n' + source.substring(shebang.length) - : sourceSnippet + '\n' + source; - - const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); - const newSource = appendBeforeWhitespaces(sourceWithSnippet, '\n' + sourceComment); - - // We need to offset the source map by amount of lines that we're inserting to the source code - // Sourcemaps map code like this: - // original code X:Y => generated code A:B - // So if we add any code to generated code, mappings after that code will become invalid - // We need to offset the mapping lines by sourceSnippetNewlineCount: - // original code X:Y => generated code (A + sourceSnippetNewlineCount):B - const sourceSnippetNewlineCount = sourceSnippet.match(/\n/g)?.length ?? 0; - const offsetSourceMap = await this.offsetSourceMap(sourceMap, sourceSnippetNewlineCount + 1); - const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMap, debugId); - return { debugId, source: newSource, sourceMap: newSourceMap }; + const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMap ?? sourceMap, debugId); + return { debugId, source: newSource ?? source, sourceMap: newSourceMap }; } /** diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index 547ff86c..744acea4 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -1,4 +1,5 @@ import assert from 'assert'; +import { randomUUID } from 'crypto'; import fs from 'fs'; import path from 'path'; import { RawSourceMap, SourceMapConsumer } from 'source-map'; @@ -34,6 +35,23 @@ function foo(){console.log("Hello World!")}foo();`; mappings: 'AACA,SAASA,MACLC,QAAQC,IAAI,cAAc,CAC9B,CACAF,IAAI', }; + const processedSource = ( + debugId: string, + ) => `;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="${debugId}")}catch(e){}}(); +(()=>{"use strict";console.log("Hello World!")})(); +//# sourceMappingURL=source.js.map +//# debugId=${debugId} +`; + + const processedSourceMap = (debugId: string) => ({ + version: 3, + file: 'source.js', + sources: ['./source.ts'], + names: ['console', 'log'], + mappings: ';;mBAAAA,QAAQC,IAAI,e', + debugId, + }); + describe('processSourceAndSourceMap', () => { it('should append source snippet to the source on the first line', async () => { const expected = 'APPENDED_SOURCE'; @@ -230,6 +248,50 @@ function foo(){console.log("Hello World!")}foo();`; expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId); }); + + it('should return unmodified source when source has debug ID', async () => { + const debugId = randomUUID(); + const source = processedSource(debugId); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const result = await sourceProcessor.processSourceAndSourceMap(source, processedSourceMap(debugId)); + + expect(result.source).toEqual(source); + }); + + it('should return unmodified source when source has same debug ID as provided', async () => { + const debugId = randomUUID(); + const source = processedSource(debugId); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const result = await sourceProcessor.processSourceAndSourceMap( + source, + processedSourceMap(debugId), + debugId, + ); + + expect(result.source).toEqual(source); + }); + + it("should return sourcemap with source's debug ID when source has debug ID", async () => { + const debugId = randomUUID(); + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const result = await sourceProcessor.processSourceAndSourceMap(processedSource(debugId), sourceMap); + + expect(result.sourceMap.debugId).toEqual(debugId); + }); + + it('should call replace debug ID when source has different debug ID than provided', async () => { + const oldDebugId = randomUUID(); + const newDebugId = randomUUID(); + const source = processedSource(oldDebugId); + const debugIdGenerator = new DebugIdGenerator(); + + const spy = jest.spyOn(debugIdGenerator, 'replaceDebugId'); + + const sourceProcessor = new SourceProcessor(debugIdGenerator); + await sourceProcessor.processSourceAndSourceMap(source, processedSourceMap(oldDebugId), newDebugId); + + expect(spy).toBeCalledWith(source, oldDebugId, newDebugId); + }); }); describe('addSourcesToSourceMap', () => { From 5e01fa636c5186102b16e5233f31e0c90c59a7db Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Mon, 20 Nov 2023 10:37:59 +0100 Subject: [PATCH 258/291] cli: support tuple paths (#199) * cli: add tuple paths support for matching sources with sourcemaps * cli: disallow folders as second tuple part * sourcemap-tools: replace flatmap with reduce implementation * cli: PR changes * cli: verify tuple length * cli: split by double colon on windows --------- Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 60 +++++++++--- tools/cli/src/helpers/errorBehavior.ts | 2 +- tools/cli/src/helpers/find.ts | 92 ++++++++++++++++- tools/cli/src/helpers/logs.ts | 5 +- tools/cli/src/models/Asset.ts | 6 ++ tools/cli/src/sourcemaps/add-sources.ts | 35 ++++--- tools/cli/src/sourcemaps/process.ts | 45 +++++---- tools/cli/src/sourcemaps/run.ts | 98 +++++++++---------- tools/cli/src/sourcemaps/upload.ts | 67 +++++++------ .../entry1.js | 6 ++ .../entry2.js | 6 ++ .../sourcemap1.js.map | 11 +++ .../sourcemap2.js.map | 11 +++ .../entry1.js | 8 ++ .../entry2.js | 8 ++ .../sourcemap1.js.map | 16 +++ .../sourcemap2.js.map | 16 +++ tools/cli/tests/_helpers/testFiles.ts | 2 + .../cli/tests/sourcemaps/add-sources.spec.ts | 68 +++++++++++++ tools/cli/tests/sourcemaps/process.spec.ts | 93 ++++++++++++++++++ tools/cli/tests/sourcemaps/run.spec.ts | 39 ++++++++ tools/cli/tests/sourcemaps/upload.spec.ts | 74 ++++++++++++++ tools/sourcemap-tools/src/SourceProcessor.ts | 28 ++---- tools/sourcemap-tools/src/helpers/common.ts | 11 ++- 24 files changed, 650 insertions(+), 157 deletions(-) create mode 100644 tools/cli/src/models/Asset.ts create mode 100644 tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap1.js.map create mode 100644 tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap2.js.map create mode 100644 tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js create mode 100644 tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js create mode 100644 tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap1.js.map create mode 100644 tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap2.js.map diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index e34de3d3..d066f336 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -15,11 +15,21 @@ import { writeFile, } from '@backtrace/sourcemap-tools'; import fs from 'fs'; +import { CliLogger } from '../logger'; +import { SourceAndSourceMapPaths } from '../models/Asset'; +import { FindFileTuple } from './find'; export function toAsset(file: string): Asset { return { name: file, path: file }; } +export function toSourceAndSourceMapPaths(tuple: FindFileTuple): SourceAndSourceMapPaths { + return { + source: toAsset(tuple.file1.path), + sourceMap: tuple.file2 ? toAsset(tuple.file2) : undefined, + }; +} + export async function pathIfExists(file: string): Promise { try { await fs.promises.stat(file); @@ -47,22 +57,32 @@ export function readSourceMap(asset: T): ResultPromise { - return pipe( - sourceAsset, - readSource, - R.map((source) => - pipe( - source.content, - (content) => sourceProcessor.getSourceMapPathFromSource(content, sourceAsset.path), - R.map((result) => result ?? pathIfExists(`${source.path}.map`)), - R.map((path) => (path ? Ok(path) : Err('could not find source map for source'))), - R.map((path) => ({ name: path, path } as Asset)), - R.map(readSourceMap), - R.map((sourceMap) => ({ source, sourceMap } as SourceAndSourceMap)), - ), - ), - ); + return async function _readSourceAndSourceMap({ + source, + sourceMap, + }: SourceAndSourceMapPaths): ResultPromise { + const sourceResult = await readSource(source); + if (sourceResult.isErr()) { + return sourceResult; + } + + const loadedSource = sourceResult.data; + + const sourceMapResult = sourceMap + ? await readSourceMap(sourceMap) + : await pipe( + loadedSource, + ({ content }) => sourceProcessor.getSourceMapPathFromSource(content, source.path), + (result) => result ?? pathIfExists(`${source.path}.map`), + (path) => (path ? Ok(toAsset(path)) : Err('could not find source map for source')), + R.map(readSourceMap), + ); + + if (sourceMapResult.isErr()) { + return sourceMapResult; + } + + return Ok({ source: loadedSource, sourceMap: sourceMapResult.data }); }; } @@ -140,3 +160,11 @@ export function uniqueBy(fn: (t: T) => U) { }); }; } + +export function printAssetInfo(logger: CliLogger) { + return function printAssetInfo(asset: T) { + logger.debug(`${asset.source.path}`); + logger.debug(`└── ${asset.sourceMap.path}`); + return asset; + }; +} diff --git a/tools/cli/src/helpers/errorBehavior.ts b/tools/cli/src/helpers/errorBehavior.ts index b550e727..e86ddc3f 100644 --- a/tools/cli/src/helpers/errorBehavior.ts +++ b/tools/cli/src/helpers/errorBehavior.ts @@ -36,7 +36,7 @@ export function handleError(behavior: ErrorBehavior = 'exit') { switch (behavior) { case 'exit': - return Err(result.data); + return result; case 'skip': return Ok>({ reason: result }); default: diff --git a/tools/cli/src/helpers/find.ts b/tools/cli/src/helpers/find.ts index a421ba88..07145b6b 100644 --- a/tools/cli/src/helpers/find.ts +++ b/tools/cli/src/helpers/find.ts @@ -1,6 +1,21 @@ -import { FileFinder, log, pipe } from '@backtrace/sourcemap-tools'; +import { + Err, + FileFinder, + Ok, + R, + Result, + ResultPromise, + flatMap, + flow, + log, + map, + mapAsync, + pipe, + statFile, +} from '@backtrace/sourcemap-tools'; import fs from 'fs'; import { glob } from 'glob'; +import os from 'os'; import path from 'path'; export interface FindResult { @@ -13,6 +28,11 @@ export interface FindResult { readonly direct: boolean; } +export interface FindFileTuple { + readonly file1: FindResult; + readonly file2?: string; +} + /** * Returns files found in directories matching `regex`. If path is a file, it is returned if it matches `regex`. * @param regex Regular expression pattern to match. @@ -90,3 +110,73 @@ export async function buildIncludeExclude( return { isIncluded, isExcluded } as const; } + +export async function findTuples(paths: string[]): Promise> { + function findLongest(char: string, str: string) { + return pipe( + [...str.matchAll(new RegExp(`${char}+`, 'g'))], + flatMap((a) => a), + (a) => a.sort((a, b) => b.length - a.length), + (a) => a[0], + ); + } + + function splitByLongest(char: string) { + return async function _splitByLongest(str: string) { + const longest = await findLongest(char, str); + if (!longest) { + return [str]; + } + return str.split(longest); + }; + } + + function verifyTupleLength(path: string) { + return function _verifyTupleLength(paths: readonly string[]) { + return paths.length > 2 + ? Err(`${path}: only two paths are allowed in a tuple`) + : Ok(paths as readonly [string, string?]); + }; + } + + function verifyTuple(path: string) { + return async function _verifyTuple([path1, path2]: readonly [string, string?]) { + return path2 + ? await pipe( + [path1, path2], + mapAsync(statFile), + R.flatMap, + R.map( + flow( + map((r) => + r.isFile() ? Ok(path2) : Err(`${path}: both paths of tuple must point to files`), + ), + R.flatMap, + ), + ), + R.map(() => [path1, path2] as const), + ) + : Ok([path1, path2] as const); + }; + } + + function isWindows() { + return os.platform() === 'win32'; + } + + function processPath(path: string): ResultPromise { + return pipe( + path, + splitByLongest(isWindows() ? '::' : ':'), + verifyTupleLength(path), + R.map(verifyTuple(path)), + R.map(async ([path1, path2]) => ({ result: await find([path1]), path2 })), + R.map(({ result, path2 }) => result.map((file1) => ({ file1, file2: path2 }))), + ); + } + + return pipe(paths, mapAsync(processPath), R.flatMap, R.map(flatMap((x) => x))); +} + +export const file2Or1FromTuple = ({ file1, file2 }: FindFileTuple) => + file2 ? ({ direct: true, findPath: file2, path: file2 } as FindResult) : file1; diff --git a/tools/cli/src/helpers/logs.ts b/tools/cli/src/helpers/logs.ts index 2a356bca..c3374c67 100644 --- a/tools/cli/src/helpers/logs.ts +++ b/tools/cli/src/helpers/logs.ts @@ -1,5 +1,6 @@ -import { Asset, log, LogLevel, ProcessAssetResult, SourceAndSourceMap } from '@backtrace/sourcemap-tools'; +import { Asset, log, LogLevel, ProcessAssetResult } from '@backtrace/sourcemap-tools'; import { CliLogger } from '../logger'; +import { SourceAndSourceMapPaths } from '../models/Asset'; export function logAsset(logger: CliLogger, level: LogLevel) { const logFn = log(logger, level); @@ -19,5 +20,5 @@ export function logAsset(logger: CliLogger, level: LogLevel) { export const logAssets = (logger: CliLogger, level: LogLevel) => (message: string) => - (assets: T) => + (assets: T) => log(logger, level)(`${assets.source.name}: ${message}`)(assets); diff --git a/tools/cli/src/models/Asset.ts b/tools/cli/src/models/Asset.ts new file mode 100644 index 00000000..918eb6f2 --- /dev/null +++ b/tools/cli/src/models/Asset.ts @@ -0,0 +1,6 @@ +import { Asset } from '@backtrace/sourcemap-tools'; + +export interface SourceAndSourceMapPaths { + readonly source: Asset; + readonly sourceMap?: Asset; +} diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index df208529..c2756272 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -26,7 +26,7 @@ import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { readSourceMapFromPathOrFromSource, toAsset, writeAsset } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { buildIncludeExclude, find } from '../helpers/find'; +import { buildIncludeExclude, file2Or1FromTuple, findTuples } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; @@ -167,20 +167,25 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C return pipe( searchPaths, - find, - logDebug((r) => `found ${r.length} files`), - map(logTrace((result) => `found file: ${result.path}`)), - isIncluded ? filterAsync(isIncluded) : pass, - isExcluded ? filterAsync(flow(isExcluded, not)) : pass, - filter((t) => t.direct || matchSourceMapExtension(t.path)), - map((t) => t.path), - logDebug((r) => `found ${r.length} files for adding sources`), - map(logTrace((path) => `file to add sources to: ${path}`)), - map(toAsset), - opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found'), - R.map(flow(mapAsync(addSourcesCommand), R.flatMap)), - R.map(filterBehaviorSkippedElements), - R.map(map(output(logger))), + findTuples, + R.map( + flow( + map(file2Or1FromTuple), + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.path}`)), + isIncluded ? filterAsync(isIncluded) : pass, + isExcluded ? filterAsync(flow(isExcluded, not)) : pass, + filter((t) => t.direct || matchSourceMapExtension(t.path)), + map((t) => t.path), + logDebug((r) => `found ${r.length} files for adding sources`), + map(logTrace((path) => `file to add sources to: ${path}`)), + map(toAsset), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found'), + R.map(flow(mapAsync(addSourcesCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(map(output(logger))), + ), + ), ); } diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 250a7865..b0cdb60a 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -23,12 +23,13 @@ import { import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; -import { readSourceAndSourceMap, toAsset, writeSourceAndSourceMap } from '../helpers/common'; +import { readSourceAndSourceMap, toSourceAndSourceMapPaths, writeSourceAndSourceMap } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { buildIncludeExclude, find } from '../helpers/find'; +import { buildIncludeExclude, findTuples } from '../helpers/find'; import { logAsset, logAssets } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; +import { SourceAndSourceMapPaths } from '../models/Asset'; import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; export interface ProcessOptions extends GlobalOptions { @@ -121,7 +122,6 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); - const logTraceAsset = logAsset(logger, 'trace'); const logDebugAssets = logAssets(logger, 'debug'); const logTraceAssets = logAssets(logger, 'trace'); @@ -137,10 +137,10 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => logAsset(logger, level)(err)(asset); - const processAssetCommand = (asset: Asset) => + const processAssetCommand = (asset: SourceAndSourceMapPaths) => pipe( asset, - logTraceAsset('reading source and sourcemap'), + logTraceAssets('reading source and sourcemap'), readSourceAndSourceMap(sourceProcessor), R.map(logDebugAssets('read source and sourcemap')), R.map(logTraceAssets('processing source and sourcemap')), @@ -155,8 +155,8 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo R.map(logDebugAssets('wrote source and sourcemap')), ), ), - R.mapErr((err) => `${asset.name}: ${err}`), - handleFailedAsset(logAssetBehaviorError(asset)), + R.mapErr((err) => `${asset.source.name}: ${err}`), + handleFailedAsset(logAssetBehaviorError(asset.source)), ); const includePaths = normalizePaths(opts.include); @@ -165,20 +165,23 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo return pipe( searchPaths, - find, - logDebug((r) => `found ${r.length} files`), - map(logTrace((result) => `found file: ${result.path}`)), - isIncluded ? filterAsync(isIncluded) : pass, - isExcluded ? filterAsync(flow(isExcluded, not)) : pass, - filter((t) => t.direct || matchSourceExtension(t.path)), - map((t) => t.path), - logDebug((r) => `found ${r.length} files for processing`), - map(logTrace((path) => `file for processing: ${path}`)), - map(toAsset), - opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found'), - R.map(flow(mapAsync(processAssetCommand), R.flatMap)), - R.map(filterBehaviorSkippedElements), - R.map(map(output(logger))), + findTuples, + R.map( + flow( + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.file1.path}`)), + isIncluded ? filterAsync((x) => isIncluded(x.file1)) : pass, + isExcluded ? filterAsync(flow((x) => isExcluded(x.file1), not)) : pass, + filter((t) => t.file1.direct || matchSourceExtension(t.file1.path)), + logDebug((r) => `found ${r.length} files for processing`), + map(logTrace((path) => `file for processing: ${path.file1.path}`)), + map(toSourceAndSourceMapPaths), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found'), + R.map(flow(mapAsync(processAssetCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(map(output(logger))), + ), + ), ); } diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index c217406c..0dc1a814 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -29,16 +29,17 @@ import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { isAssetProcessed, + printAssetInfo, readSourceAndSourceMap, - toAsset, + toSourceAndSourceMapPaths, uniqueBy, writeSourceAndSourceMap, } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { buildIncludeExclude, find } from '../helpers/find'; +import { buildIncludeExclude, findTuples } from '../helpers/find'; import { logAsset, logAssets } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; -import { CliLogger } from '../logger'; +import { SourceAndSourceMapPaths } from '../models/Asset'; import { findConfig, joinOptions, loadOptions } from '../options/loadOptions'; import { addSourceToSourceMap } from './add-sources'; import { processSource } from './process'; @@ -242,14 +243,14 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => logAsset(logger, level)(err)(asset); - const readAssetCommand = (asset: Asset) => + const readAssetCommand = (asset: SourceAndSourceMapPaths) => pipe( asset, - logTraceAsset('reading source and sourcemap'), + logTraceAssets('reading source and sourcemap'), readSourceAndSourceMap(sourceProcessor), R.map(logDebugAssets('read source and sourcemap')), - R.mapErr((err) => `${asset.name}: ${err}`), - handleFailedAsset(logAssetBehaviorError(asset)), + R.mapErr((err) => `${asset.source.name}: ${err}`), + handleFailedAsset(logAssetBehaviorError(asset.source)), ); const handleAssetCommand = (process: boolean, addSources: boolean) => (asset: SourceAndSourceMap) => @@ -357,49 +358,48 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com return pipe( searchPaths, - find, - logDebug((r) => `found ${r.length} files`), - map(logTrace((result) => `found file: ${result.path}`)), - isIncluded ? filterAsync(isIncluded) : pass, - isExcluded ? filterAsync(flow(isExcluded, not)) : pass, - filter((t) => t.direct || matchSourceExtension(t.path)), - map((t) => t.path), - logDebug((r) => `found ${r.length} source files`), - map(logTrace((path) => `found source file: ${path}`)), - map(toAsset), - opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found'), - R.map(flow(mapAsync(readAssetCommand), R.flatMap)), - R.map(filterBehaviorSkippedElements), - R.map(map(printAssetInfo(logger))), - R.map(flow(mapAsync(handleAssetCommand(runProcess, runAddSources)), R.flatMap)), - R.map(filterBehaviorSkippedElements), - R.map( - runProcess - ? logInfo( - (assets) => - `processed ${assets.reduce( - (sum, r) => sum + (r.processed ? 1 : 0), - 0, - )} source and sourcemaps`, - ) - : pass, - ), + findTuples, R.map( - runAddSources - ? logInfo( - (assets) => - `added sources to ${assets.reduce((sum, r) => sum + (r.sourceAdded ? 1 : 0), 0)} sourcemaps`, - ) - : pass, + flow( + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.file1.path}`)), + isIncluded ? filterAsync((x) => isIncluded(x.file1)) : pass, + isExcluded ? filterAsync(flow((x) => isExcluded(x.file1), not)) : pass, + filter((t) => t.file1.direct || matchSourceExtension(t.file1.path)), + // map((t) => t.path), + logDebug((r) => `found ${r.length} source files`), + map(logTrace((path) => `found source file: ${path.file1}`)), + map(toSourceAndSourceMapPaths), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no source files found'), + R.map(flow(mapAsync(readAssetCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(map(printAssetInfo(logger))), + R.map(flow(mapAsync(handleAssetCommand(runProcess, runAddSources)), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map( + runProcess + ? logInfo( + (assets) => + `processed ${assets.reduce( + (sum, r) => sum + (r.processed ? 1 : 0), + 0, + )} source and sourcemaps`, + ) + : pass, + ), + R.map( + runAddSources + ? logInfo( + (assets) => + `added sources to ${assets.reduce( + (sum, r) => sum + (r.sourceAdded ? 1 : 0), + 0, + )} sourcemaps`, + ) + : pass, + ), + R.map(uploadCommand ?? Ok), + ), ), - R.map(uploadCommand ?? Ok), ); } - -function printAssetInfo(logger: CliLogger) { - return function printAssetInfo(asset: T) { - logger.debug(`${asset.source.path}`); - logger.debug(`└── ${asset.sourceMap.path}`); - return asset; - }; -} diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index fcf7594f..e76c2855 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -36,7 +36,7 @@ import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { isAssetProcessed, readSourceMapFromPathOrFromSource, toAsset, uniqueBy, validateUrl } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; -import { buildIncludeExclude, find } from '../helpers/find'; +import { buildIncludeExclude, file2Or1FromTuple, findTuples } from '../helpers/find'; import { logAsset } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; @@ -259,38 +259,43 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command return pipe( searchPaths, - find, - logDebug((r) => `found ${r.length} files`), - map(logTrace((result) => `found file: ${result.path}`)), - isIncluded ? filterAsync(isIncluded) : pass, - isExcluded ? filterAsync(flow(isExcluded, not)) : pass, - filter((t) => t.direct || matchSourceMapExtension(t.path)), - map((t) => t.path), - logDebug((r) => `found ${r.length} files for upload`), - map(logTrace((path) => `file for upload: ${path}`)), - map(toAsset), - opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found'), - R.map(flow(mapAsync(loadSourceMapCommand), R.flatMap)), - R.map(filterBehaviorSkippedElements), - R.map(filterProcessedAssetsCommand), + findTuples, R.map( - opts['pass-with-no-files'] - ? Ok - : failIfEmpty('no processed sourcemaps found, make sure to run process first'), - ), - R.map(uniqueBy((asset) => asset.content.debugId)), - R.map(opts['include-sources'] ? pass : map(stripSourcesContent)), - R.map((assets) => - opts['dry-run'] - ? Ok({ - rxid: '', - assets, - }) - : assets.length - ? saveArchiveCommand(assets) - : Ok({ rxid: '', assets }), + flow( + map(file2Or1FromTuple), + logDebug((r) => `found ${r.length} files`), + map(logTrace((result) => `found file: ${result.path}`)), + isIncluded ? filterAsync(isIncluded) : pass, + isExcluded ? filterAsync(flow(isExcluded, not)) : pass, + filter((t) => t.direct || matchSourceMapExtension(t.path)), + map((t) => t.path), + logDebug((r) => `found ${r.length} files for upload`), + map(logTrace((path) => `file for upload: ${path}`)), + map(toAsset), + opts['pass-with-no-files'] ? Ok : failIfEmpty('no sourcemaps found'), + R.map(flow(mapAsync(loadSourceMapCommand), R.flatMap)), + R.map(filterBehaviorSkippedElements), + R.map(filterProcessedAssetsCommand), + R.map( + opts['pass-with-no-files'] + ? Ok + : failIfEmpty('no processed sourcemaps found, make sure to run process first'), + ), + R.map(uniqueBy((asset) => asset.content.debugId)), + R.map(opts['include-sources'] ? pass : map(stripSourcesContent)), + R.map((assets) => + opts['dry-run'] + ? Ok({ + rxid: '', + assets, + }) + : assets.length + ? saveArchiveCommand(assets) + : Ok({ rxid: '', assets }), + ), + R.map(output(logger)), + ), ), - R.map(output(logger)), ); } diff --git a/tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry1.js b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry1.js new file mode 100644 index 00000000..7f7e9837 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry1.js @@ -0,0 +1,6 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); \ No newline at end of file diff --git a/tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry2.js b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry2.js new file mode 100644 index 00000000..ac83a733 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/entry2.js @@ -0,0 +1,6 @@ +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); \ No newline at end of file diff --git a/tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap1.js.map b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap1.js.map new file mode 100644 index 00000000..beb2bae4 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap1.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap2.js.map b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap2.js.map new file mode 100644 index 00000000..dfa7ab56 --- /dev/null +++ b/tools/cli/tests/_files/not-linked-different-name-sourcemaps/sourcemap2.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": "", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "" +} diff --git a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js new file mode 100644 index 00000000..06b37938 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js @@ -0,0 +1,8 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 1!'); +doSomething(); +//# debugId=4fe9a5c9-ab48-b240-9469-04aa2db251b6 \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js new file mode 100644 index 00000000..01807da2 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js @@ -0,0 +1,8 @@ +;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +function doSomething() { + console.log('Done something'); +} + +console.log('Hello World Entry 2!'); +doSomething(); +//# debugId=d538bdaa-8149-8111-25f0-b5c0f472366a \ No newline at end of file diff --git a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap1.js.map b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap1.js.map new file mode 100644 index 00000000..3d5e7249 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap1.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry1.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry1.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "4fe9a5c9-ab48-b240-9469-04aa2db251b6", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 1!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap2.js.map b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap2.js.map new file mode 100644 index 00000000..aded2489 --- /dev/null +++ b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/sourcemap2.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "file": "entry2.js", + "mappings": ";", + "sources": [ + "../sources/dependency.ts", + "../sources/entry2.ts" + ], + "names": [], + "sourceRoot": "", + "debugId": "d538bdaa-8149-8111-25f0-b5c0f472366a", + "sourcesContent": [ + "export function doSomething() {\n console.log('Done something');\n}\n", + "import { doSomething } from './dependency';\n\nconsole.log('Hello World Entry 2!');\ndoSomething();\n" + ] +} diff --git a/tools/cli/tests/_helpers/testFiles.ts b/tools/cli/tests/_helpers/testFiles.ts index b8bd6fa4..6e28a36a 100644 --- a/tools/cli/tests/_helpers/testFiles.ts +++ b/tools/cli/tests/_helpers/testFiles.ts @@ -7,8 +7,10 @@ import path from 'path'; export type TestFiles = | 'no-sourcemaps' | 'not-linked-sourcemaps' + | 'not-linked-different-name-sourcemaps' | 'directory-linked-sourcemaps' | 'processed-not-linked-sourcemaps' + | 'processed-not-linked-different-name-sourcemaps' | 'processed-directory-linked-sourcemaps' | 'original' | 'processed' diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index efd6dcfe..a2c1a25a 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -474,4 +474,72 @@ describe('add-sources', () => { }), ); }); + + describe('tuple paths', () => { + it( + 'should not fail', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sourcemap paths', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'addSourcesToSourceMap'); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + const files = await glob(`${workingDir}/*.js.map`); + + for (const file of files) { + expect(spy).toBeCalledWith(expect.anything(), file); + } + }), + ); + + it( + 'should modify sourcesmaps in place', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index 9d05152f..90710d24 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -646,4 +646,97 @@ describe('process', () => { }), ); }); + + describe('tuple paths', () => { + it( + 'should not fail', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should call SourceProcessor with sources', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const spy = jest.spyOn(SourceProcessor.prototype, 'processSourceAndSourceMap'); + + const files = await glob(`${workingDir}/*.js`); + const originalSources = await readEachFile(files); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + + for (const source of Object.values(originalSources)) { + expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + } + }), + ); + + it( + 'should modify sources in place', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + + it( + 'should modify sourcemaps in place', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const preHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + const result = await processSources({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + }, + }); + + assert(result.isOk(), result.data as string); + const postHashes = await hashEachFile(await glob(`${workingDir}/*.js.map`)); + + expectHashesToChange(preHashes, postHashes); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index d8c84bc0..4fa3c52a 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -531,4 +531,43 @@ describe('run', () => { }), ); }); + + describe('tuple paths', () => { + it( + 'should return processed sources and sourcemap paths', + withWorkingCopy('not-linked-different-name-sourcemaps', async (workingDir) => { + const entry1Path = `${workingDir}/entry1.js`; + const entry2Path = `${workingDir}/entry2.js`; + const sourcemap1Path = `${workingDir}/sourcemap1.js.map`; + const sourcemap2Path = `${workingDir}/sourcemap2.js.map`; + + const config = await mockOptions(workingDir, { + run: { + 'add-sources': true, + process: true, + upload: true, + }, + upload: { + url: 'https://test', + }, + }); + + const result = await runSourcemapCommands({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [`${entry1Path}:${sourcemap1Path}`, `${entry2Path}:${sourcemap2Path}`], + config, + }, + }); + + assert(result.isOk(), result.data as string); + + const expected = [entry1Path, entry2Path, sourcemap1Path, sourcemap2Path]; + expect(result.data.flatMap((d) => [d.source.path, d.sourceMap.path])).toEqual( + expect.arrayContaining(expected), + ); + }), + ); + }); }); diff --git a/tools/cli/tests/sourcemaps/upload.spec.ts b/tools/cli/tests/sourcemaps/upload.spec.ts index b19771b0..785bdd57 100644 --- a/tools/cli/tests/sourcemaps/upload.spec.ts +++ b/tools/cli/tests/sourcemaps/upload.spec.ts @@ -531,4 +531,78 @@ describe('upload', () => { }), ); }); + + describe('tuple paths', () => { + it( + 'should not fail', + withWorkingCopy('processed-not-linked-different-name-sourcemaps', async (workingDir) => { + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + + it( + 'should append sourcemaps to archive', + withWorkingCopy('processed-not-linked-different-name-sourcemaps', async (workingDir) => { + const appendSpy = jest.spyOn(ZipArchive.prototype, 'append'); + appendSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + + const files = await glob(`${workingDir}/*.js.map`); + for (const file of files) { + expect(appendSpy).toHaveBeenCalledWith( + expect.stringContaining(path.basename(file)), + expect.anything(), + ); + } + }), + ); + + it( + 'should call upload', + withWorkingCopy('processed-not-linked-different-name-sourcemaps', async (workingDir) => { + const uploadSpy = mockUploader(); + uploadSpy.mockClear(); + + const result = await uploadSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: [ + `${workingDir}/entry1.js:${workingDir}/sourcemap1.js.map`, + `${workingDir}/entry2.js:${workingDir}/sourcemap2.js.map`, + ], + url: 'https://test', + }, + }); + + assert(result.isOk(), result.data as string); + expect(uploadSpy).toBeCalled(); + }), + ); + }); }); diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 5107ac35..e4beeb88 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -131,12 +131,7 @@ export class SourceProcessor { const source = sourceReadResult.data; if (!sourceMapPath) { - const pathFromSourceResult = await this.getSourceMapPathFromSource(source, sourcePath); - if (pathFromSourceResult.isErr()) { - return pathFromSourceResult; - } - - const pathFromSource = pathFromSourceResult.data; + const pathFromSource = await this.getSourceMapPathFromSource(source, sourcePath); if (!pathFromSource) { return Err('could not find source map for source'); } @@ -171,27 +166,20 @@ export class SourceProcessor { return sourceReadResult; } - return this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath); + return Ok(await this.getSourceMapPathFromSource(sourceReadResult.data, sourcePath)); } - public async getSourceMapPathFromSource( - source: string, - sourcePath: string, - ): ResultPromise { + public async getSourceMapPathFromSource(source: string, sourcePath: string): Promise { const resolveFile = (filePath: string) => - pipe( - filePath, - statFile, - R.map((stat) => - stat.isFile() - ? filePath - : (path.join(filePath, path.basename(sourcePath) + '.map') as string | undefined), - ), + pipe(filePath, statFile, (result) => + !result.isOk() || result.data.isFile() + ? filePath + : (path.join(filePath, path.basename(sourcePath) + '.map') as string | undefined), ); return pipe(source.match(/^\/\/# sourceMappingURL=(.+)$/m), (match) => !match || !match[1] - ? Ok(undefined) + ? undefined : pipe(match[1], (match) => path.resolve(path.dirname(sourcePath), match), resolveFile), ); } diff --git a/tools/sourcemap-tools/src/helpers/common.ts b/tools/sourcemap-tools/src/helpers/common.ts index b59169ef..de4d04ee 100644 --- a/tools/sourcemap-tools/src/helpers/common.ts +++ b/tools/sourcemap-tools/src/helpers/common.ts @@ -29,7 +29,7 @@ export async function statFile(path: string) { try { return Ok(await fs.promises.stat(path)); } catch (err) { - return Err(`failed to write file: ${err}`); + return Err(`failed to stat file: ${err}`); } } @@ -88,6 +88,15 @@ export function map(fn: (t: T) => B) { }; } +export function flatMap(fn: (t: T) => B[]) { + return function flatMap(t: T[]) { + return t.reduce((res, v) => { + res.push(...fn(v)); + return res; + }, [] as B[]); + }; +} + export function mapAsync(fn: (t: T) => B | Promise) { return async function map(t: T[]) { return await Promise.all(t.map(fn)); From a698bcd1c60e239f99c7e3fcd7e216fa29561abe Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 22 Nov 2023 12:07:54 +0100 Subject: [PATCH 259/291] node: fix native reports not sending after startup (#204) * node: fix native reports not sending after startup * node: fix unit tests --------- Co-authored-by: Sebastian Alex --- .../node/src/common/AlternatingFileWriter.ts | 8 +++---- .../node/tests/common/alternatingFile.spec.ts | 22 ++++++++++++------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/node/src/common/AlternatingFileWriter.ts b/packages/node/src/common/AlternatingFileWriter.ts index 3fa79646..5ca97056 100644 --- a/packages/node/src/common/AlternatingFileWriter.ts +++ b/packages/node/src/common/AlternatingFileWriter.ts @@ -10,13 +10,13 @@ export class AlternatingFileWriter { private readonly _fallbackFile: string, private readonly _fileCapacity: number, private readonly _fileSystem: NodeFileSystem, - ) { + ) {} + + public async writeLine(value: string): Promise { if (this._fileCapacity <= 0) { - throw new Error('File capacity may not be less or equal to 0.'); + return this; } - } - public async writeLine(value: string): Promise { if (this._disposed) { throw new Error('This instance has been disposed.'); } diff --git a/packages/node/tests/common/alternatingFile.spec.ts b/packages/node/tests/common/alternatingFile.spec.ts index fdd2ede2..7c7161f2 100644 --- a/packages/node/tests/common/alternatingFile.spec.ts +++ b/packages/node/tests/common/alternatingFile.spec.ts @@ -84,16 +84,22 @@ describe('AlternatingFileWriter', () => { await expect(writer.writeLine('value-x')).rejects.toThrowError('This instance has been disposed.'); }); - it('should throw when fileCapacity is 0', () => { - expect(() => new AlternatingFileWriter(file1, file2, 0, new FsNodeFileSystem())).toThrowError( - 'File capacity may not be less or equal to 0.', - ); + it('should not write when fileCapacity is 0', () => { + const writer = new AlternatingFileWriter(file1, file2, 0, new FsNodeFileSystem()); + writer.writeLine('abc'); + writer.dispose(); + + expect(fs.existsSync(file1)).toEqual(false); + expect(fs.existsSync(file2)).toEqual(false); }); - it('should throw when fileCapacity is less than 0', () => { - expect(() => new AlternatingFileWriter(file1, file2, -1, new FsNodeFileSystem())).toThrowError( - 'File capacity may not be less or equal to 0.', - ); + it('should not write fileCapacity is less than 0', () => { + const writer = new AlternatingFileWriter(file1, file2, -1, new FsNodeFileSystem()); + writer.writeLine('abc'); + writer.dispose(); + + expect(fs.existsSync(file1)).toEqual(false); + expect(fs.existsSync(file2)).toEqual(false); }); describe('stress test', () => { From cd41693d3feb77e918fbf2afc68893ede1f06a7d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 23 Nov 2023 11:44:07 +0100 Subject: [PATCH 260/291] browser: add middleware modes to redux middleware, move JSON action to attributes (#205) * browser: add middleware modes to redux middleware, move JSON action to attributes * browser: redux middleware: do not add attributes when mode=omit-values * browser: redux middleware: set omit-values as the default mode * browser: redux middleware: update tests --------- Co-authored-by: Sebastian Alex --- .../src/redux/BacktraceReduxMiddleware.ts | 90 +++++++++++++-- .../backtraceReduxMiddlewareTests.spec.ts | 106 ++++++++++++++---- 2 files changed, 169 insertions(+), 27 deletions(-) diff --git a/packages/browser/src/redux/BacktraceReduxMiddleware.ts b/packages/browser/src/redux/BacktraceReduxMiddleware.ts index c06495f0..9189b26a 100644 --- a/packages/browser/src/redux/BacktraceReduxMiddleware.ts +++ b/packages/browser/src/redux/BacktraceReduxMiddleware.ts @@ -2,27 +2,100 @@ import { jsonEscaper } from '@backtrace/sdk-core'; import type { Action, Middleware } from 'redux'; import { BacktraceClient } from '../BacktraceClient'; +export interface BacktraceReduxMiddlewareOptions { + /** + * A function that can be used to skip an action or filter out information from a dispatched action, such as PII, + * that shouldn't be sent to Backtrace. Return undefined to skip an action, otherwise whatever + * (potentially modified) action returned will be sent to Backtrace. + */ + readonly interceptAction?: (action: Action) => Action | undefined; + + /** + * Middleware mode. Can be one of: + * * `all` - include everything by default, + * * `omit-values` - add the breadcrumb, but omit the values, + * * `off` - disable the middleware. + * + * @default 'omit-values' + */ + readonly mode?: 'all' | 'omit-values' | 'off'; +} + +function getBreadcrumbPayload(mode: Exclude, action: Action) { + switch (mode) { + case 'all': + return { action: JSON.stringify(action, jsonEscaper()) }; + case 'omit-values': + return undefined; + } +} + +/** + * + * @param client BacktraceClient used to send breadcrumbs + * @param interceptAction A function that can be used to skip an action or filter out information from a dispatched action, such as PII, + * that shouldn't be sent to Backtrace. Return undefined to skip an action, otherwise whatever + * (potentially modified) action returned will be sent to Backtrace. + */ +export function createBacktraceReduxMiddleware( + client: BacktraceClient, + interceptAction?: (action: Action) => Action | undefined, +): Middleware; +/** + * + * @param client BacktraceClient used to send breadcrumbs + * @param options Middleware options. + */ +export function createBacktraceReduxMiddleware( + client: BacktraceClient, + options?: BacktraceReduxMiddlewareOptions, +): Middleware; /** * * @param client BacktraceClient used to send breadcrumbs - * @param interceptAction A function that can be used to skip an action or filter out information from a dispatched action, such as PII, that shouldn't be sent to Backtrace. Return undefined to skip an action, otherwise whatever (potentially modified) action returned will be sent to Backtrace. + * @param options Middleware options or intercept action function. */ -export const createBacktraceReduxMiddleware = ( +export function createBacktraceReduxMiddleware( + client: BacktraceClient, + interceptActionOrOptions?: BacktraceReduxMiddlewareOptions | ((action: Action) => Action | undefined), +): Middleware; +export function createBacktraceReduxMiddleware( client: BacktraceClient, - interceptAction: (action: Action) => Action | undefined = (action) => action, -) => { + interceptActionOrOptions: BacktraceReduxMiddlewareOptions | ((action: Action) => Action | undefined) = (action) => + action, +): Middleware { if (!client) { throw new Error('Must pass a BacktraceClient to the BacktraceReduxMiddleware.'); } + + const options: BacktraceReduxMiddlewareOptions = + typeof interceptActionOrOptions === 'object' + ? interceptActionOrOptions + : { + interceptAction: interceptActionOrOptions, + }; + + const interceptAction = options.interceptAction ?? ((action) => action); + const mode = options.mode ?? 'omit-values'; + // eslint-disable-next-line @typescript-eslint/no-unused-vars - const middleware: Middleware = (store) => (next) => (action: Action) => { + const middleware: Middleware = () => (next) => (action: Action) => { try { const response = next(action); + if (mode === 'off') { + return response; + } + const interceptedAction = interceptAction(action); + // If the user returns undefined for an action, we skip the breadcrumb - if (interceptedAction) { - client.breadcrumbs?.info(`REDUX Action: ${JSON.stringify(interceptedAction, jsonEscaper())}`); + if (!interceptedAction) { + return response; } + + const payload = getBreadcrumbPayload(mode, interceptedAction); + client.breadcrumbs?.info(`REDUX Action: ${interceptedAction.type}`, payload); + return response; } catch (err) { const message = err instanceof Error ? err.message : err?.toString() ?? 'unknown'; @@ -32,5 +105,6 @@ export const createBacktraceReduxMiddleware = ( throw err; } }; + return middleware; -}; +} diff --git a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts index 337d353f..0902cef0 100644 --- a/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts +++ b/packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts @@ -1,7 +1,10 @@ import { BacktraceBreadcrumbs } from '@backtrace/sdk-core/src'; import { Action, configureStore, createSlice, Middleware, PayloadAction } from '@reduxjs/toolkit'; import { BacktraceClient } from '../../src/BacktraceClient'; -import { createBacktraceReduxMiddleware } from '../../src/redux/BacktraceReduxMiddleware'; +import { + BacktraceReduxMiddlewareOptions, + createBacktraceReduxMiddleware, +} from '../../src/redux/BacktraceReduxMiddleware'; const clientBreadcrumbsEnabled = BacktraceClient.initialize({ name: 'test-cleint', @@ -56,7 +59,17 @@ const createLoggingMiddleware = (whatToLog: string) => { const hiLoggingMiddleware = createLoggingMiddleware('hi'); const holaLoggingMiddleware = createLoggingMiddleware('hola'); -const getExpectedBreadcrumb = (action: Action) => `REDUX Action: ${JSON.stringify(action)}`; +const getExpectedBreadcrumb = (action: Action, mode?: BacktraceReduxMiddlewareOptions['mode']) => { + switch (mode) { + case 'all': + return [`REDUX Action: ${action.type}`, { action: JSON.stringify(action) }]; + case undefined: + case 'omit-values': + return [`REDUX Action: ${action.type}`, undefined]; + default: + return []; + } +}; const { addToTestArray, toggleTestBool, throwErrorForTest } = testSlice.actions; @@ -64,13 +77,13 @@ const getBreadcrumbsSpy = (method: 'info' | 'warn') => { return jest.spyOn(clientBreadcrumbsEnabled.breadcrumbs as BacktraceBreadcrumbs, method); }; -const getStore = (interceptAction?: (action: Action) => Action | undefined) => +const getStore = (options?: BacktraceReduxMiddlewareOptions | ((action: Action) => Action | undefined)) => configureStore({ reducer: { test: testSlice.reducer, }, middleware: (getDefaultMiddleware) => { - const backtraceMiddleware = createBacktraceReduxMiddleware(clientBreadcrumbsEnabled, interceptAction); + const backtraceMiddleware = createBacktraceReduxMiddleware(clientBreadcrumbsEnabled, options); return getDefaultMiddleware().concat(backtraceMiddleware); }, }); @@ -116,8 +129,24 @@ describe('createBacktraceReduxMiddleware', () => { jest.restoreAllMocks(); }); + it('Should run interceptAction when passed in options', () => { + const fn = jest.fn(() => undefined); + const store = getStore({ interceptAction: fn }); + store.dispatch(addToTestArray('test')); + store.dispatch(toggleTestBool()); + expect(fn).toBeCalledTimes(2); + }); + + it('Should run interceptAction when passed as arg', () => { + const fn = jest.fn(() => undefined); + const store = getStore(fn); + store.dispatch(addToTestArray('test')); + store.dispatch(toggleTestBool()); + expect(fn).toBeCalledTimes(2); + }); + it('Should not save a breadcrumb if undefined is returned by interceptAction', () => { - const store = getStore(() => undefined); + const store = getStore({ interceptAction: () => undefined }); const breadcrumbsSpy = getBreadcrumbsSpy('info'); store.dispatch(addToTestArray('test')); store.dispatch(toggleTestBool()); @@ -130,16 +159,16 @@ describe('createBacktraceReduxMiddleware', () => { const toggleAction = toggleTestBool(); const expected = getExpectedBreadcrumb(toggleAction); store.dispatch(toggleAction); - expect(breadcrumbsSpy).toBeCalledWith(expected); + expect(breadcrumbsSpy).toBeCalledWith(...expected); }); it('Should only save a breadcrumb for what is returned from interceptAction', () => { const interceptedAction = { type: 'expected-type' }; - const store = getStore(() => interceptedAction); + const store = getStore({ interceptAction: () => interceptedAction }); const breadcrumbsSpy = getBreadcrumbsSpy('info'); const expected = getExpectedBreadcrumb(interceptedAction); store.dispatch(addToTestArray('Message to add')); - expect(breadcrumbsSpy).toHaveBeenCalledWith(expected); + expect(breadcrumbsSpy).toHaveBeenCalledWith(...expected); }); it('Should have access to update the action via interceptAction', () => { @@ -149,20 +178,59 @@ describe('createBacktraceReduxMiddleware', () => { type: expectedType, payload, }; - const store = getStore((action: Action) => { - if (action.type === 'test/addToTestArray') { - return { - ...action, - type: expectedType, - }; - } else { - throw new Error("action.type 'test/addToTestArray' never called"); - } + const store = getStore({ + interceptAction: (action: Action) => { + if (action.type === 'test/addToTestArray') { + return { + ...action, + type: expectedType, + }; + } else { + throw new Error("action.type 'test/addToTestArray' never called"); + } + }, }); const breadcrumbsSpy = getBreadcrumbsSpy('info'); const expected = getExpectedBreadcrumb(expectedAction); store.dispatch(addToTestArray(payload)); - expect(breadcrumbsSpy).toHaveBeenCalledWith(expected); + expect(breadcrumbsSpy).toHaveBeenCalledWith(...expected); + }); + + describe('modes', () => { + it('Should add only action type as JSON to breadcrumb attributes by default', () => { + const interceptedAction = { type: 'expected-type', payload: { abc: '123' } }; + const store = getStore({ interceptAction: () => interceptedAction }); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const expected = getExpectedBreadcrumb(interceptedAction, 'omit-values'); + store.dispatch(addToTestArray('Message to add')); + expect(breadcrumbsSpy).toHaveBeenCalledWith(...expected); + }); + + it('Should add whole action as JSON to breadcrumb attributes when mode=all', () => { + const interceptedAction = { type: 'expected-type', payload: { abc: '123' } }; + const store = getStore({ interceptAction: () => interceptedAction, mode: 'all' }); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const expected = getExpectedBreadcrumb(interceptedAction, 'all'); + store.dispatch(addToTestArray('Message to add')); + expect(breadcrumbsSpy).toHaveBeenCalledWith(...expected); + }); + + it('Should add only action type as JSON to breadcrumb attributes when mode=omit-values', () => { + const interceptedAction = { type: 'expected-type', payload: { abc: '123' } }; + const store = getStore({ interceptAction: () => interceptedAction, mode: 'omit-values' }); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + const expected = getExpectedBreadcrumb(interceptedAction, 'omit-values'); + store.dispatch(addToTestArray('Message to add')); + expect(breadcrumbsSpy).toHaveBeenCalledWith(...expected); + }); + + it('Should not add any breadcrumb when mode=off', () => { + const interceptedAction = { type: 'expected-type', payload: { abc: '123' } }; + const store = getStore({ interceptAction: () => interceptedAction, mode: 'off' }); + const breadcrumbsSpy = getBreadcrumbsSpy('info'); + store.dispatch(addToTestArray('Message to add')); + expect(breadcrumbsSpy).not.toBeCalled(); + }); }); }); }); @@ -183,7 +251,7 @@ describe('Multiple middleware interaction', () => { const expectedBreadcrumb = getExpectedBreadcrumb(toggleAction); const expectedConsoleLogs = ['hi before', 'hi after', 'hola before', 'hola after']; store.dispatch(toggleAction); - expect(breadcrumbsSpy).toHaveBeenCalledWith(expectedBreadcrumb); + expect(breadcrumbsSpy).toHaveBeenCalledWith(...expectedBreadcrumb); for (const expectedStr of expectedConsoleLogs) { expect(consoleSpy).toHaveBeenCalledWith(expectedStr); } From 47dc6d8e6f2eac4211a84a9a8035900b5c47837b Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Mon, 27 Nov 2023 16:24:35 +0100 Subject: [PATCH 261/291] Brand typo --- packages/react-native/ios/BacktraceDeviceAttributeProvider.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm b/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm index 57b0f951..9f2b47c6 100644 --- a/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm +++ b/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm @@ -11,7 +11,7 @@ @implementation BacktraceDeviceAttributeProvider [dictionary setObject: [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding] forKey: @"device.model"]; - [dictionary setObject: @"Applie Inc" forKey: @"device.brand"]; + [dictionary setObject: @"Apple Inc" forKey: @"device.brand"]; [dictionary setObject: [[UIDevice currentDevice] model] forKey: @"device.product"]; [dictionary setObject: @"Apple Inc" forKey: @"device.manufacturer"]; [dictionary setObject: [[NSBundle mainBundle] infoDictionary][@"DTSDKName"] forKey: @"device.sdk"]; From a68b1730c17e0769ffff65e722f1bd482998ec7d Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 28 Nov 2023 10:55:45 +0100 Subject: [PATCH 262/291] react-native: ensure breadcrumb message is always a string type (#207) * Ensure breadcrumb message is always a string type * Ensure null is handled correctly --- .../modules/breadcrumbs/BreadcrumbsManager.ts | 33 +++++++++++++++- .../breadcrumbsCreationTests.spec.ts | 39 +++++++++++++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts index 089849d0..f5a3ec76 100644 --- a/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts +++ b/packages/sdk-core/src/modules/breadcrumbs/BreadcrumbsManager.ts @@ -1,12 +1,13 @@ import { BacktraceBreadcrumbs, BreadcrumbLogLevel, - BreadcrumbType, BreadcrumbsSetup, BreadcrumbsStorage, + BreadcrumbType, defaultBreadcrumbsLogLevel, defaultBreadcurmbType, } from '.'; +import { jsonEscaper } from '../../common/jsonEscaper'; import { BacktraceBreadcrumbsSettings } from '../../model/configuration/BacktraceConfiguration'; import { AttributeType } from '../../model/data/BacktraceData'; import { BacktraceReport } from '../../model/report/BacktraceReport'; @@ -124,8 +125,9 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule if (!this._enabled) { return false; } + let rawBreadcrumb: RawBreadcrumb = { - message, + message: this.prepareBreadcrumbMessage(message), level, type, attributes, @@ -149,4 +151,31 @@ export class BreadcrumbsManager implements BacktraceBreadcrumbs, BacktraceModule this._storage.add(rawBreadcrumb); return true; } + + /** + * The expectation is, message should always be defined and passed as string. + * However, logger can pass as a message an object or any other unknown type. + * To be sure the code won't break, this method ensures the message is always a string + * no matter what the logger gives us. + * @param message breadcrumb message + */ + private prepareBreadcrumbMessage(message: unknown): string { + if (message == null) { + return ''; + } + + const messageType = typeof message; + + switch (messageType) { + case 'string': { + return message as string; + } + case 'object': { + return JSON.stringify(message, jsonEscaper()); + } + default: { + return message.toString(); + } + } + } } diff --git a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts index e6e84144..5d7d4177 100644 --- a/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts +++ b/packages/sdk-core/tests/breadcrumbs/breadcrumbsCreationTests.spec.ts @@ -47,6 +47,45 @@ describe('Breadcrumbs creation tests', () => { expect(breadcrumb.message).toEqual(message); }); + it('Should convert number to string and treat it as a breadcrumb message', () => { + const input = 1; + const expectedBreadcrumbValueOutput = input.toString(); + + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); + breadcrumbsManager.info(input as unknown as string); + const [breadcrumb] = JSON.parse(storage.get() as string); + + expect(breadcrumb.message).toEqual(expectedBreadcrumbValueOutput); + }); + + it('Should convert object to JSON and treat it as a breadcrumb message', () => { + const input = { foo: 1, bar: true, baz: undefined }; + const expectedBreadcrumbValueOutput = JSON.stringify(input); + + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); + breadcrumbsManager.info(input as unknown as string); + const [breadcrumb] = JSON.parse(storage.get() as string); + + expect(breadcrumb.message).toEqual(expectedBreadcrumbValueOutput); + }); + + it('Should correctly handle null breadcrumb value', () => { + const input = null; + const expectedBreadcrumbValueOutput = ''; + + const storage = new InMemoryBreadcrumbsStorage(100); + const breadcrumbsManager = new BreadcrumbsManager(undefined, { storage }); + breadcrumbsManager.initialize(); + breadcrumbsManager.info(input as unknown as string); + const [breadcrumb] = JSON.parse(storage.get() as string); + + expect(breadcrumb.message).toEqual(expectedBreadcrumbValueOutput); + }); + it('Should set expected breadcrumb level', () => { const message = 'test'; const level = BreadcrumbLogLevel.Warning; From 70a783f66e0f10b457f0b7796b45b9118d227a0a Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 28 Nov 2023 10:56:04 +0100 Subject: [PATCH 263/291] react-native: managed breadcrumb support (#208) * Managed breadcrumb support * Do not add native breadcrumb provider --- .../events/AppStateBreadcrumbSubscriber.ts | 63 ++++++++++++ .../DimensionChangeBreadcrumbSubscriber.ts | 43 +++++++++ .../events/WebRequestEventSubscriber.ts | 96 +++++++++++++++++++ .../src/builder/BacktraceClientBuilder.ts | 15 ++- 4 files changed, 214 insertions(+), 3 deletions(-) create mode 100644 packages/react-native/src/breadcrumbs/events/AppStateBreadcrumbSubscriber.ts create mode 100644 packages/react-native/src/breadcrumbs/events/DimensionChangeBreadcrumbSubscriber.ts create mode 100644 packages/react-native/src/breadcrumbs/events/WebRequestEventSubscriber.ts diff --git a/packages/react-native/src/breadcrumbs/events/AppStateBreadcrumbSubscriber.ts b/packages/react-native/src/breadcrumbs/events/AppStateBreadcrumbSubscriber.ts new file mode 100644 index 00000000..ea0f7cfd --- /dev/null +++ b/packages/react-native/src/breadcrumbs/events/AppStateBreadcrumbSubscriber.ts @@ -0,0 +1,63 @@ +import { + BreadcrumbLogLevel, + BreadcrumbType, + type BacktraceBreadcrumbs, + type BreadcrumbsEventSubscriber, +} from '@backtrace/sdk-core'; +import { AppState, Platform, type NativeEventSubscription } from 'react-native'; + +export class AppStateBreadcrumbSubscriber implements BreadcrumbsEventSubscriber { + private _nativeEventSubscriptions: NativeEventSubscription[] = []; + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.System) === BreadcrumbType.System) { + this._nativeEventSubscriptions.push( + AppState.addEventListener('memoryWarning', (state) => { + backtraceBreadcrumbs.addBreadcrumb( + `Detected memory pressure change. Current state: ${state}`, + BreadcrumbLogLevel.Warning, + BreadcrumbType.System, + { state }, + ); + }), + ); + } + + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.User) === BreadcrumbType.User) { + this._nativeEventSubscriptions.push( + AppState.addEventListener('change', (state) => { + backtraceBreadcrumbs.addBreadcrumb( + `Application state change to ${state}`, + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + ); + }), + ); + + if (Platform.OS === 'android') { + this._nativeEventSubscriptions.push( + AppState.addEventListener('blur', () => { + backtraceBreadcrumbs.addBreadcrumb( + `Application on blur`, + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + ); + }), + ); + this._nativeEventSubscriptions.push( + AppState.addEventListener('focus', () => { + backtraceBreadcrumbs.addBreadcrumb( + `Application focus`, + BreadcrumbLogLevel.Info, + BreadcrumbType.User, + ); + }), + ); + } + } + } + public dispose(): void { + for (const eventSubscription of this._nativeEventSubscriptions) { + eventSubscription.remove(); + } + } +} diff --git a/packages/react-native/src/breadcrumbs/events/DimensionChangeBreadcrumbSubscriber.ts b/packages/react-native/src/breadcrumbs/events/DimensionChangeBreadcrumbSubscriber.ts new file mode 100644 index 00000000..077ccc0a --- /dev/null +++ b/packages/react-native/src/breadcrumbs/events/DimensionChangeBreadcrumbSubscriber.ts @@ -0,0 +1,43 @@ +import { + BreadcrumbLogLevel, + BreadcrumbType, + type BacktraceBreadcrumbs, + type BreadcrumbsEventSubscriber, +} from '@backtrace/sdk-core'; +import { Dimensions, type NativeEventSubscription } from 'react-native'; + +export class DimensionChangeBreadcrumbSubscriber implements BreadcrumbsEventSubscriber { + private _nativeEventSubscriptions: NativeEventSubscription[] = []; + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.User) !== BreadcrumbType.User) { + return; + } + + this._nativeEventSubscriptions.push( + Dimensions.addEventListener('change', (appState) => { + const { window, screen } = appState; + backtraceBreadcrumbs.addBreadcrumb( + `Dimension changed. Window (${Math.floor(window.height)} x ${Math.floor(window.width)}), + Screen (${Math.floor(screen.height)} x ${Math.floor(screen.width)})`, + BreadcrumbLogLevel.Verbose, + BreadcrumbType.User, + { + ['window.fontScale']: window.fontScale, + ['window.scale']: window.scale, + ['window.width']: window.width, + ['window.height']: window.height, + ['screen.fontScale']: screen.fontScale, + ['screen.scale']: screen.scale, + ['screen.width']: screen.width, + ['screen.height']: screen.height, + }, + ); + }), + ); + } + public dispose(): void { + for (const eventSubscription of this._nativeEventSubscriptions) { + eventSubscription.remove(); + } + } +} diff --git a/packages/react-native/src/breadcrumbs/events/WebRequestEventSubscriber.ts b/packages/react-native/src/breadcrumbs/events/WebRequestEventSubscriber.ts new file mode 100644 index 00000000..d9bb25b7 --- /dev/null +++ b/packages/react-native/src/breadcrumbs/events/WebRequestEventSubscriber.ts @@ -0,0 +1,96 @@ +import { + BreadcrumbLogLevel, + BreadcrumbType, + type BacktraceBreadcrumbs, + type BreadcrumbsEventSubscriber, +} from '@backtrace/sdk-core'; + +export class WebRequestEventSubscriber implements BreadcrumbsEventSubscriber { + private _xmlHttpRequestOriginalOpenMethod?: typeof XMLHttpRequest.prototype.open; + private _fetchOriginalMethod?: typeof window.fetch; + + public start(backtraceBreadcrumbs: BacktraceBreadcrumbs): void { + if ((backtraceBreadcrumbs.breadcrumbsType & BreadcrumbType.Http) !== BreadcrumbType.Http) { + return; + } + const xmlHttpRequestOriginalOpenMethod = XMLHttpRequest.prototype.open; + + XMLHttpRequest.prototype.open = function ( + method: string, + url: string, + async?: boolean, + username?: string | null, + password?: string | null, + ) { + const readyStateChangeCallback = this.onreadystatechange; + this.onreadystatechange = (event: Event) => { + if (this.readyState === XMLHttpRequest.DONE) { + backtraceBreadcrumbs.addBreadcrumb( + `Sent an HTTP ${method} request to ${url}. Response status code: ${this.status}`, + BreadcrumbLogLevel.Debug, + BreadcrumbType.Http, + { + method, + url: url.toString(), + statusCode: this.status, + }, + ); + } + + readyStateChangeCallback?.apply(this, [event]); + }; + + xmlHttpRequestOriginalOpenMethod.call(this, method, url, async || true, username, password); + }; + + this._xmlHttpRequestOriginalOpenMethod = xmlHttpRequestOriginalOpenMethod; + + const fetchOriginalMethod = window.fetch; + + window.fetch = async function (resource, config) { + const method = config?.method ?? 'GET'; + const attributes = { + url: resource.toString(), + method: method, + referrer: config?.referrer, + }; + + try { + const result = await fetchOriginalMethod(resource, config); + backtraceBreadcrumbs.addBreadcrumb( + `Sent an HTTP ${method} request to ${resource}. Response status code: ${result.status}`, + BreadcrumbLogLevel.Debug, + BreadcrumbType.Http, + { + ...attributes, + statusCode: result.status, + }, + ); + + return result; + } catch (e) { + backtraceBreadcrumbs.addBreadcrumb( + `HTTP ${method} failure on request to ${resource}. Reason: ${ + e instanceof Error ? e.message : e?.toString() ?? 'unknown' + }`, + BreadcrumbLogLevel.Warning, + BreadcrumbType.Http, + attributes, + ); + throw e; + } + }; + + this._fetchOriginalMethod = fetchOriginalMethod; + } + + public dispose(): void { + if (this._fetchOriginalMethod) { + window.fetch = this._fetchOriginalMethod; + } + + if (this._xmlHttpRequestOriginalOpenMethod) { + XMLHttpRequest.prototype.open = this._xmlHttpRequestOriginalOpenMethod; + } + } +} diff --git a/packages/react-native/src/builder/BacktraceClientBuilder.ts b/packages/react-native/src/builder/BacktraceClientBuilder.ts index b47db4ef..5ae581ed 100644 --- a/packages/react-native/src/builder/BacktraceClientBuilder.ts +++ b/packages/react-native/src/builder/BacktraceClientBuilder.ts @@ -3,6 +3,9 @@ import { Platform } from 'react-native'; import { NativeAttributeProvider } from '../attributes/NativeAttributeProvider'; import { ReactNativeAttributeProvider } from '../attributes/ReactNativeAttributeProvider'; import { BacktraceClient } from '../BacktraceClient'; +import { AppStateBreadcrumbSubscriber } from '../breadcrumbs/events/AppStateBreadcrumbSubscriber'; +import { DimensionChangeBreadcrumbSubscriber } from '../breadcrumbs/events/DimensionChangeBreadcrumbSubscriber'; +import { WebRequestEventSubscriber } from '../breadcrumbs/events/WebRequestEventSubscriber'; import { DebuggerHelper } from '../common/DebuggerHelper'; import { ReactNativeFileSystem } from '../storage'; import type { BacktraceClientSetup } from './BacktraceClientSetup'; @@ -17,6 +20,10 @@ export class BacktraceClientBuilder extends BacktraceCoreClientBuilder Date: Tue, 28 Nov 2023 10:57:30 +0100 Subject: [PATCH 264/291] Dont create formdata without attachments (#206) --- packages/browser/src/BacktraceBrowserRequestHandler.ts | 6 +++--- packages/node/src/BacktraceNodeRequestHandler.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/browser/src/BacktraceBrowserRequestHandler.ts b/packages/browser/src/BacktraceBrowserRequestHandler.ts index 0d9dbcec..d4cd0802 100644 --- a/packages/browser/src/BacktraceBrowserRequestHandler.ts +++ b/packages/browser/src/BacktraceBrowserRequestHandler.ts @@ -1,10 +1,10 @@ import { + anySignal, BacktraceAttachment, BacktraceReportSubmissionResult, BacktraceRequestHandler, ConnectionError, DEFAULT_TIMEOUT, - anySignal, } from '@backtrace/sdk-core'; export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { @@ -29,8 +29,8 @@ export class BacktraceBrowserRequestHandler implements BacktraceRequestHandler { attachments: BacktraceAttachment[], abortSignal?: AbortSignal, ): Promise> { - const formData = this.createFormData(dataJson, attachments); - return this.post(submissionUrl, formData, abortSignal); + const payload = attachments.length === 0 ? dataJson : this.createFormData(dataJson, attachments); + return this.post(submissionUrl, payload, abortSignal); } public async post( diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index d9bb9905..7364fcbb 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -35,7 +35,7 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { attachments: BacktraceAttachment[], abortSignal?: AbortSignal, ): Promise> { - const formData = this.createFormData(dataJson, attachments); + const formData = attachments.length === 0 ? dataJson : this.createFormData(dataJson, attachments); return this.send(submissionUrl, formData, abortSignal); } From 63ee6f61b43e8914d0e0748f3be50c3ff5096920 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 28 Nov 2023 11:00:32 +0100 Subject: [PATCH 265/291] react-native: remove react dependency on react-native project (#209) * Managed breadcrumb support * Remove react dependency on react-native project * Include types in the definition --- examples/sdk/reactNative/index.js | 14 ++- package-lock.json | 10 +- packages/react-native/package.json | 1 - packages/react-native/src/BacktraceClient.ts | 5 +- packages/react-native/src/ErrorBoundary.tsx | 4 +- .../src/ReactNativeRequestHandler.ts | 103 ++++++++++++++++++ .../src/ReactStackTraceConverter.ts | 55 ++++++++++ 7 files changed, 174 insertions(+), 18 deletions(-) create mode 100644 packages/react-native/src/ReactNativeRequestHandler.ts create mode 100644 packages/react-native/src/ReactStackTraceConverter.ts diff --git a/examples/sdk/reactNative/index.js b/examples/sdk/reactNative/index.js index 79ca62ca..b9400a9e 100644 --- a/examples/sdk/reactNative/index.js +++ b/examples/sdk/reactNative/index.js @@ -15,12 +15,14 @@ BacktraceClient.initialize({ prop2: 123, }, }, - database: { - enable: true, - captureNativeCrashes: true, - createDatabaseDirectory: true, - path: `${BacktraceClient.applicationDataPath}/backtrace`, - }, + database: __DEV__ + ? undefined + : { + enable: true, + captureNativeCrashes: true, + createDatabaseDirectory: true, + path: `${BacktraceClient.applicationDataPath}/backtrace`, + }, }); AppRegistry.registerComponent(appName, () => App); diff --git a/package-lock.json b/package-lock.json index 01ab5f2a..7d91ad1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15497,8 +15497,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.1.0", - "@backtrace/sdk-core": "^0.1.0" + "@backtrace/node": "^0.1.3" }, "peerDependencies": { "electron": "12 - 26" @@ -15674,10 +15673,9 @@ }, "packages/react-native": { "name": "@backtrace/react-native", - "version": "0.0.1", + "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/react": "^0.1.0", "@backtrace/sdk-core": "^0.1.0" }, "devDependencies": { @@ -22886,8 +22884,7 @@ "@backtrace/electron": { "version": "file:packages/electron", "requires": { - "@backtrace/node": "^0.1.0", - "@backtrace/sdk-core": "^0.1.0" + "@backtrace/node": "^0.1.3" } }, "@backtrace/javascript-cli": { @@ -23007,7 +23004,6 @@ "@backtrace/react-native": { "version": "file:packages/react-native", "requires": { - "@backtrace/react": "^0.1.0", "@backtrace/sdk-core": "^0.1.0", "@react-native-community/eslint-config": "^3.0.2", "@types/jest": "^29.5.5", diff --git a/packages/react-native/package.json b/packages/react-native/package.json index ddf66f70..6ea838a2 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -90,7 +90,6 @@ "typescript": "^5.0.2" }, "dependencies": { - "@backtrace/react": "^0.1.0", "@backtrace/sdk-core": "^0.1.0" } } diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts index 984d2120..a7bc7004 100644 --- a/packages/react-native/src/BacktraceClient.ts +++ b/packages/react-native/src/BacktraceClient.ts @@ -1,4 +1,3 @@ -import { BacktraceBrowserRequestHandler, ReactStackTraceConverter } from '@backtrace/react'; import { BacktraceCoreClient, BreadcrumbsManager, @@ -18,6 +17,8 @@ import { version } from './common/platformHelper'; import { CrashReporter } from './crashReporter/CrashReporter'; import { generateUnhandledExceptionHandler } from './handlers'; import { type ExceptionHandler } from './handlers/ExceptionHandler'; +import { ReactNativeRequestHandler } from './ReactNativeRequestHandler'; +import { ReactStackTraceConverter } from './ReactStackTraceConverter'; import { type FileSystem } from './storage/FileSystem'; export class BacktraceClient extends BacktraceCoreClient { @@ -40,7 +41,7 @@ export class BacktraceClient extends BacktraceCoreClient langName: 'react-native', langVersion: version(), }, - requestHandler: new BacktraceBrowserRequestHandler(clientSetup.options), + requestHandler: new ReactNativeRequestHandler(clientSetup.options), debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), stackTraceConverter: new ReactStackTraceConverter(new V8StackTraceConverter('address at')), sessionProvider: new SingleSessionProvider(), diff --git a/packages/react-native/src/ErrorBoundary.tsx b/packages/react-native/src/ErrorBoundary.tsx index adf0b88b..731b1ab3 100644 --- a/packages/react-native/src/ErrorBoundary.tsx +++ b/packages/react-native/src/ErrorBoundary.tsx @@ -34,14 +34,14 @@ export class ErrorBoundary extends Component( + submissionUrl: string, + dataJson: string, + attachments: BacktraceAttachment[], + abortSignal?: AbortSignal, + ): Promise> { + const formData = this.createFormData(dataJson, attachments); + return this.post(submissionUrl, formData, abortSignal); + } + + public async post( + submissionUrl: string, + payload: string | FormData, + abortSignal?: AbortSignal, + ): Promise> { + const controller = new AbortController(); + const id = setTimeout(() => controller.abort(), this._timeout); + + try { + const response = await fetch(submissionUrl, { + method: 'POST', + body: payload, + headers: typeof payload === 'string' ? this.JSON_HEADERS : {}, + signal: anySignal(abortSignal, controller.signal), + }); + + clearInterval(id); + + switch (response.status) { + case 200: { + const result: T = await response.json(); + return BacktraceReportSubmissionResult.Ok(result); + } + case 401: + case 403: { + return BacktraceReportSubmissionResult.OnInvalidToken(); + } + case 429: { + return BacktraceReportSubmissionResult.OnLimitReached(); + } + default: { + return BacktraceReportSubmissionResult.OnInternalServerError(response.statusText); + } + } + } catch (err) { + if (!(err instanceof Error)) { + return BacktraceReportSubmissionResult.OnUnknownError(err as string); + } + + if (err.name === 'AbortError') { + return BacktraceReportSubmissionResult.OnNetworkingError('Timeout'); + } + if (ConnectionError.isConnectionError(err)) { + return BacktraceReportSubmissionResult.OnNetworkingError(err.message); + } + + return BacktraceReportSubmissionResult.OnUnknownError(err.message); + } + } + + private createFormData(json: string, attachments: BacktraceAttachment[]) { + const formData = new FormData(); + formData.append(this.UPLOAD_FILE_NAME, json); + + if (!attachments || attachments.length === 0) { + return formData; + } + for (const attachment of attachments) { + const data = attachment.get(); + if (!data) { + continue; + } + formData.append(`attachment_${attachment.name}`, data); + } + + return formData; + } +} diff --git a/packages/react-native/src/ReactStackTraceConverter.ts b/packages/react-native/src/ReactStackTraceConverter.ts new file mode 100644 index 00000000..b62b7f96 --- /dev/null +++ b/packages/react-native/src/ReactStackTraceConverter.ts @@ -0,0 +1,55 @@ +import { + type BacktraceStackFrame, + type BacktraceStackTraceConverter, + type JavaScriptEngine, +} from '@backtrace/sdk-core'; + +export class ReactStackTraceConverter implements BacktraceStackTraceConverter { + constructor(private readonly stackTraceConverter: BacktraceStackTraceConverter) {} + + get engine(): JavaScriptEngine { + return this.stackTraceConverter.engine; + } + + public convert(stackTrace: string, message = ''): BacktraceStackFrame[] { + // React 16 component stacks are not JS error stacks, and need to be parsed separately + if (this.isReact16ComponentStack(stackTrace)) { + return this.parseReact16ComponentStack(stackTrace); + } + return this.stackTraceConverter.convert(stackTrace, message); + } + + /** + * React 16 component stacks need to be parsed separately. React 17+ component stacks can be parsed like Error stacks + */ + private isReact16ComponentStack(stack: string): boolean { + if (!stack) { + return false; + } + const frames = stack.split('\n').filter((line) => !!line); + for (const frame of frames) { + if (!frame.includes('in ')) { + return false; + } + } + return true; + } + + private parseReact16ComponentStack(stack: string): BacktraceStackFrame[] { + const btFrames: BacktraceStackFrame[] = []; + if (!stack) { + return btFrames; + } + const frames = stack.split('\n'); + for (const frame of frames) { + if (!frame.trim()) continue; + const component = frame.split('in ')[1]?.trim(); + const btFrame: BacktraceStackFrame = { + funcName: component ?? 'unknown', + library: 'unknown', + }; + btFrames.push(btFrame); + } + return btFrames; + } +} From e0b7b0f1615975493d6bb3ac77c1c5b2456562c5 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 13:17:19 +0100 Subject: [PATCH 266/291] sourcemap-tools: version 0.2.1 (#210) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- tools/sourcemap-tools/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7d91ad1b..91b7019a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22237,7 +22237,7 @@ }, "tools/sourcemap-tools": { "name": "@backtrace/sourcemap-tools", - "version": "0.2.0", + "version": "0.2.1", "license": "MIT", "dependencies": { "tar-stream": "^3.1.6" diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index b31e7303..ece53c03 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/sourcemap-tools", - "version": "0.2.0", + "version": "0.2.1", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", From 0d0ba2f8e7a9ffee113192b82bb047150ba14396 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 13:38:09 +0100 Subject: [PATCH 267/291] cli: version 0.3.0 (#211) Co-authored-by: Sebastian Alex --- package-lock.json | 6 +++--- tools/cli/CHANGELOG.md | 28 ++++++++++++++++++++++++++++ tools/cli/package.json | 4 ++-- 3 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 tools/cli/CHANGELOG.md diff --git a/package-lock.json b/package-lock.json index 91b7019a..c2a5a9f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22188,10 +22188,10 @@ }, "tools/cli": { "name": "@backtrace/javascript-cli", - "version": "0.2.1", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0", + "@backtrace/sourcemap-tools": "^0.2.1", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -22890,7 +22890,7 @@ "@backtrace/javascript-cli": { "version": "file:tools/cli", "requires": { - "@backtrace/sourcemap-tools": "^0.2.0", + "@backtrace/sourcemap-tools": "^0.2.1", "@types/command-line-args": "^5.2.0", "@types/command-line-usage": "^5.0.2", "@types/fs-extra": "^11.0.1", diff --git a/tools/cli/CHANGELOG.md b/tools/cli/CHANGELOG.md new file mode 100644 index 00000000..9474365e --- /dev/null +++ b/tools/cli/CHANGELOG.md @@ -0,0 +1,28 @@ +# Version 0.3.0 + +- update @backtrace/sourcemap-tools to 0.2.1 +- support tuple paths (#199) +- partial processing (#198) + +# Version 0.2.1 + +- fix include-sources flag in run + +# Version 0.2.0 + +- test and upload improvements (#179) +- various fixes (#149) + - bring back subdomain and token options + - display process and add-sources messages only if enabled + - fix loading config for subcommands + - update README + - fix dry-run for upload in run + - use uploadOptions for pass-with-no-files for upload in run + - add note about subdomain not working on on-premise +- add finding sourcemap by {filename.js}.map (#132) +- remove duplicate debugIds before uploading (#131) +- optimization of `run` and simplification of code (#130) + +# Version 0.0.4 + +Initial release. diff --git a/tools/cli/package.json b/tools/cli/package.json index 59a0fd2f..6b984068 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/javascript-cli", - "version": "0.2.1", + "version": "0.3.0", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -45,7 +45,7 @@ "/lib" ], "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0", + "@backtrace/sourcemap-tools": "^0.2.1", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", From 52ee36ea8d8d43bb4d159fca03428f98ba437810 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 14:09:34 +0100 Subject: [PATCH 268/291] sdk-core: version 0.2.0 (#212) Co-authored-by: Sebastian Alex --- package-lock.json | 46709 +++++++++------------------ packages/browser/package.json | 2 +- packages/node/package.json | 2 +- packages/react-native/package.json | 2 +- packages/react/package.json | 2 +- packages/sdk-core/CHANGELOG.md | 5 + packages/sdk-core/package.json | 2 +- 7 files changed, 14730 insertions(+), 31994 deletions(-) diff --git a/package-lock.json b/package-lock.json index c2a5a9f4..2ef09fd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "@backtrace/javascript", "version": "0.0.1", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -81,12 +81,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -165,30 +165,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", + "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/generator": "^7.23.3", "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", + "@babel/parser": "^7.23.3", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -224,13 +224,49 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.4", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -249,6 +285,30 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", @@ -289,6 +349,80 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dev": true, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", @@ -323,6 +457,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", @@ -336,9 +482,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -354,6 +500,18 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", @@ -363,6 +521,40 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", @@ -375,6 +567,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", @@ -388,9 +592,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -414,24 +618,38 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", + "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.23.4", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -514,9 +732,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -525,73 +743,98 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz", + "integrity": "sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -600,58 +843,111 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -660,10 +956,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { + "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -672,10 +968,22 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -687,5073 +995,5010 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz", + "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.14.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/helper-plugin-utils": "^7.8.3" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@backtrace/browser": { - "resolved": "packages/browser", - "link": true - }, - "node_modules/@backtrace/electron": { - "resolved": "packages/electron", - "link": true - }, - "node_modules/@backtrace/javascript-cli": { - "resolved": "tools/cli", - "link": true - }, - "node_modules/@backtrace/nestjs": { - "resolved": "packages/nestjs", - "link": true - }, - "node_modules/@backtrace/node": { - "resolved": "packages/node", - "link": true - }, - "node_modules/@backtrace/react": { - "resolved": "packages/react", - "link": true - }, - "node_modules/@backtrace/react-native": { - "resolved": "packages/react-native", - "link": true - }, - "node_modules/@backtrace/rollup-plugin": { - "resolved": "tools/rollup-plugin", - "link": true - }, - "node_modules/@backtrace/sdk-core": { - "resolved": "packages/sdk-core", - "link": true - }, - "node_modules/@backtrace/sourcemap-tools": { - "resolved": "tools/sourcemap-tools", - "link": true - }, - "node_modules/@backtrace/vite-plugin": { - "resolved": "tools/vite-plugin", - "link": true - }, - "node_modules/@backtrace/webpack-plugin": { - "resolved": "tools/webpack-plugin", - "link": true - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "engines": { - "node": ">=10.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@electron/get": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", - "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "peer": true, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, "dependencies": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "got": "^11.8.5", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "optionalDependencies": { - "global-agent": "^3.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@electron/get/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6 <7 || >=8" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@electron/get/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@electron/get/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@electron/get/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true, - "engines": { - "node": ">= 4.0.0" + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", + "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "peer": true, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.23.3" + }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", "dev": true, "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" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.12.tgz", - "integrity": "sha512-NlGesA1usRNn6ctHCZ21M4/dKPgW9Nn1FypRdIKKgZOKzkVV4T1FlK5mBiLhHBCDmEbdQG0idrcXlbZfksJ+RA==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.0", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { - "node": ">=10.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.0.tgz", - "integrity": "sha512-9S9QrXY2K0L4AGDcSgTi9vgiCcG8VcBv4Mp7/1hDPYoswIy6Z6KO5blYto82BT8M0MZNRWmCFLpCs3HlpYGGdw==", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@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.23.3" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "dev": true, "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dev": true, + "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" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "dev": true, "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" + "@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-private-property-in-object": "^7.14.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dev": true, "dependencies": { - "jest-get-type": "^29.6.3" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "dev": true, "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" + "@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.23.3", + "@babel/types": "^7.23.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "@babel/plugin-transform-react-jsx": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", "dev": true, "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" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "*" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", + "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", "dev": true, "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "semver": "^6.3.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "dev": true, "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" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz", + "integrity": "sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==", + "dev": true, + "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.23.3" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nestjs/common": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.2.8.tgz", - "integrity": "sha512-rmpwcdvq2IWMmsUVP8rsdKub6uDWk7dwCYo0aif50JTwcvcxzaP3iKVFKoSgvp0RKYu8h15+/AEOfaInmPpl0Q==", - "peer": true, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, "dependencies": { - "iterare": "1.2.1", - "tslib": "2.6.2", - "uid": "2.0.2" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "class-transformer": "*", - "class-validator": "*", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nestjs/common/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@babel/preset-env": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", + "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@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.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@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.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@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.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.3", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.3", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.3", + "@babel/plugin-transform-classes": "^7.23.3", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.3", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.3", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", + "@babel/plugin-transform-numeric-separator": "^7.23.3", + "@babel/plugin-transform-object-rest-spread": "^7.23.3", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.3", + "@babel/plugin-transform-optional-chaining": "^7.23.3", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.3", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "node_modules/@babel/preset-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz", + "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "bin": { - "opencollective": "bin/opencollective.js" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.23.3" }, "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, - "engines": { - "node": ">=14" + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@reduxjs/toolkit": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", - "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", "dev": true, "dependencies": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" }, - "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", - "react-redux": "^7.2.1 || ^8.0.2" + "engines": { + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-redux": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", - "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "rollup": "^2.14.0||^3.0.0||^4.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", - "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "node_modules/@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", "dev": true, "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "node_modules/@babel/register/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "peer": true, + "node_modules/@babel/register/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "node": ">=6" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "bin": { + "semver": "bin/semver" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@babel/register/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "peer": true, + "node_modules/@babel/register/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", - "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", "dev": true, "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" + "regenerator-runtime": "^0.14.0" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" } }, - "node_modules/@testing-library/react": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/@babel/traverse": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/aria-query": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", - "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", - "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "engines": { + "node": ">=4" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.6", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", - "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", + "node_modules/@babel/types": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", - "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } + "node_modules/@backtrace/browser": { + "resolved": "packages/browser", + "link": true }, - "node_modules/@types/babel__traverse": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", - "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } + "node_modules/@backtrace/electron": { + "resolved": "packages/electron", + "link": true }, - "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } + "node_modules/@backtrace/javascript-cli": { + "resolved": "tools/cli", + "link": true }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "peer": true, - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } + "node_modules/@backtrace/nestjs": { + "resolved": "packages/nestjs", + "link": true }, - "node_modules/@types/command-line-args": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.2.tgz", - "integrity": "sha512-9aZ7KzLDOBYyqH5J2bvB9edvsMXusX+H/aS8idAJOpWNmscZG5RqO1CVJPFa4Q0/1xKgvxcweXunFVx2l/dYFA==", - "dev": true + "node_modules/@backtrace/node": { + "resolved": "packages/node", + "link": true }, - "node_modules/@types/command-line-usage": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.3.tgz", - "integrity": "sha512-ZESq+MDjR7QpvFfuanzfoAwfzA9e/wUUH/5uEyaZpGwqEnNddBpsyzJWltUIMgXYy97//wD0aJFgKStoZ6o1SQ==", - "dev": true + "node_modules/@backtrace/react": { + "resolved": "packages/react", + "link": true }, - "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } + "node_modules/@backtrace/react-native": { + "resolved": "packages/react-native", + "link": true }, - "node_modules/@types/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==", - "dev": true + "node_modules/@backtrace/rollup-plugin": { + "resolved": "tools/rollup-plugin", + "link": true }, - "node_modules/@types/decompress": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.6.tgz", - "integrity": "sha512-ULmsMkKxU7aIGbnxP4Rz28hLdRZ4q0cdy6kcb8dx+UgDGOn+id5fibvoeTnjuolhrRM7f7TOtGADeKEk60SSsQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } + "node_modules/@backtrace/sdk-core": { + "resolved": "packages/sdk-core", + "link": true }, - "node_modules/@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } + "node_modules/@backtrace/sourcemap-tools": { + "resolved": "tools/sourcemap-tools", + "link": true }, - "node_modules/@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } + "node_modules/@backtrace/vite-plugin": { + "resolved": "tools/vite-plugin", + "link": true }, - "node_modules/@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" + "node_modules/@backtrace/webpack-plugin": { + "resolved": "tools/webpack-plugin", + "link": true }, - "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@types/fs-extra": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.3.tgz", - "integrity": "sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==", + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "dependencies": { - "@types/jsonfile": "*", - "@types/node": "*" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", - "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", - "dev": true, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "peer": true, "dependencies": { - "@types/node": "*" + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", - "peer": true - }, - "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", - "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", - "dev": true, + "node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "peer": true, "dependencies": { - "@types/istanbul-lib-coverage": "*" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", - "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" + "node_modules/@electron/get/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@types/jest": { - "version": "29.5.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.6.tgz", - "integrity": "sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 4.0.0" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/jsonfile": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.3.tgz", - "integrity": "sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==", - "dev": true, - "dependencies": { - "@types/node": "*" + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], "peer": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=12" } }, - "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.2.30", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.30.tgz", - "integrity": "sha512-OfqdJnDsSo4UNw0bqAjFCuBpLYQM7wvZidz0hVxHRjrEkzRlvZL1pJVyOSY55HMiKvRNEo9DUBRuEl7FNlJ/Vg==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/react-dom": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", - "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", - "dev": true, - "dependencies": { - "@types/react": "*" + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], "peer": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=12" } }, - "node_modules/@types/scheduler": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", - "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/source-list-map": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.4.tgz", - "integrity": "sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", - "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==", - "dev": true - }, - "node_modules/@types/superagent": { - "version": "4.1.20", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.20.tgz", - "integrity": "sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==", - "dev": true, - "dependencies": { - "@types/cookiejar": "*", - "@types/node": "*" + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/supertest": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.15.tgz", - "integrity": "sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==", - "dev": true, - "dependencies": { - "@types/superagent": "*" + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/tar-stream": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-2.2.3.tgz", - "integrity": "sha512-if3mugZfjVkXOMZdFjIHySxY13r6GXPpyOlsDmLffvyI7tLz9wXE8BFjNivXsvUeyJ1KNlOpfLnag+ISmxgxPw==", - "dev": true, - "dependencies": { - "@types/node": "*" + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/tough-cookie": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", - "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==", - "dev": true + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.38", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz", - "integrity": "sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ==", - "dev": true + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } }, - "node_modules/@types/webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-acCzhuVe+UJy8abiSFQWXELhhNMZjQjQKpLNEi1pKGgKXZj0ul614ATcx4kkhunPost6Xw+aCq8y8cn1/WwAiA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/yargs": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", - "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", - "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", - "dev": true + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } }, - "node_modules/@types/yauzl": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", - "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], "optional": true, + "os": [ + "openbsd" + ], "peer": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=12" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "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" + "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "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" + "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" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://opencollective.com/eslint" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@eslint/js": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=10.10.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12.22" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "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" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "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" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "sprintf-js": "~1.0.2" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "engines": { - "node": ">=14.15.0" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "engines": { - "node": ">=14.15.0" + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, "engines": { - "node": ">=14.15.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "webpack-dev-server": { + "node-notifier": { "optional": true } } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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" }, "engines": { - "node": ">=0.4.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peerDependencies": { - "acorn": "^8" + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "dependencies": { - "debug": "4" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@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" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", - "dev": true - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, + "node_modules/@nestjs/common": { + "version": "10.2.10", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.2.10.tgz", + "integrity": "sha512-fwAk931rjW8CNH2Mgwawq/7HWHH1dxkOLdcgs7U52ddLk8CtHXjejm1cbNahewlSbNhvlOl7y1STLHutE6sUqw==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "iterare": "1.2.1", + "tslib": "2.6.2", + "uid": "2.0.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true + "node_modules/@nestjs/common/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "peer": true }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "node_modules/@nestjs/core": { + "version": "10.2.10", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.2.10.tgz", + "integrity": "sha512-+ckOI6BPi2ZMHikT9MCG4ctHDc4OnjhoIytrn7f2AYMMXI4bnutJhqyQKc30VDka5x3Wq6QAD57pgSP7y+JjJg==", "dev": true, + "hasInstallScript": true, "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" + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.6.2", + "uid": "2.0.2" }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0", + "@nestjs/websockets": "^10.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/core/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/@nestjs/platform-express": { + "version": "10.2.10", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.2.10.tgz", + "integrity": "sha512-U4KDgtMjH8TqEvt0RzC/POP8ABvL9bYoCScvlGtFSKgVGaMLBKkZ4+jHtbQx6qItYSlBBRUuz/dveMZCObfrkQ==", + "dev": true, + "dependencies": { + "body-parser": "1.20.2", + "cors": "2.8.5", + "express": "4.18.2", + "multer": "1.4.4-lts.1", + "tslib": "2.6.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/core": "^10.0.0" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/@nestjs/platform-express/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/@nestjs/testing": { + "version": "10.2.10", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.2.10.tgz", + "integrity": "sha512-IVLUnPz/+fkBtPATYfqTIP+phN9yjkXejmj+JyhmcfPJZpxBmD1i9VSMqa4u54l37j0xkGPscQ0IXpbhqMYUKw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "tslib": "2.6.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/core": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + } } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "node_modules/@nestjs/testing/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "eslint-scope": "5.1.1" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "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" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dev": true, "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" + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "opencollective": "bin/opencollective.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/@react-native-community/cli": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.10.tgz", + "integrity": "sha512-bIx0t5s9ewH1PlcEcuQUD+UnVrCjPGAfjhVR5Gew565X60nE+GTIHRn70nMv9G4he/amBF+Z+vf5t8SNZEWMwg==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "@react-native-community/cli-clean": "11.3.10", + "@react-native-community/cli-config": "11.3.10", + "@react-native-community/cli-debugger-ui": "11.3.10", + "@react-native-community/cli-doctor": "11.3.10", + "@react-native-community/cli-hermes": "11.3.10", + "@react-native-community/cli-plugin-metro": "11.3.10", + "@react-native-community/cli-server-api": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "@react-native-community/cli-types": "11.3.10", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { + "node": ">=16" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", - "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "node_modules/@react-native-community/cli-clean": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.10.tgz", + "integrity": "sha512-g6QjW+DSqoWRHzmIQW3AH22k1AnynWuOdy2YPwYEGgPddTeXZtJphIpEVwDOiC0L4mZv2VmiX33/cGNUwO0cIA==", "dev": true, "dependencies": { - "object.assign": "^4.1.4", - "util": "^0.10.4" + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "node_modules/@react-native-community/cli-config": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.10.tgz", + "integrity": "sha512-YYu14nm1JYLS6mDRBz78+zDdSFudLBFpPkhkOoj4LuBhNForQBIqFFHzQbd9/gcguJxfW3vlYSnudfaUI7oGLg==", "dev": true, "dependencies": { - "inherits": "2.0.3" + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "node_modules/@react-native-community/cli-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "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" + }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.10.tgz", + "integrity": "sha512-kyitGV3RsjlXIioq9lsuawha2GUBPCTAyXV6EBlm3qlyF3dMniB3twEvz+fIOid/e1ZeucH3Tzy5G3qcP8yWoA==", "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" + "dependencies": { + "serve-static": "^1.13.1" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/@react-native-community/cli-doctor": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.10.tgz", + "integrity": "sha512-DpMsfCWKZ15L9nFK/SyDvpl5v6MjV+arMHMC1i8kR+DOmf2xWmp/pgMywKk0/u50yGB9GwxBHt3i/S/IMK5Ylg==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@react-native-community/cli-config": "11.3.10", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-platform-ios": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" } }, - "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=6" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/@react-native-community/cli-hermes": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.10.tgz", + "integrity": "sha512-vqINuzAlcHS9ImNwJtT43N7kfBQ7ro9A8O1Gpc5TQ0A8V36yGG8eoCHeauayklVVgMZpZL6f6mcoLLr9IOgBZQ==", "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" } }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@react-native-community/cli-platform-android": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.10.tgz", + "integrity": "sha512-RGu9KuDIXnrcNkacSHj5ETTQtp/D/835L6veE2jMigO21p//gnKAjw3AVLCysGr8YXYfThF8OSOALrwNc94puQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "node_modules/@react-native-community/cli-platform-android/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/@react-native-community/cli-platform-ios": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.10.tgz", + "integrity": "sha512-JjduMrBM567/j4Hvjsff77dGSLMA0+p9rr0nShlgnKPcc+0J4TDy0hgWpUceM7OG00AdDjpetAPupz0kkAh4cQ==", "dev": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "node_modules/@react-native-community/cli-platform-ios/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "*" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "node_modules/@react-native-community/cli-plugin-metro": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.10.tgz", + "integrity": "sha512-ZYAc5Hc+QVqJgj1XFbpKnIPbSJ9xKcBnfQrRhR+jFyt2DWx85u4bbzY1GSVc/USs0UbSUXv4dqPbnmOJz52EYQ==", + "dev": true, + "dependencies": { + "@react-native-community/cli-server-api": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-react-native-babel-transformer": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "readline": "^1.3.0" + } }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "node_modules/@react-native-community/cli-server-api": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.10.tgz", + "integrity": "sha512-WEwHWIpqx3gA6Da+lrmq8+z78E1XbxxjBlvHAXevhjJj42N4SO417eZiiUVrFzEFVVJSUee9n9aRa0kUR+0/2w==", "dev": true, "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" + "@react-native-community/cli-debugger-ui": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.14.2" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dependencies": { + "@types/yargs-parser": "*" + } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, "engines": { - "node": "*" + "node": ">= 10" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, - "optional": true, "engines": { - "node": ">=8" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@react-native-community/cli-tools": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.10.tgz", + "integrity": "sha512-4kCuCwVcGagSrNg9vxMNVhynwpByuC/J5UnKGEet3HuqmoDhQW15m18fJXiehA8J+u9WBvHduefy9nZxO0C06Q==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" } }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "node_modules/@react-native-community/cli-types": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.10.tgz", + "integrity": "sha512-0FHK/JE7bTn0x1y8Lk5m3RISDHIBQqWLltO2Mf7YQ6cAeKs8iNOJOeKaHJEY+ohjsOyCziw+XSC4cY57dQrwNA==", "dev": true, "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "joi": "^17.2.1" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=8" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@react-native-community/cli/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "dependencies": { - "ms": "2.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/boolean": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", - "optional": true, - "peer": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@react-native-community/cli/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/@react-native-community/cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "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" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/@react-native-community/cli/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/@react-native-community/eslint-config": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", + "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", "dev": true, "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "@babel/core": "^7.14.0", + "@babel/eslint-parser": "^7.18.2", + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" } }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "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" - } + "node_modules/@react-native-community/eslint-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", + "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", + "dev": true }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==", + "dev": true + }, + "node_modules/@react-native/codegen": { + "version": "0.72.7", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz", + "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" }, - "engines": { - "node": ">= 6" + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/@react-native/gradle-plugin": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==", + "dev": true + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.72.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", + "dev": true + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==", + "dev": true + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", "dev": true, "dependencies": { - "pako": "~1.0.5" + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "react-native": "*" } }, - "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/@reduxjs/toolkit": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" }, - "bin": { - "browserslist": "cli.js" + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", + "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", "dev": true, "dependencies": { - "fast-json-stable-stringify": "2.x" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" }, "engines": { - "node": ">= 6" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", "dev": true, "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", "dev": true, "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "@hapi/hoek": "^9.0.0" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", "dev": true }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/builtin-status-codes": { + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "streamsearch": "^1.1.0" + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "peer": true, + "dependencies": { + "defer-to-connect": "^2.0.0" }, "engines": { - "node": ">=10.16.0" + "node": ">=10" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/@testing-library/dom": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", "dev": true, + "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" + }, "engines": { - "node": ">= 0.8" + "node": ">=14" } }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@testing-library/react": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.1.2.tgz", + "integrity": "sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==", "dev": true, "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" }, "engines": { - "node": "*" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "engines": { + "node": ">= 10" } }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true }, - "node_modules/cacache/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true }, - "node_modules/cacheable-lookup": { + "node_modules/@types/aria-query": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "peer": true, - "engines": { - "node": ">=10.6.0" - } + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "peer": true, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "peer": true, + "node_modules/@types/babel__generator": { + "version": "7.6.7", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz", + "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==", + "dev": true, "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/types": "^7.0.0" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@types/babel__traverse": { + "version": "7.20.4", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", + "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "@babel/types": "^7.20.7" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001551", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", - "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "node_modules/@types/command-line-args": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz", + "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==", + "dev": true + }, + "node_modules/@types/command-line-usage": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.4.tgz", + "integrity": "sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "@types/node": "*" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/@types/cookiejar": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", + "dev": true + }, + "node_modules/@types/decompress": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.7.tgz", + "integrity": "sha512-9z+8yjKr5Wn73Pt17/ldnmQToaFHZxK0N1GHysuk/JIPT8RIdQeoInM01wWPgypRcvb6VH1drjuFpQ4zmY437g==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@types/node": "*" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true, + "node_modules/@types/eslint": { + "version": "8.44.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", + "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/@types/express-serve-static-core": { + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "node_modules/@types/fs-extra": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", + "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/jsonfile": "*", + "@types/node": "*" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "@types/node": "*" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "peer": true + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/@types/jest": { + "version": "29.5.10", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", + "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/@types/jsonfile": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", + "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "peer": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "@types/node": "*" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "peer": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } + "node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "dev": true }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/@types/qs": { + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", + "dev": true }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", "dev": true }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/@types/react": { + "version": "18.2.39", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.39.tgz", + "integrity": "sha512-Oiw+ppED6IremMInLV4HXGbfbG6GyziY3kqAwJYOR0PNbkYDmLWQA3a95EhdSmamsvbkJN96ZNN+YD+fGjzSBA==", + "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "node_modules/@types/react-dom": { + "version": "18.2.17", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz", + "integrity": "sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==", + "dev": true, "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" + "@types/react": "*" } }, - "node_modules/command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "node_modules/@types/react-native": { + "version": "0.70.0", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.0.tgz", + "integrity": "sha512-yBN7qJDfs0Vwr34NyfW1SWzalHQoYtpUWf0t4UJY9C5ft58BRr46+r92I0v+l3QX4VNsSRMHVAAWqLLCbIkM+g==", + "dev": true, "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "engines": { - "node": ">=12.17" + "@types/react": "*" } }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "peer": true, + "dependencies": { + "@types/node": "*" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", "dev": true }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dev": true, - "engines": [ - "node >= 0.8" - ], "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "node_modules/@types/source-list-map": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", + "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==", "dev": true }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/@types/superagent": { + "version": "4.1.24", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.24.tgz", + "integrity": "sha512-mEafCgyKiMFin24SDzWN7yAADt4gt6YawFiNMp0QS5ZPboORfyxFt0s3VzJKhTaKg9py/4FUmrHLTNfJKt9Rbw==", "dev": true, "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" + "@types/cookiejar": "*", + "@types/node": "*" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/@types/supertest": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz", + "integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "@types/superagent": "*" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/@types/tar-stream": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-2.2.3.tgz", + "integrity": "sha512-if3mugZfjVkXOMZdFjIHySxY13r6GXPpyOlsDmLffvyI7tLz9wXE8BFjNivXsvUeyJ1KNlOpfLnag+ISmxgxPw==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "@types/node": "*" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, - "node_modules/cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "node_modules/@types/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==", "dev": true }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "node_modules/@types/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==", "dev": true, "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "node_modules/copy-concurrently/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, "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" + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "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" }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "object-assign": "^4", - "vary": "^1" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 0.10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "@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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "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" + "@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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "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" - }, - "engines": { - "node": "*" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } }, - "node_modules/cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "engines": { - "node": ">=0.10" + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "peer": true, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, + "engines": { + "node": ">=14.15.0" + }, "peerDependencies": { - "babel-plugin-macros": "^3.1.0" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" }, "peerDependenciesMeta": { - "babel-plugin-macros": { + "webpack-dev-server": { "optional": true } } }, - "node_modules/deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "dev": true, - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", "dev": true }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.5" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "peer": true, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "devOptional": true, - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 0.4" + "node": ">=0.4.0" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "devOptional": true, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.4.0" } }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, + "debug": "4" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 6.0.0" } }, - "node_modules/detect-newline": { + "node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "optional": true, - "peer": true + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } }, - "node_modules/dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" + "peerDependencies": { + "ajv": ">=5.0.0" } }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "dev": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=0.3.1" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "node": ">=8" } }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "webidl-conversions": "^7.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "dev": true }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", "dev": true }, - "node_modules/electron": { - "version": "26.4.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", - "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", - "hasInstallScript": true, - "peer": true, - "dependencies": { - "@electron/get": "^2.0.0", - "@types/node": "^18.11.18", - "extract-zip": "^2.0.1" - }, - "bin": { - "electron": "cli.js" - }, - "engines": { - "node": ">= 12.20.55" - } + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.560", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.560.tgz", - "integrity": "sha512-HhJH/pWAxTaPZl7R3mJ6gCd8MfjQdil9RAWk84qHaLsmPTadydfAmq0a1x8kZtOGQ6pZrWhOYj5uZ8I0meZIgg==" + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, - "node_modules/electron/node_modules/@types/node": { - "version": "18.18.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", - "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", - "peer": true + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, "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" + "deep-equal": "^2.0.5" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "engines": { + "node": ">=6" } }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, + "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" + }, "engines": { - "node": ">=0.12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "peer": true, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, "dependencies": { - "prr": "~1.0.1" + "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" }, - "bin": { - "errno": "cli.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/error-ex": { + "node_modules/array.prototype.flat": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-abstract": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", - "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "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" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5762,346 +6007,294 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "dev": true, "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" } }, - "node_modules/es-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "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" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "dependencies": { - "has": "^1.0.3" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "object.assign": "^4.1.4", + "util": "^0.10.4" } }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "optional": true, - "peer": true + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "hasInstallScript": true, - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, "engines": { - "node": ">=12" - }, - "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" + "node": ">=0.10.0" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "node_modules/ast-types/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "devOptional": true, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "atob": "bin/atob.js" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">= 4.5.0" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", "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" - }, - "bin": { - "eslint": "bin/eslint.js" + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "@babel/core": "^7.8.0" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { - "debug": "^3.2.7" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">=8" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "ms": "^2.1.1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "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" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", @@ -6110,584 +6303,676 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@babel/helper-define-polyfill-provider": "^0.4.3" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", + "dev": true }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "@babel/plugin-syntax-flow": "^7.12.1" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" }, - "engines": { - "node": ">=0.10" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "estraverse": "^5.2.0" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true, "engines": { - "node": ">=0.8.x" + "node": ">=8" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "file-uri-to-path": "1.0.0" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "ms": "2.0.0" } }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "optional": true, + "peer": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "ms": "2.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "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" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/browserify-sign": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "pako": "~1.0.5" } }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "dependencies": { - "@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" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" + "node-int64": "^0.4.0" } }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "dependencies": { - "ms": "2.0.0" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "streamsearch": "^1.1.0" }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, "engines": { "node": ">= 0.8" } }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/cacache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "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" }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "yallist": "^3.0.2" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=10.6.0" } }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", "peer": true, "dependencies": { - "debug": "^4.1.1", + "clone-response": "^1.0.2", "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" }, "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "node": ">=8" } }, - "node_modules/extract-zip/node_modules/get-stream": { + "node_modules/cacheable-request/node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", @@ -6702,1305 +6987,1347 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, - "engines": { - "node": ">=8.6.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "callsites": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "dev": true, "engines": { - "node": ">= 4.9.1" + "node": ">=4" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "dependencies": { - "bser": "2.1.1" + "engines": { + "node": ">=6" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dependencies": { - "pend": "~1.2.0" + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true + "node_modules/caniuse-lite": { + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "flat-cache": "^3.0.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dependencies": { + "chalk": "^4.1.2" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "optional": true, "dependencies": { - "ms": "2.0.0" + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "engines": { - "node": ">=6" + "node": ">=6.0" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, "engines": { "node": ">=6" } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/find-cache-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "array-back": "^3.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, - "bin": { - "flat": "cli.js" + "engines": { + "node": ">=0.8" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=6" } }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "peer": true, "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" - }, - "engines": { - "node": "*" + "mimic-response": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=7.0.0" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", - "dev": true, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "dezalgo": "^1.0.4", - "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" + "delayed-stream": "~1.0.0" }, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dependencies": { - "map-cache": "^0.2.2" + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, + "node_modules/command-line-usage": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", + "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", + "dependencies": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^3.0.0", + "typical": "^7.1.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=12.20.0" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", "engines": { - "node": ">=14.14" + "node": ">=12.17" } }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "engines": { + "node": "^12.20.0 || >=14" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "devOptional": true, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 0.8" } }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "devOptional": true, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ms": "2.0.0" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "engines": { - "node": ">=8.0.0" + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10.0" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.6" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.6" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/copy-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "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" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/global-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", - "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", - "optional": true, - "peer": true, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "dependencies": { - "boolean": "^3.0.1", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" + "glob": "^7.1.3" }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, "engines": { - "node": ">=10.0" + "node": ">=0.10.0" } }, - "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/core-js-compat": { + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", + "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "browserslist": "^4.22.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/globalthis": { + "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "devOptional": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "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" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "devOptional": true, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "sprintf-js": "~1.0.2" } }, - "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "peer": true, + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "devOptional": true, "engines": { - "node": ">= 0.4.0" + "node": ">=4" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/has-flag": { + "node_modules/cosmiconfig/node_modules/parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "devOptional": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "devOptional": true, + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/has-symbols": { + "node_modules/cosmiconfig/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "devOptional": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { - "is-buffer": "^1.1.5" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "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" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "cssom": "~0.3.6" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "engines": { + "node": ">=0.10" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "dependencies": { - "whatwg-encoding": "^2.0.0" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "peer": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "peer": true + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/decompress-tar/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/decompress-tar/node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.8.0" } }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "peer": true, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, "engines": { - "node": ">=10.19.0" + "node": ">=4" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, "engines": { - "node": ">=10.17.0" + "node": ">=4" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "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.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { + "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "clone": "^1.0.2" }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "peer": true, "engines": { - "node": ">= 0.10" + "node": ">=10" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "devOptional": true, "dependencies": { - "kind-of": "^6.0.0" + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "devOptional": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -8009,2121 +8336,1979 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "optional": true, "dependencies": { - "binary-extensions": "^2.0.0" + "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" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.4" + "bin": { + "rimraf": "bin.js" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", "dev": true }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "node_modules/deprecated-react-native-prop-types": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.2.3.tgz", + "integrity": "sha512-2rLTiMKidIFFYpIVM69UnQKngLqQfL6I11Ch8wGSBftS18FUXda+o2we2950X+1dmbgps28niI3qwyH4eX3Z1g==", "dev": true, "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@react-native/normalize-colors": "<0.73.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "optional": true, + "peer": true + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "asap": "^2.0.0", + "wrappy": "1" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" + "node": ">=0.3.1" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "path-type": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6.0.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron": { + "version": "26.6.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-26.6.1.tgz", + "integrity": "sha512-4Vz9u0Jt/khPa/en2l8Jv6SWEfsK/ieWYtchl5j0clbNSjdeTucnEFOhz9B9WwsAmfQjxBnpuMZpmdBuyxq+wg==", + "hasInstallScript": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2" + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 12.20.55" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, + "node_modules/electron-to-chromium": { + "version": "1.4.595", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.595.tgz", + "integrity": "sha512-+ozvXuamBhDOKvMNUQvecxfbyICmIAwS4GpLmR0bsiSBlGnLaOcs2Cj7J8XSbW+YEaN3Xl3ffgpm+srTUWFwFQ==" + }, + "node_modules/electron/node_modules/@types/node": { + "version": "18.18.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.13.tgz", + "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", + "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "undici-types": "~5.26.4" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "dependencies": { - "which-typed-array": "^1.1.11" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 4" } }, - "node_modules/is-weakref": { + "node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "once": "^1.4.0" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "node_modules/envinfo": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "prr": "~1.0.1" }, - "engines": { - "node": ">=10" + "bin": { + "errno": "cli.js" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "stackframe": "^1.3.4" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", "dev": true, "dependencies": { - "semver": "^7.5.3" + "accepts": "~1.3.7", + "escape-html": "~1.0.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "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.13.1", + "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.13" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "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" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "engines": { - "node": ">=6" + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "dependencies": { - "@isaacs/cliui": "^8.0.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true, + "peer": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "peer": true, "bin": { - "jest": "bin/jest.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=12" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "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" } }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "devOptional": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.54.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" + "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" }, "bin": { - "jest": "bin/jest.js" + "eslint": "bin/eslint.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "node": ">=4" }, "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { + "eslint": { "optional": true } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, "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" + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" }, "engines": { - "node": "*" + "node": ">=6.5.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" } }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.0" } }, - "node_modules/jest-config/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/eslint-plugin-ft-flow": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", + "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.22.0" + }, + "peerDependencies": { + "@babel/eslint-parser": "^7.12.0", + "eslint": "^8.1.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint-plugin-import": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "ms": "^2.1.1" } }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint-plugin-jest": { + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@typescript-eslint/utils": "^5.10.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/jest-each/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/eslint-plugin-local-rules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", + "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", "dev": true }, - "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.0.0" }, "peerDependencies": { - "canvas": "^2.5.0" + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" }, "peerDependenciesMeta": { - "canvas": { + "eslint-config-prettier": { "optional": true } } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-extended": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.2.tgz", - "integrity": "sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==", + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dev": true, "dependencies": { - "jest-diff": "^29.0.0", - "jest-get-type": "^29.0.0" + "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" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" }, "peerDependencies": { - "jest": ">=27.2.5" - }, - "peerDependenciesMeta": { - "jest": { - "optional": true - } + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "node_modules/eslint-plugin-react-native": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz", + "integrity": "sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "eslint-plugin-react-native-globals": "^0.1.1" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "peerDependencies": { + "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4.0" } }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "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" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" + "estraverse": "^5.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "engines": { + "node": ">=4.0" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0" } }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.8.x" } }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^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", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, - "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" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "is-descriptor": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@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" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "devOptional": true + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">= 0.8" } }, - "node_modules/jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, "dependencies": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jsonc/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/jsonc/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "is-descriptor": "^1.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": { - "json-buffer": "3.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, "engines": { - "node": ">=6" + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "pump": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" - } + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=6" + "node": ">=8.6.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/fast-xml-parser": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "strnum": "^1.0.5" }, "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "peer": true, - "engines": { - "node": ">=8" + "fxparser": "src/cli/cli.js" } }, - "node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, "engines": { - "node": "14 || >=16.14" + "node": ">= 4.9.1" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, - "bin": { - "lz-string": "bin/bin.js" + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" + "bser": "2.1.1" } }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "tmpl": "1.0.5" + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/map-visit": { + "node_modules/file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "object-visit": "^1.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "optional": true, - "peer": true, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, "dependencies": { - "escape-string-regexp": "^4.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "ms": "2.0.0" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "p-try": "^2.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "p-limit": "^2.0.0" }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "engines": { + "node": ">=6" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "bin": { - "mime": "cli.js" - }, "engines": { "node": ">=4" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/find-cache-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "dependencies": { - "mime-db": "1.52.0" + "find-up": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "engines": { - "node": ">=6" + "bin": { + "semver": "bin/semver" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "peer": true, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dependencies": { + "array-back": "^3.0.1" + }, "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "engines": { - "node": ">=16 || 14 >=14.17" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" + "bin": { + "flat": "cli.js" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/move-concurrently/node_modules/glob": { + "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", @@ -10143,404 +10328,303 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true }, - "node_modules/multer": { - "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", - "dev": true, - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } + "node_modules/flow-enums-runtime": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==", + "dev": true }, - "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "node_modules/flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=0.4.0" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/native-reg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", - "hasInstallScript": true, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "dependencies": { - "node-gyp-build": "4" + "is-callable": "^1.1.3" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/nock": { - "version": "13.3.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.6.tgz", - "integrity": "sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==", - "dev": true, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "propagate": "^2.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 10.13" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "whatwg-url": "^5.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/node-libs-browser/node_modules/isarray": { + "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "peer": true, - "engines": { - "node": ">=10" - }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "devOptional": true, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "devOptional": true, "dependencies": { - "kind-of": "^3.0.2" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", - "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "get-intrinsic": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -10549,177 +10633,135 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "devOptional": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.13.0" } }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" - } + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "balanced-match": "^1.0.0" } }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "optional": true, + "peer": true, "dependencies": { - "ee-first": "1.1.1" + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" + "node": ">=10.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "devOptional": true, "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" + "define-properties": "^1.1.3" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "peer": true, - "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "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" }, "engines": { "node": ">=10" @@ -10728,1287 +10770,1212 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "devOptional": true, + "dependencies": { + "get-intrinsic": "^1.1.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "peer": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parent-module": { + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "devOptional": true, "dependencies": { - "callsites": "^3.0.0" + "get-intrinsic": "^1.2.2" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "devOptional": true, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "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" + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "devOptional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { - "@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" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "dependencies": { - "entities": "^4.4.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "optional": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/path-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "devOptional": true, "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" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=0.12" + "node": ">= 0.4" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "node_modules/hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", + "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "dependencies": { + "hermes-estree": "0.12.0" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", "dev": true, + "dependencies": { + "source-map": "^0.7.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "peer": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "peer": true, "dependencies": { - "p-locate": "^4.1.0" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.19.0" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { - "node": ">=8" + "node": ">=10.17.0" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "consulting", + "url": "https://feross.org/support" } - ], - "peer": true, - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } + ] }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">= 4" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", "dev": true, - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "queue": "6.0.2" }, - "engines": { - "node": ">=10.13.0" + "bin": { + "image-size": "bin/image-size.js" }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "dev": true, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { - "node": ">= 0.6.0" + "node": ">=0.8.19" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "peer": true, - "engines": { - "node": ">=0.4.0" + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "node_modules/propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=10.13.0" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" + "loose-envify": "^1.0.0" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "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" + "engines": { + "node": ">= 0.10" } }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.6" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "peer": true, - "engines": { - "node": ">=10" + "dependencies": { + "has-bigints": "^1.0.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/randombytes": { + "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "optional": true, "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, + "binary-extensions": "^2.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" + "node": ">= 0.4" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "react": "^18.2.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, - "optional": true, "dependencies": { - "picomatch": "^2.2.1" + "hasown": "^2.0.0" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.4" } }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "dependencies": { - "resolve": "^1.20.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "dependencies": { - "@babel/runtime": "^7.9.2" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true, - "peerDependencies": { - "redux": "^4" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "peer": true - }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "optional": true + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/is-git-dirty": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-git-dirty/-/is-git-dirty-2.0.2.tgz", + "integrity": "sha512-U3YCo+GKR/rDsY7r0v/LBICbQwsx859tDQnAT+v0E/zCDeWbQ1TUt1FtyExeyik7VIJlYOLHCIifLdz71HDalg==", "dev": true, + "dependencies": { + "execa": "^4.0.3", + "is-git-repository": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/is-git-dirty/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "peer": true - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/is-git-dirty/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { - "resolve-from": "^5.0.0" + "pump": "^3.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/is-git-dirty/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=8.12.0" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/is-git-dirty/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "node_modules/is-git-dirty/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "node_modules/is-git-repository": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-git-repository/-/is-git-repository-2.0.0.tgz", + "integrity": "sha512-HDO50CG5suIAcmqG4F1buqVXEZRPn+RaXIn9pFKq/947FBo2bCRwK7ZluEVZOy99a4IQyqsjbKEpAiOXCccOHQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "execa": "^4.0.3", + "is-absolute": "^1.0.0" } }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "peer": true, + "node_modules/is-git-repository/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, "dependencies": { - "lowercase-keys": "^2.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/is-git-repository/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=0.12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/is-git-repository/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=8.12.0" } }, - "node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "node_modules/is-git-repository/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } + "node_modules/is-git-repository/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/roarr": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", - "optional": true, - "peer": true, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8.0" + "node": ">=0.10.0" } }, - "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "peer": true, - "bin": { - "rollup": "dist/bin/rollup" - }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "dependencies": { - "aproba": "^1.1.1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "peer": true, - "dependencies": { - "tslib": "^2.1.0" + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - }, - "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.4" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { - "ret": "~0.1.10" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "dependencies": { - "xmlchars": "^2.2.0" + "is-unc-path": "^1.0.0" }, "engines": { - "node": ">=v12.22.7" + "node": ">=0.10.0" } }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "peer": true, "dependencies": { - "loose-envify": "^1.1.0" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "commander": "^2.8.1" + "has-symbols": "^1.0.2" }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "devOptional": true, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "which-typed-array": "^1.1.11" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semver-compare": { + "node_modules/is-unc-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "optional": true, - "peer": true - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, "dependencies": { - "yallist": "^4.0.0" + "unc-path-regex": "^0.1.2" }, "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "optional": true, - "peer": true, - "dependencies": { - "type-fest": "^0.13.1" - }, "engines": { "node": ">=10" }, @@ -12016,1353 +11983,1491 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serialize-error/node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dependencies": { - "randombytes": "^2.1.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, - "bin": { - "sha.js": "bin.js" + "engines": { + "node": ">=10" } }, - "node_modules/shallow-clone": { + "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "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" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { - "kind-of": "^3.2.0" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" + "node": ">=14" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "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" + }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "peer": true, - "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } + "node_modules/jest-config/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "extend-shallow": "^3.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "optional": true, - "peer": true + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "dependencies": { - "figgy-pudding": "^3.5.1" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/jest-each/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/jest-extended": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.2.tgz", + "integrity": "sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "jest": ">=27.2.5" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + } } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "internal-slot": "^1.0.4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/streamx": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "@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" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "is-natural-number": "^4.0.1" + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "peer": true, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, "dependencies": { - "debug": "^4.1.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^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", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">= 8.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.4", - "debug": "^4.3.4", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", - "methods": "^1.1.2", - "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" - }, "engines": { - "node": ">=6.4.0 <13 || >=14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/superagent/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=4.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/supertest": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", - "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { - "methods": "^1.1.2", - "superagent": "^8.0.5" + "@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" }, "engines": { - "node": ">=6.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", - "dependencies": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "bin": { - "table-layout": "bin/cli.js" - }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, "engines": { - "node": ">=12.17" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/table-layout/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=12.17" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/table-layout/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "engines": { - "node": ">=12.17" - } + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "node_modules/jetifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-2.0.0.tgz", + "integrity": "sha512-J4Au9KuT74te+PCCCHKgAjyLlEa+2VyIAEPNCdE5aNkAJ6FAJcAqcdzEkSnzNksIa9NkGmC4tPiClk2e7tCJuQ==", + "dev": true, + "optional": true, + "bin": { + "jetifier": "bin/jetify", + "jetifier-standalone": "bin/jetifier-standalone", + "jetify": "bin/jetify" } }, - "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 10.13.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", + "dev": true + }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "dev": true + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, - "engines": { - "node": ">=10" + "bin": { + "jscodeshift": "bin/jscodeshift.js" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/jscodeshift/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "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.2", + "parse5": "^7.1.1", + "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": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "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" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=4" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/to-arraybuffer": { + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "devOptional": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, + "node_modules/jsonc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", + "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", "dependencies": { - "kind-of": "^3.0.2" + "fast-safe-stringify": "^2.0.6", + "graceful-fs": "^4.1.15", + "mkdirp": "^0.5.1", + "parse-json": "^4.0.0", + "strip-bom": "^4.0.0", + "strip-json-comments": "^3.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, + "node_modules/jsonc/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dependencies": { - "is-buffer": "^1.1.5" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/jsonc/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { - "node": ">=8.0" + "node": ">=4.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { - "node": ">=0.6" + "node": ">=0.10.0" } }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, "engines": { "node": ">=6" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">=6" } }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { - "punycode": "^2.1.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" } }, - "node_modules/ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "node": ">=8.9.0" } }, - "node_modules/ts-jest/node_modules/json5": { + "node_modules/loader-utils/node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", @@ -13374,7199 +13479,7353 @@ "node": ">=6" } }, - "node_modules/ts-loader": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", - "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=10" }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ts-loader-webpack-4": { - "name": "ts-loader", - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "*" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, - "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } + "node_modules/lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" }, - "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/ts-loader-webpack-4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", "dev": true, "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" + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" }, "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "logkitty": "bin/logkitty.js" } }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/logkitty/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "tslib": "^1.8.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">=8" } }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1" + "p-locate": "^4.1.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "p-limit": "^2.2.0" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "node_modules/logkitty/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "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" + "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" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { - "node": ">=14.17" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", - "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/uid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "@lukeed/csprng": "^1.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "engines": { + "node": "14 || >=16.14" } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" + "bin": { + "lz-string": "bin/bin.js" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "pify": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" + "tmpl": "1.0.5" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/unset-value": { + "node_modules/map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "peer": true, "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "escape-string-regexp": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", "dev": true }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "optional": true, "engines": { - "node": ">=4", - "yarn": "*" + "node": ">= 8" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/metro": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", + "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", + "dev": true, "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-file-map": "0.76.8", + "metro-inspector-proxy": "0.76.8", + "metro-minify-terser": "0.76.8", + "metro-minify-uglify": "0.76.8", + "metro-react-native-babel-preset": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "metro-symbolicate": "0.76.8", + "metro-transform-plugins": "0.76.8", + "metro-transform-worker": "0.76.8", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" }, "bin": { - "update-browserslist-db": "cli.js" + "metro": "src/cli.js" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">=16" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/metro-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", + "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", + "dev": true, "dependencies": { - "punycode": "^2.1.0" + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "node_modules/metro-cache": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", + "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", "dev": true, "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.2" + "metro-core": "0.76.8", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=16" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "node_modules/metro-cache-key": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", + "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "engines": { + "node": ">=16" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/url/node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "node_modules/metro-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "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" }, "engines": { - "node": ">=0.6" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "node_modules/metro-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/metro-config": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", + "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", "dev": true, "dependencies": { - "inherits": "2.0.3" + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.8", + "metro-cache": "0.76.8", + "metro-core": "0.76.8", + "metro-runtime": "0.76.8" + }, + "engines": { + "node": ">=16" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/metro-core": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", + "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", "dev": true, + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.8" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=16" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "node_modules/metro-file-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", + "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", + "dev": true, + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } }, - "node_modules/v8-to-istanbul": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", - "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "node_modules/metro-file-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=10.12.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/metro-file-map/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@types/yargs-parser": "*" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-file-map/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", - "peer": true, + "node_modules/metro-file-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "node_modules/metro-file-map/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { - "xml-name-validator": "^4.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=14" + "node": ">= 10.13.0" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro-file-map/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "makeerror": "1.0.12" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "node_modules/metro-inspector-proxy": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", + "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", + "dev": true, "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "node_modules/metro-inspector-proxy/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "optional": true, "dependencies": { - "chokidar": "^2.1.8" + "ms": "2.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "node_modules/metro-inspector-proxy/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/metro-minify-terser": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", + "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", "dev": true, - "optional": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "terser": "^5.15.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "node_modules/metro-minify-uglify": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", + "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", "dev": true, - "optional": true, + "dependencies": { + "uglify-es": "^3.1.9" + }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", "dev": true, - "optional": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" } }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/metro-react-native-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", + "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", "dev": true, - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.8", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" } }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "node_modules/metro-resolver": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", + "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", "dev": true, - "optional": true, "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "engines": { + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", "dev": true, - "optional": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "node_modules/metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">= 4.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "node_modules/metro-transform-plugins": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", + "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", "dev": true, - "optional": true, "dependencies": { - "is-extglob": "^2.1.0" + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "node_modules/metro-transform-worker": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", + "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", "dev": true, - "optional": true, "dependencies": { - "binary-extensions": "^1.0.0" + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.8", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-source-map": "0.76.8", + "metro-transform-plugins": "0.76.8", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/metro/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "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" }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/metro/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "optional": true, "dependencies": { - "is-buffer": "^1.1.5" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0" } }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/metro/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "optional": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "glob": "^7.1.3" }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/metro/node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/metro/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "optional": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "node_modules/metro/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, "engines": { - "node": ">=12" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "node": ">=8.6" } }, - "node_modules/webpack-4": { - "name": "webpack", - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, "bin": { - "webpack": "bin/webpack.js" + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "engines": { + "node": ">= 0.6" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "engines": { + "node": ">=6" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "peer": true, + "engines": { + "node": ">=4" + } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, - "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/move-concurrently/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack-4/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" + "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" }, "engines": { - "node": ">=0.4.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-4/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "glob": "^7.1.3" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multer": { + "version": "1.4.4-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", + "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6.0.0" } }, - "node_modules/webpack-4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=6.9.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, + "node_modules/native-reg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", + "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", + "hasInstallScript": true, "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" + "node-gyp-build": "4" } }, - "node_modules/webpack-4/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=12.0.0" } }, - "node_modules/webpack-4/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/nock": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.4.0.tgz", + "integrity": "sha512-W8NVHjO/LCTNA64yxAPHV/K47LpGYcVzgKd3Q0n6owhwvD0Dgoterc25R4rnZbckJEb6Loxz1f5QMuJpJnbSyQ==", "dev": true, + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "propagate": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13" } }, - "node_modules/webpack-4/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "minimatch": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10.5" } }, - "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/webpack-4/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/webpack-4/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "node_modules/node-gyp-build": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", + "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "node_modules/webpack-4/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/webpack-4/node_modules/schema-utils": { + "node_modules/node-libs-browser/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "engines": { + "node": ">=0.12.0" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/webpack-4/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/webpack-4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/webpack-4/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "is-buffer": "^1.1.5" }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/webpack-4/node_modules/webpack": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=6.11.5" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-4/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "devOptional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=14.15.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, "engines": { - "node": ">=14" + "node": ">= 0.4" } }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" } }, - "node_modules/webpack-sources-webpack-4": { - "name": "webpack-sources", - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "dev": true, "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-sources-webpack-4/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "dependencies": { - "iconv-lite": "0.6.3" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" + "wrappy": "1" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">= 8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", "dev": true, "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-wsl": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "@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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "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" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, - "node_modules/wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "peer": true, "engines": { - "node": ">=12.17" + "node": ">=8" } }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "errno": "~0.1.7" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "aggregate-error": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "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" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" + "entities": "^4.4.0" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } + "optional": true }, - "node_modules/xml-name-validator": { + "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { - "node": ">=0.4" + "node": ">=0.10.0" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "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" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/path-to-regexp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "engines": { - "node": ">=8" + "node": ">=0.12" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "packages/browser": { - "name": "@backtrace/browser", - "version": "0.1.0", - "license": "MIT", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, "dependencies": { - "@backtrace/sdk-core": "^0.1.0", - "ua-parser-js": "^1.0.35" + "pinkie": "^2.0.0" }, - "devDependencies": { - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" + "engines": { + "node": ">=0.10.0" } }, - "packages/electron": { - "name": "@backtrace/electron", - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "@backtrace/node": "^0.1.3" - }, - "peerDependencies": { - "electron": "12 - 26" + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" } }, - "packages/nestjs": { - "name": "@backtrace/nestjs", - "version": "0.1.1", - "license": "MIT", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, "dependencies": { - "@backtrace/node": "^0.1.0" - }, - "devDependencies": { - "@nestjs/core": "^10", - "@nestjs/platform-express": "^10", - "@nestjs/testing": "^10", - "@types/express": "^4.17.18", - "@types/jest": "^29.5.1", - "@types/supertest": "^2.0.13", - "jest": "^29.5.0", - "supertest": "^6.3.3", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" + "find-up": "^4.0.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@nestjs/common": "^9 || ^10" + "node": ">=8" } }, - "packages/nestjs/node_modules/@nestjs/core": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.2.8.tgz", - "integrity": "sha512-9+MZ2s8ixfY9Bl/M9ofChiyYymcwdK9ZWNH4GDMF7Am7XRAQ1oqde6MYGG05rhQwiVXuTwaYLlXciJKfsrg5qg==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.6.2", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/microservices": "^10.0.0", - "@nestjs/platform-express": "^10.0.0", - "@nestjs/websockets": "^10.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "packages/nestjs/node_modules/@nestjs/platform-express": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.2.8.tgz", - "integrity": "sha512-WoSSVtwIRc5AdGMHWVzWZK4JZLT0f4o2xW8P9gQvcX+omL8W1kXCfY8GQYXNBG84XmBNYH8r0FtC8oMe/lH5NQ==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.18.2", - "multer": "1.4.4-lts.1", - "tslib": "2.6.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" + "p-locate": "^4.1.0" }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/core": "^10.0.0" + "engines": { + "node": ">=8" } }, - "packages/nestjs/node_modules/@nestjs/testing": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.2.8.tgz", - "integrity": "sha512-9Kj5IQhM67/nj/MT6Wi2OmWr5YQnCMptwKVFrX1TDaikpY12196v7frk0jVjdT7wms7rV07GZle9I2z0aSjqtQ==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "tslib": "2.6.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" + "p-try": "^2.0.0" }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/core": "^10.0.0", - "@nestjs/microservices": "^10.0.0", - "@nestjs/platform-express": "^10.0.0" + "engines": { + "node": ">=6" }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/nestjs/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "packages/node": { - "name": "@backtrace/node", - "version": "0.1.3", - "license": "MIT", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "@backtrace/sdk-core": "^0.1.0", - "form-data": "^4.0.0", - "native-reg": "^1.1.1" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=14" + "node": ">=8" } }, - "packages/react": { - "name": "@backtrace/react", - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "@backtrace/browser": "^0.1.0", - "@backtrace/sdk-core": "^0.1.0" - }, - "devDependencies": { - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - }, - "peerDependencies": { - "react": ">=16.8.0" + "node_modules/pod-install": { + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/pod-install/-/pod-install-0.1.39.tgz", + "integrity": "sha512-0kVvdLYe0CtfJEr+ISvTMxAEB0UF4JMRToPjuu9xAAq1mEqA2Ql5u7uLWX1m45BMM+7NfU4LnBbnfNjmQE9GCw==", + "dev": true, + "bin": { + "pod-install": "build/index.js" } }, - "packages/react-native": { - "name": "@backtrace/react-native", - "version": "0.1.0", - "license": "MIT", + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, "dependencies": { - "@backtrace/sdk-core": "^0.1.0" - }, - "devDependencies": { - "@react-native-community/eslint-config": "^3.0.2", - "@types/jest": "^29.5.5", - "@types/react": "~17.0.21", - "@types/react-native": "0.70.0", - "jest": "^29.7.0", - "pod-install": "^0.1.0", - "prettier": "^2.0.5", - "react": "18.2.0", - "react-native": "^0.72.4", - "react-native-builder-bob": "^0.21.3", - "ts-jest": "^29.1.1", - "ts-loader": "^9.5.0", - "typescript": "^5.0.2" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">= 16.0.0" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "node": "^10 || ^12 || >=14" } }, - "packages/react-native/node_modules/@babel/eslint-parser": { - "version": "7.22.15", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + "node": ">=10.13.0" }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "packages/react-native/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "packages/react-native/node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=6.9.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "packages/react-native/node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", - "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" - }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/react-native/node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 0.6.0" } }, - "packages/react-native/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "dev": true, - "license": "MIT", - "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" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "peer": true, + "engines": { + "node": ">=0.4.0" } }, - "packages/react-native/node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { - "version": "1.22.6", + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "asap": "~2.0.6" } }, - "packages/react-native/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.15", + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=6.9.0" + "node": ">= 6" } }, - "packages/react-native/node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "packages/react-native/node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 8" } }, - "packages/react-native/node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "license": "MIT", "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" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 0.10" } }, - "packages/react-native/node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "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" } }, - "packages/react-native/node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "dev": true, - "license": "MIT", + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "packages/react-native/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "packages/react-native/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] }, - "packages/react-native/node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.22.17", + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.22.5" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=0.6" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.4.x" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "inherits": "~2.0.3" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "peer": true, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "dev": true, - "license": "MIT", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "safe-buffer": "^5.1.0" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "packages/react-native/node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 0.6" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 0.8" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", + "node_modules/react-devtools-core": { + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz", + "integrity": "sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "shell-quote": "^1.6.1", + "ws": "^7" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=8.3.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "packages/react-native/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "react": "^18.2.0" } }, - "packages/react-native/node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/react-native": { + "version": "0.72.7", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.7.tgz", + "integrity": "sha512-dqVFojOO9rOvyFbbM3/v9/GJR355OSuBhEY4NQlMIRc2w0Xch5MT/2uPoq3+OvJ+5h7a8LFAco3fucSffG0FbA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.10", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-platform-ios": "11.3.10", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.7", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "^4.2.3", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "bin": { + "react-native": "cli.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=16" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "react": "18.2.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", + "node_modules/react-native-builder-bob": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/react-native-builder-bob/-/react-native-builder-bob-0.21.3.tgz", + "integrity": "sha512-ZlEXWzgIRfRvQEDEYnoTeJ2og5zDbORB0BMGzpE34TxO22+DZeXH4yFYUtZLrUxvUi5WVo/1V2sVjjnUNZL85Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/core": "^7.18.5", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/preset-env": "^7.18.2", + "@babel/preset-flow": "^7.17.12", + "@babel/preset-react": "^7.17.12", + "@babel/preset-typescript": "^7.17.12", + "browserslist": "^4.20.4", + "cosmiconfig": "^7.0.1", + "cross-spawn": "^7.0.3", + "dedent": "^0.7.0", + "del": "^6.1.1", + "fs-extra": "^10.1.0", + "glob": "^8.0.3", + "is-git-dirty": "^2.0.1", + "json5": "^2.2.1", + "kleur": "^4.1.4", + "prompts": "^2.4.2", + "which": "^2.0.2", + "yargs": "^17.5.1" + }, + "bin": { + "bob": "bin/bob" }, "engines": { - "node": ">=6.9.0" + "node": ">= 16.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optionalDependencies": { + "jetifier": "^2.0.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.15", + "node_modules/react-native-builder-bob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "balanced-match": "^1.0.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", + "node_modules/react-native-builder-bob/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@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" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "packages/react-native/node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", + "node_modules/react-native-builder-bob/node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/react-native-builder-bob/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "packages/react-native/node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.15", + "node_modules/react-native-builder-bob/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", + "node_modules/react-native-builder-bob/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6" } }, - "packages/react-native/node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.11", + "node_modules/react-native-builder-bob/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "dev": true, - "license": "MIT", - "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" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "node": ">=6" } }, - "packages/react-native/node_modules/@babel/plugin-transform-classes": { - "version": "7.22.15", + "node_modules/react-native-builder-bob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "MIT", "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" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "packages/react-native/node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", + "node_modules/react-native-builder-bob/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 6" } }, - "packages/react-native/node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.15", + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 10.14.2" } }, - "packages/react-native/node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/yargs-parser": "*" } }, - "packages/react-native/node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 10" } }, - "packages/react-native/node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "loose-envify": "^1.1.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", + "node_modules/react-native/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "async-limiter": "~1.0.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", + "node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.15", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "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" } }, - "packages/react-native/node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.11", + "node_modules/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "dev": true + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 4" } }, - "packages/react-native/node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", + "node_modules/recast/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "resolve": "^1.20.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 10.13.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/runtime": "^7.9.2" } }, - "packages/react-native/node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "redux": "^4" } }, - "packages/react-native/node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.15", + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "peer": true + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "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" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.11", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "license": "MIT", "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" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "packages/react-native/node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/runtime": "^7.8.4" } }, - "packages/react-native/node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@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" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "packages/react-native/node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" + "jsesc": "~0.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "regjsparser": "bin/parser" } }, - "packages/react-native/node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "jsesc": "bin/jsesc" } }, - "packages/react-native/node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10" } }, - "packages/react-native/node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.15", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", - "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" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.15", + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "resolve": "bin/resolve" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "peer": true + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "packages/react-native/node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", - "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" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "packages/react-native/node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "packages/react-native/node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "packages/react-native/node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "dev": true, - "license": "MIT", + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "peer": true, "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" - }, - "engines": { - "node": ">=6.9.0" + "lowercase-keys": "^2.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "packages/react-native/node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.12" } }, - "packages/react-native/node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", + "node_modules/rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" }, "engines": { - "node": ">=6.9.0" + "node": ">=14" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "packages/react-native/node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "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" + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.18.0", + "npm": ">=8.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "packages/react-native/node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "queue-microtask": "^1.2.2" } }, - "packages/react-native/node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "aproba": "^1.1.1" } }, - "packages/react-native/node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tslib": "^2.1.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", + "node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "peer": true + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=6.9.0" + "node": ">=0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "ret": "~0.1.10" } }, - "packages/react-native/node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.15", + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "xmlchars": "^2.2.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v12.22.7" } }, - "packages/react-native/node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "loose-envify": "^1.1.0" } }, - "packages/react-native/node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.13.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "packages/react-native/node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "commander": "^2.8.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" } }, - "packages/react-native/node_modules/@babel/preset-env": { - "version": "7.22.20", - "dev": true, - "license": "MIT", + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "devOptional": true, "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" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=10" } }, - "packages/react-native/node_modules/@babel/preset-flow": { - "version": "7.22.15", - "dev": true, - "license": "MIT", + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "optional": true, + "peer": true + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "devOptional": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "packages/react-native/node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">= 0.8.0" } }, - "packages/react-native/node_modules/@babel/preset-react": { - "version": "7.22.15", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "ms": "2.0.0" } }, - "packages/react-native/node_modules/@babel/preset-typescript": { - "version": "7.22.15", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "license": "MIT", - "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" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "packages/react-native/node_modules/@babel/register": { - "version": "7.22.15", - "dev": true, - "license": "MIT", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "peer": true, "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" + "type-fest": "^0.13.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/@babel/regjsgen": { - "version": "0.8.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@hapi/hoek": { - "version": "9.3.0", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "packages/react-native/node_modules/@hapi/topo": { - "version": "5.1.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dependencies": { - "@hapi/hoek": "^9.0.0" + "randombytes": "^2.1.0" } }, - "packages/react-native/node_modules/@jest/create-cache-key-function": { - "version": "29.7.0", + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "packages/react-native/node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "dev": true, - "license": "MIT", "dependencies": { - "eslint-scope": "5.1.1" + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "packages/react-native/node_modules/@react-native-community/cli": { - "version": "11.3.6", + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", "dev": true, - "license": "MIT", "dependencies": { - "@react-native-community/cli-clean": "11.3.6", - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-doctor": "11.3.6", - "@react-native-community/cli-hermes": "11.3.6", - "@react-native-community/cli-plugin-metro": "11.3.6", - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "@react-native-community/cli-types": "11.3.6", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", - "semver": "^7.5.2" - }, - "bin": { - "react-native": "build/bin.js" + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=16" + "node": ">= 0.4" } }, - "packages/react-native/node_modules/@react-native-community/cli-clean": { - "version": "11.3.6", + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, - "license": "MIT", "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "prompts": "^2.4.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/chalk": { - "version": "4.1.2", + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "sha.js": "bin.js" } }, - "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-clean/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { - "has-flag": "^4.0.0" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-config": { - "version": "11.3.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/chalk": { - "version": "4.1.2", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { - "node": ">=7.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, - "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-config/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "packages/react-native/node_modules/@react-native-community/cli-debugger-ui": { - "version": "11.3.6", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { - "serve-static": "^1.13.1" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor": { - "version": "11.3.6", + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "envinfo": "^7.7.2", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "prompts": "^2.4.0", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" + "color-name": "1.1.3" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { - "version": "4.1.1", + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/chalk": { - "version": "4.1.2", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "kind-of": "^3.2.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/semver": { - "version": "7.5.4", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "ms": "2.0.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-doctor/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/@react-native-community/cli-hermes": { - "version": "11.3.6", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.4" } }, - "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/chalk": { - "version": "4.1.2", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, - "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 8" } }, - "packages/react-native/node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android": { - "version": "11.3.6", + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "license": "MIT", "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1" + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { - "version": "4.1.2", + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "extend-shallow": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "optional": true, + "peer": true + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "figgy-pudding": "^3.5.1" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { - "version": "1.1.4", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "MIT" + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "type-fest": "^0.7.1" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios": { - "version": "11.3.6", + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "dev": true, - "license": "MIT", - "dependencies": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" + "engines": { + "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { - "version": "4.1.2", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "packages/react-native/node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "internal-slot": "^1.0.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro": { - "version": "11.3.6", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "license": "MIT", "dependencies": { - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "readline": "^1.3.0" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { - "version": "4.1.2", + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-read-all": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", + "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=10.0.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/streamx": { + "version": "2.15.5", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", + "integrity": "sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { - "version": "0.76.7", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=16" + "node": ">=10" } }, - "packages/react-native/node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { - "has-flag": "^4.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/@react-native-community/cli-server-api": { - "version": "11.3.6", - "dev": true, - "license": "MIT", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "7.5.9", - "dev": true, - "license": "MIT", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "node": ">=12" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools": { - "version": "11.3.6", - "dev": true, - "license": "MIT", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "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" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/chalk": { - "version": "4.1.2", + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli-tools/node_modules/yallist": { - "version": "4.0.0", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=4" + } }, - "packages/react-native/node_modules/@react-native-community/cli-types": { - "version": "11.3.6", + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, - "license": "MIT", "dependencies": { - "joi": "^17.2.1" + "is-natural-number": "^4.0.1" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "dev": true + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "debug": "^4.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 8.0" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.4.0 <13 || >=14" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/color-name": { - "version": "1.1.4", + "node_modules/supertest": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", "dev": true, - "license": "MIT" + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + }, + "engines": { + "node": ">=6.4.0" + } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table-layout": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", + "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", "dependencies": { - "p-locate": "^4.1.0" + "@75lb/deep-merge": "^1.1.1", + "array-back": "^6.2.2", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.0", + "stream-read-all": "^3.0.1", + "typical": "^7.1.1", + "wordwrapjs": "^5.1.0" + }, + "bin": { + "table-layout": "bin/cli.js" }, "engines": { - "node": ">=8" + "node": ">=12.17" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/table-layout/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", + "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "rimraf": "~2.6.2" }, "engines": { - "node": ">=10" + "node": ">=6.0.0" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/temp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "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" }, "engines": { - "node": ">=6" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, - "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", + "node_modules/terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", "dependencies": { - "lru-cache": "^6.0.0" + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, "bin": { - "semver": "bin/semver.js" + "terser": "bin/terser" }, "engines": { "node": ">=10" } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "packages/react-native/node_modules/@react-native-community/cli/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, - "packages/react-native/node_modules/@react-native-community/eslint-config": { - "version": "3.2.0", - "dev": true, - "license": "MIT", + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dependencies": { - "@babel/core": "^7.14.0", - "@babel/eslint-parser": "^7.18.2", - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.30.5", - "@typescript-eslint/parser": "^5.30.5", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-ft-flow": "^2.0.1", - "eslint-plugin-jest": "^26.5.3", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-native": "^4.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "peerDependencies": { - "eslint": ">=8", - "prettier": ">=2" + "engines": { + "node": ">= 10.13.0" } }, - "packages/react-native/node_modules/@react-native-community/eslint-plugin": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@react-native/assets-registry": { - "version": "0.72.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/@react-native/codegen": { - "version": "0.72.7", - "dev": true, - "license": "MIT", + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "jscodeshift": "^0.14.0", - "nullthrows": "^1.1.1" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "packages/react-native/node_modules/@react-native/gradle-plugin": { - "version": "0.72.11", - "dev": true, - "license": "MIT" + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, - "packages/react-native/node_modules/@react-native/js-polyfills": { - "version": "0.72.1", - "dev": true, - "license": "MIT" + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } }, - "packages/react-native/node_modules/@react-native/normalize-colors": { - "version": "0.72.0", - "dev": true, - "license": "MIT" + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "packages/react-native/node_modules/@react-native/virtualized-lists": { - "version": "0.72.8", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "MIT", "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, - "peerDependencies": { - "react-native": "*" + "engines": { + "node": ">=8" } }, - "packages/react-native/node_modules/@sideway/address": { - "version": "4.1.4", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^9.0.0" + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/react-native/node_modules/@sideway/formula": { - "version": "3.0.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "packages/react-native/node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, - "packages/react-native/node_modules/@types/node": { - "version": "20.6.2", - "dev": true, - "license": "MIT" + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true }, - "packages/react-native/node_modules/@types/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT" + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, - "packages/react-native/node_modules/@types/react": { - "version": "17.0.65", + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "packages/react-native/node_modules/@types/react-native": { - "version": "0.70.0", + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/react": "*" + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" } }, - "packages/react-native/node_modules/@types/scheduler": { - "version": "0.16.3", - "dev": true, - "license": "MIT" + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true }, - "packages/react-native/node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", - "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" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=4" } }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/@typescript-eslint/parser": { - "version": "5.62.0", + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, - "license": "BSD-2-Clause", "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" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "is-number": "^7.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8.0" } }, - "packages/react-native/node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=6" } }, - "packages/react-native/node_modules/@typescript-eslint/types": { - "version": "5.62.0", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, - "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=12" } }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, - "license": "BSD-2-Clause", "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" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" }, "peerDependenciesMeta": { - "typescript": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { "optional": true } } }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { - "node": ">=10" + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" } }, - "packages/react-native/node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", + "node_modules/ts-loader-webpack-4": { + "name": "ts-loader", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", + "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", "dev": true, - "license": "MIT", "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" + "chalk": "^4.1.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^2.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10.0.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "typescript": "*", + "webpack": "*" } }, - "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/ts-loader-webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" } }, - "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", + "node_modules/ts-loader-webpack-4/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "packages/react-native/node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", + "node_modules/ts-loader-webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=6" + } }, - "packages/react-native/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "dev": true, - "license": "MIT", + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@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" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "packages/react-native/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "packages/react-native/node_modules/abort-controller": { - "version": "3.0.0", + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, - "license": "MIT", "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "packages/react-native/node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, - "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "tslib": "^1.8.1" }, "engines": { - "node": ">=8" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "packages/react-native/node_modules/anser": { - "version": "1.4.10", - "dev": true, - "license": "MIT" + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true }, - "packages/react-native/node_modules/ansi-fragments": { - "version": "0.2.1", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "packages/react-native/node_modules/ansi-fragments/node_modules/ansi-regex": { - "version": "4.1.1", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "packages/react-native/node_modules/ansi-fragments/node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "packages/react-native/node_modules/appdirsjs": { - "version": "1.2.7", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/array.prototype.tosorted": { - "version": "1.1.2", + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, - "license": "MIT", "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" - } - }, - "packages/react-native/node_modules/ast-types": { - "version": "0.15.2", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "packages/react-native/node_modules/astral-regex": { + "node_modules/typed-array-byte-length": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, - "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/async": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/async-limiter": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/asynciterator.prototype": { + "node_modules/typed-array-byte-offset": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - } - }, - "packages/react-native/node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "packages/react-native/node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" + "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" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "packages/react-native/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "dev": true, - "license": "MIT" + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, - "packages/react-native/node_modules/babel-plugin-transform-flow-enums": { - "version": "0.0.2", + "node_modules/typescript": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-flow": "^7.12.1" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "packages/react-native/node_modules/babel-preset-fbjs": { - "version": "3.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "engines": { + "node": ">=8" } }, - "packages/react-native/node_modules/bl": { - "version": "4.1.0", + "node_modules/ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", "dev": true, - "license": "MIT", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "packages/react-native/node_modules/bytes": { - "version": "3.0.0", + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/caller-callsite": { - "version": "2.0.0", + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "license": "MIT", "dependencies": { - "callsites": "^2.0.0" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/caller-callsite/node_modules/callsites": { + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "peer": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, - "packages/react-native/node_modules/caller-path": { + "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { - "caller-callsite": "^2.0.0" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, - "packages/react-native/node_modules/clean-stack": { - "version": "2.2.0", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "packages/react-native/node_modules/cli-cursor": { - "version": "3.1.0", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "packages/react-native/node_modules/cli-spinners": { - "version": "2.9.1", + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/clone": { - "version": "1.0.4", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "unique-slug": "^2.0.0" } }, - "packages/react-native/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/colorette": { - "version": "1.4.0", + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, - "license": "MIT" + "dependencies": { + "imurmurhash": "^0.1.4" + } }, - "packages/react-native/node_modules/command-exists": { - "version": "1.2.9", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 10.0.0" + } }, - "packages/react-native/node_modules/commander": { - "version": "9.5.0", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, - "license": "MIT", "engines": { - "node": "^12.20.0 || >=14" + "node": ">= 0.8" } }, - "packages/react-native/node_modules/compressible": { - "version": "2.0.18", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, - "license": "MIT", "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/compression": { - "version": "1.7.4", + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, - "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/compression/node_modules/debug": { - "version": "2.6.9", + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/connect": { - "version": "3.7.0", + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, "engines": { - "node": ">= 0.10.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, - "packages/react-native/node_modules/connect/node_modules/ms": { - "version": "2.0.0", + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, - "license": "MIT" + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } }, - "packages/react-native/node_modules/core-js-compat": { - "version": "3.32.2", - "dev": true, - "license": "MIT", + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "browserslist": "^4.21.10" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "packages/react-native/node_modules/cosmiconfig": { - "version": "5.2.1", - "dev": true, - "license": "MIT", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" + "punycode": "^2.1.0" } }, - "packages/react-native/node_modules/cosmiconfig/node_modules/argparse": { - "version": "1.0.10", + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dev": true, - "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "punycode": "^1.4.1", + "qs": "^6.11.2" } }, - "packages/react-native/node_modules/cosmiconfig/node_modules/import-fresh": { - "version": "2.0.0", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "license": "MIT", "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "packages/react-native/node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/url/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dev": true, - "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "side-channel": "^1.0.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "packages/react-native/node_modules/cosmiconfig/node_modules/resolve-from": { - "version": "3.0.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/dayjs": { - "version": "1.11.9", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/decamelize": { - "version": "1.2.0", + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "packages/react-native/node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/defaults": { - "version": "1.0.4", + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "packages/react-native/node_modules/del": { - "version": "6.1.1", + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, - "license": "MIT", "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "inherits": "2.0.3" } }, - "packages/react-native/node_modules/denodeify": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/deprecated-react-native-prop-types": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" - } + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, - "packages/react-native/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true }, - "packages/react-native/node_modules/error-stack-parser": { - "version": "2.1.4", + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" + "engines": { + "node": ">= 0.4.0" } }, - "packages/react-native/node_modules/errorhandler": { - "version": "1.5.1", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, - "license": "MIT", "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10.12.0" } }, - "packages/react-native/node_modules/es-iterator-helpers": { - "version": "1.0.15", + "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, - "license": "MIT", "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" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "packages/react-native/node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">= 0.8" } }, - "packages/react-native/node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "dev": true, - "license": "MIT", + "node_modules/vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "peer": true, "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" }, - "engines": { - "node": ">=6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "packages/react-native/node_modules/eslint-plugin-ft-flow": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=12.22.0" + "node": "^14.18.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/eslint-parser": "^7.12.0", - "eslint": "^8.1.0" - } - }, - "packages/react-native/node_modules/eslint-plugin-jest": { - "version": "26.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "optionalDependencies": { + "fsevents": "~2.3.2" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { + "@types/node": { "optional": true }, - "jest": { + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { "optional": true } } }, - "packages/react-native/node_modules/eslint-plugin-prettier": { - "version": "4.2.1", + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, - "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "node": ">=14" } }, - "packages/react-native/node_modules/eslint-plugin-react": { - "version": "7.33.2", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "MIT", "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" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "makeerror": "1.0.12" } }, - "packages/react-native/node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "engines": { + "node": ">=10.13.0" } }, - "packages/react-native/node_modules/eslint-plugin-react-native": { - "version": "4.1.0", + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "eslint-plugin-react-native-globals": "^0.1.1" - }, - "peerDependencies": { - "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" + "chokidar": "^2.1.8" } }, - "packages/react-native/node_modules/eslint-plugin-react-native-globals": { - "version": "0.1.2", + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, - "license": "MIT" + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } }, - "packages/react-native/node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "license": "Apache-2.0", + "optional": true, "dependencies": { - "esutils": "^2.0.2" + "remove-trailing-separator": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "packages/react-native/node_modules/eslint-visitor-keys": { - "version": "2.1.0", + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, - "license": "Apache-2.0", + "optional": true, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/event-target-shim": { - "version": "5.0.1", + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" - }, - "packages/react-native/node_modules/fast-xml-parser": { - "version": "4.2.7", + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", + "optional": true, "dependencies": { - "strnum": "^1.0.5" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" }, - "bin": { - "fxparser": "src/cli/cli.js" + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "packages/react-native/node_modules/finalhandler": { - "version": "1.1.2", + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "packages/react-native/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/flow-enums-runtime": { - "version": "0.0.5", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/flow-parser": { - "version": "0.206.0", - "dev": true, - "license": "MIT", + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/fs-extra": { - "version": "8.1.0", + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/glob": { - "version": "7.2.3", + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, - "license": "ISC", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "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" - }, - "engines": { - "node": "*" + "bindings": "^1.5.0", + "nan": "^2.12.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 4.0" } }, - "packages/react-native/node_modules/hermes-estree": { - "version": "0.12.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/hermes-parser": { - "version": "0.12.0", + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "hermes-estree": "0.12.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "packages/react-native/node_modules/hermes-profile-transformer": { - "version": "0.0.6", + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "source-map": "^0.7.3" + "is-extglob": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/image-size": { - "version": "1.0.2", + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" + "binary-extensions": "^1.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "packages/react-native/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/invariant": { - "version": "2.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/ip": { - "version": "1.1.8", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/is-absolute": { - "version": "1.0.0", + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, + "optional": true, "engines": { "node": ">=0.10.0" } }, - "packages/react-native/node_modules/is-async-function": { - "version": "2.0.0", + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "kind-of": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-directory": { - "version": "0.3.1", - "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "packages/react-native/node_modules/is-finalizationregistry": { - "version": "1.0.2", + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.2" + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/is-generator-function": { - "version": "1.0.10", + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/is-git-dirty": { - "version": "2.0.2", + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "execa": "^4.0.3", - "is-git-repository": "^2.0.0" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10" } }, - "packages/react-native/node_modules/is-git-dirty/node_modules/execa": { - "version": "4.1.0", + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/is-git-dirty/node_modules/get-stream": { - "version": "5.2.0", + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, - "license": "MIT", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "defaults": "^1.0.3" } }, - "packages/react-native/node_modules/is-git-dirty/node_modules/human-signals": { - "version": "1.1.1", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=8.12.0" + "node": ">=12" } }, - "packages/react-native/node_modules/is-git-repository": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^4.0.3", - "is-absolute": "^1.0.0" - } - }, - "packages/react-native/node_modules/is-git-repository/node_modules/execa": { - "version": "4.1.0", - "dev": true, - "license": "MIT", + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "packages/react-native/node_modules/is-git-repository/node_modules/get-stream": { - "version": "5.2.0", + "node_modules/webpack-4": { + "name": "webpack", + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", "dev": true, - "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=8" + "node": ">=6.11.5" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "packages/react-native/node_modules/is-git-repository/node_modules/human-signals": { - "version": "1.1.1", + "node_modules/webpack-4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "packages/react-native/node_modules/is-interactive": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true }, - "packages/react-native/node_modules/is-path-cwd": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true }, - "packages/react-native/node_modules/is-relative": { - "version": "1.0.0", + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/webpack-4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, - "license": "MIT", "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "packages/react-native/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/webpack-4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@xtuc/ieee754": "^1.2.0" } }, - "packages/react-native/node_modules/is-unc-path": { - "version": "1.0.0", + "node_modules/webpack-4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, - "license": "MIT", "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" + "@xtuc/long": "4.2.2" } }, - "packages/react-native/node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/webpack-4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true }, - "packages/react-native/node_modules/iterator.prototype": { - "version": "1.1.2", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, - "license": "MIT", "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" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, - "packages/react-native/node_modules/jest-regex-util": { - "version": "27.5.1", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "packages/react-native/node_modules/jest-worker": { - "version": "27.5.1", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, - "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "packages/react-native/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/webpack-4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "packages/react-native/node_modules/jetifier": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "jetifier": "bin/jetify", - "jetifier-standalone": "bin/jetifier-standalone", - "jetify": "bin/jetify" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "packages/react-native/node_modules/joi": { - "version": "17.10.2", + "node_modules/webpack-4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "packages/react-native/node_modules/jsc-android": { - "version": "250231.0.0", - "dev": true, - "license": "BSD-2-Clause" - }, - "packages/react-native/node_modules/jsc-safe-url": { - "version": "0.2.4", - "dev": true, - "license": "0BSD" - }, - "packages/react-native/node_modules/jscodeshift": { - "version": "0.14.0", + "node_modules/webpack-4/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "packages/react-native/node_modules/jscodeshift/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" + "acorn": "bin/acorn" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.4.0" } }, - "packages/react-native/node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", + "node_modules/webpack-4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/jscodeshift/node_modules/color-convert": { + "node_modules/webpack-4/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/jscodeshift/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/webpack-4/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, - "packages/react-native/node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/webpack-4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "packages/react-native/node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/webpack-4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "packages/react-native/node_modules/json5": { - "version": "2.2.3", + "node_modules/webpack-4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=6" + "node": ">=4.0.0" } }, - "packages/react-native/node_modules/jsonfile": { + "node_modules/webpack-4/node_modules/fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "packages/react-native/node_modules/jsx-ast-utils": { - "version": "3.3.5", - "dev": true, - "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/lodash.debounce": { - "version": "4.0.8", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/lodash.throttle": { - "version": "4.1.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/log-symbols": { - "version": "4.1.0", + "node_modules/webpack-4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/webpack-4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", + "node_modules/webpack-4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/webpack-4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/webpack-4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "packages/react-native/node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/webpack-4/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" } }, - "packages/react-native/node_modules/logkitty": { - "version": "0.7.1", + "node_modules/webpack-4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, - "bin": { - "logkitty": "bin/logkitty.js" + "engines": { + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/logkitty/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/webpack-4/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 4" } }, - "packages/react-native/node_modules/logkitty/node_modules/cliui": { - "version": "6.0.0", + "node_modules/webpack-4/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "randombytes": "^2.1.0" } }, - "packages/react-native/node_modules/logkitty/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/logkitty/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/logkitty/node_modules/find-up": { - "version": "4.1.0", + "node_modules/webpack-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "packages/react-native/node_modules/logkitty/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/webpack-4/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, - "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "packages/react-native/node_modules/logkitty/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/webpack-4/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">=6" + "node": ">= 6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "webpack": "^4.0.0" } }, - "packages/react-native/node_modules/logkitty/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/webpack-4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/logkitty/node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/webpack-4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "packages/react-native/node_modules/logkitty/node_modules/y18n": { - "version": "4.0.3", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/logkitty/node_modules/yargs": { - "version": "15.4.1", + "node_modules/webpack-4/node_modules/webpack": { + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", "dev": true, - "license": "MIT", + "peer": true, "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" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=8" + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "packages/react-native/node_modules/logkitty/node_modules/yargs-parser": { - "version": "18.1.3", + "node_modules/webpack-4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "license": "ISC", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "packages/react-native/node_modules/make-dir": { - "version": "2.1.0", + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, - "license": "MIT", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "dev": true, - "license": "ISC", "bin": { - "semver": "bin/semver" - } - }, - "packages/react-native/node_modules/memoize-one": { - "version": "5.2.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/metro": { - "version": "0.76.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro": "src/cli.js" + "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=16" + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } } }, - "packages/react-native/node_modules/metro-babel-transformer": { - "version": "0.76.7", + "node_modules/webpack-cli/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">=16" + "node": ">=14" } }, - "packages/react-native/node_modules/metro-cache": { - "version": "0.76.7", + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, - "license": "MIT", "dependencies": { - "metro-core": "0.76.7", - "rimraf": "^3.0.2" + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" }, "engines": { - "node": ">=16" + "node": ">=10.0.0" } }, - "packages/react-native/node_modules/metro-cache-key": { - "version": "0.76.7", + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=16" + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" } }, - "packages/react-native/node_modules/metro-config": { - "version": "0.76.7", + "node_modules/webpack-sources-webpack-4": { + "name": "webpack-sources", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "license": "MIT", "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" - }, + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources-webpack-4/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">=16" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/metro-config/node_modules/metro-runtime": { - "version": "0.76.7", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">=16" + "node": ">=12" } }, - "packages/react-native/node_modules/metro-core": { - "version": "0.76.7", + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "license": "MIT", "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=16" + "node": ">=0.10.0" } }, - "packages/react-native/node_modules/metro-file-map": { - "version": "0.76.7", + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==", + "dev": true + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - }, "engines": { - "node": ">=16" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=12" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/@jest/types": { - "version": "27.5.1", + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.5", - "dev": true, - "license": "MIT", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "@types/yargs-parser": "*" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/chalk": { - "version": "4.1.2", + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true }, - "packages/react-native/node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", "engines": { - "node": ">=8" + "node": ">=12.17" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/jest-util": { - "version": "27.5.1", + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "packages/react-native/node_modules/metro-file-map/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "packages/react-native/node_modules/metro-file-map/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "has-flag": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "packages/react-native/node_modules/metro-inspector-proxy": { - "version": "0.76.7", - "dev": true, - "license": "MIT", - "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" }, - "bin": { - "metro-inspector-proxy": "src/cli.js" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "packages/react-native/node_modules/metro-inspector-proxy/node_modules/debug": { - "version": "2.6.9", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "packages/react-native/node_modules/metro-inspector-proxy/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "packages/react-native/node_modules/metro-inspector-proxy/node_modules/ws": { - "version": "7.5.9", + "node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -20577,17933 +20836,405 @@ } } }, - "packages/react-native/node_modules/metro-minify-terser": { - "version": "0.76.7", + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, - "license": "MIT", - "dependencies": { - "terser": "^5.15.0" - }, "engines": { - "node": ">=16" + "node": ">=12" } }, - "packages/react-native/node_modules/metro-minify-uglify": { - "version": "0.76.7", + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", - "dependencies": { - "uglify-es": "^3.1.9" - }, "engines": { - "node": ">=16" + "node": ">=0.4" } }, - "packages/react-native/node_modules/metro-react-native-babel-preset": { - "version": "0.76.7", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.4.0" - }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@babel/core": "*" + "node": ">=10" } }, - "packages/react-native/node_modules/metro-react-native-babel-transformer": { - "version": "0.76.7", + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "packages/react-native/node_modules/metro-resolver": { - "version": "0.76.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "packages/react-native/node_modules/metro-runtime": { - "version": "0.76.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - }, - "engines": { - "node": ">=16" + "node": ">= 14" } }, - "packages/react-native/node_modules/metro-source-map": { - "version": "0.76.8", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", - "nullthrows": "^1.1.1", - "ob1": "0.76.8", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "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" }, "engines": { - "node": ">=16" + "node": ">=12" } }, - "packages/react-native/node_modules/metro-source-map/node_modules/metro-symbolicate": { - "version": "0.76.8", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "MIT", - "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.8", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" - }, "engines": { - "node": ">=16" + "node": ">=12" } }, - "packages/react-native/node_modules/metro-source-map/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "packages/react-native/node_modules/metro-symbolicate": { - "version": "0.76.7", + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.7", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=16" + "node": ">=8" } }, - "packages/react-native/node_modules/metro-symbolicate/node_modules/metro-source-map": { - "version": "0.76.7", - "dev": true, - "license": "MIT", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - }, - "engines": { - "node": ">=16" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "packages/react-native/node_modules/metro-symbolicate/node_modules/ob1": { - "version": "0.76.7", + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "license": "MIT", "engines": { - "node": ">=16" + "node": ">=6" } }, - "packages/react-native/node_modules/metro-symbolicate/node_modules/source-map": { - "version": "0.5.7", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/react-native/node_modules/metro-transform-plugins": { - "version": "0.76.7", - "dev": true, + "packages/browser": { + "name": "@backtrace/browser", + "version": "0.1.0", "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" + "@backtrace/sdk-core": "^0.2.0", + "ua-parser-js": "^1.0.35" }, - "engines": { - "node": ">=16" + "devDependencies": { + "@reduxjs/toolkit": "^1.9.5", + "@types/jest": "^29.5.1", + "@types/ua-parser-js": "^0.7.36", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4" } }, - "packages/react-native/node_modules/metro-transform-worker": { - "version": "0.76.7", - "dev": true, + "packages/electron": { + "name": "@backtrace/electron", + "version": "0.1.0", "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", - "nullthrows": "^1.1.1" + "@backtrace/node": "^0.1.3" }, - "engines": { - "node": ">=16" + "peerDependencies": { + "electron": "12 - 26" } }, - "packages/react-native/node_modules/metro-transform-worker/node_modules/metro-source-map": { - "version": "0.76.7", - "dev": true, + "packages/nestjs": { + "name": "@backtrace/nestjs", + "version": "0.1.1", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "@backtrace/node": "^0.1.0" + }, + "devDependencies": { + "@nestjs/core": "^10", + "@nestjs/platform-express": "^10", + "@nestjs/testing": "^10", + "@types/express": "^4.17.18", + "@types/jest": "^29.5.1", + "@types/supertest": "^2.0.13", + "jest": "^29.5.0", + "supertest": "^6.3.3", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" }, "engines": { - "node": ">=16" + "node": ">=14" + }, + "peerDependencies": { + "@nestjs/common": "^9 || ^10" } }, - "packages/react-native/node_modules/metro-transform-worker/node_modules/ob1": { - "version": "0.76.7", - "dev": true, + "packages/node": { + "name": "@backtrace/node", + "version": "0.1.3", "license": "MIT", + "dependencies": { + "@backtrace/sdk-core": "^0.2.0", + "form-data": "^4.0.0", + "native-reg": "^1.1.1" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "typescript": "^5.0.4", + "webpack": "^5.87.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" + }, "engines": { - "node": ">=16" - } - }, - "packages/react-native/node_modules/metro-transform-worker/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "packages/react-native/node_modules/metro/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "packages/react": { + "name": "@backtrace/react", + "version": "0.1.0", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@backtrace/browser": "^0.1.0", + "@backtrace/sdk-core": "^0.2.0" }, - "engines": { - "node": ">=8" + "devDependencies": { + "@testing-library/react": "^14.0.0", + "@types/react": "^18.2.14", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "ts-jest": "^29.1.1", + "ts-loader": "^9.4.4", + "typescript": "^5.0.4", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "react": ">=16.8.0" } }, - "packages/react-native/node_modules/metro/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "packages/react-native": { + "name": "@backtrace/react-native", + "version": "0.1.0", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "@backtrace/sdk-core": "^0.2.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "packages/react-native/node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/metro/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "devDependencies": { + "@react-native-community/eslint-config": "^3.0.2", + "@types/jest": "^29.5.5", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "jest": "^29.7.0", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "^0.72.4", + "react-native-builder-bob": "^0.21.3", + "ts-jest": "^29.1.1", + "ts-loader": "^9.5.0", + "typescript": "^5.0.2" }, "engines": { - "node": ">=7.0.0" + "node": ">= 16.0.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "packages/react-native/node_modules/metro/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/metro/node_modules/debug": { - "version": "2.6.9", + "packages/react-native/node_modules/@types/react": { + "version": "17.0.71", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.71.tgz", + "integrity": "sha512-lfqOu9mp16nmaGRrS8deS2Taqhd5Ih0o92Te5Ws6I1py4ytHBcXLqh0YIqVsViqwVI5f+haiFM6hju814BzcmA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "packages/react-native/node_modules/metro/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "packages/sdk-core": { + "name": "@backtrace/sdk-core", + "version": "0.2.0", "license": "MIT", - "engines": { - "node": ">=8" + "devDependencies": { + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" } }, - "packages/react-native/node_modules/metro/node_modules/metro-runtime": { - "version": "0.76.7", - "dev": true, + "tools/cli": { + "name": "@backtrace/javascript-cli", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "@backtrace/sourcemap-tools": "^0.2.1", + "command-line-args": "^5.2.1", + "command-line-usage": "^7.0.1", + "glob": "^10.3.3", + "jsonc": "^2.0.0" }, - "engines": { - "node": ">=16" - } - }, - "packages/react-native/node_modules/metro/node_modules/metro-source-map": { - "version": "0.76.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "bin": { + "backtrace-js": "lib/index.js" + }, + "devDependencies": { + "@types/command-line-args": "^5.2.0", + "@types/command-line-usage": "^5.0.2", + "@types/fs-extra": "^11.0.1", + "fs-extra": "^11.1.1", + "jest": "^29.5.0", + "jest-extended": "^4.0.2", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=16" - } - }, - "packages/react-native/node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/metro/node_modules/ob1": { - "version": "0.76.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "packages/react-native/node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "packages/react-native/node_modules/metro/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "tools/rollup-plugin": { + "name": "@backtrace/rollup-plugin", + "version": "0.1.0", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@backtrace/sourcemap-tools": "^0.2.0" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "^29.5.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/metro/node_modules/ws": { - "version": "7.5.9", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" + "node": ">=14" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "packages/react-native/node_modules/mime": { - "version": "2.6.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "packages/react-native/node_modules/nocache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" + "rollup": "^3.26.3" } }, - "packages/react-native/node_modules/node-abort-controller": { - "version": "3.1.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/node-dir": { - "version": "0.1.17", - "dev": true, + "tools/sourcemap-tools": { + "name": "@backtrace/sourcemap-tools", + "version": "0.2.1", "license": "MIT", "dependencies": { - "minimatch": "^3.0.2" + "tar-stream": "^3.1.6" }, - "engines": { - "node": ">= 0.10.5" - } - }, - "packages/react-native/node_modules/node-stream-zip": { - "version": "1.15.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" + "devDependencies": { + "@types/decompress": "^4.2.4", + "@types/jest": "^29.5.1", + "@types/tar-stream": "^2.2.2", + "decompress": "^4.2.1", + "jest": "^29.5.0", + "nock": "^13.3.1", + "source-map": "^0.7.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" - } - }, - "packages/react-native/node_modules/nullthrows": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/ob1": { - "version": "0.76.8", - "dev": true, - "license": "MIT", "engines": { - "node": ">=16" + "node": ">=14" } }, - "packages/react-native/node_modules/object.entries": { - "version": "1.1.7", - "dev": true, + "tools/vite-plugin": { + "name": "@backtrace/vite-plugin", + "version": "0.1.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "@backtrace/rollup-plugin": "^0.1.0" + }, + "devDependencies": { + "typescript": "^5.0.4" }, "engines": { - "node": ">= 0.4" - } - }, - "packages/react-native/node_modules/object.hasown": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "vite": "^4.4.9" } }, - "packages/react-native/node_modules/on-finished": { - "version": "2.3.0", - "dev": true, + "tools/webpack-plugin": { + "name": "@backtrace/webpack-plugin", + "version": "0.1.0", "license": "MIT", "dependencies": { - "ee-first": "1.1.1" + "@backtrace/sourcemap-tools": "^0.2.0" + }, + "devDependencies": { + "@types/jest": "^29.5.1", + "@types/webpack-sources": "^3.2.0 || ^1.4.1", + "jest": "^29.5.0", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3 || ^8.4.0", + "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", + "typescript": "^5.0.4", + "webpack-4": "npm:webpack@^4.46.0", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0", + "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "engines": { - "node": ">= 0.8" - } - }, - "packages/react-native/node_modules/on-headers": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" + "node": ">=14" + }, + "peerDependencies": { + "webpack": "^5.85.0 || ^4.46.0" } - }, - "packages/react-native/node_modules/open": { - "version": "6.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/ora": { - "version": "5.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "packages/react-native/node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/react-native/node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/p-map": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/pify": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/pod-install": { - "version": "0.1.39", - "dev": true, - "license": "MIT", - "bin": { - "pod-install": "build/index.js" - } - }, - "packages/react-native/node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/pretty-format": { - "version": "26.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "packages/react-native/node_modules/pretty-format/node_modules/@jest/types": { - "version": "26.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "packages/react-native/node_modules/pretty-format/node_modules/@types/yargs": { - "version": "15.0.15", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "packages/react-native/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/react-native/node_modules/pretty-format/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/react-native/node_modules/pretty-format/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/promise": { - "version": "8.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "asap": "~2.0.6" - } - }, - "packages/react-native/node_modules/prop-types": { - "version": "15.8.1", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "packages/react-native/node_modules/queue": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "packages/react-native/node_modules/react-devtools-core": { - "version": "4.28.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" - } - }, - "packages/react-native/node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.9", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "packages/react-native/node_modules/react-is": { - "version": "16.13.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/react-native": { - "version": "0.72.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", - "@react-native/gradle-plugin": "^0.72.11", - "@react-native/js-polyfills": "^0.72.1", - "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.8", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.5", - "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.27.2", - "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "18.2.0" - } - }, - "packages/react-native/node_modules/react-native-builder-bob": { - "version": "0.21.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@babel/plugin-proposal-class-properties": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-flow": "^7.17.12", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "browserslist": "^4.20.4", - "cosmiconfig": "^7.0.1", - "cross-spawn": "^7.0.3", - "dedent": "^0.7.0", - "del": "^6.1.1", - "fs-extra": "^10.1.0", - "glob": "^8.0.3", - "is-git-dirty": "^2.0.1", - "json5": "^2.2.1", - "kleur": "^4.1.4", - "prompts": "^2.4.2", - "which": "^2.0.2", - "yargs": "^17.5.1" - }, - "bin": { - "bob": "bin/bob" - }, - "engines": { - "node": ">= 16.0.0" - }, - "optionalDependencies": { - "jetifier": "^2.0.0" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/cosmiconfig": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/fs-extra": { - "version": "10.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/glob": { - "version": "8.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/kleur": { - "version": "4.1.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/universalify": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "packages/react-native/node_modules/react-native-builder-bob/node_modules/yaml": { - "version": "1.10.2", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "packages/react-native/node_modules/react-refresh": { - "version": "0.4.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/react-shallow-renderer": { - "version": "16.15.0", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "packages/react-native/node_modules/readable-stream": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "packages/react-native/node_modules/readline": { - "version": "1.3.0", - "dev": true, - "license": "BSD" - }, - "packages/react-native/node_modules/recast": { - "version": "0.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "packages/react-native/node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/regenerate": { - "version": "1.4.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/regenerator-runtime": { - "version": "0.13.11", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/regenerator-transform": { - "version": "0.15.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "packages/react-native/node_modules/regexpu-core": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/regjsparser": { - "version": "0.9.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "packages/react-native/node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "packages/react-native/node_modules/require-main-filename": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/resolve": { - "version": "2.0.0-next.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/restore-cursor": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/react-native/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "packages/react-native/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "packages/react-native/node_modules/serialize-error": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/shell-quote": { - "version": "1.8.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/slice-ansi": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "packages/react-native/node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "packages/react-native/node_modules/stackframe": { - "version": "1.3.4", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/stacktrace-parser": { - "version": "0.1.10", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } - }, - "packages/react-native/node_modules/statuses": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "packages/react-native/node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "packages/react-native/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "packages/react-native/node_modules/string-natural-compare": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/string.prototype.matchall": { - "version": "4.0.10", - "dev": true, - "license": "MIT", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/strnum": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/sudo-prompt": { - "version": "9.2.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/temp": { - "version": "0.8.4", - "dev": true, - "license": "MIT", - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "packages/react-native/node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "packages/react-native/node_modules/throat": { - "version": "5.0.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/tslib": { - "version": "2.6.2", - "dev": true, - "license": "0BSD" - }, - "packages/react-native/node_modules/type-fest": { - "version": "0.7.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "packages/react-native/node_modules/uglify-es": { - "version": "3.3.9", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "packages/react-native/node_modules/uglify-es/node_modules/commander": { - "version": "2.13.0", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/uglify-es/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/unc-path-regex": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "packages/react-native/node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "packages/react-native/node_modules/universalify": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "packages/react-native/node_modules/use-sync-external-store": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "packages/react-native/node_modules/vlq": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "packages/react-native/node_modules/whatwg-fetch": { - "version": "3.6.19", - "dev": true, - "license": "MIT" - }, - "packages/react-native/node_modules/which-builtin-type": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/react-native/node_modules/which-module": { - "version": "2.0.1", - "dev": true, - "license": "ISC" - }, - "packages/react-native/node_modules/write-file-atomic": { - "version": "2.4.3", - "dev": true, - "license": "ISC", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "packages/react-native/node_modules/ws": { - "version": "6.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "packages/react-native/node_modules/yaml": { - "version": "2.3.2", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 14" - } - }, - "packages/sdk-core": { - "name": "@backtrace/sdk-core", - "version": "0.1.0", - "license": "MIT", - "devDependencies": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "tools/cli": { - "name": "@backtrace/javascript-cli", - "version": "0.3.0", - "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "glob": "^10.3.3", - "jsonc": "^2.0.0" - }, - "bin": { - "backtrace-js": "lib/index.js" - }, - "devDependencies": { - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "@types/fs-extra": "^11.0.1", - "fs-extra": "^11.1.1", - "jest": "^29.5.0", - "jest-extended": "^4.0.2", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - } - }, - "tools/rollup-plugin": { - "name": "@backtrace/rollup-plugin", - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "^3.26.3" - } - }, - "tools/sourcemap-tools": { - "name": "@backtrace/sourcemap-tools", - "version": "0.2.1", - "license": "MIT", - "dependencies": { - "tar-stream": "^3.1.6" - }, - "devDependencies": { - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "@types/tar-stream": "^2.2.2", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - } - }, - "tools/vite-plugin": { - "name": "@backtrace/vite-plugin", - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "@backtrace/rollup-plugin": "^0.1.0" - }, - "devDependencies": { - "typescript": "^5.0.4" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "vite": "^4.4.9" - } - }, - "tools/webpack-plugin": { - "name": "@backtrace/webpack-plugin", - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" - }, - "devDependencies": { - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "webpack": "^5.85.0 || ^4.46.0" - } - } - }, - "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz", - "integrity": "sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==", - "requires": { - "lodash.assignwith": "^4.2.0", - "typical": "^7.1.1" - }, - "dependencies": { - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } - } - }, - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", - "dev": true - }, - "@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", - "dev": true, - "requires": { - "@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-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", - "dev": true - }, - "@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@backtrace/browser": { - "version": "file:packages/browser", - "requires": { - "@backtrace/sdk-core": "^0.1.0", - "@reduxjs/toolkit": "^1.9.5", - "@types/jest": "^29.5.1", - "@types/ua-parser-js": "^0.7.36", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "ua-parser-js": "^1.0.35", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace/electron": { - "version": "file:packages/electron", - "requires": { - "@backtrace/node": "^0.1.3" - } - }, - "@backtrace/javascript-cli": { - "version": "file:tools/cli", - "requires": { - "@backtrace/sourcemap-tools": "^0.2.1", - "@types/command-line-args": "^5.2.0", - "@types/command-line-usage": "^5.0.2", - "@types/fs-extra": "^11.0.1", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.1", - "fs-extra": "^11.1.1", - "glob": "^10.3.3", - "jest": "^29.5.0", - "jest-extended": "^4.0.2", - "jsonc": "^2.0.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace/nestjs": { - "version": "file:packages/nestjs", - "requires": { - "@backtrace/node": "^0.1.0", - "@nestjs/core": "^10", - "@nestjs/platform-express": "^10", - "@nestjs/testing": "^10", - "@types/express": "^4.17.18", - "@types/jest": "^29.5.1", - "@types/supertest": "^2.0.13", - "jest": "^29.5.0", - "supertest": "^6.3.3", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - }, - "dependencies": { - "@nestjs/core": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.2.8.tgz", - "integrity": "sha512-9+MZ2s8ixfY9Bl/M9ofChiyYymcwdK9ZWNH4GDMF7Am7XRAQ1oqde6MYGG05rhQwiVXuTwaYLlXciJKfsrg5qg==", - "dev": true, - "requires": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.6.2", - "uid": "2.0.2" - } - }, - "@nestjs/platform-express": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.2.8.tgz", - "integrity": "sha512-WoSSVtwIRc5AdGMHWVzWZK4JZLT0f4o2xW8P9gQvcX+omL8W1kXCfY8GQYXNBG84XmBNYH8r0FtC8oMe/lH5NQ==", - "dev": true, - "requires": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.18.2", - "multer": "1.4.4-lts.1", - "tslib": "2.6.2" - } - }, - "@nestjs/testing": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.2.8.tgz", - "integrity": "sha512-9Kj5IQhM67/nj/MT6Wi2OmWr5YQnCMptwKVFrX1TDaikpY12196v7frk0jVjdT7wms7rV07GZle9I2z0aSjqtQ==", - "dev": true, - "requires": { - "tslib": "2.6.2" - } - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - } - } - }, - "@backtrace/node": { - "version": "file:packages/node", - "requires": { - "@backtrace/sdk-core": "^0.1.0", - "@types/jest": "^29.5.1", - "form-data": "^4.0.0", - "jest": "^29.5.0", - "native-reg": "^1.1.1", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3", - "typescript": "^5.0.4", - "webpack": "^5.87.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0" - } - }, - "@backtrace/react": { - "version": "file:packages/react", - "requires": { - "@backtrace/browser": "^0.1.0", - "@backtrace/sdk-core": "^0.1.0", - "@testing-library/react": "^14.0.0", - "@types/react": "^18.2.14", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "typescript": "^5.0.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4" - } - }, - "@backtrace/react-native": { - "version": "file:packages/react-native", - "requires": { - "@backtrace/sdk-core": "^0.1.0", - "@react-native-community/eslint-config": "^3.0.2", - "@types/jest": "^29.5.5", - "@types/react": "~17.0.21", - "@types/react-native": "0.70.0", - "jest": "^29.7.0", - "pod-install": "^0.1.0", - "prettier": "^2.0.5", - "react": "18.2.0", - "react-native": "^0.72.4", - "react-native-builder-bob": "^0.21.3", - "ts-jest": "^29.1.1", - "ts-loader": "^9.5.0", - "typescript": "^5.0.2" - }, - "dependencies": { - "@babel/eslint-parser": { - "version": "7.22.15", - "dev": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "resolve": { - "version": "1.22.6", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "dev": true, - "requires": { - "@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": { - "version": "7.22.20", - "dev": true, - "requires": { - "@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-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-wrap-function": { - "version": "7.22.20", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - } - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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-async-generator-functions": { - "version": "7.20.7", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-export-default-from": { - "version": "7.22.17", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.22.5" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "dev": true, - "requires": { - "@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-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "dev": true, - "requires": {} - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-default-from": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "dev": true, - "requires": { - "@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": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "dev": true, - "requires": { - "@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": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.11", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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-jsx-development": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.10", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.20", - "dev": true, - "requires": { - "@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-flow": { - "version": "7.22.15", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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": { - "version": "7.22.15", - "dev": true, - "requires": { - "@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/register": { - "version": "7.22.15", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "dev": true - }, - "@hapi/hoek": { - "version": "9.3.0", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@jest/create-cache-key-function": { - "version": "29.7.0", - "dev": true, - "requires": { - "@jest/types": "^29.6.3" - } - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "dev": true, - "requires": { - "eslint-scope": "5.1.1" - } - }, - "@react-native-community/cli": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-clean": "11.3.6", - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-doctor": "11.3.6", - "@react-native-community/cli-hermes": "11.3.6", - "@react-native-community/cli-plugin-metro": "11.3.6", - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "@react-native-community/cli-types": "11.3.6", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", - "semver": "^7.5.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@react-native-community/cli-clean": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "prompts": "^2.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-config": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-debugger-ui": { - "version": "11.3.6", - "dev": true, - "requires": { - "serve-static": "^1.13.1" - } - }, - "@react-native-community/cli-doctor": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-config": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "envinfo": "^7.7.2", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "prompts": "^2.4.0", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@react-native-community/cli-hermes": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-platform-android": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-platform-ios": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-plugin-metro": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-server-api": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "readline": "^1.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "metro-runtime": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-server-api": { - "version": "11.3.6", - "dev": true, - "requires": { - "@react-native-community/cli-debugger-ui": "11.3.6", - "@react-native-community/cli-tools": "11.3.6", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" - }, - "dependencies": { - "ws": { - "version": "7.5.9", - "dev": true, - "requires": {} - } - } - }, - "@react-native-community/cli-tools": { - "version": "11.3.6", - "dev": true, - "requires": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@react-native-community/cli-types": { - "version": "11.3.6", - "dev": true, - "requires": { - "joi": "^17.2.1" - } - }, - "@react-native-community/eslint-config": { - "version": "3.2.0", - "dev": true, - "requires": { - "@babel/core": "^7.14.0", - "@babel/eslint-parser": "^7.18.2", - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.30.5", - "@typescript-eslint/parser": "^5.30.5", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-ft-flow": "^2.0.1", - "eslint-plugin-jest": "^26.5.3", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-native": "^4.0.0" - } - }, - "@react-native-community/eslint-plugin": { - "version": "1.3.0", - "dev": true - }, - "@react-native/assets-registry": { - "version": "0.72.0", - "dev": true - }, - "@react-native/codegen": { - "version": "0.72.7", - "dev": true, - "requires": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "jscodeshift": "^0.14.0", - "nullthrows": "^1.1.1" - } - }, - "@react-native/gradle-plugin": { - "version": "0.72.11", - "dev": true - }, - "@react-native/js-polyfills": { - "version": "0.72.1", - "dev": true - }, - "@react-native/normalize-colors": { - "version": "0.72.0", - "dev": true - }, - "@react-native/virtualized-lists": { - "version": "0.72.8", - "dev": true, - "requires": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - } - }, - "@sideway/address": { - "version": "4.1.4", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "dev": true - }, - "@types/node": { - "version": "20.6.2", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "dev": true - }, - "@types/react": { - "version": "17.0.65", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-native": { - "version": "0.70.0", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.3", - "dev": true - }, - "@types/yargs-parser": { - "version": "21.0.0", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/utils": { - "version": "5.62.0", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.3", - "dev": true - } - } - }, - "abort-controller": { - "version": "3.0.0", - "dev": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "aggregate-error": { - "version": "3.1.0", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "anser": { - "version": "1.4.10", - "dev": true - }, - "ansi-fragments": { - "version": "0.2.1", - "dev": true, - "requires": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "appdirsjs": { - "version": "1.2.7", - "dev": true - }, - "array.prototype.tosorted": { - "version": "1.1.2", - "dev": true, - "requires": { - "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" - } - }, - "ast-types": { - "version": "0.15.2", - "dev": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "astral-regex": { - "version": "1.0.0", - "dev": true - }, - "async": { - "version": "3.2.4", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "dev": true - }, - "asynciterator.prototype": { - "version": "1.0.0", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "dev": true, - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2" - } - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "dev": true - }, - "babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "dev": true, - "requires": { - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "babel-preset-fbjs": { - "version": "3.4.0", - "dev": true, - "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - } - }, - "bl": { - "version": "4.1.0", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "bytes": { - "version": "3.0.0", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "dev": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.9.1", - "dev": true - }, - "clone": { - "version": "1.0.4", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "colorette": { - "version": "1.4.0", - "dev": true - }, - "command-exists": { - "version": "1.2.9", - "dev": true - }, - "commander": { - "version": "9.5.0", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "dev": true - } - } - }, - "connect": { - "version": "3.7.0", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "dev": true - } - } - }, - "core-js-compat": { - "version": "3.32.2", - "dev": true, - "requires": { - "browserslist": "^4.21.10" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "import-fresh": { - "version": "2.0.0", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "dev": true - } - } - }, - "dayjs": { - "version": "1.11.9", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "dev": true - }, - "defaults": { - "version": "1.0.4", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "del": { - "version": "6.1.1", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "denodeify": { - "version": "1.2.1", - "dev": true - }, - "deprecated-react-native-prop-types": { - "version": "4.1.0", - "dev": true, - "requires": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" - } - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "error-stack-parser": { - "version": "2.1.4", - "dev": true, - "requires": { - "stackframe": "^1.3.4" - } - }, - "errorhandler": { - "version": "1.5.1", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - } - }, - "es-iterator-helpers": { - "version": "1.0.15", - "dev": true, - "requires": { - "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" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "eslint-plugin-eslint-comments": { - "version": "3.2.0", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - } - }, - "eslint-plugin-ft-flow": { - "version": "2.0.3", - "dev": true, - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-react": { - "version": "7.33.2", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "dev": true, - "requires": {} - }, - "eslint-plugin-react-native": { - "version": "4.1.0", - "dev": true, - "requires": { - "eslint-plugin-react-native-globals": "^0.1.1" - } - }, - "eslint-plugin-react-native-globals": { - "version": "0.1.2", - "dev": true - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "dev": true - }, - "fast-diff": { - "version": "1.3.0", - "dev": true - }, - "fast-xml-parser": { - "version": "4.2.7", - "dev": true, - "requires": { - "strnum": "^1.0.5" - } - }, - "finalhandler": { - "version": "1.1.2", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "dev": true - } - } - }, - "flow-enums-runtime": { - "version": "0.0.5", - "dev": true - }, - "flow-parser": { - "version": "0.206.0", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "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" - } - }, - "globals": { - "version": "11.12.0", - "dev": true - }, - "hermes-estree": { - "version": "0.12.0", - "dev": true - }, - "hermes-parser": { - "version": "0.12.0", - "dev": true, - "requires": { - "hermes-estree": "0.12.0" - } - }, - "hermes-profile-transformer": { - "version": "0.0.6", - "dev": true, - "requires": { - "source-map": "^0.7.3" - } - }, - "image-size": { - "version": "1.0.2", - "dev": true, - "requires": { - "queue": "6.0.2" - } - }, - "indent-string": { - "version": "4.0.0", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip": { - "version": "1.1.8", - "dev": true - }, - "is-absolute": { - "version": "1.0.0", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-async-function": { - "version": "2.0.0", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-directory": { - "version": "0.3.1", - "dev": true - }, - "is-finalizationregistry": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-git-dirty": { - "version": "2.0.2", - "dev": true, - "requires": { - "execa": "^4.0.3", - "is-git-repository": "^2.0.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "human-signals": { - "version": "1.1.1", - "dev": true - } - } - }, - "is-git-repository": { - "version": "2.0.0", - "dev": true, - "requires": { - "execa": "^4.0.3", - "is-absolute": "^1.0.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "human-signals": { - "version": "1.1.1", - "dev": true - } - } - }, - "is-interactive": { - "version": "1.0.0", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "dev": true - }, - "is-relative": { - "version": "1.0.0", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "dev": true - }, - "is-unc-path": { - "version": "1.0.0", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-unicode-supported": { - "version": "0.1.0", - "dev": true - }, - "iterator.prototype": { - "version": "1.1.2", - "dev": true, - "requires": { - "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" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "dev": true - }, - "jest-worker": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jetifier": { - "version": "2.0.0", - "dev": true, - "optional": true - }, - "joi": { - "version": "17.10.2", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "jsc-android": { - "version": "250231.0.0", - "dev": true - }, - "jsc-safe-url": { - "version": "0.2.4", - "dev": true - }, - "jscodeshift": { - "version": "0.14.0", - "dev": true, - "requires": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "json5": { - "version": "2.2.3", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsx-ast-utils": { - "version": "3.3.5", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "lodash": { - "version": "4.17.21", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "dev": true - }, - "lodash.throttle": { - "version": "4.1.1", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "logkitty": { - "version": "0.7.1", - "dev": true, - "requires": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "dev": true, - "requires": { - "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-parser": { - "version": "18.1.3", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "make-dir": { - "version": "2.1.0", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "dev": true - } - } - }, - "memoize-one": { - "version": "5.2.1", - "dev": true - }, - "metro": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.12.0", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "metro-runtime": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "metro-source-map": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "dev": true - }, - "ob1": { - "version": "0.76.7", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "ws": { - "version": "7.5.9", - "dev": true, - "requires": {} - } - } - }, - "metro-babel-transformer": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.12.0", - "nullthrows": "^1.1.1" - } - }, - "metro-cache": { - "version": "0.76.7", - "dev": true, - "requires": { - "metro-core": "0.76.7", - "rimraf": "^3.0.2" - } - }, - "metro-cache-key": { - "version": "0.76.7", - "dev": true - }, - "metro-config": { - "version": "0.76.7", - "dev": true, - "requires": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" - }, - "dependencies": { - "metro-runtime": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - } - } - }, - "metro-core": { - "version": "0.76.7", - "dev": true, - "requires": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" - } - }, - "metro-file-map": { - "version": "0.76.7", - "dev": true, - "requires": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.5", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "ms": { - "version": "2.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "metro-inspector-proxy": { - "version": "0.76.7", - "dev": true, - "requires": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "dev": true - }, - "ws": { - "version": "7.5.9", - "dev": true, - "requires": {} - } - } - }, - "metro-minify-terser": { - "version": "0.76.7", - "dev": true, - "requires": { - "terser": "^5.15.0" - } - }, - "metro-minify-uglify": { - "version": "0.76.7", - "dev": true, - "requires": { - "uglify-es": "^3.1.9" - } - }, - "metro-react-native-babel-preset": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.4.0" - } - }, - "metro-react-native-babel-transformer": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", - "nullthrows": "^1.1.1" - } - }, - "metro-resolver": { - "version": "0.76.7", - "dev": true - }, - "metro-runtime": { - "version": "0.76.8", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "metro-source-map": { - "version": "0.76.8", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", - "nullthrows": "^1.1.1", - "ob1": "0.76.8", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - }, - "dependencies": { - "metro-symbolicate": { - "version": "0.76.8", - "dev": true, - "requires": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.8", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "dev": true - } - } - }, - "metro-symbolicate": { - "version": "0.76.7", - "dev": true, - "requires": { - "invariant": "^2.2.4", - "metro-source-map": "0.76.7", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "dependencies": { - "metro-source-map": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "ob1": { - "version": "0.76.7", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "dev": true - } - } - }, - "metro-transform-plugins": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - } - }, - "metro-transform-worker": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", - "nullthrows": "^1.1.1" - }, - "dependencies": { - "metro-source-map": { - "version": "0.76.7", - "dev": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", - "nullthrows": "^1.1.1", - "ob1": "0.76.7", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "ob1": { - "version": "0.76.7", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "dev": true - } - } - }, - "mime": { - "version": "2.6.0", - "dev": true - }, - "nocache": { - "version": "3.0.4", - "dev": true - }, - "node-abort-controller": { - "version": "3.1.1", - "dev": true - }, - "node-dir": { - "version": "0.1.17", - "dev": true, - "requires": { - "minimatch": "^3.0.2" - } - }, - "node-stream-zip": { - "version": "1.15.0", - "dev": true - }, - "nullthrows": { - "version": "1.1.1", - "dev": true - }, - "ob1": { - "version": "0.76.8", - "dev": true - }, - "object.entries": { - "version": "1.1.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "object.hasown": { - "version": "1.1.3", - "dev": true, - "requires": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "on-finished": { - "version": "2.3.0", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "dev": true - }, - "open": { - "version": "6.4.0", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "ora": { - "version": "5.4.1", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "p-map": { - "version": "4.0.0", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "4.0.1", - "dev": true - }, - "pod-install": { - "version": "0.1.39", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-format": { - "version": "26.6.2", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "15.0.15", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "react-is": { - "version": "17.0.2", - "dev": true - } - } - }, - "promise": { - "version": "8.3.0", - "dev": true, - "requires": { - "asap": "~2.0.6" - } - }, - "prop-types": { - "version": "15.8.1", - "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "queue": { - "version": "6.0.2", - "dev": true, - "requires": { - "inherits": "~2.0.3" - } - }, - "react-devtools-core": { - "version": "4.28.0", - "dev": true, - "requires": { - "shell-quote": "^1.6.1", - "ws": "^7" - }, - "dependencies": { - "ws": { - "version": "7.5.9", - "dev": true, - "requires": {} - } - } - }, - "react-is": { - "version": "16.13.1", - "dev": true - }, - "react-native": { - "version": "0.72.4", - "dev": true, - "requires": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.6", - "@react-native-community/cli-platform-android": "11.3.6", - "@react-native-community/cli-platform-ios": "11.3.6", - "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", - "@react-native/gradle-plugin": "^0.72.11", - "@react-native/js-polyfills": "^0.72.1", - "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.8", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.5", - "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.27.2", - "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - } - }, - "react-native-builder-bob": { - "version": "0.21.3", - "dev": true, - "requires": { - "@babel/core": "^7.18.5", - "@babel/plugin-proposal-class-properties": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-flow": "^7.17.12", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "browserslist": "^4.20.4", - "cosmiconfig": "^7.0.1", - "cross-spawn": "^7.0.3", - "dedent": "^0.7.0", - "del": "^6.1.1", - "fs-extra": "^10.1.0", - "glob": "^8.0.3", - "is-git-dirty": "^2.0.1", - "jetifier": "^2.0.0", - "json5": "^2.2.1", - "kleur": "^4.1.4", - "prompts": "^2.4.2", - "which": "^2.0.2", - "yargs": "^17.5.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cosmiconfig": { - "version": "7.1.0", - "dev": true, - "requires": { - "@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" - } - }, - "fs-extra": { - "version": "10.1.0", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "glob": { - "version": "8.1.0", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "kleur": { - "version": "4.1.5", - "dev": true - }, - "minimatch": { - "version": "5.1.6", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "parse-json": { - "version": "5.2.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "universalify": { - "version": "2.0.0", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "dev": true - } - } - }, - "react-refresh": { - "version": "0.4.3", - "dev": true - }, - "react-shallow-renderer": { - "version": "16.15.0", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readline": { - "version": "1.3.0", - "dev": true - }, - "recast": { - "version": "0.21.5", - "dev": true, - "requires": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } - } - }, - "reflect.getprototypeof": { - "version": "1.0.4", - "dev": true, - "requires": { - "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": { - "version": "1.4.2", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.1", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.2", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.3.2", - "dev": true, - "requires": { - "@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" - } - }, - "regjsparser": { - "version": "0.9.1", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "dev": true - } - } - }, - "require-main-filename": { - "version": "2.0.0", - "dev": true - }, - "resolve": { - "version": "2.0.0-next.4", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "dev": true - }, - "scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "dev": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, - "semver": { - "version": "6.3.1", - "dev": true - }, - "serialize-error": { - "version": "2.1.0", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "dev": true - }, - "shell-quote": { - "version": "1.8.1", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "dev": true - }, - "stackframe": { - "version": "1.3.4", - "dev": true - }, - "stacktrace-parser": { - "version": "0.1.10", - "dev": true, - "requires": { - "type-fest": "^0.7.1" - } - }, - "statuses": { - "version": "1.5.0", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "dev": true - } - } - }, - "string-natural-compare": { - "version": "3.0.1", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true - } - } - }, - "string.prototype.matchall": { - "version": "4.0.10", - "dev": true, - "requires": { - "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" - } - }, - "strnum": { - "version": "1.0.5", - "dev": true - }, - "sudo-prompt": { - "version": "9.2.1", - "dev": true - }, - "temp": { - "version": "0.8.4", - "dev": true, - "requires": { - "rimraf": "~2.6.2" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "throat": { - "version": "5.0.0", - "dev": true - }, - "tslib": { - "version": "2.6.2", - "dev": true - }, - "type-fest": { - "version": "0.7.1", - "dev": true - }, - "uglify-es": { - "version": "3.3.9", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "dev": true - } - } - }, - "unc-path-regex": { - "version": "0.1.2", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "dev": true - }, - "use-sync-external-store": { - "version": "1.2.0", - "dev": true, - "requires": {} - }, - "vlq": { - "version": "1.0.1", - "dev": true - }, - "wcwidth": { - "version": "1.0.1", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "whatwg-fetch": { - "version": "3.6.19", - "dev": true - }, - "which-builtin-type": { - "version": "1.1.3", - "dev": true, - "requires": { - "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-module": { - "version": "2.0.1", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "6.2.2", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "yaml": { - "version": "2.3.2", - "dev": true - } - } - }, - "@backtrace/rollup-plugin": { - "version": "file:tools/rollup-plugin", - "requires": { - "@backtrace/sourcemap-tools": "^0.2.0", - "@rollup/plugin-typescript": "^11.1.2", - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace/sdk-core": { - "version": "file:packages/sdk-core", - "requires": { - "@types/jest": "^29.5.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace/sourcemap-tools": { - "version": "file:tools/sourcemap-tools", - "requires": { - "@types/decompress": "^4.2.4", - "@types/jest": "^29.5.1", - "@types/tar-stream": "^2.2.2", - "decompress": "^4.2.1", - "jest": "^29.5.0", - "nock": "^13.3.1", - "source-map": "^0.7.4", - "tar-stream": "^3.1.6", - "ts-jest": "^29.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace/vite-plugin": { - "version": "file:tools/vite-plugin", - "requires": { - "@backtrace/rollup-plugin": "^0.1.0", - "typescript": "^5.0.4" - } - }, - "@backtrace/webpack-plugin": { - "version": "file:tools/webpack-plugin", - "requires": { - "@backtrace/sourcemap-tools": "^0.2.0", - "@types/jest": "^29.5.1", - "@types/webpack-sources": "^3.2.0 || ^1.4.1", - "jest": "^29.5.0", - "ts-jest": "^29.1.0", - "ts-loader": "^9.4.3 || ^8.4.0", - "ts-loader-webpack-4": "npm:ts-loader@^8.4.0", - "typescript": "^5.0.4", - "webpack-4": "npm:webpack@^4.46.0", - "webpack-cli": "^5.1.4", - "webpack-node-externals": "^3.0.0", - "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@electron/get": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", - "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "peer": true, - "requires": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "global-agent": "^3.0.0", - "got": "^11.8.5", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true - } - } - }, - "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "optional": true, - "peer": true - }, - "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "optional": true, - "peer": true - }, - "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "optional": true, - "peer": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "optional": true, - "peer": true - }, - "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "optional": true, - "peer": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "optional": true, - "peer": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "optional": true, - "peer": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "optional": true, - "peer": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "optional": true, - "peer": true - }, - "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "optional": true, - "peer": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "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": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.12.tgz", - "integrity": "sha512-NlGesA1usRNn6ctHCZ21M4/dKPgW9Nn1FypRdIKKgZOKzkVV4T1FlK5mBiLhHBCDmEbdQG0idrcXlbZfksJ+RA==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.0", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.0.tgz", - "integrity": "sha512-9S9QrXY2K0L4AGDcSgTi9vgiCcG8VcBv4Mp7/1hDPYoswIy6Z6KO5blYto82BT8M0MZNRWmCFLpCs3HlpYGGdw==", - "dev": true - }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - } - }, - "@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "requires": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - } - }, - "@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3" - } - }, - "@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - } - }, - "@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - } - } - }, - "@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - } - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "requires": { - "@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": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" - }, - "@nestjs/common": { - "version": "10.2.8", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.2.8.tgz", - "integrity": "sha512-rmpwcdvq2IWMmsUVP8rsdKub6uDWk7dwCYo0aif50JTwcvcxzaP3iKVFKoSgvp0RKYu8h15+/AEOfaInmPpl0Q==", - "peer": true, - "requires": { - "iterare": "1.2.1", - "tslib": "2.6.2", - "uid": "2.0.2" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - } - }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true - }, - "@reduxjs/toolkit": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", - "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", - "dev": true, - "requires": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" - } - }, - "@rollup/plugin-typescript": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", - "integrity": "sha512-rnMHrGBB0IUEv69Q8/JGRD/n4/n6b3nfpufUu26axhUcboUzv/twfZU8fIBbTOphRAe0v8EyxzeDpKXqGHfyDA==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" - } - }, - "@rollup/pluginutils": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", - "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - } - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "peer": true - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "peer": true, - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "@testing-library/dom": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", - "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", - "dev": true, - "requires": { - "@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/react": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", - "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "@types/aria-query": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", - "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", - "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.6", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", - "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", - "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", - "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "peer": true, - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "@types/command-line-args": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.2.tgz", - "integrity": "sha512-9aZ7KzLDOBYyqH5J2bvB9edvsMXusX+H/aS8idAJOpWNmscZG5RqO1CVJPFa4Q0/1xKgvxcweXunFVx2l/dYFA==", - "dev": true - }, - "@types/command-line-usage": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.3.tgz", - "integrity": "sha512-ZESq+MDjR7QpvFfuanzfoAwfzA9e/wUUH/5uEyaZpGwqEnNddBpsyzJWltUIMgXYy97//wD0aJFgKStoZ6o1SQ==", - "dev": true - }, - "@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==", - "dev": true - }, - "@types/decompress": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.6.tgz", - "integrity": "sha512-ULmsMkKxU7aIGbnxP4Rz28hLdRZ4q0cdy6kcb8dx+UgDGOn+id5fibvoeTnjuolhrRM7f7TOtGADeKEk60SSsQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" - }, - "@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/fs-extra": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.3.tgz", - "integrity": "sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==", - "dev": true, - "requires": { - "@types/jsonfile": "*", - "@types/node": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", - "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", - "peer": true - }, - "@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", - "dev": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", - "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", - "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.6.tgz", - "integrity": "sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/jsonfile": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.3.tgz", - "integrity": "sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "peer": true, - "requires": { - "@types/node": "*" - } - }, - "@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", - "dev": true - }, - "@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" - }, - "@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", - "dev": true - }, - "@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", - "dev": true - }, - "@types/react": { - "version": "18.2.30", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.30.tgz", - "integrity": "sha512-OfqdJnDsSo4UNw0bqAjFCuBpLYQM7wvZidz0hVxHRjrEkzRlvZL1pJVyOSY55HMiKvRNEo9DUBRuEl7FNlJ/Vg==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", - "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==", - "peer": true, - "requires": { - "@types/node": "*" - } - }, - "@types/scheduler": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", - "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", - "dev": true - }, - "@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", - "dev": true - }, - "@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", - "dev": true, - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.4.tgz", - "integrity": "sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", - "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==", - "dev": true - }, - "@types/superagent": { - "version": "4.1.20", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.20.tgz", - "integrity": "sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==", - "dev": true, - "requires": { - "@types/cookiejar": "*", - "@types/node": "*" - } - }, - "@types/supertest": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.15.tgz", - "integrity": "sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==", - "dev": true, - "requires": { - "@types/superagent": "*" - } - }, - "@types/tar-stream": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-2.2.3.tgz", - "integrity": "sha512-if3mugZfjVkXOMZdFjIHySxY13r6GXPpyOlsDmLffvyI7tLz9wXE8BFjNivXsvUeyJ1KNlOpfLnag+ISmxgxPw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/tough-cookie": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", - "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==", - "dev": true - }, - "@types/ua-parser-js": { - "version": "0.7.38", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz", - "integrity": "sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ==", - "dev": true - }, - "@types/webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-acCzhuVe+UJy8abiSFQWXELhhNMZjQjQKpLNEi1pKGgKXZj0ul614ATcx4kkhunPost6Xw+aCq8y8cn1/WwAiA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "@types/yargs": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", - "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", - "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", - "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", - "optional": true, - "peer": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "requires": { - "@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/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "requires": { - "@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": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - } - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - } - } - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - } - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "requires": { - "deep-equal": "^2.0.5" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dev": true, - "requires": { - "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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", - "dev": true, - "requires": { - "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": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dev": true, - "requires": { - "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": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", - "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", - "dev": true, - "requires": { - "object.assign": "^4.1.4", - "util": "^0.10.4" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" - }, - "babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "requires": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "boolean": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", - "optional": true, - "peer": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dev": true, - "requires": { - "streamsearch": "^1.1.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "peer": true - }, - "cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "peer": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "peer": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001551", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", - "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "requires": { - "chalk": "^4.1.2" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "peer": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "requires": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" - }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "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" - } - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", - "dev": true - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "peer": true, - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "peer": true - } - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "dev": true - } - } - }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "requires": {} - }, - "deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "dev": true, - "requires": { - "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-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "peer": true - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "devOptional": true, - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "devOptional": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "optional": true, - "peer": true - }, - "dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "electron": { - "version": "26.4.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", - "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", - "peer": true, - "requires": { - "@electron/get": "^2.0.0", - "@types/node": "^18.11.18", - "extract-zip": "^2.0.1" - }, - "dependencies": { - "@types/node": { - "version": "18.18.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", - "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", - "peer": true - } - } - }, - "electron-to-chromium": { - "version": "1.4.560", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.560.tgz", - "integrity": "sha512-HhJH/pWAxTaPZl7R3mJ6gCd8MfjQdil9RAWk84qHaLsmPTadydfAmq0a1x8kZtOGQ6pZrWhOYj5uZ8I0meZIgg==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "peer": true - }, - "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", - "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", - "dev": true, - "requires": { - "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": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "requires": { - "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-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "optional": true, - "peer": true - }, - "esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "peer": true, - "requires": { - "@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": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "devOptional": true - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.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" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-local-rules": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-1.3.2.tgz", - "integrity": "sha512-X4ziX+cjlCYnZa+GB1ly3mmj44v2PeIld3tQVAxelY6AMrhHSjz6zsgsT6nt0+X5b7eZnvL/O7Q3pSSK2kF/+Q==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "requires": { - "@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" - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "peer": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "peer": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", - "dev": true, - "requires": { - "dezalgo": "^1.0.4", - "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "devOptional": true - }, - "function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "devOptional": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", - "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", - "optional": true, - "peer": true, - "requires": { - "boolean": "^3.0.1", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "devOptional": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "devOptional": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "peer": true, - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "devOptional": true - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "devOptional": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "devOptional": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "devOptional": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "peer": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "peer": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" - }, - "jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - } - }, - "jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - } - }, - "jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "jest-extended": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.2.tgz", - "integrity": "sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==", - "dev": true, - "requires": { - "jest-diff": "^29.0.0", - "jest-get-type": "^29.0.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true - }, - "jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true - }, - "jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - } - }, - "jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - } - } - }, - "jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^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", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "requires": { - "@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" - } - }, - "jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "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.2", - "parse5": "^7.1.1", - "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": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "devOptional": true - }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz", - "integrity": "sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw==", - "requires": { - "fast-safe-stringify": "^2.0.6", - "graceful-fs": "^4.1.15", - "mkdirp": "^0.5.1", - "parse-json": "^4.0.0", - "strip-bom": "^4.0.0", - "strip-json-comments": "^3.0.1" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - } - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - } - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.assignwith": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", - "integrity": "sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "peer": true - }, - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "optional": true, - "peer": true, - "requires": { - "escape-string-regexp": "^4.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "peer": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multer": { - "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", - "dev": true, - "requires": { - "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - } - }, - "nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "peer": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-reg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/native-reg/-/native-reg-1.1.1.tgz", - "integrity": "sha512-DmqwT6XC8MLwo8HaZey3bASf0aa/gHC7FAuKMjuf7fXa7FLXwz/khXGouKcmD1rXAfJME1XveKSM4+86wLkb1w==", - "requires": { - "node-gyp-build": "4" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "nock": { - "version": "13.3.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.6.tgz", - "integrity": "sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "propagate": "^2.0.0" - } - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - }, - "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - } - } - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "peer": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", - "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "devOptional": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@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" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "peer": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "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": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "requires": { - "entities": "^4.4.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "optional": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - } - }, - "path-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true - }, - "postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "peer": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "peer": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", - "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "peer": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dev": true, - "peer": true, - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", - "dev": true, - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", - "dev": true, - "requires": {} - }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "peer": true - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "optional": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", - "dev": true - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "peer": true - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "peer": true, - "requires": { - "lowercase-keys": "^2.0.0" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", - "dev": true, - "requires": { - "glob": "^10.3.7" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "roarr": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", - "optional": true, - "peer": true, - "requires": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - } - }, - "rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "peer": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "peer": true, - "requires": { - "tslib": "^2.1.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - } - } - }, - "safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dev": true, - "peer": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dev": true, - "requires": { - "commander": "^2.8.1" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "devOptional": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "optional": true, - "peer": true - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "optional": true, - "peer": true, - "requires": { - "type-fest": "^0.13.1" - }, - "dependencies": { - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "optional": true, - "peer": true - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - } - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "peer": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "optional": true, - "peer": true - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - }, - "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "requires": { - "internal-slot": "^1.0.4" - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==" - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "dev": true - }, - "streamx": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", - "requires": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "peer": true, - "requires": { - "debug": "^4.1.0" - } - }, - "superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", - "dev": true, - "requires": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.4", - "debug": "^4.3.4", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", - "methods": "^1.1.2", - "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" - }, - "dependencies": { - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - } - } - }, - "supertest": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", - "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", - "dev": true, - "requires": { - "methods": "^1.1.2", - "superagent": "^8.0.5" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", - "requires": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" - }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==" - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, - "terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true - } - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "ts-jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "dependencies": { - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - } - } - }, - "ts-loader": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", - "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - } - }, - "ts-loader-webpack-4": { - "version": "npm:ts-loader@8.4.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", - "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^2.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - } - } - }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@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" - } - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "requires": { - "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": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "dev": true - }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" - }, - "ua-parser-js": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", - "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==" - }, - "uid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", - "requires": { - "@lukeed/csprng": "^1.0.0" - } - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "dev": true - }, - "url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", - "dev": true, - "requires": { - "punycode": "^1.4.1", - "qs": "^6.11.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "v8-to-istanbul": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", - "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - } - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true - }, - "vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", - "peer": true, - "requires": { - "esbuild": "^0.18.10", - "fsevents": "~2.3.2", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "requires": { - "xml-name-validator": "^4.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "optional": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } - }, - "webpack-4": { - "version": "npm:webpack@4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "webpack": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } - }, - "webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - } - }, - "webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "webpack-sources-webpack-4": { - "version": "npm:webpack-sources@1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "requires": { - "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" - } - }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/packages/browser/package.json b/packages/browser/package.json index e85c4895..8d8a6c9d 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/sdk-core": "^0.1.0", + "@backtrace/sdk-core": "^0.2.0", "ua-parser-js": "^1.0.35" } } diff --git a/packages/node/package.json b/packages/node/package.json index 5cfd66f5..d275d759 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace/sdk-core": "^0.1.0", + "@backtrace/sdk-core": "^0.2.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 6ea838a2..e74541d8 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -90,6 +90,6 @@ "typescript": "^5.0.2" }, "dependencies": { - "@backtrace/sdk-core": "^0.1.0" + "@backtrace/sdk-core": "^0.2.0" } } diff --git a/packages/react/package.json b/packages/react/package.json index 9498ba3e..870bf8ba 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@backtrace/browser": "^0.1.0", - "@backtrace/sdk-core": "^0.1.0" + "@backtrace/sdk-core": "^0.2.0" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md index a5d72704..927c0831 100644 --- a/packages/sdk-core/CHANGELOG.md +++ b/packages/sdk-core/CHANGELOG.md @@ -1,3 +1,8 @@ +# Version 0.2.0 + +- fix global is undefined error (#187) +- add abort support to metrics and request handlers + # Version 0.1.0 - library rename to `@backtrace/sdk-core` diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 94588d22..a61d549b 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/sdk-core", - "version": "0.1.0", + "version": "0.2.0", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From bf200e61257e5e913933f676223fc28d500dc7cd Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 14:19:17 +0100 Subject: [PATCH 269/291] node: version 0.2.0 (#213) Co-authored-by: Sebastian Alex --- package-lock.json | 10 +++++----- packages/electron/package.json | 2 +- packages/nestjs/package.json | 2 +- packages/node/CHANGELOG.md | 7 +++++++ packages/node/package.json | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ef09fd4..25f4ee72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20987,7 +20987,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.1.3" + "@backtrace/node": "^0.2.0" }, "peerDependencies": { "electron": "12 - 26" @@ -20998,7 +20998,7 @@ "version": "0.1.1", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.1.0" + "@backtrace/node": "^0.2.0" }, "devDependencies": { "@nestjs/core": "^10", @@ -21025,7 +21025,7 @@ }, "packages/node": { "name": "@backtrace/node", - "version": "0.1.3", + "version": "0.2.0", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.2.0", @@ -21154,7 +21154,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" + "@backtrace/sourcemap-tools": "^0.2.1" }, "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", @@ -21214,7 +21214,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" + "@backtrace/sourcemap-tools": "^0.2.1" }, "devDependencies": { "@types/jest": "^29.5.1", diff --git a/packages/electron/package.json b/packages/electron/package.json index 793421af..26b058ac 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -35,7 +35,7 @@ "/renderer" ], "dependencies": { - "@backtrace/node": "^0.1.3" + "@backtrace/node": "^0.2.0" }, "peerDependencies": { "electron": "12 - 26" diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index ef1d9902..aa77fc2e 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -57,7 +57,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace/node": "^0.1.0" + "@backtrace/node": "^0.2.0" }, "peerDependencies": { "@nestjs/common": "^9 || ^10" diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index a13c961a..ca1ed9d5 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,3 +1,10 @@ +# Version 0.2.0 + +- update `@backtrace/sdk-core` to `0.2.0` +- fix native reports not sending after startup (#204) +- fix global is undefined error (#187) +- add abort support to metrics and request handlers + # Version 0.1.3 - export `BacktraceNodeRequestHandler` diff --git a/packages/node/package.json b/packages/node/package.json index d275d759..df7f5f61 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/node", - "version": "0.1.3", + "version": "0.2.0", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 110811da7e806572676d9006eda36404fbf1c7eb Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 14:26:15 +0100 Subject: [PATCH 270/291] browser: version 0.2.0 (#214) Co-authored-by: Sebastian Alex --- package-lock.json | 4 ++-- packages/browser/CHANGELOG.md | 7 +++++++ packages/browser/package.json | 2 +- packages/react/package.json | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25f4ee72..9c53711c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20963,7 +20963,7 @@ }, "packages/browser": { "name": "@backtrace/browser", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "dependencies": { "@backtrace/sdk-core": "^0.2.0", @@ -21051,7 +21051,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/browser": "^0.1.0", + "@backtrace/browser": "^0.2.0", "@backtrace/sdk-core": "^0.2.0" }, "devDependencies": { diff --git a/packages/browser/CHANGELOG.md b/packages/browser/CHANGELOG.md index 5bdad96c..7b480bd3 100644 --- a/packages/browser/CHANGELOG.md +++ b/packages/browser/CHANGELOG.md @@ -1,3 +1,10 @@ +# Version 0.2.0 + +- update `@backtrace/sdk-core` to `0.2.0` +- add middleware modes to redux middleware, move JSON action to breadcrumb attributes +- fix global is undefined error (#187) +- add abort support to metrics and request handlers + # Version 0.1.0 - library rename to `@backtrace/browser` diff --git a/packages/browser/package.json b/packages/browser/package.json index 8d8a6c9d..adf6586c 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/browser", - "version": "0.1.0", + "version": "0.2.0", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/react/package.json b/packages/react/package.json index 870bf8ba..e87cfff9 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -47,7 +47,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/browser": "^0.1.0", + "@backtrace/browser": "^0.2.0", "@backtrace/sdk-core": "^0.2.0" }, "peerDependencies": { From dbd7b5fca6ab1b6d277f6c15e6769ae5c5426e07 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 15:11:56 +0100 Subject: [PATCH 271/291] react: version 0.2.0 (#215) Co-authored-by: Sebastian Alex --- package-lock.json | 6 +++--- packages/react/CHANGELOG.md | 7 +++++++ packages/react/package.json | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9c53711c..07a32172 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21048,7 +21048,7 @@ }, "packages/react": { "name": "@backtrace/react", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "dependencies": { "@backtrace/browser": "^0.2.0", @@ -21154,7 +21154,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.1" + "@backtrace/sourcemap-tools": "^0.2.0" }, "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", @@ -21214,7 +21214,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.1" + "@backtrace/sourcemap-tools": "^0.2.0" }, "devDependencies": { "@types/jest": "^29.5.1", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 2af235e4..c551cfe4 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,3 +1,10 @@ +# Version 0.2.0 + +- update `@backtrace/browser` to `0.2.0` +- add middleware modes to redux middleware, move JSON action to breadcrumb attributes +- fix global is undefined error (#187) +- add abort support to metrics and request handlers + # Version 0.1.0 - library rename to `@backtrace/react` diff --git a/packages/react/package.json b/packages/react/package.json index e87cfff9..08113851 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/react", - "version": "0.1.0", + "version": "0.2.0", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { From a2324918eb37a1d61dc01786faa6586acacc3f01 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 15:12:10 +0100 Subject: [PATCH 272/291] electron: version 0.2.0 (#216) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/electron/CHANGELOG.md | 7 +++++++ packages/electron/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07a32172..233dff9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20984,7 +20984,7 @@ }, "packages/electron": { "name": "@backtrace/electron", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "dependencies": { "@backtrace/node": "^0.2.0" diff --git a/packages/electron/CHANGELOG.md b/packages/electron/CHANGELOG.md index 7f5b32f8..5654e615 100644 --- a/packages/electron/CHANGELOG.md +++ b/packages/electron/CHANGELOG.md @@ -1,3 +1,10 @@ +# Version 0.2.0 + +- update `@backtrace/node` to `0.2.0` +- fix native reports not sending after startup (#204) +- fix global is undefined error (#187) +- add abort support to metrics and request handlers + # Version 0.1.0 Initial release. diff --git a/packages/electron/package.json b/packages/electron/package.json index 26b058ac..2f7a982e 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/electron", - "version": "0.1.0", + "version": "0.2.0", "description": "Backtrace-JavaScript Electron integration", "main": "main/index.js", "types": "main/index.d.ts", From dfc71b9c014cd7a7688f280bc043b9bc53ae6ece Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 28 Nov 2023 15:12:20 +0100 Subject: [PATCH 273/291] nestjs: version 0.2.0 (#217) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/nestjs/CHANGELOG.md | 7 +++++++ packages/nestjs/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 233dff9d..41541fc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20995,7 +20995,7 @@ }, "packages/nestjs": { "name": "@backtrace/nestjs", - "version": "0.1.1", + "version": "0.2.0", "license": "MIT", "dependencies": { "@backtrace/node": "^0.2.0" diff --git a/packages/nestjs/CHANGELOG.md b/packages/nestjs/CHANGELOG.md index 0cb2141a..b8c7db87 100644 --- a/packages/nestjs/CHANGELOG.md +++ b/packages/nestjs/CHANGELOG.md @@ -1,3 +1,10 @@ +# Version 0.2.0 + +- update `@backtrace/node` to `0.2.0` +- fix native reports not sending after startup (#204) +- fix global is undefined error (#187) +- add abort support to metrics and request handlers + # Version 0.1.1 - add support for Nest v10 diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index aa77fc2e..62711818 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/nestjs", - "version": "0.1.1", + "version": "0.2.0", "description": "Backtrace-JavaScript NestJS integration", "main": "lib/index.js", "types": "lib/index.d.ts", From 2b2a4ea27af49cbd3184f8963df9f560c673379d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Thu, 7 Dec 2023 12:42:34 +0100 Subject: [PATCH 274/291] sourcemap-tools: improve sourcemap search from source file (#218) Co-authored-by: Sebastian Alex --- .../{invalid2.js.map => invalid11.js.map} | 0 .../{invalid1.js.map => invalid22.js.map} | 0 .../cli/tests/sourcemaps/add-sources.spec.ts | 2 +- tools/sourcemap-tools/src/SourceProcessor.ts | 56 +++++++++++++++---- 4 files changed, 47 insertions(+), 11 deletions(-) rename tools/cli/tests/_files/invalid/{invalid2.js.map => invalid11.js.map} (100%) rename tools/cli/tests/_files/invalid/{invalid1.js.map => invalid22.js.map} (100%) diff --git a/tools/cli/tests/_files/invalid/invalid2.js.map b/tools/cli/tests/_files/invalid/invalid11.js.map similarity index 100% rename from tools/cli/tests/_files/invalid/invalid2.js.map rename to tools/cli/tests/_files/invalid/invalid11.js.map diff --git a/tools/cli/tests/_files/invalid/invalid1.js.map b/tools/cli/tests/_files/invalid/invalid22.js.map similarity index 100% rename from tools/cli/tests/_files/invalid/invalid1.js.map rename to tools/cli/tests/_files/invalid/invalid22.js.map diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index a2c1a25a..cca975bb 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -270,7 +270,7 @@ describe('add-sources', () => { }); assert(result.isErr(), 'result should be an error'); - expect(result.data).toMatch(/invalid1\.js\.map/); + expect(result.data).toMatch(/invalid11\.js\.map/); }), ); diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index e4beeb88..a372c42d 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -170,18 +170,54 @@ export class SourceProcessor { } public async getSourceMapPathFromSource(source: string, sourcePath: string): Promise { - const resolveFile = (filePath: string) => - pipe(filePath, statFile, (result) => - !result.isOk() || result.data.isFile() - ? filePath - : (path.join(filePath, path.basename(sourcePath) + '.map') as string | undefined), + const matchAll = (str: string, regex: RegExp) => { + const result: RegExpMatchArray[] = []; + // eslint-disable-next-line no-constant-condition + while (true) { + const match = regex.exec(str); + if (!match) { + return result; + } + result.push(match); + } + }; + + const checkFile = (filePath: string) => + pipe(filePath, statFile, (result) => (result.isOk() && result.data.isFile() ? filePath : undefined)); + + const sourceMapName = path.basename(sourcePath) + '.map'; + const checkFileInDir = (dir: string) => + pipe(dir, statFile, (result) => + result.isOk() && result.data.isDirectory() + ? // If path exists and is a directory, check if file exists in that dir + checkFile(path.join(dir, sourceMapName)) + : // If path does not exist or is not a directory, check if file exists in dir of that path + checkFile(path.join(path.dirname(dir), sourceMapName)), ); - return pipe(source.match(/^\/\/# sourceMappingURL=(.+)$/m), (match) => - !match || !match[1] - ? undefined - : pipe(match[1], (match) => path.resolve(path.dirname(sourcePath), match), resolveFile), - ); + const matches = matchAll(source, /^\s*\/\/# sourceMappingURL=(.+)$/gm); + if (!matches.length) { + return checkFileInDir(sourcePath); + } + + for (const match of matches.reverse()) { + const file = match[1]; + if (!file) { + continue; + } + + const fullPath = path.resolve(path.dirname(sourcePath), file); + if (await checkFile(fullPath)) { + return fullPath; + } + + const fileInDir = await checkFileInDir(fullPath); + if (fileInDir) { + return fileInDir; + } + } + + return checkFileInDir(sourcePath); } public async addSourcesToSourceMap( From 0a4cfd1c76be7be037e4e2b531162910479c5604 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 12 Dec 2023 11:56:20 +0100 Subject: [PATCH 275/291] cli: add-sources error behavior (#220) * sourcemap-tools: add force and more results to add sources * cli: add overload to logAsset and rename it to createAssetLogger * cli: add helper methods to errorBehavior * cli: process addSources result with behavior --------- Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/errorBehavior.ts | 16 +++- tools/cli/src/helpers/logs.ts | 33 ++++--- tools/cli/src/sourcemaps/add-sources.ts | 87 +++++++++++++++---- tools/cli/src/sourcemaps/process.ts | 4 +- tools/cli/src/sourcemaps/run.ts | 8 +- tools/cli/src/sourcemaps/upload.ts | 8 +- .../cli/tests/sourcemaps/add-sources.spec.ts | 35 ++++++-- tools/cli/tests/sourcemaps/run.spec.ts | 9 +- tools/sourcemap-tools/src/SourceProcessor.ts | 52 +++++++++-- .../tests/SourceProcessor.spec.ts | 23 +++-- 10 files changed, 217 insertions(+), 58 deletions(-) diff --git a/tools/cli/src/helpers/errorBehavior.ts b/tools/cli/src/helpers/errorBehavior.ts index e86ddc3f..6b5fe3bf 100644 --- a/tools/cli/src/helpers/errorBehavior.ts +++ b/tools/cli/src/helpers/errorBehavior.ts @@ -1,4 +1,4 @@ -import { Err, Ok, Result, ResultErr } from '@backtrace/sourcemap-tools'; +import { Err, LogLevel, Ok, Result, ResultErr } from '@backtrace/sourcemap-tools'; export const ErrorBehaviors = { exit: 'exit', @@ -52,3 +52,17 @@ export function filterBehaviorSkippedElements(asset: Array !(typeof a === 'object' && !!a && 'reason' in a && a.reason instanceof ResultErr), ) as T[]; } + +export function isFatal(behavior: ErrorBehavior) { + return behavior === 'exit'; +} + +export function shouldLog(behavior: ErrorBehavior): behavior is LogLevel { + switch (behavior) { + case 'exit': + case 'skip': + return false; + default: + return true; + } +} diff --git a/tools/cli/src/helpers/logs.ts b/tools/cli/src/helpers/logs.ts index c3374c67..8315bdf3 100644 --- a/tools/cli/src/helpers/logs.ts +++ b/tools/cli/src/helpers/logs.ts @@ -2,19 +2,30 @@ import { Asset, log, LogLevel, ProcessAssetResult } from '@backtrace/sourcemap-t import { CliLogger } from '../logger'; import { SourceAndSourceMapPaths } from '../models/Asset'; -export function logAsset(logger: CliLogger, level: LogLevel) { - const logFn = log(logger, level); +export function createAssetLogger( + logger: CliLogger, +): (level: LogLevel) => (message: string | ((t: T) => string)) => (asset: T) => T; +export function createAssetLogger( + logger: CliLogger, + level: LogLevel, +): (message: string | ((t: T) => string)) => (asset: T) => T; +export function createAssetLogger(logger: CliLogger, level?: LogLevel) { + function logAsset(level: LogLevel) { + const logFn = log(logger, level); - return function logAsset(message: string | ((t: T) => string)) { - return function logAsset(asset: T) { - return logFn( - (t) => - `${'name' in t ? t.name : t.asset.name}: ${ - typeof message === 'function' ? message(asset) : message - }`, - )(asset); + return function logAsset(message: string | ((t: T) => string)) { + return function logAsset(asset: T) { + return logFn( + (t) => + `${'name' in t ? t.name : t.asset.name}: ${ + typeof message === 'function' ? message(asset) : message + }`, + )(asset); + }; }; - }; + } + + return level ? logAsset(level) : logAsset; } export const logAssets = diff --git a/tools/cli/src/sourcemaps/add-sources.ts b/tools/cli/src/sourcemaps/add-sources.ts index c2756272..26d0f05d 100644 --- a/tools/cli/src/sourcemaps/add-sources.ts +++ b/tools/cli/src/sourcemaps/add-sources.ts @@ -1,4 +1,5 @@ import { + AddSourcesResult, Asset, AssetWithContent, DebugIdGenerator, @@ -18,6 +19,7 @@ import { pipe, R, RawSourceMap, + Result, ResultPromise, SourceProcessor, } from '@backtrace/sourcemap-tools'; @@ -25,9 +27,17 @@ import path from 'path'; import { GlobalOptions } from '..'; import { Command, CommandContext } from '../commands/Command'; import { readSourceMapFromPathOrFromSource, toAsset, writeAsset } from '../helpers/common'; -import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; +import { + ErrorBehavior, + ErrorBehaviors, + filterBehaviorSkippedElements, + getErrorBehavior, + handleError, + isFatal, + shouldLog, +} from '../helpers/errorBehavior'; import { buildIncludeExclude, file2Or1FromTuple, findTuples } from '../helpers/find'; -import { logAsset } from '../helpers/logs'; +import { createAssetLogger } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; @@ -41,6 +51,11 @@ export interface AddSourcesOptions extends GlobalOptions { readonly skipFailing: boolean; readonly 'pass-with-no-files': boolean; readonly 'asset-error-behavior': string; + readonly 'source-error-behavior': string; +} + +interface AssetAddSourcesResult extends AssetWithContent { + readonly result: AddSourcesResult; } export const addSourcesCmd = new Command({ @@ -86,6 +101,13 @@ export const addSourcesCmd = new Command({ type: String, description: `What to do when an asset fails. Can be one of: ${Object.keys(ErrorBehaviors).join(', ')}.`, }) + .option({ + name: 'source-error-behavior', + type: String, + description: `What to do when reading sourcepath fails. Can be one of: ${Object.keys(ErrorBehaviors).join( + ', ', + )}.`, + }) .option({ name: 'pass-with-no-files', type: Boolean, @@ -123,8 +145,9 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'debug'); - const logTraceAsset = logAsset(logger, 'trace'); + const logAsset = createAssetLogger(logger); + const logDebugAsset = logAsset('debug'); + const logTraceAsset = logAsset('trace'); const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); if (assetErrorBehaviorResult.isErr()) { @@ -134,10 +157,46 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C const assetErrorBehavior = assetErrorBehaviorResult.data; + const sourceErrorBehaviorResult = getErrorBehavior(opts['source-error-behavior'] ?? 'warn'); + if (sourceErrorBehaviorResult.isErr()) { + logger.info(getHelpMessage()); + return sourceErrorBehaviorResult; + } + + const sourceErrorBehavior = sourceErrorBehaviorResult.data; + const handleFailedAsset = handleError(assetErrorBehavior); const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => - logAsset(logger, level)(err)(asset); + createAssetLogger(logger, level)(err)(asset); + + const processAssetResult = + (behavior: ErrorBehavior) => + (result: AssetAddSourcesResult): Result => { + const { succeeded, skipped, failed } = result.result; + if (failed.length) { + if (isFatal(behavior)) { + return Err( + `failed to find source for ${failed[0]}` + + (failed.length > 1 ? ` (and ${failed.length} more)` : ''), + ); + } else if (shouldLog(behavior)) { + for (const path of failed) { + logAsset(behavior)(`failed to find source for ${path}`)(result); + } + } + } + + for (const path of skipped) { + logDebugAsset(`skipped source for ${path}`)(result); + } + + for (const path of succeeded) { + logTraceAsset(`added source for ${path}`)(result); + } + + return Ok(result); + }; const addSourcesCommand = (asset: Asset) => pipe( @@ -147,6 +206,7 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C R.map(logDebugAsset('read sourcemap')), R.map(logTraceAsset('adding source')), R.map(addSourceToSourceMap(opts.force ?? false)), + R.map(processAssetResult(sourceErrorBehavior)), R.map(logDebugAsset('source added')), R.map( opts['dry-run'] @@ -192,19 +252,14 @@ export async function addSourcesToSourcemaps({ opts, logger, getHelpMessage }: C export function addSourceToSourceMap(force: boolean) { const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - const hasSources = (asset: AssetWithContent): asset is AssetWithContent => - sourceProcessor.doesSourceMapHaveSources(asset.content); - return async function addSourceToSourceMap( asset: AssetWithContent, - ): ResultPromise, string> { - return !hasSources(asset) || force - ? pipe( - asset, - (asset) => sourceProcessor.addSourcesToSourceMap(asset.content, asset.path), - R.map((content) => ({ ...asset, content } as AssetWithContent)), - ) - : Ok(asset); + ): ResultPromise { + return pipe( + asset, + (asset) => sourceProcessor.addSourcesToSourceMap(asset.content, asset.path, force), + R.map((result) => ({ ...asset, content: result.sourceMap, result })), + ); }; } diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index b0cdb60a..4d2c9bfa 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -26,7 +26,7 @@ import { Command, CommandContext } from '../commands/Command'; import { readSourceAndSourceMap, toSourceAndSourceMapPaths, writeSourceAndSourceMap } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { buildIncludeExclude, findTuples } from '../helpers/find'; -import { logAsset, logAssets } from '../helpers/logs'; +import { createAssetLogger, logAssets } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; import { SourceAndSourceMapPaths } from '../models/Asset'; @@ -135,7 +135,7 @@ export async function processSources({ opts, logger, getHelpMessage }: CommandCo const handleFailedAsset = handleError(assetErrorBehavior); const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => - logAsset(logger, level)(err)(asset); + createAssetLogger(logger, level)(err)(asset); const processAssetCommand = (asset: SourceAndSourceMapPaths) => pipe( diff --git a/tools/cli/src/sourcemaps/run.ts b/tools/cli/src/sourcemaps/run.ts index 0dc1a814..b4fbbe14 100644 --- a/tools/cli/src/sourcemaps/run.ts +++ b/tools/cli/src/sourcemaps/run.ts @@ -37,7 +37,7 @@ import { } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { buildIncludeExclude, findTuples } from '../helpers/find'; -import { logAsset, logAssets } from '../helpers/logs'; +import { createAssetLogger, logAssets } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { SourceAndSourceMapPaths } from '../models/Asset'; import { findConfig, joinOptions, loadOptions } from '../options/loadOptions'; @@ -225,8 +225,8 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com const logInfo = log(logger, 'info'); const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'trace'); - const logTraceAsset = logAsset(logger, 'trace'); + const logDebugAsset = createAssetLogger(logger, 'trace'); + const logTraceAsset = createAssetLogger(logger, 'trace'); const logDebugAssets = logAssets(logger, 'debug'); const logTraceAssets = logAssets(logger, 'trace'); @@ -241,7 +241,7 @@ export async function runSourcemapCommands({ opts, logger, getHelpMessage }: Com const handleFailedAsset = handleError(assetErrorBehavior); const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => - logAsset(logger, level)(err)(asset); + createAssetLogger(logger, level)(err)(asset); const readAssetCommand = (asset: SourceAndSourceMapPaths) => pipe( diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index e76c2855..52b8858a 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -37,7 +37,7 @@ import { Command, CommandContext } from '../commands/Command'; import { isAssetProcessed, readSourceMapFromPathOrFromSource, toAsset, uniqueBy, validateUrl } from '../helpers/common'; import { ErrorBehaviors, filterBehaviorSkippedElements, getErrorBehavior, handleError } from '../helpers/errorBehavior'; import { buildIncludeExclude, file2Or1FromTuple, findTuples } from '../helpers/find'; -import { logAsset } from '../helpers/logs'; +import { createAssetLogger } from '../helpers/logs'; import { normalizePaths, relativePaths } from '../helpers/normalizePaths'; import { CliLogger } from '../logger'; import { findConfig, loadOptionsForCommand } from '../options/loadOptions'; @@ -196,8 +196,8 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command const logDebug = log(logger, 'debug'); const logTrace = log(logger, 'trace'); - const logDebugAsset = logAsset(logger, 'debug'); - const logTraceAsset = logAsset(logger, 'trace'); + const logDebugAsset = createAssetLogger(logger, 'debug'); + const logTraceAsset = createAssetLogger(logger, 'trace'); const assetErrorBehaviorResult = getErrorBehavior(opts['asset-error-behavior'] ?? 'exit'); if (assetErrorBehaviorResult.isErr()) { @@ -210,7 +210,7 @@ export async function uploadSourcemaps({ opts, logger, getHelpMessage }: Command const handleFailedAsset = handleError(assetErrorBehavior); const logAssetBehaviorError = (asset: Asset) => (err: string, level: LogLevel) => - logAsset(logger, level)(err)(asset); + createAssetLogger(logger, level)(err)(asset); const isAssetProcessedCommand = (asset: AssetWithContent) => pipe( diff --git a/tools/cli/tests/sourcemaps/add-sources.spec.ts b/tools/cli/tests/sourcemaps/add-sources.spec.ts index cca975bb..49a2a143 100644 --- a/tools/cli/tests/sourcemaps/add-sources.spec.ts +++ b/tools/cli/tests/sourcemaps/add-sources.spec.ts @@ -7,6 +7,10 @@ import { expectAllKeysToChange, filterKeys, getHelpMessage } from '../_helpers/c import { expectHashesToChange, hashEachFile, hashFiles, withWorkingCopy } from '../_helpers/testFiles'; describe('add-sources', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + describe('returning value', () => { it( 'should return processed sourcemaps', @@ -79,7 +83,7 @@ describe('add-sources', () => { const files = await glob(`${workingDir}/*.js.map`); for (const file of files) { - expect(spy).toBeCalledWith(expect.anything(), file); + expect(spy).toBeCalledWith(expect.anything(), file, expect.any(Boolean)); } }), ); @@ -167,7 +171,7 @@ describe('add-sources', () => { const files = await glob(`${workingDir}/*.js.map`); for (const file of files) { - expect(spy).toBeCalledWith(expect.anything(), file); + expect(spy).toBeCalledWith(expect.anything(), file, expect.any(Boolean)); } }), ); @@ -226,7 +230,7 @@ describe('add-sources', () => { const files = await glob(`${workingDir}/*.js.map`); for (const file of files) { - expect(spy).toBeCalledWith(expect.anything(), file); + expect(spy).toBeCalledWith(expect.anything(), file, expect.any(Boolean)); } }), ); @@ -266,6 +270,7 @@ describe('add-sources', () => { getHelpMessage, opts: { path: workingDir, + 'source-error-behavior': 'exit', }, }); @@ -286,6 +291,7 @@ describe('add-sources', () => { getHelpMessage, opts: { path: [workingDir], + 'source-error-behavior': 'exit', }, }); @@ -309,6 +315,7 @@ describe('add-sources', () => { getHelpMessage, opts: { path: [workingDir], + 'source-error-behavior': 'exit', }, }); @@ -336,6 +343,22 @@ describe('add-sources', () => { }), ); + it( + 'should not fail with source-error-behavior=skip', + withWorkingCopy('invalid', async (workingDir) => { + const result = await addSourcesToSourcemaps({ + logger: new CliLogger({ level: 'output', silent: true }), + getHelpMessage, + opts: { + path: workingDir, + 'source-error-behavior': 'skip', + }, + }); + + assert(result.isOk(), result.data as string); + }), + ); + it( 'should modify valid sourcemaps in place with asset-error-behavior=skip', withWorkingCopy(['invalid', 'original'], async (workingDir) => { @@ -390,7 +413,7 @@ describe('add-sources', () => { const files = await glob(`${workingDir}/*.js.map`); for (const file of files) { - expect(spy).toBeCalledWith(expect.anything(), file); + expect(spy).toBeCalledWith(expect.anything(), file, expect.any(Boolean)); } }), ); @@ -449,7 +472,7 @@ describe('add-sources', () => { const files = await glob(`${workingDir}/*.js.map`); for (const file of files) { - expect(spy).toBeCalledWith(expect.anything(), file); + expect(spy).toBeCalledWith(expect.anything(), file, expect.any(Boolean)); } }), ); @@ -514,7 +537,7 @@ describe('add-sources', () => { const files = await glob(`${workingDir}/*.js.map`); for (const file of files) { - expect(spy).toBeCalledWith(expect.anything(), file); + expect(spy).toBeCalledWith(expect.anything(), file, expect.any(Boolean)); } }), ); diff --git a/tools/cli/tests/sourcemaps/run.spec.ts b/tools/cli/tests/sourcemaps/run.spec.ts index 4fa3c52a..5331e680 100644 --- a/tools/cli/tests/sourcemaps/run.spec.ts +++ b/tools/cli/tests/sourcemaps/run.spec.ts @@ -257,7 +257,14 @@ describe('run', () => { type InnerAddSources = ReturnType; const innerAddSources = jest .fn, Parameters>() - .mockImplementation((asset) => Promise.resolve(Ok(asset))); + .mockImplementation((asset) => + Promise.resolve( + Ok({ + ...asset, + result: { sourceMap: {} as never, succeeded: [], skipped: [], failed: [] }, + }), + ), + ); const addSourcesSpy = jest .spyOn(addSourcesCmd, 'addSourceToSourceMap') diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index a372c42d..89e00a28 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -18,6 +18,25 @@ export interface ProcessResultWithPaths extends ProcessResult { readonly sourceMapPath: string; } +export interface AddSourcesResult { + readonly sourceMap: RawSourceMap; + + /** + * Source paths that were successfully added. + */ + readonly succeeded: string[]; + + /** + * Source paths that failed to read, but source content was already in the sourcemap. + */ + readonly skipped: string[]; + + /** + * Source paths that failed to read and the sources content was not in the sourcemap. + */ + readonly failed: string[]; +} + export class SourceProcessor { constructor(private readonly _debugIdGenerator: DebugIdGenerator) {} @@ -223,7 +242,8 @@ export class SourceProcessor { public async addSourcesToSourceMap( sourceMap: string | RawSourceMap, sourceMapPath: string, - ): ResultPromise { + force: boolean, + ): ResultPromise { if (typeof sourceMap === 'string') { const parseResult = parseJSON(sourceMap); if (parseResult.isErr()) { @@ -236,19 +256,35 @@ export class SourceProcessor { ? path.resolve(path.dirname(sourceMapPath), sourceMap.sourceRoot) : path.resolve(path.dirname(sourceMapPath)); - const sourcesContent: string[] = []; - for (const sourcePath of sourceMap.sources) { + const succeeded: string[] = []; + const skipped: string[] = []; + const failed: string[] = []; + + const sourcesContent: string[] = sourceMap.sourcesContent ?? []; + for (let i = 0; i < sourceMap.sources.length; i++) { + const sourcePath = sourceMap.sources[i]; + if (sourcesContent[i] && !force) { + skipped.push(sourcePath); + continue; + } + const readResult = await readFile(path.resolve(sourceRoot, sourcePath)); if (readResult.isErr()) { - return readResult; + failed.push(sourcePath); + } else { + sourcesContent[i] = readResult.data; + succeeded.push(sourcePath); } - - sourcesContent.push(readResult.data); } return Ok({ - ...sourceMap, - sourcesContent, + sourceMap: { + ...sourceMap, + sourcesContent, + }, + succeeded, + skipped, + failed, }); } diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index 744acea4..f69c8113 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -303,13 +303,26 @@ function foo(){console.log("Hello World!")}foo();`; const sourceMapContent = await fs.promises.readFile(sourceMapPath, 'utf-8'); const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath); + const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath, false); assert(result.isOk()); - expect(result.data.sourcesContent).toEqual([sourceContent]); + expect(result.data.sourceMap.sourcesContent).toEqual([sourceContent]); }); - it('should overwrite sources in source map', async () => { + it('should not overwrite sources in source map when force is false', async () => { + const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); + + const sourceMapContent = JSON.parse(await fs.promises.readFile(sourceMapPath, 'utf-8')) as RawSourceMap; + sourceMapContent.sourcesContent = ['abc']; + + const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath, false); + assert(result.isOk()); + + expect(result.data.sourceMap.sourcesContent).toEqual(['abc']); + }); + + it('should overwrite sources in source map when force is true', async () => { const originalSourcePath = path.join(__dirname, './testFiles/source.ts'); const sourceMapPath = path.join(__dirname, './testFiles/source.js.map'); @@ -318,10 +331,10 @@ function foo(){console.log("Hello World!")}foo();`; sourceMapContent.sourcesContent = ['abc']; const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath); + const result = await sourceProcessor.addSourcesToSourceMap(sourceMapContent, sourceMapPath, true); assert(result.isOk()); - expect(result.data.sourcesContent).toEqual([sourceContent]); + expect(result.data.sourceMap.sourcesContent).toEqual([sourceContent]); }); }); From 094eb47f76d4268ace0900dc8c53f0fda8cdf8b4 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 12 Dec 2023 12:05:18 +0100 Subject: [PATCH 276/291] cli, sourcemap-tools: force snippet/comment generation (#219) * sourcemap-tools: attempt to add snippets and comments if they do not exist * cli: improve assets logging * cli: trust sourceProcessor with finding sourcemap path * cli: always process file with force passed to sourceProcessor * cli: fix unit tests * sourcemap-tools: add doc about regexp in DebugIdGenerator --------- Co-authored-by: Sebastian Alex --- tools/cli/src/helpers/common.ts | 1 - tools/cli/src/helpers/logs.ts | 17 +++---- tools/cli/src/sourcemaps/process.ts | 36 ++++++-------- .../entry1.js | 2 +- .../entry2.js | 2 +- .../entry1.js | 2 +- .../entry2.js | 2 +- .../processed-not-linked-sourcemaps/entry1.js | 2 +- .../processed-not-linked-sourcemaps/entry2.js | 2 +- .../tests/_files/processed-sources/entry1.js | 2 +- .../tests/_files/processed-sources/entry2.js | 2 +- .../_files/processed-with-sources/entry1.js | 2 +- .../_files/processed-with-sources/entry2.js | 2 +- tools/cli/tests/_files/processed/entry1.js | 2 +- tools/cli/tests/_files/processed/entry2.js | 2 +- tools/cli/tests/sourcemaps/process.spec.ts | 49 ++++++++++++++++--- tools/sourcemap-tools/src/DebugIdGenerator.ts | 19 ++++++- tools/sourcemap-tools/src/SourceProcessor.ts | 26 ++++++---- .../tests/DebugIdGenerator.spec.ts | 4 +- .../tests/SourceProcessor.spec.ts | 29 ++++++----- 20 files changed, 129 insertions(+), 76 deletions(-) diff --git a/tools/cli/src/helpers/common.ts b/tools/cli/src/helpers/common.ts index d066f336..2f3e7243 100644 --- a/tools/cli/src/helpers/common.ts +++ b/tools/cli/src/helpers/common.ts @@ -119,7 +119,6 @@ function resolveSourceMapPath(sourceProcessor: SourceProcessor) { return pipe( asset.path, (path) => sourceProcessor.getSourceMapPathFromSourceFile(path), - R.map((result) => result ?? pathIfExists(`${asset.path}.map`)), R.map((path) => (path ? Ok(path) : Err('could not find source map for source'))), R.map((path) => ({ ...asset, diff --git a/tools/cli/src/helpers/logs.ts b/tools/cli/src/helpers/logs.ts index 8315bdf3..7fc1a852 100644 --- a/tools/cli/src/helpers/logs.ts +++ b/tools/cli/src/helpers/logs.ts @@ -1,26 +1,21 @@ -import { Asset, log, LogLevel, ProcessAssetResult } from '@backtrace/sourcemap-tools'; +import { Asset, log, LogLevel } from '@backtrace/sourcemap-tools'; import { CliLogger } from '../logger'; import { SourceAndSourceMapPaths } from '../models/Asset'; export function createAssetLogger( logger: CliLogger, -): (level: LogLevel) => (message: string | ((t: T) => string)) => (asset: T) => T; +): (level: LogLevel) => (message: string | ((t: T) => string)) => (asset: T) => T; export function createAssetLogger( logger: CliLogger, level: LogLevel, -): (message: string | ((t: T) => string)) => (asset: T) => T; +): (message: string | ((t: T) => string)) => (asset: T) => T; export function createAssetLogger(logger: CliLogger, level?: LogLevel) { function logAsset(level: LogLevel) { const logFn = log(logger, level); - return function logAsset(message: string | ((t: T) => string)) { + return function logAsset(message: string | ((t: T) => string)) { return function logAsset(asset: T) { - return logFn( - (t) => - `${'name' in t ? t.name : t.asset.name}: ${ - typeof message === 'function' ? message(asset) : message - }`, - )(asset); + return logFn((t) => `${t.name}: ${typeof message === 'function' ? message(asset) : message}`)(asset); }; }; } @@ -32,4 +27,4 @@ export const logAssets = (logger: CliLogger, level: LogLevel) => (message: string) => (assets: T) => - log(logger, level)(`${assets.source.name}: ${message}`)(assets); + log(logger, level)(`${assets.source.name}:${assets.sourceMap?.name ?? '?'}: ${message}`)(assets); diff --git a/tools/cli/src/sourcemaps/process.ts b/tools/cli/src/sourcemaps/process.ts index 4d2c9bfa..2da49c34 100644 --- a/tools/cli/src/sourcemaps/process.ts +++ b/tools/cli/src/sourcemaps/process.ts @@ -199,28 +199,24 @@ export function processSource(force: boolean) { sourceMapDebugId: getSourceMapDebugId(sourceAndSourceMap), }); - const shouldProcess = (sourceDebugId: string | undefined, sourceMapDebugId: string | undefined) => - force || !sourceDebugId || !sourceMapDebugId || sourceDebugId !== sourceMapDebugId; - return async function processSource(asset: SourceAndSourceMap): Promise { return pipe(asset, getDebugIds, ({ sourceDebugId, sourceMapDebugId }) => - shouldProcess(sourceDebugId, sourceMapDebugId) - ? pipe( - asset, - (asset) => - sourceProcessor.processSourceAndSourceMap( - asset.source.content, - asset.sourceMap.content, - sourceDebugId ?? sourceMapDebugId, - ), - (result) => - ({ - source: { ...asset.source, content: result.source }, - sourceMap: { ...asset.sourceMap, content: result.sourceMap }, - debugId: result.debugId, - } as ProcessedSourceAndSourceMap), - ) - : ({ ...asset, debugId: sourceDebugId } as ProcessedSourceAndSourceMap), + pipe( + asset, + (asset) => + sourceProcessor.processSourceAndSourceMap( + asset.source.content, + asset.sourceMap.content, + sourceDebugId ?? sourceMapDebugId, + force, + ), + (result) => + ({ + source: { ...asset.source, content: result.source }, + sourceMap: { ...asset.sourceMap, content: result.sourceMap }, + debugId: result.debugId, + } as ProcessedSourceAndSourceMap), + ), ); }; } diff --git a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js index 0ea660f7..9dacc1d3 100644 --- a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js +++ b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry1.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="4fe9a5c9-ab48-b240-9469-04aa2db251b6",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js index 6c17bb4c..fcd75fcf 100644 --- a/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js +++ b/tools/cli/tests/_files/processed-directory-linked-sourcemaps/entry2.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="d538bdaa-8149-8111-25f0-b5c0f472366a",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js index 06b37938..e2692f1f 100644 --- a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js +++ b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry1.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="4fe9a5c9-ab48-b240-9469-04aa2db251b6",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js index 01807da2..8ab68139 100644 --- a/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js +++ b/tools/cli/tests/_files/processed-not-linked-different-name-sourcemaps/entry2.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="d538bdaa-8149-8111-25f0-b5c0f472366a",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js index 06b37938..e2692f1f 100644 --- a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js +++ b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry1.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="4fe9a5c9-ab48-b240-9469-04aa2db251b6",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js index 01807da2..8ab68139 100644 --- a/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js +++ b/tools/cli/tests/_files/processed-not-linked-sourcemaps/entry2.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="d538bdaa-8149-8111-25f0-b5c0f472366a",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-sources/entry1.js b/tools/cli/tests/_files/processed-sources/entry1.js index b794798d..c8d4c332 100644 --- a/tools/cli/tests/_files/processed-sources/entry1.js +++ b/tools/cli/tests/_files/processed-sources/entry1.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="4fe9a5c9-ab48-b240-9469-04aa2db251b6",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-sources/entry2.js b/tools/cli/tests/_files/processed-sources/entry2.js index 37540d13..ed6bbbe9 100644 --- a/tools/cli/tests/_files/processed-sources/entry2.js +++ b/tools/cli/tests/_files/processed-sources/entry2.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="d538bdaa-8149-8111-25f0-b5c0f472366a",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-with-sources/entry1.js b/tools/cli/tests/_files/processed-with-sources/entry1.js index b794798d..c8d4c332 100644 --- a/tools/cli/tests/_files/processed-with-sources/entry1.js +++ b/tools/cli/tests/_files/processed-with-sources/entry1.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="4fe9a5c9-ab48-b240-9469-04aa2db251b6",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed-with-sources/entry2.js b/tools/cli/tests/_files/processed-with-sources/entry2.js index 37540d13..ed6bbbe9 100644 --- a/tools/cli/tests/_files/processed-with-sources/entry2.js +++ b/tools/cli/tests/_files/processed-with-sources/entry2.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="d538bdaa-8149-8111-25f0-b5c0f472366a",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed/entry1.js b/tools/cli/tests/_files/processed/entry1.js index b794798d..c8d4c332 100644 --- a/tools/cli/tests/_files/processed/entry1.js +++ b/tools/cli/tests/_files/processed/entry1.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="4fe9a5c9-ab48-b240-9469-04aa2db251b6")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="4fe9a5c9-ab48-b240-9469-04aa2db251b6",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/_files/processed/entry2.js b/tools/cli/tests/_files/processed/entry2.js index 37540d13..ed6bbbe9 100644 --- a/tools/cli/tests/_files/processed/entry2.js +++ b/tools/cli/tests/_files/processed/entry2.js @@ -1,4 +1,4 @@ -;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="d538bdaa-8149-8111-25f0-b5c0f472366a")}catch(e){}}(); +;!function(){try{var k="_btDebugIds",u="undefined",v="d538bdaa-8149-8111-25f0-b5c0f472366a",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}(); function doSomething() { console.log('Done something'); } diff --git a/tools/cli/tests/sourcemaps/process.spec.ts b/tools/cli/tests/sourcemaps/process.spec.ts index 90710d24..509b8c0c 100644 --- a/tools/cli/tests/sourcemaps/process.spec.ts +++ b/tools/cli/tests/sourcemaps/process.spec.ts @@ -84,7 +84,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); @@ -194,7 +199,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); @@ -358,7 +368,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); @@ -439,7 +454,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); @@ -520,7 +540,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); @@ -601,7 +626,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); @@ -688,7 +718,12 @@ describe('process', () => { assert(result.isOk(), result.data as string); for (const source of Object.values(originalSources)) { - expect(spy).toBeCalledWith(source, expect.anything(), expectAnythingOrNothing()); + expect(spy).toBeCalledWith( + source, + expect.anything(), + expectAnythingOrNothing(), + expectAnythingOrNothing(), + ); } }), ); diff --git a/tools/sourcemap-tools/src/DebugIdGenerator.ts b/tools/sourcemap-tools/src/DebugIdGenerator.ts index e15c320d..cf6d1988 100644 --- a/tools/sourcemap-tools/src/DebugIdGenerator.ts +++ b/tools/sourcemap-tools/src/DebugIdGenerator.ts @@ -2,6 +2,11 @@ export const SOURCE_DEBUG_ID_VARIABLE = '_btDebugIds'; export const SOURCE_DEBUG_ID_COMMENT = 'debugId'; export const SOURCEMAP_DEBUG_ID_KEY = 'debugId'; +/** + * Matches leading and trailing semicolons, e.g. in `;;foo;bar;;` + */ +const MATCH_SEMICOLONS_REGEX = /^;+|;+$/; + export class DebugIdGenerator { public generateSourceSnippet(uuid: string) { return `;!function(){try{var k="${SOURCE_DEBUG_ID_VARIABLE}",u="undefined",v="${uuid}",a=function(x){try{x[k]=x[k]||{};x[k][n]=v}catch{}},n=(new Error).stack;n&&(u!=typeof window?a(window):u);n&&(u!=typeof global?a(global):u);n&&(u!=typeof self?a(self):u);n&&(u!=typeof globalThis?a(globalThis):u)}catch{}}();`; @@ -15,7 +20,7 @@ export class DebugIdGenerator { const replaceAll = () => source.replace(oldDebugId, newDebugId); // Try to replace more safely first - const oldSourceSnippet = this.generateSourceSnippet(oldDebugId); + const oldSourceSnippet = this.generateSourceSnippet(oldDebugId).replace(MATCH_SEMICOLONS_REGEX, ''); if (source.indexOf(oldSourceSnippet) !== -1) { source = source.replace(oldSourceSnippet, this.generateSourceSnippet(newDebugId)); } else { @@ -32,7 +37,17 @@ export class DebugIdGenerator { return source; } - public getSourceDebugId(source: string): string | undefined { + public hasCodeSnippet(source: string, debugId: string) { + const sourceSnippet = this.generateSourceSnippet(debugId).replace(MATCH_SEMICOLONS_REGEX, ''); + return source.includes(sourceSnippet); + } + + public hasCommentSnippet(source: string, debugId: string) { + const commentSnippet = this.generateSourceComment(debugId); + return source.includes(commentSnippet); + } + + public getSourceDebugIdFromComment(source: string): string | undefined { const regex = new RegExp(`^//# ${SOURCE_DEBUG_ID_COMMENT}=(.+)$`, 'm'); const match = source.match(regex); if (!match) { diff --git a/tools/sourcemap-tools/src/SourceProcessor.ts b/tools/sourcemap-tools/src/SourceProcessor.ts index 89e00a28..c4b2d800 100644 --- a/tools/sourcemap-tools/src/SourceProcessor.ts +++ b/tools/sourcemap-tools/src/SourceProcessor.ts @@ -41,7 +41,7 @@ export class SourceProcessor { constructor(private readonly _debugIdGenerator: DebugIdGenerator) {} public isSourceProcessed(source: string): boolean { - return !!this._debugIdGenerator.getSourceDebugId(source); + return !!this._debugIdGenerator.getSourceDebugIdFromComment(source); } public isSourceMapProcessed(sourceMap: RawSourceMap): boolean { @@ -66,7 +66,7 @@ export class SourceProcessor { } public getSourceDebugId(source: string): string | undefined { - return this._debugIdGenerator.getSourceDebugId(source); + return this._debugIdGenerator.getSourceDebugIdFromComment(source); } public getSourceMapDebugId(sourceMap: RawSourceMap): string | undefined { @@ -93,29 +93,29 @@ export class SourceProcessor { source: string, sourceMap: RawSourceMap, debugId?: string, + force?: boolean, ): Promise { const sourceDebugId = this.getSourceDebugId(source); if (!debugId) { debugId = sourceDebugId ?? stringToUuid(source); } - let newSource: string | undefined; + let newSource = source; let offsetSourceMap: RawSourceMap | undefined; // If source has debug ID, but it is different, we need to only replace it if (sourceDebugId && debugId !== sourceDebugId) { newSource = this._debugIdGenerator.replaceDebugId(source, sourceDebugId, debugId); - } else if (!sourceDebugId) { + } + + if (force || !sourceDebugId || !this._debugIdGenerator.hasCodeSnippet(source, debugId)) { const sourceSnippet = this._debugIdGenerator.generateSourceSnippet(debugId); const shebang = source.match(/^(#!.+\n)/)?.[1]; - const sourceWithSnippet = shebang + newSource = shebang ? shebang + sourceSnippet + '\n' + source.substring(shebang.length) : sourceSnippet + '\n' + source; - const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); - newSource = appendBeforeWhitespaces(sourceWithSnippet, '\n' + sourceComment); - // We need to offset the source map by amount of lines that we're inserting to the source code // Sourcemaps map code like this: // original code X:Y => generated code A:B @@ -126,8 +126,13 @@ export class SourceProcessor { offsetSourceMap = await this.offsetSourceMap(sourceMap, sourceSnippetNewlineCount + 1); } + if (force || !sourceDebugId || !this._debugIdGenerator.hasCommentSnippet(source, debugId)) { + const sourceComment = this._debugIdGenerator.generateSourceComment(debugId); + newSource = appendBeforeWhitespaces(newSource, '\n' + sourceComment); + } + const newSourceMap = this._debugIdGenerator.addSourceMapDebugId(offsetSourceMap ?? sourceMap, debugId); - return { debugId, source: newSource ?? source, sourceMap: newSourceMap }; + return { debugId, source: newSource, sourceMap: newSourceMap }; } /** @@ -142,6 +147,7 @@ export class SourceProcessor { sourcePath: string, sourceMapPath?: string, debugId?: string, + force?: boolean, ): ResultPromise { const sourceReadResult = await readFile(sourcePath); if (sourceReadResult.isErr()) { @@ -171,7 +177,7 @@ export class SourceProcessor { } const sourceMap = parseResult.data; - const processResult = await this.processSourceAndSourceMap(source, sourceMap, debugId); + const processResult = await this.processSourceAndSourceMap(source, sourceMap, debugId, force); return Ok({ ...processResult, sourcePath, diff --git a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts index f1fc4fc9..595c3288 100644 --- a/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts +++ b/tools/sourcemap-tools/tests/DebugIdGenerator.spec.ts @@ -156,7 +156,7 @@ describe('DebugIdGenerator', () => { ].join('\n'); const debugIdGenerator = new DebugIdGenerator(); - const actual = debugIdGenerator.getSourceDebugId(source); + const actual = debugIdGenerator.getSourceDebugIdFromComment(source); expect(actual).toEqual(expected); }); @@ -167,7 +167,7 @@ describe('DebugIdGenerator', () => { ); const debugIdGenerator = new DebugIdGenerator(); - const actual = debugIdGenerator.getSourceDebugId(source); + const actual = debugIdGenerator.getSourceDebugIdFromComment(source); expect(actual).toBeUndefined(); }); diff --git a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts index f69c8113..04b15fcc 100644 --- a/tools/sourcemap-tools/tests/SourceProcessor.spec.ts +++ b/tools/sourcemap-tools/tests/SourceProcessor.spec.ts @@ -36,11 +36,12 @@ function foo(){console.log("Hello World!")}foo();`; }; const processedSource = ( + debugIdGenerator: DebugIdGenerator, debugId: string, - ) => `;!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._btDebugIds=e._btDebugIds||{},e._btDebugIds[n]="${debugId}")}catch(e){}}(); + ) => `${debugIdGenerator.generateSourceSnippet(debugId)} (()=>{"use strict";console.log("Hello World!")})(); //# sourceMappingURL=source.js.map -//# debugId=${debugId} +${debugIdGenerator.generateSourceComment(debugId)} `; const processedSourceMap = (debugId: string) => ({ @@ -225,7 +226,7 @@ function foo(){console.log("Hello World!")}foo();`; await sourceProcessor.processSourceAndSourceMapFiles(sourcePath, sourceMapPath, debugId); - expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId); + expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId, undefined); }); it('should call process function with sourcemap detected from source', async () => { @@ -246,13 +247,14 @@ function foo(){console.log("Hello World!")}foo();`; await sourceProcessor.processSourceAndSourceMapFiles(sourcePath, undefined, debugId); - expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId); + expect(processFn).toBeCalledWith(sourceContent, sourceMapContent, debugId, undefined); }); it('should return unmodified source when source has debug ID', async () => { const debugId = randomUUID(); - const source = processedSource(debugId); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const debugIdGenerator = new DebugIdGenerator(); + const source = processedSource(debugIdGenerator, debugId); + const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap(source, processedSourceMap(debugId)); expect(result.source).toEqual(source); @@ -260,8 +262,9 @@ function foo(){console.log("Hello World!")}foo();`; it('should return unmodified source when source has same debug ID as provided', async () => { const debugId = randomUUID(); - const source = processedSource(debugId); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); + const debugIdGenerator = new DebugIdGenerator(); + const source = processedSource(debugIdGenerator, debugId); + const sourceProcessor = new SourceProcessor(debugIdGenerator); const result = await sourceProcessor.processSourceAndSourceMap( source, processedSourceMap(debugId), @@ -273,8 +276,12 @@ function foo(){console.log("Hello World!")}foo();`; it("should return sourcemap with source's debug ID when source has debug ID", async () => { const debugId = randomUUID(); - const sourceProcessor = new SourceProcessor(new DebugIdGenerator()); - const result = await sourceProcessor.processSourceAndSourceMap(processedSource(debugId), sourceMap); + const debugIdGenerator = new DebugIdGenerator(); + const sourceProcessor = new SourceProcessor(debugIdGenerator); + const result = await sourceProcessor.processSourceAndSourceMap( + processedSource(debugIdGenerator, debugId), + sourceMap, + ); expect(result.sourceMap.debugId).toEqual(debugId); }); @@ -282,8 +289,8 @@ function foo(){console.log("Hello World!")}foo();`; it('should call replace debug ID when source has different debug ID than provided', async () => { const oldDebugId = randomUUID(); const newDebugId = randomUUID(); - const source = processedSource(oldDebugId); const debugIdGenerator = new DebugIdGenerator(); + const source = processedSource(debugIdGenerator, oldDebugId); const spy = jest.spyOn(debugIdGenerator, 'replaceDebugId'); From c317450a7aed72d14be34c52d07fb1655c7bdcb0 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 12 Dec 2023 12:36:52 +0100 Subject: [PATCH 277/291] sourcemap-tools: version 0.2.2 (#221) Co-authored-by: Sebastian Alex --- package-lock.json | 8 ++++---- tools/cli/package.json | 2 +- tools/rollup-plugin/package.json | 2 +- tools/sourcemap-tools/package.json | 2 +- tools/webpack-plugin/package.json | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41541fc0..86d21e11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21126,7 +21126,7 @@ "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.1", + "@backtrace/sourcemap-tools": "^0.2.2", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -21154,7 +21154,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" + "@backtrace/sourcemap-tools": "^0.2.2" }, "devDependencies": { "@rollup/plugin-typescript": "^11.1.2", @@ -21172,7 +21172,7 @@ }, "tools/sourcemap-tools": { "name": "@backtrace/sourcemap-tools", - "version": "0.2.1", + "version": "0.2.2", "license": "MIT", "dependencies": { "tar-stream": "^3.1.6" @@ -21214,7 +21214,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" + "@backtrace/sourcemap-tools": "^0.2.2" }, "devDependencies": { "@types/jest": "^29.5.1", diff --git a/tools/cli/package.json b/tools/cli/package.json index 6b984068..fed74c39 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -45,7 +45,7 @@ "/lib" ], "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.1", + "@backtrace/sourcemap-tools": "^0.2.2", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", diff --git a/tools/rollup-plugin/package.json b/tools/rollup-plugin/package.json index a9ddc48b..b0ee36f6 100644 --- a/tools/rollup-plugin/package.json +++ b/tools/rollup-plugin/package.json @@ -49,7 +49,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" + "@backtrace/sourcemap-tools": "^0.2.2" }, "peerDependencies": { "rollup": "^3.26.3" diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index ece53c03..b8b1dc48 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/sourcemap-tools", - "version": "0.2.1", + "version": "0.2.2", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/tools/webpack-plugin/package.json b/tools/webpack-plugin/package.json index 88a61a38..7063b491 100644 --- a/tools/webpack-plugin/package.json +++ b/tools/webpack-plugin/package.json @@ -58,7 +58,7 @@ "webpack-sources-webpack-4": "npm:webpack-sources@^1.4.1" }, "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.0" + "@backtrace/sourcemap-tools": "^0.2.2" }, "peerDependencies": { "webpack": "^5.85.0 || ^4.46.0" From 8b7eb7ea5fd115ab58756f722c8eae53874844c4 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Tue, 12 Dec 2023 12:41:00 +0100 Subject: [PATCH 278/291] cli: version 0.3.1 (#222) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- tools/cli/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 86d21e11..909c0f26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21123,7 +21123,7 @@ }, "tools/cli": { "name": "@backtrace/javascript-cli", - "version": "0.3.0", + "version": "0.3.1", "license": "MIT", "dependencies": { "@backtrace/sourcemap-tools": "^0.2.2", diff --git a/tools/cli/package.json b/tools/cli/package.json index fed74c39..4903bda3 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/javascript-cli", - "version": "0.3.0", + "version": "0.3.1", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", From d3a51a1b85143a4c42a88d2bf31ff9b6f97cd537 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 3 Jan 2024 15:01:05 +0100 Subject: [PATCH 279/291] react-native Demo customizations --- examples/sdk/reactNative/App.tsx | 106 ++++++++++++------ examples/sdk/reactNative/ios/Podfile.lock | 4 +- .../reactNative/src/actions/android/action.ts | 58 +++++----- .../src/components/CustomizableButton.tsx | 4 +- .../src/components/ErrorBoundaryFallback.tsx | 15 +++ .../src/components/ErrorBoundaryTrigger.tsx | 24 ++++ 6 files changed, 143 insertions(+), 68 deletions(-) create mode 100644 examples/sdk/reactNative/src/components/ErrorBoundaryFallback.tsx create mode 100644 examples/sdk/reactNative/src/components/ErrorBoundaryTrigger.tsx diff --git a/examples/sdk/reactNative/App.tsx b/examples/sdk/reactNative/App.tsx index ef8d75e2..09a8bfb4 100644 --- a/examples/sdk/reactNative/App.tsx +++ b/examples/sdk/reactNative/App.tsx @@ -1,7 +1,19 @@ -import { BacktraceClient } from '@backtrace/react-native'; -import { Alert, FlatList, Image, SafeAreaView, ScrollView, StyleSheet, Text, View } from 'react-native'; +import { BacktraceClient, ErrorBoundary } from '@backtrace/react-native'; +import { + Alert, + FlatList, + Image, + SafeAreaView, + ScrollView, + StyleSheet, + Text, + TouchableOpacity, + View, +} from 'react-native'; import { generateActions } from './src/actions/actions'; import { CustomizableButton } from './src/components/CustomizableButton'; +import ErrorBoundaryFallback from './src/components/ErrorBoundaryFallback'; +import { ErrorBoundaryTrigger } from './src/components/ErrorBoundaryTrigger'; import { SUBMISSION_URL } from './src/consts'; function App(): JSX.Element { @@ -9,7 +21,6 @@ function App(): JSX.Element { if (!client) { throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); } - if (SUBMISSION_URL.includes('your-universe')) { Alert.alert('Don\'t forget to update your submission url in "./src/consts.ts" with your universe and token!'); } @@ -17,40 +28,62 @@ function App(): JSX.Element { client.addAttribute({ startup: Date.now() }); return ( - - - - - Welcome to the Backtrace React SDK demo - Click the button below to test Backtrace integration - - - ( - { - item.action(); - }} - > - )} - /> - + + Global error boundary - - + } + > + + + + + Welcome to the Backtrace React SDK demo + Click the button below to test Backtrace integration + + + + }> + + + + + + + ( + { + item.action(); + }} + > + )} + /> + + + + +
        ); } const styles = StyleSheet.create({ + actionButton: { + backgroundColor: '#d8f8e9', + width: '100%', + padding: 5, + borderRadius: 100 / 2, + }, sectionContainer: { margin: 25, padding: 20, @@ -69,10 +102,6 @@ const styles = StyleSheet.create({ justifyContent: 'center', alignItems: 'center', }, - actionButton: { - backgroundColor: '#d8f8e9', - margin: 5, - }, sectionDescription: { marginTop: 8, fontSize: 18, @@ -81,6 +110,11 @@ const styles = StyleSheet.create({ highlight: { fontWeight: '700', }, + defaultText: { + color: 'black', + fontWeight: 'bold', + textAlign: 'center', + }, }); export default App; diff --git a/examples/sdk/reactNative/ios/Podfile.lock b/examples/sdk/reactNative/ios/Podfile.lock index f1448d70..6b0d6810 100644 --- a/examples/sdk/reactNative/ios/Podfile.lock +++ b/examples/sdk/reactNative/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - backtrace-react-native (0.0.1): + - backtrace-react-native (0.1.0): - PLCrashReporter - RCT-Folly (= 2021.07.22.00) - React-Core @@ -663,7 +663,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - backtrace-react-native: b5e15cac52797b2d12e52ec2a57617be9390f1d7 + backtrace-react-native: 31c948bfc835a57b84d76433575d2441759088ef boost: 57d2868c099736d80fcd648bf211b4431e51a558 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 diff --git a/examples/sdk/reactNative/src/actions/android/action.ts b/examples/sdk/reactNative/src/actions/android/action.ts index d82e511d..05f43165 100644 --- a/examples/sdk/reactNative/src/actions/android/action.ts +++ b/examples/sdk/reactNative/src/actions/android/action.ts @@ -1,33 +1,35 @@ import { NativeModules } from 'react-native'; import { DemoAction } from '../actions'; -export const actions: DemoAction[] = [ - { - name: 'ANR', - platform: 'android', - action: async () => { - const errorGenerator = NativeModules.ErrorGenerator; - if (!errorGenerator) { - throw new Error('Native modules are not enabled.'); - } +export const actions: DemoAction[] = __DEV__ + ? [] + : [ + { + name: 'ANR', + platform: 'android', + action: async () => { + const errorGenerator = NativeModules.ErrorGenerator; + if (!errorGenerator) { + throw new Error('Native modules are not enabled.'); + } - await new Promise((res) => { - setTimeout(() => { - res(); - }, 1000); - }); - }, - }, - { - name: 'Generate Android unhandled exception', - platform: 'android', - action: async () => { - const errorGenerator = NativeModules.ErrorGenerator; - if (!errorGenerator) { - throw new Error('Native modules are not enabled.'); - } + await new Promise((res) => { + setTimeout(() => { + res(); + }, 1000); + }); + }, + }, + { + name: 'Generate Android unhandled exception', + platform: 'android', + action: async () => { + const errorGenerator = NativeModules.ErrorGenerator; + if (!errorGenerator) { + throw new Error('Native modules are not enabled.'); + } - errorGenerator.throwError(); - }, - }, -]; + errorGenerator.throwError(); + }, + }, + ]; diff --git a/examples/sdk/reactNative/src/components/CustomizableButton.tsx b/examples/sdk/reactNative/src/components/CustomizableButton.tsx index 04195dad..31eeafb6 100644 --- a/examples/sdk/reactNative/src/components/CustomizableButton.tsx +++ b/examples/sdk/reactNative/src/components/CustomizableButton.tsx @@ -3,8 +3,8 @@ import { Text, TouchableOpacity, View } from 'react-native'; export type CustomizableButtonOptions = { title: string; - backgroundColor: string; - textColor: string; + backgroundColor?: string; + textColor?: string; callback: () => void | Promise; }; export function CustomizableButton({ diff --git a/examples/sdk/reactNative/src/components/ErrorBoundaryFallback.tsx b/examples/sdk/reactNative/src/components/ErrorBoundaryFallback.tsx new file mode 100644 index 00000000..67bf4a7d --- /dev/null +++ b/examples/sdk/reactNative/src/components/ErrorBoundaryFallback.tsx @@ -0,0 +1,15 @@ +import React, { useEffect } from 'react'; +import { Alert, StyleProp, Text, TextStyle, View } from 'react-native'; + +export default function ErrorBoundaryFallback({ textStyle }: { textStyle: StyleProp }) { + useEffect(() => { + Alert.alert( + 'Inner ErrorBoundary Triggered! Check your Backtrace console to see the Error and Component stacks.', + ); + }); + return ( + + Error boundary triggered + + ); +} diff --git a/examples/sdk/reactNative/src/components/ErrorBoundaryTrigger.tsx b/examples/sdk/reactNative/src/components/ErrorBoundaryTrigger.tsx new file mode 100644 index 00000000..2b27037a --- /dev/null +++ b/examples/sdk/reactNative/src/components/ErrorBoundaryTrigger.tsx @@ -0,0 +1,24 @@ +import React, { useState } from 'react'; +import { Pressable, StyleProp, Text, TextStyle, View } from 'react-native'; + +export function ErrorBoundaryTrigger({ textStyle }: { textStyle: StyleProp }) { + const [clicked, setClicked] = useState(false); + + if (clicked) { + throw new Error('Button already clicked.'); + } + + return ( + <> + + { + setClicked(true); + }} + > + Trigger error boundary + + + + ); +} From 72794ef9b72af0440f437b3aa362cfc9821fb350 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 3 Jan 2024 16:54:50 +0100 Subject: [PATCH 280/291] Use zlib instead of node:zlib --- tools/sourcemap-tools/src/ZipArchive.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/sourcemap-tools/src/ZipArchive.ts b/tools/sourcemap-tools/src/ZipArchive.ts index a0039042..d678ccf9 100644 --- a/tools/sourcemap-tools/src/ZipArchive.ts +++ b/tools/sourcemap-tools/src/ZipArchive.ts @@ -1,6 +1,6 @@ -import zlib from 'node:zlib'; import { TransformOptions } from 'stream'; import tar from 'tar-stream'; +import zlib from 'zlib'; export class ZipArchive { private readonly _pack: tar.Pack; From b7f5efd6f85d1d07163746c39142594680f7bf0c Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Wed, 3 Jan 2024 17:03:34 +0100 Subject: [PATCH 281/291] sourcemap-tools, cli: Version update --- package-lock.json | 6 +++--- tools/cli/CHANGELOG.md | 4 ++++ tools/cli/package.json | 4 ++-- tools/sourcemap-tools/package.json | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 909c0f26..6b977fc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21123,10 +21123,10 @@ }, "tools/cli": { "name": "@backtrace/javascript-cli", - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.2", + "@backtrace/sourcemap-tools": "^0.2.3", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", @@ -21172,7 +21172,7 @@ }, "tools/sourcemap-tools": { "name": "@backtrace/sourcemap-tools", - "version": "0.2.2", + "version": "0.2.3", "license": "MIT", "dependencies": { "tar-stream": "^3.1.6" diff --git a/tools/cli/CHANGELOG.md b/tools/cli/CHANGELOG.md index 9474365e..63a021ee 100644 --- a/tools/cli/CHANGELOG.md +++ b/tools/cli/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.3.2 + +- update @backtrace/sourcemap-tools to 0.2.2 + # Version 0.3.0 - update @backtrace/sourcemap-tools to 0.2.1 diff --git a/tools/cli/package.json b/tools/cli/package.json index 4903bda3..b644cc5b 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/javascript-cli", - "version": "0.3.1", + "version": "0.3.2", "description": "Backtrace CLI for working with Javascript files.", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -45,7 +45,7 @@ "/lib" ], "dependencies": { - "@backtrace/sourcemap-tools": "^0.2.2", + "@backtrace/sourcemap-tools": "^0.2.3", "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "glob": "^10.3.3", diff --git a/tools/sourcemap-tools/package.json b/tools/sourcemap-tools/package.json index b8b1dc48..ffcd0e3c 100644 --- a/tools/sourcemap-tools/package.json +++ b/tools/sourcemap-tools/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/sourcemap-tools", - "version": "0.2.2", + "version": "0.2.3", "description": "Backtrace-JavaScript sourcemap tools", "main": "lib/index.js", "types": "lib/index.d.ts", From 2575a6618bd188945d908eab8163d7fc8fc64315 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 4 Jan 2024 12:22:53 +0100 Subject: [PATCH 282/291] react-native: set transfer encoding to chunked (#223) * set transfer encoding to chunked * Avoid creating form data when no attachments are available --- .../src/ReactNativeRequestHandler.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/react-native/src/ReactNativeRequestHandler.ts b/packages/react-native/src/ReactNativeRequestHandler.ts index a12d2793..cfc27613 100644 --- a/packages/react-native/src/ReactNativeRequestHandler.ts +++ b/packages/react-native/src/ReactNativeRequestHandler.ts @@ -13,6 +13,9 @@ export class ReactNativeRequestHandler implements BacktraceRequestHandler { private readonly JSON_HEADERS = { 'Content-type': 'application/json', }; + private readonly MULTIPART_HEADERS = { + 'Transfer-Encoding': 'chunked', + }; constructor( private readonly _options: { @@ -29,8 +32,8 @@ export class ReactNativeRequestHandler implements BacktraceRequestHandler { attachments: BacktraceAttachment[], abortSignal?: AbortSignal, ): Promise> { - const formData = this.createFormData(dataJson, attachments); - return this.post(submissionUrl, formData, abortSignal); + const payload = this.createSubmissionPayload(dataJson, attachments); + return this.post(submissionUrl, payload, abortSignal); } public async post( @@ -45,7 +48,7 @@ export class ReactNativeRequestHandler implements BacktraceRequestHandler { const response = await fetch(submissionUrl, { method: 'POST', body: payload, - headers: typeof payload === 'string' ? this.JSON_HEADERS : {}, + headers: typeof payload === 'string' ? this.JSON_HEADERS : this.MULTIPART_HEADERS, signal: anySignal(abortSignal, controller.signal), }); @@ -83,13 +86,15 @@ export class ReactNativeRequestHandler implements BacktraceRequestHandler { } } - private createFormData(json: string, attachments: BacktraceAttachment[]) { - const formData = new FormData(); - formData.append(this.UPLOAD_FILE_NAME, json); - + private createSubmissionPayload( + json: string, + attachments: BacktraceAttachment[], + ): FormData | string { if (!attachments || attachments.length === 0) { - return formData; + return json; } + const formData = new FormData(); + formData.append(this.UPLOAD_FILE_NAME, json); for (const attachment of attachments) { const data = attachment.get(); if (!data) { From a6c3bf5f9eb6707597c5c80e78d1c859fc8dae32 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 19 Jan 2024 16:18:32 +0100 Subject: [PATCH 283/291] Add support for async frames and generic params (#224) --- .../converter/V8StackTraceConverter.ts | 34 ++++- .../tests/converters/v8stackTraceTestCases.ts | 116 ++++++++++++++++++ 2 files changed, 145 insertions(+), 5 deletions(-) diff --git a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts index 8b30ee01..4d39b6d9 100644 --- a/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts +++ b/packages/sdk-core/src/modules/converter/V8StackTraceConverter.ts @@ -43,20 +43,44 @@ export class V8StackTraceConverter implements BacktraceStackTraceConverter { } stackFrame = stackFrame.substring(stackFrame.indexOf(frameSeparator) + frameSeparator.length); + const asyncKeyword = 'async '; const sourceCodeSeparator = ' ('; - const sourceCodeStartIndex = stackFrame.indexOf(sourceCodeSeparator); + let sourceCodeStartIndex = stackFrame.indexOf(sourceCodeSeparator); const anonymousFunction = sourceCodeStartIndex === -1; if (anonymousFunction) { + if (stackFrame.startsWith(asyncKeyword)) { + stackFrame = stackFrame.substring(asyncKeyword.length); + } return { funcName: ANONYMOUS_FUNCTION, ...this.parseSourceCodeInformation(stackFrame), }; } + + let sourceCodeInformation = stackFrame.substring( + sourceCodeStartIndex + sourceCodeSeparator.length - 1, + stackFrame.length, + ); + const anonymousGenericSymbol = '()'; + if (sourceCodeInformation.startsWith(anonymousGenericSymbol)) { + sourceCodeStartIndex += anonymousGenericSymbol.length + 1; + sourceCodeInformation = sourceCodeInformation.substring(anonymousGenericSymbol.length); + } + + if (sourceCodeInformation.startsWith(` ${frameSeparator}`)) { + sourceCodeInformation = sourceCodeInformation.substring(frameSeparator.length + 1); + } else { + sourceCodeInformation = sourceCodeInformation.substring(1, sourceCodeInformation.length - 1); + } + + let functionName = stackFrame.substring(0, sourceCodeStartIndex); + if (functionName.startsWith(asyncKeyword)) { + functionName = functionName.substring(asyncKeyword.length); + } + return { - funcName: stackFrame.substring(0, sourceCodeStartIndex), - ...this.parseSourceCodeInformation( - stackFrame.substring(sourceCodeStartIndex + sourceCodeSeparator.length, stackFrame.length - 1), - ), + funcName: functionName, + ...this.parseSourceCodeInformation(sourceCodeInformation), }; } diff --git a/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts b/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts index 17c1fedb..e7521279 100644 --- a/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts +++ b/packages/sdk-core/tests/converters/v8stackTraceTestCases.ts @@ -5,6 +5,122 @@ export const v8StackTraceTests: Array<{ test: { message: string; stackTrace: string }; expectation: BacktraceStackFrame[]; }> = [ + { + name: 'async function', + test: { + message: 'TypeError: invalid function invocation', + stackTrace: + 'TypeError: invalid function invocation \n' + + 'at getLsTree2 (/path/to/code/dist/src/lib/file_routines.js:232:42)\n' + + 'at new Promise ()\n' + + 'at getFilePath (/path/to/code/dist/src/lib/file_routines.js:480:24)\n' + + 'at getFileDirectory (/path/to/code/dist/src/lib/file_routines.js:621:40)\n' + + 'at async getFile (/path/to/code/dist/src/lib/file_routines.js:837:22)\n' + + 'at async /path/to/code/dist/src/controller/controller-name.js:70:30', + }, + expectation: [ + { + funcName: 'getLsTree2', + library: '/path/to/code/dist/src/lib/file_routines.js', + line: 232, + column: 42, + }, + { + funcName: 'new Promise ()', + library: '', + }, + { + funcName: 'getFilePath', + library: '/path/to/code/dist/src/lib/file_routines.js', + line: 480, + column: 24, + }, + { + funcName: 'getFileDirectory', + library: '/path/to/code/dist/src/lib/file_routines.js', + line: 621, + column: 40, + }, + { + funcName: 'getFile', + library: '/path/to/code/dist/src/lib/file_routines.js', + line: 837, + column: 22, + }, + { + funcName: 'anonymous', + library: '/path/to/code/dist/src/controller/controller-name.js', + line: 70, + column: 30, + }, + ], + }, + { + name: 'generic anonymous', + test: { + message: `Cannot read properties of undefined (reading 'split')`, + stackTrace: + "TypeError: Cannot read properties of undefined (reading 'split')\n" + + 'at DifferentClass.convert (/path/to/module/lib/modules/converter/DifferentClass.js:12:37)\n' + + 'at DataBuilder.create (/path/to/module/lib/modules/data/DataBuilder.js:45:57)\n' + + 'at DataBuilder.build (/path/to/module/lib/modules/data/DataBuilder.js:16:59)\n' + + 'at Client.create (/path/to/module/lib/Client.js:176:49)\n' + + 'at Client. (/path/to/module/lib/Client.js:130:40)\n' + + 'at Generator.next () at /path/to/module/lib/Client.js:8:71\n' + + 'at new Promise () at /path/to/module/lib/Client.js:4:12\n' + + 'at Client.generate (/path/to/module/lib/Client.js:114:16)', + }, + expectation: [ + { + funcName: 'DifferentClass.convert', + library: '/path/to/module/lib/modules/converter/DifferentClass.js', + line: 12, + column: 37, + }, + { + funcName: 'DataBuilder.create', + library: '/path/to/module/lib/modules/data/DataBuilder.js', + line: 45, + column: 57, + }, + { + funcName: 'DataBuilder.build', + library: '/path/to/module/lib/modules/data/DataBuilder.js', + line: 16, + column: 59, + }, + { + funcName: 'Client.create', + library: '/path/to/module/lib/Client.js', + line: 176, + column: 49, + }, + { + funcName: 'Client.', + library: '/path/to/module/lib/Client.js', + line: 130, + column: 40, + }, + { + funcName: 'Generator.next ()', + library: '/path/to/module/lib/Client.js', + line: 8, + column: 71, + }, + { + funcName: 'new Promise ()', + library: '/path/to/module/lib/Client.js', + line: 4, + column: 12, + }, + { + funcName: 'Client.generate', + library: '/path/to/module/lib/Client.js', + line: 114, + column: 16, + }, + ], + }, { name: 'old source code syntax', test: { From 41e70f0348697d71501841d2b961c661476f419e Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 7 Feb 2024 14:12:37 +0100 Subject: [PATCH 284/291] electron: update version to 28 (#226) Co-authored-by: Sebastian Alex --- examples/sdk/electron/package-lock.json | 25 ++++++++++++------------- examples/sdk/electron/package.json | 2 +- package-lock.json | 2 +- packages/electron/package.json | 2 +- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/examples/sdk/electron/package-lock.json b/examples/sdk/electron/package-lock.json index d5e0cc8a..efbccea3 100644 --- a/examples/sdk/electron/package-lock.json +++ b/examples/sdk/electron/package-lock.json @@ -12,7 +12,7 @@ "@backtrace/electron": "file:../../../packages/electron" }, "devDependencies": { - "electron": "^26.2.4", + "electron": "^28.2.1", "ts-loader": "^9.4.3", "typescript": "^5.1.3", "webpack": "^5.87.0", @@ -23,14 +23,14 @@ } }, "../../../packages/electron": { - "version": "0.0.1", + "name": "@backtrace/electron", + "version": "0.2.0", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.0.5", - "@backtrace/sdk-core": "^0.1.0" + "@backtrace/node": "^0.2.0" }, "peerDependencies": { - "electron": "12 - 26" + "electron": "12 - 28" } }, "node_modules/@backtrace/electron": { @@ -798,9 +798,9 @@ "optional": true }, "node_modules/electron": { - "version": "26.4.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", - "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", + "version": "28.2.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-28.2.1.tgz", + "integrity": "sha512-wlzXf+OvOiVlBf9dcSeMMf7Q+N6DG+wtgFbMK0sA/JpIJcdosRbLMQwLg/LTwNVKIbmayqFLDp4FmmFkEMhbYA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -2366,8 +2366,7 @@ "@backtrace/electron": { "version": "file:../../../packages/electron", "requires": { - "@backtrace/node": "^0.0.5", - "@backtrace/sdk-core": "^0.1.0" + "@backtrace/node": "^0.2.0" } }, "@discoveryjs/json-ext": { @@ -2965,9 +2964,9 @@ "optional": true }, "electron": { - "version": "26.4.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-26.4.1.tgz", - "integrity": "sha512-G6Huzx2xP+Atknj68EsD/TzjpFSsl7nbfBcDqKf1p9DaPMIB5HRqpts3s/sd5daWinNrWInREEw2A4EavP59qw==", + "version": "28.2.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-28.2.1.tgz", + "integrity": "sha512-wlzXf+OvOiVlBf9dcSeMMf7Q+N6DG+wtgFbMK0sA/JpIJcdosRbLMQwLg/LTwNVKIbmayqFLDp4FmmFkEMhbYA==", "dev": true, "requires": { "@electron/get": "^2.0.0", diff --git a/examples/sdk/electron/package.json b/examples/sdk/electron/package.json index 4a829969..d05ae701 100644 --- a/examples/sdk/electron/package.json +++ b/examples/sdk/electron/package.json @@ -34,7 +34,7 @@ }, "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", "devDependencies": { - "electron": "^26.2.4", + "electron": "^28.2.1", "ts-loader": "^9.4.3", "typescript": "^5.1.3", "webpack": "^5.87.0", diff --git a/package-lock.json b/package-lock.json index 6b977fc5..5f5d1037 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20990,7 +20990,7 @@ "@backtrace/node": "^0.2.0" }, "peerDependencies": { - "electron": "12 - 26" + "electron": "12 - 28" } }, "packages/nestjs": { diff --git a/packages/electron/package.json b/packages/electron/package.json index 2f7a982e..28b31a60 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -38,6 +38,6 @@ "@backtrace/node": "^0.2.0" }, "peerDependencies": { - "electron": "12 - 26" + "electron": "12 - 28" } } From f183971e9bcea646e663012988eabdeb1000589d Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Wed, 7 Feb 2024 17:37:07 +0100 Subject: [PATCH 285/291] electron: version 0.2.1 (#227) Co-authored-by: Sebastian Alex --- package-lock.json | 2 +- packages/electron/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5f5d1037..cb880bd7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20984,7 +20984,7 @@ }, "packages/electron": { "name": "@backtrace/electron", - "version": "0.2.0", + "version": "0.2.1", "license": "MIT", "dependencies": { "@backtrace/node": "^0.2.0" diff --git a/packages/electron/package.json b/packages/electron/package.json index 28b31a60..622052e1 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/electron", - "version": "0.2.0", + "version": "0.2.1", "description": "Backtrace-JavaScript Electron integration", "main": "main/index.js", "types": "main/index.d.ts", From 3e0f92ae3e065f6b8c1419e152bfbe6acb78d892 Mon Sep 17 00:00:00 2001 From: Sebastian Alex Date: Fri, 23 Feb 2024 15:00:09 +0000 Subject: [PATCH 286/291] cli: fix no error exit on upload fail --- tools/cli/src/sourcemaps/upload.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/cli/src/sourcemaps/upload.ts b/tools/cli/src/sourcemaps/upload.ts index 52b8858a..efc2b8ac 100644 --- a/tools/cli/src/sourcemaps/upload.ts +++ b/tools/cli/src/sourcemaps/upload.ts @@ -332,8 +332,8 @@ export function uploadAssets(uploadUrl: string, options: SymbolUploaderOptions) assets: AssetWithContent[], ): ResultPromise { const { request, promise } = uploader.createUploadRequest(); - - return pipe(request, pipeAssets(assets), () => promise); + pipeAssets(assets)(request); + return promise; }; } From bdb4f256344918d99b0493899c69ee8ffbc4173a Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 14 Mar 2024 15:59:04 +0100 Subject: [PATCH 287/291] backtrace-node: Use https client only when the protocol is set to https: (#232) --- packages/node/src/BacktraceNodeRequestHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node/src/BacktraceNodeRequestHandler.ts b/packages/node/src/BacktraceNodeRequestHandler.ts index 7364fcbb..78ce72e8 100644 --- a/packages/node/src/BacktraceNodeRequestHandler.ts +++ b/packages/node/src/BacktraceNodeRequestHandler.ts @@ -142,7 +142,7 @@ export class BacktraceNodeRequestHandler implements BacktraceRequestHandler { } private getHttpClient(submissionUrl: URL) { - return submissionUrl.protocol === 'http' ? http : https; + return submissionUrl.protocol === 'https:' ? https : http; } private createFormData(json: string, attachments?: BacktraceAttachment[]) { const formData = new FormData(); From 4c04aee75e1a97c72bf33b7e69bb4ed46ad04ec3 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Mar 2024 15:57:04 +0100 Subject: [PATCH 288/291] sdk-core: Return send result (#233) * sdk-core: Return send result * Rename method --- packages/sdk-core/src/BacktraceCoreClient.ts | 24 ++++++++++++------- .../BacktraceSubmissionResult.ts | 12 ++++++++-- .../BacktraceSubmissionStatus.ts | 14 ++++++++--- packages/sdk-core/src/model/data/index.ts | 2 ++ .../model/http/BacktraceReportSubmission.ts | 4 ++-- .../src/model/http/BacktraceRequestHandler.ts | 2 +- packages/sdk-core/src/model/http/index.ts | 5 ++-- 7 files changed, 43 insertions(+), 20 deletions(-) rename packages/sdk-core/src/model/{http/model => data}/BacktraceSubmissionResult.ts (79%) rename packages/sdk-core/src/model/{http/model => data}/BacktraceSubmissionStatus.ts (55%) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 627c3fc7..13f4fc3c 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -3,8 +3,10 @@ import { BacktraceAttributeProvider, BacktraceBreadcrumbs, BacktraceConfiguration, + BacktraceReportSubmissionResult, BacktraceRequestHandler, BacktraceSessionProvider, + BacktraceSubmissionResponse, DebugIdProvider, FileSystem, SdkOptions, @@ -16,11 +18,11 @@ import { ReportEvents } from './events/ReportEvents'; import { AttributeType, BacktraceData } from './model/data/BacktraceData'; import { BacktraceReportSubmission, RequestBacktraceReportSubmission } from './model/http/BacktraceReportSubmission'; import { BacktraceReport } from './model/report/BacktraceReport'; -import { BacktraceModule, BacktraceModuleBindData } from './modules/BacktraceModule'; -import { BacktraceModuleCtor, BacktraceModules, ReadonlyBacktraceModules } from './modules/BacktraceModules'; import { AttributeManager } from './modules/attribute/AttributeManager'; import { ClientAttributeProvider } from './modules/attribute/ClientAttributeProvider'; import { UserAttributeProvider } from './modules/attribute/UserAttributeProvider'; +import { BacktraceModule, BacktraceModuleBindData } from './modules/BacktraceModule'; +import { BacktraceModuleCtor, BacktraceModules, ReadonlyBacktraceModules } from './modules/BacktraceModules'; import { BreadcrumbsManager } from './modules/breadcrumbs/BreadcrumbsManager'; import { V8StackTraceConverter } from './modules/converter/V8StackTraceConverter'; import { BacktraceDataBuilder } from './modules/data/BacktraceDataBuilder'; @@ -270,25 +272,28 @@ export abstract class BacktraceCoreClient, attachments?: BacktraceAttachment[], abortSignal?: AbortSignal, - ): Promise; + ): Promise>; /** * Asynchronously sends error data to Backtrace * @param report Backtrace Report * @param abortSignal Signal to abort sending */ - public send(report: BacktraceReport, abortSignal?: AbortSignal): Promise; + public send( + report: BacktraceReport, + abortSignal?: AbortSignal, + ): Promise>; // This function CANNOT be an async function due to possible async state machine stack frame inclusion, which breaks the skip stacks public send( data: BacktraceReport | Error | string, reportAttributesOrAbortSignal?: Record | AbortSignal, reportAttachments: BacktraceAttachment[] = [], abortSignal?: AbortSignal, - ): Promise { + ): Promise> { if (!this._enabled) { - return Promise.resolve(); + return Promise.resolve(BacktraceReportSubmissionResult.SdkDisabled()); } if (this._rateLimitWatcher.skipReport()) { - return Promise.resolve(); + return Promise.resolve(BacktraceReportSubmissionResult.OnLimitReached('Client')); } // If data is BacktraceReport, we know that the second argument should be only AbortSignal @@ -308,12 +313,12 @@ export abstract class BacktraceCoreClient { this.reportEvents.emit('after-send', report, backtraceData, submissionAttachments, submissionResult); + return submissionResult; }); } diff --git a/packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts b/packages/sdk-core/src/model/data/BacktraceSubmissionResult.ts similarity index 79% rename from packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts rename to packages/sdk-core/src/model/data/BacktraceSubmissionResult.ts index 14e71dac..be3486a8 100644 --- a/packages/sdk-core/src/model/http/model/BacktraceSubmissionResult.ts +++ b/packages/sdk-core/src/model/data/BacktraceSubmissionResult.ts @@ -18,8 +18,16 @@ export class BacktraceReportSubmissionResult { this._result = statusOrResponse; } - public static OnLimitReached(): BacktraceReportSubmissionResult { - return new BacktraceReportSubmissionResult('Limit reached', 'Client report limit reached'); + public static OnLimitReached(target: 'Server' | 'Client' = 'Server'): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Limit reached', `${target} report limit reached`); + } + + public static SdkDisabled(): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Disabled SDK'); + } + + public static ReportSkipped(): BacktraceReportSubmissionResult { + return new BacktraceReportSubmissionResult('Report skipped'); } public static OnInternalServerError(message: string): BacktraceReportSubmissionResult { diff --git a/packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts b/packages/sdk-core/src/model/data/BacktraceSubmissionStatus.ts similarity index 55% rename from packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts rename to packages/sdk-core/src/model/data/BacktraceSubmissionStatus.ts index b3a37bab..b92b049b 100644 --- a/packages/sdk-core/src/model/http/model/BacktraceSubmissionStatus.ts +++ b/packages/sdk-core/src/model/data/BacktraceSubmissionStatus.ts @@ -8,11 +8,11 @@ export type BacktraceSubmissionStatus = */ | 'Ok' /** - * Set on networking error (for example: connection reset ) + * Set on networking error (for example: connection reset) */ | 'Network Error' /** - * Set on internal server error. + * Set on internal server error */ | 'Server Error' /** @@ -22,4 +22,12 @@ export type BacktraceSubmissionStatus = /** * Unknown error */ - | 'Unknown'; + | 'Unknown' + /** + * SDK is disabled + */ + | 'Disabled SDK' + /** + * Due to before skip event or skipReport callback the user decided to skip the report + */ + | 'Report skipped'; diff --git a/packages/sdk-core/src/model/data/index.ts b/packages/sdk-core/src/model/data/index.ts index 850c5703..40fd4368 100644 --- a/packages/sdk-core/src/model/data/index.ts +++ b/packages/sdk-core/src/model/data/index.ts @@ -1,3 +1,5 @@ export * from './BacktraceData'; export * from './BacktraceStackTrace'; +export * from './BacktraceSubmissionResult'; +export * from './BacktraceSubmissionStatus'; export * from './JavaScriptEngine'; diff --git a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts index 8389b35e..76ac02cb 100644 --- a/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts +++ b/packages/sdk-core/src/model/http/BacktraceReportSubmission.ts @@ -2,10 +2,10 @@ import { jsonEscaper } from '../../common/jsonEscaper'; import { BacktraceAttachment } from '../attachment'; import { BacktraceConfiguration } from '../configuration/BacktraceConfiguration'; import { BacktraceData } from '../data/BacktraceData'; +import { BacktraceReportSubmissionResult } from '../data/BacktraceSubmissionResult'; import { BacktraceRequestHandler } from './BacktraceRequestHandler'; -import { SubmissionUrlInformation } from './SubmissionUrlInformation'; import { BacktraceSubmissionResponse } from './model/BacktraceSubmissionResponse'; -import { BacktraceReportSubmissionResult } from './model/BacktraceSubmissionResult'; +import { SubmissionUrlInformation } from './SubmissionUrlInformation'; export interface BacktraceReportSubmission { send( diff --git a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts index 34e8c4ba..17b90f16 100644 --- a/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts +++ b/packages/sdk-core/src/model/http/BacktraceRequestHandler.ts @@ -1,6 +1,6 @@ import { BacktraceAttachment } from '../attachment'; +import { BacktraceReportSubmissionResult } from '../data/BacktraceSubmissionResult'; import { BacktraceSubmissionResponse } from './model/BacktraceSubmissionResponse'; -import { BacktraceReportSubmissionResult } from './model/BacktraceSubmissionResult'; export const DEFAULT_TIMEOUT = 15_000; export interface BacktraceRequestHandler { /** diff --git a/packages/sdk-core/src/model/http/index.ts b/packages/sdk-core/src/model/http/index.ts index 6042d882..5dad44f5 100644 --- a/packages/sdk-core/src/model/http/index.ts +++ b/packages/sdk-core/src/model/http/index.ts @@ -1,7 +1,6 @@ +export * from '../data/BacktraceSubmissionResult'; export * from './BacktraceReportSubmission'; export * from './BacktraceRequestHandler'; -export * from './SubmissionUrlInformation'; export * from './common/ConnectionError'; export * from './model/BacktraceSubmissionResponse'; -export * from './model/BacktraceSubmissionResult'; -export * from './model/BacktraceSubmissionStatus'; +export * from './SubmissionUrlInformation'; From bc3b3ce326e03861a9be83cb4cdbf343fb2c31c8 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 15 Mar 2024 19:49:25 +0100 Subject: [PATCH 289/291] Version 0.3.0 (#234) --- examples/sdk/electron/package-lock.json | 6 ++--- examples/sdk/node/package-lock.json | 7 +++--- package-lock.json | 29 +++++++++++++++---------- packages/browser/CHANGELOG.md | 4 ++++ packages/browser/package.json | 4 ++-- packages/electron/CHANGELOG.md | 4 ++++ packages/electron/package.json | 4 ++-- packages/nestjs/CHANGELOG.md | 4 ++++ packages/nestjs/package.json | 4 ++-- packages/node/CHANGELOG.md | 5 +++++ packages/node/package.json | 4 ++-- packages/react/CHANGELOG.md | 5 +++++ packages/react/package.json | 6 ++--- packages/sdk-core/CHANGELOG.md | 4 ++++ packages/sdk-core/package.json | 2 +- 15 files changed, 62 insertions(+), 30 deletions(-) diff --git a/examples/sdk/electron/package-lock.json b/examples/sdk/electron/package-lock.json index efbccea3..e9105f0c 100644 --- a/examples/sdk/electron/package-lock.json +++ b/examples/sdk/electron/package-lock.json @@ -24,10 +24,10 @@ }, "../../../packages/electron": { "name": "@backtrace/electron", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.2.0" + "@backtrace/node": "^0.3.0" }, "peerDependencies": { "electron": "12 - 28" @@ -2366,7 +2366,7 @@ "@backtrace/electron": { "version": "file:../../../packages/electron", "requires": { - "@backtrace/node": "^0.2.0" + "@backtrace/node": "^0.3.0" } }, "@discoveryjs/json-ext": { diff --git a/examples/sdk/node/package-lock.json b/examples/sdk/node/package-lock.json index e3c51cd1..ccca96e5 100644 --- a/examples/sdk/node/package-lock.json +++ b/examples/sdk/node/package-lock.json @@ -19,10 +19,11 @@ } }, "../../../packages/node": { - "version": "0.0.4", + "name": "@backtrace/node", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/sdk-core": "^0.1.0", + "@backtrace/sdk-core": "^0.3.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -62,7 +63,7 @@ "@backtrace/node": { "version": "file:../../../packages/node", "requires": { - "@backtrace/sdk-core": "^0.1.0", + "@backtrace/sdk-core": "^0.3.0", "@types/jest": "^29.5.1", "form-data": "^4.0.0", "jest": "^29.5.0", diff --git a/package-lock.json b/package-lock.json index cb880bd7..2386eb3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20963,10 +20963,10 @@ }, "packages/browser": { "name": "@backtrace/browser", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/sdk-core": "^0.2.0", + "@backtrace/sdk-core": "^0.3.0", "ua-parser-js": "^1.0.35" }, "devDependencies": { @@ -20984,10 +20984,10 @@ }, "packages/electron": { "name": "@backtrace/electron", - "version": "0.2.1", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.2.0" + "@backtrace/node": "^0.3.0" }, "peerDependencies": { "electron": "12 - 28" @@ -20995,10 +20995,10 @@ }, "packages/nestjs": { "name": "@backtrace/nestjs", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/node": "^0.2.0" + "@backtrace/node": "^0.3.0" }, "devDependencies": { "@nestjs/core": "^10", @@ -21025,10 +21025,10 @@ }, "packages/node": { "name": "@backtrace/node", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/sdk-core": "^0.2.0", + "@backtrace/sdk-core": "^0.3.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" }, @@ -21048,11 +21048,11 @@ }, "packages/react": { "name": "@backtrace/react", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { - "@backtrace/browser": "^0.2.0", - "@backtrace/sdk-core": "^0.2.0" + "@backtrace/browser": "^0.3.0", + "@backtrace/sdk-core": "^0.3.0" }, "devDependencies": { "@testing-library/react": "^14.0.0", @@ -21099,6 +21099,11 @@ "react-native": "*" } }, + "packages/react-native/node_modules/@backtrace/sdk-core": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@backtrace/sdk-core/-/sdk-core-0.2.0.tgz", + "integrity": "sha512-1S2Ou/Sc4u+MOODnDmTqAvnQ9/A5TTNUii+iDbllCKcm5f3VN1MSexvqE3ULWK6zOMZOJDViVGWt/PmCi0Mwlg==" + }, "packages/react-native/node_modules/@types/react": { "version": "17.0.71", "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.71.tgz", @@ -21112,7 +21117,7 @@ }, "packages/sdk-core": { "name": "@backtrace/sdk-core", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", diff --git a/packages/browser/CHANGELOG.md b/packages/browser/CHANGELOG.md index 7b480bd3..fbc08561 100644 --- a/packages/browser/CHANGELOG.md +++ b/packages/browser/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.3.0 + +- update `@backtrace/sdk-core` to `0.3.0` + # Version 0.2.0 - update `@backtrace/sdk-core` to `0.2.0` diff --git a/packages/browser/package.json b/packages/browser/package.json index adf6586c..5b4a3d94 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/browser", - "version": "0.2.0", + "version": "0.3.0", "description": "Backtrace-JavaScript web browser integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/sdk-core": "^0.2.0", + "@backtrace/sdk-core": "^0.3.0", "ua-parser-js": "^1.0.35" } } diff --git a/packages/electron/CHANGELOG.md b/packages/electron/CHANGELOG.md index 5654e615..91748553 100644 --- a/packages/electron/CHANGELOG.md +++ b/packages/electron/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.3.0 + +- update `@backtrace/node` to `0.3.0` + # Version 0.2.0 - update `@backtrace/node` to `0.2.0` diff --git a/packages/electron/package.json b/packages/electron/package.json index 622052e1..47c53ccd 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/electron", - "version": "0.2.1", + "version": "0.3.0", "description": "Backtrace-JavaScript Electron integration", "main": "main/index.js", "types": "main/index.d.ts", @@ -35,7 +35,7 @@ "/renderer" ], "dependencies": { - "@backtrace/node": "^0.2.0" + "@backtrace/node": "^0.3.0" }, "peerDependencies": { "electron": "12 - 28" diff --git a/packages/nestjs/CHANGELOG.md b/packages/nestjs/CHANGELOG.md index b8c7db87..438a5fe6 100644 --- a/packages/nestjs/CHANGELOG.md +++ b/packages/nestjs/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.3.0 + +- update `@backtrace/node` to `0.3.0` + # Version 0.2.0 - update `@backtrace/node` to `0.2.0` diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 62711818..b51467ba 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/nestjs", - "version": "0.2.0", + "version": "0.3.0", "description": "Backtrace-JavaScript NestJS integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -57,7 +57,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace/node": "^0.2.0" + "@backtrace/node": "^0.3.0" }, "peerDependencies": { "@nestjs/common": "^9 || ^10" diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index ca1ed9d5..3374719c 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -1,3 +1,8 @@ +# Version 0.3.0 + +- update `@backtrace/sdk-core` to `0.3.0` +- bugfix: use correct http client (#232) + # Version 0.2.0 - update `@backtrace/sdk-core` to `0.2.0` diff --git a/packages/node/package.json b/packages/node/package.json index df7f5f61..063000c9 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/node", - "version": "0.2.0", + "version": "0.3.0", "description": "Backtrace-JavaScript Node.JS integration", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "dependencies": { - "@backtrace/sdk-core": "^0.2.0", + "@backtrace/sdk-core": "^0.3.0", "form-data": "^4.0.0", "native-reg": "^1.1.1" } diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index c551cfe4..34d9ac6e 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,3 +1,8 @@ +# Version 0.3.0 + +- update `@backtrace/sdk-core` to `0.3.0` +- update `@backtrace/browser` to `0.3.0` + # Version 0.2.0 - update `@backtrace/browser` to `0.2.0` diff --git a/packages/react/package.json b/packages/react/package.json index 08113851..0da044fd 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/react", - "version": "0.2.0", + "version": "0.3.0", "description": "Backtrace-Javascript React integration", "main": "lib/index.js", "scripts": { @@ -47,8 +47,8 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@backtrace/browser": "^0.2.0", - "@backtrace/sdk-core": "^0.2.0" + "@backtrace/browser": "^0.3.0", + "@backtrace/sdk-core": "^0.3.0" }, "peerDependencies": { "react": ">=16.8.0" diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md index 927c0831..9d4a84a6 100644 --- a/packages/sdk-core/CHANGELOG.md +++ b/packages/sdk-core/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.3.0 + +- return submission result from the `send` method (#233) + # Version 0.2.0 - fix global is undefined error (#187) diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index a61d549b..2a171593 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/sdk-core", - "version": "0.2.0", + "version": "0.3.0", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts", From 546b2d58d45c255abc2545708f0c059ad6be8814 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 19 Mar 2024 12:46:27 +0100 Subject: [PATCH 290/291] sdk-core: Destroy client on dispose (#235) * sdk-core: Destroy client via the dispose method * Undo metrics setup for node example --- packages/sdk-core/src/BacktraceCoreClient.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/sdk-core/src/BacktraceCoreClient.ts b/packages/sdk-core/src/BacktraceCoreClient.ts index 13f4fc3c..29c3897f 100644 --- a/packages/sdk-core/src/BacktraceCoreClient.ts +++ b/packages/sdk-core/src/BacktraceCoreClient.ts @@ -343,6 +343,8 @@ export abstract class BacktraceCoreClient(module: T): void; @@ -402,4 +404,8 @@ export abstract class BacktraceCoreClient Date: Tue, 19 Mar 2024 16:32:48 +0100 Subject: [PATCH 291/291] Sdk-core: Changelog update (#236) --- package-lock.json | 2 +- packages/sdk-core/CHANGELOG.md | 4 ++++ packages/sdk-core/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2386eb3e..7fb83d3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21117,7 +21117,7 @@ }, "packages/sdk-core": { "name": "@backtrace/sdk-core", - "version": "0.3.0", + "version": "0.3.1", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.1", diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md index 9d4a84a6..c7043be7 100644 --- a/packages/sdk-core/CHANGELOG.md +++ b/packages/sdk-core/CHANGELOG.md @@ -1,3 +1,7 @@ +# Version 0.3.1 + +- allow to destroy the client instance on dispose() + # Version 0.3.0 - return submission result from the `send` method (#233) diff --git a/packages/sdk-core/package.json b/packages/sdk-core/package.json index 2a171593..57936d24 100644 --- a/packages/sdk-core/package.json +++ b/packages/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@backtrace/sdk-core", - "version": "0.3.0", + "version": "0.3.1", "description": "Backtrace-JavaScript SDK core library", "main": "lib/index.js", "types": "lib/index.d.ts",
        The SDK provides accurate information about the browser and OS by default, including additional attributes specific to each Javascript framework. You can also add dynamic attributes resolved every time when the library generates a report.
        Application Stability Metrics
        + + Sauce Labs + +
        +
        +

        Welcome to the Backtrace demo

        +

        Please pick one of the available options:

        +
        +
        +
        +
        + Send an error +
        +
        + Main +
        +
        + Renderer +
        +
        +
        +
        + Send a message +
        +
        + Main +
        +
        + Renderer +
        +
        +
        +
        + Send an unhandled exception +
        +
        + Main +
        +
        + Renderer +
        +
        +
        +
        + Send a promise rejection +
        +
        + Main +
        +
        + Renderer +
        +
        +
        +
        + Generate metric +
        +
        + Main +
        +
        + Renderer +
        +
        +
        +
        + Send metrics +
        +
        + Main +
        +
        + Renderer +
        +
        + +
        +
        +
        +

        If you have any questions or concerns, please contact us at

        + help@saucelabs.com. +
        +
        +

        Happy testing,

        +

        The Sauce Labs Team

        +
        +

        2I@L7D?`sxVze*Pl)e&zvS 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 Ww2}^j`cog{)`{qIEH^Z4mj3|gk6G>j literal 0 HcmV?d00001 diff --git a/packages/react-native/babel.config.js b/packages/react-native/babel.config.js new file mode 100644 index 00000000..f842b77f --- /dev/null +++ b/packages/react-native/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['module:metro-react-native-babel-preset'], +}; diff --git a/packages/react-native/backtrace-react-native.podspec b/packages/react-native/backtrace-react-native.podspec new file mode 100644 index 00000000..8668928e --- /dev/null +++ b/packages/react-native/backtrace-react-native.podspec @@ -0,0 +1,42 @@ +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "package.json"))) +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' + +Pod::Spec.new do |s| + s.name = "backtrace-react-native" + s.version = package["version"] + s.summary = package["description"] + s.homepage = package["homepage"] + s.license = package["license"] + s.authors = package["author"] + + s.platforms = { :ios => "11.0" } + s.source = { :git => "https://github.com/backtrace-labs/backtrace-javascript.git", :tag => "#{s.version}" } + + s.source_files = "ios/**/*.{h,m,mm}" + + s.dependency "PLCrashReporter" + # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0. + # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79. + if respond_to?(:install_modules_dependencies, true) + install_modules_dependencies(s) + else + s.dependency "React-Core" + + # Don't install the dependencies when we run `pod install` in the old architecture. + if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then + s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" + s.pod_target_xcconfig = { + "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"", + "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + } + s.dependency "React-Codegen" + s.dependency "RCT-Folly" + s.dependency "RCTRequired" + s.dependency "RCTTypeSafety" + s.dependency "ReactCommon/turbomodule/core" + end + end +end diff --git a/packages/react-native/ios/BacktraceApi.h b/packages/react-native/ios/BacktraceApi.h new file mode 100644 index 00000000..e932b714 --- /dev/null +++ b/packages/react-native/ios/BacktraceApi.h @@ -0,0 +1,10 @@ +@interface BacktraceApi : NSObject{ + /** + Backtrace URL + */ + NSURL* _uploadUrl; +} +- (instancetype)initWithBacktraceUrl:(NSString*) rawUrl; +- (void) upload:(NSData*) crash withAttributes:(NSDictionary*) attributes andAttachments: +(NSArray*) attachmentsPaths andCompletionHandler:(void (^)(bool shouldRemoveReports)) completionHandler; +@end diff --git a/packages/react-native/ios/BacktraceApi.mm b/packages/react-native/ios/BacktraceApi.mm new file mode 100644 index 00000000..0295e969 --- /dev/null +++ b/packages/react-native/ios/BacktraceApi.mm @@ -0,0 +1,110 @@ +#import +#import "BacktraceApi.h" + +@implementation BacktraceApi + +void (^_completionHandler)(int someParameter); + +/** + Backtrace URL + */ +NSURL* _uploadUrl; + + +// Creates Backtrace API instance - class responsible for sending native reports to Backtrace +- (instancetype)initWithBacktraceUrl:(NSString*) rawUrl { + if( self = [super init]) { + _uploadUrl = [NSURL URLWithString:rawUrl]; + } + return self; +} + +// Send report to Backtrace +- (void) upload:(NSData*) crash withAttributes:(NSDictionary*) attributes andAttachments: +(NSMutableArray*) attachmentsPaths andCompletionHandler:(void (^)(bool shouldRemoveReports)) completionHandler { + + NSString *boundary = [@"Boundary-" stringByAppendingString: [[NSUUID UUID] UUIDString]]; + + NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL: _uploadUrl]; + [req setHTTPMethod: @"POST"]; + [req setValue: [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary] forHTTPHeaderField: @"Content-Type"]; + + + NSData *httpBody = [self createBodyWithBoundary:boundary parameters:attributes data:crash andAttachments:attachmentsPaths]; + [req setHTTPBody: httpBody]; + + NSURLSession *session = [NSURLSession sharedSession]; + [[session dataTaskWithRequest:req + completionHandler:^(NSData *data, + NSURLResponse *response, + NSError *error) { + + _completionHandler = [completionHandler copy]; + _completionHandler((long)[(NSHTTPURLResponse *) response statusCode] == 200); + _completionHandler = nil; + + }] resume]; +} + +- (NSData *)createBodyWithBoundary:(NSString *)boundary + parameters:(NSDictionary *)attributes + data:(NSData *)data + andAttachments:(NSArray*)attachmentsPaths { + NSMutableData *httpBody = [NSMutableData data]; + + // add params (all params are strings) + [attributes enumerateKeysAndObjectsUsingBlock:^(NSString *parameterKey, NSString *parameterValue, BOOL *stop) { + + [httpBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n", parameterKey] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[[NSString stringWithFormat:@"%@\r\n", parameterValue] dataUsingEncoding:NSUTF8StringEncoding]]; + }]; + + + [httpBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"upload_file\"; filename=\"upload_file\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[[NSString stringWithFormat:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:data]; + [httpBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; + + // add attachments if it's safe to read them + if(attachmentsPaths != nil && [attachmentsPaths count] != 0) { + NSFileManager* manager = [NSFileManager defaultManager]; + // add attachments from the end to the beginning + // include at the beginning attachments that shouldn't change. + // this is required to have the same behavior on iOS and Android + // Crashpad on Android will upload last attachment with the same name + // here where we own code, we can treat last attachment (that Crashpad will upload) + // as first priority and add (n) postfix to each attachment. + + NSMutableDictionary *attachmentNames = [NSMutableDictionary dictionary]; + for (NSString * attachmentPath in [attachmentsPaths reverseObjectEnumerator]) + { + if(![manager fileExistsAtPath:attachmentPath]) { + continue; + } + + NSString* fileName = [attachmentPath lastPathComponent]; + + if([attachmentNames objectForKey:fileName] != nil) { + int value = [[attachmentNames objectForKey:fileName] intValue] + 1; + [attachmentNames setObject: [NSNumber numberWithInt:value] forKey:fileName]; + fileName = [NSString stringWithFormat:@"%@(%d)", fileName, value ]; + + } else { + [attachmentNames setObject: [NSNumber numberWithInt:0] forKey:fileName]; + } + + [httpBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n", fileName, fileName] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[[NSString stringWithFormat:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; + [httpBody appendData:[NSData dataWithContentsOfFile:attachmentPath]]; + [httpBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; + } + } + [httpBody appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; + + return httpBody; +} + +@end diff --git a/packages/react-native/ios/BacktraceApplicationAttributeProvider.h b/packages/react-native/ios/BacktraceApplicationAttributeProvider.h new file mode 100644 index 00000000..2233886f --- /dev/null +++ b/packages/react-native/ios/BacktraceApplicationAttributeProvider.h @@ -0,0 +1,12 @@ + +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceApplicationAttributeProvider : NSObject +#else +#import + +@interface BacktraceApplicationAttributeProvider : NSObject +#endif + +@end diff --git a/packages/react-native/ios/BacktraceApplicationAttributeProvider.mm b/packages/react-native/ios/BacktraceApplicationAttributeProvider.mm new file mode 100644 index 00000000..aca8fec0 --- /dev/null +++ b/packages/react-native/ios/BacktraceApplicationAttributeProvider.mm @@ -0,0 +1,14 @@ +#import "BacktraceApplicationAttributeProvider.h" + +@implementation BacktraceApplicationAttributeProvider +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(get) { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; + NSString *displayName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]; + NSString *bundleName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]; + [dictionary setObject: displayName ? displayName : bundleName forKey: @"application"]; + [dictionary setObject: [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] ? displayName : bundleName forKey: @"application.version"]; + return dictionary; +} + +@end diff --git a/packages/react-native/ios/BacktraceCpuAttributeProvider.h b/packages/react-native/ios/BacktraceCpuAttributeProvider.h new file mode 100644 index 00000000..eca7598c --- /dev/null +++ b/packages/react-native/ios/BacktraceCpuAttributeProvider.h @@ -0,0 +1,12 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceCpuAttributeProvider : NSObject +#else +#import + +@interface BacktraceCpuAttributeProvider : NSObject +#endif + +@end + diff --git a/packages/react-native/ios/BacktraceCpuAttributeProvider.mm b/packages/react-native/ios/BacktraceCpuAttributeProvider.mm new file mode 100644 index 00000000..615401f9 --- /dev/null +++ b/packages/react-native/ios/BacktraceCpuAttributeProvider.mm @@ -0,0 +1,36 @@ +#import "BacktraceCpuAttributeProvider.h" +#import + +@implementation BacktraceCpuAttributeProvider +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(get) { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; + + processor_cpu_load_info_t cpuLoad; + mach_msg_type_number_t processorMsgCount; + natural_t processorCount; + + uint64_t totalSystemTime = 0, totalUserTime = 0, totalIdleTime = 0, totalNiceTime = 0; + + kern_return_t err = host_processor_info(mach_host_self(), PROCESSOR_CPU_LOAD_INFO, &processorCount, (processor_info_array_t *)&cpuLoad, &processorMsgCount); + + for (natural_t i = 0; i < processorCount; i++) { + totalSystemTime += cpuLoad[i].cpu_ticks[CPU_STATE_SYSTEM]; + totalUserTime += cpuLoad[i].cpu_ticks[CPU_STATE_USER] + cpuLoad[i].cpu_ticks[CPU_STATE_NICE]; + totalIdleTime += cpuLoad[i].cpu_ticks[CPU_STATE_IDLE]; + totalNiceTime += cpuLoad[i].cpu_ticks[CPU_STATE_NICE]; + + } + + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", [[NSProcessInfo processInfo] processorCount]] forKey:@"cpu.count"]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", [[NSProcessInfo processInfo] activeProcessorCount]] forKey:@"cpu.count.active"]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0llu", totalSystemTime] forKey:@"cpu.system"]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0llu", totalUserTime] forKey:@"cpu.user"]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0llu", totalIdleTime] forKey:@"cpu.idle"]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0llu", totalNiceTime] forKey:@"cpu.nice"]; + + + return dictionary; +} + +@end diff --git a/packages/react-native/ios/BacktraceCrashReporter.h b/packages/react-native/ios/BacktraceCrashReporter.h new file mode 100644 index 00000000..fd3908ea --- /dev/null +++ b/packages/react-native/ios/BacktraceCrashReporter.h @@ -0,0 +1,6 @@ +@interface BacktraceCrashReporter : NSObject +- (instancetype)initWithBacktraceUrl:(NSString*) rawUrl andAttributes:(NSDictionary*) attributes andOomSupport:(bool) enableOomSupport andAttachments:(NSArray*) attachments; +- (void)useAttachments:(NSArray*) attachments; +- (void)setAttributes:(NSDictionary*) attributes; +- (void)start; +@end diff --git a/packages/react-native/ios/BacktraceCrashReporter.mm b/packages/react-native/ios/BacktraceCrashReporter.mm new file mode 100644 index 00000000..55a849da --- /dev/null +++ b/packages/react-native/ios/BacktraceCrashReporter.mm @@ -0,0 +1,230 @@ +#import "BacktraceCrashReporter.h" +#import "CrashReporter/CrashReporter.h" +#import "BacktraceApi.h" +#import "OomWatcher.h" +#import "CrashUtils.h" +@implementation BacktraceCrashReporter +/** + PL Crash reporter instance + */ +PLCrashReporter* _crashReporter; + +/** + Backtrace API Instance - http client to send Backtrace Reports + */ +BacktraceApi* _backtraceApi; + + +/** + Backtrace OOM watcher instance + */ +OomWatcher* _oomWatcher; + +/** + Attachment paths + */ +NSArray* _attachmentsPaths; +/** + Class instance + */ +static BacktraceCrashReporter *instance; + +NSMutableDictionary* _attributes; + +Boolean disabled = TRUE; + +static void onCrash(siginfo_t *info, ucontext_t *uap, void *context) { + [OomWatcher cleanup]; +} + + +- (instancetype)initWithBacktraceUrl:(NSString*) submissionUrl andAttributes:(NSDictionary*) attributes andOomSupport:(bool) enableOomSupport andAttachments:(NSArray*) attachments { + if(instance != nil) { + return instance; + } + + if(!submissionUrl) { + NSLog(@"Backtrace: Backtrace URL is not available"); + return nil; + } + if( self = [super init]) { + if(![CrashUtils prepareCrashDirectory]) { + NSLog(@"Backtrace: Cannot start integration - cannot create cache dir"); + return nil; + } + NSLog(@"Backtrace: Initializing native client"); + _backtraceApi = [[BacktraceApi alloc] initWithBacktraceUrl:submissionUrl]; + _attachmentsPaths = [attachments mutableCopy]; + _attributes = [attributes mutableCopy]; + + _crashReporter = [[PLCrashReporter alloc] initWithConfiguration: + [[PLCrashReporterConfig alloc] + initWithSignalHandlerType: PLCrashReporterSignalHandlerTypeBSD + symbolicationStrategy: PLCrashReporterSymbolicationStrategyAll]]; + [self saveReportData]; + PLCrashReporterCallbacks callback = { + .version = 0, + .context = nil, + .handleSignal = &onCrash + }; + + [_crashReporter setCrashCallbacks:&callback]; + + if(enableOomSupport) { + _oomWatcher = [[OomWatcher alloc] init]; + } + + instance = self; + disabled = NO; + } + + return instance; +} + +- (void) saveReportData { + NSMutableDictionary *reportData = [[NSMutableDictionary alloc] init]; + [_attributes setObject:@"Crash" forKey:@"error.type"]; + [reportData setObject: _attributes forKey: @"attributes"]; + [reportData setObject: _attachmentsPaths forKey: @"attachments"]; + [_crashReporter setCustomData: [NSKeyedArchiver archivedDataWithRootObject:reportData]]; +} + + +- (void)useAttachments:(NSArray*) attachments { + _attachmentsPaths = [attachments mutableCopy]; + [self saveReportData]; + if(_oomWatcher != nil) { + [_oomWatcher updateAttachments:attachments]; + } +} + +-(void)setAttributes:(NSDictionary*) attributes { + [_attributes addEntriesFromDictionary:attributes]; + [self saveReportData]; + if(_oomWatcher != nil) { + [_oomWatcher updateAttributes: _attributes]; + } +} + +- (void) start { + BOOL hasPendingCrashReport = [_crashReporter hasPendingCrashReport]; + //send pending reports + [self sendPendingReports]; + //enable crash reporter + NSError* error; + [_crashReporter enableCrashReporterAndReturnError:&error]; + + if(error) { + NSLog(@"Backtrace: Cannot initialize crash reporter. Reason: %@ %@", error, [error userInfo]); + return; + } + + if(_oomWatcher != nil) { + if([_oomWatcher shouldReportOom:hasPendingCrashReport]) { + NSDictionary* state = [_oomWatcher getOomState]; + NSData* resource = [_crashReporter generateLiveReportAndReturnError:&error]; + if(error) { + NSLog(@"Backtrace: Cannot create a native report for OOM integration. Reason: %@ %@", error, [error userInfo]); + return; + } + [_backtraceApi upload:resource withAttributes:[state objectForKey:@"attributes"] andAttachments:[state objectForKey:@"attachments"] andCompletionHandler:^(bool shouldRemove) { + if(!shouldRemove) { + NSLog(@"Backtrace: Cannot send the OOM report."); + } + }]; + } + [_oomWatcher startOomIntegration:_attachmentsPaths andAttributes:_attributes]; + [self startNotificationsIntegration]; + } +} + + +- (void) sendPendingReports { + if(![_crashReporter hasPendingCrashReport]) + { + NSLog(@"Backtrace: No pending crash reports"); + return; + } + NSError *error = nil; + NSData *data = [_crashReporter loadPendingCrashReportDataAndReturnError:&error]; + if(error) { + NSLog(@"Backtrace: Cannot load pending crash reports. Reason: %@ %@", error, [error userInfo]); + [_crashReporter purgePendingCrashReport]; + } + if(!data) { + NSLog(@"Backtrace: empty crash report data"); + return; + } + + PLCrashReport *report = [[PLCrashReport alloc] initWithData: data error:&error]; + if(error) { + NSLog(@"Backtrace: Cannot initialize a new report from the old application session. Reason: %@ %@", error, [error userInfo]); + [_crashReporter purgePendingCrashReport]; + return; + } + if (report){ + NSDictionary* reportData = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData: [report customData]]; + NSArray* attachments = reportData != nil ? [reportData objectForKey:@"attachments"] : [NSMutableArray new]; + NSDictionary* attributes = reportData != nil ? [reportData objectForKey:@"attributes"] : [NSDictionary new]; + NSLog(@"Backtrace: Found a crash generated in the last user session. Sending data to Backtrace."); + [_backtraceApi upload:data withAttributes:attributes andAttachments:attachments andCompletionHandler:^(bool shouldRemove) { + if(!shouldRemove) { + NSLog(@"Backtrace: Cannot send report to Backtrace."); + return; + } + [_crashReporter purgePendingCrashReport]; + }]; + } +} + +- (void) startNotificationsIntegration { + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(handleBackgroundNotification) + name:UIApplicationDidEnterBackgroundNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(handleForegroundNotification) + name:UIApplicationWillEnterForegroundNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(disableIntegration) + name:UIApplicationWillTerminateNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(handleLowMemoryWarning) + name:UIApplicationDidReceiveMemoryWarningNotification + object:nil]; +} + + +- (void)handleBackgroundNotification { + [_oomWatcher backgroundNotification]; +} + +- (void)handleForegroundNotification { + [_oomWatcher foregroundNotification]; +} + +- (void)disableIntegration { + if(disabled == YES){ + return; + } + [OomWatcher cleanup]; + [[NSNotificationCenter defaultCenter] removeObserver:self]; + if(_oomWatcher != nil){ + [_oomWatcher disable]; + } + disabled = YES; + NSLog(@"Backtrace: Backtrace native integration has been disabled."); +} + +- (void)handleLowMemoryWarning { + [_oomWatcher saveLowMemoryWarning]; +} +@end + + + diff --git a/packages/react-native/ios/BacktraceDeviceAttributeProvider.h b/packages/react-native/ios/BacktraceDeviceAttributeProvider.h new file mode 100644 index 00000000..28c27ee9 --- /dev/null +++ b/packages/react-native/ios/BacktraceDeviceAttributeProvider.h @@ -0,0 +1,12 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceDeviceAttributeProvider : NSObject +#else +#import + +@interface BacktraceDeviceAttributeProvider : NSObject +#endif + +@end + diff --git a/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm b/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm new file mode 100644 index 00000000..57b0f951 --- /dev/null +++ b/packages/react-native/ios/BacktraceDeviceAttributeProvider.mm @@ -0,0 +1,23 @@ +#import "BacktraceDeviceAttributeProvider.h" +#import + +@implementation BacktraceDeviceAttributeProvider + +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(get) { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; + struct utsname systemInfo; + uname(&systemInfo); + + [dictionary setObject: [NSString stringWithCString:systemInfo.machine + encoding:NSUTF8StringEncoding] forKey: @"device.model"]; + [dictionary setObject: @"Applie Inc" forKey: @"device.brand"]; + [dictionary setObject: [[UIDevice currentDevice] model] forKey: @"device.product"]; + [dictionary setObject: @"Apple Inc" forKey: @"device.manufacturer"]; + [dictionary setObject: [[NSBundle mainBundle] infoDictionary][@"DTSDKName"] forKey: @"device.sdk"]; + [dictionary setObject: [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0] forKey: @"culture"]; + + return dictionary; +} + +@end diff --git a/packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.h b/packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.h new file mode 100644 index 00000000..1f08d130 --- /dev/null +++ b/packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.h @@ -0,0 +1,11 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceMemoryUsageAttributeProvider : NSObject +#else +#import + +@interface BacktraceMemoryUsageAttributeProvider : NSObject +#endif + +@end diff --git a/packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.mm b/packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.mm new file mode 100644 index 00000000..5fc596f9 --- /dev/null +++ b/packages/react-native/ios/BacktraceMemoryUsageAttributeProvider.mm @@ -0,0 +1,58 @@ +#import +#import "BacktraceMemoryUsageAttributeProvider.h" + +@implementation BacktraceMemoryUsageAttributeProvider +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(get) { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; + + //read process info + struct task_vm_info info; + mach_msg_type_number_t systemMemorySize = TASK_VM_INFO_COUNT; + kern_return_t kerr = task_info(mach_task_self(), + TASK_VM_INFO, + (task_info_t)&info, + &systemMemorySize); + if( kerr == KERN_SUCCESS ) { + [dictionary setObject:[NSString stringWithFormat:@"%0.0llu", (info.resident_size / 1048576)] forKey: @"process.vm.rss.size"]; + [dictionary setObject:[NSString stringWithFormat:@"%0.0llu", (info.virtual_size / 1048576)] forKey: @"process.vm.vma.size"]; + [dictionary setObject:[NSString stringWithFormat:@"%0.0llu", (info.resident_size_peak / 1048576)] forKey: @"process.vm.rss.peak"]; + } + + // read memory usage + vm_statistics64_data_t vm_stat; + mach_port_t host_port; + mach_msg_type_number_t host_size; + vm_size_t pagesize; + + host_port = mach_host_self(); + host_size = sizeof(vm_statistics64_data_t) / sizeof(integer_t); + host_page_size(host_port, &pagesize); + + + kern_return_t kerr2 = host_statistics64(host_port, HOST_VM_INFO64, (host_info_t)&vm_stat, &host_size); + if ( kerr2== KERN_SUCCESS) { + /* Stats in bytes */ + unsigned long pagesizeKb = pagesize / 1024; + unsigned long active = vm_stat.active_count * pagesizeKb; + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", active] forKey:@"system.memory.active"]; + + unsigned long inactive = vm_stat.inactive_count * pagesizeKb; + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", inactive] forKey: @"system.memory.inactive"]; + + unsigned long free = vm_stat.free_count * pagesizeKb; + [dictionary setObject:[NSString stringWithFormat:@"%0.0lu", free] forKey: @"system.memory.free"]; + + unsigned long wired = vm_stat.wire_count * pagesizeKb; + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", wired] forKey:@"system.memory.wired"]; + + unsigned long used = active + inactive + wired; + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", used] forKey:@"system.memory.used"]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0lu", used + free] forKey:@"system.memory.total" ]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0llu", vm_stat.swapins] forKey:@"system.memory.swapins" ]; + [dictionary setObject: [NSString stringWithFormat:@"%0.0llu", vm_stat.swapouts] forKey:@"system.memory.swapouts"]; + } + return dictionary; +} + +@end diff --git a/packages/react-native/ios/BacktraceReactNative.h b/packages/react-native/ios/BacktraceReactNative.h new file mode 100644 index 00000000..6fa5658e --- /dev/null +++ b/packages/react-native/ios/BacktraceReactNative.h @@ -0,0 +1,12 @@ + +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceReactNative : NSObject +#else +#import + +@interface BacktraceReactNative : NSObject +#endif + +@end diff --git a/packages/react-native/ios/BacktraceReactNative.mm b/packages/react-native/ios/BacktraceReactNative.mm new file mode 100644 index 00000000..948b0865 --- /dev/null +++ b/packages/react-native/ios/BacktraceReactNative.mm @@ -0,0 +1,42 @@ +#import "BacktraceReactNative.h" +#import "BacktraceCrashReporter.h" + +static BacktraceCrashReporter *instance; + +@implementation BacktraceReactNative +RCT_EXPORT_MODULE() + +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(initialize:(NSString*)submissionUrl + attributes:(NSDictionary*)attributes + attachmentPaths:(NSArray*)attachmentPaths) { + if(instance != nil) { + return nil; + } + instance = [[BacktraceCrashReporter alloc] initWithBacktraceUrl:submissionUrl andAttributes: attributes andOomSupport:TRUE andAttachments:attachmentPaths]; + [instance start]; + return instance; +} + +RCT_EXPORT_METHOD(useAttachments: (NSArray*) attachmentPaths) { + if(instance == nil) { + return; + } + + [instance useAttachments:attachmentPaths]; +} + +RCT_EXPORT_METHOD(useAttributes: (NSDictionary*) attributes) { + if(instance == nil) { + return; + } + + [instance setAttributes:attributes]; +} + +RCT_EXPORT_METHOD(crash) +{ + NSArray *array = @[]; + array[1]; +} + +@end diff --git a/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj b/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj new file mode 100644 index 00000000..51e2ba1e --- /dev/null +++ b/packages/react-native/ios/BacktraceReactNative.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXCopyFilesBuildPhase section */ + 58B511D91A9E6C8500147676 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 134814201AA4EA6300B7C361 /* libBacktraceReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBacktraceReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 5B861DA92AB0A51E00C25F05 /* BacktraceMemoryUsageAttributeProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceMemoryUsageAttributeProvider.mm; sourceTree = ""; }; + 5B861DAA2AB0A51E00C25F05 /* BacktraceMemoryUsageAttributeProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceMemoryUsageAttributeProvider.h; sourceTree = ""; }; + 5B861DAB2AB0ADA300C25F05 /* BacktraceDeviceAttributeProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceDeviceAttributeProvider.mm; sourceTree = ""; }; + 5B861DAC2AB0ADA300C25F05 /* BacktraceDeviceAttributeProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceDeviceAttributeProvider.h; sourceTree = ""; }; + 5B861DAD2AB0BA3200C25F05 /* BacktraceSystemAttributeProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceSystemAttributeProvider.h; sourceTree = ""; }; + 5B861DAE2AB0BA3200C25F05 /* BacktraceSystemAttributeProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceSystemAttributeProvider.mm; sourceTree = ""; }; + 5B861DAF2AB1CBE100C25F05 /* BacktraceCpuAttributeProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceCpuAttributeProvider.h; sourceTree = ""; }; + 5B861DB02AB1CBE100C25F05 /* BacktraceCpuAttributeProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceCpuAttributeProvider.mm; sourceTree = ""; }; + 5BCA76562AAF16840066D745 /* libBacktrace-Unity-Cocoa.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libBacktrace-Unity-Cocoa.a"; sourceTree = ""; }; + 5BCA76592AAF2B650066D745 /* BacktraceApi.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceApi.mm; sourceTree = ""; }; + 5BCA765A2AAF2B650066D745 /* BacktraceApi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceApi.h; sourceTree = ""; }; + 5BCA765B2AAF2C570066D745 /* OomWatcher.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = OomWatcher.mm; sourceTree = ""; }; + 5BCA765C2AAF2C680066D745 /* OomWatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OomWatcher.h; sourceTree = ""; }; + 5BCA765D2AAF2CE60066D745 /* CrashUtils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CrashUtils.mm; sourceTree = ""; }; + 5BCA765E2AAF2CE60066D745 /* CrashUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CrashUtils.h; sourceTree = ""; }; + 5BD713EB2AAB80190029E295 /* BacktraceApplicationAttributeProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceApplicationAttributeProvider.h; sourceTree = ""; }; + 5BD713EC2AAB80230029E295 /* BacktraceApplicationAttributeProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceApplicationAttributeProvider.mm; sourceTree = ""; }; + 5BD713EE2AAB803A0029E295 /* BacktraceCrashReporter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BacktraceCrashReporter.h; sourceTree = ""; }; + 5BD713EF2AAB80400029E295 /* BacktraceCrashReporter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BacktraceCrashReporter.mm; sourceTree = ""; }; + B3E7B5881CC2AC0600A0062D /* BacktraceReactNative.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BacktraceReactNative.h; sourceTree = ""; }; + B3E7B5891CC2AC0600A0062D /* BacktraceReactNative.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BacktraceReactNative.mm; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58B511D81A9E6C8500147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 134814211AA4EA7D00B7C361 /* Products */ = { + isa = PBXGroup; + children = ( + 134814201AA4EA6300B7C361 /* libBacktraceReactNative.a */, + ); + name = Products; + sourceTree = ""; + }; + 58B511D21A9E6C8500147676 = { + isa = PBXGroup; + children = ( + 5B861DAF2AB1CBE100C25F05 /* BacktraceCpuAttributeProvider.h */, + 5B861DB02AB1CBE100C25F05 /* BacktraceCpuAttributeProvider.mm */, + 5B861DAD2AB0BA3200C25F05 /* BacktraceSystemAttributeProvider.h */, + 5B861DAE2AB0BA3200C25F05 /* BacktraceSystemAttributeProvider.mm */, + 5B861DAB2AB0ADA300C25F05 /* BacktraceDeviceAttributeProvider.mm */, + 5B861DAC2AB0ADA300C25F05 /* BacktraceDeviceAttributeProvider.h */, + 5B861DA92AB0A51E00C25F05 /* BacktraceMemoryUsageAttributeProvider.mm */, + 5B861DAA2AB0A51E00C25F05 /* BacktraceMemoryUsageAttributeProvider.h */, + 5BCA765D2AAF2CE60066D745 /* CrashUtils.mm */, + 5BCA765E2AAF2CE60066D745 /* CrashUtils.h */, + 5BCA765C2AAF2C680066D745 /* OomWatcher.h */, + 5BCA765B2AAF2C570066D745 /* OomWatcher.mm */, + 5BCA76592AAF2B650066D745 /* BacktraceApi.mm */, + 5BCA765A2AAF2B650066D745 /* BacktraceApi.h */, + B3E7B5881CC2AC0600A0062D /* BacktraceReactNative.h */, + 5BD713EF2AAB80400029E295 /* BacktraceCrashReporter.mm */, + 5BD713EC2AAB80230029E295 /* BacktraceApplicationAttributeProvider.mm */, + 5BD713EE2AAB803A0029E295 /* BacktraceCrashReporter.h */, + 5BD713EB2AAB80190029E295 /* BacktraceApplicationAttributeProvider.h */, + B3E7B5891CC2AC0600A0062D /* BacktraceReactNative.mm */, + 134814211AA4EA7D00B7C361 /* Products */, + 5BCA76552AAF16840066D745 /* Frameworks */, + ); + sourceTree = ""; + }; + 5BCA76552AAF16840066D745 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 5BCA76562AAF16840066D745 /* libBacktrace-Unity-Cocoa.a */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58B511DA1A9E6C8500147676 /* BacktraceReactNative */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "BacktraceReactNative" */; + buildPhases = ( + 58B511D71A9E6C8500147676 /* Sources */, + 58B511D81A9E6C8500147676 /* Frameworks */, + 58B511D91A9E6C8500147676 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = BacktraceReactNative; + productName = RCTDataManager; + productReference = 134814201AA4EA6300B7C361 /* libBacktraceReactNative.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58B511D31A9E6C8500147676 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 58B511DA1A9E6C8500147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "BacktraceReactNative" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + ); + mainGroup = 58B511D21A9E6C8500147676; + productRefGroup = 58B511D21A9E6C8500147676; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58B511DA1A9E6C8500147676 /* BacktraceReactNative */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 58B511D71A9E6C8500147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 58B511ED1A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=*]" = arm64; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 58B511EE1A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=*]" = arm64; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 58B511F01A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); + OTHER_LDFLAGS = ( + "-ObjC", + "$(inherited)", + ); + PRODUCT_NAME = BacktraceReactNative; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 58B511F11A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); + OTHER_LDFLAGS = ( + "-ObjC", + "$(inherited)", + ); + PRODUCT_NAME = BacktraceReactNative; + SKIP_INSTALL = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "BacktraceReactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511ED1A9E6C8500147676 /* Debug */, + 58B511EE1A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "BacktraceReactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511F01A9E6C8500147676 /* Debug */, + 58B511F11A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58B511D31A9E6C8500147676 /* Project object */; +} diff --git a/packages/react-native/ios/BacktraceSystemAttributeProvider.h b/packages/react-native/ios/BacktraceSystemAttributeProvider.h new file mode 100644 index 00000000..142b2b7c --- /dev/null +++ b/packages/react-native/ios/BacktraceSystemAttributeProvider.h @@ -0,0 +1,12 @@ +#ifdef RCT_NEW_ARCH_ENABLED +#import "RNBacktraceReactNativeSpec.h" + +@interface BacktraceSystemAttributeProvider : NSObject +#else +#import + +@interface BacktraceSystemAttributeProvider : NSObject +#endif + +@end + diff --git a/packages/react-native/ios/BacktraceSystemAttributeProvider.mm b/packages/react-native/ios/BacktraceSystemAttributeProvider.mm new file mode 100644 index 00000000..d201b178 --- /dev/null +++ b/packages/react-native/ios/BacktraceSystemAttributeProvider.mm @@ -0,0 +1,50 @@ +#import "BacktraceSystemAttributeProvider.h" +#include + +@implementation BacktraceSystemAttributeProvider ++ (NSString*) readMachineId { + NSString* cacheKey = @"backtrace-react.unique.user.identifier"; + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + NSString* guid = [prefs stringForKey:cacheKey]; + if(guid == nil) { + guid = [[NSUUID UUID] UUIDString]; + [prefs setObject:guid forKey:cacheKey]; + } + return guid; +} ++ (NSString*) readSystemArchitecture { + size_t size; + cpu_type_t type; + size = sizeof(type); + sysctlbyname("hw.cputype", &type, &size, NULL, 0); + + // values for cputype and cpusubtype defined in mach/machine.h + if (type == CPU_TYPE_X86) + { + return @"x86"; + } else if (type == CPU_TYPE_ARM) + { + return @"ARM"; + } else if(type == CPU_TYPE_ARM64) + { + return @"ARM64"; + } else if(type == CPU_TYPE_ARM64_32) + { + return @"ARM64_32"; + } else { + return @"Unknown"; + } +} + +RCT_EXPORT_MODULE() +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(get) { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; + [dictionary setObject: [BacktraceSystemAttributeProvider readMachineId] forKey:@"guid"]; + [dictionary setObject: [[UIDevice currentDevice] systemName] forKey:@"uname.sysname"]; + [dictionary setObject: [BacktraceSystemAttributeProvider readSystemArchitecture] forKey:@"uname.machine"]; + [dictionary setObject: [[UIDevice currentDevice] systemVersion] forKey:@"uname.version"]; + return dictionary; +} + +@end + diff --git a/packages/react-native/ios/CrashUtils.h b/packages/react-native/ios/CrashUtils.h new file mode 100644 index 00000000..0df68fd1 --- /dev/null +++ b/packages/react-native/ios/CrashUtils.h @@ -0,0 +1,8 @@ +@interface CrashUtils : NSObject ++ (BOOL)isDebuggerAttached; ++ (NSString*) getCacheDir; ++ (NSString*) getDefaultReportPath; ++ (NSString*) getDefaultOomStatusPath; ++ (BOOL) prepareCrashDirectory; ++ (void) crash; +@end diff --git a/packages/react-native/ios/CrashUtils.mm b/packages/react-native/ios/CrashUtils.mm new file mode 100644 index 00000000..167123bf --- /dev/null +++ b/packages/react-native/ios/CrashUtils.mm @@ -0,0 +1,78 @@ +#import +#import "CrashUtils.h" + +#include +#include +#include +#include +#include + + +@implementation CrashUtils + ++ (BOOL) isDebuggerAttached { + // https://stackoverflow.com/questions/4744826/detecting-if-ios-app-is-run-in-debugger/4746378#4746378 + int junk; + int mib[4]; + struct kinfo_proc info; + size_t size; + + // Initialize the flags so that, if sysctl fails for some bizarre + // reason, we get a predictable result. + + info.kp_proc.p_flag = 0; + + // Initialize mib, which tells sysctl the info we want, in this case + // we're looking for information about a specific process ID. + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = getpid(); + + // Call sysctl. + + size = sizeof(info); + junk = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0); + assert(junk == 0); + + // We're being debugged if the P_TRACED flag is set. + + return ( (info.kp_proc.p_flag & P_TRACED) != 0 ); +} + + +// returns cache dir path ++ (NSString*) getCacheDir { + NSString *cacheDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; + return [cacheDirectory stringByAppendingPathComponent:@"BacktraceCache"]; +} + +// returns report path ++ (NSString*) getDefaultReportPath { + return [ [CrashUtils getCacheDir] stringByAppendingPathComponent:@"Backtrace.plist"]; +} + +// returns path to oom status file path ++ (NSString*) getDefaultOomStatusPath { + return [ [CrashUtils getCacheDir] stringByAppendingPathComponent:@"BacktraceOOMState.json"]; +} + ++ (BOOL) prepareCrashDirectory { + NSString* backtraceDir = [CrashUtils getCacheDir]; + BOOL isDir = NO; + NSError *error; + if (! [[NSFileManager defaultManager] fileExistsAtPath:backtraceDir isDirectory:&isDir]) { + return [[NSFileManager defaultManager] createDirectoryAtPath:backtraceDir withIntermediateDirectories:YES attributes:nil error:&error]; + } else { + return isDir; + } +} + ++ (void) crash { + NSArray *array = @[]; + NSObject *o = array[1]; + NSLog(array[2] == o ? @"YES": @"NO"); +} +@end + diff --git a/packages/react-native/ios/OomWatcher.h b/packages/react-native/ios/OomWatcher.h new file mode 100644 index 00000000..d912bfe8 --- /dev/null +++ b/packages/react-native/ios/OomWatcher.h @@ -0,0 +1,29 @@ +@interface OomWatcher : NSObject { + + // current application state + NSMutableDictionary* _applicationState; + + // last memory warning update time + NSTimeInterval _lastUpdateTime; + + // determine if debugger is available or not + BOOL _debugMode; + + // determine if oom watcher have been disabled + BOOL _disabled; +} +- (void) disable; ++ (void) cleanup; +- (instancetype) init; +- (BOOL) shouldReportOom:(BOOL)didCrash; +- (NSDictionary*) getOomState; +- (void) startOomIntegration: (NSArray*) attachments andAttributes:(NSDictionary*) attributes; +- (void) backgroundNotification; +- (void) foregroundNotification; +- (void) updateAttributes:(NSDictionary*) attributes; +- (void) updateAttachments:(NSArray*) attachments; +- (void) saveLowMemoryWarning; +- (void) setDefaultApplicationState: (NSArray*) attachments andAttributes:(NSDictionary*) attributes; +- (BOOL) verifyOomState: (NSDictionary*) state; +- (void) saveApplicationState; +@end diff --git a/packages/react-native/ios/OomWatcher.mm b/packages/react-native/ios/OomWatcher.mm new file mode 100644 index 00000000..a4e02944 --- /dev/null +++ b/packages/react-native/ios/OomWatcher.mm @@ -0,0 +1,156 @@ +#import +#include "OomWatcher.h" +#include "CrashUtils.h" +#import "CrashReporter/CrashReporter.h" + +@implementation OomWatcher + +// current application state +NSMutableDictionary* _applicationState; + +NSTimeInterval _lastUpdateTime; + +// determine if debugger is available or not +bool _debugMode; + +// determine if oom watcher have been disposed +bool _disabled; + +- (instancetype) init { + if (self = [super init]) { + _lastUpdateTime = 0; + _applicationState = [NSMutableDictionary dictionary]; + _debugMode = [CrashUtils isDebuggerAttached]; + _disabled = NO; + } + + return self; +} + +// decide if ios integration should send oom report to Backtrace +- (BOOL) shouldReportOom:(BOOL)didCrash { + // check if crash happened in the previous session + if(didCrash) { + return NO; + } + NSDictionary* state= [self getOomState]; + if(state == nil) { + return NO; + } + return [self verifyOomState:state]; +} + +- (NSDictionary*) getOomState { + NSString* statusPath = [CrashUtils getDefaultOomStatusPath]; + NSFileManager* manager = [NSFileManager defaultManager]; + if([manager fileExistsAtPath:statusPath] == NO) { + return nil; + } + + NSDictionary* state= [NSDictionary dictionaryWithContentsOfFile:statusPath]; + return state; +} + +- (void) startOomIntegration: (NSArray*) attachments andAttributes:(NSDictionary*) attributes { + [self setDefaultApplicationState:attachments andAttributes:attributes]; + [self saveApplicationState]; +} + +- (void) backgroundNotification { + [_applicationState setObject:@"background" forKey:@"state"]; + [self saveApplicationState]; +} + +- (void) foregroundNotification { + [_applicationState setObject:@"foreground" forKey:@"state"]; + [self saveApplicationState]; +} + +- (void) updateAttributes:(NSDictionary*) clientAttributes { + NSMutableDictionary* attributes = [clientAttributes mutableCopy]; + [attributes setObject:@"OOMException: Out of memory detected." forKey:@"error.message"]; + [attributes setObject:@"OOMException" forKey:@"classifiers"]; + [attributes setObject:@"OOMException" forKey:@"error.type"]; + [_applicationState setObject:attributes forKey:@"attributes"]; +} + +- (void) updateAttachments:(NSArray*) attachments { + [_applicationState setObject:attachments forKey:@"attachments"]; +} +- (void) saveLowMemoryWarning { + NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970]; + if( (currentTime - _lastUpdateTime) < 120) { + _lastUpdateTime = currentTime; + return; + } + + NSLog(@"Backtrace: Received a memory warning message. Saving application state."); + _lastUpdateTime = currentTime; + + NSMutableDictionary* attributes = [_applicationState objectForKey:@"attributes"]; + [attributes setObject: @"true" forKey: @"memory.warning"]; + [attributes setObject: [NSString stringWithFormat:@"%f", currentTime] forKey:@"memory.warning.time"]; + + [_applicationState setObject:attributes forKey:@"attributes"]; + [self saveApplicationState]; +} + + +- (void) setDefaultApplicationState: (NSArray*) attachments andAttributes:(NSDictionary*) attributes { + [_applicationState setObject:@"foreground" forKey:@"state"]; + [_applicationState setObject:attachments forKey:@"attachments"]; + [_applicationState setObject:[[NSProcessInfo processInfo] operatingSystemVersionString] forKey:@"osVersion"]; + [_applicationState setObject:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] forKey:@"appVersion"]; + [_applicationState setObject:[NSNumber numberWithBool:_debugMode] forKey:@"debuggerEnabled"]; + [self updateAttributes:[attributes mutableCopy]]; + [self updateAttachments:attachments]; +} + +- (BOOL) verifyOomState: (NSDictionary*) state { + if(!state) { + return NO; + } + + NSString* osVersion = [state objectForKey:@"osVersion"]; + if(osVersion == nil || ![osVersion isEqualToString: [[NSProcessInfo processInfo] operatingSystemVersionString]]) { + return NO; + } + + NSString* appVersion = [state objectForKey:@"appVersion"]; + if(appVersion == nil || ![appVersion isEqualToString: [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]]) { + return NO; + } + + NSNumber* isDebuggerEnabled = [state objectForKey:@"debuggerEnabled"]; + if([isDebuggerEnabled isEqualToNumber:@1]) { + return NO; + } + NSLog(@"Backtrace: Detected OOM state"); + return YES; +} + +// cleanup Oom integration ++ (void) cleanup { + NSString* statusPath = [CrashUtils getDefaultOomStatusPath]; + NSFileManager* manager = [NSFileManager defaultManager]; + if(![manager fileExistsAtPath:statusPath]) { + return; + } + + NSError *error; + [manager removeItemAtPath:statusPath error: &error]; +} + +- (void) disable { + _disabled = YES; +} + + +- (void) saveApplicationState { + if(_disabled == YES) { + return; + } + NSString* statusPath = [CrashUtils getDefaultOomStatusPath]; + [_applicationState writeToFile:statusPath atomically:YES]; +} +@end diff --git a/packages/react-native/package.json b/packages/react-native/package.json new file mode 100644 index 00000000..b59860ea --- /dev/null +++ b/packages/react-native/package.json @@ -0,0 +1,98 @@ +{ + "name": "@backtrace-labs/react-native", + "version": "0.0.1", + "description": "Backtrace-Javascript React-Native integration", + "main": "lib/commonjs/index", + "module": "lib/module/index", + "types": "lib/typescript/index.d.ts", + "react-native": "src/index", + "source": "src/index", + "files": [ + "src", + "lib", + "android", + "ios", + "cpp", + "*.podspec", + "!lib/typescript/example", + "!ios/build", + "!android/build", + "!android/gradle", + "!android/gradlew", + "!android/gradlew.bat", + "!android/local.properties", + "!**/__tests__", + "!**/__fixtures__", + "!**/__mocks__", + "!**/.*" + ], + "scripts": { + "build": "bob build", + "clean": "rimraf \"lib\"", + "format:check": "eslint \"**/*.{js,ts,tsx}\"", + "prepublishOnly": "bob build" + }, + "keywords": [ + "Error", + "Reporting", + "Diagnostic", + "Tool", + "Bug", + "Bugs", + "StackTrace", + "React", + "react-native", + "ios", + "android" + ], + "repository": "https://github.com/konraddysput/backtrace-react-native", + "author": "Backtrace ", + "license": "MIT", + "bugs": { + "url": "https://github.com/backtrace-labs/backtrace-javascript/issues" + }, + "homepage": "https://github.com/backtrace-labs/backtrace-javascript#readme", + "engines": { + "node": ">= 16.0.0" + }, + "jest": { + "preset": "react-native", + "modulePathIgnorePatterns": [ + "/example/node_modules", + "/lib/" + ] + }, + "react-native-builder-bob": { + "source": "src", + "output": "lib", + "targets": [ + "commonjs", + "module", + [ + "typescript", + { + "project": "tsconfig.json" + } + ] + ] + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + }, + "devDependencies": { + "@react-native-community/eslint-config": "^3.0.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.70.0", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "18.2.0", + "react-native": "0.72.4", + "react-native-builder-bob": "^0.21.3", + "typescript": "^5.0.2" + }, + "dependencies": { + "@backtrace-labs/react": "^0.0.4", + "@backtrace-labs/sdk-core": "^0.0.4" + } +} diff --git a/packages/react-native/src/BacktraceClient.ts b/packages/react-native/src/BacktraceClient.ts new file mode 100644 index 00000000..92b72d2c --- /dev/null +++ b/packages/react-native/src/BacktraceClient.ts @@ -0,0 +1,138 @@ +import { ReactStackTraceConverter } from '@backtrace-labs/react'; +import { + BacktraceCoreClient, + SingleSessionProvider, + SubmissionUrlInformation, + V8StackTraceConverter, + VariableDebugIdMapProvider, + type AttributeType, + type BacktraceAttributeProvider, + type BacktraceRequestHandler, + type BreadcrumbsEventSubscriber, + type DebugIdContainer, +} from '@backtrace-labs/sdk-core'; +import { Platform } from 'react-native'; +import { BacktraceClientBuilder } from './BacktraceClientBuilder'; +import { type BacktraceConfiguration } from './BacktraceConfiguration'; +import { version } from './common/platformHelper'; +import { CrashReporter } from './crashReporter/CrashReporter'; +import { generateUnhandledExceptionHandler } from './handlers'; +import { type ExceptionHandler } from './handlers/ExceptionHandler'; +export class BacktraceClient extends BacktraceCoreClient { + private readonly crashReporter: CrashReporter = new CrashReporter(); + private readonly _exceptionHandler: ExceptionHandler = generateUnhandledExceptionHandler(); + + public crash(): void { + this.crashReporter.crash(); + } + constructor( + options: BacktraceConfiguration, + requestHandler: BacktraceRequestHandler, + attributeProviders: BacktraceAttributeProvider[], + breadcrumbsEventSubscribers: BreadcrumbsEventSubscriber[], + ) { + super({ + options, + sdkOptions: { + agent: '@backtrace/react-native', + agentVersion: '0.0.1', + langName: 'react-native', + langVersion: version(), + }, + requestHandler, + attributeProviders, + debugIdMapProvider: new VariableDebugIdMapProvider(global as DebugIdContainer), + breadcrumbsSetup: { + subscribers: breadcrumbsEventSubscribers, + }, + stackTraceConverter: new ReactStackTraceConverter(new V8StackTraceConverter()), + sessionProvider: new SingleSessionProvider(), + }); + + this.captureUnhandledErrors(options.captureUnhandledErrors, options.captureUnhandledPromiseRejections); + const submissionUrl = SubmissionUrlInformation.toJsonReportSubmissionUrl(options.url); + + this.crashReporter.initialize( + Platform.select({ + ios: SubmissionUrlInformation.toPlCrashReporterSubmissionUrl(submissionUrl), + android: SubmissionUrlInformation.toMinidumpSubmissionUrl(submissionUrl), + default: submissionUrl, + }), + this.attributeManager.get('scoped').attributes, + this.attachments, + ); + } + + /** + * Add attribute to Backtrace Client reports. + * @param attributes key-value object with attributes. + */ + public addAttribute(attributes: Record): void; + /** + * Add dynamic attributes to Backtrace Client reports. + * @param attributes function returning key-value object with attributes. + */ + public addAttribute(attributes: () => Record): void; + public addAttribute(attributes: Record | (() => Record)) { + super.addAttribute(attributes as Record); + if (typeof attributes === 'function') { + return; + } + + const clientAttributes = super.attributes; + this.crashReporter?.updateAttributes( + Object.fromEntries( + Object.entries(attributes) + .filter(([key]) => clientAttributes[key] != null) + .map((n) => n as [string, AttributeType]), + ), + ); + } + + public dispose(): void { + this._exceptionHandler.dispose(); + this.crashReporter.dispose(); + super.dispose(); + } + + public static builder(options: BacktraceConfiguration): BacktraceClientBuilder { + return new BacktraceClientBuilder(options); + } + /** + * Initializes the client. If the client already exists, the available instance + * will be returned and all other options will be ignored. + * @param options client configuration + * @param build builder + * @returns backtrace client + */ + public static initialize( + options: BacktraceConfiguration, + build?: (builder: BacktraceClientBuilder) => void, + ): BacktraceClient { + if (this.instance) { + return this.instance; + } + const builder = this.builder(options); + build && build(builder); + this._instance = builder.build(); + return this._instance as BacktraceClient; + } + + /** + * Returns created BacktraceClient instance if the instance exists. + * Otherwise undefined. + */ + public static get instance(): BacktraceClient | undefined { + return this._instance as BacktraceClient; + } + + private captureUnhandledErrors(captureUnhandledExceptions = true, captureUnhandledRejections = true) { + if (captureUnhandledExceptions) { + this._exceptionHandler.captureManagedErrors(this); + } + + if (captureUnhandledRejections) { + this._exceptionHandler.captureUnhandledPromiseRejections(this); + } + } +} diff --git a/packages/react-native/src/BacktraceClientBuilder.ts b/packages/react-native/src/BacktraceClientBuilder.ts new file mode 100644 index 00000000..ab640496 --- /dev/null +++ b/packages/react-native/src/BacktraceClientBuilder.ts @@ -0,0 +1,43 @@ +import { BacktraceBrowserRequestHandler } from '@backtrace-labs/react'; +import { BacktraceCoreClientBuilder, SingleSessionProvider } from '@backtrace-labs/sdk-core'; +import { Platform } from 'react-native'; +import { NativeAttributeProvider } from './attributes/NativeAttributeProvider'; +import { ReactNativeAttributeProvider } from './attributes/ReactNativeAttributeProvider'; +import { BacktraceClient } from './BacktraceClient'; +import { type BacktraceConfiguration } from './BacktraceConfiguration'; +import { DebuggerHelper } from './common/DebuggerHelper'; + +export class BacktraceClientBuilder extends BacktraceCoreClientBuilder { + constructor(private readonly options: BacktraceConfiguration) { + super( + new BacktraceBrowserRequestHandler(options), + [ + new ReactNativeAttributeProvider(), + ...(DebuggerHelper.isConnected() + ? [] + : Platform.select({ + ios: [ + new NativeAttributeProvider('BacktraceApplicationAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceDeviceAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceSystemAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceMemoryUsageAttributeProvider', 'dynamic'), + new NativeAttributeProvider('BacktraceCpuAttributeProvider', 'dynamic'), + ], + android: [ + new NativeAttributeProvider('BacktraceApplicationAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceDeviceAttributeProvider', 'scoped'), + new NativeAttributeProvider('BacktraceSystemAttributeProvider', 'scoped'), + new NativeAttributeProvider('MemoryInformationAttributeProvider', 'dynamic'), + new NativeAttributeProvider('ProcessAttributeProvider', 'dynamic'), + ], + default: [], + })), + ], + [], + new SingleSessionProvider(), + ); + } + public build(): BacktraceClient { + return new BacktraceClient(this.options, this.handler, this.attributeProviders, this.breadcrumbsSubscribers); + } +} diff --git a/packages/react-native/src/BacktraceConfiguration.ts b/packages/react-native/src/BacktraceConfiguration.ts new file mode 100644 index 00000000..e45a9d77 --- /dev/null +++ b/packages/react-native/src/BacktraceConfiguration.ts @@ -0,0 +1,2 @@ +import { type BacktraceConfiguration as SdkConfiguration } from '@backtrace-labs/sdk-core'; +export interface BacktraceConfiguration extends SdkConfiguration {} diff --git a/packages/react-native/src/ErrorBoundary.tsx b/packages/react-native/src/ErrorBoundary.tsx new file mode 100644 index 00000000..997b7958 --- /dev/null +++ b/packages/react-native/src/ErrorBoundary.tsx @@ -0,0 +1,63 @@ +import { BacktraceReport } from '@backtrace-labs/sdk-core'; +import { Component, isValidElement, type ErrorInfo, type ReactElement, type ReactNode } from 'react'; +import { BacktraceClient } from './BacktraceClient'; + +type RenderFallback = (error: Error) => ReactElement; + +export interface ErrorBoundaryProps { + children: ReactNode; + fallback?: ReactElement | RenderFallback; + name?: string; +} + +export interface ErrorBoundaryState { + error?: Error; +} + +export class ErrorBoundary extends Component { + private _client: BacktraceClient; + private COMPONENT_THREAD_NAME = 'component-stack'; + constructor(props: ErrorBoundaryProps) { + super(props); + this.state = { + error: undefined, + }; + // grabbing here so it will fail fast if BacktraceClient is uninitialized + const client = BacktraceClient.instance; + if (!client) { + throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); + } + this._client = client; + } + + public static getDerivedStateFromError(error: Error) { + return { error }; + } + + public async componentDidCatch(error: Error, info: ErrorInfo) { + const { name } = this.props; + const report = new BacktraceReport(error, { + 'errorboundary.name': name ?? 'main', + 'error.type': 'Unhandled exception', + }); + report.addStackTrace(this.COMPONENT_THREAD_NAME, info.componentStack); + await this._client.send(report); + } + + render() { + const { fallback, children } = this.props; + + if (!this.state.error) { + return children; + } + + const fallbackComponent = typeof fallback === 'function' ? fallback(this.state.error) : fallback; + + if (fallbackComponent && isValidElement(fallbackComponent)) { + return fallbackComponent; + } + + // no or invalid fallback + return null; + } +} diff --git a/packages/react-native/src/attributes/NativeAttributeProvider.ts b/packages/react-native/src/attributes/NativeAttributeProvider.ts new file mode 100644 index 00000000..f32f936e --- /dev/null +++ b/packages/react-native/src/attributes/NativeAttributeProvider.ts @@ -0,0 +1,16 @@ +import { type AttributeType, type BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { NativeModules } from 'react-native'; +export class NativeAttributeProvider implements BacktraceAttributeProvider { + private readonly _provider: { get(): Record }; + + constructor(private readonly _name: string, public readonly type: 'scoped' | 'dynamic') { + this._provider = NativeModules?.[this._name]; + } + + public get(): Record { + if (!this._provider) { + return {}; + } + return this._provider.get(); + } +} diff --git a/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts b/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts new file mode 100644 index 00000000..ad2cb60b --- /dev/null +++ b/packages/react-native/src/attributes/ReactNativeAttributeProvider.ts @@ -0,0 +1,19 @@ +import { type BacktraceAttributeProvider } from '@backtrace-labs/sdk-core'; +import { Platform } from 'react-native'; +import { hermes } from '../common/hermesHelper'; + +export class ReactNativeAttributeProvider implements BacktraceAttributeProvider { + public get type(): 'scoped' | 'dynamic' { + return 'scoped'; + } + public get(): Record { + const hermesInstance = hermes(); + return { + platform: hermesInstance ? 'Hermes' : 'JavaScriptCore', + promise: !!hermesInstance?.hasPromise, + isTesting: Platform.isTesting, + isTv: Platform.isTV, + constants: Platform.constants, + }; + } +} diff --git a/packages/react-native/src/common/DebuggerHelper.ts b/packages/react-native/src/common/DebuggerHelper.ts new file mode 100644 index 00000000..d3235e97 --- /dev/null +++ b/packages/react-native/src/common/DebuggerHelper.ts @@ -0,0 +1,5 @@ +export class DebuggerHelper { + public static isConnected(): boolean { + return !(global as unknown as { nativeCallSyncHook: boolean }).nativeCallSyncHook; + } +} diff --git a/packages/react-native/src/common/hermesHelper.ts b/packages/react-native/src/common/hermesHelper.ts new file mode 100644 index 00000000..efa5f1a6 --- /dev/null +++ b/packages/react-native/src/common/hermesHelper.ts @@ -0,0 +1,5 @@ +import { type Hermes } from '../types/Hermes'; + +export function hermes(): Hermes | undefined { + return (global as unknown as { HermesInternal: Hermes | undefined })?.HermesInternal; +} diff --git a/packages/react-native/src/common/platformHelper.ts b/packages/react-native/src/common/platformHelper.ts new file mode 100644 index 00000000..7cf951cf --- /dev/null +++ b/packages/react-native/src/common/platformHelper.ts @@ -0,0 +1,6 @@ +import { Platform } from 'react-native'; + +export function version(): string { + const version = Platform.constants.reactNativeVersion; + return `${version.major}.${version.minor}.${version.patch}${version?.prerelease ? `.${version.prerelease}` : ''}`; +} diff --git a/packages/react-native/src/crashReporter/CrashReporter.ts b/packages/react-native/src/crashReporter/CrashReporter.ts new file mode 100644 index 00000000..0cbf6e8c --- /dev/null +++ b/packages/react-native/src/crashReporter/CrashReporter.ts @@ -0,0 +1,75 @@ +import { type AttributeType, type BacktraceAttachment } from '@backtrace-labs/sdk-core'; +import { NativeModules } from 'react-native'; +import { DebuggerHelper } from '../common/DebuggerHelper'; + +export class CrashReporter { + private readonly _backtraceReactNative = NativeModules.BacktraceReactNative; + + private _enabled = false; + + /** + * Determines if the crash reporting solution was already initialized. + */ + private static initialized = false; + + public initialize( + submissionUrl: string, + attributes: Record, + attachments: readonly BacktraceAttachment[], + ): boolean { + if (CrashReporter.initialized) { + return false; + } + // verify if the native bindings are available + if (!this._backtraceReactNative) { + return false; + } + + if (DebuggerHelper.isConnected()) { + return false; + } + + if (attachments.length !== 0) { + // to do: + // add attachment support with the new file system + console.warn('File attachments are unsupported.'); + } + + this._backtraceReactNative.initialize( + submissionUrl, + { + ...this.convertAttributes(attributes), + 'error.type': 'Crash', + }, + [], + ); + this._enabled = true; + CrashReporter.initialized = true; + return true; + } + + public updateAttributes(attributes: Record) { + if (!this._enabled) { + return; + } + this._backtraceReactNative.useAttributes(this.convertAttributes(attributes)); + } + + public crash(): void { + if (this._backtraceReactNative) { + this._backtraceReactNative.crash(); + } + } + + public dispose(): void { + this._enabled = false; + } + + /** + * Native layer might not support fully all types supported by the JavaScript SDK. The method converts attributes + * to model fully supported by the native env + */ + private convertAttributes(attributes: Record): Record { + return Object.fromEntries(Object.entries(attributes).map(([key, value]) => [key, value?.toString() ?? ''])); + } +} diff --git a/packages/react-native/src/handlers/ExceptionHandler.ts b/packages/react-native/src/handlers/ExceptionHandler.ts new file mode 100644 index 00000000..6acd0909 --- /dev/null +++ b/packages/react-native/src/handlers/ExceptionHandler.ts @@ -0,0 +1,7 @@ +import { BacktraceClient } from '../BacktraceClient'; + +export interface ExceptionHandler { + captureUnhandledPromiseRejections(client: BacktraceClient): void; + captureManagedErrors(client: BacktraceClient): void; + dispose(): void; +} diff --git a/packages/react-native/src/handlers/UnhandledExceptionHandler.ts b/packages/react-native/src/handlers/UnhandledExceptionHandler.ts new file mode 100644 index 00000000..f610abbf --- /dev/null +++ b/packages/react-native/src/handlers/UnhandledExceptionHandler.ts @@ -0,0 +1,126 @@ +import { BacktraceReport } from '@backtrace-labs/sdk-core'; +import { BacktraceClient } from '../BacktraceClient'; +import { hermes } from '../common/hermesHelper'; +import { type ExceptionHandler } from './ExceptionHandler'; + +// eslint-disable-next-line @typescript-eslint/no-var-requires +const rejectionTracking = require('promise/setimmediate/rejection-tracking'); + +function getPrettyFormat() { + try { + return require('pretty-format'); + } catch { + return undefined; + } +} + +const cachedPrettyFormat = getPrettyFormat(); + +export class UnhandledExceptionHandler implements ExceptionHandler { + protected enabled = true; + public captureManagedErrors(client: BacktraceClient) { + const globalErrorHandler = ErrorUtils.getGlobalHandler(); + ErrorUtils.setGlobalHandler((error: Error, fatal?: boolean) => { + if (!this.enabled) { + return; + } + client.send(error, { + 'error.type': 'Unhandled exception', + fatal, + }); + globalErrorHandler(error, fatal); + }); + } + + public captureUnhandledPromiseRejections(client: BacktraceClient) { + const hermesInternal = hermes(); + + if (hermesInternal?.hasPromise?.() && hermesInternal?.enablePromiseRejectionTracker) { + hermesInternal.enablePromiseRejectionTracker({ + allRejections: true, + onUnhandled: (id: number, rejection: Error | string = 'Unknown') => { + if (!this.enabled) { + return; + } + client.send( + new BacktraceReport( + rejection, + { + 'error.type': 'Unhandled exception', + unhandledPromiseRejectionId: id, + }, + [], + { + classifiers: ['UnhandledPromiseRejection'], + skipFrames: rejection instanceof Error ? 0 : 1, + }, + ), + ); + }, + }); + } else { + // This is the same unhandled exception handler that exists in the react-native source code. + // The only difference is to make sure we do not execute it in the dev mode (react-native checks it earlier) + // and backtrace error reporting function + // refs: https://github.com/facebook/react-native/blob/a59b947a1e077d1c3f0d36926d374db5fe7d3291/packages/react-native/Libraries/promiseRejectionTrackingOptions.js#L38 + rejectionTracking.enable({ + allRejections: true, + onUnhandled: (id: number, rejection: Error) => { + if (this.enabled) { + client.send( + new BacktraceReport( + rejection, + { + 'error.type': 'Unhandled exception', + unhandledPromiseRejectionId: id, + }, + [], + { + classifiers: ['UnhandledPromiseRejection'], + skipFrames: rejection instanceof Error ? 0 : 1, + }, + ), + ); + } + if (!__DEV__) { + return; + } + let message: string; + let stack: string | undefined; + + const stringValue = Object.prototype.toString.call(rejection); + if (stringValue === '[object Error]') { + message = Error.prototype.toString.call(rejection); + stack = rejection.stack as string; + } else { + message = cachedPrettyFormat + ? cachedPrettyFormat(rejection) + : typeof rejection === 'string' + ? rejection + : JSON.stringify({ ...rejection }); + } + + const warning = + `Possible Unhandled Promise Rejection (id: ${id}):\n` + + `${message ?? ''}\n` + + (stack == null ? '' : stack); + console.warn(warning); + }, + onHandled: (id: number) => { + if (!__DEV__) { + return; + } + const warning = + `Promise Rejection Handled (id: ${id})\n` + + 'This means you can ignore any previous messages of the form ' + + `"Possible Unhandled Promise Rejection (id: ${id}):"`; + console.warn(warning); + }, + }); + } + } + + public dispose(): void { + this.enabled = false; + } +} diff --git a/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts b/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts new file mode 100644 index 00000000..5a3fcb8a --- /dev/null +++ b/packages/react-native/src/handlers/android/AndroidUnhandledExceptionHandler.ts @@ -0,0 +1,42 @@ +import { BacktraceReport } from '@backtrace-labs/sdk-core'; +import { NativeModules } from 'react-native'; +import { BacktraceClient } from '../../BacktraceClient'; +import { DebuggerHelper } from '../../common/DebuggerHelper'; +import { UnhandledExceptionHandler } from '../UnhandledExceptionHandler'; +export class AndroidUnhandledExceptionHandler extends UnhandledExceptionHandler { + private readonly _unhandledExceptionHandler = NativeModules.BacktraceAndroidBackgroundUnhandledExceptionHandler; + public captureManagedErrors(client: BacktraceClient) { + super.captureManagedErrors(client); + if (!this._unhandledExceptionHandler) { + return; + } + if (DebuggerHelper.isConnected()) { + return; + } + + this._unhandledExceptionHandler.start((classifier: string, message: string, stackTrace: string) => { + // to do: + // save the report when the database feature is enabled + console.log(`Backtrace: ${message} ${classifier} Stack Trace: ${stackTrace}`); + client.send( + new BacktraceReport( + message, + { + 'error.type': 'Unhandled exception', + }, + [], + { + classifiers: [classifier], + }, + ), + ); + }); + } + + public dispose(): void { + super.dispose(); + if (this._unhandledExceptionHandler) { + this._unhandledExceptionHandler.stop(); + } + } +} diff --git a/packages/react-native/src/handlers/index.ts b/packages/react-native/src/handlers/index.ts new file mode 100644 index 00000000..f9704ea5 --- /dev/null +++ b/packages/react-native/src/handlers/index.ts @@ -0,0 +1,15 @@ +import { Platform } from 'react-native'; +import { AndroidUnhandledExceptionHandler } from './android/AndroidUnhandledExceptionHandler'; +import { type ExceptionHandler } from './ExceptionHandler'; +import { UnhandledExceptionHandler } from './UnhandledExceptionHandler'; + +export function generateUnhandledExceptionHandler(): ExceptionHandler { + switch (Platform.OS) { + case 'android': { + return new AndroidUnhandledExceptionHandler(); + } + default: { + return new UnhandledExceptionHandler(); + } + } +} diff --git a/packages/react-native/src/index.ts b/packages/react-native/src/index.ts new file mode 100644 index 00000000..05d4b4fd --- /dev/null +++ b/packages/react-native/src/index.ts @@ -0,0 +1,4 @@ +export { BacktraceClient } from './BacktraceClient'; +export { BacktraceClientBuilder } from './BacktraceClientBuilder'; +export { type BacktraceConfiguration } from './BacktraceConfiguration'; +export { ErrorBoundary } from './ErrorBoundary'; diff --git a/packages/react-native/src/types/Hermes.ts b/packages/react-native/src/types/Hermes.ts new file mode 100644 index 00000000..6e1438c9 --- /dev/null +++ b/packages/react-native/src/types/Hermes.ts @@ -0,0 +1,8 @@ +// source: https://github.com/facebook/react-native/blob/d468d9d57f1c6973c7bbadaecfcd61c173716b02/packages/react-native/flow/HermesInternalType.js +export interface Hermes { + hasPromise?: () => boolean; + enablePromiseRejectionTracker: (options: { + allRejections: boolean; + onUnhandled: (id: number, rejection?: Error | string) => void; + }) => void; +} diff --git a/packages/react-native/tsconfig.json b/packages/react-native/tsconfig.json new file mode 100644 index 00000000..6ffb6e50 --- /dev/null +++ b/packages/react-native/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "noUnusedLocals": true, + "skipLibCheck": true, + "strict": true, + + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "jsx": "react", + "lib": ["esnext"], + "moduleResolution": "node", + "noFallthroughCasesInSwitch": true, + "noImplicitReturns": true, + "noImplicitUseStrict": false, + "noStrictGenericChecks": false, + "noUncheckedIndexedAccess": true, + + "noUnusedParameters": true, + "resolveJsonModule": true, + "target": "esnext", + "verbatimModuleSyntax": true + }, + "references": [] +} From 2b060ae74f2dfbf4d55a3f24559d5da3b7c2d0e7 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Tue, 3 Oct 2023 21:48:33 +0200 Subject: [PATCH 200/291] Feature/react native demo (#155) * React native support * React native support * react-native: externalize react packages * react: externalize react package * browser: fix invalid type in XMLHttpRequest open override * React backtrace client * React-native library * Repair package-lock and remove unnecessary packages * React native demo * React native debugging task * Builder Api improvements * Export single session provider * React native react integration via builder * Path to the react library * Path to the react library * Dev updates * React demo * React example app * React native api improvements * Do not use multipart content type * Dependency update * update package-lock * Update package-lock.json * Basic attributes * Update demo with symlinks * Native attributes Android * Clean up the branch * Squashed commit of the following: commit 9d76c4741b4c9a3d41dfcb78b65aec0151725783 Author: Konrad Dysput Date: Mon Sep 4 18:01:30 2023 +0200 Source map 0.0.3 release (#122) commit c5b6dbd61bcc0be9af78971986a0f9909de18e2a Author: Sebastian Alex Date: Mon Sep 4 15:55:04 2023 +0000 cli: fix missing sourcesContent after addSources commit f39a3cfde6217dcdddf12bd49f16b51442aa77c8 Author: Konrad Dysput Date: Mon Sep 4 17:03:35 2023 +0200 Source map tools 0.0.2 (#120) * Source map tools 0.0.2 * Release: CLI 0.0.2 (#121) * Release: CLI 0.0.2 * fix sourcemap-tools dependeny in plugins * fix sourcemap-tools tar-stream dependency --------- Co-authored-by: Sebastian Alex --------- Co-authored-by: Sebastian Alex commit 87803544e3e475f1573cbea16e9a6120c006496e Author: Sebastian Alex Date: Mon Sep 4 11:17:39 2023 +0200 cli: add possibility of specifying source files for upload and add-sources (#118) Co-authored-by: Sebastian Alex commit 5327496f108edb485669992c78d5c68d29acb9dd Author: Sebastian Alex Date: Fri Sep 1 21:47:08 2023 +0200 cli: add `run` command executing everything in one go (#117) * cli: removes 'this' from execute function * cli: consolidate execute args into context * cli: extract command functions to separate functions * cli: cache loaded options in memory * cli: add logger to CommandContext, allow for returning other type than number in execute * sourcemap tools: add getting source map path function to SourceProcessor * cli: add logger prefix option * cli: change subcommand functions to not print output by themselves * cli: add run command which executes everything * cli: add more information to upload info, change order of command execution * cli: fix pass-with-no-files taking files inside cwd * cli: update README with run * cli: fix run not taking path from config * cli: fix resolution of paths relative to config --------- Co-authored-by: Sebastian Alex commit aeb482e3715f7ad1db2dcbd01fec253072827adb Author: adamcronin42 <30831164+adamcronin42@users.noreply.github.com> Date: Fri Sep 1 11:19:35 2023 -0400 Feature/error boundary fallback function (#116) * Updating the ErrorBoundary to make the error available to the fallback component * Updating example app to utilize the error in the fallback component --------- Co-authored-by: Adam Cronin * Android attribute provider and unhandled error handler * Add missing import * Do not use symlinks for demo experiments * Start using hermes for unhandled promise rejections * Error boundary adjustements to reuse the code in react-native * iOS Attribute providers * Updated metro and use experimental linking * NatiVe attributes support + crash support on iOS * Update * Remove prepare command and use workspace definition to define the package build order * Use code from dev * Use code from dev * update package-lock.json * Demo update * Library update * Use submission URL from Backtrace client * Do not use async/await in the unhandled exception hanler * Remove redundant type * Adjust unhandled exception handler code * Disable database operations * Re-indent file * Re-indent file * database file attachments * Adjust hermes types + unhandled promise rejection types * Use cached pretty formatter * Adjust the demo project - remove testing files/code * Fixed formatting issue * Use actions in all platforms * Changed console log message --------- Co-authored-by: Sebastian Alex --- .vscode/launch.json | 7 + examples/sdk/reactNative/.bundle/config | 2 + examples/sdk/reactNative/.gitignore | 66 + examples/sdk/reactNative/.watchmanconfig | 1 + examples/sdk/reactNative/App.tsx | 86 + examples/sdk/reactNative/Gemfile | 6 + examples/sdk/reactNative/Gemfile.lock | 100 + examples/sdk/reactNative/README.md | 9 + .../sdk/reactNative/android/app/build.gradle | 123 + .../reactNative/android/app/debug.keystore | Bin 0 -> 2257 bytes .../android/app/proguard-rules.pro | 10 + .../android/app/src/debug/AndroidManifest.xml | 13 + .../com/reactnative/ReactNativeFlipper.java | 75 + .../android/app/src/main/AndroidManifest.xml | 25 + .../com/reactnative/BacktraceDemoPackage.java | 29 + .../java/com/reactnative/ErrorGenerator.java | 33 + .../java/com/reactnative/MainActivity.java | 32 + .../java/com/reactnative/MainApplication.java | 62 + .../res/drawable/rn_edit_text_material.xml | 36 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + .../main/res/xml/network_security_config.xml | 0 .../com/reactnative/ReactNativeFlipper.java | 20 + examples/sdk/reactNative/android/build.gradle | 21 + .../sdk/reactNative/android/gradle.properties | 44 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61574 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + examples/sdk/reactNative/android/gradlew | 244 + examples/sdk/reactNative/android/gradlew.bat | 92 + .../sdk/reactNative/android/settings.gradle | 4 + examples/sdk/reactNative/app.json | 4 + examples/sdk/reactNative/babel.config.js | 3 + examples/sdk/reactNative/index.js | 20 + examples/sdk/reactNative/ios/.xcode.env | 11 + examples/sdk/reactNative/ios/Podfile | 62 + examples/sdk/reactNative/ios/Podfile.lock | 713 + .../ios/reactNative.xcodeproj/project.pbxproj | 706 + .../xcschemes/reactNative.xcscheme | 88 + .../contents.xcworkspacedata | 10 + .../reactNative/ios/reactNative/AppDelegate.h | 6 + .../ios/reactNative/AppDelegate.mm | 26 + .../AppIcon.appiconset/Contents.json | 53 + .../reactNative/Images.xcassets/Contents.json | 6 + .../reactNative/ios/reactNative/Info.plist | 55 + .../ios/reactNative/LaunchScreen.storyboard | 47 + .../sdk/reactNative/ios/reactNative/main.m | 10 + .../ios/reactNativeTests/Info.plist | 24 + .../ios/reactNativeTests/reactNativeTests.m | 66 + examples/sdk/reactNative/jest.config.js | 3 + examples/sdk/reactNative/metro.config.js | 21 + examples/sdk/reactNative/package-lock.json | 19567 ++++++++++++++++ examples/sdk/reactNative/package.json | 34 + .../sdk/reactNative/src/actions/actions.ts | 133 + .../reactNative/src/actions/android/action.ts | 33 + .../src/components/CustomizableButton.tsx | 35 + examples/sdk/reactNative/src/consts.ts | 2 + examples/sdk/reactNative/tsconfig.json | 3 + package-lock.json | 464 +- packages/react-native/package.json | 6 +- 69 files changed, 23005 insertions(+), 364 deletions(-) create mode 100644 examples/sdk/reactNative/.bundle/config create mode 100644 examples/sdk/reactNative/.gitignore create mode 100644 examples/sdk/reactNative/.watchmanconfig create mode 100644 examples/sdk/reactNative/App.tsx create mode 100644 examples/sdk/reactNative/Gemfile create mode 100644 examples/sdk/reactNative/Gemfile.lock create mode 100644 examples/sdk/reactNative/README.md create mode 100644 examples/sdk/reactNative/android/app/build.gradle create mode 100644 examples/sdk/reactNative/android/app/debug.keystore create mode 100644 examples/sdk/reactNative/android/app/proguard-rules.pro create mode 100644 examples/sdk/reactNative/android/app/src/debug/AndroidManifest.xml create mode 100644 examples/sdk/reactNative/android/app/src/debug/java/com/reactnative/ReactNativeFlipper.java create mode 100644 examples/sdk/reactNative/android/app/src/main/AndroidManifest.xml create mode 100644 examples/sdk/reactNative/android/app/src/main/java/com/reactnative/BacktraceDemoPackage.java create mode 100644 examples/sdk/reactNative/android/app/src/main/java/com/reactnative/ErrorGenerator.java create mode 100644 examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainActivity.java create mode 100644 examples/sdk/reactNative/android/app/src/main/java/com/reactnative/MainApplication.java create mode 100644 examples/sdk/reactNative/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 examples/sdk/reactNative/android/app/src/main/res/values/strings.xml create mode 100644 examples/sdk/reactNative/android/app/src/main/res/values/styles.xml create mode 100644 examples/sdk/reactNative/android/app/src/main/res/xml/network_security_config.xml create mode 100644 examples/sdk/reactNative/android/app/src/release/java/com/reactnative/ReactNativeFlipper.java create mode 100644 examples/sdk/reactNative/android/build.gradle create mode 100644 examples/sdk/reactNative/android/gradle.properties create mode 100644 examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/sdk/reactNative/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 examples/sdk/reactNative/android/gradlew create mode 100644 examples/sdk/reactNative/android/gradlew.bat create mode 100644 examples/sdk/reactNative/android/settings.gradle create mode 100644 examples/sdk/reactNative/app.json create mode 100644 examples/sdk/reactNative/babel.config.js create mode 100644 examples/sdk/reactNative/index.js create mode 100644 examples/sdk/reactNative/ios/.xcode.env create mode 100644 examples/sdk/reactNative/ios/Podfile create mode 100644 examples/sdk/reactNative/ios/Podfile.lock create mode 100644 examples/sdk/reactNative/ios/reactNative.xcodeproj/project.pbxproj create mode 100644 examples/sdk/reactNative/ios/reactNative.xcodeproj/xcshareddata/xcschemes/reactNative.xcscheme create mode 100644 examples/sdk/reactNative/ios/reactNative.xcworkspace/contents.xcworkspacedata create mode 100644 examples/sdk/reactNative/ios/reactNative/AppDelegate.h create mode 100644 examples/sdk/reactNative/ios/reactNative/AppDelegate.mm create mode 100644 examples/sdk/reactNative/ios/reactNative/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/sdk/reactNative/ios/reactNative/Images.xcassets/Contents.json create mode 100644 examples/sdk/reactNative/ios/reactNative/Info.plist create mode 100644 examples/sdk/reactNative/ios/reactNative/LaunchScreen.storyboard create mode 100644 examples/sdk/reactNative/ios/reactNative/main.m create mode 100644 examples/sdk/reactNative/ios/reactNativeTests/Info.plist create mode 100644 examples/sdk/reactNative/ios/reactNativeTests/reactNativeTests.m create mode 100644 examples/sdk/reactNative/jest.config.js create mode 100644 examples/sdk/reactNative/metro.config.js create mode 100644 examples/sdk/reactNative/package-lock.json create mode 100644 examples/sdk/reactNative/package.json create mode 100644 examples/sdk/reactNative/src/actions/actions.ts create mode 100644 examples/sdk/reactNative/src/actions/android/action.ts create mode 100644 examples/sdk/reactNative/src/components/CustomizableButton.tsx create mode 100644 examples/sdk/reactNative/src/consts.ts create mode 100644 examples/sdk/reactNative/tsconfig.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 3708ab9e..fd9f5961 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,6 +1,13 @@ { "version": "0.1.0", "configurations": [ + { + "name": "Attach to react native app", + "cwd": "${workspaceFolder}/examples/sdk/reactNative", + "type": "reactnative", + "request": "attach", + "skipFiles": ["/**", "${workspaceFolder}/node_modules/tslib/**/*.js"] + }, { "name": "Launch", "program": "${workspaceFolder}/examples/sdk/node/lib/index.js", diff --git a/examples/sdk/reactNative/.bundle/config b/examples/sdk/reactNative/.bundle/config new file mode 100644 index 00000000..848943bb --- /dev/null +++ b/examples/sdk/reactNative/.bundle/config @@ -0,0 +1,2 @@ +BUNDLE_PATH: "vendor/bundle" +BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/examples/sdk/reactNative/.gitignore b/examples/sdk/reactNative/.gitignore new file mode 100644 index 00000000..0cab2ac6 --- /dev/null +++ b/examples/sdk/reactNative/.gitignore @@ -0,0 +1,66 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +ios/.xcode.env.local + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ +*.keystore +!debug.keystore + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots +**/fastlane/test_output + +# Bundle artifact +*.jsbundle + +# Ruby / CocoaPods +/ios/Pods/ +/vendor/bundle/ + +# Temporary files created by Metro to check the health of the file watcher +.metro-health-check* + +# testing +/coverage diff --git a/examples/sdk/reactNative/.watchmanconfig b/examples/sdk/reactNative/.watchmanconfig new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/examples/sdk/reactNative/.watchmanconfig @@ -0,0 +1 @@ +{} diff --git a/examples/sdk/reactNative/App.tsx b/examples/sdk/reactNative/App.tsx new file mode 100644 index 00000000..afda5822 --- /dev/null +++ b/examples/sdk/reactNative/App.tsx @@ -0,0 +1,86 @@ +import { BacktraceClient } from '@backtrace-labs/react-native'; +import { Alert, FlatList, Image, SafeAreaView, ScrollView, StyleSheet, Text, View } from 'react-native'; +import { generateActions } from './src/actions/actions'; +import { CustomizableButton } from './src/components/CustomizableButton'; +import { SUBMISSION_URL } from './src/consts'; + +function App(): JSX.Element { + const client = BacktraceClient.instance as BacktraceClient; + if (!client) { + throw new Error('BacktraceClient is uninitialized. Call "BacktraceClient.initialize" function first.'); + } + + if (SUBMISSION_URL.includes('your-universe')) { + Alert.alert('Don\'t forget to update your submission url in "./src/consts.ts" with your universe and token!'); + } + + client.addAttribute({ startup: Date.now() }); + + return ( + + + + Sauce Labs + Welcome to the Backtrace React SDK demo + Click the button below to test Backtrace integration + + + ( + { + item.action(); + }} + > + )} + /> + + + + + ); +} + +const styles = StyleSheet.create({ + sectionContainer: { + margin: 25, + padding: 20, + backgroundColor: 'white', + }, + title: { + textAlign: 'center', + fontSize: 22, + fontWeight: '600', + color: 'black', + justifyContent: 'center', + }, + headerLogo: { + height: 100, + width: '100%', + justifyContent: 'center', + alignItems: 'center', + }, + actionButton: { + backgroundColor: '#d8f8e9', + margin: 5, + }, + sectionDescription: { + marginTop: 8, + fontSize: 18, + fontWeight: '400', + }, + highlight: { + fontWeight: '700', + }, +}); + +export default App; diff --git a/examples/sdk/reactNative/Gemfile b/examples/sdk/reactNative/Gemfile new file mode 100644 index 00000000..1fa2c2e1 --- /dev/null +++ b/examples/sdk/reactNative/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version +ruby ">= 2.6.10" + +gem 'cocoapods', '~> 1.12' diff --git a/examples/sdk/reactNative/Gemfile.lock b/examples/sdk/reactNative/Gemfile.lock new file mode 100644 index 00000000..a3cc98d0 --- /dev/null +++ b/examples/sdk/reactNative/Gemfile.lock @@ -0,0 +1,100 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + activesupport (6.1.7.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + claide (1.1.0) + cocoapods (1.12.1) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.12.1) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.6.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.21.0, < 2.0) + cocoapods-core (1.12.1) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix (~> 4.0) + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (1.6.3) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.2.2) + escape (0.0.4) + ethon (0.16.0) + ffi (>= 1.15.0) + ffi (1.15.5) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.6.3) + minitest (5.19.0) + molinillo (0.8.0) + nanaimo (0.3.0) + nap (1.1.0) + netrc (0.11.0) + public_suffix (4.0.7) + rexml (3.2.6) + ruby-macho (2.5.1) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + xcodeproj (1.22.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + zeitwerk (2.6.11) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods (~> 1.12) + +RUBY VERSION + ruby 2.6.10p210 + +BUNDLED WITH + 1.17.2 diff --git a/examples/sdk/reactNative/README.md b/examples/sdk/reactNative/README.md new file mode 100644 index 00000000..b3ac687e --- /dev/null +++ b/examples/sdk/reactNative/README.md @@ -0,0 +1,9 @@ +# @Backtrace-labs/react-native demo + +This example app shows features available in the @backtrace-labs/react-native package. + +## Running the Example + +1. Add your universe and token to the SUBMISSION_URL in src/consts.ts +2. `npm install`. If you're on iOS, navigate to the `ios` directory and run `pod install` +3. `npm run start` and pick desired platform diff --git a/examples/sdk/reactNative/android/app/build.gradle b/examples/sdk/reactNative/android/app/build.gradle new file mode 100644 index 00000000..db4d1ae7 --- /dev/null +++ b/examples/sdk/reactNative/android/app/build.gradle @@ -0,0 +1,123 @@ +apply plugin: "com.android.application" +apply plugin: "com.facebook.react" + +/** + * This is the configuration block to customize your React Native Android app. + * By default you don't need to apply any configuration, just uncomment the lines you need. + */ +react { + /* Folders */ + // The root of your project, i.e. where "package.json" lives. Default is '..' + // root = file("../") + // The folder where the react-native NPM package is. Default is ../node_modules/react-native + // reactNativeDir = file("../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen + // codegenDir = file("../node_modules/@react-native/codegen") + // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js + // cliFile = file("../node_modules/react-native/cli.js") + + /* Variants */ + // The list of variants to that are debuggable. For those we're going to + // skip the bundling of the JS bundle and the assets. By default is just 'debug'. + // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. + // debuggableVariants = ["liteDebug", "prodDebug"] + + /* Bundling */ + // A list containing the node command and its flags. Default is just 'node'. + // nodeExecutableAndArgs = ["node"] + // + // The command to run when bundling. By default is 'bundle' + // bundleCommand = "ram-bundle" + // + // The path to the CLI configuration file. Default is empty. + // bundleConfig = file(../rn-cli.config.js) + // + // The name of the generated asset file containing your JS bundle + // bundleAssetName = "MyApplication.android.bundle" + // + // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' + // entryFile = file("../js/MyApplication.android.js") + // + // A list of extra flags to pass to the 'bundle' commands. + // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle + // extraPackagerArgs = [] + + /* Hermes Commands */ + // The hermes compiler command to run. By default it is 'hermesc' + // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" + // + // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" + // hermesFlags = ["-O", "-output-source-map"] +} + +/** + * Set this to true to Run Proguard on Release builds to minify the Java bytecode. + */ +def enableProguardInReleaseBuilds = false + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +android { + ndkVersion rootProject.ext.ndkVersion + + compileSdkVersion rootProject.ext.compileSdkVersion + + namespace "com.reactnative" + defaultConfig { + applicationId "com.reactnative" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://reactnative.dev/docs/signed-apk-android. + signingConfig signingConfigs.debug + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + } + } +} + +dependencies { + // The version of react-native is set by the React Native Gradle Plugin + implementation("com.facebook.react:react-android") + + debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") + debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { + exclude group:'com.squareup.okhttp3', module:'okhttp' + } + + debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } +} + +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/examples/sdk/reactNative/android/app/debug.keystore b/examples/sdk/reactNative/android/app/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..364e105ed39fbfd62001429a68140672b06ec0de GIT binary patch literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc + + + + + + + + diff --git a/examples/sdk/reactNative/android/app/src/debug/java/com/reactnative/ReactNativeFlipper.java b/examples/sdk/reactNative/android/app/src/debug/java/com/reactnative/ReactNativeFlipper.java new file mode 100644 index 00000000..9e949578 --- /dev/null +++ b/examples/sdk/reactNative/android/app/src/debug/java/com/reactnative/ReactNativeFlipper.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + *

        W^{Pwad@33nwH89U*{qC@m+XN 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ξCS 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

  • +@ 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 QPmFKSE!AZWC=ew`uneKh*qB9DA9Jap4ixizA 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

    DpW|4-ab$8FdwXB>pE?ux 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

    A{XYY9&=&VCURkxSu!Az3&Zts%qjWK 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 *YjBOr??!PBAB6FQ^m*0VFc&;g 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/react-native/android/src/main/jniLibs/arm64-v8a/libnative-lib.so b/packages/react-native/android/src/main/jniLibs/arm64-v8a/libnative-lib.so new file mode 100644 index 0000000000000000000000000000000000000000..9f37473de56cc9c5b8f18ebe43f331b17da02bc6 GIT binary patch literal 350528 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